From 5358b16fb77dde2175f07949bee61b9bd36ae915 Mon Sep 17 00:00:00 2001 From: Grzegorz Chudzinski-Pawlowski <112354940+grzegorz-cp@users.noreply.github.com> Date: Tue, 10 Dec 2024 04:52:52 +1300 Subject: [PATCH 01/87] Charts: Adding line chart (#40466) * Charts - Adding baaic line chart * changelog * Charts - Fixing pnpm lock * Charts - Adding baaic pie semi circle chart --- pnpm-lock.yaml | 966 ++++++++++++++++-- projects/js-packages/charts/README.md | 10 +- .../charts/changelog/add-charts-basic-line | 4 + projects/js-packages/charts/package.json | 29 +- .../charts/src/components/bar-chart/index.tsx | 6 +- .../src/components/line-chart/index.tsx | 1 + .../line-chart/line-chart.module.scss | 15 + .../src/components/line-chart/line-chart.tsx | 162 +++ .../line-chart/stories/index.stories.tsx | 34 + .../pie-semi-circle-chart/index.tsx | 1 + .../pie-semi-circle-chart.module.scss | 3 + .../pie-semi-circle-chart.tsx | 93 ++ .../stories/index.stories.tsx | 52 + .../charts/src/components/shared/types.d.ts | 32 + projects/js-packages/charts/src/index.ts | 4 +- 15 files changed, 1302 insertions(+), 110 deletions(-) create mode 100644 projects/js-packages/charts/changelog/add-charts-basic-line create mode 100644 projects/js-packages/charts/src/components/line-chart/index.tsx create mode 100644 projects/js-packages/charts/src/components/line-chart/line-chart.module.scss create mode 100644 projects/js-packages/charts/src/components/line-chart/line-chart.tsx create mode 100644 projects/js-packages/charts/src/components/line-chart/stories/index.stories.tsx create mode 100644 projects/js-packages/charts/src/components/pie-semi-circle-chart/index.tsx create mode 100644 projects/js-packages/charts/src/components/pie-semi-circle-chart/pie-semi-circle-chart.module.scss create mode 100644 projects/js-packages/charts/src/components/pie-semi-circle-chart/pie-semi-circle-chart.tsx create mode 100644 projects/js-packages/charts/src/components/pie-semi-circle-chart/stories/index.stories.tsx create mode 100644 projects/js-packages/charts/src/components/shared/types.d.ts diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 37163dba4c345..00711e4c34617 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -287,28 +287,40 @@ importers: projects/js-packages/charts: dependencies: + '@react-spring/web': + specifier: 9.7.3 + version: 9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@visx/axis': - specifier: ^3.8.0 + specifier: ^3.12.0 version: 3.12.0(react@18.3.1) '@visx/group': - specifier: ^3.8.0 + specifier: ^3.12.0 version: 3.12.0(react@18.3.1) '@visx/scale': - specifier: ^3.8.0 + specifier: ^3.12.0 version: 3.12.0 '@visx/shape': - specifier: ^3.8.0 + specifier: ^3.12.0 + version: 3.12.0(react@18.3.1) + '@visx/text': + specifier: 3.12.0 version: 3.12.0(react@18.3.1) + '@visx/xychart': + specifier: 3.12.0 + version: 3.12.0(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + clsx: + specifier: 2.1.1 + version: 2.1.1 devDependencies: '@storybook/blocks': - specifier: 8.3.5 - version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5) + specifier: 8.4.6 + version: 8.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.6) '@storybook/react': - specifier: 8.3.5 - version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4) + specifier: 8.4.6 + version: 8.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.6)(typescript@5.7.2) '@types/react': - specifier: 18.3.12 - version: 18.3.12 + specifier: 18.3.13 + version: 18.3.13 '@types/react-dom': specifier: 18.3.1 version: 18.3.1 @@ -328,11 +340,11 @@ importers: specifier: 18.3.1 version: 18.3.1(react@18.3.1) storybook: - specifier: 8.3.5 - version: 8.3.5 + specifier: 8.4.6 + version: 8.4.6 typescript: - specifier: 5.0.4 - version: 5.0.4 + specifier: 5.7.2 + version: 5.7.2 projects/js-packages/components: dependencies: @@ -4994,6 +5006,10 @@ packages: resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==} engines: {node: '>=6.9.0'} + '@babel/compat-data@7.26.3': + resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} + engines: {node: '>=6.9.0'} + '@babel/core@7.26.0': resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} engines: {node: '>=6.9.0'} @@ -5009,6 +5025,10 @@ packages: resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==} engines: {node: '>=6.9.0'} + '@babel/generator@7.26.3': + resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.25.9': resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} engines: {node: '>=6.9.0'} @@ -5105,6 +5125,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.26.3': + resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9': resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} engines: {node: '>=6.9.0'} @@ -5625,10 +5650,18 @@ packages: resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==} engines: {node: '>=6.9.0'} + '@babel/traverse@7.26.3': + resolution: {integrity: sha512-yTmc8J+Sj8yLzwr4PD5Xb/WF3bOYu2C2OoSZPzbuqRm4n98XirsbzaX+GloeO376UnSYIYJ4NCanwV5/ugZkwA==} + engines: {node: '>=6.9.0'} + '@babel/types@7.26.0': resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} engines: {node: '>=6.9.0'} + '@babel/types@7.26.3': + resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} + engines: {node: '>=6.9.0'} + '@base2/pretty-print-object@1.0.1': resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==} @@ -5725,6 +5758,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.24.0': + resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.17.19': resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} engines: {node: '>=12'} @@ -5737,6 +5776,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.24.0': + resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.17.19': resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} engines: {node: '>=12'} @@ -5749,6 +5794,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.24.0': + resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.17.19': resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} engines: {node: '>=12'} @@ -5761,6 +5812,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.24.0': + resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.17.19': resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} engines: {node: '>=12'} @@ -5773,6 +5830,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.24.0': + resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.17.19': resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} engines: {node: '>=12'} @@ -5785,6 +5848,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.24.0': + resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.17.19': resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} engines: {node: '>=12'} @@ -5797,6 +5866,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.24.0': + resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.17.19': resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} engines: {node: '>=12'} @@ -5809,6 +5884,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.24.0': + resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.17.19': resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} engines: {node: '>=12'} @@ -5821,6 +5902,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.24.0': + resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.17.19': resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} engines: {node: '>=12'} @@ -5833,6 +5920,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.24.0': + resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.17.19': resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} engines: {node: '>=12'} @@ -5845,6 +5938,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.24.0': + resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.17.19': resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} engines: {node: '>=12'} @@ -5857,6 +5956,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.24.0': + resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.17.19': resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} engines: {node: '>=12'} @@ -5869,6 +5974,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.24.0': + resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.17.19': resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} engines: {node: '>=12'} @@ -5881,6 +5992,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.24.0': + resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.17.19': resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} engines: {node: '>=12'} @@ -5893,6 +6010,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.24.0': + resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.17.19': resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} engines: {node: '>=12'} @@ -5905,6 +6028,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.24.0': + resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.17.19': resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} engines: {node: '>=12'} @@ -5917,6 +6046,12 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.24.0': + resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-x64@0.17.19': resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} engines: {node: '>=12'} @@ -5929,12 +6064,24 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.24.0': + resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-arm64@0.23.1': resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.24.0': + resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.17.19': resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} engines: {node: '>=12'} @@ -5947,6 +6094,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.24.0': + resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/sunos-x64@0.17.19': resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} engines: {node: '>=12'} @@ -5959,6 +6112,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.24.0': + resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.17.19': resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} engines: {node: '>=12'} @@ -5971,6 +6130,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.24.0': + resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.17.19': resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} engines: {node: '>=12'} @@ -5983,6 +6148,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.24.0': + resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.17.19': resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} engines: {node: '>=12'} @@ -5995,6 +6166,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.24.0': + resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.1': resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6817,6 +6994,18 @@ packages: react-dom: optional: true + '@storybook/blocks@8.4.6': + resolution: {integrity: sha512-Gzbx8hM7ZQIHlQELcFIMbY1v+r1Po4mlinq0QVPtKS4lBcW4eZIsesbxOaL+uFNrxb583TLFzXo0DbRPzS46sg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.4.6 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + '@storybook/builder-webpack5@8.3.5': resolution: {integrity: sha512-rhmfdiSlDn3Arki7IMYk11PO29rYuYM4LZ8GlNqREU7VUl/8Vngo/jFIa4pKaIns3ql1RrwzO1wm9JvuL/4ydA==} peerDependencies: @@ -6836,6 +7025,11 @@ packages: peerDependencies: storybook: ^8.3.5 + '@storybook/components@8.4.6': + resolution: {integrity: sha512-9tKSJJCyFT5RZMRGyozTBJkr9C9Yfk1nuOE9XbDEE1Z+3/IypKR9+iwc5mfNBStDNY+rxtYWNLKBb5GPR2yhzA==} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + '@storybook/core-common@8.4.2': resolution: {integrity: sha512-om+tWPdCDuL9zSioxE1EGaZw5c8yRjQTfaVBpWCxbGOMgbbFJXOcJ9oXwmVEQSbxEPY7RUmCXcVpO3N+N+xDKA==} peerDependencies: @@ -6854,6 +7048,14 @@ packages: '@storybook/core@8.3.5': resolution: {integrity: sha512-GOGfTvdioNa/n+Huwg4u/dsyYyBcM+gEcdxi3B7i5x4yJ3I912KoVshumQAOF2myKSRdI8h8aGWdx7nnjd0+5Q==} + '@storybook/core@8.4.6': + resolution: {integrity: sha512-WeojVtHy0/t50tzw/15S+DLzKsj8BN9yWdo3vJMvm+nflLFvfq1XvD9WGOWeaFp8E/o3AP+4HprXG0r42KEJtA==} + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true + '@storybook/csf-plugin@8.3.5': resolution: {integrity: sha512-ODVqNXwJt90hG7QW8I9w/XUyOGlr0l7XltmIJgXwB/2cYDvaGu3JV5Ybg7O0fxPV8uXk7JlRuUD8ZYv5Low6pA==} peerDependencies: @@ -6867,6 +7069,9 @@ packages: '@storybook/csf@0.1.11': resolution: {integrity: sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg==} + '@storybook/csf@0.1.12': + resolution: {integrity: sha512-9/exVhabisyIVL0VxTCxo01Tdm8wefIXKXfltAPTSr8cbLn5JAxGQ6QV3mjdecLGEOucfoVhAKtJfVHxEK1iqw==} + '@storybook/global@5.0.0': resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} @@ -6882,6 +7087,11 @@ packages: peerDependencies: storybook: ^8.3.5 + '@storybook/manager-api@8.4.6': + resolution: {integrity: sha512-TsXlQ5m5rTl2KNT9icPFyy822AqXrx1QplZBt/L7cFn7SpqQKDeSta21FH7MG0piAvzOweXebVSqKngJ6cCWWQ==} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + '@storybook/preset-react-webpack@8.3.5': resolution: {integrity: sha512-laS9CiZrZ4CSnBTBfkBba3hmlDhzcjIfCvx8/rk3SZ+zh93NpqXixzRt6m0UH2po63dpdu21nXrsW5Cfs88Ypw==} engines: {node: '>=18.0.0'} @@ -6899,6 +7109,11 @@ packages: peerDependencies: storybook: ^8.3.5 + '@storybook/preview-api@8.4.6': + resolution: {integrity: sha512-LbD+lR1FGvWaJBXteVx5xdgs1x1D7tyidBg2CsW2ex+cP0iJ176JgjPfutZxlWOfQnhfRYNnJ3WKoCIfxFOTKA==} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0': resolution: {integrity: sha512-KUqXC3oa9JuQ0kZJLBhVdS4lOneKTOopnNBK4tUAgoxWQ3u/IjzdueZjFr7gyBrXMoU6duutk3RQR9u8ZpYJ4Q==} peerDependencies: @@ -6912,6 +7127,13 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta storybook: ^8.3.5 + '@storybook/react-dom-shim@8.4.6': + resolution: {integrity: sha512-f7RM8GO++fqMxbjNdEzeGS1P821jXuwRnAraejk5hyjB5SqetauFxMwoFYEYfJXPaLX2qIubnIJ78hdJ/IBaEA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.4.6 + '@storybook/react-webpack5@8.3.5': resolution: {integrity: sha512-J7jCxjCuWvRJrAtOwe4ij8rjfTGm1Dpsfbz8xar4ItVw7ikiyALr34E3FJzfgq7M40uGXZhvCl2IVRdGeiLmzg==} engines: {node: '>=18.0.0'} @@ -6939,6 +7161,21 @@ packages: typescript: optional: true + '@storybook/react@8.4.6': + resolution: {integrity: sha512-QAT23beoYNLhFGAXPimtuMErvpcI7eZbZ4AlLqW1fhiTZrRYw06cjC1bs9H3tODMcHH9LS5p3Wz9b29jtV2XGw==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@storybook/test': 8.4.6 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.4.6 + typescript: '>= 4.2.x' + peerDependenciesMeta: + '@storybook/test': + optional: true + typescript: + optional: true + '@storybook/source-loader@8.3.5': resolution: {integrity: sha512-rQRWMqsM2PROeQxBCX23sDKdTMpdkub3A2Q3+6JhVzYRQodQrQDbzVRULq3G7RGXdktTkE+huVO4pLKaDa7PDw==} peerDependencies: @@ -6954,6 +7191,11 @@ packages: peerDependencies: storybook: ^8.3.5 + '@storybook/theming@8.4.6': + resolution: {integrity: sha512-q7vDPN/mgj7cXIVQ9R1/V75hrzNgKkm2G0LjMo57//9/djQ+7LxvBsR1iScbFIRSEqppvMiBFzkts+2uXidySA==} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + '@svgr/babel-plugin-add-jsx-attribute@7.0.0': resolution: {integrity: sha512-khWbXesWIP9v8HuKCl2NU2HNAyqpSQ/vkIl36Nbn4HIwEYSRWL0H7Gs6idJdha2DkpFDWlsqMELvoCE8lfFY6Q==} engines: {node: '>=14'} @@ -7280,6 +7522,9 @@ packages: '@types/d3-time@3.0.0': resolution: {integrity: sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==} + '@types/d3-voronoi@1.1.12': + resolution: {integrity: sha512-DauBl25PKZZ0WVJr42a6CNvI6efsdzofl9sajqZr2Gf5Gu733WkDdUGiPkUHXiUvYGzNNlFQde2wdZdfQPG+yw==} + '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -7433,6 +7678,9 @@ packages: '@types/react@18.3.12': resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==} + '@types/react@18.3.13': + resolution: {integrity: sha512-ii/gswMmOievxAJed4PAHT949bpYjPKXvXo1v6cRB/kqc2ZR4n+SgyCyvyc5Fec5ez8VnUumI1Vk7j6fRyRogg==} + '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} @@ -7579,14 +7827,43 @@ packages: resolution: {integrity: sha512-S4cL7Taa9yb5qbv+6wLgiKVZ03Qfkc4jGRuiUQMQ8HGBD5pcNRnHeYM33zBvJE4/zJGjJJ8GScB+WmTsn9mORw==} hasBin: true + '@visx/annotation@3.12.0': + resolution: {integrity: sha512-ZH6Y4jfrb47iEUV9O2itU9TATE5IPzhs5qvP6J7vmv26qkqwDcuE7xN3S3l9R70WjyEKGbpO8js4EijA3FJWkA==} + peerDependencies: + react: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 + '@visx/axis@3.12.0': resolution: {integrity: sha512-8MoWpfuaJkhm2Yg+HwyytK8nk+zDugCqTT/tRmQX7gW4LYrHYLXFUXOzbDyyBakCVaUbUaAhVFxpMASJiQKf7A==} peerDependencies: react: ^16.3.0-0 || ^17.0.0-0 || ^18.0.0-0 + '@visx/bounds@3.12.0': + resolution: {integrity: sha512-peAlNCUbYaaZ0IO6c1lDdEAnZv2iGPDiLIM8a6gu7CaMhtXZJkqrTh+AjidNcIqITktrICpGxJE/Qo9D099dvQ==} + peerDependencies: + react: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 + react-dom: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 + '@visx/curve@3.12.0': resolution: {integrity: sha512-Ng1mefXIzoIoAivw7dJ+ZZYYUbfuwXgZCgQynShr6ZIVw7P4q4HeQfJP3W24ON+1uCSrzoycHSXRelhR9SBPcw==} + '@visx/drag@3.12.0': + resolution: {integrity: sha512-LXOoPVw//YPjpYhDJYBsCYDuv1QimsXjDV98duH0aCy4V94ediXMQpe2wHq4pnlDobLEB71FjOZMFrbFmqtERg==} + peerDependencies: + react: ^16.8.0-0 || ^17.0.0-0 || ^18.0.0-0 + + '@visx/event@3.12.0': + resolution: {integrity: sha512-9Lvw6qJ0Fi+y1vsC1WspfdIKCxHTb7oy59Uql1uBdPGT8zChP0vuxW0jQNQRDbKgoefj4pCXAFi8+MF1mEtVTw==} + + '@visx/glyph@3.12.0': + resolution: {integrity: sha512-E9ST9MoPNyXQzjZxYYAGXT4CbBpnB90Qhx8UvUUM2/n/SZUNeH+m6UiB/CzT0jGK2b0lPHF91mlOiQ8JXBRhYg==} + peerDependencies: + react: ^16.3.0-0 || ^17.0.0-0 || ^18.0.0-0 + + '@visx/grid@3.12.0': + resolution: {integrity: sha512-L4ex2ooSYhwNIxJ3XFIKRhoSvEGjPc2Y3YCrtNB4TV5Ofdj4q0UMOsxfrH23Pr8HSHuQhb6VGMgYoK0LuWqDmQ==} + peerDependencies: + react: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 + '@visx/group@3.12.0': resolution: {integrity: sha512-Dye8iS1alVXPv7nj/7M37gJe6sSKqJLH7x6sEWAsRQ9clI0kFvjbKcKgF+U3aAVQr0NCohheFV+DtR8trfK/Ag==} peerDependencies: @@ -7595,6 +7872,17 @@ packages: '@visx/point@3.12.0': resolution: {integrity: sha512-I6UrHoJAEVbx3RORQNupgTiX5EzjuZpiwLPxn8L2mI5nfERotPKi1Yus12Cq2WtXqEBR/WgqTnoImlqOXBykcA==} + '@visx/react-spring@3.12.0': + resolution: {integrity: sha512-ehtmjFrUQx3g0mZ684M4LgI9UfQ84ZWD/m9tKfvXhEm1Vl8D4AjaZ4af1tTOg9S7vk2VlpxvVOVN7+t5pu0nSA==} + peerDependencies: + '@react-spring/web': ^9.4.5 + react: ^16.3.0-0 || ^17.0.0 || ^18.0.0 + + '@visx/responsive@3.12.0': + resolution: {integrity: sha512-GV1BTYwAGlk/K5c9vH8lS2syPnTuIqEacI7L6LRPbsuaLscXMNi+i9fZyzo0BWvAdtRV8v6Urzglo++lvAXT1Q==} + peerDependencies: + react: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 + '@visx/scale@3.12.0': resolution: {integrity: sha512-+ubijrZ2AwWCsNey0HGLJ0YKNeC/XImEFsr9rM+Uef1CM3PNM43NDdNTrdBejSlzRq0lcfQPWYMYQFSlkLcPOg==} @@ -7608,9 +7896,26 @@ packages: peerDependencies: react: ^16.3.0-0 || ^17.0.0-0 || ^18.0.0-0 + '@visx/tooltip@3.12.0': + resolution: {integrity: sha512-pWhsYhgl0Shbeqf80qy4QCB6zpq6tQtMQQxKlh3UiKxzkkfl+Metaf9p0/S0HexNi4vewOPOo89xWx93hBeh3A==} + peerDependencies: + react: ^16.8.0-0 || ^17.0.0-0 || ^18.0.0-0 + react-dom: ^16.8.0-0 || ^17.0.0-0 || ^18.0.0-0 + '@visx/vendor@3.12.0': resolution: {integrity: sha512-SVO+G0xtnL9dsNpGDcjCgoiCnlB3iLSM9KLz1sLbSrV7RaVXwY3/BTm2X9OWN1jH2a9M+eHt6DJ6sE6CXm4cUg==} + '@visx/voronoi@3.12.0': + resolution: {integrity: sha512-U3HWu6g5UjQchFDq8k/A4U9WrlN+80rAFPdGOUvIGOueQw9RmlZlNaeg8IJcQr2yk1s4O/VSpt3nR82zdINWMw==} + peerDependencies: + react: ^16.3.0-0 || ^17.0.0-0 || ^18.0.0-0 + + '@visx/xychart@3.12.0': + resolution: {integrity: sha512-itJ7qvj/STpVmHesVyo2vPOataBM1mgSaf9R6/s4Bpe340wZldfCJ+IqRcNgdtbBagz1Hlr/sRnla4tWE2yw9A==} + peerDependencies: + '@react-spring/web': ^9.4.5 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@webassemblyjs/ast@1.14.1': resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} @@ -8583,6 +8888,9 @@ packages: caniuse-lite@1.0.30001680: resolution: {integrity: sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==} + caniuse-lite@1.0.30001686: + resolution: {integrity: sha512-Y7deg0Aergpa24M3qLC5xjNklnKnhsmSyR/V89dLZ1n0ucJIFNs7PgR2Yfa/Zf6W79SbBicgtGxZr2juHkEUIA==} + capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} @@ -8907,6 +9215,10 @@ packages: resolution: {integrity: sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==} engines: {node: '>= 8'} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + crypto-js@4.2.0: resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} @@ -9057,6 +9369,9 @@ packages: resolution: {integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==} engines: {node: '>=12'} + d3-interpolate-path@2.2.1: + resolution: {integrity: sha512-6qLLh/KJVzls0XtMsMpcxhqMhgVEN7VIbR/6YGZe2qlS8KDgyyVB20XcmGnDyB051HcefQXM/Tppa9vcANEA4Q==} + d3-interpolate@3.0.1: resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} engines: {node: '>=12'} @@ -9064,6 +9379,9 @@ packages: d3-path@1.0.9: resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + d3-path@2.0.0: + resolution: {integrity: sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA==} + d3-scale@4.0.2: resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} engines: {node: '>=12'} @@ -9071,6 +9389,9 @@ packages: d3-shape@1.3.7: resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + d3-shape@2.1.0: + resolution: {integrity: sha512-PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA==} + d3-time-format@4.1.0: resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} engines: {node: '>=12'} @@ -9079,6 +9400,9 @@ packages: resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} engines: {node: '>=12'} + d3-voronoi@1.1.4: + resolution: {integrity: sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==} + damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} @@ -9358,6 +9682,9 @@ packages: electron-to-chromium@1.5.55: resolution: {integrity: sha512-6maZ2ASDOTBtjt9FhqYPRnbvKU5tjG0IN9SztUOWYw2AzNDNpKJYLJmlK0/En4Hs/aiWnB+JZ+gW19PIGszgKg==} + electron-to-chromium@1.5.69: + resolution: {integrity: sha512-zz4e7EbJqqtdQtwt61ZYKrfEYlV0HpGbIGRVFGOO9YBZIhg0BDXtBcWxpqyAm6oyPl2Zp8tc5FrPpCZQH/Yazg==} + elegant-spinner@1.0.1: resolution: {integrity: sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==} engines: {node: '>=0.10.0'} @@ -9503,6 +9830,11 @@ packages: engines: {node: '>=18'} hasBin: true + esbuild@0.24.0: + resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -10202,6 +10534,10 @@ packages: gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -10242,10 +10578,18 @@ packages: resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} engines: {node: '>= 0.4'} + has-proto@1.1.0: + resolution: {integrity: sha512-QLdzI9IIO1Jg7f9GT1gXpPpXArAn6cS31R1eEZqz08Gc+uQ8/XiqHWt17Fiw+2p6oTTIq5GXEpQkAlA88YRl/Q==} + engines: {node: '>= 0.4'} + has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + has-tostringtag@1.0.2: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} @@ -11520,6 +11864,9 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + mitt@2.1.0: + resolution: {integrity: sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==} + mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} @@ -11642,8 +11989,8 @@ packages: resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} engines: {node: '>=0.10.0'} - nwsapi@2.2.13: - resolution: {integrity: sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==} + nwsapi@2.2.16: + resolution: {integrity: sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ==} nyc@15.1.0: resolution: {integrity: sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==} @@ -12338,8 +12685,8 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - psl@1.10.0: - resolution: {integrity: sha512-KSKHEbjAnpUuAUserOq0FxGXCUrzC3WniuSJhvdbs102rL55266ZcHBqLWOsG30spQMlPdpy7icATiAQehg/iA==} + psl@1.15.0: + resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} pump@3.0.2: resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} @@ -12802,6 +13149,10 @@ packages: resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} engines: {node: '>=10'} + resolve.exports@2.0.3: + resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} + engines: {node: '>=10'} + resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -13195,6 +13546,15 @@ packages: resolution: {integrity: sha512-hYQVtP2l+3kO8oKDn4fjXXQYxgTRsj/LaV6lUMJH0zt+OhVmDXKJLxmdUP4ieTm0T8wEbSYosFavgPcQZlxRfw==} hasBin: true + storybook@8.4.6: + resolution: {integrity: sha512-J6juZSZT2u3PUW0QZYZZYxBq6zU5O0OrkSgkMXGMg/QrS9to9IHmt4FjEMEyACRbXo8POcB/fSXa3VpGe7bv3g==} + hasBin: true + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true + streamx@2.20.1: resolution: {integrity: sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA==} @@ -13731,6 +14091,11 @@ packages: engines: {node: '>=12.20'} hasBin: true + typescript@5.7.2: + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} + engines: {node: '>=14.17'} + hasBin: true + uc.micro@2.1.0: resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} @@ -14064,6 +14429,10 @@ packages: resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} engines: {node: '>= 0.4'} + which-typed-array@1.1.16: + resolution: {integrity: sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==} + engines: {node: '>= 0.4'} + which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -14436,20 +14805,22 @@ snapshots: '@babel/compat-data@7.26.2': {} + '@babel/compat-data@7.26.3': {} + '@babel/core@7.26.0': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.2 + '@babel/generator': 7.26.3 '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) '@babel/helpers': 7.26.0 - '@babel/parser': 7.26.2 + '@babel/parser': 7.26.3 '@babel/template': 7.25.9 - '@babel/traverse': 7.25.9 - '@babel/types': 7.26.0 + '@babel/traverse': 7.26.3 + '@babel/types': 7.26.3 convert-source-map: 2.0.0 - debug: 4.3.4 + debug: 4.3.7 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -14472,6 +14843,14 @@ snapshots: '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.0.2 + '@babel/generator@7.26.3': + dependencies: + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.0.2 + '@babel/helper-annotate-as-pure@7.25.9': dependencies: '@babel/types': 7.26.0 @@ -14485,7 +14864,7 @@ snapshots: '@babel/helper-compilation-targets@7.25.9': dependencies: - '@babel/compat-data': 7.26.2 + '@babel/compat-data': 7.26.3 '@babel/helper-validator-option': 7.25.9 browserslist: 4.24.2 lru-cache: 5.1.1 @@ -14531,8 +14910,8 @@ snapshots: '@babel/helper-module-imports@7.25.9': dependencies: - '@babel/traverse': 7.25.9 - '@babel/types': 7.26.0 + '@babel/traverse': 7.26.3 + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color @@ -14541,7 +14920,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.25.9 + '@babel/traverse': 7.26.3 transitivePeerDependencies: - supports-color @@ -14600,12 +14979,16 @@ snapshots: '@babel/helpers@7.26.0': dependencies: '@babel/template': 7.25.9 - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 '@babel/parser@7.26.2': dependencies: '@babel/types': 7.26.0 + '@babel/parser@7.26.3': + dependencies: + '@babel/types': 7.26.3 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 @@ -15237,8 +15620,8 @@ snapshots: '@babel/template@7.25.9': dependencies: '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 '@babel/traverse@7.25.9': dependencies: @@ -15252,12 +15635,29 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/traverse@7.26.3': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.3 + '@babel/parser': 7.26.3 + '@babel/template': 7.25.9 + '@babel/types': 7.26.3 + debug: 4.3.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + '@babel/types@7.26.0': dependencies: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@base2/pretty-print-object@1.0.1': {} + '@babel/types@7.26.3': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + + '@base2/pretty-print-object@1.0.1': {} '@bcoe/v8-coverage@0.2.3': {} @@ -15412,141 +15812,213 @@ snapshots: '@esbuild/aix-ppc64@0.23.1': optional: true + '@esbuild/aix-ppc64@0.24.0': + optional: true + '@esbuild/android-arm64@0.17.19': optional: true '@esbuild/android-arm64@0.23.1': optional: true + '@esbuild/android-arm64@0.24.0': + optional: true + '@esbuild/android-arm@0.17.19': optional: true '@esbuild/android-arm@0.23.1': optional: true + '@esbuild/android-arm@0.24.0': + optional: true + '@esbuild/android-x64@0.17.19': optional: true '@esbuild/android-x64@0.23.1': optional: true + '@esbuild/android-x64@0.24.0': + optional: true + '@esbuild/darwin-arm64@0.17.19': optional: true '@esbuild/darwin-arm64@0.23.1': optional: true + '@esbuild/darwin-arm64@0.24.0': + optional: true + '@esbuild/darwin-x64@0.17.19': optional: true '@esbuild/darwin-x64@0.23.1': optional: true + '@esbuild/darwin-x64@0.24.0': + optional: true + '@esbuild/freebsd-arm64@0.17.19': optional: true '@esbuild/freebsd-arm64@0.23.1': optional: true + '@esbuild/freebsd-arm64@0.24.0': + optional: true + '@esbuild/freebsd-x64@0.17.19': optional: true '@esbuild/freebsd-x64@0.23.1': optional: true + '@esbuild/freebsd-x64@0.24.0': + optional: true + '@esbuild/linux-arm64@0.17.19': optional: true '@esbuild/linux-arm64@0.23.1': optional: true + '@esbuild/linux-arm64@0.24.0': + optional: true + '@esbuild/linux-arm@0.17.19': optional: true '@esbuild/linux-arm@0.23.1': optional: true + '@esbuild/linux-arm@0.24.0': + optional: true + '@esbuild/linux-ia32@0.17.19': optional: true '@esbuild/linux-ia32@0.23.1': optional: true + '@esbuild/linux-ia32@0.24.0': + optional: true + '@esbuild/linux-loong64@0.17.19': optional: true '@esbuild/linux-loong64@0.23.1': optional: true + '@esbuild/linux-loong64@0.24.0': + optional: true + '@esbuild/linux-mips64el@0.17.19': optional: true '@esbuild/linux-mips64el@0.23.1': optional: true + '@esbuild/linux-mips64el@0.24.0': + optional: true + '@esbuild/linux-ppc64@0.17.19': optional: true '@esbuild/linux-ppc64@0.23.1': optional: true + '@esbuild/linux-ppc64@0.24.0': + optional: true + '@esbuild/linux-riscv64@0.17.19': optional: true '@esbuild/linux-riscv64@0.23.1': optional: true + '@esbuild/linux-riscv64@0.24.0': + optional: true + '@esbuild/linux-s390x@0.17.19': optional: true '@esbuild/linux-s390x@0.23.1': optional: true + '@esbuild/linux-s390x@0.24.0': + optional: true + '@esbuild/linux-x64@0.17.19': optional: true '@esbuild/linux-x64@0.23.1': optional: true + '@esbuild/linux-x64@0.24.0': + optional: true + '@esbuild/netbsd-x64@0.17.19': optional: true '@esbuild/netbsd-x64@0.23.1': optional: true + '@esbuild/netbsd-x64@0.24.0': + optional: true + '@esbuild/openbsd-arm64@0.23.1': optional: true + '@esbuild/openbsd-arm64@0.24.0': + optional: true + '@esbuild/openbsd-x64@0.17.19': optional: true '@esbuild/openbsd-x64@0.23.1': optional: true + '@esbuild/openbsd-x64@0.24.0': + optional: true + '@esbuild/sunos-x64@0.17.19': optional: true '@esbuild/sunos-x64@0.23.1': optional: true + '@esbuild/sunos-x64@0.24.0': + optional: true + '@esbuild/win32-arm64@0.17.19': optional: true '@esbuild/win32-arm64@0.23.1': optional: true + '@esbuild/win32-arm64@0.24.0': + optional: true + '@esbuild/win32-ia32@0.17.19': optional: true '@esbuild/win32-ia32@0.23.1': optional: true + '@esbuild/win32-ia32@0.24.0': + optional: true + '@esbuild/win32-x64@0.17.19': optional: true '@esbuild/win32-x64@0.23.1': optional: true + '@esbuild/win32-x64@0.24.0': + optional: true + '@eslint-community/eslint-utils@4.4.1(eslint@8.57.1)': dependencies: eslint: 8.57.1 @@ -15629,7 +16101,7 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 22.10.1 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -15642,14 +16114,14 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 22.10.1 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.17.9) + jest-config: 29.7.0(@types/node@22.10.1) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -15678,7 +16150,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 22.10.1 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -15696,7 +16168,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.17.9 + '@types/node': 22.10.1 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -15727,7 +16199,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 20.17.9 + '@types/node': 22.10.1 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -15797,7 +16269,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.17.9 + '@types/node': 22.10.1 '@types/yargs': 17.0.33 chalk: 4.1.2 @@ -16718,6 +17190,16 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + '@storybook/blocks@8.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.6)': + dependencies: + '@storybook/csf': 0.1.12 + '@storybook/icons': 1.2.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + storybook: 8.4.6 + ts-dedent: 2.2.0 + optionalDependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + '@storybook/builder-webpack5@8.3.5(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1(webpack@5.94.0))': dependencies: '@storybook/core-webpack': 8.3.5(storybook@8.3.5) @@ -16766,6 +17248,10 @@ snapshots: dependencies: storybook: 8.3.5 + '@storybook/components@8.4.6(storybook@8.4.6)': + dependencies: + storybook: 8.4.6 + '@storybook/core-common@8.4.2(storybook@8.3.5)': dependencies: storybook: 8.3.5 @@ -16800,6 +17286,24 @@ snapshots: - supports-color - utf-8-validate + '@storybook/core@8.4.6': + dependencies: + '@storybook/csf': 0.1.12 + better-opn: 3.0.2 + browser-assert: 1.2.1 + esbuild: 0.24.0 + esbuild-register: 3.6.0(esbuild@0.24.0) + jsdoc-type-pratt-parser: 4.1.0 + process: 0.11.10 + recast: 0.23.9 + semver: 7.6.3 + util: 0.12.5 + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + '@storybook/csf-plugin@8.3.5(storybook@8.3.5)': dependencies: storybook: 8.3.5 @@ -16815,6 +17319,10 @@ snapshots: dependencies: type-fest: 2.19.0 + '@storybook/csf@0.1.12': + dependencies: + type-fest: 2.19.0 + '@storybook/global@5.0.0': {} '@storybook/icons@1.2.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': @@ -16826,6 +17334,10 @@ snapshots: dependencies: storybook: 8.3.5 + '@storybook/manager-api@8.4.6(storybook@8.4.6)': + dependencies: + storybook: 8.4.6 + '@storybook/preset-react-webpack@8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1(webpack@5.94.0))': dependencies: '@storybook/core-webpack': 8.3.5(storybook@8.3.5) @@ -16858,6 +17370,10 @@ snapshots: dependencies: storybook: 8.3.5 + '@storybook/preview-api@8.4.6(storybook@8.4.6)': + dependencies: + storybook: 8.4.6 + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.0.4)(webpack@5.94.0(webpack-cli@4.9.1))': dependencies: debug: 4.3.4 @@ -16878,6 +17394,12 @@ snapshots: react-dom: 18.3.1(react@18.3.1) storybook: 8.3.5 + '@storybook/react-dom-shim@8.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.6)': + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + storybook: 8.4.6 + '@storybook/react-webpack5@8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1(webpack@5.94.0))': dependencies: '@storybook/builder-webpack5': 8.3.5(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1(webpack@5.94.0)) @@ -16926,6 +17448,20 @@ snapshots: optionalDependencies: typescript: 5.0.4 + '@storybook/react@8.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.6)(typescript@5.7.2)': + dependencies: + '@storybook/components': 8.4.6(storybook@8.4.6) + '@storybook/global': 5.0.0 + '@storybook/manager-api': 8.4.6(storybook@8.4.6) + '@storybook/preview-api': 8.4.6(storybook@8.4.6) + '@storybook/react-dom-shim': 8.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.6) + '@storybook/theming': 8.4.6(storybook@8.4.6) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + storybook: 8.4.6 + optionalDependencies: + typescript: 5.7.2 + '@storybook/source-loader@8.3.5(storybook@8.3.5)': dependencies: '@storybook/csf': 0.1.11 @@ -16972,6 +17508,10 @@ snapshots: dependencies: storybook: 8.3.5 + '@storybook/theming@8.4.6(storybook@8.4.6)': + dependencies: + storybook: 8.4.6 + '@svgr/babel-plugin-add-jsx-attribute@7.0.0(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 @@ -17244,24 +17784,24 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 '@types/body-parser@1.19.5': dependencies: @@ -17309,6 +17849,8 @@ snapshots: '@types/d3-time@3.0.0': {} + '@types/d3-voronoi@1.1.12': {} + '@types/debug@4.1.12': dependencies: '@types/ms': 0.7.34 @@ -17344,7 +17886,7 @@ snapshots: '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 20.17.9 + '@types/node': 22.10.1 '@types/gradient-parser@0.1.3': {} @@ -17386,7 +17928,7 @@ snapshots: '@types/jsdom@20.0.1': dependencies: - '@types/node': 20.17.9 + '@types/node': 22.10.1 '@types/tough-cookie': 4.0.5 parse5: 7.2.1 @@ -17454,7 +17996,7 @@ snapshots: '@types/react-dom@18.3.1': dependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.13 '@types/react-redux@7.1.34': dependencies: @@ -17483,6 +18025,11 @@ snapshots: '@types/prop-types': 15.7.13 csstype: 3.1.3 + '@types/react@18.3.13': + dependencies: + '@types/prop-types': 15.7.13 + csstype: 3.1.3 + '@types/resolve@1.20.2': {} '@types/resolve@1.20.6': {} @@ -17664,9 +18211,22 @@ snapshots: '@vercel/ncc@0.36.1': {} + '@visx/annotation@3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@types/react': 18.3.13 + '@visx/drag': 3.12.0(react@18.3.1) + '@visx/group': 3.12.0(react@18.3.1) + '@visx/text': 3.12.0(react@18.3.1) + classnames: 2.5.1 + prop-types: 15.8.1 + react: 18.3.1 + react-use-measure: 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + transitivePeerDependencies: + - react-dom + '@visx/axis@3.12.0(react@18.3.1)': dependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.13 '@visx/group': 3.12.0(react@18.3.1) '@visx/point': 3.12.0 '@visx/scale': 3.12.0 @@ -17676,20 +18236,83 @@ snapshots: prop-types: 15.8.1 react: 18.3.1 + '@visx/bounds@3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@types/react': 18.3.13 + '@types/react-dom': 18.3.1 + prop-types: 15.8.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + '@visx/curve@3.12.0': dependencies: '@types/d3-shape': 1.3.12 d3-shape: 1.3.7 + '@visx/drag@3.12.0(react@18.3.1)': + dependencies: + '@types/react': 18.3.13 + '@visx/event': 3.12.0 + '@visx/point': 3.12.0 + prop-types: 15.8.1 + react: 18.3.1 + + '@visx/event@3.12.0': + dependencies: + '@types/react': 18.3.13 + '@visx/point': 3.12.0 + + '@visx/glyph@3.12.0(react@18.3.1)': + dependencies: + '@types/d3-shape': 1.3.12 + '@types/react': 18.3.13 + '@visx/group': 3.12.0(react@18.3.1) + classnames: 2.5.1 + d3-shape: 1.3.7 + prop-types: 15.8.1 + react: 18.3.1 + + '@visx/grid@3.12.0(react@18.3.1)': + dependencies: + '@types/react': 18.3.13 + '@visx/curve': 3.12.0 + '@visx/group': 3.12.0(react@18.3.1) + '@visx/point': 3.12.0 + '@visx/scale': 3.12.0 + '@visx/shape': 3.12.0(react@18.3.1) + classnames: 2.5.1 + prop-types: 15.8.1 + react: 18.3.1 + '@visx/group@3.12.0(react@18.3.1)': dependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.13 classnames: 2.5.1 prop-types: 15.8.1 react: 18.3.1 '@visx/point@3.12.0': {} + '@visx/react-spring@3.12.0(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-spring/web': 9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@types/react': 18.3.13 + '@visx/axis': 3.12.0(react@18.3.1) + '@visx/grid': 3.12.0(react@18.3.1) + '@visx/scale': 3.12.0 + '@visx/text': 3.12.0(react@18.3.1) + classnames: 2.5.1 + prop-types: 15.8.1 + react: 18.3.1 + + '@visx/responsive@3.12.0(react@18.3.1)': + dependencies: + '@types/lodash': 4.17.13 + '@types/react': 18.3.13 + lodash: 4.17.21 + prop-types: 15.8.1 + react: 18.3.1 + '@visx/scale@3.12.0': dependencies: '@visx/vendor': 3.12.0 @@ -17699,7 +18322,7 @@ snapshots: '@types/d3-path': 1.0.11 '@types/d3-shape': 1.3.12 '@types/lodash': 4.17.13 - '@types/react': 18.3.12 + '@types/react': 18.3.13 '@visx/curve': 3.12.0 '@visx/group': 3.12.0(react@18.3.1) '@visx/scale': 3.12.0 @@ -17713,13 +18336,23 @@ snapshots: '@visx/text@3.12.0(react@18.3.1)': dependencies: '@types/lodash': 4.17.13 - '@types/react': 18.3.12 + '@types/react': 18.3.13 classnames: 2.5.1 lodash: 4.17.21 prop-types: 15.8.1 react: 18.3.1 reduce-css-calc: 1.3.0 + '@visx/tooltip@3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@types/react': 18.3.13 + '@visx/bounds': 3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + classnames: 2.5.1 + prop-types: 15.8.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-use-measure: 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@visx/vendor@3.12.0': dependencies: '@types/d3-array': 3.0.3 @@ -17742,6 +18375,43 @@ snapshots: d3-time-format: 4.1.0 internmap: 2.0.3 + '@visx/voronoi@3.12.0(react@18.3.1)': + dependencies: + '@types/d3-voronoi': 1.1.12 + '@types/react': 18.3.13 + classnames: 2.5.1 + d3-voronoi: 1.1.4 + prop-types: 15.8.1 + react: 18.3.1 + + '@visx/xychart@3.12.0(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-spring/web': 9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@types/lodash': 4.17.13 + '@types/react': 18.3.13 + '@visx/annotation': 3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@visx/axis': 3.12.0(react@18.3.1) + '@visx/event': 3.12.0 + '@visx/glyph': 3.12.0(react@18.3.1) + '@visx/grid': 3.12.0(react@18.3.1) + '@visx/react-spring': 3.12.0(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@visx/responsive': 3.12.0(react@18.3.1) + '@visx/scale': 3.12.0 + '@visx/shape': 3.12.0(react@18.3.1) + '@visx/text': 3.12.0(react@18.3.1) + '@visx/tooltip': 3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@visx/vendor': 3.12.0 + '@visx/voronoi': 3.12.0(react@18.3.1) + classnames: 2.5.1 + d3-interpolate-path: 2.2.1 + d3-shape: 2.1.0 + lodash: 4.17.21 + mitt: 2.1.0 + prop-types: 15.8.1 + react: 18.3.1 + transitivePeerDependencies: + - react-dom + '@webassemblyjs/ast@1.14.1': dependencies: '@webassemblyjs/helper-numbers': 1.13.2 @@ -19709,7 +20379,7 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -19806,7 +20476,7 @@ snapshots: anymatch@3.1.3: dependencies: normalize-path: 3.0.0 - picomatch: 2.2.3 + picomatch: 2.3.1 append-transform@2.0.0: dependencies: @@ -19913,7 +20583,7 @@ snapshots: ast-types@0.16.1: dependencies: - tslib: 2.5.0 + tslib: 2.8.1 async@3.2.6: {} @@ -20027,7 +20697,7 @@ snapshots: babel-plugin-jest-hoist@29.6.3: dependencies: '@babel/template': 7.25.9 - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 @@ -20191,8 +20861,8 @@ snapshots: browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001680 - electron-to-chromium: 1.5.55 + caniuse-lite: 1.0.30001686 + electron-to-chromium: 1.5.69 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -20267,6 +20937,8 @@ snapshots: caniuse-lite@1.0.30001680: {} + caniuse-lite@1.0.30001686: {} + capital-case@1.0.4: dependencies: no-case: 3.0.4 @@ -20693,6 +21365,12 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + crypto-js@4.2.0: {} crypto-random-string@2.0.0: {} @@ -20853,12 +21531,16 @@ snapshots: dependencies: d3-array: 3.2.1 + d3-interpolate-path@2.2.1: {} + d3-interpolate@3.0.1: dependencies: d3-color: 3.1.0 d3-path@1.0.9: {} + d3-path@2.0.0: {} + d3-scale@4.0.2: dependencies: d3-array: 3.2.1 @@ -20871,6 +21553,10 @@ snapshots: dependencies: d3-path: 1.0.9 + d3-shape@2.1.0: + dependencies: + d3-path: 2.0.0 + d3-time-format@4.1.0: dependencies: d3-time: 3.1.0 @@ -20879,6 +21565,8 @@ snapshots: dependencies: d3-array: 3.2.1 + d3-voronoi@1.1.4: {} + damerau-levenshtein@1.0.8: {} data-uri-to-buffer@6.0.2: {} @@ -20982,7 +21670,7 @@ snapshots: dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 - gopd: 1.0.1 + gopd: 1.2.0 define-lazy-prop@2.0.0: {} @@ -21146,6 +21834,8 @@ snapshots: electron-to-chromium@1.5.55: {} + electron-to-chromium@1.5.69: {} + elegant-spinner@1.0.1: {} email-validator@2.0.4: {} @@ -21334,6 +22024,13 @@ snapshots: transitivePeerDependencies: - supports-color + esbuild-register@3.6.0(esbuild@0.24.0): + dependencies: + debug: 4.3.4 + esbuild: 0.24.0 + transitivePeerDependencies: + - supports-color + esbuild@0.17.19: optionalDependencies: '@esbuild/android-arm': 0.17.19 @@ -21386,6 +22083,33 @@ snapshots: '@esbuild/win32-ia32': 0.23.1 '@esbuild/win32-x64': 0.23.1 + esbuild@0.24.0: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.0 + '@esbuild/android-arm': 0.24.0 + '@esbuild/android-arm64': 0.24.0 + '@esbuild/android-x64': 0.24.0 + '@esbuild/darwin-arm64': 0.24.0 + '@esbuild/darwin-x64': 0.24.0 + '@esbuild/freebsd-arm64': 0.24.0 + '@esbuild/freebsd-x64': 0.24.0 + '@esbuild/linux-arm': 0.24.0 + '@esbuild/linux-arm64': 0.24.0 + '@esbuild/linux-ia32': 0.24.0 + '@esbuild/linux-loong64': 0.24.0 + '@esbuild/linux-mips64el': 0.24.0 + '@esbuild/linux-ppc64': 0.24.0 + '@esbuild/linux-riscv64': 0.24.0 + '@esbuild/linux-s390x': 0.24.0 + '@esbuild/linux-x64': 0.24.0 + '@esbuild/netbsd-x64': 0.24.0 + '@esbuild/openbsd-arm64': 0.24.0 + '@esbuild/openbsd-x64': 0.24.0 + '@esbuild/sunos-x64': 0.24.0 + '@esbuild/win32-arm64': 0.24.0 + '@esbuild/win32-ia32': 0.24.0 + '@esbuild/win32-x64': 0.24.0 + escalade@3.2.0: {} escape-html@1.0.3: {} @@ -21761,7 +22485,7 @@ snapshots: execa@5.1.1: dependencies: - cross-spawn: 7.0.5 + cross-spawn: 7.0.6 get-stream: 6.0.1 human-signals: 2.1.0 is-stream: 2.0.1 @@ -22132,8 +22856,8 @@ snapshots: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 + has-proto: 1.1.0 + has-symbols: 1.1.0 hasown: 2.0.2 get-nonce@1.0.1: {} @@ -22266,6 +22990,8 @@ snapshots: dependencies: get-intrinsic: 1.2.4 + gopd@1.2.0: {} + graceful-fs@4.2.11: {} gradient-parser@0.1.5: {} @@ -22295,11 +23021,17 @@ snapshots: has-proto@1.0.3: {} + has-proto@1.1.0: + dependencies: + call-bind: 1.0.7 + has-symbols@1.0.3: {} + has-symbols@1.1.0: {} + has-tostringtag@1.0.2: dependencies: - has-symbols: 1.0.3 + has-symbols: 1.1.0 hasha@5.2.2: dependencies: @@ -22419,7 +23151,7 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -22433,7 +23165,7 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -22684,7 +23416,7 @@ snapshots: is-typed-array@1.1.13: dependencies: - which-typed-array: 1.1.15 + which-typed-array: 1.1.16 is-typedarray@1.0.0: {} @@ -22735,7 +23467,7 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.26.0 - '@babel/parser': 7.26.2 + '@babel/parser': 7.26.3 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -22745,7 +23477,7 @@ snapshots: istanbul-lib-instrument@6.0.3: dependencies: '@babel/core': 7.26.0 - '@babel/parser': 7.26.2 + '@babel/parser': 7.26.3 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 7.6.3 @@ -22769,7 +23501,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.3.4 + debug: 4.3.7 istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -22826,7 +23558,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 22.10.1 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3 @@ -22858,7 +23590,7 @@ snapshots: jest-config: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - yargs: 17.6.2 + yargs: 17.7.2 transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -22877,7 +23609,7 @@ snapshots: jest-config: 29.7.0(@types/node@20.17.9) jest-util: 29.7.0 jest-validate: 29.7.0 - yargs: 17.6.2 + yargs: 17.7.2 transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -22942,6 +23674,36 @@ snapshots: - babel-plugin-macros - supports-color + jest-config@29.7.0(@types/node@22.10.1): + dependencies: + '@babel/core': 7.26.0 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.26.0) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 22.10.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + jest-diff@29.7.0: dependencies: chalk: 4.1.2 @@ -22967,7 +23729,7 @@ snapshots: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/jsdom': 20.0.1 - '@types/node': 20.17.9 + '@types/node': 22.10.1 jest-mock: 29.7.0 jest-util: 29.7.0 jsdom: 20.0.3 @@ -22981,7 +23743,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 22.10.1 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -22998,7 +23760,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.17.9 + '@types/node': 22.10.1 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -23044,7 +23806,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 22.10.1 jest-util: 29.7.0 jest-playwright-preset@4.0.0(jest-circus@29.7.0)(jest-environment-node@29.7.0)(jest-runner@29.7.0)(jest@29.7.0): @@ -23101,7 +23863,7 @@ snapshots: jest-util: 29.7.0 jest-validate: 29.7.0 resolve: 1.22.8 - resolve.exports: 2.0.2 + resolve.exports: 2.0.3 slash: 3.0.0 jest-runner@29.7.0: @@ -23111,7 +23873,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 22.10.1 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -23139,7 +23901,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 22.10.1 chalk: 4.1.2 cjs-module-lexer: 1.4.1 collect-v8-coverage: 1.0.2 @@ -23164,10 +23926,10 @@ snapshots: jest-snapshot@29.7.0: dependencies: '@babel/core': 7.26.0 - '@babel/generator': 7.26.2 + '@babel/generator': 7.26.3 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) - '@babel/types': 7.26.0 + '@babel/types': 7.26.3 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 @@ -23189,11 +23951,11 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 22.10.1 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 - picomatch: 2.2.3 + picomatch: 2.3.1 jest-validate@29.7.0: dependencies: @@ -23219,7 +23981,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 22.10.1 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -23234,7 +23996,7 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 20.17.9 + '@types/node': 22.10.1 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -23310,7 +24072,7 @@ snapshots: http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.13 + nwsapi: 2.2.16 parse5: 7.2.1 saxes: 6.0.0 symbol-tree: 3.2.4 @@ -24040,6 +24802,8 @@ snapshots: minipass@7.1.2: {} + mitt@2.1.0: {} + mitt@3.0.1: {} mkdirp@0.5.6: @@ -24127,7 +24891,7 @@ snapshots: number-is-nan@1.0.1: {} - nwsapi@2.2.13: {} + nwsapi@2.2.16: {} nyc@15.1.0: dependencies: @@ -24863,7 +25627,7 @@ snapshots: proxy-from-env@1.1.0: {} - psl@1.10.0: + psl@1.15.0: dependencies: punycode: 2.3.1 @@ -25209,7 +25973,7 @@ snapshots: esprima: 4.0.1 source-map: 0.6.1 tiny-invariant: 1.3.3 - tslib: 2.5.0 + tslib: 2.8.1 rechoir@0.7.1: dependencies: @@ -25403,6 +26167,8 @@ snapshots: resolve.exports@2.0.2: {} + resolve.exports@2.0.3: {} + resolve@1.22.8: dependencies: is-core-module: 2.15.1 @@ -25623,7 +26389,7 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 - gopd: 1.0.1 + gopd: 1.2.0 has-property-descriptors: 1.0.2 set-function-name@2.0.2: @@ -25845,6 +26611,14 @@ snapshots: - supports-color - utf-8-validate + storybook@8.4.6: + dependencies: + '@storybook/core': 8.4.6 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + streamx@2.20.1: dependencies: fast-fifo: 1.3.2 @@ -26244,7 +27018,7 @@ snapshots: tough-cookie@4.1.4: dependencies: - psl: 1.10.0 + psl: 1.15.0 punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 @@ -26399,6 +27173,8 @@ snapshots: typescript@5.0.4: {} + typescript@5.7.2: {} + uc.micro@2.1.0: {} unbox-primitive@1.0.2: @@ -26577,7 +27353,7 @@ snapshots: is-arguments: 1.1.1 is-generator-function: 1.0.10 is-typed-array: 1.1.13 - which-typed-array: 1.1.15 + which-typed-array: 1.1.16 utila@0.4.0: {} @@ -26804,6 +27580,14 @@ snapshots: gopd: 1.0.1 has-tostringtag: 1.0.2 + which-typed-array@1.1.16: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + which@1.3.1: dependencies: isexe: 2.0.0 diff --git a/projects/js-packages/charts/README.md b/projects/js-packages/charts/README.md index 91add458062f6..9657bc3631c67 100644 --- a/projects/js-packages/charts/README.md +++ b/projects/js-packages/charts/README.md @@ -1,7 +1,15 @@ -# charts +# Automattic Charts Display charts within Automattic products. +## Storybook + +To see available charts, from the root of the monorepo follow these steps: + +1. Run `pnpm install` to install the dependencies. +2. Run `cd projects/js-packages/charts` to navigate to the charts package. +3. Run `pnpm run storybook` to start the storybook server. + ## How to install charts ### Installation From Git Repo diff --git a/projects/js-packages/charts/changelog/add-charts-basic-line b/projects/js-packages/charts/changelog/add-charts-basic-line new file mode 100644 index 0000000000000..d9ac6c96a0e66 --- /dev/null +++ b/projects/js-packages/charts/changelog/add-charts-basic-line @@ -0,0 +1,4 @@ +Significance: patch +Type: added + +Adding new chart type. diff --git a/projects/js-packages/charts/package.json b/projects/js-packages/charts/package.json index 547dcc0f2c995..ed17c4777f8ba 100644 --- a/projects/js-packages/charts/package.json +++ b/projects/js-packages/charts/package.json @@ -16,26 +16,31 @@ "scripts": { "clean": "rm -rf node_modules", "test": "jest --config=tests/jest.config.cjs", - "test-coverage": "pnpm run test --coverage" + "test-coverage": "pnpm run test --coverage", + "storybook": "cd ../storybook && pnpm run storybook:dev" }, "dependencies": { - "@visx/axis": "^3.8.0", - "@visx/group": "^3.8.0", - "@visx/scale": "^3.8.0", - "@visx/shape": "^3.8.0" + "@react-spring/web": "9.7.3", + "@visx/axis": "^3.12.0", + "@visx/group": "^3.12.0", + "@visx/scale": "^3.12.0", + "@visx/shape": "^3.12.0", + "@visx/text": "3.12.0", + "@visx/xychart": "3.12.0", + "clsx": "2.1.1" }, "devDependencies": { + "@storybook/blocks": "8.4.6", + "@storybook/react": "8.4.6", + "@types/react": "18.3.13", + "@types/react-dom": "18.3.1", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", "jest-extended": "4.0.2", - "typescript": "5.0.4", - "@types/react": "18.3.12", - "@types/react-dom": "18.3.1", - "@storybook/react": "8.3.5", - "@storybook/blocks": "8.3.5", - "storybook": "8.3.5", "react": "18.3.1", - "react-dom": "18.3.1" + "react-dom": "18.3.1", + "storybook": "8.4.6", + "typescript": "5.7.2" }, "peerDependencies": { "react": "^17.0.0 || ^18.0.0", diff --git a/projects/js-packages/charts/src/components/bar-chart/index.tsx b/projects/js-packages/charts/src/components/bar-chart/index.tsx index 02288b8e1145e..4a855644c4396 100644 --- a/projects/js-packages/charts/src/components/bar-chart/index.tsx +++ b/projects/js-packages/charts/src/components/bar-chart/index.tsx @@ -2,11 +2,7 @@ import { AxisLeft, AxisBottom } from '@visx/axis'; import { Group } from '@visx/group'; import { scaleBand, scaleLinear } from '@visx/scale'; import { Bar } from '@visx/shape'; - -export interface DataPoint { - label: string; - value: number; -} +import type { DataPoint } from '../shared/types'; type BarChartProps = { data: DataPoint[]; diff --git a/projects/js-packages/charts/src/components/line-chart/index.tsx b/projects/js-packages/charts/src/components/line-chart/index.tsx new file mode 100644 index 0000000000000..c1060d71648fd --- /dev/null +++ b/projects/js-packages/charts/src/components/line-chart/index.tsx @@ -0,0 +1 @@ +export { default as LineChart } from './line-chart'; diff --git a/projects/js-packages/charts/src/components/line-chart/line-chart.module.scss b/projects/js-packages/charts/src/components/line-chart/line-chart.module.scss new file mode 100644 index 0000000000000..2cc6da1a812ee --- /dev/null +++ b/projects/js-packages/charts/src/components/line-chart/line-chart.module.scss @@ -0,0 +1,15 @@ +.line-chart { + position: relative; + + &__tooltip { + padding: 0.5rem; + + &-row { + margin-bottom: 0.25rem; + + &:last-child { + margin-bottom: 0; + } + } + } +} diff --git a/projects/js-packages/charts/src/components/line-chart/line-chart.tsx b/projects/js-packages/charts/src/components/line-chart/line-chart.tsx new file mode 100644 index 0000000000000..c6a87bdaa6b12 --- /dev/null +++ b/projects/js-packages/charts/src/components/line-chart/line-chart.tsx @@ -0,0 +1,162 @@ +import { + XYChart, + AnimatedLineSeries, + AnimatedAxis, + AnimatedGrid, + Tooltip, + buildChartTheme, +} from '@visx/xychart'; +import clsx from 'clsx'; +import { FC } from 'react'; +import styles from './line-chart.module.scss'; +import type { DataPointDate } from '../shared/types'; + +// TODO: revisit grid and axis options - accept as props for frid lines, axis, values: x, y, all, none + +type LineChartProps = { + /** + * Array of data points to display in the chart + */ + data: DataPointDate[]; + /** + * Width of the chart in pixels + */ + width: number; + /** + * Height of the chart in pixels + */ + height: number; + /** + * Chart margins + */ + margin?: { top: number; right: number; bottom: number; left: number }; + /** + * Color of the line + */ + lineColor?: string; +}; + +// TODO: move to a provider +// const customTheme = buildChartTheme( { +// // Customize colors +// colors: [ '#3182ce' ], +// // Customize typography +// // labelStyles: { +// // fill: '#666', +// // fontSize: 12, +// // }, +// // Customize grid styles +// gridStyles: { +// stroke: '#e2e8f0', +// strokeWidth: 1, +// }, +// } ); + +const customTheme = buildChartTheme( { + // colors + backgroundColor: 'lightblue', // used by Tooltip, Annotation + colors: [ '#3182ce' ], // categorical colors, mapped to series via `dataKey`s + + // labels + // svgLabelBig?: SVGTextProps, + // svgLabelSmall?: SVGTextProps, + // htmlLabel?: HTMLTextStyles, + + // lines + // xAxisLineStyles?: LineStyles, + // yAxisLineStyles?: LineStyles, + // xTickLineStyles?: LineStyles, + // yTickLineStyles?: LineStyles, + // tickLength: number, + + // grid + // gridColor: string, + // gridColorDark: string, // used for axis baseline if x/yxAxisLineStyles not set + // gridStyles?: CSSProperties, + gridStyles: { + stroke: '#e2e8f0', + strokeWidth: 1, + }, + tickLength: 0, + gridColor: '', + gridColorDark: '', +} ); + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +const renderTooltip: any = ( { tooltipData } ) => { + // TODO: fix any + const datum = tooltipData?.nearestDatum?.datum; + if ( ! datum ) { + return null; + } + + return ( +
+
+ Date: { datum.date.toLocaleDateString() } +
+
+ Value: { datum.value } +
+
+ ); +}; + +const formatDateTick = ( value: number ) => { + const date = new Date( value ); + return date.toLocaleDateString( undefined, { + month: 'short', + day: 'numeric', + } ); +}; + +// TODO: add support for multiple data sets + +const LineChart: FC< LineChartProps > = ( { + data, + width, + height, + margin = { top: 20, right: 20, bottom: 40, left: 40 }, + lineColor = '#3182ce', +} ) => { + const accessors = { + xAccessor: ( d: DataPointDate ) => d.date, + yAccessor: ( d: DataPointDate ) => d.value, + }; + + // + return ( +
+ + + + + + + + + + +
+ ); +}; + +export default LineChart; diff --git a/projects/js-packages/charts/src/components/line-chart/stories/index.stories.tsx b/projects/js-packages/charts/src/components/line-chart/stories/index.stories.tsx new file mode 100644 index 0000000000000..1ce2430c18365 --- /dev/null +++ b/projects/js-packages/charts/src/components/line-chart/stories/index.stories.tsx @@ -0,0 +1,34 @@ +import { LineChart } from '../index'; +import type { Meta } from '@storybook/react'; + +const data = [ + { date: new Date( '2023-01-01' ), value: 10 }, + { date: new Date( '2023-02-01' ), value: 20 }, + { date: new Date( '2023-03-01' ), value: 15 }, + { date: new Date( '2023-04-01' ), value: 25 }, +]; + +export default { + title: 'JS Packages/Charts/Line Chart', + component: LineChart, + parameters: { + layout: 'centered', + }, + decorators: [ + Story => ( +
+ +
+ ), + ], +} satisfies Meta< typeof LineChart >; + +const Template = args => ; + +export const Default = Template.bind( {} ); +Default.args = { + width: 500, + height: 300, + margin: { top: 20, right: 20, bottom: 30, left: 40 }, + data, +}; diff --git a/projects/js-packages/charts/src/components/pie-semi-circle-chart/index.tsx b/projects/js-packages/charts/src/components/pie-semi-circle-chart/index.tsx new file mode 100644 index 0000000000000..908977c7124ff --- /dev/null +++ b/projects/js-packages/charts/src/components/pie-semi-circle-chart/index.tsx @@ -0,0 +1 @@ +export { default as PieSemiCircleChart } from './pie-semi-circle-chart'; diff --git a/projects/js-packages/charts/src/components/pie-semi-circle-chart/pie-semi-circle-chart.module.scss b/projects/js-packages/charts/src/components/pie-semi-circle-chart/pie-semi-circle-chart.module.scss new file mode 100644 index 0000000000000..6ff61d27acf34 --- /dev/null +++ b/projects/js-packages/charts/src/components/pie-semi-circle-chart/pie-semi-circle-chart.module.scss @@ -0,0 +1,3 @@ +.pie-semi-circle-chart { + position: relative; +} diff --git a/projects/js-packages/charts/src/components/pie-semi-circle-chart/pie-semi-circle-chart.tsx b/projects/js-packages/charts/src/components/pie-semi-circle-chart/pie-semi-circle-chart.tsx new file mode 100644 index 0000000000000..86340e54eea84 --- /dev/null +++ b/projects/js-packages/charts/src/components/pie-semi-circle-chart/pie-semi-circle-chart.tsx @@ -0,0 +1,93 @@ +import { Group } from '@visx/group'; +import { Pie } from '@visx/shape'; +import { Text } from '@visx/text'; +import clsx from 'clsx'; +import { FC } from 'react'; +import styles from './pie-semi-circle-chart.module.scss'; +import type { DataPointPercentage } from '../shared/types'; + +// TODO: convert hard-coded values to props + +interface PieSemiCircleChartProps { + /** + * Array of data points to display in the chart + */ + data: DataPointPercentage[]; + /** + * Width of the chart in pixels + */ + width: number; + /** + * Height of the chart in pixels + */ + height: number; + /** + * Label text to display above the chart + */ + label: string; + /** + * Note text to display below the label + */ + note: string; +} + +const PieSemiCircleChart: FC< PieSemiCircleChartProps > = ( { + data, + width, + height, + label, + note, +} ) => { + const centerX = width / 2; + const centerY = height; + + const accessors = { + value: d => d.value, + sort: ( a, b ) => a.value - b.value, + fill: d => d.data.color, + }; + + return ( +
+ + + + data={ data } + pieValue={ accessors.value } + outerRadius={ 100 } + innerRadius={ 70 } + cornerRadius={ 3 } + padAngle={ 0.03 } + startAngle={ -Math.PI / 2 } + endAngle={ Math.PI / 2 } + pieSort={ accessors.sort } + fill={ accessors.fill } + /> + + + { label } + + + { note } + + + + +
+ ); +}; + +export default PieSemiCircleChart; diff --git a/projects/js-packages/charts/src/components/pie-semi-circle-chart/stories/index.stories.tsx b/projects/js-packages/charts/src/components/pie-semi-circle-chart/stories/index.stories.tsx new file mode 100644 index 0000000000000..5ebd227447aef --- /dev/null +++ b/projects/js-packages/charts/src/components/pie-semi-circle-chart/stories/index.stories.tsx @@ -0,0 +1,52 @@ +import { PieSemiCircleChart } from '../index'; +import type { Meta } from '@storybook/react'; + +const data = [ + { + label: 'Windows', + value: 80000, + valueDisplay: '$80K', + percentage: 2, + color: '#3858E9', + }, + { + label: 'MacOS', + value: 30000, + valueDisplay: '$30K', + percentage: 5, + color: '#80C8FF', + }, + { + label: 'Linux', + value: 22000, + valueDisplay: '$22K', + percentage: 1, + color: '#B999FF', + }, +]; + +export default { + title: 'JS Packages/Charts/Pie Semi Circle Chart', + component: PieSemiCircleChart, + parameters: { + layout: 'centered', + }, + decorators: [ + Story => ( +
+ +
+ ), + ], +} satisfies Meta< typeof PieSemiCircleChart >; + +const Template = args => ; + +export const Default = Template.bind( {} ); +Default.args = { + width: 500, + height: 300, + data, + label: 'OS', + note: 'Windows +10%', +}; diff --git a/projects/js-packages/charts/src/components/shared/types.d.ts b/projects/js-packages/charts/src/components/shared/types.d.ts new file mode 100644 index 0000000000000..c4ced7b65e00c --- /dev/null +++ b/projects/js-packages/charts/src/components/shared/types.d.ts @@ -0,0 +1,32 @@ +export type DataPoint = { + label: string; + value: number; +}; + +export type DataPointDate = { + date: Date; + value: number; +}; + +export type DataPointPercentage = { + /** + * Label for the data point + */ + label: string; + /** + * Numerical value + */ + value: number; + /** + * Formatted value for display + */ + valueDisplay?: string; + /** + * Percentage value + */ + percentage: number; + /** + * Color code for the segment + */ + color?: string; +}; diff --git a/projects/js-packages/charts/src/index.ts b/projects/js-packages/charts/src/index.ts index 434514af8c761..c350cb2fc11b1 100644 --- a/projects/js-packages/charts/src/index.ts +++ b/projects/js-packages/charts/src/index.ts @@ -1,2 +1,4 @@ export { BarChart } from './components/bar-chart'; -export type { DataPoint } from './components/bar-chart'; +export { LineChart } from './components/line-chart'; +export { PieSemiCircleChart } from './components/pie-semi-circle-chart'; +export type * from './components/shared/types'; From df187120971e7e57337ba07adbb566f885316e4e Mon Sep 17 00:00:00 2001 From: Chris Jean Date: Mon, 9 Dec 2024 09:55:14 -0600 Subject: [PATCH 02/87] Forms Block: Fix Broken URL Input Validation (#40490) * Fix: Form Block URL Input Bad Validation The `pattern` attribute for URL input validation does not match the PHP regex used for validating input. This aligns the two types of validation so that they validate or invalidate inputs in the same way. * changelog * Added Jetpack changelog. * Added comments that the two URL validation regex's should be kept in sync. --- .../changelog/fix-form-block-broken-url-input-validation | 4 ++++ .../forms/src/contact-form/class-contact-form-field.php | 4 +++- .../changelog/fix-form-block-broken-url-input-validation | 4 ++++ 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 projects/packages/forms/changelog/fix-form-block-broken-url-input-validation create mode 100644 projects/plugins/jetpack/changelog/fix-form-block-broken-url-input-validation diff --git a/projects/packages/forms/changelog/fix-form-block-broken-url-input-validation b/projects/packages/forms/changelog/fix-form-block-broken-url-input-validation new file mode 100644 index 0000000000000..0e77ccb963690 --- /dev/null +++ b/projects/packages/forms/changelog/fix-form-block-broken-url-input-validation @@ -0,0 +1,4 @@ +Significance: patch +Type: fixed + +Form Block: fixed validation of URL input types to allow query strings. diff --git a/projects/packages/forms/src/contact-form/class-contact-form-field.php b/projects/packages/forms/src/contact-form/class-contact-form-field.php index 7182e2550adaf..332bcc035a885 100644 --- a/projects/packages/forms/src/contact-form/class-contact-form-field.php +++ b/projects/packages/forms/src/contact-form/class-contact-form-field.php @@ -227,6 +227,7 @@ public function validate() { switch ( $field_type ) { case 'url': if ( ! is_string( $field_value ) || empty( $field_value ) || ! preg_match( + // Changes to this regex should be synced with the regex in the render_url_field method of this class as both validate the same input. Note that this regex is in PCRE format. '%^(?:(?:https?|ftp)://)?(?:\S+(?::\S*)?@|\d{1,3}(?:\.\d{1,3}){3}|(?:(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)(?:\.(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)*(?:\.[a-z\x{00a1}-\x{ffff}]{2,6}))(?::\d+)?(?:[^\s]*)?$%iu', $field_value ) ) { @@ -590,7 +591,8 @@ public function render_url_field( $id, $label, $value, $class, $required, $requi 'title' => $custom_validation_message, 'oninvalid' => 'setCustomValidity("' . $custom_validation_message . '")', 'oninput' => 'setCustomValidity("")', - 'pattern' => '(([:\/a-zA-Z0-9_\-]+)?(\.[a-zA-Z0-9_\-\/]+)+)', + // Changes to this regex should be synced with the regex in the URL validation of the validate method of this class as both validate the same input. Note that this regex is in ECMAScript (JS) format. + 'pattern' => '(?:(?:[Hh][Tt][Tt][Pp][Ss]?|[Ff][Tt][Pp]):\/\/)?(?:\S+(?::\S*)?@|\d{1,3}(?:\.\d{1,3}){3}|(?:(?:[a-zA-Z\d\u00a1-\uffff]+-?)*[a-zA-Z\d\u00a1-\uffff]+)(?:\.(?:[a-zA-Z\d\u00a1-\uffff]+-?)*[a-zA-Z\d\u00a1-\uffff]+)*(?:\.[a-zA-Z\u00a1-\uffff]{2,6}))(?::\d+)?(?:[^\s]*)?', 'data-type-override' => 'url', ); diff --git a/projects/plugins/jetpack/changelog/fix-form-block-broken-url-input-validation b/projects/plugins/jetpack/changelog/fix-form-block-broken-url-input-validation new file mode 100644 index 0000000000000..18148f5e92c1e --- /dev/null +++ b/projects/plugins/jetpack/changelog/fix-form-block-broken-url-input-validation @@ -0,0 +1,4 @@ +Significance: patch +Type: bugfix + +Form Block: fixed validation of URL input types to allow query strings. From 48167f7918197ccd9c92a2898c52df75cf4aa42c Mon Sep 17 00:00:00 2001 From: Brad Jorsch Date: Mon, 9 Dec 2024 11:03:48 -0500 Subject: [PATCH 03/87] packages: Fix some JS lints ahead of the eslint 9 upgrade (#40497) To make the eslint 9 upgrade PR smaller, let's fix some of the lints that it'll complain about ahead of time. --- .../update-packages-fix-eslint-9-lints | 5 ++ .../backup/src/js/components/Admin/index.js | 2 - .../Admin/no-backup-capabilities.js | 1 - .../components/backup-video-section/index.jsx | 1 - .../js/components/review-request/index.tsx | 1 - .../update-packages-fix-eslint-9-lints | 5 ++ .../util/register-jetpack-block.js | 1 + .../src/contact-form/js/accessible-form.js | 74 +++++++++---------- .../src/contact-form/js/grunion-admin.js | 24 +++--- .../forms/src/contact-form/js/grunion.js | 6 +- .../src/dashboard/inbox/bulk-actions-menu.js | 2 +- .../inbox/export-modal/google-drive.js | 2 +- .../dashboard/inbox/single-actions-menu.js | 2 +- .../forms/src/dashboard/inbox/util.js | 2 +- .../js/contact-form/contact-form.test.js | 1 + .../update-packages-fix-eslint-9-lints | 5 ++ ...-seen-seller-celebration-modal-context.tsx | 1 - ...s-seen-video-celebration-modal-context.tsx | 1 - .../block-inserter-modifications/src/utils.js | 2 +- .../features/block-theme-previews/modal.jsx | 1 - .../jetpack-global-styles/src/store.js | 2 +- .../wpcom-block-description-links/index.tsx | 3 +- .../src/inline-support-link.tsx | 3 +- .../wpcom-sidebar-notice.js | 2 +- .../jetpack-mu-wpcom/verbum.webpack.config.js | 2 - .../jetpack-mu-wpcom/webpack.config.js | 1 - .../update-packages-fix-eslint-9-lints | 5 ++ .../masterbar/src/admin-menu/admin-menu.js | 2 +- .../connected-product-card/index.tsx | 3 +- .../stories/broken/index.stories.jsx | 2 - .../evaluation-recommendations/index.tsx | 3 +- .../stories/broken/index.stories.jsx | 1 - .../stories/broken/index.stories.jsx | 1 - .../backup-card/index.jsx | 1 - .../stories/broken/index.stories.jsx | 1 - .../stories/broken/index.stories.jsx | 1 - .../stories/broken/index.stories.jsx | 1 - .../_inc/data/products/use-activate.ts | 3 +- .../products/use-install-standalone-plugin.ts | 3 +- .../_inc/data/products/use-product.ts | 3 +- .../products/use-products-by-ownership.ts | 6 +- .../update-packages-fix-eslint-9-lints | 5 ++ .../update-packages-fix-eslint-9-lints | 5 ++ .../src/assets/js/deactivation.ts | 1 - .../update-packages-fix-eslint-9-lints | 5 ++ .../components/sidebar/color-control.jsx | 2 - .../sidebar/excluded-post-types-control.jsx | 4 +- .../components/sidebar/sidebar-options.jsx | 2 - .../customberg/components/sidebar/tabs.jsx | 1 - .../components/sidebar/theme-control.jsx | 2 - .../customberg/hooks/use-search-options.js | 3 +- .../packages/search/src/customberg/index.jsx | 2 +- .../src/dashboard/components/card/index.jsx | 1 - .../components/pages/upsell-page/index.jsx | 1 - .../components/record-meter/notice-box.jsx | 1 - .../store/actions/jetpack-settings.js | 2 +- .../search/src/dashboard/store/resolvers.js | 8 +- .../update-packages-fix-eslint-9-lints | 5 ++ .../components/edit-video-details/index.tsx | 3 +- .../edit-video-details/use-edit-details.ts | 3 +- .../video-thumbnail-selector-modal/index.tsx | 3 +- .../client/block-editor/blocks/video/edit.tsx | 4 +- .../hooks/use-sync-media/index.ts | 3 +- .../hooks/use-resumable-uploader/index.ts | 1 - .../lib/resumable-file-uploader/index.ts | 1 - .../src/client/lib/video-tracks/index.ts | 1 - .../update-packages-fix-eslint-9-lints | 5 ++ .../src/dashboard/components/card/index.jsx | 1 - .../store/actions/jetpack-settings.js | 2 +- .../wordads/src/dashboard/store/resolvers.js | 2 +- 70 files changed, 133 insertions(+), 134 deletions(-) create mode 100644 projects/packages/backup/changelog/update-packages-fix-eslint-9-lints create mode 100644 projects/packages/forms/changelog/update-packages-fix-eslint-9-lints create mode 100644 projects/packages/jetpack-mu-wpcom/changelog/update-packages-fix-eslint-9-lints create mode 100644 projects/packages/masterbar/changelog/update-packages-fix-eslint-9-lints create mode 100644 projects/packages/my-jetpack/changelog/update-packages-fix-eslint-9-lints create mode 100644 projects/packages/plugin-deactivation/changelog/update-packages-fix-eslint-9-lints create mode 100644 projects/packages/search/changelog/update-packages-fix-eslint-9-lints create mode 100644 projects/packages/videopress/changelog/update-packages-fix-eslint-9-lints create mode 100644 projects/packages/wordads/changelog/update-packages-fix-eslint-9-lints diff --git a/projects/packages/backup/changelog/update-packages-fix-eslint-9-lints b/projects/packages/backup/changelog/update-packages-fix-eslint-9-lints new file mode 100644 index 0000000000000..b3176fbef2f88 --- /dev/null +++ b/projects/packages/backup/changelog/update-packages-fix-eslint-9-lints @@ -0,0 +1,5 @@ +Significance: patch +Type: fixed +Comment: Fix some JS lints ahead of eslint 9 upgrade. + + diff --git a/projects/packages/backup/src/js/components/Admin/index.js b/projects/packages/backup/src/js/components/Admin/index.js index c05e00ab609f6..c10aac61a2df4 100644 --- a/projects/packages/backup/src/js/components/Admin/index.js +++ b/projects/packages/backup/src/js/components/Admin/index.js @@ -259,13 +259,11 @@ const ReviewMessage = connectionLoaded => { strong: , } ) } - // eslint-disable-next-line react/jsx-no-bind href={ getRedirectUrl( 'jetpack-backup-new-review' ) } onClick={ trackSendToReview } requestReason={ requestReason } reviewText={ reviewText } dismissedReview={ dismissedReview } - // eslint-disable-next-line react/jsx-no-bind dismissMessage={ dismissMessage } /> diff --git a/projects/packages/backup/src/js/components/Admin/no-backup-capabilities.js b/projects/packages/backup/src/js/components/Admin/no-backup-capabilities.js index ad02966d611ee..4533fd204dbe3 100644 --- a/projects/packages/backup/src/js/components/Admin/no-backup-capabilities.js +++ b/projects/packages/backup/src/js/components/Admin/no-backup-capabilities.js @@ -79,7 +79,6 @@ const NoBackupCapabilities = () => { ctaText={ __( 'Get VaultPress Backup', 'jetpack-backup-pkg' ) } icon="data:image/svg+xml,%3Csvg width='32' height='32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='m21.092 15.164.019-1.703v-.039c0-1.975-1.803-3.866-4.4-3.866-2.17 0-3.828 1.351-4.274 2.943l-.426 1.524-1.581-.065a2.92 2.92 0 0 0-.12-.002c-1.586 0-2.977 1.344-2.977 3.133 0 1.787 1.388 3.13 2.973 3.133H22.399c1.194 0 2.267-1.016 2.267-2.4 0-1.235-.865-2.19-1.897-2.368l-1.677-.29Zm-10.58-3.204a4.944 4.944 0 0 0-.201-.004c-2.75 0-4.978 2.298-4.978 5.133s2.229 5.133 4.978 5.133h12.088c2.357 0 4.267-1.97 4.267-4.4 0-2.18-1.538-3.99-3.556-4.339v-.06c0-3.24-2.865-5.867-6.4-5.867-2.983 0-5.49 1.871-6.199 4.404Z' fill='%23000'/%3E%3C/svg%3E" infoText={ priceAfter === price ? basicInfoText : introductoryInfoText } - // eslint-disable-next-line react/jsx-no-bind onCtaClick={ sendToCart } priceAfter={ priceAfter } priceBefore={ price } diff --git a/projects/packages/backup/src/js/components/backup-video-section/index.jsx b/projects/packages/backup/src/js/components/backup-video-section/index.jsx index 8ddd40d73f2e0..94b6c5af762e1 100644 --- a/projects/packages/backup/src/js/components/backup-video-section/index.jsx +++ b/projects/packages/backup/src/js/components/backup-video-section/index.jsx @@ -66,7 +66,6 @@ const BackupVideoSection = ( { /> - { /* eslint-disable-next-line jsx-a11y/media-has-caption */ }