diff --git a/.github/workflows/auto-merge.yml b/.github/workflows/auto-merge.yml index 81f78da0d..d86f9ab92 100644 --- a/.github/workflows/auto-merge.yml +++ b/.github/workflows/auto-merge.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest if: github.actor == 'dependabot[bot]' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ahmadnassri/action-dependabot-auto-merge@v2 with: github-token: ${{ secrets.GH_TOKEN }} diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 3ccd479a4..b6b28d33a 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -36,7 +36,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9c91c5bc5..976bc9cbb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Node.js environment uses: actions/setup-node@v3 diff --git a/.github/workflows/prod-deploy.yml b/.github/workflows/prod-deploy.yml index 84a4c4d60..9c1c20e15 100644 --- a/.github/workflows/prod-deploy.yml +++ b/.github/workflows/prod-deploy.yml @@ -30,7 +30,7 @@ jobs: if: github.triggering_actor != 'dependabot[bot]' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Node.js environment uses: actions/setup-node@v3 diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 55339fcb1..58276c8b6 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -22,7 +22,7 @@ jobs: steps: - name: Checkout if: needs.publish-release.outputs.release_created - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Node.js environment if: needs.publish-release.outputs.release_created diff --git a/.github/workflows/stage-deploy.yml b/.github/workflows/stage-deploy.yml index d1cbf8ad0..9785e4255 100644 --- a/.github/workflows/stage-deploy.yml +++ b/.github/workflows/stage-deploy.yml @@ -29,7 +29,7 @@ jobs: if: github.triggering_actor != 'dependabot[bot]' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Node.js environment uses: actions/setup-node@v3 diff --git a/.husky/pre-commit b/.husky/pre-commit old mode 100644 new mode 100755 diff --git a/.prettierrc b/.prettierrc.json similarity index 63% rename from .prettierrc rename to .prettierrc.json index 6417e4243..d7decec52 100644 --- a/.prettierrc +++ b/.prettierrc.json @@ -1,5 +1,5 @@ { + "bracketSameLine": true, "singleQuote": true, - "tabWidth": 2, "printWidth": 120 } diff --git a/CHANGELOG.md b/CHANGELOG.md index f1ae2e29f..f8219de43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [2.2.0](https://github.com/mdn/interactive-examples/compare/v2.1.1...v2.2.0) (2023-08-29) + + +### Features + +* **css:** Add example of `[@counter-style](https://github.com/counter-style)` and all of its descriptors ([#2089](https://github.com/mdn/interactive-examples/issues/2089)) ([2c4362a](https://github.com/mdn/interactive-examples/commit/2c4362ab85cfa3f8100dd25235f84a21d8021300)) +* **html:** Add example of `<dialog>` ([#2212](https://github.com/mdn/interactive-examples/issues/2212)) ([e97aa1d](https://github.com/mdn/interactive-examples/commit/e97aa1d340a2d6cfdbf9badf3329f141b9b94b90)) + ## [2.1.1](https://github.com/mdn/interactive-examples/compare/v2.1.0...v2.1.1) (2023-08-17) diff --git a/live-examples/css-examples/@counter-style/additive-symbols.css b/live-examples/css-examples/@counter-style/additive-symbols.css new file mode 100644 index 000000000..b54521da2 --- /dev/null +++ b/live-examples/css-examples/@counter-style/additive-symbols.css @@ -0,0 +1,15 @@ +@counter-style full-roman { + system: additive; + additive-symbols: + 50 l, + 40 xl, + 10 x, + 9 ix, + 5 v, + 4 iv, + 1 i; +} + +ul { + list-style: full-roman; +} diff --git a/live-examples/css-examples/@counter-style/counter-list-negative.html b/live-examples/css-examples/@counter-style/counter-list-negative.html new file mode 100644 index 000000000..8072d4b20 --- /dev/null +++ b/live-examples/css-examples/@counter-style/counter-list-negative.html @@ -0,0 +1,10 @@ +
    +
  1. One
  2. +
  3. Two
  4. +
  5. Three
  6. +
  7. Four
  8. +
  9. Five
  10. +
  11. Six
  12. +
  13. Seven
  14. +
  15. Eight
  16. +
diff --git a/live-examples/css-examples/@counter-style/counter-list.html b/live-examples/css-examples/@counter-style/counter-list.html new file mode 100644 index 000000000..b1e02e391 --- /dev/null +++ b/live-examples/css-examples/@counter-style/counter-list.html @@ -0,0 +1,10 @@ + diff --git a/live-examples/css-examples/@counter-style/counter-style.css b/live-examples/css-examples/@counter-style/counter-style.css new file mode 100644 index 000000000..b92955d67 --- /dev/null +++ b/live-examples/css-examples/@counter-style/counter-style.css @@ -0,0 +1,11 @@ +@counter-style black-white-squares { + system: symbolic; + symbols: ◆ ◇; + suffix: ' '; + range: 0 6; + fallback: square; +} + +ul { + list-style: black-white-squares; +} diff --git a/live-examples/css-examples/@counter-style/fallback.css b/live-examples/css-examples/@counter-style/fallback.css new file mode 100644 index 000000000..691b41c6a --- /dev/null +++ b/live-examples/css-examples/@counter-style/fallback.css @@ -0,0 +1,9 @@ +@counter-style colors { + system: fixed; + symbols: ðŸŸĪ 🟠 ðŸŸĄ ðŸŸĒ ðŸŸĢ; + fallback: disc; +} + +ul { + list-style: colors; +} diff --git a/live-examples/css-examples/@counter-style/meta.json b/live-examples/css-examples/@counter-style/meta.json new file mode 100644 index 000000000..3232a3b41 --- /dev/null +++ b/live-examples/css-examples/@counter-style/meta.json @@ -0,0 +1,94 @@ +{ + "pages": { + "counterStyle": { + "cssExampleSrc": "./live-examples/css-examples/@counter-style/counter-style.css", + "exampleCode": "./live-examples/css-examples/@counter-style/counter-list.html", + "fileName": "counter-style.html", + "title": "CSS Demo: @counter-style", + "type": "tabbed", + "defaultTab": "css", + "height": "tabbed-shorter" + }, + "counterStyleSystem": { + "cssExampleSrc": "./live-examples/css-examples/@counter-style/system.css", + "exampleCode": "./live-examples/css-examples/@counter-style/counter-list.html", + "fileName": "counter-style-system.html", + "title": "CSS Demo: system", + "type": "tabbed", + "defaultTab": "css", + "height": "tabbed-shorter" + }, + "counterStyleNegative": { + "cssExampleSrc": "./live-examples/css-examples/@counter-style/negative.css", + "exampleCode": "./live-examples/css-examples/@counter-style/counter-list-negative.html", + "fileName": "counter-style-negative.html", + "title": "CSS Demo: negative", + "type": "tabbed", + "defaultTab": "css", + "height": "tabbed-shorter" + }, + "counterStylePrefix": { + "cssExampleSrc": "./live-examples/css-examples/@counter-style/prefix.css", + "exampleCode": "./live-examples/css-examples/@counter-style/counter-list.html", + "fileName": "counter-style-prefix.html", + "title": "CSS Demo: prefix", + "type": "tabbed", + "defaultTab": "css", + "height": "tabbed-shorter" + }, + "counterStyleSuffix": { + "cssExampleSrc": "./live-examples/css-examples/@counter-style/suffix.css", + "exampleCode": "./live-examples/css-examples/@counter-style/counter-list.html", + "fileName": "counter-style-suffix.html", + "title": "CSS Demo: suffix", + "type": "tabbed", + "defaultTab": "css", + "height": "tabbed-shorter" + }, + "counterStyleRange": { + "cssExampleSrc": "./live-examples/css-examples/@counter-style/range.css", + "exampleCode": "./live-examples/css-examples/@counter-style/counter-list.html", + "fileName": "counter-style-range.html", + "title": "CSS Demo: range", + "type": "tabbed", + "defaultTab": "css", + "height": "tabbed-shorter" + }, + "counterStylePad": { + "cssExampleSrc": "./live-examples/css-examples/@counter-style/pad.css", + "exampleCode": "./live-examples/css-examples/@counter-style/counter-list.html", + "fileName": "counter-style-pad.html", + "title": "CSS Demo: pad", + "type": "tabbed", + "defaultTab": "css", + "height": "tabbed-shorter" + }, + "counterStyleFallback": { + "cssExampleSrc": "./live-examples/css-examples/@counter-style/fallback.css", + "exampleCode": "./live-examples/css-examples/@counter-style/counter-list.html", + "fileName": "counter-style-fallback.html", + "title": "CSS Demo: fallback", + "type": "tabbed", + "defaultTab": "css", + "height": "tabbed-shorter" + }, + "counterStyleSymbols": { + "cssExampleSrc": "./live-examples/css-examples/@counter-style/symbols.css", + "exampleCode": "./live-examples/css-examples/@counter-style/counter-list.html", + "fileName": "counter-style-symbols.html", + "title": "CSS Demo: symbols", + "type": "tabbed", + "defaultTab": "css", + "height": "tabbed-shorter" + }, + "counterStyleAdditiveSymbols": { + "cssExampleSrc": "./live-examples/css-examples/@counter-style/additive-symbols.css", + "exampleCode": "./live-examples/css-examples/@counter-style/counter-list.html", + "fileName": "counter-style-additive-symbols.html", + "title": "CSS Demo: additive-symbols", + "type": "tabbed", + "defaultTab": "css", + "height": "tabbed-shorter" + } + } +} diff --git a/live-examples/css-examples/@counter-style/negative.css b/live-examples/css-examples/@counter-style/negative.css new file mode 100644 index 000000000..3880bdbf9 --- /dev/null +++ b/live-examples/css-examples/@counter-style/negative.css @@ -0,0 +1,9 @@ +@counter-style negative-alphabet { + system: numeric; + symbols: 'A' 'B' 'C' 'D' 'E' 'F'; + negative: '→' '←'; +} + +ol { + list-style: negative-alphabet; +} diff --git a/live-examples/css-examples/@counter-style/pad.css b/live-examples/css-examples/@counter-style/pad.css new file mode 100644 index 000000000..53759de66 --- /dev/null +++ b/live-examples/css-examples/@counter-style/pad.css @@ -0,0 +1,9 @@ +@counter-style binary-with-pad { + system: numeric; + symbols: '0' '1'; + pad: 4 '_'; +} + +ul { + list-style: binary-with-pad; +} diff --git a/live-examples/css-examples/@counter-style/prefix.css b/live-examples/css-examples/@counter-style/prefix.css new file mode 100644 index 000000000..cc3ab7aef --- /dev/null +++ b/live-examples/css-examples/@counter-style/prefix.css @@ -0,0 +1,9 @@ +@counter-style heads { + system: cyclic; + symbols: 👧 🧒 🧑 ðŸ‘ą; + prefix: '🖐ðŸŧ'; +} + +ul { + list-style: heads; +} diff --git a/live-examples/css-examples/@counter-style/range.css b/live-examples/css-examples/@counter-style/range.css new file mode 100644 index 000000000..249e99309 --- /dev/null +++ b/live-examples/css-examples/@counter-style/range.css @@ -0,0 +1,12 @@ +@counter-style missing-shapes { + system: cyclic; + symbols: 'â™ĨïļŽ' 'â™Ī'; + range: + 1 2, + 5 6, + 9 10; +} + +ul { + list-style: missing-shapes; +} diff --git a/live-examples/css-examples/@counter-style/suffix.css b/live-examples/css-examples/@counter-style/suffix.css new file mode 100644 index 000000000..938a471b4 --- /dev/null +++ b/live-examples/css-examples/@counter-style/suffix.css @@ -0,0 +1,9 @@ +@counter-style octal { + system: numeric; + symbols: '0' '1' '2' '3' '4' '5' '6' '7'; + suffix: ': '; +} + +ul { + list-style: octal; +} diff --git a/live-examples/css-examples/@counter-style/symbols.css b/live-examples/css-examples/@counter-style/symbols.css new file mode 100644 index 000000000..7f81d551e --- /dev/null +++ b/live-examples/css-examples/@counter-style/symbols.css @@ -0,0 +1,8 @@ +@counter-style cool-symbols { + system: symbolic; + symbols: '*' '\21C9' â–ē 🐉 'ðŸĨē' âœđ '"' ❎ 💓; +} + +ul { + list-style: cool-symbols; +} diff --git a/live-examples/css-examples/@counter-style/system.css b/live-examples/css-examples/@counter-style/system.css new file mode 100644 index 000000000..02de04153 --- /dev/null +++ b/live-examples/css-examples/@counter-style/system.css @@ -0,0 +1,8 @@ +@counter-style smiles { + system: fixed; + symbols: 😀 😂 🙂 😍 😘 ðŸĪŠ; +} + +ul { + list-style: smiles; +} diff --git a/live-examples/css-examples/fonts/font-size.html b/live-examples/css-examples/fonts/font-size.html index e8c4ba054..6722dd14a 100644 --- a/live-examples/css-examples/fonts/font-size.html +++ b/live-examples/css-examples/fonts/font-size.html @@ -1,6 +1,6 @@
-
font-size: 1.2em;
+
font-size: 1.2rem;
diff --git a/live-examples/css-examples/fonts/font.html b/live-examples/css-examples/fonts/font.html index f88fc6185..aa7efeb7a 100644 --- a/live-examples/css-examples/fonts/font.html +++ b/live-examples/css-examples/fonts/font.html @@ -1,13 +1,13 @@
-
font: 1.2em "Fira Sans", sans-serif;
+
font: 1.2rem "Fira Sans", sans-serif;
-
font: italic 1.2em "Fira Sans", serif;
+
font: italic 1.2rem "Fira Sans", serif;
diff --git a/live-examples/css-examples/pseudo-class/first-child.html b/live-examples/css-examples/pseudo-class/first-child.html index bf8ee8ba9..54d497822 100644 --- a/live-examples/css-examples/pseudo-class/first-child.html +++ b/live-examples/css-examples/pseudo-class/first-child.html @@ -1,12 +1,21 @@ -

NBA players with most championships:

+

Track & field champions:

    -
  • Bill Russell
  • -
  • Sam Jones
  • -
  • Tom Heinsohn
  • -
  • K. C. Jones
  • -
  • Satch Sanders
  • -
  • John Havlicek
  • -
  • Jim Loscutoff
  • -
  • Frank Ramsey
  • -
  • Robert Horry
  • +
  • Adhemar da Silva
  • +
  • Wang Junxia
  • +
  • Wilma Rudolph
  • +
  • Babe Didrikson-Zaharias
  • +
  • Betty Cuthbert
  • +
  • Fanny Blankers-Koen
  • +
  • Florence Griffith-Joyner
  • +
  • Irena Szewinska
  • +
  • Jackie Joyner-Kersee
  • +
  • Shirley Strickland
  • +
  • Carl Lewis
  • +
  • Emil Zatopek
  • +
  • Haile Gebrselassie
  • +
  • Jesse Owens
  • +
  • Jim Thorpe
  • +
  • Paavo Nurmi
  • +
  • Sergei Bubka
  • +
  • Usain Bolt
diff --git a/live-examples/css-examples/pseudo-class/last-child.html b/live-examples/css-examples/pseudo-class/last-child.html index bf8ee8ba9..54d497822 100644 --- a/live-examples/css-examples/pseudo-class/last-child.html +++ b/live-examples/css-examples/pseudo-class/last-child.html @@ -1,12 +1,21 @@ -

NBA players with most championships:

+

Track & field champions:

    -
  • Bill Russell
  • -
  • Sam Jones
  • -
  • Tom Heinsohn
  • -
  • K. C. Jones
  • -
  • Satch Sanders
  • -
  • John Havlicek
  • -
  • Jim Loscutoff
  • -
  • Frank Ramsey
  • -
  • Robert Horry
  • +
  • Adhemar da Silva
  • +
  • Wang Junxia
  • +
  • Wilma Rudolph
  • +
  • Babe Didrikson-Zaharias
  • +
  • Betty Cuthbert
  • +
  • Fanny Blankers-Koen
  • +
  • Florence Griffith-Joyner
  • +
  • Irena Szewinska
  • +
  • Jackie Joyner-Kersee
  • +
  • Shirley Strickland
  • +
  • Carl Lewis
  • +
  • Emil Zatopek
  • +
  • Haile Gebrselassie
  • +
  • Jesse Owens
  • +
  • Jim Thorpe
  • +
  • Paavo Nurmi
  • +
  • Sergei Bubka
  • +
  • Usain Bolt
diff --git a/live-examples/css-examples/pseudo-class/nth-child.html b/live-examples/css-examples/pseudo-class/nth-child.html index bf8ee8ba9..54d497822 100644 --- a/live-examples/css-examples/pseudo-class/nth-child.html +++ b/live-examples/css-examples/pseudo-class/nth-child.html @@ -1,12 +1,21 @@ -

NBA players with most championships:

+

Track & field champions:

    -
  • Bill Russell
  • -
  • Sam Jones
  • -
  • Tom Heinsohn
  • -
  • K. C. Jones
  • -
  • Satch Sanders
  • -
  • John Havlicek
  • -
  • Jim Loscutoff
  • -
  • Frank Ramsey
  • -
  • Robert Horry
  • +
  • Adhemar da Silva
  • +
  • Wang Junxia
  • +
  • Wilma Rudolph
  • +
  • Babe Didrikson-Zaharias
  • +
  • Betty Cuthbert
  • +
  • Fanny Blankers-Koen
  • +
  • Florence Griffith-Joyner
  • +
  • Irena Szewinska
  • +
  • Jackie Joyner-Kersee
  • +
  • Shirley Strickland
  • +
  • Carl Lewis
  • +
  • Emil Zatopek
  • +
  • Haile Gebrselassie
  • +
  • Jesse Owens
  • +
  • Jim Thorpe
  • +
  • Paavo Nurmi
  • +
  • Sergei Bubka
  • +
  • Usain Bolt
diff --git a/live-examples/css-examples/text-decoration/text-underline-offset.css b/live-examples/css-examples/text-decoration/text-underline-offset.css index 6df211511..1ea3171aa 100644 --- a/live-examples/css-examples/text-decoration/text-underline-offset.css +++ b/live-examples/css-examples/text-decoration/text-underline-offset.css @@ -1,4 +1,5 @@ p { font: 1.5em sans-serif; - text-decoration: underline #ff0000; + text-decoration-line: underline; + text-decoration-color: #ff0000; } diff --git a/live-examples/html-examples/interactive-elements/css/dialog.css b/live-examples/html-examples/interactive-elements/css/dialog.css new file mode 100644 index 000000000..bc9553da1 --- /dev/null +++ b/live-examples/html-examples/interactive-elements/css/dialog.css @@ -0,0 +1,18 @@ +.card { + text-align: center; + width: 80%; + background-color: bisque; + padding: 1em; + font-weight: bold; +} + +dialog::backdrop { + background-color: grey; +} + +.won { + font-weight: bold; + color: deeppink; + font-size: 1.3em; + text-align: center; +} diff --git a/live-examples/html-examples/interactive-elements/dialog.html b/live-examples/html-examples/interactive-elements/dialog.html new file mode 100644 index 000000000..ae2a76b7f --- /dev/null +++ b/live-examples/html-examples/interactive-elements/dialog.html @@ -0,0 +1,13 @@ +
+

Would you like to try your luck in a throw of the dice?

+

Everyone has a chance to win.

+ +
+ + +
+

You have won! Congratulations!

+

I am sorry to say, but you have lost...

+ +
+
diff --git a/live-examples/html-examples/interactive-elements/js/dialog.js b/live-examples/html-examples/interactive-elements/js/dialog.js new file mode 100644 index 000000000..4bd008b4b --- /dev/null +++ b/live-examples/html-examples/interactive-elements/js/dialog.js @@ -0,0 +1,24 @@ +const showDialogBtn = document.getElementById('showDialogBtn'); +const favDialog = document.getElementById('favDialog'); + +function rollDice() { + return Math.floor(Math.random() * 3) === 0; +} + +function changeHidden(className, hidden) { + const elements = document.getElementsByClassName(className); + for (const e of elements) { + if (hidden) { + e.classList.add('hidden'); + } else { + e.classList.remove('hidden'); + } + } +} + +showDialogBtn.addEventListener('click', () => { + const won = rollDice(); + changeHidden('won', !won); + changeHidden('lost', won); + favDialog.showModal(); +}); diff --git a/live-examples/html-examples/interactive-elements/meta.json b/live-examples/html-examples/interactive-elements/meta.json index 4eff87f9c..62698926a 100644 --- a/live-examples/html-examples/interactive-elements/meta.json +++ b/live-examples/html-examples/interactive-elements/meta.json @@ -8,6 +8,17 @@ "type": "tabbed", "height": "tabbed-shorter" }, + "dialog": { + "exampleCode": "./live-examples/html-examples/interactive-elements/dialog.html", + "cssExampleSrc": "./live-examples/html-examples/interactive-elements/css/dialog.css", + "jsExampleSrc": "./live-examples/html-examples/interactive-elements/js/dialog.js", + "fileName": "dialog.html", + "title": "HTML Demo: ", + "type": "tabbed", + "defaultTab": "html", + "tabs": "html,css,js", + "height": "tabbed-standard" + }, "menu": { "exampleCode": "./live-examples/html-examples/interactive-elements/menu.html", "cssExampleSrc": "./live-examples/html-examples/interactive-elements/css/menu.css", diff --git a/live-examples/js-examples/array/array-flat.js b/live-examples/js-examples/array/array-flat.js index f079fa059..a817fa5a0 100644 --- a/live-examples/js-examples/array/array-flat.js +++ b/live-examples/js-examples/array/array-flat.js @@ -1,9 +1,15 @@ const arr1 = [0, 1, 2, [3, 4]]; console.log(arr1.flat()); -// Expected output: Array [0, 1, 2, 3, 4] +// expected output: Array [0, 1, 2, 3, 4] -const arr2 = [0, 1, 2, [[[3, 4]]]]; +const arr2 = [0, 1, [2, [3, [4, 5]]]]; + +console.log(arr2.flat()); +// expected output: Array [0, 1, 2, Array [3, Array [4, 5]]] console.log(arr2.flat(2)); -// Expected output: Array [0, 1, 2, Array [3, 4]] +// expected output: Array [0, 1, 2, 3, Array [4, 5]] + +console.log(arr2.flat(Infinity)); +// expected output: Array [0, 1, 2, 3, 4, 5] diff --git a/live-examples/js-examples/array/meta.json b/live-examples/js-examples/array/meta.json index e1e9e2a5c..cd8f8339f 100644 --- a/live-examples/js-examples/array/meta.json +++ b/live-examples/js-examples/array/meta.json @@ -122,7 +122,7 @@ }, "arrayIterator": { "exampleCode": "./live-examples/js-examples/array/array-iterator.js", - "fileName": "array-iterator.html", + "fileName": "array-prototype-@@iterator.html", "title": "JavaScript Demo: Array.prototype[@@iterator]()", "type": "js" }, diff --git a/live-examples/js-examples/expressions/expressions-logical-nullish-assignment.js b/live-examples/js-examples/expressions/expressions-nullish-coalescing-assignment.js similarity index 100% rename from live-examples/js-examples/expressions/expressions-logical-nullish-assignment.js rename to live-examples/js-examples/expressions/expressions-nullish-coalescing-assignment.js diff --git a/live-examples/js-examples/expressions/meta.json b/live-examples/js-examples/expressions/meta.json index b79e86ce0..41cadbbca 100644 --- a/live-examples/js-examples/expressions/meta.json +++ b/live-examples/js-examples/expressions/meta.json @@ -240,10 +240,10 @@ "title": "JavaScript Demo: Expressions - Logical NOT", "type": "js" }, - "expressionsLogicalNullishAssignment": { - "exampleCode": "./live-examples/js-examples/expressions/expressions-logical-nullish-assignment.js", - "fileName": "expressions-logical-nullish-assignment.html", - "title": "JavaScript Demo: Expressions - Logical nullish assignment", + "expressionsNullishCoalescingAssignment": { + "exampleCode": "./live-examples/js-examples/expressions/expressions-nullish-coalescing-assignment.js", + "fileName": "expressions-nullish-coalescing-assignment.html", + "title": "JavaScript Demo: Expressions - Nullish coalescing assignment", "type": "js" }, "expressionsMultiplication": { diff --git a/live-examples/js-examples/intl/intl-locale-prototype-tostring.js b/live-examples/js-examples/intl/intl-locale-prototype-tostring.js index b5d3d44ee..1e21f5490 100644 --- a/live-examples/js-examples/intl/intl-locale-prototype-tostring.js +++ b/live-examples/js-examples/intl/intl-locale-prototype-tostring.js @@ -1,8 +1,8 @@ -const french = new Intl.Locale('fr-Latn-FR', { calendar: 'gregory', hourCycle: 'h24' }); +const french = new Intl.Locale('fr-Latn-FR', { calendar: 'gregory', hourCycle: 'h12' }); const korean = new Intl.Locale('ko-Kore-KR', { numeric: true, caseFirst: 'upper' }); console.log(french.toString()); -// Expected output: "fr-Latn-FR-u-ca-gregory-hc-h24" +// Expected output: "fr-Latn-FR-u-ca-gregory-hc-h12" console.log(korean.toString()); // Expected output: "ko-Kore-KR-u-kf-upper-kn" diff --git a/live-examples/js-examples/intl/intl-locale.js b/live-examples/js-examples/intl/intl-locale.js index 09c6c6648..76ba24a8d 100644 --- a/live-examples/js-examples/intl/intl-locale.js +++ b/live-examples/js-examples/intl/intl-locale.js @@ -1,7 +1,7 @@ const korean = new Intl.Locale('ko', { script: 'Kore', region: 'KR', - hourCycle: 'h24', + hourCycle: 'h23', calendar: 'gregory', }); @@ -11,4 +11,4 @@ console.log(korean.baseName, japanese.baseName); // Expected output: "ko-Kore-KR" "ja-Jpan-JP" console.log(korean.hourCycle, japanese.hourCycle); -// Expected output: "h24" "h12" +// Expected output: "h23" "h12" diff --git a/live-examples/js-examples/intl/meta.json b/live-examples/js-examples/intl/meta.json index 2d1fd5968..510614ef1 100644 --- a/live-examples/js-examples/intl/meta.json +++ b/live-examples/js-examples/intl/meta.json @@ -14,8 +14,8 @@ }, "intlCollatorSupportedLocalesOf": { "exampleCode": "./live-examples/js-examples/intl/intl-collator-supportedlocalesof.js", - "fileName": "intl-collator-prototype-supportedlocalesof.html", - "title": "JavaScript Demo: Intl.Collator.prototype.supportedLocalesOf", + "fileName": "intl-collator-supportedlocalesof.html", + "title": "JavaScript Demo: Intl.Collator.supportedLocalesOf", "type": "js" }, "intlCollator": { @@ -56,8 +56,8 @@ }, "intlDateTimeFormatSupportedLocalesOf": { "exampleCode": "./live-examples/js-examples/intl/intl-datetimeformat-supportedlocalesof.js", - "fileName": "intl-datetimeformat-prototype-supportedlocalesof.html", - "title": "JavaScript Demo: Intl.DateTimeFormat.prototype.supportedLocalesOf", + "fileName": "intl-datetimeformat-supportedlocalesof.html", + "title": "JavaScript Demo: Intl.DateTimeFormat.supportedLocalesOf", "type": "js" }, "intlDateTimeFormat": { @@ -140,8 +140,8 @@ }, "intlNumberFormatSupportedLocalesOf": { "exampleCode": "./live-examples/js-examples/intl/intl-numberformat-supportedlocalesof.js", - "fileName": "intl-numberformat-prototype-supportedlocalesof.html", - "title": "JavaScript Demo: Intl.NumberFormat.prototype.supportedLocalesOf", + "fileName": "intl-numberformat-supportedlocalesof.html", + "title": "JavaScript Demo: Intl.NumberFormat.supportedLocalesOf", "type": "js" }, "intlNumberFormat": { @@ -170,8 +170,8 @@ }, "intlPluralRulesSupportedLocalesOf": { "exampleCode": "./live-examples/js-examples/intl/intl-pluralrules-supportedlocalesof.js", - "fileName": "intl-pluralrules-prototype-supportedlocalesof.html", - "title": "JavaScript Demo: Intl.PluralRules.prototype.supportedLocalesOf", + "fileName": "intl-pluralrules-supportedlocalesof.html", + "title": "JavaScript Demo: Intl.PluralRules.supportedLocalesOf", "type": "js" }, "intlRelativeTimeFormat": { @@ -200,8 +200,8 @@ }, "intlRelativeTimeFormatSupportedLocalesOf": { "exampleCode": "./live-examples/js-examples/intl/intl-relativetimeformat-supportedlocalesof.js", - "fileName": "intl-relativetimeformat-prototype-supportedlocalesof.html", - "title": "JavaScript Demo: Intl.RelativeTimeFormat.prototype.supportedLocalesOf", + "fileName": "intl-relativetimeformat-supportedlocalesof.html", + "title": "JavaScript Demo: Intl.RelativeTimeFormat.supportedLocalesOf", "type": "js" }, "intlSegmenter": { @@ -228,16 +228,16 @@ "title": "JavaScript Demo: Intl.Segmenter.supportedLocalesOf", "type": "js" }, - "intlSegmentsPrototypeIterator": { - "exampleCode": "./live-examples/js-examples/intl/intl-segments-prototype-@@iterator.js", - "fileName": "intl-segments-prototype-@@iterator.html", - "title": "JavaScript Demo: Intl.Segments.prototype.@@iterator", + "segmentsPrototypeIterator": { + "exampleCode": "./live-examples/js-examples/intl/segments-prototype-@@iterator.js", + "fileName": "segments-prototype-@@iterator.html", + "title": "JavaScript Demo: Segments.prototype.@@iterator", "type": "js" }, - "intlSegmentsPrototypeContaining": { - "exampleCode": "./live-examples/js-examples/intl/intl-segments-prototype-containing.js", - "fileName": "intl-segments-prototype-containing.html", - "title": "JavaScript Demo: Intl.Segments.prototype.containing", + "segmentsPrototypeContaining": { + "exampleCode": "./live-examples/js-examples/intl/segments-prototype-containing.js", + "fileName": "segments-prototype-containing.html", + "title": "JavaScript Demo: Segments.prototype.containing", "type": "js" }, "intlSupportedValuesOf": { diff --git a/live-examples/js-examples/intl/intl-segments-prototype-@@iterator.js b/live-examples/js-examples/intl/segments-prototype-@@iterator.js similarity index 100% rename from live-examples/js-examples/intl/intl-segments-prototype-@@iterator.js rename to live-examples/js-examples/intl/segments-prototype-@@iterator.js diff --git a/live-examples/js-examples/intl/intl-segments-prototype-containing.js b/live-examples/js-examples/intl/segments-prototype-containing.js similarity index 100% rename from live-examples/js-examples/intl/intl-segments-prototype-containing.js rename to live-examples/js-examples/intl/segments-prototype-containing.js diff --git a/live-examples/js-examples/map/map-groupby.js b/live-examples/js-examples/map/map-groupby.js new file mode 100644 index 000000000..c4711938e --- /dev/null +++ b/live-examples/js-examples/map/map-groupby.js @@ -0,0 +1,13 @@ +const inventory = [ + { name: 'asparagus', type: 'vegetables', quantity: 9 }, + { name: 'bananas', type: 'fruit', quantity: 5 }, + { name: 'goat', type: 'meat', quantity: 23 }, + { name: 'cherries', type: 'fruit', quantity: 12 }, + { name: 'fish', type: 'meat', quantity: 22 }, +]; + +const restock = { restock: true }; +const sufficient = { restock: false }; +const result = Map.groupBy(inventory, ({ quantity }) => (quantity < 6 ? restock : sufficient)); +console.log(result.get(restock)); +// [{ name: "bananas", type: "fruit", quantity: 5 }] diff --git a/live-examples/js-examples/map/meta.json b/live-examples/js-examples/map/meta.json index 86537b040..1aa1296aa 100644 --- a/live-examples/js-examples/map/meta.json +++ b/live-examples/js-examples/map/meta.json @@ -77,6 +77,12 @@ "fileName": "map-prototype-values.html", "title": "JavaScript Demo: Map.prototype.values", "type": "js" + }, + "mapGroupBy": { + "exampleCode": "./live-examples/js-examples/map/map-groupby.js", + "fileName": "map-groupby.html", + "title": "JavaScript Demo: Map.groupBy()", + "type": "js" } } } diff --git a/live-examples/js-examples/string/meta.json b/live-examples/js-examples/string/meta.json index cfe04bb5e..3fe5672a0 100644 --- a/live-examples/js-examples/string/meta.json +++ b/live-examples/js-examples/string/meta.json @@ -62,7 +62,7 @@ }, "stringIterator": { "exampleCode": "./live-examples/js-examples/string/string-iterator.js", - "fileName": "string-iterator.html", + "fileName": "string-prototype-@@iterator.html", "title": "JavaScript Demo: String.prototype[@@iterator]()", "type": "js" }, diff --git a/live-examples/js-examples/typedarray/meta.json b/live-examples/js-examples/typedarray/meta.json index 2352415b9..4d2f5e7b4 100644 --- a/live-examples/js-examples/typedarray/meta.json +++ b/live-examples/js-examples/typedarray/meta.json @@ -6,6 +6,12 @@ "title": "JavaScript Demo: TypedArray.at()", "type": "js" }, + "typedarrayBigInt64": { + "exampleCode": "./live-examples/js-examples/typedarray/typedarray-bigint64.js", + "fileName": "typedarray-bigint64.html", + "title": "JavaScript Demo: BigInt64Array()", + "type": "js" + }, "typedarrayBuffer": { "exampleCode": "./live-examples/js-examples/typedarray/typedarray-buffer.js", "fileName": "typedarray-buffer.html", @@ -108,6 +114,12 @@ "title": "JavaScript Demo: TypedArray.indexOf()", "type": "js" }, + "typedarrayIterator": { + "exampleCode": "./live-examples/js-examples/typedarray/typedarray-iterator.js", + "fileName": "typedarray-prototype-@@iterator.html", + "title": "JavaScript Demo: TypedArray.prototype[@@iterator]()", + "type": "js" + }, "typedarrayJoin": { "exampleCode": "./live-examples/js-examples/typedarray/typedarray-join.js", "fileName": "typedarray-join.html", diff --git a/live-examples/js-examples/typedarray/typedarray-bigint64.js b/live-examples/js-examples/typedarray/typedarray-bigint64.js new file mode 100644 index 000000000..0711bbe36 --- /dev/null +++ b/live-examples/js-examples/typedarray/typedarray-bigint64.js @@ -0,0 +1,25 @@ +const buffer = new ArrayBuffer(24); +const bigint64 = new BigInt64Array(buffer); +bigint64[0] = 5886014448488689n; +bigint64[1] = 1881938909131133n; +bigint64[2] = 1898875537769492n; + +bigint64[0] = 6118793953620967n; +console.log(bigint64); +// Expected Output: BigInt64Array [6118793953620967n, 1881938909131133n, 1898875537769492n] + +console.log(bigint64[2]); +// Expected Output: 1898875537769492n + +console.log('Array length:', bigint64.length); +// Expected Output: Array length: 3 + +console.log('Array byte length:', bigint64.byteLength); +// Expected Output: Array byte length: 24 + +console.log('Array byte offset:', bigint64.byteOffset); +// Expected Output: Array byte offset: 0 + +bigint64.set([100n, 200n], 1); +console.log(bigint64); +// Expected Output: BigInt64Array [6118793953620967n, 100n, 200n] diff --git a/live-examples/js-examples/typedarray/typedarray-iterator.js b/live-examples/js-examples/typedarray/typedarray-iterator.js new file mode 100644 index 000000000..eca24159b --- /dev/null +++ b/live-examples/js-examples/typedarray/typedarray-iterator.js @@ -0,0 +1,10 @@ +const uint8 = new Uint8Array([10, 20, 30]); +const iterator1 = uint8[Symbol.iterator](); + +for (const value of iterator1) { + console.log(value); +} + +// Expected output: 10 +// Expected output: 20 +// Expected output: 30 diff --git a/live-examples/js-examples/typedarray/typedarray-of.js b/live-examples/js-examples/typedarray/typedarray-of.js index 7f068eb9a..eafb9285f 100644 --- a/live-examples/js-examples/typedarray/typedarray-of.js +++ b/live-examples/js-examples/typedarray/typedarray-of.js @@ -1,5 +1,4 @@ -let int16array = new Int16Array(); -int16array = Int16Array.of('10', '20', '30', '40', '50'); +const int16array = Int16Array.of('10', '20', '30', '40', '50'); console.log(int16array); // Expected output: Int16Array [10, 20, 30, 40, 50] diff --git a/package-lock.json b/package-lock.json index 40d065c45..7070dda39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,27 +1,27 @@ { "name": "interactive-examples", - "version": "2.1.1", + "version": "2.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "interactive-examples", - "version": "2.1.1", + "version": "2.2.0", "hasInstallScript": true, "license": "MPL-2.0", "devDependencies": { - "@babel/core": "^7.22.10", - "@babel/eslint-parser": "^7.22.10", + "@babel/core": "^7.23.0", + "@babel/eslint-parser": "^7.22.15", "@mdn/bob": "^3.4.0", "chokidar-cli": "^3.0.0", - "eslint": "^8.47.0", + "eslint": "^8.50.0", "http-server": "^14.1.1", "husky": "^8.0.3", - "lint-staged": "^14.0.0", + "lint-staged": "^14.0.1", "npm-run-all": "^4.1.5", - "prettier": "^3.0.2", + "prettier": "^3.0.3", "prettier-eslint": "^15.0.1", - "stylelint": "^15.10.2", + "stylelint": "^15.10.3", "stylelint-prettier": "^4.0.1" }, "engines": { @@ -51,12 +51,12 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", - "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, "dependencies": { - "@babel/highlight": "^7.22.10", + "@babel/highlight": "^7.22.13", "chalk": "^2.4.2" }, "engines": { @@ -73,25 +73,25 @@ } }, "node_modules/@babel/core": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz", - "integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.0.tgz", + "integrity": "sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-compilation-targets": "^7.22.10", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.10", - "@babel/parser": "^7.22.10", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.10", - "@babel/types": "^7.22.10", - "convert-source-map": "^1.7.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.0", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", + "json5": "^2.2.3", "semver": "^6.3.1" }, "engines": { @@ -103,9 +103,9 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.10.tgz", - "integrity": "sha512-0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz", + "integrity": "sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg==", "dev": true, "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", @@ -129,12 +129,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", - "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, "dependencies": { - "@babel/types": "^7.22.10", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -158,13 +158,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", - "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", "dev": true, "dependencies": { "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", "browserslist": "^4.21.9", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -189,22 +189,22 @@ "dev": true }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" @@ -223,28 +223,28 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", "@babel/helper-simple-access": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -287,41 +287,41 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz", - "integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==", + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.1.tgz", + "integrity": "sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA==", "dev": true, "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.10", - "@babel/types": "^7.22.10" + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", - "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", + "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.22.5", @@ -333,9 +333,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz", - "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -345,33 +345,33 @@ } }, "node_modules/@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz", - "integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", + "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.10", - "@babel/types": "^7.22.10", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -389,13 +389,13 @@ } }, "node_modules/@babel/types": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", - "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -524,9 +524,9 @@ } }, "node_modules/@csstools/css-parser-algorithms": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.0.tgz", - "integrity": "sha512-dTKSIHHWc0zPvcS5cqGP+/TPFUJB0ekJ9dGKvMAFoNuBFhDPBt9OMGNZiIA5vTiNdGHHBeScYPXIGBMnVOahsA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.1.tgz", + "integrity": "sha512-xrvsmVUtefWMWQsGgFffqWSK03pZ1vfDki4IVIIUxxDKnGBzqNgv0A7SB1oXtVNEkcVO8xi1ZrTL29HhSu5kGA==", "dev": true, "funding": [ { @@ -542,26 +542,32 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^2.1.1" + "@csstools/css-tokenizer": "^2.2.0" } }, "node_modules/@csstools/css-tokenizer": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.1.1.tgz", - "integrity": "sha512-GbrTj2Z8MCTUv+52GE0RbFGM527xuXZ0Xa5g0Z+YN573uveS4G0qi6WNOMyz3yrFM/jaILTTwJ0+umx81EzqfA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.0.tgz", + "integrity": "sha512-wErmsWCbsmig8sQKkM6pFhr/oPha1bHfvxsUY5CYSQxwyhA9Ulrs8EqCgClhg4Tgg2XapVstGqSVcz0xOYizZA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "engines": { "node": "^14 || ^16 || >=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" } }, "node_modules/@csstools/media-query-list-parser": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.2.tgz", - "integrity": "sha512-M8cFGGwl866o6++vIY7j1AKuq9v57cf+dGepScwCcbut9ypJNr4Cj+LLTWligYUZ0uyhEoJDKt5lvyBfh2L3ZQ==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.4.tgz", + "integrity": "sha512-V/OUXYX91tAC1CDsiY+HotIcJR+vPtzrX8pCplCpT++i8ThZZsq5F5dzZh/bDM3WUOjrvC1ljed1oSJxMfjqhw==", "dev": true, "funding": [ { @@ -577,8 +583,8 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.3.0", - "@csstools/css-tokenizer": "^2.1.1" + "@csstools/css-parser-algorithms": "^2.3.1", + "@csstools/css-tokenizer": "^2.2.0" } }, "node_modules/@csstools/selector-specificity": { @@ -651,18 +657,18 @@ } }, "node_modules/@eslint/js": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", + "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -1360,9 +1366,10 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.7", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -2159,9 +2166,10 @@ } }, "node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.0", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -2239,17 +2247,10 @@ "license": "MIT" }, "node_modules/convert-source-map": { - "version": "1.8.0", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/convert-source-map/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true }, "node_modules/corser": { "version": "2.0.1", @@ -2299,9 +2300,10 @@ } }, "node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } @@ -2354,9 +2356,9 @@ } }, "node_modules/css-loader/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -2893,16 +2895,16 @@ } }, "node_modules/eslint": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", - "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", + "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "^8.47.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint/js": "8.50.0", + "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.12.4", @@ -3276,9 +3278,9 @@ "license": "Apache-2.0" }, "node_modules/fast-glob": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", - "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -4338,9 +4340,9 @@ } }, "node_modules/known-css-properties": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.27.0.tgz", - "integrity": "sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.28.0.tgz", + "integrity": "sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==", "dev": true }, "node_modules/levn": { @@ -4371,9 +4373,9 @@ "license": "MIT" }, "node_modules/lint-staged": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-14.0.0.tgz", - "integrity": "sha512-0tLf0pqZYkar/wu3nTctk4rVIG+d7PanDYv4/IQR4qwdqfQkTDziLRFnqMcLuLBTuUqmcLwsHPD2EjQ18d/oaA==", + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-14.0.1.tgz", + "integrity": "sha512-Mw0cL6HXnHN1ag0mN/Dg4g6sr8uf8sn98w2Oc1ECtFto9tvRF7nkXGJRbx8gPlHyoR0pLyBr2lQHbWwmUHe1Sw==", "dev": true, "dependencies": { "chalk": "5.3.0", @@ -5175,9 +5177,10 @@ } }, "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.1", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } @@ -5537,9 +5540,9 @@ } }, "node_modules/postcss": { - "version": "8.4.26", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.26.tgz", - "integrity": "sha512-jrXHFF8iTloAenySjM/ob3gSj7pCu0Ji49hnjqzsgSRa50hkWCKD0HQ+gMNJkW38jBI68MpAAg7ZWwHwX8NMMw==", + "version": "8.4.28", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", + "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", "dev": true, "funding": [ { @@ -6078,9 +6081,9 @@ } }, "node_modules/prettier": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.2.tgz", - "integrity": "sha512-o2YR9qtniXvwEZlOKbveKfDQVyqxbEIWn48Z8m3ZJjBjcCmUy3xZGIv+7AkaeuaTr6yPXJjwv07ZWlsWbEy1rQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", + "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -6152,9 +6155,10 @@ } }, "node_modules/pretty-format/node_modules/ansi-regex": { - "version": "3.0.0", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -6791,9 +6795,10 @@ "dev": true }, "node_modules/string-width/node_modules/ansi-regex": { - "version": "4.1.0", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -6972,14 +6977,14 @@ } }, "node_modules/stylelint": { - "version": "15.10.2", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.10.2.tgz", - "integrity": "sha512-UxqSb3hB74g4DTO45QhUHkJMjKKU//lNUAOWyvPBVPZbCknJ5HjOWWZo+UDuhHa9FLeVdHBZXxu43eXkjyIPWg==", + "version": "15.10.3", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.10.3.tgz", + "integrity": "sha512-aBQMMxYvFzJJwkmg+BUUg3YfPyeuCuKo2f+LOw7yYbU8AZMblibwzp9OV4srHVeQldxvSFdz0/Xu8blq2AesiA==", "dev": true, "dependencies": { - "@csstools/css-parser-algorithms": "^2.3.0", - "@csstools/css-tokenizer": "^2.1.1", - "@csstools/media-query-list-parser": "^2.1.2", + "@csstools/css-parser-algorithms": "^2.3.1", + "@csstools/css-tokenizer": "^2.2.0", + "@csstools/media-query-list-parser": "^2.1.4", "@csstools/selector-specificity": "^3.0.0", "balanced-match": "^2.0.0", "colord": "^2.9.3", @@ -6987,7 +6992,7 @@ "css-functions-list": "^3.2.0", "css-tree": "^2.3.1", "debug": "^4.3.4", - "fast-glob": "^3.3.0", + "fast-glob": "^3.3.1", "fastest-levenshtein": "^1.0.16", "file-entry-cache": "^6.0.1", "global-modules": "^2.0.0", @@ -6998,13 +7003,13 @@ "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.27.0", + "known-css-properties": "^0.28.0", "mathml-tag-names": "^2.1.3", "meow": "^10.1.5", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "picocolors": "^1.0.0", - "postcss": "^8.4.25", + "postcss": "^8.4.27", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^6.0.0", "postcss-selector-parser": "^6.0.13", @@ -7525,9 +7530,10 @@ } }, "node_modules/vue-eslint-parser/node_modules/semver": { - "version": "7.3.7", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -7782,9 +7788,10 @@ } }, "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "4.1.0", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -7926,12 +7933,12 @@ } }, "@babel/code-frame": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", - "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, "requires": { - "@babel/highlight": "^7.22.10", + "@babel/highlight": "^7.22.13", "chalk": "^2.4.2" } }, @@ -7942,32 +7949,32 @@ "dev": true }, "@babel/core": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz", - "integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.0.tgz", + "integrity": "sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ==", "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-compilation-targets": "^7.22.10", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.10", - "@babel/parser": "^7.22.10", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.10", - "@babel/types": "^7.22.10", - "convert-source-map": "^1.7.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.0", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", + "json5": "^2.2.3", "semver": "^6.3.1" } }, "@babel/eslint-parser": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.10.tgz", - "integrity": "sha512-0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz", + "integrity": "sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg==", "dev": true, "requires": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", @@ -7982,12 +7989,12 @@ } }, "@babel/generator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", - "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, "requires": { - "@babel/types": "^7.22.10", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -8007,13 +8014,13 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", - "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", "dev": true, "requires": { "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", "browserslist": "^4.21.9", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -8037,19 +8044,19 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true }, "@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "requires": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" } }, "@babel/helper-hoist-variables": { @@ -8062,25 +8069,25 @@ } }, "@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", "dev": true, "requires": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.22.15" } }, "@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", "@babel/helper-simple-access": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" + "@babel/helper-validator-identifier": "^7.22.20" } }, "@babel/helper-simple-access": { @@ -8108,32 +8115,32 @@ "dev": true }, "@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", "dev": true }, "@babel/helpers": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz", - "integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==", + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.1.tgz", + "integrity": "sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA==", "dev": true, "requires": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.10", - "@babel/types": "^7.22.10" + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0" } }, "@babel/highlight": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", - "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", + "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.22.5", @@ -8142,36 +8149,36 @@ } }, "@babel/parser": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz", - "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true }, "@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" } }, "@babel/traverse": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz", - "integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", + "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", "dev": true, "requires": { - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.10", - "@babel/types": "^7.22.10", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -8185,13 +8192,13 @@ } }, "@babel/types": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", - "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dev": true, "requires": { "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" } }, @@ -8311,22 +8318,22 @@ } }, "@csstools/css-parser-algorithms": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.0.tgz", - "integrity": "sha512-dTKSIHHWc0zPvcS5cqGP+/TPFUJB0ekJ9dGKvMAFoNuBFhDPBt9OMGNZiIA5vTiNdGHHBeScYPXIGBMnVOahsA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.1.tgz", + "integrity": "sha512-xrvsmVUtefWMWQsGgFffqWSK03pZ1vfDki4IVIIUxxDKnGBzqNgv0A7SB1oXtVNEkcVO8xi1ZrTL29HhSu5kGA==", "dev": true, "requires": {} }, "@csstools/css-tokenizer": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.1.1.tgz", - "integrity": "sha512-GbrTj2Z8MCTUv+52GE0RbFGM527xuXZ0Xa5g0Z+YN573uveS4G0qi6WNOMyz3yrFM/jaILTTwJ0+umx81EzqfA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.0.tgz", + "integrity": "sha512-wErmsWCbsmig8sQKkM6pFhr/oPha1bHfvxsUY5CYSQxwyhA9Ulrs8EqCgClhg4Tgg2XapVstGqSVcz0xOYizZA==", "dev": true }, "@csstools/media-query-list-parser": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.2.tgz", - "integrity": "sha512-M8cFGGwl866o6++vIY7j1AKuq9v57cf+dGepScwCcbut9ypJNr4Cj+LLTWligYUZ0uyhEoJDKt5lvyBfh2L3ZQ==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.4.tgz", + "integrity": "sha512-V/OUXYX91tAC1CDsiY+HotIcJR+vPtzrX8pCplCpT++i8ThZZsq5F5dzZh/bDM3WUOjrvC1ljed1oSJxMfjqhw==", "dev": true, "requires": {} }, @@ -8370,15 +8377,15 @@ } }, "@eslint/js": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", + "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", "dev": true }, "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -8907,7 +8914,9 @@ }, "dependencies": { "semver": { - "version": "7.3.7", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -9476,7 +9485,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "strip-ansi": { @@ -9539,17 +9550,10 @@ "dev": true }, "convert-source-map": { - "version": "1.8.0", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "dev": true - } - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true }, "corser": { "version": "2.0.1", @@ -9585,7 +9589,9 @@ }, "dependencies": { "semver": { - "version": "5.7.1", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true } } @@ -9620,9 +9626,9 @@ }, "dependencies": { "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -9984,16 +9990,16 @@ "dev": true }, "eslint": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", - "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", + "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "^8.47.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint/js": "8.50.0", + "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.12.4", @@ -10242,9 +10248,9 @@ "dev": true }, "fast-glob": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", - "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -10926,9 +10932,9 @@ "dev": true }, "known-css-properties": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.27.0.tgz", - "integrity": "sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.28.0.tgz", + "integrity": "sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==", "dev": true }, "levn": { @@ -10952,9 +10958,9 @@ "dev": true }, "lint-staged": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-14.0.0.tgz", - "integrity": "sha512-0tLf0pqZYkar/wu3nTctk4rVIG+d7PanDYv4/IQR4qwdqfQkTDziLRFnqMcLuLBTuUqmcLwsHPD2EjQ18d/oaA==", + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-14.0.1.tgz", + "integrity": "sha512-Mw0cL6HXnHN1ag0mN/Dg4g6sr8uf8sn98w2Oc1ECtFto9tvRF7nkXGJRbx8gPlHyoR0pLyBr2lQHbWwmUHe1Sw==", "dev": true, "requires": { "chalk": "5.3.0", @@ -11482,7 +11488,9 @@ }, "dependencies": { "semver": { - "version": "5.7.1", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true } } @@ -11713,9 +11721,9 @@ } }, "postcss": { - "version": "8.4.26", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.26.tgz", - "integrity": "sha512-jrXHFF8iTloAenySjM/ob3gSj7pCu0Ji49hnjqzsgSRa50hkWCKD0HQ+gMNJkW38jBI68MpAAg7ZWwHwX8NMMw==", + "version": "8.4.28", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", + "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", "dev": true, "requires": { "nanoid": "^3.3.6", @@ -12039,9 +12047,9 @@ "dev": true }, "prettier": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.2.tgz", - "integrity": "sha512-o2YR9qtniXvwEZlOKbveKfDQVyqxbEIWn48Z8m3ZJjBjcCmUy3xZGIv+7AkaeuaTr6yPXJjwv07ZWlsWbEy1rQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", + "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", "dev": true }, "prettier-eslint": { @@ -12088,7 +12096,9 @@ }, "dependencies": { "ansi-regex": { - "version": "3.0.0", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true } } @@ -12508,7 +12518,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "is-fullwidth-code-point": { @@ -12643,14 +12655,14 @@ } }, "stylelint": { - "version": "15.10.2", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.10.2.tgz", - "integrity": "sha512-UxqSb3hB74g4DTO45QhUHkJMjKKU//lNUAOWyvPBVPZbCknJ5HjOWWZo+UDuhHa9FLeVdHBZXxu43eXkjyIPWg==", + "version": "15.10.3", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.10.3.tgz", + "integrity": "sha512-aBQMMxYvFzJJwkmg+BUUg3YfPyeuCuKo2f+LOw7yYbU8AZMblibwzp9OV4srHVeQldxvSFdz0/Xu8blq2AesiA==", "dev": true, "requires": { - "@csstools/css-parser-algorithms": "^2.3.0", - "@csstools/css-tokenizer": "^2.1.1", - "@csstools/media-query-list-parser": "^2.1.2", + "@csstools/css-parser-algorithms": "^2.3.1", + "@csstools/css-tokenizer": "^2.2.0", + "@csstools/media-query-list-parser": "^2.1.4", "@csstools/selector-specificity": "^3.0.0", "balanced-match": "^2.0.0", "colord": "^2.9.3", @@ -12658,7 +12670,7 @@ "css-functions-list": "^3.2.0", "css-tree": "^2.3.1", "debug": "^4.3.4", - "fast-glob": "^3.3.0", + "fast-glob": "^3.3.1", "fastest-levenshtein": "^1.0.16", "file-entry-cache": "^6.0.1", "global-modules": "^2.0.0", @@ -12669,13 +12681,13 @@ "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.27.0", + "known-css-properties": "^0.28.0", "mathml-tag-names": "^2.1.3", "meow": "^10.1.5", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "picocolors": "^1.0.0", - "postcss": "^8.4.25", + "postcss": "^8.4.27", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^6.0.0", "postcss-selector-parser": "^6.0.13", @@ -13013,7 +13025,9 @@ }, "dependencies": { "semver": { - "version": "7.3.7", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -13138,7 +13152,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "strip-ansi": { diff --git a/package.json b/package.json index f15dec307..06f1e0d7d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "interactive-examples", - "version": "2.1.1", + "version": "2.2.0", "description": "Interactive code examples embedded on MDN", "author": "Mozilla", "license": "MPL-2.0", @@ -43,18 +43,18 @@ "node": ">=18.0.0" }, "devDependencies": { - "@babel/core": "^7.22.10", - "@babel/eslint-parser": "^7.22.10", + "@babel/core": "^7.23.0", + "@babel/eslint-parser": "^7.22.15", "@mdn/bob": "^3.4.0", "chokidar-cli": "^3.0.0", - "eslint": "^8.47.0", + "eslint": "^8.50.0", "http-server": "^14.1.1", "husky": "^8.0.3", - "lint-staged": "^14.0.0", + "lint-staged": "^14.0.1", "npm-run-all": "^4.1.5", - "prettier": "^3.0.2", + "prettier": "^3.0.3", "prettier-eslint": "^15.0.1", - "stylelint": "^15.10.2", + "stylelint": "^15.10.3", "stylelint-prettier": "^4.0.1" } }