From 04274909eafb5bfdd1496d0b4dc21afd7e3d9e34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Mon, 13 Jan 2025 20:20:26 +0100 Subject: [PATCH 01/26] chore: color adjustments and fixes --- .../app/debug/ColorGrid/ColorGrid.module.css | 29 ++++ apps/theme/app/debug/ColorGrid/ColorGrid.tsx | 46 ++++++ .../debug/DoubleInput/DoubleInput.module.css | 64 ++++++++ .../app/debug/DoubleInput/DoubleInput.tsx | 60 +++++++ .../app/debug/Sidebar/Sidebar.module.css | 18 +++ apps/theme/app/debug/Sidebar/Sidebar.tsx | 54 +++++++ apps/theme/app/debug/debugStore.ts | 19 +++ apps/theme/app/debug/logic/theme.ts | 153 ++++++++++++++++++ apps/theme/app/debug/page.module.css | 8 + apps/theme/app/debug/page.tsx | 64 ++++++++ packages/cli/src/colors/index.ts | 1 + 11 files changed, 516 insertions(+) create mode 100644 apps/theme/app/debug/ColorGrid/ColorGrid.module.css create mode 100644 apps/theme/app/debug/ColorGrid/ColorGrid.tsx create mode 100644 apps/theme/app/debug/DoubleInput/DoubleInput.module.css create mode 100644 apps/theme/app/debug/DoubleInput/DoubleInput.tsx create mode 100644 apps/theme/app/debug/Sidebar/Sidebar.module.css create mode 100644 apps/theme/app/debug/Sidebar/Sidebar.tsx create mode 100644 apps/theme/app/debug/debugStore.ts create mode 100644 apps/theme/app/debug/logic/theme.ts create mode 100644 apps/theme/app/debug/page.module.css create mode 100644 apps/theme/app/debug/page.tsx diff --git a/apps/theme/app/debug/ColorGrid/ColorGrid.module.css b/apps/theme/app/debug/ColorGrid/ColorGrid.module.css new file mode 100644 index 0000000000..503c538c91 --- /dev/null +++ b/apps/theme/app/debug/ColorGrid/ColorGrid.module.css @@ -0,0 +1,29 @@ +.rows { + display: flex; + flex-direction: column; +} + +.row { + display: flex; + margin-bottom: 12px; +} + +.item { + flex: 1; +} + +.color { + height: 36px; + width: 100%; + border: 4px solid white; + border-top: none; + border-radius: 4px; +} + +.baseColor { + width: 100%; + height: 36px; + border: 4px solid white; + border-bottom: none; + border-radius: 4px; +} diff --git a/apps/theme/app/debug/ColorGrid/ColorGrid.tsx b/apps/theme/app/debug/ColorGrid/ColorGrid.tsx new file mode 100644 index 0000000000..a426a95330 --- /dev/null +++ b/apps/theme/app/debug/ColorGrid/ColorGrid.tsx @@ -0,0 +1,46 @@ +import type { ThemeInfo } from '@/packages/cli/dist/src'; +import classes from './ColorGrid.module.css'; +type ColorGridProps = { + colors: ThemeInfo[][]; + showBase?: boolean; + colorNumber: number; +}; + +type RowProps = { + rowColors: ThemeInfo[]; +}; + +export const ColorGrid = ({ + colors, + showBase = false, + colorNumber, +}: ColorGridProps) => { + const Row = ({ rowColors }: RowProps) => { + return ( +
+ {rowColors.map((rowItem, index) => ( +
+ {showBase && ( +
+ )} +
+
+ ))} +
+ ); + }; + + return ( +
+ {colors.map((item, index) => ( + + ))} +
+ ); +}; diff --git a/apps/theme/app/debug/DoubleInput/DoubleInput.module.css b/apps/theme/app/debug/DoubleInput/DoubleInput.module.css new file mode 100644 index 0000000000..1a84df92c6 --- /dev/null +++ b/apps/theme/app/debug/DoubleInput/DoubleInput.module.css @@ -0,0 +1,64 @@ +.container { + display: flex; + font-size: 16px; + justify-content: space-between; + align-items: center; +} + +.input { + width: 94px; + height: 32px; + font-size: 16px; + position: relative; +} + +.input input { + border-radius: 4px; + border: 1px solid var(--ds-color-neutral-border-default); + padding: 0 8px; + display: block; + height: 100%; + width: 100%; +} + +.btn { + background-color: transparent; + border: none; + position: absolute; + top: 6px; + right: 16px; +} + +.arrows { + display: flex; + flex-direction: column; + position: absolute; + top: 6px; + right: 5px; +} + +.arrow { + background-color: transparent; + height: 10px; + width: 10px; + display: flex; + align-items: center; + justify-content: center; + position: relative; + border: none; +} + +.arrow:hover { + background-color: red; +} + +.arrow svg { + transform: scale(5); + position: absolute; + font-size: 3.5px; +} + +.inputs { + display: flex; + gap: 12px; +} diff --git a/apps/theme/app/debug/DoubleInput/DoubleInput.tsx b/apps/theme/app/debug/DoubleInput/DoubleInput.tsx new file mode 100644 index 0000000000..3368ce7b4f --- /dev/null +++ b/apps/theme/app/debug/DoubleInput/DoubleInput.tsx @@ -0,0 +1,60 @@ +import { + ArrowCirclepathIcon, + ChevronDownIcon, + ChevronUpIcon, +} from '@navikt/aksel-icons'; +import classes from './DoubleInput.module.css'; + +type DoubleInputProps = { + label: string; + valueOne: string; + valueTwo: string; + setValueOne: (value: string, key: string) => void; + setValueTwo: (value: string) => void; +}; + +type InputProps = { + value: string; + setValue: (value: string) => void; +}; + +const Input = ({ value, setValue }: InputProps) => { + return ( +
+ setValue(e.target.value)} + /> + +
+ + +
+
+ ); +}; + +export const DoubleInput = ({ + label, + valueOne, + valueTwo, + setValueOne, + setValueTwo, +}: DoubleInputProps) => { + return ( +
+
{label}
+
+ setValueOne(e, label)} /> + setValueTwo(e, label)} /> +
+
+ ); +}; diff --git a/apps/theme/app/debug/Sidebar/Sidebar.module.css b/apps/theme/app/debug/Sidebar/Sidebar.module.css new file mode 100644 index 0000000000..00fd8b2442 --- /dev/null +++ b/apps/theme/app/debug/Sidebar/Sidebar.module.css @@ -0,0 +1,18 @@ +.sidebar { + background-color: white; + border: 1px solid var(--ds-color-neutral-border-subtle); + z-index: 10; + border-radius: 8px; + position: fixed; + top: 32px; + right: 32px; + bottom: 32px; + width: 400px; + padding: 20px; +} + +.lum { + display: flex; + flex-direction: column; + gap: 16px; +} diff --git a/apps/theme/app/debug/Sidebar/Sidebar.tsx b/apps/theme/app/debug/Sidebar/Sidebar.tsx new file mode 100644 index 0000000000..a5bbc64248 --- /dev/null +++ b/apps/theme/app/debug/Sidebar/Sidebar.tsx @@ -0,0 +1,54 @@ +import { Heading } from '@digdir/designsystemet-react'; +import { useState } from 'react'; +import { DoubleInput } from '../DoubleInput/DoubleInput'; +import { useDebugStore } from '../debugStore'; +import classes from './Sidebar.module.css'; + +export const Sidebar = () => { + const [valueOne, setValueOne] = useState('0.24'); + const [valueTwo, setValueTwo] = useState('0.254'); + const luminance = useDebugStore((state) => state.luminance); + + return ( +
+ Luminance values +
+ {Object.keys(luminance.light).map((key) => { + if (luminance.light[key as keyof typeof luminance.light] === 1) { + return null; + } + return ( +
+ { + const newLuminance = { ...luminance }; + newLuminance.light[key as keyof typeof luminance.light] = + parseFloat(value); + useDebugStore.setState({ + luminance: newLuminance, + }); + }} + setValueTwo={(value) => { + const newLuminance = { ...luminance }; + newLuminance.dark[key as keyof typeof luminance.light] = + parseFloat(value); + useDebugStore.setState({ + luminance: newLuminance, + }); + }} + /> +
+ ); + })} +
+
+ ); +}; diff --git a/apps/theme/app/debug/debugStore.ts b/apps/theme/app/debug/debugStore.ts new file mode 100644 index 0000000000..f128799d7b --- /dev/null +++ b/apps/theme/app/debug/debugStore.ts @@ -0,0 +1,19 @@ +import { luminance } from '@digdir/designsystemet/color'; +import { create } from 'zustand'; +import { subscribeWithSelector } from 'zustand/middleware'; + +export type BaseBorderRadius = number; +type LuminanceType = typeof luminance; +type ColorStore = { + luminance: LuminanceType; + setLightLuminance: (luminance: LuminanceType) => void; + setDarkLuminance: (luminance: LuminanceType) => void; +}; + +export const useDebugStore = create( + subscribeWithSelector((set) => ({ + luminance: luminance, + setLightLuminance: (luminance) => set({ luminance }), + setDarkLuminance: (luminance) => set({ luminance }), + })), +); diff --git a/apps/theme/app/debug/logic/theme.ts b/apps/theme/app/debug/logic/theme.ts new file mode 100644 index 0000000000..9ec7f1adab --- /dev/null +++ b/apps/theme/app/debug/logic/theme.ts @@ -0,0 +1,153 @@ +import type { CssColor } from '@digdir/designsystemet/color'; + +import type { + ColorInfo, + ColorNumber, + ColorScheme, + GlobalColors, + ThemeInfo, +} from '@digdir/designsystemet/color'; +import { + getColorNameFromNumber, + getLightnessFromHex, + getLuminanceFromLightness, +} from '@digdir/designsystemet/color'; +import chroma from 'chroma-js'; + +export const baseColors: Record = { + blue: '#0A71C0', + green: '#068718', + orange: '#B8581D', + purple: '#663299', + red: '#C01B1B', + yellow: '#D4B12F', +}; + +/** + * Generates a color scale based on a base color and a color mode. + * + * @param color The base color that is used to generate the color scale + * @param colorScheme The color scheme to generate a scale for + */ +export const generateColorScale = ( + color: CssColor, + colorScheme: ColorScheme, + luminance: { [x: string]: any } | undefined, +): ColorInfo[] => { + const baseColors = getBaseColors(color, colorScheme); + const luminanceValues = luminance[colorScheme]; + + // Create the color scale based on the luminance values. The chroma().luminance function uses RGB interpolation by default. + const outputArray: ColorInfo[] = Object.entries(luminanceValues).map( + ([key, value], index) => ({ + name: key, + hex: chroma(color).luminance(value).hex() as CssColor, + number: (index + 1) as ColorNumber, + }), + ); + + // Create the special colors with HSLuv lightness rather than relative luminance for better color perception + const specialColors: Omit[] = [ + { hex: baseColors.baseDefault, number: 9 }, + { hex: baseColors.baseHover, number: 10 }, + { hex: baseColors.baseActive, number: 11 }, + { hex: getContrastDefault(baseColors.baseDefault), number: 14 }, + { hex: getContrastSubtle(baseColors.baseDefault), number: 15 }, + ]; + + // Add the special colors to the output array + for (const { hex, number } of specialColors) { + outputArray[number - 1] = { + hex, + number, + name: getColorNameFromNumber(number), + }; + } + + return outputArray; +}; + +/** + * Generates color schemes based on a base color. Light, Dark and Contrast scales are included. + * + * @param color The base color that is used to generate the color schemes + */ +export const generateColorSchemes = ( + color: CssColor, + luminance, +): ThemeInfo => ({ + light: generateColorScale(color, 'light', luminance), + dark: generateColorScale(color, 'dark', luminance), + contrast: generateColorScale(color, 'contrast', luminance), +}); + +/** + * Returns the base colors for a color and color scheme. + * + * @param color The base color as a hex string + * @param colorScheme The color scheme to generate the base colors for + * @returns + */ +const getBaseColors = (color: CssColor, colorScheme: ColorScheme) => { + let colorLightness = getLightnessFromHex(color); + if (colorScheme !== 'light') { + colorLightness = colorLightness <= 30 ? 70 : 100 - colorLightness; + } + + const modifier = + colorLightness <= 30 || (colorLightness >= 49 && colorLightness <= 65) + ? -8 + : 8; + const calculateLightness = (base: number, mod: number) => base - mod; + + return { + baseDefault: + colorScheme === 'light' + ? color + : (chroma(color) + .luminance(getLuminanceFromLightness(colorLightness)) + .hex() as CssColor), + baseHover: chroma(color) + .luminance( + getLuminanceFromLightness(calculateLightness(colorLightness, modifier)), + ) + .hex() as CssColor, + baseActive: chroma(color) + .luminance( + getLuminanceFromLightness( + calculateLightness(colorLightness, modifier * 2), + ), + ) + .hex() as CssColor, + }; +}; + +/** + * Creates the Base Contrast Default color + * + * @param baseColor The base color + */ +export const getContrastDefault = (color: CssColor): CssColor => + chroma.contrast(color, '#ffffff') >= chroma.contrast(color, '#000000') + ? '#ffffff' + : '#000000'; + +/** + * Creates the Base Contrast Subtle color + * + * @param color The base color + */ +export const getContrastSubtle = (color: CssColor): CssColor => { + const contrastWhite = chroma.contrast(color, '#ffffff'); + const contrastBlack = chroma.contrast(color, '#000000'); + const lightness = getLightnessFromHex(color); + const modifier = lightness <= 40 || lightness >= 60 ? 60 : 50; + const targetLightness = + contrastWhite >= contrastBlack + ? lightness + modifier + : lightness - modifier; + + return chroma(color) + .luminance(getLuminanceFromLightness(targetLightness)) + .hex() as CssColor; +}; diff --git a/apps/theme/app/debug/page.module.css b/apps/theme/app/debug/page.module.css new file mode 100644 index 0000000000..1a599dd69d --- /dev/null +++ b/apps/theme/app/debug/page.module.css @@ -0,0 +1,8 @@ +.page { +} + +.content { + position: relative; + padding-left: 32px; + padding-right: 470px; +} diff --git a/apps/theme/app/debug/page.tsx b/apps/theme/app/debug/page.tsx new file mode 100644 index 0000000000..9351cb2d00 --- /dev/null +++ b/apps/theme/app/debug/page.tsx @@ -0,0 +1,64 @@ +'use client'; + +import { Heading } from '@digdir/designsystemet-react'; +import type { CssColor, ThemeInfo } from '@digdir/designsystemet/color'; +import chroma from 'chroma-js'; +import { ColorGrid } from './ColorGrid/ColorGrid'; +import { Sidebar } from './Sidebar/Sidebar'; +import { useDebugStore } from './debugStore'; +import { generateColorSchemes } from './logic/theme'; +import classes from './page.module.css'; + +export default function Home() { + const luminance = useDebugStore((state) => state.luminance); + + const hues = [0, 22, 37, 55, 76, 124, 177, 208, 235, 278, 308]; + const steps = [ + { s: 100, l: 50 }, + { s: 100, l: 40 }, + { s: 100, l: 31 }, + { s: 100, l: 21 }, + { s: 100, l: 63 }, + { s: 62, l: 50 }, + { s: 61, l: 37 }, + { s: 59, l: 23 }, + ]; + + const GetColors = () => { + const themes: ThemeInfo[][] = []; + for (let i = 0; i < hues.length; i++) { + const hue = hues[i]; + const innerThemes = []; + for (let j = 0; j < steps.length; j++) { + const step = steps[j]; + const color = chroma( + hue, + step.s / 100, + step.l / 100, + 'hsl', + ).hex() as CssColor; + + const theme = generateColorSchemes(color, luminance); + + innerThemes.push(theme); + } + themes.push(innerThemes); + } + + return themes; + }; + + return ( +
+
+ Background subtle + + dddd + + dddd + +
+ +
+ ); +} diff --git a/packages/cli/src/colors/index.ts b/packages/cli/src/colors/index.ts index 59dfd41893..bb084d0b25 100644 --- a/packages/cli/src/colors/index.ts +++ b/packages/cli/src/colors/index.ts @@ -1,3 +1,4 @@ export * from './utils.js'; export * from './theme.js'; export * from './types.js'; +export * from './luminance.js'; From 16a3aab75a427c0b93e609d2520be799858ec767 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Tue, 14 Jan 2025 00:51:48 +0100 Subject: [PATCH 02/26] stuff --- .../app/debug/ColorGrid/ColorGrid.module.css | 11 +++-- .../app/debug/DoubleInput/DoubleInput.tsx | 6 +-- .../app/debug/Sidebar/Sidebar.module.css | 4 ++ apps/theme/app/debug/Sidebar/Sidebar.tsx | 12 +++-- apps/theme/app/debug/logic/utils.ts | 48 +++++++++++++++++++ apps/theme/app/debug/page.tsx | 2 +- 6 files changed, 70 insertions(+), 13 deletions(-) create mode 100644 apps/theme/app/debug/logic/utils.ts diff --git a/apps/theme/app/debug/ColorGrid/ColorGrid.module.css b/apps/theme/app/debug/ColorGrid/ColorGrid.module.css index 503c538c91..efffb4e408 100644 --- a/apps/theme/app/debug/ColorGrid/ColorGrid.module.css +++ b/apps/theme/app/debug/ColorGrid/ColorGrid.module.css @@ -10,12 +10,13 @@ .item { flex: 1; + display: flex; } .color { - height: 36px; + height: 42px; width: 100%; - border: 4px solid white; + border: 6px solid white; border-top: none; border-radius: 4px; } @@ -23,7 +24,9 @@ .baseColor { width: 100%; height: 36px; - border: 4px solid white; + margin-right: -6px; border-bottom: none; - border-radius: 4px; + position: relative; + z-index: 2; + margin-bottom: 8px; } diff --git a/apps/theme/app/debug/DoubleInput/DoubleInput.tsx b/apps/theme/app/debug/DoubleInput/DoubleInput.tsx index 3368ce7b4f..e014fe7cee 100644 --- a/apps/theme/app/debug/DoubleInput/DoubleInput.tsx +++ b/apps/theme/app/debug/DoubleInput/DoubleInput.tsx @@ -9,7 +9,7 @@ type DoubleInputProps = { label: string; valueOne: string; valueTwo: string; - setValueOne: (value: string, key: string) => void; + setValueOne: (value: string) => void; setValueTwo: (value: string) => void; }; @@ -52,8 +52,8 @@ export const DoubleInput = ({
{label}
- setValueOne(e, label)} /> - setValueTwo(e, label)} /> + setValueOne(e)} /> + setValueTwo(e)} />
); diff --git a/apps/theme/app/debug/Sidebar/Sidebar.module.css b/apps/theme/app/debug/Sidebar/Sidebar.module.css index 00fd8b2442..b0789b8eed 100644 --- a/apps/theme/app/debug/Sidebar/Sidebar.module.css +++ b/apps/theme/app/debug/Sidebar/Sidebar.module.css @@ -16,3 +16,7 @@ flex-direction: column; gap: 16px; } + +.heading { + margin-bottom: 16px; +} diff --git a/apps/theme/app/debug/Sidebar/Sidebar.tsx b/apps/theme/app/debug/Sidebar/Sidebar.tsx index a5bbc64248..4c6f8bff57 100644 --- a/apps/theme/app/debug/Sidebar/Sidebar.tsx +++ b/apps/theme/app/debug/Sidebar/Sidebar.tsx @@ -1,17 +1,17 @@ import { Heading } from '@digdir/designsystemet-react'; -import { useState } from 'react'; import { DoubleInput } from '../DoubleInput/DoubleInput'; import { useDebugStore } from '../debugStore'; +import { getFullNameFromShort } from '../logic/utils'; import classes from './Sidebar.module.css'; export const Sidebar = () => { - const [valueOne, setValueOne] = useState('0.24'); - const [valueTwo, setValueTwo] = useState('0.254'); const luminance = useDebugStore((state) => state.luminance); return (
- Luminance values + + Luminance values +
{Object.keys(luminance.light).map((key) => { if (luminance.light[key as keyof typeof luminance.light] === 1) { @@ -21,7 +21,9 @@ export const Sidebar = () => {
{ + if (shortName === 'backgroundDefault') { + return 'Background Default'; + } + if (shortName === 'backgroundHover') { + return 'Background Hover'; + } + if (shortName === 'backgroundActive') { + return 'Background Active'; + } + if (shortName === 'backgroundSubtle') { + return 'Background Subtle'; + } + if (shortName === 'surfaceDefault') { + return 'Surface Default'; + } + if (shortName === 'surfaceHover') { + return 'Surface Hover'; + } + if (shortName === 'surfaceActive') { + return 'Surface Active'; + } + if (shortName === 'borderDefault') { + return 'Border Default'; + } + if (shortName === 'borderSubtle') { + return 'Border Subtle'; + } + if (shortName === 'borderStrong') { + return 'Border Strong'; + } + if (shortName === 'baseDefault') { + return 'Base Default'; + } + if (shortName === 'baseHover') { + return 'Base Hover'; + } + if (shortName === 'baseActive') { + return 'Base Active'; + } + if (shortName === 'textDefault') { + return 'Text Default'; + } + if (shortName === 'textSubtle') { + return 'Text Subtle'; + } + return ''; +}; diff --git a/apps/theme/app/debug/page.tsx b/apps/theme/app/debug/page.tsx index 9351cb2d00..a5edcaf464 100644 --- a/apps/theme/app/debug/page.tsx +++ b/apps/theme/app/debug/page.tsx @@ -56,7 +56,7 @@ export default function Home() { dddd dddd - +
From 0b2b9f50cdacffb8779d8f4b1b4e4e038df74b51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Tue, 14 Jan 2025 15:22:19 +0100 Subject: [PATCH 03/26] STUFFFFFFFFFF --- .../app/debug/ColorGrid/ColorGrid.module.css | 10 +- apps/theme/app/debug/ColorGrid/ColorGrid.tsx | 16 +- .../ContrastTests/ContrastTests.module.css | 0 .../app/debug/ContrastTests/ContrastTests.tsx | 9 ++ .../debug/DoubleInput/DoubleInput.module.css | 35 +++- .../app/debug/DoubleInput/DoubleInput.tsx | 34 +++- apps/theme/app/debug/Scales/Scales.module.css | 15 ++ apps/theme/app/debug/Scales/Scales.tsx | 37 +++++ .../app/debug/Sidebar/Sidebar.module.css | 22 ++- apps/theme/app/debug/Sidebar/Sidebar.tsx | 149 +++++++++++++----- apps/theme/app/debug/debugStore.ts | 18 ++- apps/theme/app/debug/logic/theme.ts | 45 +++++- apps/theme/app/debug/page.module.css | 5 + apps/theme/app/debug/page.tsx | 52 ++++-- 14 files changed, 364 insertions(+), 83 deletions(-) create mode 100644 apps/theme/app/debug/ContrastTests/ContrastTests.module.css create mode 100644 apps/theme/app/debug/ContrastTests/ContrastTests.tsx create mode 100644 apps/theme/app/debug/Scales/Scales.module.css create mode 100644 apps/theme/app/debug/Scales/Scales.tsx diff --git a/apps/theme/app/debug/ColorGrid/ColorGrid.module.css b/apps/theme/app/debug/ColorGrid/ColorGrid.module.css index efffb4e408..21d605c721 100644 --- a/apps/theme/app/debug/ColorGrid/ColorGrid.module.css +++ b/apps/theme/app/debug/ColorGrid/ColorGrid.module.css @@ -6,6 +6,7 @@ .row { display: flex; margin-bottom: 12px; + margin-left: -4px; } .item { @@ -14,7 +15,7 @@ } .color { - height: 42px; + height: 44px; width: 100%; border: 6px solid white; border-top: none; @@ -23,10 +24,15 @@ .baseColor { width: 100%; - height: 36px; + height: 38px; margin-right: -6px; border-bottom: none; position: relative; z-index: 2; margin-bottom: 8px; } + +.checkbox { + margin-top: 4px; + margin-bottom: 24px; +} diff --git a/apps/theme/app/debug/ColorGrid/ColorGrid.tsx b/apps/theme/app/debug/ColorGrid/ColorGrid.tsx index a426a95330..beae151b90 100644 --- a/apps/theme/app/debug/ColorGrid/ColorGrid.tsx +++ b/apps/theme/app/debug/ColorGrid/ColorGrid.tsx @@ -1,4 +1,6 @@ import type { ThemeInfo } from '@/packages/cli/dist/src'; +import { Checkbox } from '@digdir/designsystemet-react'; +import { useState } from 'react'; import classes from './ColorGrid.module.css'; type ColorGridProps = { colors: ThemeInfo[][]; @@ -10,11 +12,9 @@ type RowProps = { rowColors: ThemeInfo[]; }; -export const ColorGrid = ({ - colors, - showBase = false, - colorNumber, -}: ColorGridProps) => { +export const ColorGrid = ({ colors, colorNumber }: ColorGridProps) => { + const [showBase, setShowBase] = useState(false); + const Row = ({ rowColors }: RowProps) => { return (
@@ -38,6 +38,12 @@ export const ColorGrid = ({ return (
+ setShowBase(e.target.checked)} + className={classes.checkbox} + /> {colors.map((item, index) => ( ))} diff --git a/apps/theme/app/debug/ContrastTests/ContrastTests.module.css b/apps/theme/app/debug/ContrastTests/ContrastTests.module.css new file mode 100644 index 0000000000..e69de29bb2 diff --git a/apps/theme/app/debug/ContrastTests/ContrastTests.tsx b/apps/theme/app/debug/ContrastTests/ContrastTests.tsx new file mode 100644 index 0000000000..18c0a4cb41 --- /dev/null +++ b/apps/theme/app/debug/ContrastTests/ContrastTests.tsx @@ -0,0 +1,9 @@ +import classes from './ContrastTests.module.css'; + +export const ContrastTests = () => { + return ( +
+
Test
+
+ ); +}; diff --git a/apps/theme/app/debug/DoubleInput/DoubleInput.module.css b/apps/theme/app/debug/DoubleInput/DoubleInput.module.css index 1a84df92c6..6d4b906bfb 100644 --- a/apps/theme/app/debug/DoubleInput/DoubleInput.module.css +++ b/apps/theme/app/debug/DoubleInput/DoubleInput.module.css @@ -6,12 +6,18 @@ } .input { - width: 94px; + width: 96px; height: 32px; font-size: 16px; position: relative; } +.activeInput input { + border: 1px solid rgb(0, 110, 255); + outline: 1px solid #006eff; + background-color: #eff6ff; +} + .input input { border-radius: 4px; border: 1px solid var(--ds-color-neutral-border-default); @@ -25,22 +31,37 @@ background-color: transparent; border: none; position: absolute; - top: 6px; - right: 16px; + top: 4px; + right: 20px; + height: 24px; + width: 24px; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + border-radius: 50%; +} + +.btn svg { + transform: scale(1.5); +} + +.btn:hover { + background-color: rgb(196, 209, 255); } .arrows { display: flex; flex-direction: column; position: absolute; - top: 6px; + top: 2px; right: 5px; } .arrow { background-color: transparent; - height: 10px; - width: 10px; + height: 14px; + width: 14px; display: flex; align-items: center; justify-content: center; @@ -49,7 +70,7 @@ } .arrow:hover { - background-color: red; + background-color: rgb(196, 209, 255); } .arrow svg { diff --git a/apps/theme/app/debug/DoubleInput/DoubleInput.tsx b/apps/theme/app/debug/DoubleInput/DoubleInput.tsx index e014fe7cee..018faaf27e 100644 --- a/apps/theme/app/debug/DoubleInput/DoubleInput.tsx +++ b/apps/theme/app/debug/DoubleInput/DoubleInput.tsx @@ -3,14 +3,16 @@ import { ChevronDownIcon, ChevronUpIcon, } from '@navikt/aksel-icons'; +import cl from 'clsx/lite'; +import { useState } from 'react'; import classes from './DoubleInput.module.css'; type DoubleInputProps = { label: string; valueOne: string; - valueTwo: string; + valueTwo?: string; setValueOne: (value: string) => void; - setValueTwo: (value: string) => void; + setValueTwo?: (value: string) => void; }; type InputProps = { @@ -19,14 +21,32 @@ type InputProps = { }; const Input = ({ value, setValue }: InputProps) => { + const [oldValue, setOldValue] = useState(value); + const [newValue, setNewValue] = useState(value); + return ( -
+
setValue(e.target.value)} + value={newValue} + onChange={(e) => { + setValue(e.target.value); + setNewValue(e.target.value); + }} /> -
@@ -53,7 +73,9 @@ export const DoubleInput = ({
{label}
setValueOne(e)} /> - setValueTwo(e)} /> + {valueTwo && setValueTwo && ( + setValueTwo(e)} /> + )}
); diff --git a/apps/theme/app/debug/Scales/Scales.module.css b/apps/theme/app/debug/Scales/Scales.module.css new file mode 100644 index 0000000000..3f26cd2436 --- /dev/null +++ b/apps/theme/app/debug/Scales/Scales.module.css @@ -0,0 +1,15 @@ +.scales { + display: flex; + flex-direction: column; +} + +.scale { + display: flex; + margin-bottom: 12px; + border: 1px solid rgb(206, 206, 206); +} + +.color { + flex: 1; + height: 64px; +} diff --git a/apps/theme/app/debug/Scales/Scales.tsx b/apps/theme/app/debug/Scales/Scales.tsx new file mode 100644 index 0000000000..93d3722830 --- /dev/null +++ b/apps/theme/app/debug/Scales/Scales.tsx @@ -0,0 +1,37 @@ +import type { ThemeInfo } from '@digdir/designsystemet/color'; +import { useDebugStore } from '../debugStore'; +import classes from './Scales.module.css'; + +export const Scales = () => { + const colorScales = useDebugStore((state) => state.colorScales); + + type ScaleProps = { + scale: ThemeInfo; + }; + + const Scale = ({ scale }) => { + return ( +
+ {scale.light.map((color, index) => ( +
+ ))} +
+ ); + }; + + return ( +
+ {colorScales.map((innerScales, index) => ( +
+ {innerScales.map((scale, index) => ( + + ))} +
+ ))} +
+ ); +}; diff --git a/apps/theme/app/debug/Sidebar/Sidebar.module.css b/apps/theme/app/debug/Sidebar/Sidebar.module.css index b0789b8eed..d5fa39d24e 100644 --- a/apps/theme/app/debug/Sidebar/Sidebar.module.css +++ b/apps/theme/app/debug/Sidebar/Sidebar.module.css @@ -7,11 +7,14 @@ top: 32px; right: 32px; bottom: 32px; - width: 400px; + width: 420px; padding: 20px; + display: flex; + gap: 20px; + flex-direction: column; } -.lum { +.group { display: flex; flex-direction: column; gap: 16px; @@ -20,3 +23,18 @@ .heading { margin-bottom: 16px; } + +.select { + display: flex; + font-size: 16px; + align-items: center; + justify-content: space-between; +} + +.select .field { + width: 200px; +} + +.select select { + height: 32px; +} diff --git a/apps/theme/app/debug/Sidebar/Sidebar.tsx b/apps/theme/app/debug/Sidebar/Sidebar.tsx index 4c6f8bff57..7e4c40f892 100644 --- a/apps/theme/app/debug/Sidebar/Sidebar.tsx +++ b/apps/theme/app/debug/Sidebar/Sidebar.tsx @@ -1,4 +1,5 @@ -import { Heading } from '@digdir/designsystemet-react'; +import { Field, Heading, Select } from '@digdir/designsystemet-react'; +import type { InterpolationMode } from 'chroma-js'; import { DoubleInput } from '../DoubleInput/DoubleInput'; import { useDebugStore } from '../debugStore'; import { getFullNameFromShort } from '../logic/utils'; @@ -7,49 +8,115 @@ import classes from './Sidebar.module.css'; export const Sidebar = () => { const luminance = useDebugStore((state) => state.luminance); + const setInterpolationMode = useDebugStore( + (state) => state.setInterpolationMode, + ); + const baseModifier = useDebugStore((state) => state.baseModifier); + const setBaseModifier = useDebugStore((state) => state.setBaseModifier); + return (
- - Luminance values - -
- {Object.keys(luminance.light).map((key) => { - if (luminance.light[key as keyof typeof luminance.light] === 1) { - return null; - } - return ( -
- { - const newLuminance = { ...luminance }; - newLuminance.light[key as keyof typeof luminance.light] = - parseFloat(value); - useDebugStore.setState({ - luminance: newLuminance, - }); - }} - setValueTwo={(value) => { - const newLuminance = { ...luminance }; - newLuminance.dark[key as keyof typeof luminance.light] = - parseFloat(value); - useDebugStore.setState({ - luminance: newLuminance, - }); +
+ + Base colors + +
+ {}} + /> + { + console.log(e); + setBaseModifier(parseInt(e)); + }} + /> + {}} + /> + {}} + valueTwo={'69'} + setValueTwo={(e) => {}} + /> +
+
+
+ + Interpolation + +
+
Mode
+
+ + + +
+
+
+ +
+ + Luminance values + +
+ {Object.keys(luminance.light).map((key) => { + if (luminance.light[key as keyof typeof luminance.light] === 1) { + return null; + } + return ( +
+ { + const newLuminance = { ...luminance }; + newLuminance.light[key as keyof typeof luminance.light] = + parseFloat(value); + useDebugStore.setState({ + luminance: newLuminance, + }); + }} + setValueTwo={(value) => { + const newLuminance = { ...luminance }; + newLuminance.dark[key as keyof typeof luminance.light] = + parseFloat(value); + useDebugStore.setState({ + luminance: newLuminance, + }); + }} + /> +
+ ); + })} +
); diff --git a/apps/theme/app/debug/debugStore.ts b/apps/theme/app/debug/debugStore.ts index f128799d7b..c5bac78fd0 100644 --- a/apps/theme/app/debug/debugStore.ts +++ b/apps/theme/app/debug/debugStore.ts @@ -1,11 +1,19 @@ -import { luminance } from '@digdir/designsystemet/color'; +import { type ThemeInfo, luminance } from '@digdir/designsystemet/color'; +import type { InterpolationMode } from 'chroma-js'; import { create } from 'zustand'; import { subscribeWithSelector } from 'zustand/middleware'; export type BaseBorderRadius = number; type LuminanceType = typeof luminance; type ColorStore = { + referenceLuminance: LuminanceType; luminance: LuminanceType; + interpolationMode: InterpolationMode; + colorScales: ThemeInfo[][]; + baseModifier: number; + setBaseModifier: (baseModifier: number) => void; + setColorScales: (colorScales: ThemeInfo[][]) => void; + setInterpolationMode: (interpolationMode: InterpolationMode) => void; setLightLuminance: (luminance: LuminanceType) => void; setDarkLuminance: (luminance: LuminanceType) => void; }; @@ -13,6 +21,14 @@ type ColorStore = { export const useDebugStore = create( subscribeWithSelector((set) => ({ luminance: luminance, + referenceLuminance: luminance, + interpolationMode: 'rgb', + colorScales: [], + baseModifier: 8, + setBaseModifier: (baseModifier) => set({ baseModifier }), + setColorScales: (colorScales) => set({ colorScales }), + setInterpolationMode: (interpolationMode: InterpolationMode) => + set({ interpolationMode }), setLightLuminance: (luminance) => set({ luminance }), setDarkLuminance: (luminance) => set({ luminance }), })), diff --git a/apps/theme/app/debug/logic/theme.ts b/apps/theme/app/debug/logic/theme.ts index 9ec7f1adab..9fe7067e5b 100644 --- a/apps/theme/app/debug/logic/theme.ts +++ b/apps/theme/app/debug/logic/theme.ts @@ -23,6 +23,23 @@ export const baseColors: Record = { yellow: '#D4B12F', }; +export const ThemeSettings = { + baseModifier: 8, + interpolationMode: 'rgb', +}; + +export type InterpolationMode = + | 'rgb' + | 'hsl' + | 'hsv' + | 'hsi' + | 'lab' + | 'oklab' + | 'lch' + | 'oklch' + | 'hcl' + | 'lrgb'; + /** * Generates a color scale based on a base color and a color mode. * @@ -33,15 +50,22 @@ export const generateColorScale = ( color: CssColor, colorScheme: ColorScheme, luminance: { [x: string]: any } | undefined, + themeSettings: { baseModifier: number; interpolationMode: InterpolationMode }, ): ColorInfo[] => { - const baseColors = getBaseColors(color, colorScheme); + const baseColors = getBaseColors( + color, + colorScheme, + themeSettings.baseModifier, + ); const luminanceValues = luminance[colorScheme]; // Create the color scale based on the luminance values. The chroma().luminance function uses RGB interpolation by default. const outputArray: ColorInfo[] = Object.entries(luminanceValues).map( ([key, value], index) => ({ name: key, - hex: chroma(color).luminance(value).hex() as CssColor, + hex: chroma(color) + .luminance(value, themeSettings.interpolationMode) + .hex() as CssColor, number: (index + 1) as ColorNumber, }), ); @@ -75,10 +99,11 @@ export const generateColorScale = ( export const generateColorSchemes = ( color: CssColor, luminance, + themeSettings, ): ThemeInfo => ({ - light: generateColorScale(color, 'light', luminance), - dark: generateColorScale(color, 'dark', luminance), - contrast: generateColorScale(color, 'contrast', luminance), + light: generateColorScale(color, 'light', luminance, themeSettings), + dark: generateColorScale(color, 'dark', luminance, themeSettings), + contrast: generateColorScale(color, 'contrast', luminance, themeSettings), }); /** @@ -88,7 +113,11 @@ export const generateColorSchemes = ( * @param colorScheme The color scheme to generate the base colors for * @returns */ -const getBaseColors = (color: CssColor, colorScheme: ColorScheme) => { +const getBaseColors = ( + color: CssColor, + colorScheme: ColorScheme, + baseModifier: number, +) => { let colorLightness = getLightnessFromHex(color); if (colorScheme !== 'light') { colorLightness = colorLightness <= 30 ? 70 : 100 - colorLightness; @@ -96,8 +125,8 @@ const getBaseColors = (color: CssColor, colorScheme: ColorScheme) => { const modifier = colorLightness <= 30 || (colorLightness >= 49 && colorLightness <= 65) - ? -8 - : 8; + ? -baseModifier + : baseModifier; const calculateLightness = (base: number, mod: number) => base - mod; return { diff --git a/apps/theme/app/debug/page.module.css b/apps/theme/app/debug/page.module.css index 1a599dd69d..9efa293653 100644 --- a/apps/theme/app/debug/page.module.css +++ b/apps/theme/app/debug/page.module.css @@ -6,3 +6,8 @@ padding-left: 32px; padding-right: 470px; } + +.heading { + margin-top: 24px; + margin-bottom: 16px; +} diff --git a/apps/theme/app/debug/page.tsx b/apps/theme/app/debug/page.tsx index a5edcaf464..f449a3b5d0 100644 --- a/apps/theme/app/debug/page.tsx +++ b/apps/theme/app/debug/page.tsx @@ -3,7 +3,10 @@ import { Heading } from '@digdir/designsystemet-react'; import type { CssColor, ThemeInfo } from '@digdir/designsystemet/color'; import chroma from 'chroma-js'; +import { useEffect } from 'react'; import { ColorGrid } from './ColorGrid/ColorGrid'; +import { ContrastTests } from './ContrastTests/ContrastTests'; +import { Scales } from './Scales/Scales'; import { Sidebar } from './Sidebar/Sidebar'; import { useDebugStore } from './debugStore'; import { generateColorSchemes } from './logic/theme'; @@ -11,6 +14,10 @@ import classes from './page.module.css'; export default function Home() { const luminance = useDebugStore((state) => state.luminance); + const interpolationMode = useDebugStore((state) => state.interpolationMode); + const colorScales = useDebugStore((state) => state.colorScales); + const setColorScales = useDebugStore((state) => state.setColorScales); + const baseModifier = useDebugStore((state) => state.baseModifier); const hues = [0, 22, 37, 55, 76, 124, 177, 208, 235, 278, 308]; const steps = [ @@ -24,7 +31,7 @@ export default function Home() { { s: 59, l: 23 }, ]; - const GetColors = () => { + useEffect(() => { const themes: ThemeInfo[][] = []; for (let i = 0; i < hues.length; i++) { const hue = hues[i]; @@ -38,25 +45,48 @@ export default function Home() { 'hsl', ).hex() as CssColor; - const theme = generateColorSchemes(color, luminance); + const theme = generateColorSchemes(color, luminance, { + interpolationMode, + baseModifier, + }); innerThemes.push(theme); } themes.push(innerThemes); } - - return themes; - }; + setColorScales(themes); + }, [luminance, interpolationMode, baseModifier]); return (
- Background subtle - - dddd - - dddd - + Contrast tests + + + Color Scales + + + Background subtle + + + Surface Default + + Surface Hover + + Surface Active + + + Border Subtle + + Border Default + + Border Strong + + + Text Subtle + + Text Default +
From e2271bbde04827f4303eeaf506d253cb38ea01eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Wed, 15 Jan 2025 13:42:11 +0100 Subject: [PATCH 04/26] Stuff --- .../ContrastTests/ContrastTests.module.css | 47 ++++++++ .../app/debug/ContrastTests/ContrastTests.tsx | 102 +++++++++++++++++- .../debug/DoubleInput/DoubleInput.module.css | 34 +----- .../app/debug/DoubleInput/DoubleInput.tsx | 14 +-- .../app/debug/Sidebar/Sidebar.module.css | 11 +- apps/theme/app/debug/Sidebar/Sidebar.tsx | 84 ++++++++++++++- apps/theme/package.json | 2 + yarn.lock | 62 +++++++++++ 8 files changed, 308 insertions(+), 48 deletions(-) diff --git a/apps/theme/app/debug/ContrastTests/ContrastTests.module.css b/apps/theme/app/debug/ContrastTests/ContrastTests.module.css index e69de29bb2..96d367b1cd 100644 --- a/apps/theme/app/debug/ContrastTests/ContrastTests.module.css +++ b/apps/theme/app/debug/ContrastTests/ContrastTests.module.css @@ -0,0 +1,47 @@ +.container { + display: flex; + gap: 24px; + flex-wrap: wrap; +} +.row { + display: flex; + gap: 32px; + width: 100%; +} + +.column { + border: 1px solid rgb(192, 192, 192); + padding: 24px; + border-radius: 8px; + width: 50%; +} +.item { + border-radius: 8px; + font-size: 16px; + display: flex; + align-items: center; + gap: 12px; +} + +.items { + width: 100%; + display: flex; + gap: 16px; + flex-direction: column; + margin-top: 16px; +} + +.itemPassed { +} + +.circle { + background-color: #b0e7b0; + height: 42px; + width: 42px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + font-size: 14px; + font-weight: 500; +} diff --git a/apps/theme/app/debug/ContrastTests/ContrastTests.tsx b/apps/theme/app/debug/ContrastTests/ContrastTests.tsx index 18c0a4cb41..41e5e9ad4d 100644 --- a/apps/theme/app/debug/ContrastTests/ContrastTests.tsx +++ b/apps/theme/app/debug/ContrastTests/ContrastTests.tsx @@ -1,9 +1,109 @@ +import { getContrastFromHex } from '@/packages/cli/dist/src'; +import cl from 'clsx/lite'; +import { useDebugStore } from '../debugStore'; +import { generateColorSchemes } from '../logic/theme'; import classes from './ContrastTests.module.css'; +type ItemProps = { + text: string; + color1: string; + color2: string; + limit: number; +}; + export const ContrastTests = () => { + const luminance = useDebugStore((state) => state.luminance); + const theme = generateColorSchemes('#008000', luminance, { + baseModifier: 8, + interpolationMode: 'rgb', + }); + + const Item = ({ text, color1, color2, limit }: ItemProps) => { + const contrast = getContrastFromHex(color1, color2); + return ( +
limit && classes.itemPassed)}> +
{contrast.toFixed(1)}
+
+
{text}
+
+
+ ); + }; + return (
-
Test
+
+
+
Text Default: Light
+
+ + + + + +
+
+
+
Text Default: Dark
+
+ + + + + +
+
+
); }; diff --git a/apps/theme/app/debug/DoubleInput/DoubleInput.module.css b/apps/theme/app/debug/DoubleInput/DoubleInput.module.css index 6d4b906bfb..199ab39960 100644 --- a/apps/theme/app/debug/DoubleInput/DoubleInput.module.css +++ b/apps/theme/app/debug/DoubleInput/DoubleInput.module.css @@ -6,7 +6,7 @@ } .input { - width: 96px; + width: 85px; height: 32px; font-size: 16px; position: relative; @@ -25,6 +25,7 @@ display: block; height: 100%; width: 100%; + font-size: 15px; } .btn { @@ -32,7 +33,7 @@ border: none; position: absolute; top: 4px; - right: 20px; + right: 6px; height: 24px; width: 24px; display: flex; @@ -50,35 +51,6 @@ background-color: rgb(196, 209, 255); } -.arrows { - display: flex; - flex-direction: column; - position: absolute; - top: 2px; - right: 5px; -} - -.arrow { - background-color: transparent; - height: 14px; - width: 14px; - display: flex; - align-items: center; - justify-content: center; - position: relative; - border: none; -} - -.arrow:hover { - background-color: rgb(196, 209, 255); -} - -.arrow svg { - transform: scale(5); - position: absolute; - font-size: 3.5px; -} - .inputs { display: flex; gap: 12px; diff --git a/apps/theme/app/debug/DoubleInput/DoubleInput.tsx b/apps/theme/app/debug/DoubleInput/DoubleInput.tsx index 018faaf27e..5ef21855bb 100644 --- a/apps/theme/app/debug/DoubleInput/DoubleInput.tsx +++ b/apps/theme/app/debug/DoubleInput/DoubleInput.tsx @@ -1,8 +1,4 @@ -import { - ArrowCirclepathIcon, - ChevronDownIcon, - ChevronUpIcon, -} from '@navikt/aksel-icons'; +import { ArrowCirclepathIcon } from '@navikt/aksel-icons'; import cl from 'clsx/lite'; import { useState } from 'react'; import classes from './DoubleInput.module.css'; @@ -49,14 +45,6 @@ const Input = ({ value, setValue }: InputProps) => { > -
- - -
); }; diff --git a/apps/theme/app/debug/Sidebar/Sidebar.module.css b/apps/theme/app/debug/Sidebar/Sidebar.module.css index d5fa39d24e..9d054a49c9 100644 --- a/apps/theme/app/debug/Sidebar/Sidebar.module.css +++ b/apps/theme/app/debug/Sidebar/Sidebar.module.css @@ -7,7 +7,7 @@ top: 32px; right: 32px; bottom: 32px; - width: 420px; + width: 400px; padding: 20px; display: flex; gap: 20px; @@ -32,9 +32,16 @@ } .select .field { - width: 200px; + width: 183px; } .select select { height: 32px; } + +.rangeOutput { + display: flex; + justify-content: space-evenly; + width: 100%; + font-size: 16px; +} diff --git a/apps/theme/app/debug/Sidebar/Sidebar.tsx b/apps/theme/app/debug/Sidebar/Sidebar.tsx index 7e4c40f892..d66ceb9ff1 100644 --- a/apps/theme/app/debug/Sidebar/Sidebar.tsx +++ b/apps/theme/app/debug/Sidebar/Sidebar.tsx @@ -1,9 +1,13 @@ import { Field, Heading, Select } from '@digdir/designsystemet-react'; import type { InterpolationMode } from 'chroma-js'; + import { DoubleInput } from '../DoubleInput/DoubleInput'; import { useDebugStore } from '../debugStore'; import { getFullNameFromShort } from '../logic/utils'; import classes from './Sidebar.module.css'; +import 'rc-slider/assets/index.css'; +import { useState } from 'react'; +import { Range, getTrackBackground } from 'react-range'; export const Sidebar = () => { const luminance = useDebugStore((state) => state.luminance); @@ -13,13 +17,91 @@ export const Sidebar = () => { ); const baseModifier = useDebugStore((state) => state.baseModifier); const setBaseModifier = useDebugStore((state) => state.setBaseModifier); - + const STEP = 0.2; + const MIN = 0; + const MAX = 100; + const COLORS = ['red', 'black', 'red', 'black']; + const [values, setValues] = useState([30, 45, 69]); return (
Base colors +
Negative modifier luminance range
+
+ setValues(values)} + renderTrack={({ props, children }) => ( +
+
+ {children} +
+
+ )} + renderThumb={({ props, isDragged, index }) => ( +
+ )} + /> +
+
+ {values[0].toFixed(1)} +
+
+ {values[1].toFixed(1)} +
+
+ {values[2].toFixed(1)} +
+
+
=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/3efaefebd1699f9fcdb7008f03f9ecc73eb0c9db69b8a4009fbec1107950ec84b241275503505fa7e77d85fcef62d93934b8a94efb2be44d70d3e889db1070b4 + languageName: node + linkType: hard + +"rc-util@npm:^5.36.0": + version: 5.44.3 + resolution: "rc-util@npm:5.44.3" + dependencies: + "@babel/runtime": "npm:^7.18.3" + react-is: "npm:^18.2.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/d254f339b10d7bb850cf3d792371a3ae569a4d768ceccbd5dc52779ac6edcd2aa2eb94859b10fce782f2baee4fdf5582a3d8a2293208a77edd07309c577e55f8 + languageName: node + linkType: hard + "react-color-palette@npm:^7.3.0": version: 7.3.0 resolution: "react-color-palette@npm:7.3.0" @@ -15071,6 +15114,23 @@ __metadata: languageName: node linkType: hard +"react-is@npm:^18.2.0": + version: 18.3.1 + resolution: "react-is@npm:18.3.1" + checksum: 10/d5f60c87d285af24b1e1e7eaeb123ec256c3c8bdea7061ab3932e3e14685708221bf234ec50b21e10dd07f008f1b966a2730a0ce4ff67905b3872ff2042aec22 + languageName: node + linkType: hard + +"react-range@npm:^1.10.0": + version: 1.10.0 + resolution: "react-range@npm:1.10.0" + peerDependencies: + react: "*" + react-dom: "*" + checksum: 10/dd67d612496f95a246e0faea0fee1b59e4c5ed349ca6c1f8bd0fbcc82537494d5651e0da6f6f17d9a4f6f1efde83db5608b0d0014de088a3113c056daf41fe0e + languageName: node + linkType: hard + "react-refresh@npm:^0.14.2": version: 0.14.2 resolution: "react-refresh@npm:0.14.2" @@ -16972,10 +17032,12 @@ __metadata: chroma-js: "npm:^2.6.0" clsx: "npm:^2.1.1" next: "npm:^14.2.5" + rc-slider: "npm:^11.1.8" react: "npm:^18.3.1" react-color: "npm:^2.19.3" react-color-palette: "npm:^7.3.0" react-dom: "npm:^18.3.1" + react-range: "npm:^1.10.0" recharts: "npm:^2.12.7" zustand: "npm:^4.5.4" languageName: unknown From 91a24bdd39ba14ce527f24977d889de50d4a798c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Thu, 16 Jan 2025 11:31:49 +0100 Subject: [PATCH 05/26] Stuff --- .../app/debug/ColorGrid/ColorGrid.module.css | 7 +- apps/theme/app/debug/ColorGrid/ColorGrid.tsx | 8 +- .../ContrastColors/ContrastColors.module.css | 63 +++ .../debug/ContrastColors/ContrastColors.tsx | 80 ++++ .../ContrastTests/ContrastTests.module.css | 36 +- .../app/debug/ContrastTests/ContrastTests.tsx | 398 +++++++++++++++--- apps/theme/app/debug/Scales/Scales.module.css | 2 +- apps/theme/app/debug/Sidebar/Sidebar.tsx | 161 +++---- apps/theme/app/debug/debugStore.ts | 12 +- apps/theme/app/debug/page.module.css | 9 +- apps/theme/app/debug/page.tsx | 10 +- 11 files changed, 635 insertions(+), 151 deletions(-) create mode 100644 apps/theme/app/debug/ContrastColors/ContrastColors.module.css create mode 100644 apps/theme/app/debug/ContrastColors/ContrastColors.tsx diff --git a/apps/theme/app/debug/ColorGrid/ColorGrid.module.css b/apps/theme/app/debug/ColorGrid/ColorGrid.module.css index 21d605c721..f850c9d2a8 100644 --- a/apps/theme/app/debug/ColorGrid/ColorGrid.module.css +++ b/apps/theme/app/debug/ColorGrid/ColorGrid.module.css @@ -6,7 +6,7 @@ .row { display: flex; margin-bottom: 12px; - margin-left: -4px; + margin-left: -8px; } .item { @@ -36,3 +36,8 @@ margin-top: 4px; margin-bottom: 24px; } + +.grid { + background-color: white; + padding: 24px; +} diff --git a/apps/theme/app/debug/ColorGrid/ColorGrid.tsx b/apps/theme/app/debug/ColorGrid/ColorGrid.tsx index beae151b90..012b8933c3 100644 --- a/apps/theme/app/debug/ColorGrid/ColorGrid.tsx +++ b/apps/theme/app/debug/ColorGrid/ColorGrid.tsx @@ -44,9 +44,11 @@ export const ColorGrid = ({ colors, colorNumber }: ColorGridProps) => { onChange={(e) => setShowBase(e.target.checked)} className={classes.checkbox} /> - {colors.map((item, index) => ( - - ))} +
+ {colors.map((item, index) => ( + + ))} +
); }; diff --git a/apps/theme/app/debug/ContrastColors/ContrastColors.module.css b/apps/theme/app/debug/ContrastColors/ContrastColors.module.css new file mode 100644 index 0000000000..b6b6448e74 --- /dev/null +++ b/apps/theme/app/debug/ContrastColors/ContrastColors.module.css @@ -0,0 +1,63 @@ +.container { + display: flex; + flex-wrap: wrap; + gap: 20px; +} + +.item { + width: 150px; + background-color: white; +} + +.color { + width: 100%; + height: 60px; + display: flex; + gap: 10px; + padding: 10px; +} + +.circle { + height: 22px; + width: 22px; + border-radius: 50%; +} + +.group { + display: flex; + border: 1px solid var(--ds-color-neutral-border-subtle); + margin-bottom: 20px; + border-radius: 4px; + overflow: hidden; +} + +.content { + display: flex; + font-size: 14px; + gap: 10px; + padding: 10px; + flex-wrap: wrap; +} + +.content > div { + width: 46%; +} + +.contrastSection { + display: flex; + gap: 8px; + align-items: center; +} + +.contrastCircle { + height: 14px; + width: 14px; + border-radius: 50%; + border: 1px solid black; + margin-bottom: -1px; +} + +.group .item:nth-child(1) .content, +.group .item:nth-child(2) .content { + border-right: 1px solid rgb(201, 201, 201); +} diff --git a/apps/theme/app/debug/ContrastColors/ContrastColors.tsx b/apps/theme/app/debug/ContrastColors/ContrastColors.tsx new file mode 100644 index 0000000000..580882aac7 --- /dev/null +++ b/apps/theme/app/debug/ContrastColors/ContrastColors.tsx @@ -0,0 +1,80 @@ +import { + type CssColor, + type ThemeInfo, + getContrastFromHex, + getLightnessFromHex, +} from '@digdir/designsystemet/color'; +import chroma from 'chroma-js'; +import { useDebugStore } from '../debugStore'; +import classes from './ContrastColors.module.css'; + +export const ContrastColors = () => { + const colorScales = useDebugStore((state) => state.colorScales); + + const contrastSection = (color1: CssColor, color2: CssColor) => { + const contrast = getContrastFromHex(color1, color2).toFixed(2); + return ( +
+
+
{contrast}
+
+ ); + }; + + const Item = ({ + color, + scheme, + hideSecondCircle, + }: { color: CssColor; scheme: ThemeInfo; hideSecondCircle?: boolean }) => { + return ( +
+
+
+ {!hideSecondCircle && ( +
+ )} +
+
+
Li: {getLightnessFromHex(color).toFixed(1)}
+
Lu: {chroma(color).luminance().toFixed(2)}
+
{contrastSection(color, '#ffffff')}
+
{contrastSection(color, '#000000')}
+
{contrastSection(color, scheme.light[14].hex)}
+
+
+ ); + }; + + return ( +
+ {colorScales.map((outerScales, outerKey) => ( +
+ {outerScales.map((innerScale, key) => ( +
+ + + +
+ ))} +
+ ))} +
+ ); +}; diff --git a/apps/theme/app/debug/ContrastTests/ContrastTests.module.css b/apps/theme/app/debug/ContrastTests/ContrastTests.module.css index 96d367b1cd..a693155276 100644 --- a/apps/theme/app/debug/ContrastTests/ContrastTests.module.css +++ b/apps/theme/app/debug/ContrastTests/ContrastTests.module.css @@ -1,23 +1,24 @@ .container { display: flex; - gap: 24px; + gap: 20px; flex-wrap: wrap; } .row { display: flex; - gap: 32px; + gap: 20px; width: 100%; } .column { border: 1px solid rgb(192, 192, 192); - padding: 24px; + padding: 20px; border-radius: 8px; width: 50%; + background-color: var(--ds-color-neutral-background-default); } .item { border-radius: 8px; - font-size: 16px; + font-size: 15px; display: flex; align-items: center; gap: 12px; @@ -26,18 +27,33 @@ .items { width: 100%; display: flex; - gap: 16px; + gap: 12px; flex-direction: column; margin-top: 16px; } -.itemPassed { +.title { + font-weight: 500; +} + +.header { + display: flex; + justify-content: space-between; + position: relative; + font-weight: 500; +} + +.btn { + font-size: 14px; + position: absolute; + right: 0; + top: 0; } .circle { background-color: #b0e7b0; - height: 42px; - width: 42px; + height: 36px; + width: 36px; border-radius: 50%; display: flex; align-items: center; @@ -45,3 +61,7 @@ font-size: 14px; font-weight: 500; } + +.failed { + background-color: #f8b4b4; +} diff --git a/apps/theme/app/debug/ContrastTests/ContrastTests.tsx b/apps/theme/app/debug/ContrastTests/ContrastTests.tsx index 41e5e9ad4d..48bee41c75 100644 --- a/apps/theme/app/debug/ContrastTests/ContrastTests.tsx +++ b/apps/theme/app/debug/ContrastTests/ContrastTests.tsx @@ -1,30 +1,99 @@ -import { getContrastFromHex } from '@/packages/cli/dist/src'; +import { Button } from '@digdir/designsystemet-react'; +import { + type CssColor, + type ThemeInfo, + getContrastFromHex, +} from '@digdir/designsystemet/color'; +import { CheckmarkIcon, XMarkIcon } from '@navikt/aksel-icons'; +import chroma from 'chroma-js'; import cl from 'clsx/lite'; -import { useDebugStore } from '../debugStore'; +import { useEffect, useState } from 'react'; +import { type LuminanceType, useDebugStore } from '../debugStore'; import { generateColorSchemes } from '../logic/theme'; import classes from './ContrastTests.module.css'; type ItemProps = { text: string; - color1: string; - color2: string; - limit: number; + text2?: string; + error: boolean; +}; + +const generateBaseThemes = (luminance: LuminanceType) => { + const themes = []; + for (let i = 0; i < 1000; i++) { + const color = chroma('#0062BA') + .luminance((i + 1) / 1000) + .hex() as CssColor; + themes.push( + generateColorSchemes(color, luminance, { + baseModifier: 8, + interpolationMode: 'rgb', + }), + ); + } + return themes; }; export const ContrastTests = () => { const luminance = useDebugStore((state) => state.luminance); - const theme = generateColorSchemes('#008000', luminance, { - baseModifier: 8, - interpolationMode: 'rgb', - }); + const theme = useDebugStore((state) => state.colorScale); + const [baseThemes, setBaseThemes] = useState([]); + + useEffect(() => { + setBaseThemes(generateBaseThemes(luminance)); + }, []); + + const onClicky = () => { + setBaseThemes(generateBaseThemes(luminance)); + }; + + const getContrastMessage = ( + num1: number, + num2: number, + contrastLimit: number, + mode: 'light' | 'dark', + ) => { + return ( + 'Minimum ' + + contrastLimit + + ':1 contrast. Value: ' + + getContrastFromHex(theme.light[num1].hex, theme.light[num2].hex).toFixed( + 1, + ) + ); + }; + + const test = ( + num1: number, + num2: number, + contrastLimit: number, + mode: 'light' | 'dark', + ) => { + let passed = 0; + for (let i = 0; i < baseThemes.length; i++) { + const theme = baseThemes[i]; + const contrast = getContrastFromHex( + theme[mode][num1].hex, + theme[mode][num2].hex, + ); + if (contrast > contrastLimit) { + passed++; + } else { + } + } + return passed; + }; - const Item = ({ text, color1, color2, limit }: ItemProps) => { - const contrast = getContrastFromHex(color1, color2); + const Item = ({ text, text2, error }: ItemProps) => { return ( -
limit && classes.itemPassed)}> -
{contrast.toFixed(1)}
+
+
+ {!error && } + {error && } +
-
{text}
+
{text}
+ {text2 &&
{text2}
}
); @@ -34,72 +103,289 @@ export const ContrastTests = () => {
-
Text Default: Light
+
+
Text Default: Light mode
+
+
+ + + + + +
+
+
+
+
Text Default: Dark
+
+ + +
+
+
+
+
+
+
Border Default: Light mode
+
+
-
Text Default: Dark
+
+
Border Default: Dark mode
+
+
+
+
+
+
+
+
Border Strong: Light mode
+
+
+
+
+
+
+
Border Strong: Dark mode
+
+
+ + +
+
+
+
+
+
+
Contrast Default: Light mode
+ +
+
+ + + +
+
+
+
+
Contrast Default: Dark mode
+ +
+
+ + + +
+
+
+
+
+
+
Contrast Subtle: Light mode
+ +
+
+ +
+
+
+
+
Contrast Subtle: Dark mode
+ +
+
diff --git a/apps/theme/app/debug/Scales/Scales.module.css b/apps/theme/app/debug/Scales/Scales.module.css index 3f26cd2436..b9c77cbc07 100644 --- a/apps/theme/app/debug/Scales/Scales.module.css +++ b/apps/theme/app/debug/Scales/Scales.module.css @@ -11,5 +11,5 @@ .color { flex: 1; - height: 64px; + height: 50px; } diff --git a/apps/theme/app/debug/Sidebar/Sidebar.tsx b/apps/theme/app/debug/Sidebar/Sidebar.tsx index d66ceb9ff1..826789ddd9 100644 --- a/apps/theme/app/debug/Sidebar/Sidebar.tsx +++ b/apps/theme/app/debug/Sidebar/Sidebar.tsx @@ -7,7 +7,7 @@ import { getFullNameFromShort } from '../logic/utils'; import classes from './Sidebar.module.css'; import 'rc-slider/assets/index.css'; import { useState } from 'react'; -import { Range, getTrackBackground } from 'react-range'; +import {} from 'react-range'; export const Sidebar = () => { const luminance = useDebugStore((state) => state.luminance); @@ -28,80 +28,7 @@ export const Sidebar = () => { Base colors -
Negative modifier luminance range
-
- setValues(values)} - renderTrack={({ props, children }) => ( -
-
- {children} -
-
- )} - renderThumb={({ props, isDragged, index }) => ( -
- )} - /> -
-
- {values[0].toFixed(1)} -
-
- {values[1].toFixed(1)} -
-
- {values[2].toFixed(1)} -
-
-
+
{ Luminance values
- {Object.keys(luminance.light).map((key) => { - if (luminance.light[key as keyof typeof luminance.light] === 1) { + {Object.keys(luminance.light).map((key, index) => { + if ( + luminance.light[key as keyof typeof luminance.light] === 1 && + index !== 0 + ) { return null; } return ( @@ -203,3 +133,80 @@ export const Sidebar = () => {
); }; + +{ + /*
Negative modifier luminance range
+
+ setValues(values)} + renderTrack={({ props, children }) => ( +
+
+ {children} +
+
+ )} + renderThumb={({ props, isDragged, index }) => ( +
+ )} + /> +
+
+ {values[0].toFixed(1)} +
+
+ {values[1].toFixed(1)} +
+
+ {values[2].toFixed(1)} +
+
+
*/ +} diff --git a/apps/theme/app/debug/debugStore.ts b/apps/theme/app/debug/debugStore.ts index c5bac78fd0..cfcee10063 100644 --- a/apps/theme/app/debug/debugStore.ts +++ b/apps/theme/app/debug/debugStore.ts @@ -1,15 +1,21 @@ -import { type ThemeInfo, luminance } from '@digdir/designsystemet/color'; +import { + type ThemeInfo, + generateColorSchemes, + luminance, +} from '@digdir/designsystemet/color'; import type { InterpolationMode } from 'chroma-js'; import { create } from 'zustand'; import { subscribeWithSelector } from 'zustand/middleware'; export type BaseBorderRadius = number; -type LuminanceType = typeof luminance; +export type LuminanceType = typeof luminance; type ColorStore = { referenceLuminance: LuminanceType; luminance: LuminanceType; interpolationMode: InterpolationMode; colorScales: ThemeInfo[][]; + colorScale: ThemeInfo; + setColorScale: (colorScale: ThemeInfo) => void; baseModifier: number; setBaseModifier: (baseModifier: number) => void; setColorScales: (colorScales: ThemeInfo[][]) => void; @@ -24,9 +30,11 @@ export const useDebugStore = create( referenceLuminance: luminance, interpolationMode: 'rgb', colorScales: [], + colorScale: generateColorSchemes('#008000'), baseModifier: 8, setBaseModifier: (baseModifier) => set({ baseModifier }), setColorScales: (colorScales) => set({ colorScales }), + setColorScale: (colorScale) => set({ colorScale }), setInterpolationMode: (interpolationMode: InterpolationMode) => set({ interpolationMode }), setLightLuminance: (luminance) => set({ luminance }), diff --git a/apps/theme/app/debug/page.module.css b/apps/theme/app/debug/page.module.css index 9efa293653..01391c005b 100644 --- a/apps/theme/app/debug/page.module.css +++ b/apps/theme/app/debug/page.module.css @@ -1,4 +1,9 @@ .page { + background-color: var(--ds-color-neutral-background-subtle); + margin-top: -120px; + z-index: 99; + position: relative; + padding-top: 48px; } .content { @@ -8,6 +13,6 @@ } .heading { - margin-top: 24px; - margin-bottom: 16px; + margin-top: 32px; + margin-bottom: 18px; } diff --git a/apps/theme/app/debug/page.tsx b/apps/theme/app/debug/page.tsx index f449a3b5d0..523923f73e 100644 --- a/apps/theme/app/debug/page.tsx +++ b/apps/theme/app/debug/page.tsx @@ -5,6 +5,7 @@ import type { CssColor, ThemeInfo } from '@digdir/designsystemet/color'; import chroma from 'chroma-js'; import { useEffect } from 'react'; import { ColorGrid } from './ColorGrid/ColorGrid'; +import { ContrastColors } from './ContrastColors/ContrastColors'; import { ContrastTests } from './ContrastTests/ContrastTests'; import { Scales } from './Scales/Scales'; import { Sidebar } from './Sidebar/Sidebar'; @@ -18,7 +19,7 @@ export default function Home() { const colorScales = useDebugStore((state) => state.colorScales); const setColorScales = useDebugStore((state) => state.setColorScales); const baseModifier = useDebugStore((state) => state.baseModifier); - + const setColorScale = useDebugStore((state) => state.setColorScale); const hues = [0, 22, 37, 55, 76, 124, 177, 208, 235, 278, 308]; const steps = [ { s: 100, l: 50 }, @@ -55,14 +56,21 @@ export default function Home() { themes.push(innerThemes); } setColorScales(themes); + setColorScale(themes[0][0]); }, [luminance, interpolationMode, baseModifier]); return (
+ + Color System Debugger + Contrast tests + Base and contrast colors + + Color Scales From 3f017a53795e226a1b5bb0904ff58ceba8f94cf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Thu, 16 Jan 2025 13:30:59 +0100 Subject: [PATCH 06/26] Stuff --- .../ContrastColors/ContrastColors.module.css | 49 +++++++++---- .../debug/ContrastColors/ContrastColors.tsx | 68 +++++++++++++------ .../app/debug/ContrastTests/ContrastTests.tsx | 9 +-- apps/theme/app/debug/Scales/Scales.tsx | 4 +- apps/theme/app/debug/logic/theme.ts | 12 ++-- 5 files changed, 96 insertions(+), 46 deletions(-) diff --git a/apps/theme/app/debug/ContrastColors/ContrastColors.module.css b/apps/theme/app/debug/ContrastColors/ContrastColors.module.css index b6b6448e74..5dad7c46c4 100644 --- a/apps/theme/app/debug/ContrastColors/ContrastColors.module.css +++ b/apps/theme/app/debug/ContrastColors/ContrastColors.module.css @@ -1,7 +1,4 @@ .container { - display: flex; - flex-wrap: wrap; - gap: 20px; } .item { @@ -11,16 +8,29 @@ .color { width: 100%; - height: 60px; + height: 80px; display: flex; gap: 10px; padding: 10px; } .circle { - height: 22px; - width: 22px; - border-radius: 50%; + height: 28px; + width: 50%; + border-radius: 4px; +} + +.groupHeading { + font-size: 20px; + font-weight: 500; + margin-bottom: 16px; + margin-top: 18px; +} + +.groupContainer { + display: flex; + flex-wrap: wrap; + gap: 20px; } .group { @@ -32,20 +42,33 @@ } .content { - display: flex; font-size: 14px; - gap: 10px; + display: flex; + gap: 8px; + flex-direction: column; padding: 10px; - flex-wrap: wrap; } -.content > div { - width: 46%; +.textContent { + display: flex; + width: 100%; + gap: 16px; +} + +.contrastContent { + display: flex; + gap: 16px; +} + +.contrastContent > div { + display: flex; + gap: 6px; + flex-direction: column; } .contrastSection { display: flex; - gap: 8px; + gap: 6px; align-items: center; } diff --git a/apps/theme/app/debug/ContrastColors/ContrastColors.tsx b/apps/theme/app/debug/ContrastColors/ContrastColors.tsx index 580882aac7..bcf04dce5c 100644 --- a/apps/theme/app/debug/ContrastColors/ContrastColors.tsx +++ b/apps/theme/app/debug/ContrastColors/ContrastColors.tsx @@ -10,6 +10,19 @@ import classes from './ContrastColors.module.css'; export const ContrastColors = () => { const colorScales = useDebugStore((state) => state.colorScales); + const colorHeadings = [ + 'Red', + 'Pure Orange', + 'Light Orange', + 'Yellow', + 'Pale Green', + 'Green', + 'Cyan', + 'Blue', + 'Strong Blue', + 'Purple', + 'Pink', + ]; const contrastSection = (color1: CssColor, color2: CssColor) => { const contrast = getContrastFromHex(color1, color2).toFixed(2); @@ -44,11 +57,21 @@ export const ContrastColors = () => { )}
-
Li: {getLightnessFromHex(color).toFixed(1)}
-
Lu: {chroma(color).luminance().toFixed(2)}
-
{contrastSection(color, '#ffffff')}
-
{contrastSection(color, '#000000')}
-
{contrastSection(color, scheme.light[14].hex)}
+
+
Li: {getLightnessFromHex(color).toFixed(1)}
+
Lu: {chroma(color).luminance().toFixed(2)}
+
+
+
+
{contrastSection(color, '#ffffff')}
+
{contrastSection(color, '#000000')}
+
+
+ {!hideSecondCircle && ( +
{contrastSection(color, scheme.light[14].hex)}
+ )} +
+
); @@ -57,22 +80,25 @@ export const ContrastColors = () => { return (
{colorScales.map((outerScales, outerKey) => ( -
- {outerScales.map((innerScale, key) => ( -
- - - -
- ))} +
+
{colorHeadings[outerKey]}
+
+ {outerScales.map((innerScale, key) => ( +
+ + + +
+ ))} +
))}
diff --git a/apps/theme/app/debug/ContrastTests/ContrastTests.tsx b/apps/theme/app/debug/ContrastTests/ContrastTests.tsx index 48bee41c75..18557af942 100644 --- a/apps/theme/app/debug/ContrastTests/ContrastTests.tsx +++ b/apps/theme/app/debug/ContrastTests/ContrastTests.tsx @@ -18,7 +18,7 @@ type ItemProps = { error: boolean; }; -const generateBaseThemes = (luminance: LuminanceType) => { +const generateBaseThemes = (luminance: LuminanceType, baseModifier: number) => { const themes = []; for (let i = 0; i < 1000; i++) { const color = chroma('#0062BA') @@ -26,7 +26,7 @@ const generateBaseThemes = (luminance: LuminanceType) => { .hex() as CssColor; themes.push( generateColorSchemes(color, luminance, { - baseModifier: 8, + baseModifier: baseModifier, interpolationMode: 'rgb', }), ); @@ -38,13 +38,14 @@ export const ContrastTests = () => { const luminance = useDebugStore((state) => state.luminance); const theme = useDebugStore((state) => state.colorScale); const [baseThemes, setBaseThemes] = useState([]); + const baseModifier = useDebugStore((state) => state.baseModifier); useEffect(() => { - setBaseThemes(generateBaseThemes(luminance)); + setBaseThemes(generateBaseThemes(luminance, baseModifier)); }, []); const onClicky = () => { - setBaseThemes(generateBaseThemes(luminance)); + setBaseThemes(generateBaseThemes(luminance, baseModifier)); }; const getContrastMessage = ( diff --git a/apps/theme/app/debug/Scales/Scales.tsx b/apps/theme/app/debug/Scales/Scales.tsx index 93d3722830..3927ff20ca 100644 --- a/apps/theme/app/debug/Scales/Scales.tsx +++ b/apps/theme/app/debug/Scales/Scales.tsx @@ -9,10 +9,10 @@ export const Scales = () => { scale: ThemeInfo; }; - const Scale = ({ scale }) => { + const Scale = ({ scale }: ScaleProps) => { return (
- {scale.light.map((color, index) => ( + {scale.light.map((color: { hex: string }, index: number) => (
> | undefined, themeSettings: { baseModifier: number; interpolationMode: InterpolationMode }, ): ColorInfo[] => { const baseColors = getBaseColors( @@ -57,10 +57,10 @@ export const generateColorScale = ( colorScheme, themeSettings.baseModifier, ); - const luminanceValues = luminance[colorScheme]; + const luminanceValues = luminance?.[colorScheme]; // Create the color scale based on the luminance values. The chroma().luminance function uses RGB interpolation by default. - const outputArray: ColorInfo[] = Object.entries(luminanceValues).map( + const outputArray: ColorInfo[] = Object.entries(luminanceValues ?? {}).map( ([key, value], index) => ({ name: key, hex: chroma(color) @@ -98,8 +98,8 @@ export const generateColorScale = ( */ export const generateColorSchemes = ( color: CssColor, - luminance, - themeSettings, + luminance: Record> | undefined, + themeSettings: { baseModifier: number; interpolationMode: InterpolationMode }, ): ThemeInfo => ({ light: generateColorScale(color, 'light', luminance, themeSettings), dark: generateColorScale(color, 'dark', luminance, themeSettings), @@ -124,7 +124,7 @@ const getBaseColors = ( } const modifier = - colorLightness <= 30 || (colorLightness >= 49 && colorLightness <= 65) + colorLightness <= 30 || (colorLightness >= 49.5 && colorLightness <= 65) ? -baseModifier : baseModifier; const calculateLightness = (base: number, mod: number) => base - mod; From 87b04a4ff601980268606f38c0936d23b9f2742b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Thu, 16 Jan 2025 13:34:06 +0100 Subject: [PATCH 07/26] Stuff --- .../ContrastColors/ContrastColors.module.css | 3 - apps/theme/app/debug/Sidebar/Sidebar.tsx | 77 ------------------- 2 files changed, 80 deletions(-) diff --git a/apps/theme/app/debug/ContrastColors/ContrastColors.module.css b/apps/theme/app/debug/ContrastColors/ContrastColors.module.css index 5dad7c46c4..b92a1755f2 100644 --- a/apps/theme/app/debug/ContrastColors/ContrastColors.module.css +++ b/apps/theme/app/debug/ContrastColors/ContrastColors.module.css @@ -1,6 +1,3 @@ -.container { -} - .item { width: 150px; background-color: white; diff --git a/apps/theme/app/debug/Sidebar/Sidebar.tsx b/apps/theme/app/debug/Sidebar/Sidebar.tsx index 826789ddd9..4e2656b4ce 100644 --- a/apps/theme/app/debug/Sidebar/Sidebar.tsx +++ b/apps/theme/app/debug/Sidebar/Sidebar.tsx @@ -133,80 +133,3 @@ export const Sidebar = () => {
); }; - -{ - /*
Negative modifier luminance range
-
- setValues(values)} - renderTrack={({ props, children }) => ( -
-
- {children} -
-
- )} - renderThumb={({ props, isDragged, index }) => ( -
- )} - /> -
-
- {values[0].toFixed(1)} -
-
- {values[1].toFixed(1)} -
-
- {values[2].toFixed(1)} -
-
-
*/ -} From 72260422ff9315014da4a65896122f6d0a154683 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Thu, 16 Jan 2025 21:00:53 +0100 Subject: [PATCH 08/26] more stuff --- .../app/debug/Sidebar/Sidebar.module.css | 4 +- apps/theme/app/debug/Sidebar/Sidebar.tsx | 68 ++++++++++++++++--- apps/theme/app/debug/debugStore.ts | 11 +-- apps/theme/app/debug/page.module.css | 2 +- 4 files changed, 71 insertions(+), 14 deletions(-) diff --git a/apps/theme/app/debug/Sidebar/Sidebar.module.css b/apps/theme/app/debug/Sidebar/Sidebar.module.css index 9d054a49c9..3c66ef9814 100644 --- a/apps/theme/app/debug/Sidebar/Sidebar.module.css +++ b/apps/theme/app/debug/Sidebar/Sidebar.module.css @@ -7,11 +7,12 @@ top: 32px; right: 32px; bottom: 32px; - width: 400px; + width: 410px; padding: 20px; display: flex; gap: 20px; flex-direction: column; + overflow-y: auto; } .group { @@ -37,6 +38,7 @@ .select select { height: 32px; + padding: 0 8px; } .rangeOutput { diff --git a/apps/theme/app/debug/Sidebar/Sidebar.tsx b/apps/theme/app/debug/Sidebar/Sidebar.tsx index 4e2656b4ce..69a31840ec 100644 --- a/apps/theme/app/debug/Sidebar/Sidebar.tsx +++ b/apps/theme/app/debug/Sidebar/Sidebar.tsx @@ -6,7 +6,7 @@ import { useDebugStore } from '../debugStore'; import { getFullNameFromShort } from '../logic/utils'; import classes from './Sidebar.module.css'; import 'rc-slider/assets/index.css'; -import { useState } from 'react'; + import {} from 'react-range'; export const Sidebar = () => { @@ -17,13 +17,38 @@ export const Sidebar = () => { ); const baseModifier = useDebugStore((state) => state.baseModifier); const setBaseModifier = useDebugStore((state) => state.setBaseModifier); - const STEP = 0.2; - const MIN = 0; - const MAX = 100; - const COLORS = ['red', 'black', 'red', 'black']; - const [values, setValues] = useState([30, 45, 69]); + return (
+
+ + General + +
+
+
Color scheme
+
+ + + +
+
+
+
Test mode
+
+ + + +
+
+
+
Base colors @@ -57,6 +82,30 @@ export const Sidebar = () => { />
+
+ + Contrast Subtle + +
+ {}} + /> + {}} + valueTwo={'60'} + setValueTwo={(e) => {}} + /> + {}} + /> +
+
Interpolation @@ -91,8 +140,11 @@ export const Sidebar = () => {
{Object.keys(luminance.light).map((key, index) => { if ( - luminance.light[key as keyof typeof luminance.light] === 1 && - index !== 0 + index === 8 || + index === 9 || + index === 10 || + index === 13 || + index === 14 ) { return null; } diff --git a/apps/theme/app/debug/debugStore.ts b/apps/theme/app/debug/debugStore.ts index cfcee10063..2d0fd276b3 100644 --- a/apps/theme/app/debug/debugStore.ts +++ b/apps/theme/app/debug/debugStore.ts @@ -12,16 +12,19 @@ export type LuminanceType = typeof luminance; type ColorStore = { referenceLuminance: LuminanceType; luminance: LuminanceType; + setLightLuminance: (luminance: LuminanceType) => void; + setDarkLuminance: (luminance: LuminanceType) => void; interpolationMode: InterpolationMode; + setInterpolationMode: (interpolationMode: InterpolationMode) => void; colorScales: ThemeInfo[][]; + setColorScales: (colorScales: ThemeInfo[][]) => void; colorScale: ThemeInfo; setColorScale: (colorScale: ThemeInfo) => void; baseModifier: number; setBaseModifier: (baseModifier: number) => void; - setColorScales: (colorScales: ThemeInfo[][]) => void; - setInterpolationMode: (interpolationMode: InterpolationMode) => void; - setLightLuminance: (luminance: LuminanceType) => void; - setDarkLuminance: (luminance: LuminanceType) => void; + conSubSettings: { + lightnessMod: string; + }; }; export const useDebugStore = create( diff --git a/apps/theme/app/debug/page.module.css b/apps/theme/app/debug/page.module.css index 01391c005b..33e362610f 100644 --- a/apps/theme/app/debug/page.module.css +++ b/apps/theme/app/debug/page.module.css @@ -9,7 +9,7 @@ .content { position: relative; padding-left: 32px; - padding-right: 470px; + padding-right: 475px; } .heading { From bd32304489367ebce3684bc318ac6326377ff27b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Mon, 20 Jan 2025 08:58:23 +0100 Subject: [PATCH 09/26] Stuff --- .../ColorGrid/ColorGrid.module.css | 0 .../ColorGrid/ColorGrid.tsx | 0 .../ColorSaturation.module.css | 25 ++++ .../ColorSaturation/ColorSaturation.tsx | 51 +++++++ .../ContrastColors/ContrastColors.module.css | 0 .../ContrastColors/ContrastColors.tsx | 0 .../ContrastTests/ContrastTests.module.css | 11 +- .../ContrastTests/ContrastTests.tsx | 70 ++++++++-- .../DoubleInput/DoubleInput.module.css | 0 .../DoubleInput/DoubleInput.tsx | 0 .../RangeBar/RangeBar.module.css | 22 +++ .../app/color-debugger/RangeBar/RangeBar.tsx | 32 +++++ .../Scales/Scales.module.css | 0 .../Scales/Scales.tsx | 0 .../Sidebar/Sidebar.module.css | 4 +- .../Sidebar/Sidebar.tsx | 128 ++++++++++++++---- .../{debug => color-debugger}/debugStore.ts | 60 ++++++-- .../{debug => color-debugger}/logic/theme.ts | 29 ++-- .../{debug => color-debugger}/logic/utils.ts | 0 .../{debug => color-debugger}/page.module.css | 16 ++- .../app/{debug => color-debugger}/page.tsx | 25 +++- apps/theme/package.json | 2 +- yarn.lock | 20 +-- 23 files changed, 404 insertions(+), 91 deletions(-) rename apps/theme/app/{debug => color-debugger}/ColorGrid/ColorGrid.module.css (100%) rename apps/theme/app/{debug => color-debugger}/ColorGrid/ColorGrid.tsx (100%) create mode 100644 apps/theme/app/color-debugger/ColorSaturation/ColorSaturation.module.css create mode 100644 apps/theme/app/color-debugger/ColorSaturation/ColorSaturation.tsx rename apps/theme/app/{debug => color-debugger}/ContrastColors/ContrastColors.module.css (100%) rename apps/theme/app/{debug => color-debugger}/ContrastColors/ContrastColors.tsx (100%) rename apps/theme/app/{debug => color-debugger}/ContrastTests/ContrastTests.module.css (88%) rename apps/theme/app/{debug => color-debugger}/ContrastTests/ContrastTests.tsx (83%) rename apps/theme/app/{debug => color-debugger}/DoubleInput/DoubleInput.module.css (100%) rename apps/theme/app/{debug => color-debugger}/DoubleInput/DoubleInput.tsx (100%) create mode 100644 apps/theme/app/color-debugger/RangeBar/RangeBar.module.css create mode 100644 apps/theme/app/color-debugger/RangeBar/RangeBar.tsx rename apps/theme/app/{debug => color-debugger}/Scales/Scales.module.css (100%) rename apps/theme/app/{debug => color-debugger}/Scales/Scales.tsx (100%) rename apps/theme/app/{debug => color-debugger}/Sidebar/Sidebar.module.css (93%) rename apps/theme/app/{debug => color-debugger}/Sidebar/Sidebar.tsx (57%) rename apps/theme/app/{debug => color-debugger}/debugStore.ts (50%) rename apps/theme/app/{debug => color-debugger}/logic/theme.ts (86%) rename apps/theme/app/{debug => color-debugger}/logic/utils.ts (100%) rename apps/theme/app/{debug => color-debugger}/page.module.css (56%) rename apps/theme/app/{debug => color-debugger}/page.tsx (84%) diff --git a/apps/theme/app/debug/ColorGrid/ColorGrid.module.css b/apps/theme/app/color-debugger/ColorGrid/ColorGrid.module.css similarity index 100% rename from apps/theme/app/debug/ColorGrid/ColorGrid.module.css rename to apps/theme/app/color-debugger/ColorGrid/ColorGrid.module.css diff --git a/apps/theme/app/debug/ColorGrid/ColorGrid.tsx b/apps/theme/app/color-debugger/ColorGrid/ColorGrid.tsx similarity index 100% rename from apps/theme/app/debug/ColorGrid/ColorGrid.tsx rename to apps/theme/app/color-debugger/ColorGrid/ColorGrid.tsx diff --git a/apps/theme/app/color-debugger/ColorSaturation/ColorSaturation.module.css b/apps/theme/app/color-debugger/ColorSaturation/ColorSaturation.module.css new file mode 100644 index 0000000000..bb64b271e2 --- /dev/null +++ b/apps/theme/app/color-debugger/ColorSaturation/ColorSaturation.module.css @@ -0,0 +1,25 @@ +.container { + height: 400px; + width: 100%; +} + +.gradient { + background: linear-gradient( + 90deg, + rgba(255, 0, 0, 1) 0%, + rgba(255, 154, 0, 1) 10%, + rgba(208, 222, 33, 1) 20%, + rgba(79, 220, 74, 1) 30%, + rgba(63, 218, 216, 1) 40%, + rgba(47, 201, 226, 1) 50%, + #1c7fee 60%, + rgba(95, 21, 242, 1) 70%, + rgba(186, 12, 248, 1) 80%, + #fb07d9 90%, + rgba(255, 0, 0, 1) 100% + ); + + height: 25px; + width: calc(100% - 34px); + margin-left: 34px; +} diff --git a/apps/theme/app/color-debugger/ColorSaturation/ColorSaturation.tsx b/apps/theme/app/color-debugger/ColorSaturation/ColorSaturation.tsx new file mode 100644 index 0000000000..58717adf6e --- /dev/null +++ b/apps/theme/app/color-debugger/ColorSaturation/ColorSaturation.tsx @@ -0,0 +1,51 @@ +import { + CartesianGrid, + Line, + LineChart, + ResponsiveContainer, + YAxis, +} from 'recharts'; +import classes from './ColorSaturation.module.css'; + +export const ColorSaturation = () => { + const test = () => { + const data = []; + for (let i = 0; i < 360; i++) { + const obj = { + name: 'ff', + pv: 1, + }; + if (i % 10 === 0) { + obj.pv = 4; + } + data.push(obj); + } + + return data; + }; + + const data = test(); + + return ( +
+
+ + + + + + + + + +
+
+
+ ); +}; diff --git a/apps/theme/app/debug/ContrastColors/ContrastColors.module.css b/apps/theme/app/color-debugger/ContrastColors/ContrastColors.module.css similarity index 100% rename from apps/theme/app/debug/ContrastColors/ContrastColors.module.css rename to apps/theme/app/color-debugger/ContrastColors/ContrastColors.module.css diff --git a/apps/theme/app/debug/ContrastColors/ContrastColors.tsx b/apps/theme/app/color-debugger/ContrastColors/ContrastColors.tsx similarity index 100% rename from apps/theme/app/debug/ContrastColors/ContrastColors.tsx rename to apps/theme/app/color-debugger/ContrastColors/ContrastColors.tsx diff --git a/apps/theme/app/debug/ContrastTests/ContrastTests.module.css b/apps/theme/app/color-debugger/ContrastTests/ContrastTests.module.css similarity index 88% rename from apps/theme/app/debug/ContrastTests/ContrastTests.module.css rename to apps/theme/app/color-debugger/ContrastTests/ContrastTests.module.css index a693155276..ef5e73e1ec 100644 --- a/apps/theme/app/debug/ContrastTests/ContrastTests.module.css +++ b/apps/theme/app/color-debugger/ContrastTests/ContrastTests.module.css @@ -10,7 +10,7 @@ } .column { - border: 1px solid rgb(192, 192, 192); + border: 1px solid #c0c0c0; padding: 20px; border-radius: 8px; width: 50%; @@ -24,6 +24,11 @@ gap: 12px; } +.circleText { + font-weight: 500; + font-size: 15px; +} + .items { width: 100%; display: flex; @@ -52,8 +57,8 @@ .circle { background-color: #b0e7b0; - height: 36px; - width: 36px; + height: 38px; + width: 38px; border-radius: 50%; display: flex; align-items: center; diff --git a/apps/theme/app/debug/ContrastTests/ContrastTests.tsx b/apps/theme/app/color-debugger/ContrastTests/ContrastTests.tsx similarity index 83% rename from apps/theme/app/debug/ContrastTests/ContrastTests.tsx rename to apps/theme/app/color-debugger/ContrastTests/ContrastTests.tsx index 18557af942..9159a89e72 100644 --- a/apps/theme/app/debug/ContrastTests/ContrastTests.tsx +++ b/apps/theme/app/color-debugger/ContrastTests/ContrastTests.tsx @@ -8,7 +8,11 @@ import { CheckmarkIcon, XMarkIcon } from '@navikt/aksel-icons'; import chroma from 'chroma-js'; import cl from 'clsx/lite'; import { useEffect, useState } from 'react'; -import { type LuminanceType, useDebugStore } from '../debugStore'; +import { + type LuminanceType, + type ThemeSettingsType, + useDebugStore, +} from '../debugStore'; import { generateColorSchemes } from '../logic/theme'; import classes from './ContrastTests.module.css'; @@ -16,20 +20,19 @@ type ItemProps = { text: string; text2?: string; error: boolean; + circleText?: string; }; -const generateBaseThemes = (luminance: LuminanceType, baseModifier: number) => { +const generateBaseThemes = ( + luminance: LuminanceType, + themeSettings: ThemeSettingsType, +) => { const themes = []; for (let i = 0; i < 1000; i++) { const color = chroma('#0062BA') .luminance((i + 1) / 1000) .hex() as CssColor; - themes.push( - generateColorSchemes(color, luminance, { - baseModifier: baseModifier, - interpolationMode: 'rgb', - }), - ); + themes.push(generateColorSchemes(color, luminance, themeSettings)); } return themes; }; @@ -38,14 +41,14 @@ export const ContrastTests = () => { const luminance = useDebugStore((state) => state.luminance); const theme = useDebugStore((state) => state.colorScale); const [baseThemes, setBaseThemes] = useState([]); - const baseModifier = useDebugStore((state) => state.baseModifier); + const themeSettings = useDebugStore((state) => state.themeSettings); useEffect(() => { - setBaseThemes(generateBaseThemes(luminance, baseModifier)); + setBaseThemes(generateBaseThemes(luminance, themeSettings)); }, []); const onClicky = () => { - setBaseThemes(generateBaseThemes(luminance, baseModifier)); + setBaseThemes(generateBaseThemes(luminance, themeSettings)); }; const getContrastMessage = ( @@ -85,12 +88,17 @@ export const ContrastTests = () => { return passed; }; - const Item = ({ text, text2, error }: ItemProps) => { + const Item = ({ text, text2, error, circleText }: ItemProps) => { return (
- {!error && } - {error && } + {circleText &&
{circleText}
} + {!circleText && ( + <> + {!error && } + {error && } + + )}
{text}
@@ -100,6 +108,22 @@ export const ContrastTests = () => { ); }; + const getCircleText = ( + theme: ThemeInfo, + num1: number, + num2: number, + colorScheme: 'light' | 'dark', + ) => { + const contrast = getContrastFromHex( + theme[colorScheme][num1].hex, + theme[colorScheme][num2].hex, + ).toFixed(1); + if (contrast.length === 4) { + return contrast.substring(0, contrast.length - 2); + } + return contrast; + }; + return (
@@ -121,6 +145,7 @@ export const ContrastTests = () => { theme.light[12].hex, ).toFixed(1) } + circleText={getCircleText(theme, 0, 12, 'light')} /> { } text='Background Subtle' text2={getContrastMessage(1, 12, 4.5, 'light')} + circleText={getCircleText(theme, 1, 12, 'light')} /> { } text='Surface Default' text2={getContrastMessage(2, 12, 4.5, 'light')} + circleText={getCircleText(theme, 2, 12, 'light')} /> { } text='Surface Hover' text2={getContrastMessage(3, 12, 4.5, 'light')} + circleText={getCircleText(theme, 3, 12, 'light')} /> { } text='Surface Active' text2={getContrastMessage(4, 12, 4.5, 'light')} + circleText={getCircleText(theme, 4, 12, 'light')} />
@@ -167,6 +196,7 @@ export const ContrastTests = () => { } text='Background Default' text2={getContrastMessage(0, 12, 4.5, 'dark')} + circleText={getCircleText(theme, 0, 12, 'dark')} /> { } text='Background Subtle' text2={getContrastMessage(1, 12, 4.5, 'dark')} + circleText={getCircleText(theme, 1, 12, 'dark')} /> { } text='Surface Default' text2={getContrastMessage(2, 12, 4.5, 'dark')} + circleText={getCircleText(theme, 2, 12, 'dark')} /> { } text='Surface Hover' text2={getContrastMessage(3, 12, 4.5, 'dark')} + circleText={getCircleText(theme, 3, 12, 'dark')} /> { } text='Surface Active' text2={getContrastMessage(4, 12, 4.5, 'dark')} + circleText={getCircleText(theme, 4, 12, 'dark')} />
@@ -211,6 +245,7 @@ export const ContrastTests = () => { } text='Background Default' text2={getContrastMessage(0, 6, 3, 'light')} + circleText={getCircleText(theme, 0, 6, 'light')} /> { } text='Background Subtle' text2={getContrastMessage(1, 6, 3, 'light')} + circleText={getCircleText(theme, 1, 6, 'light')} />
@@ -232,6 +268,7 @@ export const ContrastTests = () => { } text='Background Default' text2={getContrastMessage(0, 6, 3, 'dark')} + circleText={getCircleText(theme, 0, 6, 'dark')} /> { } text='Background Subtle' text2={getContrastMessage(1, 6, 3, 'dark')} + circleText={getCircleText(theme, 1, 6, 'dark')} />
@@ -255,6 +293,7 @@ export const ContrastTests = () => { } text='Background Default' text2={getContrastMessage(0, 7, 4.5, 'light')} + circleText={getCircleText(theme, 0, 7, 'light')} /> { } text='Background Subtle' text2={getContrastMessage(1, 7, 4.5, 'light')} + circleText={getCircleText(theme, 1, 7, 'light')} />
@@ -276,6 +316,7 @@ export const ContrastTests = () => { } text='Background Default' text2={getContrastMessage(0, 7, 4.5, 'dark')} + circleText={getCircleText(theme, 0, 7, 'dark')} /> { } text='Background Subtle' text2={getContrastMessage(1, 7, 4.5, 'dark')} + circleText={getCircleText(theme, 1, 7, 'dark')} />
diff --git a/apps/theme/app/debug/DoubleInput/DoubleInput.module.css b/apps/theme/app/color-debugger/DoubleInput/DoubleInput.module.css similarity index 100% rename from apps/theme/app/debug/DoubleInput/DoubleInput.module.css rename to apps/theme/app/color-debugger/DoubleInput/DoubleInput.module.css diff --git a/apps/theme/app/debug/DoubleInput/DoubleInput.tsx b/apps/theme/app/color-debugger/DoubleInput/DoubleInput.tsx similarity index 100% rename from apps/theme/app/debug/DoubleInput/DoubleInput.tsx rename to apps/theme/app/color-debugger/DoubleInput/DoubleInput.tsx diff --git a/apps/theme/app/color-debugger/RangeBar/RangeBar.module.css b/apps/theme/app/color-debugger/RangeBar/RangeBar.module.css new file mode 100644 index 0000000000..16fadd4fc0 --- /dev/null +++ b/apps/theme/app/color-debugger/RangeBar/RangeBar.module.css @@ -0,0 +1,22 @@ +.bar { + height: 7px; + width: 100%; + background-color: #dbdbdb; + display: flex; + border-radius: 10px; + overflow: hidden; + margin-top: 4px; +} + +.min { + height: 7px; + width: 30%; + background-color: #ff8484; +} + +.range { + height: 7px; + width: 30%; + margin-left: 30%; + background-color: #ff8484; +} diff --git a/apps/theme/app/color-debugger/RangeBar/RangeBar.tsx b/apps/theme/app/color-debugger/RangeBar/RangeBar.tsx new file mode 100644 index 0000000000..d976763a38 --- /dev/null +++ b/apps/theme/app/color-debugger/RangeBar/RangeBar.tsx @@ -0,0 +1,32 @@ +import classes from './RangeBar.module.css'; + +type RangeBarProps = { + min: number; + rangeMin: number; + rangeMax: number; + barActiveColor?: string; +}; + +export const RangeBar = ({ + min, + rangeMin, + rangeMax, + barActiveColor = '#ff8484', +}: RangeBarProps) => { + return ( +
+
+
+
+ ); +}; diff --git a/apps/theme/app/debug/Scales/Scales.module.css b/apps/theme/app/color-debugger/Scales/Scales.module.css similarity index 100% rename from apps/theme/app/debug/Scales/Scales.module.css rename to apps/theme/app/color-debugger/Scales/Scales.module.css diff --git a/apps/theme/app/debug/Scales/Scales.tsx b/apps/theme/app/color-debugger/Scales/Scales.tsx similarity index 100% rename from apps/theme/app/debug/Scales/Scales.tsx rename to apps/theme/app/color-debugger/Scales/Scales.tsx diff --git a/apps/theme/app/debug/Sidebar/Sidebar.module.css b/apps/theme/app/color-debugger/Sidebar/Sidebar.module.css similarity index 93% rename from apps/theme/app/debug/Sidebar/Sidebar.module.css rename to apps/theme/app/color-debugger/Sidebar/Sidebar.module.css index 3c66ef9814..83ab20ca73 100644 --- a/apps/theme/app/debug/Sidebar/Sidebar.module.css +++ b/apps/theme/app/color-debugger/Sidebar/Sidebar.module.css @@ -4,11 +4,11 @@ z-index: 10; border-radius: 8px; position: fixed; - top: 32px; + top: 48px; right: 32px; bottom: 32px; width: 410px; - padding: 20px; + padding: 32px 20px 20px 20px; display: flex; gap: 20px; flex-direction: column; diff --git a/apps/theme/app/debug/Sidebar/Sidebar.tsx b/apps/theme/app/color-debugger/Sidebar/Sidebar.tsx similarity index 57% rename from apps/theme/app/debug/Sidebar/Sidebar.tsx rename to apps/theme/app/color-debugger/Sidebar/Sidebar.tsx index 69a31840ec..9bbf273bbb 100644 --- a/apps/theme/app/debug/Sidebar/Sidebar.tsx +++ b/apps/theme/app/color-debugger/Sidebar/Sidebar.tsx @@ -2,21 +2,17 @@ import { Field, Heading, Select } from '@digdir/designsystemet-react'; import type { InterpolationMode } from 'chroma-js'; import { DoubleInput } from '../DoubleInput/DoubleInput'; +import { RangeBar } from '../RangeBar/RangeBar'; import { useDebugStore } from '../debugStore'; import { getFullNameFromShort } from '../logic/utils'; import classes from './Sidebar.module.css'; -import 'rc-slider/assets/index.css'; import {} from 'react-range'; export const Sidebar = () => { const luminance = useDebugStore((state) => state.luminance); - - const setInterpolationMode = useDebugStore( - (state) => state.setInterpolationMode, - ); - const baseModifier = useDebugStore((state) => state.baseModifier); - const setBaseModifier = useDebugStore((state) => state.setBaseModifier); + const themeSettings = useDebugStore((state) => state.themeSettings); + const setThemeSettings = useDebugStore((state) => state.setThemeSettings); return (
@@ -40,9 +36,19 @@ export const Sidebar = () => {
Test mode
- { + setThemeSettings({ + ...themeSettings, + general: { + ...themeSettings.general, + testMode: e.target.value as 'debug' | 'production', + }, + }); + }} + > + Debug + Production
@@ -62,23 +68,58 @@ export const Sidebar = () => { /> { console.log(e); - setBaseModifier(parseInt(e)); + setThemeSettings({ + ...themeSettings, + base: { + ...themeSettings.base, + modifier: parseFloat(e), + }, + }); }} /> {}} + valueOne={themeSettings.base.negativeModeMin.toString()} + setValueOne={(e) => { + setThemeSettings({ + ...themeSettings, + base: { + ...themeSettings.base, + negativeModeMin: parseFloat(e), + }, + }); + }} /> {}} - valueTwo={'69'} - setValueTwo={(e) => {}} + valueOne={themeSettings.base.negativeModRangeMin.toString()} + setValueOne={(e) => { + setThemeSettings({ + ...themeSettings, + base: { + ...themeSettings.base, + negativeModRangeMin: parseFloat(e), + }, + }); + }} + valueTwo={themeSettings.base.negativeModRangeMax.toString()} + setValueTwo={(e) => { + setThemeSettings({ + ...themeSettings, + base: { + ...themeSettings.base, + negativeModRangeMax: parseFloat(e), + }, + }); + }} + /> +
@@ -88,21 +129,51 @@ export const Sidebar = () => {
{}} /> {}} - valueTwo={'60'} - setValueTwo={(e) => {}} + valueOne={themeSettings.contrastSubtle.customModRangeMin.toString()} + setValueOne={(e) => { + setThemeSettings({ + ...themeSettings, + contrastSubtle: { + ...themeSettings.contrastSubtle, + customModRangeMin: parseFloat(e), + }, + }); + }} + valueTwo={themeSettings.contrastSubtle.customModRangeMax.toString()} + setValueTwo={(e) => { + setThemeSettings({ + ...themeSettings, + contrastSubtle: { + ...themeSettings.contrastSubtle, + customModRangeMax: parseFloat(e), + }, + }); + }} /> {}} + valueOne={themeSettings.contrastSubtle.customModResult.toString()} + setValueOne={(e) => { + setThemeSettings({ + ...themeSettings, + contrastSubtle: { + ...themeSettings.contrastSubtle, + customModResult: parseFloat(e), + }, + }); + }} + /> +
@@ -116,7 +187,12 @@ export const Sidebar = () => { { + setColor(ColorService.convert('hex', e.target.value)); + }} + /> + +
+ +
+
+ ); +}; diff --git a/apps/theme/app/color-debugger/ColorScale/ColorScale.module.css b/apps/theme/app/color-debugger/ColorScale/ColorScale.module.css new file mode 100644 index 0000000000..d9ebc852b2 --- /dev/null +++ b/apps/theme/app/color-debugger/ColorScale/ColorScale.module.css @@ -0,0 +1,85 @@ +.scale { + display: grid; + grid-template-columns: repeat(16, 1fr); + width: 100%; + gap: 12px; +} + +.group { + display: flex; + flex-direction: column; + flex-grow: 1; + flex-basis: 0; +} + +.group-2 { + grid-column: span 2; +} + +.group-3 { + grid-column: span 3; +} + +.group-4 { + grid-column: span 4; +} +.group-5 { + grid-column: span 5; +} +.items { + display: flex; + gap: 5px; +} + +.item { + display: flex; + flex-direction: column; + flex-grow: 1; + flex-basis: 0; + align-items: center; + margin-right: -1px; +} + +.title { + text-align: center; + border-bottom: 1px solid var(--ds-color-neutral-border-subtle); + padding-bottom: 8px; + margin-bottom: 8px; + font-size: 15px; +} + +.name { + font-size: 14px; + margin-bottom: 12px; +} + +.color { + height: 40px; + width: 100%; + border: 1px solid var(--ds-color-neutral-border-subtle); + border-radius: 2px; +} + +.panel { + background-color: white; + padding: 24px; + border-radius: 8px; + border: 1px solid var(--ds-color-neutral-border-subtle); + width: 100%; +} + +.container { + width: 100%; +} + +.header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 16px; +} + +.heading { + font-weight: 500; + font-size: 23px; +} diff --git a/apps/theme/app/color-debugger/ColorScale/ColorScale.tsx b/apps/theme/app/color-debugger/ColorScale/ColorScale.tsx new file mode 100644 index 0000000000..d659529191 --- /dev/null +++ b/apps/theme/app/color-debugger/ColorScale/ColorScale.tsx @@ -0,0 +1,121 @@ +import type { CssColor } from '@digdir/designsystemet/color'; +import cl from 'clsx/lite'; +import { useEffect, useState } from 'react'; +import { useColor } from 'react-color-palette'; +import { ColorInput } from '../ColorInput/ColorInput'; +import { useDebugStore } from '../debugStore'; +import { generateColorSchemes } from '../logic/theme'; +import classes from './ColorScale.module.css'; + +export const ColorScale = () => { + const luminance = useDebugStore((state) => state.luminance); + const themeSettings = useDebugStore((state) => state.themeSettings); + const [color, setColor] = useColor('#0062BA'); + const [scale, setScale] = useState( + generateColorSchemes(color.hex as CssColor, luminance, themeSettings), + ); + const [showPicker, setShowPicker] = useState(false); + + type ItemProps = { + item: { name: string; hex: string }; + }; + + useEffect(() => { + setScale( + generateColorSchemes(color.hex as CssColor, luminance, themeSettings), + ); + }, [luminance, themeSettings, color]); + + const Item = ({ item }: ItemProps) => { + return ( +
+
{item.name}
+
+
+ ); + }; + + type GroupProps = { + name: string; + items: { name: string; hex: string }[]; + }; + + const Group = ({ name, items }: GroupProps) => { + return ( +
+
{name}
+
+ {items?.map((item, index) => ( + + ))} +
+
+ ); + }; + + return ( +
+
+
Color scale
+
+ { + setShowPicker(!showPicker); + }} + showPicker={showPicker} + /> +
+
+
+ + + + + + + +
+
+ ); +}; diff --git a/apps/theme/app/color-debugger/ContrastChecker/ContrastChecker.module.css b/apps/theme/app/color-debugger/ContrastChecker/ContrastChecker.module.css new file mode 100644 index 0000000000..fb327f4c65 --- /dev/null +++ b/apps/theme/app/color-debugger/ContrastChecker/ContrastChecker.module.css @@ -0,0 +1,64 @@ +.checker { + width: 100%; +} + +.input { + height: 46px; + border-radius: 4px; + border: 1px solid rgb(158, 158, 158); + width: 100%; + padding-left: 14px; + font-size: 16px; +} + +.items { + display: flex; + gap: 16px; + width: 100%; +} + +.item { + position: relative; + width: 50%; +} + +.colorInput { + position: relative; +} + +.colorBtn { + position: absolute; + top: 7px; + right: 7px; + height: 32px; + width: 32px; + border-radius: 4px; + border: 1px solid rgb(158, 158, 158); +} + +.result { + border: 1px solid rgb(158, 158, 158); + border-radius: 4px; + margin-top: 16px; + min-height: 125px; + display: flex; + align-items: center; + justify-content: center; + font-weight: 500; + font-size: 32px; +} + +.picker { + position: absolute; + width: 100%; + z-index: 5; +} + +.hidePicker { + display: none; +} + +.label { + font-size: 16px; + margin-bottom: 8px; +} diff --git a/apps/theme/app/color-debugger/ContrastChecker/ContrastChecker.tsx b/apps/theme/app/color-debugger/ContrastChecker/ContrastChecker.tsx new file mode 100644 index 0000000000..4c435228dd --- /dev/null +++ b/apps/theme/app/color-debugger/ContrastChecker/ContrastChecker.tsx @@ -0,0 +1,114 @@ +import { + type CssColor, + getContrastFromHex, +} from '@digdir/designsystemet/color'; +import cl from 'clsx/lite'; +import { useEffect, useState } from 'react'; +import { + ColorPicker, + ColorService, + type IColor, + useColor, +} from 'react-color-palette'; +import classes from './ContrastChecker.module.css'; + +type ColorInputProps = { + color: IColor; + setColor: (color: IColor) => void; + showPicker: boolean; + onColorClicked: () => void; +}; + +const ColorInput = ({ + color, + setColor, + showPicker, + onColorClicked, +}: ColorInputProps) => { + return ( +
+ { + setColor(ColorService.convert('hex', e.target.value)); + }} + /> + +
+ +
+
+ ); +}; + +export const ContrastChecker = () => { + const [colorOne, setColorOne] = useColor('#0062BA'); + const [colorTwo, setColorTwo] = useColor('#FFFFFF'); + const [result, setResult] = useState('13.2:1'); + const [showPickerOne, setShowPickerOne] = useState(false); + const [showPickerTwo, setShowPickerTwo] = useState(false); + + const setResults = () => { + setResult( + getContrastFromHex( + colorOne.hex as CssColor, + colorTwo.hex as CssColor, + ).toFixed(1) + ':1', + ); + }; + + useEffect(() => { + setResults(); + }, [colorOne, colorTwo]); + + return ( +
+
+
+
Foreground
+ { + setShowPickerOne(!showPickerOne); + setShowPickerTwo(false); + }} + showPicker={showPickerOne} + /> +
+
+
Background
+ { + setShowPickerTwo(!showPickerTwo); + setShowPickerOne(false); + }} + showPicker={showPickerTwo} + /> +
+
+
{ + setShowPickerOne(false); + setShowPickerTwo(false); + }} + > + {result} +
+
+ ); +}; diff --git a/apps/theme/app/color-debugger/ContrastColors/ContrastColors.module.css b/apps/theme/app/color-debugger/ContrastColors/ContrastColors.module.css index b92a1755f2..71d3e14544 100644 --- a/apps/theme/app/color-debugger/ContrastColors/ContrastColors.module.css +++ b/apps/theme/app/color-debugger/ContrastColors/ContrastColors.module.css @@ -1,11 +1,26 @@ +.groupContainer { + display: flex; + flex-wrap: wrap; + gap: 20px; +} + +.group { + display: flex; + border: 1px solid var(--ds-color-neutral-border-subtle); + margin-bottom: 20px; + border-radius: 4px; + overflow: hidden; + width: calc(33.33% - 14px); +} + .item { - width: 150px; background-color: white; + width: 100%; } .color { width: 100%; - height: 80px; + height: 72px; display: flex; gap: 10px; padding: 10px; @@ -24,20 +39,6 @@ margin-top: 18px; } -.groupContainer { - display: flex; - flex-wrap: wrap; - gap: 20px; -} - -.group { - display: flex; - border: 1px solid var(--ds-color-neutral-border-subtle); - margin-bottom: 20px; - border-radius: 4px; - overflow: hidden; -} - .content { font-size: 14px; display: flex; diff --git a/apps/theme/app/color-debugger/ContrastColors/ContrastColors.tsx b/apps/theme/app/color-debugger/ContrastColors/ContrastColors.tsx index bcf04dce5c..22eeb0b639 100644 --- a/apps/theme/app/color-debugger/ContrastColors/ContrastColors.tsx +++ b/apps/theme/app/color-debugger/ContrastColors/ContrastColors.tsx @@ -6,6 +6,7 @@ import { } from '@digdir/designsystemet/color'; import chroma from 'chroma-js'; import { useDebugStore } from '../debugStore'; +import { ColorIndexes } from '../utils'; import classes from './ContrastColors.module.css'; export const ContrastColors = () => { @@ -45,16 +46,22 @@ export const ContrastColors = () => { return (
-
{!hideSecondCircle && (
- )} + )} */}
@@ -68,7 +75,12 @@ export const ContrastColors = () => {
{!hideSecondCircle && ( -
{contrastSection(color, scheme.light[14].hex)}
+
+ {contrastSection( + color, + scheme.light[ColorIndexes.baseContrastSubtleIndex].hex, + )} +
)}
@@ -85,14 +97,17 @@ export const ContrastColors = () => {
{outerScales.map((innerScale, key) => (
- + diff --git a/apps/theme/app/color-debugger/ContrastTests/ContrastTests.tsx b/apps/theme/app/color-debugger/ContrastTests/ContrastTests.tsx deleted file mode 100644 index 9159a89e72..0000000000 --- a/apps/theme/app/color-debugger/ContrastTests/ContrastTests.tsx +++ /dev/null @@ -1,438 +0,0 @@ -import { Button } from '@digdir/designsystemet-react'; -import { - type CssColor, - type ThemeInfo, - getContrastFromHex, -} from '@digdir/designsystemet/color'; -import { CheckmarkIcon, XMarkIcon } from '@navikt/aksel-icons'; -import chroma from 'chroma-js'; -import cl from 'clsx/lite'; -import { useEffect, useState } from 'react'; -import { - type LuminanceType, - type ThemeSettingsType, - useDebugStore, -} from '../debugStore'; -import { generateColorSchemes } from '../logic/theme'; -import classes from './ContrastTests.module.css'; - -type ItemProps = { - text: string; - text2?: string; - error: boolean; - circleText?: string; -}; - -const generateBaseThemes = ( - luminance: LuminanceType, - themeSettings: ThemeSettingsType, -) => { - const themes = []; - for (let i = 0; i < 1000; i++) { - const color = chroma('#0062BA') - .luminance((i + 1) / 1000) - .hex() as CssColor; - themes.push(generateColorSchemes(color, luminance, themeSettings)); - } - return themes; -}; - -export const ContrastTests = () => { - const luminance = useDebugStore((state) => state.luminance); - const theme = useDebugStore((state) => state.colorScale); - const [baseThemes, setBaseThemes] = useState([]); - const themeSettings = useDebugStore((state) => state.themeSettings); - - useEffect(() => { - setBaseThemes(generateBaseThemes(luminance, themeSettings)); - }, []); - - const onClicky = () => { - setBaseThemes(generateBaseThemes(luminance, themeSettings)); - }; - - const getContrastMessage = ( - num1: number, - num2: number, - contrastLimit: number, - mode: 'light' | 'dark', - ) => { - return ( - 'Minimum ' + - contrastLimit + - ':1 contrast. Value: ' + - getContrastFromHex(theme.light[num1].hex, theme.light[num2].hex).toFixed( - 1, - ) - ); - }; - - const test = ( - num1: number, - num2: number, - contrastLimit: number, - mode: 'light' | 'dark', - ) => { - let passed = 0; - for (let i = 0; i < baseThemes.length; i++) { - const theme = baseThemes[i]; - const contrast = getContrastFromHex( - theme[mode][num1].hex, - theme[mode][num2].hex, - ); - if (contrast > contrastLimit) { - passed++; - } else { - } - } - return passed; - }; - - const Item = ({ text, text2, error, circleText }: ItemProps) => { - return ( -
-
- {circleText &&
{circleText}
} - {!circleText && ( - <> - {!error && } - {error && } - - )} -
-
-
{text}
- {text2 &&
{text2}
} -
-
- ); - }; - - const getCircleText = ( - theme: ThemeInfo, - num1: number, - num2: number, - colorScheme: 'light' | 'dark', - ) => { - const contrast = getContrastFromHex( - theme[colorScheme][num1].hex, - theme[colorScheme][num2].hex, - ).toFixed(1); - if (contrast.length === 4) { - return contrast.substring(0, contrast.length - 2); - } - return contrast; - }; - - return ( -
-
-
-
-
Text Default: Light mode
-
-
- - - - - -
-
-
-
-
Text Default: Dark
-
-
- - - - - -
-
-
-
-
-
-
Border Default: Light mode
-
-
- - -
-
-
-
-
Border Default: Dark mode
-
-
- - -
-
-
-
-
-
-
Border Strong: Light mode
-
-
- - -
-
-
-
-
Border Strong: Dark mode
-
-
- - -
-
-
-
-
-
-
Contrast Default: Light mode
- -
-
- - - -
-
-
-
-
Contrast Default: Dark mode
- -
-
- - - -
-
-
-
-
-
-
Contrast Subtle: Light mode
- -
-
- -
-
-
-
-
Contrast Subtle: Dark mode
- -
-
- -
-
-
-
- ); -}; diff --git a/apps/theme/app/color-debugger/ContrastTests/ContrastTests.module.css b/apps/theme/app/color-debugger/FrontPage/FrontPage.module.css similarity index 62% rename from apps/theme/app/color-debugger/ContrastTests/ContrastTests.module.css rename to apps/theme/app/color-debugger/FrontPage/FrontPage.module.css index ef5e73e1ec..f479b423ae 100644 --- a/apps/theme/app/color-debugger/ContrastTests/ContrastTests.module.css +++ b/apps/theme/app/color-debugger/FrontPage/FrontPage.module.css @@ -3,19 +3,29 @@ gap: 20px; flex-wrap: wrap; } -.row { + +.borderDefault { +} + +.panel { + width: calc(50% - 10px); display: flex; - gap: 20px; + flex-wrap: wrap; + background-color: white; + padding: 24px; + border-radius: 8px; + border: 1px solid var(--ds-color-neutral-border-subtle); +} + +.fullPanel { width: 100%; } -.column { - border: 1px solid #c0c0c0; - padding: 20px; - border-radius: 8px; - width: 50%; - background-color: var(--ds-color-neutral-background-default); +.group { + display: flex; + gap: 20px; } + .item { border-radius: 8px; font-size: 15px; @@ -24,6 +34,10 @@ gap: 12px; } +.textContainer { + display: flex; +} + .circleText { font-weight: 500; font-size: 15px; @@ -34,11 +48,11 @@ display: flex; gap: 12px; flex-direction: column; - margin-top: 16px; + margin-top: 10px; } .title { - font-weight: 500; + font-weight: 400; } .header { @@ -56,17 +70,19 @@ } .circle { - background-color: #b0e7b0; - height: 38px; - width: 38px; + background-color: #00a500; + height: 12px; + width: 12px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 500; + flex-shrink: 1; + margin-left: 2px; } .failed { - background-color: #f8b4b4; + background-color: #e76969; } diff --git a/apps/theme/app/color-debugger/FrontPage/FrontPage.tsx b/apps/theme/app/color-debugger/FrontPage/FrontPage.tsx new file mode 100644 index 0000000000..4c4e985b0b --- /dev/null +++ b/apps/theme/app/color-debugger/FrontPage/FrontPage.tsx @@ -0,0 +1,296 @@ +import { + type CssColor, + type ThemeInfo, + getContrastFromHex, +} from '@digdir/designsystemet/color'; +import {} from '@navikt/aksel-icons'; +import chroma from 'chroma-js'; +import cl from 'clsx/lite'; +import { useEffect, useState } from 'react'; +import { ColorScale } from '../ColorScale/ColorScale'; +import { ContrastChecker } from '../ContrastChecker/ContrastChecker'; +import { + type LuminanceType, + type ThemeSettingsType, + useDebugStore, +} from '../debugStore'; +import { generateColorSchemes } from '../logic/theme'; +import classes from './FrontPage.module.css'; + +type ItemProps = { + text: string; + text2?: string; + text3?: string; + error: boolean; +}; + +const borderDefaultIndex = 7; +const borderStrongIndex = 8; +const textSubtleIndex = 9; +const textDefaultIndex = 10; +const baseDefaultIndex = 11; +const baseHoverIndex = 12; +const baseActiveIndex = 13; +const baseContrastSubtleIndex = 14; +const baseContrastDefaultIndex = 15; + +const generateBaseThemes = ( + luminance: LuminanceType, + themeSettings: ThemeSettingsType, +) => { + const themes = []; + for (let i = 0; i < 100; i++) { + const color = chroma('#0062BA') + .luminance((i + 1) / 100) + .hex() as CssColor; + themes.push(generateColorSchemes(color, luminance, themeSettings)); + } + return themes; +}; + +export const FrontPage = () => { + const luminance = useDebugStore((state) => state.luminance); + const theme = useDebugStore((state) => state.colorScale); + const [baseThemes, setBaseThemes] = useState( + generateBaseThemes(luminance, useDebugStore.getState().themeSettings), + ); + const themeSettings = useDebugStore((state) => state.themeSettings); + + useEffect(() => { + setBaseThemes(generateBaseThemes(luminance, themeSettings)); + console.log('ff'); + }, [themeSettings.base.modifier]); + + const testColorContrasts = ( + num1: number, + num2: number, + contrastLimit: number, + mode: 'light' | 'dark', + ) => { + let passed = 0; + for (let i = 0; i < baseThemes.length; i++) { + const theme = baseThemes[i]; + const contrast = getContrastFromHex( + theme[mode][num1].hex, + theme[mode][num2].hex, + ); + if (contrast > contrastLimit) { + passed++; + } else { + } + } + return passed; + }; + + const Item = ({ text, text2, text3, error }: ItemProps) => { + return ( +
+
+
{text}
+ {text2 &&
{text2}
} + {text3 &&
{text3}
} +
+ ); + }; + + const renderTextDefault = (mode: 'light' | 'dark') => ( +
+
+
Text Default
+
+
+ {[ + { index: 0, text: 'Background Default' }, + { index: 1, text: 'Background Tinted' }, + { index: 2, text: 'Surface Default' }, + { index: 3, text: 'Surface Hover' }, + { index: 4, text: 'Surface Active' }, + ].map(({ index, text }) => ( + + ))} +
+
+ ); + + const renderBorderDefault = (mode: 'light' | 'dark') => ( +
+
+
Border Default
+
+
+ {[ + { index: 0, text: 'Background Default' }, + { index: 1, text: 'Background Subtle' }, + ].map(({ index, text }) => ( + + ))} +
+
+ ); + + const renderBorderStrong = (mode: 'light' | 'dark') => ( +
+
+
Border Strong
+
+
+ {[ + { index: 0, text: 'Background Default' }, + { index: 1, text: 'Background Subtle' }, + ].map(({ index, text }) => ( + + ))} +
+
+ ); + + const renderContrastDefault = (mode: 'light' | 'dark') => { + return ( +
+
+
Contrast Default
+
+
+ {[ + { + baseIndex: baseDefaultIndex, + text: 'Base Default', + ratio: 4.5, + }, + { + baseIndex: baseHoverIndex, + text: 'Base Hover', + ratio: 4.5, + }, + { + baseIndex: baseActiveIndex, + text: 'Base Active', + ratio: 3, + }, + ].map(({ baseIndex, text, ratio }) => ( + + ))} +
+
+ ); + }; + + const renderContrastSubtle = (mode: 'light' | 'dark') => ( +
+
+
Contrast Subtle
+
+
+ +
+
+ ); + + return ( +
+ + +
+ +
+
+ +
+ +
+
+ {renderTextDefault('light')} {renderBorderDefault('light')} + {renderContrastDefault('light')} {renderContrastSubtle('light')} + {renderBorderStrong('light')} +
+
+
+ ); +}; diff --git a/apps/theme/app/color-debugger/Mobile/CategoryIcon.tsx b/apps/theme/app/color-debugger/Mobile/CategoryIcon.tsx new file mode 100644 index 0000000000..ed7fece4f9 --- /dev/null +++ b/apps/theme/app/color-debugger/Mobile/CategoryIcon.tsx @@ -0,0 +1,75 @@ +type CategoryIconsProps = { + color: string; + type: 'sword' | 'flask' | 'shield' | 'hex'; +}; + +type IconProps = { + color: string; +}; + +export const CategoryIcon = ({ color, type }: CategoryIconsProps) => { + const Hex = ({ color }: IconProps) => { + return ( + + + + ); + }; + + const Flask = ({ color }: IconProps) => { + return ( + + + + ); + }; + + const Shield = ({ color }: IconProps) => { + return ( + + + + ); + }; + + const Sword = ({ color }: IconProps) => { + return ( + + + + ); + }; + + return ( + <> + {type === 'sword' && } + {type === 'flask' && } + {type === 'shield' && } + {type === 'hex' && } + + ); +}; diff --git a/apps/theme/app/color-debugger/Mobile/FooterIcon.tsx b/apps/theme/app/color-debugger/Mobile/FooterIcon.tsx new file mode 100644 index 0000000000..94468fbe40 --- /dev/null +++ b/apps/theme/app/color-debugger/Mobile/FooterIcon.tsx @@ -0,0 +1,95 @@ +type FooterIconProps = { + type: 'house' | 'heart' | 'letter' | 'profile'; + color: string; +}; + +export const FooterIcon = ({ type, color }: FooterIconProps) => { + type IconProps = { + color: string; + }; + + const House = ({ color }: IconProps) => { + return ( + + + + ); + }; + + const Heart = ({ color }: IconProps) => { + return ( + + + + ); + }; + + const Letter = ({ color }: IconProps) => { + return ( + + + + + ); + }; + + const Profile = ({ color }: IconProps) => { + return ( + + + + ); + }; + + return ( + <> + {type === 'house' && } + {type === 'heart' && } + {type === 'letter' && } + {type === 'profile' && } + + ); +}; diff --git a/apps/theme/app/color-debugger/Mobile/Mobile.module.css b/apps/theme/app/color-debugger/Mobile/Mobile.module.css new file mode 100644 index 0000000000..e23c30391d --- /dev/null +++ b/apps/theme/app/color-debugger/Mobile/Mobile.module.css @@ -0,0 +1,233 @@ +.item { + border-radius: 26px; + background-color: grey; + width: 100%; + height: 680px; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + position: relative; + overflow: hidden; + border: 1px solid rgb(212, 212, 212); +} + +.pageHeading { + font-size: 21px; + font-weight: 500; +} + +.colorMeta { + display: flex; + align-items: center; + margin-top: 16px; + margin-bottom: 12px; +} + +.colorMetaColor { + height: 24px; + width: 100%; + background-color: red; + border-radius: 4px; +} + +.colorRow { + display: flex; + flex-direction: column; +} + +.row { + display: flex; + gap: 16px; + max-width: 1432px; + width: 100%; + overflow-x: auto; + padding: 6px; + margin-left: -6px; + width: calc(100% + 122px); + margin-bottom: 32px; +} + +.header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 0px 15px; +} + +.logo { + font-size: 14px; + font-weight: 600; +} + +.avatar { + height: 30px; + width: 30px; + border-radius: 50%; +} + +.headerContainer { + display: flex; + align-items: center; + justify-content: space-between; +} + +.link { + font-size: 12px; + color: inherit; + padding-bottom: 12px; +} + +.heading { + font-size: 15px; + font-weight: 500; + padding-bottom: 12px; + line-height: 1.3; +} + +.search { + padding: 0 15px; + margin-top: 22px; +} + +.searchInput { + height: 42px; + width: 100%; + border-radius: 4px; + border: 1px solid #c5c5c5; + padding-left: 47px; + font-size: 14px; +} + +.searchContainer { + position: relative; +} + +.searchIcon { + position: absolute; + top: 8px; + left: 10px; +} + +.searchMic { + position: absolute; + top: 9px; + right: 9px; + color: rgb(73, 73, 73); +} + +.posts { + padding: 0 15px; + margin-top: 20px; +} + +.postsItems { + overflow: hidden; + display: flex; + width: 1200px; + gap: 10px; +} + +.postsItem { + display: flex; + width: 240px; + flex-direction: column; + margin-bottom: 20px; + border-radius: 4px; + overflow: hidden; + background-color: white; +} + +.postsImg { + width: 100%; + height: 170px; +} + +.postsText { + padding: 16px; + display: flex; + flex-direction: column; + gap: 1px; +} + +.postsTitle { + font-size: 13px; + font-weight: 500; +} + +.postsDesc { + font-size: 12px; +} + +.categories { + padding: 0 15px; + margin-top: 24px; +} + +.categoriesItems { + display: flex; + gap: 10px; + overflow: hidden; + width: 500px; +} + +.categoryItem { + display: flex; + align-items: center; + flex-direction: column; +} + +.categoryName { + font-size: 12px; + margin-top: 8px; +} + +.categoryIconContainer { + width: 83px; + height: 46px; + display: flex; + align-items: center; + justify-content: center; + background-color: rgb(255, 255, 255); + border-radius: 4px; +} + +.footer { + position: absolute; + bottom: 0; + left: 0; + right: 0; + height: 72px; + background-color: white; + box-shadow: 0 -2px 4px 0 rgba(0, 0, 0, 0.06); +} + +.footerItems { + display: flex; + justify-content: space-between; + padding: 0 40px; + align-items: center; + height: 100%; +} + +.footerItem { + position: relative; + margin-top: -6px; +} + +.footerCircle { + height: 6px; + width: 6px; + background-color: red; + position: absolute; + bottom: -4px; + border-radius: 50%; + left: 9px; +} + +.footerBar { + height: 5px; + width: 130px; + background-color: rgb(95, 95, 95); + border-radius: 100px; + position: absolute; + bottom: 8px; + left: calc(50% - 65px); +} diff --git a/apps/theme/app/color-debugger/Mobile/Mobile.tsx b/apps/theme/app/color-debugger/Mobile/Mobile.tsx new file mode 100644 index 0000000000..4b07e7aa00 --- /dev/null +++ b/apps/theme/app/color-debugger/Mobile/Mobile.tsx @@ -0,0 +1,276 @@ +import { + type ThemeInfo, + generateColorSchemes, +} from '@digdir/designsystemet/color'; +import { + MagnifyingGlassIcon, + MenuHamburgerIcon, + MicrophoneIcon, +} from '@navikt/aksel-icons'; +import cl from 'clsx/lite'; +import { ColorScaleNames } from '../utils'; +import { CategoryIcon } from './CategoryIcon'; +import { FooterIcon } from './FooterIcon'; +import classes from './Mobile.module.css'; +import { MobileHeader } from './MobileHeader/MobileHeader'; + +type MobileProps = { + colorScales: ThemeInfo[][]; +}; + +export const Mobile = ({ colorScales }: MobileProps) => { + const scheme = generateColorSchemes('#0062BA'); + const scheme2 = generateColorSchemes('#ff0000'); + const scheme3 = generateColorSchemes('#049c04'); + const greyScheme = generateColorSchemes('#000000'); + + type ItemProps = { + colorScheme: ThemeInfo; + type: 'A' | 'B' | 'C' | 'D'; + }; + + type CategoryItemProps = { + name: string; + children: React.ReactNode; + activeColor?: string; + showShadow?: boolean; + }; + + type PostItemProps = { + title: string; + desc: string; + img: string; + type: string; + colorScheme: ThemeInfo; + showShadow?: boolean; + }; + + const getCategoryBg = (type: string, colorScheme: ThemeInfo) => { + if (type === 'A' || type === 'B') { + return colorScheme.light[2].hex; + } + return colorScheme.light[3].hex; + }; + + const CategoryItem = ({ + name, + activeColor, + showShadow, + children, + }: CategoryItemProps) => { + return ( +
+
+ {children} +
+
{name}
+
+ ); + }; + + const PostItem = ({ + title, + desc, + img, + type, + showShadow, + colorScheme, + }: PostItemProps) => { + return ( +
+ +
+
{title}
+
{desc}
+
+
+ ); + }; + + const Item = ({ colorScheme, type }: ItemProps) => { + return ( +
+ +
+
+ +
+
+ Gamezone +
+ +
+
+
Søk etter spill
+
+ + + +
+
+ +
+
+
Kategorier
+ + Se alle + +
+ +
+ + + + + + + + + + + + +
+
+ +
+
+
Mest populære spill
+ + Se alle + +
+
+ + +
+
+ +
+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+
+
+ ); + }; + + return ( +
+ {colorScales.map((innerScales, index) => ( +
+
{ColorScaleNames[index]}
+
+ {innerScales.map((colorScheme, index2) => ( +
+
+
+
+
+ + + + +
+
+ ))} +
+
+ ))} +
+ ); +}; diff --git a/apps/theme/app/color-debugger/Mobile/MobileHeader/MobileHeader.module.css b/apps/theme/app/color-debugger/Mobile/MobileHeader/MobileHeader.module.css new file mode 100644 index 0000000000..0e6a25aae7 --- /dev/null +++ b/apps/theme/app/color-debugger/Mobile/MobileHeader/MobileHeader.module.css @@ -0,0 +1,14 @@ +.container { + display: flex; + align-items: center; + justify-content: space-between; + padding: 14px 22px; +} + +.time { + transform: scale(1); +} + +.status { + transform: scale(1); +} diff --git a/apps/theme/app/color-debugger/Mobile/MobileHeader/MobileHeader.tsx b/apps/theme/app/color-debugger/Mobile/MobileHeader/MobileHeader.tsx new file mode 100644 index 0000000000..32fac1b581 --- /dev/null +++ b/apps/theme/app/color-debugger/Mobile/MobileHeader/MobileHeader.tsx @@ -0,0 +1,123 @@ +import classes from './MobileHeader.module.css'; + +export const MobileHeader = () => { + const Time = () => { + return ( + + + + ); + }; + + const Status = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + ); + }; + + return ( +
+
+ ); +}; diff --git a/apps/theme/app/color-debugger/Scales/Scales.module.css b/apps/theme/app/color-debugger/Scales/Scales.module.css index b9c77cbc07..b74575c947 100644 --- a/apps/theme/app/color-debugger/Scales/Scales.module.css +++ b/apps/theme/app/color-debugger/Scales/Scales.module.css @@ -13,3 +13,10 @@ flex: 1; height: 50px; } + +.title { + font-size: 21px; + font-weight: 500; + margin-bottom: 12px; + margin-top: 24px; +} diff --git a/apps/theme/app/color-debugger/Scales/Scales.tsx b/apps/theme/app/color-debugger/Scales/Scales.tsx index 3927ff20ca..c6d4395709 100644 --- a/apps/theme/app/color-debugger/Scales/Scales.tsx +++ b/apps/theme/app/color-debugger/Scales/Scales.tsx @@ -1,5 +1,6 @@ import type { ThemeInfo } from '@digdir/designsystemet/color'; import { useDebugStore } from '../debugStore'; +import { ColorScaleNames } from '../utils'; import classes from './Scales.module.css'; export const Scales = () => { @@ -27,6 +28,7 @@ export const Scales = () => {
{colorScales.map((innerScales, index) => (
+
{ColorScaleNames[index]}
{innerScales.map((scale, index) => ( ))} diff --git a/apps/theme/app/color-debugger/Sidebar/Sidebar.module.css b/apps/theme/app/color-debugger/Sidebar/Sidebar.module.css index 83ab20ca73..f17a2c146d 100644 --- a/apps/theme/app/color-debugger/Sidebar/Sidebar.module.css +++ b/apps/theme/app/color-debugger/Sidebar/Sidebar.module.css @@ -4,9 +4,9 @@ z-index: 10; border-radius: 8px; position: fixed; - top: 48px; - right: 32px; - bottom: 32px; + top: 86px; + right: 24px; + bottom: 24px; width: 410px; padding: 32px 20px 20px 20px; display: flex; diff --git a/apps/theme/app/color-debugger/Sidebar/Sidebar.tsx b/apps/theme/app/color-debugger/Sidebar/Sidebar.tsx index 9bbf273bbb..805307396c 100644 --- a/apps/theme/app/color-debugger/Sidebar/Sidebar.tsx +++ b/apps/theme/app/color-debugger/Sidebar/Sidebar.tsx @@ -1,14 +1,12 @@ import { Field, Heading, Select } from '@digdir/designsystemet-react'; import type { InterpolationMode } from 'chroma-js'; +import { getColorInfoFromPosition } from '@/packages/cli/dist/src'; import { DoubleInput } from '../DoubleInput/DoubleInput'; import { RangeBar } from '../RangeBar/RangeBar'; import { useDebugStore } from '../debugStore'; -import { getFullNameFromShort } from '../logic/utils'; import classes from './Sidebar.module.css'; -import {} from 'react-range'; - export const Sidebar = () => { const luminance = useDebugStore((state) => state.luminance); const themeSettings = useDebugStore((state) => state.themeSettings); @@ -200,9 +198,10 @@ export const Sidebar = () => { HSV HSI LAB - OKLab HCL lRGB + OKLCH + OKLab
@@ -216,20 +215,18 @@ export const Sidebar = () => {
{Object.keys(luminance.light).map((key, index) => { if ( - index === 8 || - index === 9 || - index === 10 || + index === 11 || + index === 12 || index === 13 || - index === 14 + index === 14 || + index === 15 ) { return null; } return (
{ + const pageType = useDebugStore((state) => state.pageType); + const setPageType = useDebugStore((state) => state.setPageType); + + const pages = { + main: 'Main', + saturation: 'Saturation', + baseContrast: 'Base', + scales: 'Scales', + colorTable: 'Table', + mobile: 'App design', + mobile2: 'Dash design', + mobile3: 'Article design', + }; + + return ( +
+ {Object.entries(pages).map(([key, val]) => ( + + ))} +
+ ); +}; diff --git a/apps/theme/app/color-debugger/debugStore.ts b/apps/theme/app/color-debugger/debugStore.ts index 44b012ac8a..71b973eb95 100644 --- a/apps/theme/app/color-debugger/debugStore.ts +++ b/apps/theme/app/color-debugger/debugStore.ts @@ -31,12 +31,21 @@ export type ThemeSettingsType = { customModResult: number; }; }; +export type PageType = + | 'main' + | 'saturation' + | 'baseContrast' + | 'scales' + | 'colorTable' + | 'mobile'; type ColorStore = { themeSettings: ThemeSettingsType; setThemeSettings: (themeSettings: ThemeSettingsType) => void; referenceLuminance: LuminanceType; luminance: LuminanceType; + pageType: PageType; + setPageType: (pageType: PageType) => void; setLightLuminance: (luminance: LuminanceType) => void; setDarkLuminance: (luminance: LuminanceType) => void; colorScales: ThemeInfo[][]; @@ -69,6 +78,8 @@ export const useDebugStore = create( customModResult: 60, }, }, + pageType: 'main', + setPageType: (pageType) => set({ pageType }), setThemeSettings: (themeSettings) => set({ themeSettings }), luminance: luminance, referenceLuminance: luminance, diff --git a/apps/theme/app/color-debugger/logic/theme.ts b/apps/theme/app/color-debugger/logic/theme.ts index 46d5c74822..9f15f235e0 100644 --- a/apps/theme/app/color-debugger/logic/theme.ts +++ b/apps/theme/app/color-debugger/logic/theme.ts @@ -8,7 +8,7 @@ import type { ThemeInfo, } from '@digdir/designsystemet/color'; import { - getColorNameFromNumber, + getColorInfoFromPosition, getLightnessFromHex, getLuminanceFromLightness, } from '@digdir/designsystemet/color'; @@ -52,31 +52,49 @@ export const generateColorScale = ( const luminanceValues = luminance?.[colorScheme]; // Create the color scale based on the luminance values. The chroma().luminance function uses RGB interpolation by default. - const outputArray: ColorInfo[] = Object.entries(luminanceValues ?? {}).map( - ([key, value], index) => ({ - name: key, - hex: chroma(color) - .luminance(value, themeSettings?.interpolation?.mode) - .hex() as CssColor, - number: (index + 1) as ColorNumber, - }), + const outputArray: ColorInfo[] = Object.entries(luminanceValues || {}).map( + ([, value], index) => { + const position = (index + 1) as ColorNumber; + const colorInfo = getColorInfoFromPosition(position); + return { + name: colorInfo.name, + displayName: colorInfo.displayName, + group: colorInfo.group, + hex: chroma(color) + .luminance(value, themeSettings?.interpolation?.mode) + .hex() as CssColor, + position, + }; + }, ); - // Create the special colors with HSLuv lightness rather than relative luminance for better color perception - const specialColors: Omit[] = [ - { hex: baseColors.baseDefault, number: 9 }, - { hex: baseColors.baseHover, number: 10 }, - { hex: baseColors.baseActive, number: 11 }, - { hex: getContrastDefault(baseColors.baseDefault), number: 14 }, - { hex: getContrastSubtle(baseColors.baseDefault), number: 15 }, + const createSpecialColor = (position: ColorNumber, hexValue: CssColor) => { + const info = getColorInfoFromPosition(position); + return { + name: info.name, + displayName: info.displayName, + group: info.group, + hex: hexValue, + position, + }; + }; + + const specialColors: Omit[] = [ + createSpecialColor(12, baseColors.baseDefault), + createSpecialColor(13, baseColors.baseHover), + createSpecialColor(14, baseColors.baseActive), + createSpecialColor(15, getContrastSubtle(baseColors.baseDefault)), + createSpecialColor(16, getContrastDefault(baseColors.baseDefault)), ]; // Add the special colors to the output array - for (const { hex, number } of specialColors) { - outputArray[number - 1] = { + for (const { hex, position, name, displayName, group } of specialColors) { + outputArray[position - 1] = { hex, - number, - name: getColorNameFromNumber(number), + position, + name, + displayName, + group, }; } diff --git a/apps/theme/app/color-debugger/page.module.css b/apps/theme/app/color-debugger/page.module.css index bf6ade2353..0682954ce4 100644 --- a/apps/theme/app/color-debugger/page.module.css +++ b/apps/theme/app/color-debugger/page.module.css @@ -1,19 +1,24 @@ .page { - background-color: var(--ds-color-neutral-background-subtle); - margin-top: -120px; - z-index: 99; - position: relative; - padding-top: 62px; + background-color: var(--ds-color-neutral-background-tinted); + z-index: 999999; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow: auto; + padding-top: 42px; + margin-top: 41px; } .content { position: relative; - padding-left: 32px; - padding-right: 475px; + padding-left: 28px; + padding-right: 465px; } .heading { - margin-top: 32px; + margin-top: 0; margin-bottom: 18px; } @@ -24,7 +29,6 @@ right: 0; height: 16px; background-color: rgb(255, 190, 116); - z-index: 5; } .topProd { diff --git a/apps/theme/app/color-debugger/page.tsx b/apps/theme/app/color-debugger/page.tsx index 630e18f1e3..b72f37af1e 100644 --- a/apps/theme/app/color-debugger/page.tsx +++ b/apps/theme/app/color-debugger/page.tsx @@ -8,9 +8,11 @@ import { useEffect } from 'react'; import { ColorGrid } from './ColorGrid/ColorGrid'; import { ColorSaturation } from './ColorSaturation/ColorSaturation'; import { ContrastColors } from './ContrastColors/ContrastColors'; -import { ContrastTests } from './ContrastTests/ContrastTests'; +import { FrontPage } from './FrontPage/FrontPage'; +import { Mobile } from './Mobile/Mobile'; import { Scales } from './Scales/Scales'; import { Sidebar } from './Sidebar/Sidebar'; +import { TabMenu } from './TabMenu/TabMenu'; import { useDebugStore } from './debugStore'; import { generateColorSchemes } from './logic/theme'; import classes from './page.module.css'; @@ -32,6 +34,7 @@ export default function Home() { { s: 61, l: 37 }, { s: 59, l: 23 }, ]; + const pageType = useDebugStore((state) => state.pageType); useEffect(() => { const themes: ThemeInfo[][] = []; @@ -61,8 +64,17 @@ export default function Home() { themeSettings.interpolation.mode, ]); + useEffect(() => { + const items = document.getElementsByClassName('content'); + console.log(items); + for (let i = 0; i < items.length; i++) { + (items[i] as HTMLElement).style.minHeight = '20svh'; + } + }, []); + return ( -
+
+
- - Color System Debugger - - Contrast tests - + {pageType === 'main' && } + {pageType === 'saturation' && ( + <> + + Saturation adjustments + + + + )} - Saturation adjustments - + {pageType === 'baseContrast' && ( + <> + + Base and contrast colors + + + + )} - Base and contrast colors - + {pageType === 'scales' && ( + <> + Color Scales + + + )} - Color Scales - + {pageType === 'colorTable' && ( + <> + Background subtle + - Background subtle - + Surface Default + + Surface Hover + + Surface Active + - Surface Default - - Surface Hover - - Surface Active - + Border Subtle + + Border Default + + Border Strong + - Border Subtle - - Border Default - - Border Strong - + Text Subtle + + Text Default + + + )} - Text Subtle - - Text Default - + {pageType === 'mobile' && }
diff --git a/apps/theme/app/color-debugger/utils.ts b/apps/theme/app/color-debugger/utils.ts new file mode 100644 index 0000000000..a5ec3aef77 --- /dev/null +++ b/apps/theme/app/color-debugger/utils.ts @@ -0,0 +1,25 @@ +export const ColorIndexes = { + borderDefault: 7, + borderStrongIndex: 8, + textSubtleIndex: 9, + textDefaultIndex: 10, + baseDefaultIndex: 11, + baseHoverIndex: 12, + baseActiveIndex: 13, + baseContrastSubtleIndex: 14, + baseContrastDefaultIndex: 15, +}; + +export const ColorScaleNames = [ + 'Red', + 'Pure Orange', + 'Light Orange', + 'Yellow', + 'Pale Green', + 'Green', + 'Cyan', + 'Blue', + 'Strong Blue', + 'Purple', + 'Pink', +]; diff --git a/apps/theme/public/img/debug/space-man.png b/apps/theme/public/img/debug/space-man.png new file mode 100644 index 0000000000000000000000000000000000000000..3c38befaebaaa89b088d353d8a42381c30c21500 GIT binary patch literal 86941 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

KU4x^VNWHtlAB?_1Wwg{VEH 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 D+@cnj literal 0 HcmV?d00001 diff --git a/yarn.lock b/yarn.lock index 5e19e83d46..3cee0260b3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,6 +1,9 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + __metadata: version: 8 - cacheKey: merged + cacheKey: 10 "@adobe/css-tools@npm:^4.4.0": version: 4.4.0 @@ -29,16 +32,6 @@ __metadata: languageName: node linkType: hard -"@ampproject/remapping@npm:^2.2.0": - version: 2.2.1 - resolution: "@ampproject/remapping@npm:2.2.1" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.0" - "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: 10/e15fecbf3b54c988c8b4fdea8ef514ab482537e8a080b2978cc4b47ccca7140577ca7b65ad3322dcce65bc73ee6e5b90cbfe0bbd8c766dad04d5c62ec9634c42 - languageName: node - linkType: hard - "@ampproject/remapping@npm:^2.2.0, @ampproject/remapping@npm:^2.3.0": version: 2.3.0 resolution: "@ampproject/remapping@npm:2.3.0" @@ -49,39 +42,6 @@ __metadata: languageName: node linkType: hard -"@ampproject/remapping@npm:^2.3.0": - version: 2.3.0 - resolution: "@ampproject/remapping@npm:2.3.0" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10/f3451525379c68a73eb0a1e65247fbf28c0cccd126d93af21c75fceff77773d43c0d4a2d51978fb131aff25b5f2cb41a9fe48cc296e61ae65e679c4f6918b0ab - languageName: node - linkType: hard - -"@asamuzakjp/css-color@npm:^2.8.2": - version: 2.8.2 - resolution: "@asamuzakjp/css-color@npm:2.8.2" - dependencies: - "@csstools/css-calc": "npm:^2.1.1" - "@csstools/css-color-parser": "npm:^3.0.7" - "@csstools/css-parser-algorithms": "npm:^3.0.4" - "@csstools/css-tokenizer": "npm:^3.0.3" - lru-cache: "npm:^11.0.2" - checksum: 10/998885b5deae79d26719befe9cc7e6877ae55818226c1da7c3e901107eb9a2d961b8797cc0961372a23e72b8484899a2b7f06879e34ff7f49c1c35e55eb695d3 - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/code-frame@npm:7.23.5" - dependencies: - "@babel/highlight": "npm:^7.23.4" - chalk: "npm:^2.4.2" - checksum: 10/44e58529c9d93083288dc9e649c553c5ba997475a7b0758cc3ddc4d77b8a7d985dbe78cc39c9bbc61f26d50af6da1ddf0a3427eae8cc222a9370619b671ed8f5 - languageName: node - linkType: hard - "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0, @babel/code-frame@npm:^7.26.2": version: 7.26.2 resolution: "@babel/code-frame@npm:7.26.2" @@ -93,7 +53,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.24.7": +"@babel/code-frame@npm:^7.24.7": version: 7.24.7 resolution: "@babel/code-frame@npm:7.24.7" dependencies: @@ -103,13 +63,6 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.9": - version: 7.23.5 - resolution: "@babel/compat-data@npm:7.23.5" - checksum: 10/088f14f646ecbddd5ef89f120a60a1b3389a50a9705d44603dca77662707d0175a5e0e0da3943c3298f1907a4ab871468656fbbf74bb7842cd8b0686b2c19736 - languageName: node - linkType: hard - "@babel/compat-data@npm:^7.24.7": version: 7.24.7 resolution: "@babel/compat-data@npm:7.24.7" @@ -117,13 +70,6 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/compat-data@npm:7.25.2" - checksum: 10/fd61de9303db3177fc98173571f81f3f551eac5c9f839c05ad02818b11fe77a74daa632abebf7f423fbb4a29976ae9141e0d2bd7517746a0ff3d74cb659ad33a - languageName: node - linkType: hard - "@babel/compat-data@npm:^7.26.5": version: 7.26.5 resolution: "@babel/compat-data@npm:7.26.5" @@ -131,53 +77,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.22.5, @babel/core@npm:^7.23.9, @babel/core@npm:^7.24.7, @babel/core@npm:^7.7.5": - version: 7.25.2 - resolution: "@babel/core@npm:7.25.2" - dependencies: - "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.24.7" - "@babel/generator": "npm:^7.25.0" - "@babel/helper-compilation-targets": "npm:^7.25.2" - "@babel/helper-module-transforms": "npm:^7.25.2" - "@babel/helpers": "npm:^7.25.0" - "@babel/parser": "npm:^7.25.0" - "@babel/template": "npm:^7.25.0" - "@babel/traverse": "npm:^7.25.2" - "@babel/types": "npm:^7.25.2" - convert-source-map: "npm:^2.0.0" - debug: "npm:^4.1.0" - gensync: "npm:^1.0.0-beta.2" - json5: "npm:^2.2.3" - semver: "npm:^6.3.1" - checksum: 10/0d6ec10ff430df66f654c089d6f7ef1d9bed0c318ac257ad5f0dfa0caa45666011828ae75f998bcdb279763e892b091b2925d0bc483299e61649d2c7a2245e33 - languageName: node - linkType: hard - -"@babel/core@npm:^7.18.9": - version: 7.23.5 - resolution: "@babel/core@npm:7.23.5" - dependencies: - "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.23.5" - "@babel/generator": "npm:^7.23.5" - "@babel/helper-compilation-targets": "npm:^7.22.15" - "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helpers": "npm:^7.23.5" - "@babel/parser": "npm:^7.23.5" - "@babel/template": "npm:^7.22.15" - "@babel/traverse": "npm:^7.23.5" - "@babel/types": "npm:^7.23.5" - convert-source-map: "npm:^2.0.0" - debug: "npm:^4.1.0" - gensync: "npm:^1.0.0-beta.2" - json5: "npm:^2.2.3" - semver: "npm:^6.3.1" - checksum: 10/f24265172610dbffe0e315b6a8e8f87cf87d2643c8915196adcddd81c66a8eaeb1b36fea851e2308961636a180089a5f10becaa340d5b707d5f64e2e5ffb2bc8 - languageName: node - linkType: hard - -"@babel/core@npm:^7.18.9, @babel/core@npm:^7.21.3, @babel/core@npm:^7.24.7, @babel/core@npm:^7.26.0": +"@babel/core@npm:^7.18.9, @babel/core@npm:^7.24.7, @babel/core@npm:^7.26.0": version: 7.26.0 resolution: "@babel/core@npm:7.26.0" dependencies: @@ -200,7 +100,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.21.3, @babel/core@npm:^7.24.5": +"@babel/core@npm:^7.21.3": version: 7.24.7 resolution: "@babel/core@npm:7.24.7" dependencies: @@ -223,30 +123,6 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.22.5, @babel/generator@npm:^7.7.2": - version: 7.25.6 - resolution: "@babel/generator@npm:7.25.6" - dependencies: - "@babel/types": "npm:^7.25.6" - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.25" - jsesc: "npm:^2.5.1" - checksum: 10/541e4fbb6ea7806f44232d70f25bf09dee9a57fe43d559e375536870ca5261ebb4647fec3af40dcbb3325ea2a49aff040e12a4e6f88609eaa88f10c4e27e31f8 - languageName: node - linkType: hard - -"@babel/generator@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/generator@npm:7.23.5" - dependencies: - "@babel/types": "npm:^7.23.5" - "@jridgewell/gen-mapping": "npm:^0.3.2" - "@jridgewell/trace-mapping": "npm:^0.3.17" - jsesc: "npm:^2.5.1" - checksum: 10/094af79c2e8fdb0cfd06b42ff6a39a8a95639bc987cace44f52ed5c46127f5469eb20ab5f4c8991fc00fa9c1445a1977cde8e44289d6be29ddbb315fb0fc1b45 - languageName: node - linkType: hard - "@babel/generator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/generator@npm:7.24.7" @@ -293,19 +169,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/helper-compilation-targets@npm:7.22.15" - dependencies: - "@babel/compat-data": "npm:^7.22.9" - "@babel/helper-validator-option": "npm:^7.22.15" - browserslist: "npm:^4.21.9" - lru-cache: "npm:^5.1.1" - semver: "npm:^6.3.1" - checksum: 10/9706decaa1591cf44511b6f3447eb9653b50ca3538215fe2e5387a8598c258c062f4622da5b95e61f0415706534deee619bbf53a2889f9bd967949b8f6024e0e - languageName: node - linkType: hard - "@babel/helper-compilation-targets@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-compilation-targets@npm:7.24.7" @@ -319,19 +182,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/helper-compilation-targets@npm:7.25.2" - dependencies: - "@babel/compat-data": "npm:^7.25.2" - "@babel/helper-validator-option": "npm:^7.24.8" - browserslist: "npm:^4.23.1" - lru-cache: "npm:^5.1.1" - semver: "npm:^6.3.1" - checksum: 10/eccb2d75923d2d4d596f9ff64716e8664047c4192f1b44c7d5c07701d4a3498ac2587a72ddae1046e65a501bc630eb7df4557958b08ec2dcf5b4a264a052f111 - languageName: node - linkType: hard - "@babel/helper-compilation-targets@npm:^7.25.9": version: 7.26.5 resolution: "@babel/helper-compilation-targets@npm:7.26.5" @@ -362,13 +212,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-environment-visitor@npm:7.22.20" - checksum: 10/d80ee98ff66f41e233f36ca1921774c37e88a803b2f7dca3db7c057a5fea0473804db9fb6729e5dbfd07f4bed722d60f7852035c2c739382e84c335661590b69 - languageName: node - linkType: hard - "@babel/helper-environment-visitor@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-environment-visitor@npm:7.24.7" @@ -378,16 +221,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/helper-function-name@npm:7.23.0" - dependencies: - "@babel/template": "npm:^7.22.15" - "@babel/types": "npm:^7.23.0" - checksum: 10/7b2ae024cd7a09f19817daf99e0153b3bf2bc4ab344e197e8d13623d5e36117ed0b110914bc248faa64e8ccd3e97971ec7b41cc6fd6163a2b980220c58dcdf6d - languageName: node - linkType: hard - "@babel/helper-function-name@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-function-name@npm:7.24.7" @@ -398,15 +231,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-hoist-variables@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-hoist-variables@npm:7.22.5" - dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10/394ca191b4ac908a76e7c50ab52102669efe3a1c277033e49467913c7ed6f7c64d7eacbeabf3bed39ea1f41731e22993f763b1edce0f74ff8563fd1f380d92cc - languageName: node - linkType: hard - "@babel/helper-hoist-variables@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-hoist-variables@npm:7.24.7" @@ -426,15 +250,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/helper-module-imports@npm:7.22.15" - dependencies: - "@babel/types": "npm:^7.22.15" - checksum: 10/5ecf9345a73b80c28677cfbe674b9f567bb0d079e37dcba9055e36cb337db24ae71992a58e1affa9d14a60d3c69907d30fe1f80aea105184501750a58d15c81c - languageName: node - linkType: hard - "@babel/helper-module-imports@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-module-imports@npm:7.24.7" @@ -455,21 +270,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/helper-module-transforms@npm:7.23.3" - dependencies: - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-module-imports": "npm:^7.22.15" - "@babel/helper-simple-access": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/helper-validator-identifier": "npm:^7.22.20" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10/583fa580f8e50e6f45c4f46aa76a8e49c2528deb84e25f634d66461b9a0e2420e13979b0a607b67aef67eaf8db8668eb9edc038b4514b16e3879fe09e8fd294b - languageName: node - linkType: hard - "@babel/helper-module-transforms@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-module-transforms@npm:7.24.7" @@ -485,20 +285,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.24.8, @babel/helper-module-transforms@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/helper-module-transforms@npm:7.25.2" - dependencies: - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-simple-access": "npm:^7.24.7" - "@babel/helper-validator-identifier": "npm:^7.24.7" - "@babel/traverse": "npm:^7.25.2" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10/a3bcf7815f3e9d8b205e0af4a8d92603d685868e45d119b621357e274996bf916216bb95ab5c6a60fde3775b91941555bf129d608e3d025b04f8aac84589f300 - languageName: node - linkType: hard - "@babel/helper-module-transforms@npm:^7.24.8, @babel/helper-module-transforms@npm:^7.26.0": version: 7.26.0 resolution: "@babel/helper-module-transforms@npm:7.26.0" @@ -521,21 +307,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.8.0": - version: 7.22.5 - resolution: "@babel/helper-plugin-utils@npm:7.22.5" - checksum: 10/ab220db218089a2aadd0582f5833fd17fa300245999f5f8784b10f5a75267c4e808592284a29438a0da365e702f05acb369f99e1c915c02f9f9210ec60eab8ea - languageName: node - linkType: hard - -"@babel/helper-plugin-utils@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-plugin-utils@npm:7.24.7" - checksum: 10/dad51622f0123fdba4e2d40a81a6b7d6ef4b1491b2f92fd9749447a36bde809106cf117358705057a2adc8fd73d5dc090222e0561b1213dae8601c8367f5aac8 - languageName: node - linkType: hard - -"@babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.8.0": +"@babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.8.0": version: 7.26.5 resolution: "@babel/helper-plugin-utils@npm:7.26.5" checksum: 10/1cc0fd8514da3bb249bed6c27227696ab5e84289749d7258098701cffc0c599b7f61ec40dd332f8613030564b79899d9826813c96f966330bcfc7145a8377857 @@ -562,15 +334,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-simple-access@npm:7.22.5" - dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10/7d5430eecf880937c27d1aed14245003bd1c7383ae07d652b3932f450f60bfcf8f2c1270c593ab063add185108d26198c69d1aca0e6fb7c6fdada4bcf72ab5b7 - languageName: node - linkType: hard - "@babel/helper-simple-access@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-simple-access@npm:7.24.7" @@ -591,15 +354,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.22.6": - version: 7.22.6 - resolution: "@babel/helper-split-export-declaration@npm:7.22.6" - dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10/e141cace583b19d9195f9c2b8e17a3ae913b7ee9b8120246d0f9ca349ca6f03cb2c001fd5ec57488c544347c0bb584afec66c936511e447fd20a360e591ac921 - languageName: node - linkType: hard - "@babel/helper-split-export-declaration@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-split-export-declaration@npm:7.24.7" @@ -658,20 +412,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.22.15": - version: 7.23.5 - resolution: "@babel/helper-validator-option@npm:7.23.5" - checksum: 10/537cde2330a8aede223552510e8a13e9c1c8798afee3757995a7d4acae564124fe2bf7e7c3d90d62d3657434a74340a274b3b3b1c6f17e9a2be1f48af29cb09e - languageName: node - linkType: hard - -"@babel/helper-validator-option@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-validator-option@npm:7.24.7" - checksum: 10/9689166bf3f777dd424c026841c8cd651e41b21242dbfd4569a53086179a3e744c8eddd56e9d10b54142270141c91581b53af0d7c00c82d552d2540e2a919f7e - languageName: node - linkType: hard - "@babel/helper-validator-option@npm:^7.24.7, @babel/helper-validator-option@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-validator-option@npm:7.25.9" @@ -679,24 +419,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-validator-option@npm:7.24.8" - checksum: 10/a52442dfa74be6719c0608fee3225bd0493c4057459f3014681ea1a4643cd38b68ff477fe867c4b356da7330d085f247f0724d300582fa4ab9a02efaf34d107c - languageName: node - linkType: hard - -"@babel/helpers@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/helpers@npm:7.23.5" - dependencies: - "@babel/template": "npm:^7.22.15" - "@babel/traverse": "npm:^7.23.5" - "@babel/types": "npm:^7.23.5" - checksum: 10/84a813db55e03b5f47cef1210eb22751dae5dc3605bf62ff9acd4c248d857f94cb43dc7299e0edcec9312b31088f0d77f881282df2957e65a322b5412801cc24 - languageName: node - linkType: hard - "@babel/helpers@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helpers@npm:7.24.7" @@ -707,16 +429,6 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/helpers@npm:7.25.0" - dependencies: - "@babel/template": "npm:^7.25.0" - "@babel/types": "npm:^7.25.0" - checksum: 10/4fcb8167eba9853e30b8b235b81b923ef7b707396b0e23d7a4fa3e811729506755576cb9ec736e8b92cf19e5a1ec61e83d182904d8e6a0953803c6bebc2e1592 - languageName: node - linkType: hard - "@babel/helpers@npm:^7.26.0": version: 7.26.0 resolution: "@babel/helpers@npm:7.26.0" @@ -727,17 +439,6 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.23.4": - version: 7.23.4 - resolution: "@babel/highlight@npm:7.23.4" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.22.20" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - checksum: 10/62fef9b5bcea7131df4626d009029b1ae85332042f4648a4ce6e740c3fd23112603c740c45575caec62f260c96b11054d3be5987f4981a5479793579c3aac71f - languageName: node - linkType: hard - "@babel/highlight@npm:^7.24.7": version: 7.24.7 resolution: "@babel/highlight@npm:7.24.7" @@ -750,16 +451,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/parser@npm:7.23.5" - bin: - parser: ./bin/babel-parser.js - checksum: 10/828c250ace0c58f9dc311fd13ad3da34e86ed27a5c6b4183ce9d85be250e78eeb71a13f6d51a368c46f8cbe51106c726bfbb158bf46a89db3a168a0002d3050a - languageName: node - linkType: hard - -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.7, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.5": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.5": version: 7.26.5 resolution: "@babel/parser@npm:7.26.5" dependencies: @@ -770,26 +462,6 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.14.7, @babel/parser@npm:^7.23.9": - version: 7.25.6 - resolution: "@babel/parser@npm:7.25.6" - dependencies: - "@babel/types": "npm:^7.25.6" - bin: - parser: ./bin/babel-parser.js - checksum: 10/830aab72116aa14eb8d61bfa8f9d69fc8f3a43d909ce993cb4350ae14d3af1a2f740a54410a22d821c48a253263643dfecbc094f9608e6a70ce9ff3c0bbfe91a - languageName: node - linkType: hard - -"@babel/parser@npm:^7.24.4": - version: 7.24.4 - resolution: "@babel/parser@npm:7.24.4" - bin: - parser: ./bin/babel-parser.js - checksum: 10/3742cc5068036287e6395269dce5a2735e6349cdc8d4b53297c75f98c580d7e1c8cb43235623999d151f2ef975d677dbc2c2357573a1855caa71c271bf3046c9 - languageName: node - linkType: hard - "@babel/parser@npm:^7.24.7": version: 7.24.7 resolution: "@babel/parser@npm:7.24.7" @@ -810,291 +482,126 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-async-generators@npm:^7.8.4": - version: 7.8.4 - resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" +"@babel/plugin-syntax-flow@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/plugin-syntax-flow@npm:7.24.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" + "@babel/helper-plugin-utils": "npm:^7.24.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/7ed1c1d9b9e5b64ef028ea5e755c0be2d4e5e4e3d6cf7df757b9a8c4cfa4193d268176d0f1f7fbecdda6fe722885c7fda681f480f3741d8a2d26854736f05367 + checksum: 10/0a83bde6736110d68f3b20eda44ca020a6d34c336a342f84369207f5514e17779b9c3d3ebc2f1c94b595c13819f46bf7af367c4b1382bda182e1764655fd6a5a languageName: node linkType: hard -"@babel/plugin-syntax-bigint@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" +"@babel/plugin-syntax-jsx@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/plugin-syntax-jsx@npm:7.24.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" + "@babel/helper-plugin-utils": "npm:^7.24.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/3a10849d83e47aec50f367a9e56a6b22d662ddce643334b087f9828f4c3dd73bdc5909aaeabe123fed78515767f9ca43498a0e621c438d1cd2802d7fae3c9648 + checksum: 10/a93516ae5b34868ab892a95315027d4e5e38e8bd1cfca6158f2974b0901cbb32bbe64ea10ad5b25f919ddc40c6d8113c4823372909c9c9922170c12b0b1acecb languageName: node linkType: hard -"@babel/plugin-syntax-class-properties@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" dependencies: - "@babel/helper-plugin-utils": "npm:^7.12.13" + "@babel/helper-plugin-utils": "npm:^7.8.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/24f34b196d6342f28d4bad303612d7ff566ab0a013ce89e775d98d6f832969462e7235f3e7eaf17678a533d4be0ba45d3ae34ab4e5a9dcbda5d98d49e5efa2fc + checksum: 10/87aca4918916020d1fedba54c0e232de408df2644a425d153be368313fdde40d96088feed6c4e5ab72aac89be5d07fef2ddf329a15109c5eb65df006bf2580d1 languageName: node linkType: hard -"@babel/plugin-syntax-class-static-block@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" +"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" + "@babel/helper-plugin-utils": "npm:^7.8.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/3e80814b5b6d4fe17826093918680a351c2d34398a914ce6e55d8083d72a9bdde4fbaf6a2dcea0e23a03de26dc2917ae3efd603d27099e2b98380345703bf948 + checksum: 10/eef94d53a1453361553c1f98b68d17782861a04a392840341bc91780838dd4e695209c783631cf0de14c635758beafb6a3a65399846ffa4386bff90639347f30 languageName: node linkType: hard -"@babel/plugin-syntax-flow@npm:^7.24.7": +"@babel/plugin-syntax-typescript@npm:^7.24.7": version: 7.24.7 - resolution: "@babel/plugin-syntax-flow@npm:7.24.7" + resolution: "@babel/plugin-syntax-typescript@npm:7.24.7" dependencies: "@babel/helper-plugin-utils": "npm:^7.24.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/0a83bde6736110d68f3b20eda44ca020a6d34c336a342f84369207f5514e17779b9c3d3ebc2f1c94b595c13819f46bf7af367c4b1382bda182e1764655fd6a5a + checksum: 10/2518cc06323f5673c93142935879c112fea0ee836dfa9a9ec744fc972fdeaf22a06fe631c23817562aaaddadf64626a4fbba98c300b3e2c828f48f0f1cca0ce0 languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.24.7": - version: 7.25.6 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.25.6" +"@babel/plugin-transform-class-properties@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/plugin-transform-class-properties@npm:7.24.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/helper-create-class-features-plugin": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.24.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/5afeba6b8979e61e8e37af905514891920eab103a08b36216f5518474328f9fae5204357bfadf6ce4cc80cb96848cdb7b8989f164ae93bd063c86f3f586728c0 + checksum: 10/1c6f645dd3889257028f27bfbb04526ac7676763a923fc8203aa79aa5232820e0201cb858c73b684b1922327af10304121ac013c7b756876d54560a9c1a7bc79 languageName: node linkType: hard -"@babel/plugin-syntax-import-meta@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" +"@babel/plugin-transform-flow-strip-types@npm:^7.24.7": + version: 7.25.2 + resolution: "@babel/plugin-transform-flow-strip-types@npm:7.25.2" dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" + "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/plugin-syntax-flow": "npm:^7.24.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/166ac1125d10b9c0c430e4156249a13858c0366d38844883d75d27389621ebe651115cb2ceb6dc011534d5055719fa1727b59f39e1ab3ca97820eef3dcab5b9b + checksum: 10/b5a54395a5c6d7f94de78855f449398c9b850acc299e7d872774f695fdde6006a87bcc9e70ffe33d935883761e9a4e82328c9cff6e2afaf568f04fb646886706 languageName: node linkType: hard -"@babel/plugin-syntax-json-strings@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" +"@babel/plugin-transform-modules-commonjs@npm:^7.24.7": + version: 7.24.8 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.8" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" + "@babel/helper-module-transforms": "npm:^7.24.8" + "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/helper-simple-access": "npm:^7.24.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/bf5aea1f3188c9a507e16efe030efb996853ca3cadd6512c51db7233cc58f3ac89ff8c6bdfb01d30843b161cfe7d321e1bf28da82f7ab8d7e6bc5464666f354a + checksum: 10/18e5d229767c7b5b6ff0cbf1a8d2d555965b90201839d0ac2dc043b56857624ea344e59f733f028142a8c1d54923b82e2a0185694ef36f988d797bfbaf59819c languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.24.7": +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7": version: 7.24.7 - resolution: "@babel/plugin-syntax-jsx@npm:7.24.7" + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.24.7" dependencies: "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/a93516ae5b34868ab892a95315027d4e5e38e8bd1cfca6158f2974b0901cbb32bbe64ea10ad5b25f919ddc40c6d8113c4823372909c9c9922170c12b0b1acecb + checksum: 10/113cd24b6ce4d0a8e54ad9324428244942ce752a3fd38f8b615c3a786641ec18a00a01b662fe4cbebf369358f5904a975bbde0a977b839f2438b16f0d7d1dd36 languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.24.7, @babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.24.7 - resolution: "@babel/plugin-syntax-jsx@npm:7.24.7" +"@babel/plugin-transform-optional-chaining@npm:^7.24.7": + version: 7.24.8 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.8" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/a93516ae5b34868ab892a95315027d4e5e38e8bd1cfca6158f2974b0901cbb32bbe64ea10ad5b25f919ddc40c6d8113c4823372909c9c9922170c12b0b1acecb + checksum: 10/1f873fb9d86c280b64dfe5ebc59244b459b717ed72a7682da2386db3d9e11fc9d831cfc2e11d37262b4325a7a0e3ccbccfb8cd0b944caf199d3c9e03fff7b0af languageName: node linkType: hard -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/aff33577037e34e515911255cdbb1fd39efee33658aa00b8a5fd3a4b903585112d037cce1cc9e4632f0487dc554486106b79ccd5ea63a2e00df4363f6d4ff886 - languageName: node - linkType: hard - -"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/87aca4918916020d1fedba54c0e232de408df2644a425d153be368313fdde40d96088feed6c4e5ab72aac89be5d07fef2ddf329a15109c5eb65df006bf2580d1 - languageName: node - linkType: hard - -"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/01ec5547bd0497f76cc903ff4d6b02abc8c05f301c88d2622b6d834e33a5651aa7c7a3d80d8d57656a4588f7276eba357f6b7e006482f5b564b7a6488de493a1 - languageName: node - linkType: hard - -"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/fddcf581a57f77e80eb6b981b10658421bc321ba5f0a5b754118c6a92a5448f12a0c336f77b8abf734841e102e5126d69110a306eadb03ca3e1547cab31f5cbf - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/910d90e72bc90ea1ce698e89c1027fed8845212d5ab588e35ef91f13b93143845f94e2539d831dc8d8ededc14ec02f04f7bd6a8179edd43a326c784e7ed7f0b9 - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/eef94d53a1453361553c1f98b68d17782861a04a392840341bc91780838dd4e695209c783631cf0de14c635758beafb6a3a65399846ffa4386bff90639347f30 - languageName: node - linkType: hard - -"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/b317174783e6e96029b743ccff2a67d63d38756876e7e5d0ba53a322e38d9ca452c13354a57de1ad476b4c066dbae699e0ca157441da611117a47af88985ecda - languageName: node - linkType: hard - -"@babel/plugin-syntax-top-level-await@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/bbd1a56b095be7820029b209677b194db9b1d26691fe999856462e66b25b281f031f3dfd91b1619e9dcf95bebe336211833b854d0fb8780d618e35667c2d0d7e - languageName: node - linkType: hard - -"@babel/plugin-syntax-typescript@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-typescript@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/2518cc06323f5673c93142935879c112fea0ee836dfa9a9ec744fc972fdeaf22a06fe631c23817562aaaddadf64626a4fbba98c300b3e2c828f48f0f1cca0ce0 - languageName: node - linkType: hard - -"@babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.25.4 - resolution: "@babel/plugin-syntax-typescript@npm:7.25.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/0771b45a35fd536cd3b3a48e5eda0f53e2d4f4a0ca07377cc247efa39eaf6002ed1c478106aad2650e54aefaebcb4f34f3284c4ae9252695dbd944bf66addfb0 - languageName: node - linkType: hard - -"@babel/plugin-transform-class-properties@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-class-properties@npm:7.24.7" - dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/1c6f645dd3889257028f27bfbb04526ac7676763a923fc8203aa79aa5232820e0201cb858c73b684b1922327af10304121ac013c7b756876d54560a9c1a7bc79 - languageName: node - linkType: hard - -"@babel/plugin-transform-flow-strip-types@npm:^7.24.7": - version: 7.25.2 - resolution: "@babel/plugin-transform-flow-strip-types@npm:7.25.2" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/plugin-syntax-flow": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/b5a54395a5c6d7f94de78855f449398c9b850acc299e7d872774f695fdde6006a87bcc9e70ffe33d935883761e9a4e82328c9cff6e2afaf568f04fb646886706 - languageName: node - linkType: hard - -"@babel/plugin-transform-modules-commonjs@npm:^7.24.7": - version: 7.24.8 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.8" - dependencies: - "@babel/helper-module-transforms": "npm:^7.24.8" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-simple-access": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/18e5d229767c7b5b6ff0cbf1a8d2d555965b90201839d0ac2dc043b56857624ea344e59f733f028142a8c1d54923b82e2a0185694ef36f988d797bfbaf59819c - languageName: node - linkType: hard - -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/113cd24b6ce4d0a8e54ad9324428244942ce752a3fd38f8b615c3a786641ec18a00a01b662fe4cbebf369358f5904a975bbde0a977b839f2438b16f0d7d1dd36 - languageName: node - linkType: hard - -"@babel/plugin-transform-optional-chaining@npm:^7.24.7": - version: 7.24.8 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.8" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/1f873fb9d86c280b64dfe5ebc59244b459b717ed72a7682da2386db3d9e11fc9d831cfc2e11d37262b4325a7a0e3ccbccfb8cd0b944caf199d3c9e03fff7b0af - languageName: node - linkType: hard - -"@babel/plugin-transform-private-methods@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-private-methods@npm:7.24.7" +"@babel/plugin-transform-private-methods@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/plugin-transform-private-methods@npm:7.24.7" dependencies: "@babel/helper-create-class-features-plugin": "npm:^7.24.7" "@babel/helper-plugin-utils": "npm:^7.24.7" @@ -1104,17 +611,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-self@npm:^7.24.5": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-jsx-self@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/56115b4a6c006ce82846f1ab21e5ba713ee8f57a166c96c94fc632cdfbc8b9cebbf20b7cd9b8076439dabecdbf0f8ca4c2cb1bed1bf0b15cb44505a429f6a92f - languageName: node - linkType: hard - "@babel/plugin-transform-react-jsx-self@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-react-jsx-self@npm:7.25.9" @@ -1126,17 +622,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-source@npm:^7.24.1": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-jsx-source@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/682e2ae15d788453d8ab34cf0dcc29c093faf7c7cf1d60110c43f33e6477f916cf301456b314fc496fadc07123f7978225f41ac286ed0bfbad9c8e76392fdb6d - languageName: node - linkType: hard - "@babel/plugin-transform-react-jsx-source@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-react-jsx-source@npm:7.25.9" @@ -1206,25 +691,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.18.3": - version: 7.26.0 - resolution: "@babel/runtime@npm:7.26.0" - dependencies: - regenerator-runtime: "npm:^0.14.0" - checksum: 10/9f4ea1c1d566c497c052d505587554e782e021e6ccd302c2ad7ae8291c8e16e3f19d4a7726fb64469e057779ea2081c28b7dbefec6d813a22f08a35712c0f699 - languageName: node - linkType: hard - -"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7": - version: 7.24.5 - resolution: "@babel/runtime@npm:7.24.5" - dependencies: - regenerator-runtime: "npm:^0.14.0" - checksum: 10/e0f4f4d4503f7338749d1dd92361ad132d683bde64e6b61d6c855e100dcd01592295fcfdcc960c946b85ef7908dc2f501080da58447c05812cf3cd80c599bb62 - languageName: node - linkType: hard - -"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.9.2": +"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.3.1": version: 7.23.2 resolution: "@babel/runtime@npm:7.23.2" dependencies: @@ -1233,15 +700,6 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.20.1": - version: 7.24.8 - resolution: "@babel/runtime@npm:7.24.8" - dependencies: - regenerator-runtime: "npm:^0.14.0" - checksum: 10/e6f335e472a8a337379effc15815dd0eddf6a7d0c00b50deb4f9e9585819b45431d0ff3c2d3d0fa58c227a9b04dcc4a85e7245fb57493adb2863b5208c769cbd - languageName: node - linkType: hard - "@babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7": version: 7.24.5 resolution: "@babel/runtime@npm:7.24.5" @@ -1251,18 +709,18 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/template@npm:7.22.15" +"@babel/template@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/template@npm:7.24.7" dependencies: - "@babel/code-frame": "npm:^7.22.13" - "@babel/parser": "npm:^7.22.15" - "@babel/types": "npm:^7.22.15" - checksum: 10/21e768e4eed4d1da2ce5d30aa51db0f4d6d8700bc1821fec6292587df7bba2fe1a96451230de8c64b989740731888ebf1141138bfffb14cacccf4d05c66ad93f + "@babel/code-frame": "npm:^7.24.7" + "@babel/parser": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10/5975d404ef51cf379515eb0f80b115981d0b9dff5539e53a47516644abb8c83d7559f5b083eb1d4977b20d8359ebb2f911ccd4f729143f8958fdc465f976d843 languageName: node linkType: hard -"@babel/template@npm:^7.22.5, @babel/template@npm:^7.25.0, @babel/template@npm:^7.3.3": +"@babel/template@npm:^7.25.0": version: 7.25.0 resolution: "@babel/template@npm:7.25.0" dependencies: @@ -1273,17 +731,6 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/template@npm:7.24.7" - dependencies: - "@babel/code-frame": "npm:^7.24.7" - "@babel/parser": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10/5975d404ef51cf379515eb0f80b115981d0b9dff5539e53a47516644abb8c83d7559f5b083eb1d4977b20d8359ebb2f911ccd4f729143f8958fdc465f976d843 - languageName: node - linkType: hard - "@babel/template@npm:^7.25.9": version: 7.25.9 resolution: "@babel/template@npm:7.25.9" @@ -1295,25 +742,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/traverse@npm:7.23.5" - dependencies: - "@babel/code-frame": "npm:^7.23.5" - "@babel/generator": "npm:^7.23.5" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-hoist-variables": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/parser": "npm:^7.23.5" - "@babel/types": "npm:^7.23.5" - debug: "npm:^4.1.0" - globals: "npm:^11.1.0" - checksum: 10/281cae2765caad88c7af6214eab3647db0e9cadc7ffcd3fd924f09fbb9bd09d97d6fb210794b7545c317ce417a30016636530043a455ba6922349e39c1ba622a - languageName: node - linkType: hard - -"@babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.24.8, @babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.9": +"@babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.25.9": version: 7.26.5 resolution: "@babel/traverse@npm:7.26.5" dependencies: @@ -1346,7 +775,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.24.8, @babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.2": +"@babel/traverse@npm:^7.24.8, @babel/traverse@npm:^7.25.0": version: 7.25.3 resolution: "@babel/traverse@npm:7.25.3" dependencies: @@ -1361,17 +790,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.25.4, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.5": - version: 7.26.5 - resolution: "@babel/types@npm:7.26.5" - dependencies: - "@babel/helper-string-parser": "npm:^7.25.9" - "@babel/helper-validator-identifier": "npm:^7.25.9" - checksum: 10/148f6bead7bc39371176ba681873c930087503a8bfd2b0dab5090de32752241806c95f4e87cee8b2976bb0277c6cbc150f16c333fc90269634b711d3711c0f18 - languageName: node - linkType: hard - -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.5, @babel/types@npm:^7.8.3": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.8.3": version: 7.23.5 resolution: "@babel/types@npm:7.23.5" dependencies: @@ -1393,17 +812,6 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.24.0": - version: 7.24.0 - resolution: "@babel/types@npm:7.24.0" - dependencies: - "@babel/helper-string-parser": "npm:^7.23.4" - "@babel/helper-validator-identifier": "npm:^7.22.20" - to-fast-properties: "npm:^2.0.0" - checksum: 10/a0b4875ce2e132f9daff0d5b27c7f4c4fcc97f2b084bdc5834e92c9d32592778489029e65d99d00c406da612d87b72d7a236c0afccaa1435c028d0c94c9b6da4 - languageName: node - linkType: hard - "@babel/types@npm:^7.24.8, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2": version: 7.25.2 resolution: "@babel/types@npm:7.25.2" @@ -1415,21 +823,13 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.25.6, @babel/types@npm:^7.3.3": - version: 7.25.6 - resolution: "@babel/types@npm:7.25.6" +"@babel/types@npm:^7.25.4, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/types@npm:7.26.5" dependencies: - "@babel/helper-string-parser": "npm:^7.24.8" - "@babel/helper-validator-identifier": "npm:^7.24.7" - to-fast-properties: "npm:^2.0.0" - checksum: 10/7b54665e1b51f525fe0f451efdd9fe7a4a6dfba3fd4956c3530bc77336b66ffe3d78c093796ed044119b5d213176af7cf326f317a2057c538d575c6cefcb3562 - languageName: node - linkType: hard - -"@base2/pretty-print-object@npm:1.0.1": - version: 1.0.1 - resolution: "@base2/pretty-print-object@npm:1.0.1" - checksum: 10/c1b78a521ac712baa076589f3bc81318d07c34a5747e9177b6af37043592252587d98f9b7b59ec174968c6bea31a99fe4d7884121173a449b75fe602b7eb2839 + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10/148f6bead7bc39371176ba681873c930087503a8bfd2b0dab5090de32752241806c95f4e87cee8b2976bb0277c6cbc150f16c333fc90269634b711d3711c0f18 languageName: node linkType: hard @@ -1447,41 +847,6 @@ __metadata: languageName: node linkType: hard -"@biomejs/biome@npm:1.9.3": - version: 1.9.3 - resolution: "@biomejs/biome@npm:1.9.3" - dependencies: - "@biomejs/cli-darwin-arm64": "npm:1.9.3" - "@biomejs/cli-darwin-x64": "npm:1.9.3" - "@biomejs/cli-linux-arm64": "npm:1.9.3" - "@biomejs/cli-linux-arm64-musl": "npm:1.9.3" - "@biomejs/cli-linux-x64": "npm:1.9.3" - "@biomejs/cli-linux-x64-musl": "npm:1.9.3" - "@biomejs/cli-win32-arm64": "npm:1.9.3" - "@biomejs/cli-win32-x64": "npm:1.9.3" - dependenciesMeta: - "@biomejs/cli-darwin-arm64": - optional: true - "@biomejs/cli-darwin-x64": - optional: true - "@biomejs/cli-linux-arm64": - optional: true - "@biomejs/cli-linux-arm64-musl": - optional: true - "@biomejs/cli-linux-x64": - optional: true - "@biomejs/cli-linux-x64-musl": - optional: true - "@biomejs/cli-win32-arm64": - optional: true - "@biomejs/cli-win32-x64": - optional: true - bin: - biome: bin/biome - checksum: 10/22278454245f3ca178762df09721389abb884fbce87f834f6979a6a9d8db397df160a6d5019a3c7f6bd7d54d136bfaf1b6d3e6852fd9cf45bebc2be0337cb7dd - languageName: node - linkType: hard - "@biomejs/biome@npm:1.9.4": version: 1.9.4 resolution: "@biomejs/biome@npm:1.9.4" @@ -1517,130 +882,58 @@ __metadata: languageName: node linkType: hard -"@biomejs/cli-darwin-arm64@npm:1.9.3": - version: 1.9.3 - resolution: "@biomejs/cli-darwin-arm64@npm:1.9.3" - checksum: 10/undefined - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "@biomejs/cli-darwin-arm64@npm:1.9.4": version: 1.9.4 resolution: "@biomejs/cli-darwin-arm64@npm:1.9.4" - checksum: 10/undefined conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@biomejs/cli-darwin-x64@npm:1.9.3": - version: 1.9.3 - resolution: "@biomejs/cli-darwin-x64@npm:1.9.3" - checksum: 10/undefined - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "@biomejs/cli-darwin-x64@npm:1.9.4": version: 1.9.4 resolution: "@biomejs/cli-darwin-x64@npm:1.9.4" - checksum: 10/undefined conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@biomejs/cli-linux-arm64-musl@npm:1.9.3": - version: 1.9.3 - resolution: "@biomejs/cli-linux-arm64-musl@npm:1.9.3" - checksum: 10/undefined - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - "@biomejs/cli-linux-arm64-musl@npm:1.9.4": version: 1.9.4 resolution: "@biomejs/cli-linux-arm64-musl@npm:1.9.4" - checksum: 10/undefined conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@biomejs/cli-linux-arm64@npm:1.9.3": - version: 1.9.3 - resolution: "@biomejs/cli-linux-arm64@npm:1.9.3" - checksum: 10/undefined - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - "@biomejs/cli-linux-arm64@npm:1.9.4": version: 1.9.4 resolution: "@biomejs/cli-linux-arm64@npm:1.9.4" - checksum: 10/undefined conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@biomejs/cli-linux-x64-musl@npm:1.9.3": - version: 1.9.3 - resolution: "@biomejs/cli-linux-x64-musl@npm:1.9.3" - checksum: 10/undefined - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - "@biomejs/cli-linux-x64-musl@npm:1.9.4": version: 1.9.4 resolution: "@biomejs/cli-linux-x64-musl@npm:1.9.4" - checksum: 10/undefined conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@biomejs/cli-linux-x64@npm:1.9.3": - version: 1.9.3 - resolution: "@biomejs/cli-linux-x64@npm:1.9.3" - checksum: 10/undefined - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - "@biomejs/cli-linux-x64@npm:1.9.4": version: 1.9.4 resolution: "@biomejs/cli-linux-x64@npm:1.9.4" - checksum: 10/undefined conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@biomejs/cli-win32-arm64@npm:1.9.3": - version: 1.9.3 - resolution: "@biomejs/cli-win32-arm64@npm:1.9.3" - checksum: 10/undefined - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - "@biomejs/cli-win32-arm64@npm:1.9.4": version: 1.9.4 resolution: "@biomejs/cli-win32-arm64@npm:1.9.4" - checksum: 10/undefined conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@biomejs/cli-win32-x64@npm:1.9.3": - version: 1.9.3 - resolution: "@biomejs/cli-win32-x64@npm:1.9.3" - checksum: 10/undefined - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@biomejs/cli-win32-x64@npm:1.9.4": version: 1.9.4 resolution: "@biomejs/cli-win32-x64@npm:1.9.4" - checksum: 10/undefined conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -1722,28 +1015,6 @@ __metadata: languageName: node linkType: hard -"@changesets/apply-release-plan@npm:^7.0.4": - version: 7.0.4 - resolution: "@changesets/apply-release-plan@npm:7.0.4" - dependencies: - "@babel/runtime": "npm:^7.20.1" - "@changesets/config": "npm:^3.0.2" - "@changesets/get-version-range-type": "npm:^0.4.0" - "@changesets/git": "npm:^3.0.0" - "@changesets/should-skip-package": "npm:^0.1.0" - "@changesets/types": "npm:^6.0.0" - "@manypkg/get-packages": "npm:^1.1.3" - detect-indent: "npm:^6.0.0" - fs-extra: "npm:^7.0.1" - lodash.startcase: "npm:^4.4.0" - outdent: "npm:^0.5.0" - prettier: "npm:^2.7.1" - resolve-from: "npm:^5.0.0" - semver: "npm:^7.5.3" - checksum: 10/793ea2bbe52994120a74b71428abe8c7c406e41b8e6be764069e26338cf21b860bb9609e5144a68e990d7c9115a95b9f2da1aa3631aab4034a5caf306ced41e8 - languageName: node - linkType: hard - "@changesets/apply-release-plan@npm:^7.0.7": version: 7.0.7 resolution: "@changesets/apply-release-plan@npm:7.0.7" @@ -1765,21 +1036,6 @@ __metadata: languageName: node linkType: hard -"@changesets/assemble-release-plan@npm:^6.0.3": - version: 6.0.3 - resolution: "@changesets/assemble-release-plan@npm:6.0.3" - dependencies: - "@babel/runtime": "npm:^7.20.1" - "@changesets/errors": "npm:^0.2.0" - "@changesets/get-dependents-graph": "npm:^2.1.1" - "@changesets/should-skip-package": "npm:^0.1.0" - "@changesets/types": "npm:^6.0.0" - "@manypkg/get-packages": "npm:^1.1.3" - semver: "npm:^7.5.3" - checksum: 10/dca064e03369ad797227c4640f05e89971f3bf9fe05cc66e3db2c43f10910be307b2a0929f0b655321f58e98611392789ab13a542a4858c97e5ebf84db24fe88 - languageName: node - linkType: hard - "@changesets/assemble-release-plan@npm:^6.0.5": version: 6.0.5 resolution: "@changesets/assemble-release-plan@npm:6.0.5" @@ -1852,63 +1108,6 @@ __metadata: languageName: node linkType: hard -"@changesets/cli@npm:^2.27.7": - version: 2.27.7 - resolution: "@changesets/cli@npm:2.27.7" - dependencies: - "@babel/runtime": "npm:^7.20.1" - "@changesets/apply-release-plan": "npm:^7.0.4" - "@changesets/assemble-release-plan": "npm:^6.0.3" - "@changesets/changelog-git": "npm:^0.2.0" - "@changesets/config": "npm:^3.0.2" - "@changesets/errors": "npm:^0.2.0" - "@changesets/get-dependents-graph": "npm:^2.1.1" - "@changesets/get-release-plan": "npm:^4.0.3" - "@changesets/git": "npm:^3.0.0" - "@changesets/logger": "npm:^0.1.0" - "@changesets/pre": "npm:^2.0.0" - "@changesets/read": "npm:^0.6.0" - "@changesets/should-skip-package": "npm:^0.1.0" - "@changesets/types": "npm:^6.0.0" - "@changesets/write": "npm:^0.3.1" - "@manypkg/get-packages": "npm:^1.1.3" - "@types/semver": "npm:^7.5.0" - ansi-colors: "npm:^4.1.3" - chalk: "npm:^2.1.0" - ci-info: "npm:^3.7.0" - enquirer: "npm:^2.3.0" - external-editor: "npm:^3.1.0" - fs-extra: "npm:^7.0.1" - human-id: "npm:^1.0.2" - mri: "npm:^1.2.0" - outdent: "npm:^0.5.0" - p-limit: "npm:^2.2.0" - preferred-pm: "npm:^3.0.0" - resolve-from: "npm:^5.0.0" - semver: "npm:^7.5.3" - spawndamnit: "npm:^2.0.0" - term-size: "npm:^2.1.0" - bin: - changeset: bin.js - checksum: 10/17998972706aad3974dfc425d523a2444462aa126bb330f653eb596d3f162eba6df0355b4f489540e20cbd6302f5794f55b5453dc07efa82c13935cd650b05f3 - languageName: node - linkType: hard - -"@changesets/config@npm:^3.0.2": - version: 3.0.2 - resolution: "@changesets/config@npm:3.0.2" - dependencies: - "@changesets/errors": "npm:^0.2.0" - "@changesets/get-dependents-graph": "npm:^2.1.1" - "@changesets/logger": "npm:^0.1.0" - "@changesets/types": "npm:^6.0.0" - "@manypkg/get-packages": "npm:^1.1.3" - fs-extra: "npm:^7.0.1" - micromatch: "npm:^4.0.2" - checksum: 10/f341b3f13b36540ee79c0bcd0ee19740c0e898b9dcb76daf8fc6906183e4154eaa72a28a254fbbc14d76307c20b36588146433dffa0e9557cc2551228507a27d - languageName: node - linkType: hard - "@changesets/config@npm:^3.0.5": version: 3.0.5 resolution: "@changesets/config@npm:3.0.5" @@ -1933,19 +1132,6 @@ __metadata: languageName: node linkType: hard -"@changesets/get-dependents-graph@npm:^2.1.1": - version: 2.1.1 - resolution: "@changesets/get-dependents-graph@npm:2.1.1" - dependencies: - "@changesets/types": "npm:^6.0.0" - "@manypkg/get-packages": "npm:^1.1.3" - chalk: "npm:^2.1.0" - fs-extra: "npm:^7.0.1" - semver: "npm:^7.5.3" - checksum: 10/abe99b47f640e48fa4cdcb79d11ce8ede21a6a0a0a9ee3cd180a5b7c9775df99f44718f4417ba7d66d9469e58a2929986d1bf1e1009fa6e44d3a174a06559eca - languageName: node - linkType: hard - "@changesets/get-dependents-graph@npm:^2.1.2": version: 2.1.2 resolution: "@changesets/get-dependents-graph@npm:2.1.2" @@ -1958,16 +1144,6 @@ __metadata: languageName: node linkType: hard -"@changesets/get-github-info@npm:^0.5.2": - version: 0.5.2 - resolution: "@changesets/get-github-info@npm:0.5.2" - dependencies: - dataloader: "npm:^1.4.0" - node-fetch: "npm:^2.5.0" - checksum: 10/d1fb63ff7d9aa6aef91a4d2f3649b984e59687340e49350f8d1870a2fc150eaa1530bd3e5a07992a0cfe2fb57fedd91dd42eae0e4b845c83f5d98abbfc14f155 - languageName: node - linkType: hard - "@changesets/get-github-info@npm:^0.6.0": version: 0.6.0 resolution: "@changesets/get-github-info@npm:0.6.0" @@ -1978,21 +1154,6 @@ __metadata: languageName: node linkType: hard -"@changesets/get-release-plan@npm:^4.0.3": - version: 4.0.3 - resolution: "@changesets/get-release-plan@npm:4.0.3" - dependencies: - "@babel/runtime": "npm:^7.20.1" - "@changesets/assemble-release-plan": "npm:^6.0.3" - "@changesets/config": "npm:^3.0.2" - "@changesets/pre": "npm:^2.0.0" - "@changesets/read": "npm:^0.6.0" - "@changesets/types": "npm:^6.0.0" - "@manypkg/get-packages": "npm:^1.1.3" - checksum: 10/b85c3e873b224c771159b62512109d4fd73022cba4148d0d00614d69cc6d11dcbdb07c39d28f5e078f3221dadc0d09b93bb785dad72db9e589139a18e22767e2 - languageName: node - linkType: hard - "@changesets/get-release-plan@npm:^4.0.6": version: 4.0.6 resolution: "@changesets/get-release-plan@npm:4.0.6" @@ -2014,21 +1175,6 @@ __metadata: languageName: node linkType: hard -"@changesets/git@npm:^3.0.0": - version: 3.0.0 - resolution: "@changesets/git@npm:3.0.0" - dependencies: - "@babel/runtime": "npm:^7.20.1" - "@changesets/errors": "npm:^0.2.0" - "@changesets/types": "npm:^6.0.0" - "@manypkg/get-packages": "npm:^1.1.3" - is-subdir: "npm:^1.1.1" - micromatch: "npm:^4.0.2" - spawndamnit: "npm:^2.0.0" - checksum: 10/483beda9523d0d353ef51b6557a0a7e18fcb8bbd7b32ded0460c893acd6ffcae7dd680c5162e26892fc08b899ca8040e655c6acc391cff088262d475747d8f76 - languageName: node - linkType: hard - "@changesets/git@npm:^3.0.2": version: 3.0.2 resolution: "@changesets/git@npm:3.0.2" @@ -2042,15 +1188,6 @@ __metadata: languageName: node linkType: hard -"@changesets/logger@npm:^0.1.0": - version: 0.1.0 - resolution: "@changesets/logger@npm:0.1.0" - dependencies: - chalk: "npm:^2.1.0" - checksum: 10/88a54c3a757e3478892a4e455377e7d3f0df88a616476c70e4bce18d01930bb84d4ac5b8f39779f92e8a582a5527435c823b6d8fafdf7d8b124a3f3efec46959 - languageName: node - linkType: hard - "@changesets/logger@npm:^0.1.1": version: 0.1.1 resolution: "@changesets/logger@npm:0.1.1" @@ -2070,19 +1207,6 @@ __metadata: languageName: node linkType: hard -"@changesets/pre@npm:^2.0.0": - version: 2.0.0 - resolution: "@changesets/pre@npm:2.0.0" - dependencies: - "@babel/runtime": "npm:^7.20.1" - "@changesets/errors": "npm:^0.2.0" - "@changesets/types": "npm:^6.0.0" - "@manypkg/get-packages": "npm:^1.1.3" - fs-extra: "npm:^7.0.1" - checksum: 10/210158d93efbb6592047340132c58beb7133d22d6bd8c668c63dc2764997591718849b77b25083383670887993c33969da0c6ca2d378ac7635db216177de993e - languageName: node - linkType: hard - "@changesets/pre@npm:^2.0.1": version: 2.0.1 resolution: "@changesets/pre@npm:2.0.1" @@ -2095,22 +1219,6 @@ __metadata: languageName: node linkType: hard -"@changesets/read@npm:^0.6.0": - version: 0.6.0 - resolution: "@changesets/read@npm:0.6.0" - dependencies: - "@babel/runtime": "npm:^7.20.1" - "@changesets/git": "npm:^3.0.0" - "@changesets/logger": "npm:^0.1.0" - "@changesets/parse": "npm:^0.4.0" - "@changesets/types": "npm:^6.0.0" - chalk: "npm:^2.1.0" - fs-extra: "npm:^7.0.1" - p-filter: "npm:^2.1.0" - checksum: 10/665b52499c1d9e6e837a9fc0b5fc7bade5fd10e4901557d36dfc0fa01f98884f6567acd99e1e44e072febcd7bf8025391b2d5f9f62aceb3d1842ff7ae1416ade - languageName: node - linkType: hard - "@changesets/read@npm:^0.6.2": version: 0.6.2 resolution: "@changesets/read@npm:0.6.2" @@ -2126,17 +1234,6 @@ __metadata: languageName: node linkType: hard -"@changesets/should-skip-package@npm:^0.1.0": - version: 0.1.0 - resolution: "@changesets/should-skip-package@npm:0.1.0" - dependencies: - "@babel/runtime": "npm:^7.20.1" - "@changesets/types": "npm:^6.0.0" - "@manypkg/get-packages": "npm:^1.1.3" - checksum: 10/3c966feae085a41d4ce10a46a1b525f980cec59951f7cf23ea805866b370de5c75fdd45af326e1a5ef502fa4846f821d9df15550c2b606b96e99ed4b967f01c0 - languageName: node - linkType: hard - "@changesets/should-skip-package@npm:^0.1.1": version: 0.1.1 resolution: "@changesets/should-skip-package@npm:0.1.1" @@ -2161,19 +1258,6 @@ __metadata: languageName: node linkType: hard -"@changesets/write@npm:^0.3.1": - version: 0.3.1 - resolution: "@changesets/write@npm:0.3.1" - dependencies: - "@babel/runtime": "npm:^7.20.1" - "@changesets/types": "npm:^6.0.0" - fs-extra: "npm:^7.0.1" - human-id: "npm:^1.0.2" - prettier: "npm:^2.7.1" - checksum: 10/13b9284e8cb9c55456b62fe4b8e27ab615e46b0214e1a62194afd4ecb33f5e6617478e01b031209d16348e01c7bce5a37cb18afe688c81d98f3657d7c40cc2c9 - languageName: node - linkType: hard - "@changesets/write@npm:^0.3.2": version: 0.3.2 resolution: "@changesets/write@npm:0.3.2" @@ -2186,28 +1270,6 @@ __metadata: languageName: node linkType: hard -"@chromatic-com/storybook@npm:^1.6.1": - version: 1.6.1 - resolution: "@chromatic-com/storybook@npm:1.6.1" - dependencies: - chromatic: "npm:^11.4.0" - filesize: "npm:^10.0.12" - jsonfile: "npm:^6.1.0" - react-confetti: "npm:^6.1.0" - strip-ansi: "npm:^7.1.0" - checksum: 10/759a37ace8c82ee277d2722a0a1f724a8700be6efee9611cede7a328df20f85fcd4d9cb3a6813352a53c65e8267e6985c305d09dab0f16f3495198d0300e8798 - languageName: node - linkType: hard - -"@commander-js/extra-typings@npm:^12.1.0": - version: 12.1.0 - resolution: "@commander-js/extra-typings@npm:12.1.0" - peerDependencies: - commander: ~12.1.0 - checksum: 10/489ef40dcf18508da5d8db288fa1536e294773b8d07e4c1edee6709972fe4310e3713819ef10bdc1d234615c5cf42df6acf9ddce0b31c6c8114be704fd626971 - languageName: node - linkType: hard - "@commander-js/extra-typings@npm:^13.0.0": version: 13.0.0 resolution: "@commander-js/extra-typings@npm:13.0.0" @@ -2224,61 +1286,6 @@ __metadata: languageName: node linkType: hard -"@csstools/color-helpers@npm:^5.0.1": - version: 5.0.1 - resolution: "@csstools/color-helpers@npm:5.0.1" - checksum: 10/4cb25b34997c9b0e9f401833e27942636494bc3c7fda5c6633026bc3fdfdda1c67be68ea048058bfba449a86ec22332e23b4ec5982452c50b67880c4cb13a660 - languageName: node - linkType: hard - -"@csstools/css-calc@npm:^2.1.1": - version: 2.1.1 - resolution: "@csstools/css-calc@npm:2.1.1" - peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.4 - "@csstools/css-tokenizer": ^3.0.3 - checksum: 10/60e8808c261eeebb15517c0f368672494095bb10e90177dfc492f956fc432760d84b17dc19db739a2e23cac0013f4bcf37bb93947f9741b95b7227eeaced250b - languageName: node - linkType: hard - -"@csstools/css-color-parser@npm:^3.0.7": - version: 3.0.7 - resolution: "@csstools/css-color-parser@npm:3.0.7" - dependencies: - "@csstools/color-helpers": "npm:^5.0.1" - "@csstools/css-calc": "npm:^2.1.1" - peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.4 - "@csstools/css-tokenizer": ^3.0.3 - checksum: 10/efceb60608f3fc2b6da44d5be7720a8b302e784f05c1c12f17a1da4b4b9893b2e20d0ea74ac2c2d6d5ca9b64ee046d05f803c7b78581fd5a3f85e78acfc5d98e - languageName: node - linkType: hard - -"@csstools/css-parser-algorithms@npm:^3.0.4": - version: 3.0.4 - resolution: "@csstools/css-parser-algorithms@npm:3.0.4" - peerDependencies: - "@csstools/css-tokenizer": ^3.0.3 - checksum: 10/dfb6926218d9f8ba25d8b43ea46c03863c819481f8c55e4de4925780eaab9e6bcd6bead1d56b4ef82d09fcd9d69a7db2750fa9db08eece9470fd499dc76d0edb - languageName: node - linkType: hard - -"@csstools/css-tokenizer@npm:^3.0.3": - version: 3.0.3 - resolution: "@csstools/css-tokenizer@npm:3.0.3" - checksum: 10/6baa3160e426e1f177b8f10d54ec7a4a596090f65a05f16d7e9e4da049962a404eabc5f885f4867093702c259cd4080ac92a438326e22dea015201b3e71f5bbb - languageName: node - linkType: hard - -"@csstools/selector-resolve-nested@npm:^2.0.0": - version: 2.0.0 - resolution: "@csstools/selector-resolve-nested@npm:2.0.0" - peerDependencies: - postcss-selector-parser: ^6.1.0 - checksum: 10/996093f9fe45c93f1af38e0dd58b099e49de35608a27ad8fadd3070601e3aa689e1f9c0f2fb4ab55339ea32d239d83b1c7926196d287ff516cf74236b84eeebc - languageName: node - linkType: hard - "@csstools/selector-resolve-nested@npm:^3.0.0": version: 3.0.0 resolution: "@csstools/selector-resolve-nested@npm:3.0.0" @@ -2288,15 +1295,6 @@ __metadata: languageName: node linkType: hard -"@csstools/selector-specificity@npm:^4.0.0": - version: 4.0.0 - resolution: "@csstools/selector-specificity@npm:4.0.0" - peerDependencies: - postcss-selector-parser: ^6.1.0 - checksum: 10/7076c1d8af0fba94f06718f87fba5bfea583f39089efa906ae38b5ecd6912d3d5865f7047a871ac524b1057e4c970622b2ade456b90d69fb9393902250057994 - languageName: node - linkType: hard - "@csstools/selector-specificity@npm:^5.0.0": version: 5.0.0 resolution: "@csstools/selector-specificity@npm:5.0.0" @@ -2310,38 +1308,37 @@ __metadata: version: 0.0.0-use.local resolution: "@designsystemet/storybook@workspace:apps/storybook" dependencies: - "@chromatic-com/storybook": "npm:^1.6.1" "@digdir/designsystemet-css": "workspace:^" "@digdir/designsystemet-react": "workspace:^" "@digdir/designsystemet-theme": "workspace:^" "@repo/components": "workspace:^" - "@storybook/addon-a11y": "patch:@storybook/addon-a11y@npm%3A8.3.4#~/.yarn/patches/@storybook-addon-a11y-npm-8.3.4-1c07bc384c.patch" - "@storybook/addon-essentials": "npm:^8.3.4" - "@storybook/addon-interactions": "npm:^8.3.4" - "@storybook/addon-links": "npm:^8.3.4" - "@storybook/addon-mdx-gfm": "npm:^8.3.4" - "@storybook/addon-storysource": "npm:^8.3.4" - "@storybook/addon-themes": "npm:^8.3.4" - "@storybook/blocks": "npm:^8.3.4" - "@storybook/manager-api": "npm:^8.3.4" - "@storybook/react": "npm:^8.3.4" - "@storybook/react-vite": "npm:^8.3.4" - "@storybook/test-runner": "npm:^0.19.1" - "@storybook/theming": "npm:^8.3.4" - "@storybook/types": "npm:^8.3.4" - "@types/react": "npm:18.3.3" - "@types/react-dom": "npm:^18.3.0" + "@storybook/addon-a11y": "npm:^8.5.2" + "@storybook/addon-essentials": "npm:^8.5.2" + "@storybook/addon-links": "npm:^8.5.2" + "@storybook/addon-mdx-gfm": "npm:^8.5.2" + "@storybook/addon-storysource": "npm:^8.5.2" + "@storybook/addon-themes": "npm:^8.5.2" + "@storybook/blocks": "npm:^8.5.2" + "@storybook/experimental-addon-test": "npm:^8.5.2" + "@storybook/manager-api": "npm:^8.5.2" + "@storybook/react": "npm:^8.5.2" + "@storybook/react-vite": "npm:^8.5.2" + "@storybook/theming": "npm:^8.5.2" + "@storybook/types": "npm:^8.5.2" + "@types/react": "npm:19.0.7" + "@types/react-dom": "npm:^19.0.3" + "@vitest/browser": "npm:^3.0.4" + "@vitest/coverage-v8": "npm:^3.0.4" axe-playwright: "npm:^2.0.2" clsx: "npm:^2.1.1" - concurrently: "npm:^9.0.1" - http-server: "npm:^14.1.1" - react: "npm:^18.3.1" - react-dom: "npm:^18.3.1" + concurrently: "npm:^9.1.2" + playwright: "npm:^1.50.0" + react: "npm:^19.0.0" + react-dom: "npm:^19.0.0" remark-gfm: "npm:^4.0.0" - rimraf: "npm:^6.0.1" - storybook: "npm:^8.3.4" - wait-on: "npm:^8.0.1" - checksum: 10/undefined + storybook: "npm:^8.5.2" + storybook-addon-pseudo-states: "npm:^4.0.2" + vitest: "npm:^3.0.4" languageName: unknown linkType: soft @@ -2350,13 +1347,12 @@ __metadata: resolution: "@digdir/designsystemet-css@workspace:packages/css" dependencies: autoprefixer: "npm:^10.4.20" - cssnano: "npm:^7.0.4" - postcss: "npm:^8.4.41" + cssnano: "npm:^7.0.6" + postcss: "npm:^8.5.1" postcss-cli: "npm:^11.0.0" postcss-import: "npm:^16.1.0" - postcss-nesting: "npm:^13.0.0" + postcss-nesting: "npm:^13.0.1" rimraf: "npm:^6.0.1" - checksum: 10/undefined languageName: unknown linkType: soft @@ -2367,28 +1363,28 @@ __metadata: "@floating-ui/dom": "npm:^1.6.10" "@floating-ui/react": "npm:0.26.23" "@navikt/aksel-icons": "npm:^6.14.0" - "@radix-ui/react-slot": "npm:^1.1.0" - "@rollup/plugin-commonjs": "npm:^26.0.1" - "@rollup/plugin-node-resolve": "npm:^15.2.3" - "@tanstack/react-virtual": "npm:^3.10.7" + "@radix-ui/react-slot": "npm:^1.1.1" + "@rollup/plugin-commonjs": "npm:^28.0.2" + "@rollup/plugin-node-resolve": "npm:^16.0.0" + "@tanstack/react-virtual": "npm:^3.11.2" "@testing-library/dom": "npm:^10.4.0" - "@testing-library/jest-dom": "npm:^6.4.8" - "@testing-library/react": "npm:^16.0.0" - "@testing-library/user-event": "npm:^14.5.2" + "@testing-library/jest-dom": "npm:^6.6.3" + "@testing-library/react": "npm:^16.2.0" + "@testing-library/user-event": "npm:^14.6.0" + "@u-elements/u-datalist": "npm:^0.1.2" "@u-elements/u-details": "npm:^0.1.0" clsx: "npm:^2.1.1" copyfiles: "npm:^2.4.1" jsdom: "npm:^24.1.1" - react: "npm:^18.3.1" - react-dom: "npm:^18.3.1" + react: "npm:^19.0.0" + react-dom: "npm:^19.0.0" rimraf: "npm:^6.0.1" - rollup: "npm:^4.22.4" + rollup: "npm:^4.31.0" rollup-plugin-copy: "npm:^3.5.0" - typescript: "npm:^5.5.4" + typescript: "npm:^5.7.3" peerDependencies: react: ">=18.3.1" react-dom: ">=18.3.1" - checksum: 10/undefined languageName: unknown linkType: soft @@ -2397,7 +1393,6 @@ __metadata: resolution: "@digdir/designsystemet-theme@workspace:packages/theme" dependencies: rimraf: "npm:^6.0.1" - checksum: 10/undefined languageName: unknown linkType: soft @@ -2405,41 +1400,38 @@ __metadata: version: 0.0.0-use.local resolution: "@digdir/designsystemet@workspace:packages/cli" dependencies: - "@commander-js/extra-typings": "npm:^12.1.0" - "@tokens-studio/sd-transforms": "npm:1.2.2" + "@commander-js/extra-typings": "npm:^13.0.0" + "@tokens-studio/sd-transforms": "npm:1.2.9" "@types/apca-w3": "npm:^0.1.3" + "@types/chroma-js": "npm:^3.1.0" "@types/fs-extra": "npm:^11.0.4" "@types/glob": "npm:^8.1.0" - "@types/jscodeshift": "npm:^0.11.11" - "@types/node": "npm:^22.1.0" + "@types/jscodeshift": "npm:^0.12.0" + "@types/node": "npm:^22.10.7" "@types/object-hash": "npm:^3.0.6" - "@types/prompts": "npm:^2.4.9" - "@types/ramda": "npm:^0.30.1" + "@types/ramda": "npm:^0.30.2" apca-w3: "npm:^0.1.9" - chalk: "npm:^5.3.0" + chalk: "npm:^5.4.1" change-case: "npm:^5.4.4" - chroma-js: "npm:^2.6.0" - commander: "npm:^12.1.0" - fast-glob: "npm:^3.3.2" - fs-extra: "npm:^11.2.0" + chroma-js: "npm:^3.1.2" + commander: "npm:^13.1.0" + fast-glob: "npm:^3.3.3" + fs-extra: "npm:^11.3.0" hsluv: "npm:^1.0.1" - jscodeshift: "npm:^0.16.1" + jscodeshift: "npm:^17.1.2" object-hash: "npm:^3.0.0" - postcss: "npm:^8.4.41" - prompts: "npm:^2.4.2" + postcss: "npm:^8.5.1" ramda: "npm:^0.30.1" - rimraf: "npm:^6.0.1" - style-dictionary: "npm:^4.0.1" - tslib: "npm:^2.6.3" - tsup: "npm:^8.2.4" - tsx: "npm:^4.16.5" - typescript: "npm:^5.5.4" - zod: "npm:^3.23.8" + style-dictionary: "npm:^4.3.1" + tslib: "npm:^2.8.1" + tsup: "npm:^8.3.5" + tsx: "npm:^4.19.2" + typescript: "npm:^5.7.3" + zod: "npm:^3.24.1" zod-to-json-schema: "npm:^3.24.1" zod-validation-error: "npm:^3.4.0" bin: designsystemet: dist/bin/designsystemet.js - checksum: 10/undefined languageName: unknown linkType: soft @@ -2455,7 +1447,6 @@ __metadata: "@esbuild/aix-ppc64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/aix-ppc64@npm:0.20.2" - checksum: 10/undefined conditions: os=aix & cpu=ppc64 languageName: node linkType: hard @@ -2463,15 +1454,6 @@ __metadata: "@esbuild/aix-ppc64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/aix-ppc64@npm:0.21.5" - checksum: 10/undefined - conditions: os=aix & cpu=ppc64 - languageName: node - linkType: hard - -"@esbuild/aix-ppc64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/aix-ppc64@npm:0.23.0" - checksum: 10/undefined conditions: os=aix & cpu=ppc64 languageName: node linkType: hard @@ -2479,7 +1461,6 @@ __metadata: "@esbuild/aix-ppc64@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/aix-ppc64@npm:0.23.1" - checksum: 10/undefined conditions: os=aix & cpu=ppc64 languageName: node linkType: hard @@ -2487,7 +1468,6 @@ __metadata: "@esbuild/aix-ppc64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/aix-ppc64@npm:0.24.2" - checksum: 10/undefined conditions: os=aix & cpu=ppc64 languageName: node linkType: hard @@ -2495,7 +1475,6 @@ __metadata: "@esbuild/android-arm64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/android-arm64@npm:0.20.2" - checksum: 10/undefined conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -2503,15 +1482,6 @@ __metadata: "@esbuild/android-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/android-arm64@npm:0.21.5" - checksum: 10/undefined - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/android-arm64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/android-arm64@npm:0.23.0" - checksum: 10/undefined conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -2519,7 +1489,6 @@ __metadata: "@esbuild/android-arm64@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/android-arm64@npm:0.23.1" - checksum: 10/undefined conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -2527,7 +1496,6 @@ __metadata: "@esbuild/android-arm64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/android-arm64@npm:0.24.2" - checksum: 10/undefined conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -2535,7 +1503,6 @@ __metadata: "@esbuild/android-arm@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/android-arm@npm:0.20.2" - checksum: 10/undefined conditions: os=android & cpu=arm languageName: node linkType: hard @@ -2543,15 +1510,6 @@ __metadata: "@esbuild/android-arm@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/android-arm@npm:0.21.5" - checksum: 10/undefined - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@esbuild/android-arm@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/android-arm@npm:0.23.0" - checksum: 10/undefined conditions: os=android & cpu=arm languageName: node linkType: hard @@ -2559,7 +1517,6 @@ __metadata: "@esbuild/android-arm@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/android-arm@npm:0.23.1" - checksum: 10/undefined conditions: os=android & cpu=arm languageName: node linkType: hard @@ -2567,7 +1524,6 @@ __metadata: "@esbuild/android-arm@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/android-arm@npm:0.24.2" - checksum: 10/undefined conditions: os=android & cpu=arm languageName: node linkType: hard @@ -2575,7 +1531,6 @@ __metadata: "@esbuild/android-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/android-x64@npm:0.20.2" - checksum: 10/undefined conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -2583,15 +1538,6 @@ __metadata: "@esbuild/android-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/android-x64@npm:0.21.5" - checksum: 10/undefined - conditions: os=android & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/android-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/android-x64@npm:0.23.0" - checksum: 10/undefined conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -2599,7 +1545,6 @@ __metadata: "@esbuild/android-x64@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/android-x64@npm:0.23.1" - checksum: 10/undefined conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -2607,7 +1552,6 @@ __metadata: "@esbuild/android-x64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/android-x64@npm:0.24.2" - checksum: 10/undefined conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -2615,7 +1559,6 @@ __metadata: "@esbuild/darwin-arm64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/darwin-arm64@npm:0.20.2" - checksum: 10/undefined conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -2623,15 +1566,6 @@ __metadata: "@esbuild/darwin-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/darwin-arm64@npm:0.21.5" - checksum: 10/undefined - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/darwin-arm64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/darwin-arm64@npm:0.23.0" - checksum: 10/undefined conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -2639,7 +1573,6 @@ __metadata: "@esbuild/darwin-arm64@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/darwin-arm64@npm:0.23.1" - checksum: 10/undefined conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -2647,7 +1580,6 @@ __metadata: "@esbuild/darwin-arm64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/darwin-arm64@npm:0.24.2" - checksum: 10/undefined conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -2655,7 +1587,6 @@ __metadata: "@esbuild/darwin-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/darwin-x64@npm:0.20.2" - checksum: 10/undefined conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -2663,15 +1594,6 @@ __metadata: "@esbuild/darwin-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/darwin-x64@npm:0.21.5" - checksum: 10/undefined - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/darwin-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/darwin-x64@npm:0.23.0" - checksum: 10/undefined conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -2679,7 +1601,6 @@ __metadata: "@esbuild/darwin-x64@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/darwin-x64@npm:0.23.1" - checksum: 10/undefined conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -2687,7 +1608,6 @@ __metadata: "@esbuild/darwin-x64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/darwin-x64@npm:0.24.2" - checksum: 10/undefined conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -2695,7 +1615,6 @@ __metadata: "@esbuild/freebsd-arm64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/freebsd-arm64@npm:0.20.2" - checksum: 10/undefined conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -2703,15 +1622,6 @@ __metadata: "@esbuild/freebsd-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/freebsd-arm64@npm:0.21.5" - checksum: 10/undefined - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/freebsd-arm64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/freebsd-arm64@npm:0.23.0" - checksum: 10/undefined conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -2719,7 +1629,6 @@ __metadata: "@esbuild/freebsd-arm64@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/freebsd-arm64@npm:0.23.1" - checksum: 10/undefined conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -2727,7 +1636,6 @@ __metadata: "@esbuild/freebsd-arm64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/freebsd-arm64@npm:0.24.2" - checksum: 10/undefined conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -2735,7 +1643,6 @@ __metadata: "@esbuild/freebsd-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/freebsd-x64@npm:0.20.2" - checksum: 10/undefined conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -2743,15 +1650,6 @@ __metadata: "@esbuild/freebsd-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/freebsd-x64@npm:0.21.5" - checksum: 10/undefined - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/freebsd-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/freebsd-x64@npm:0.23.0" - checksum: 10/undefined conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -2759,7 +1657,6 @@ __metadata: "@esbuild/freebsd-x64@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/freebsd-x64@npm:0.23.1" - checksum: 10/undefined conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -2767,7 +1664,6 @@ __metadata: "@esbuild/freebsd-x64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/freebsd-x64@npm:0.24.2" - checksum: 10/undefined conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -2775,7 +1671,6 @@ __metadata: "@esbuild/linux-arm64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-arm64@npm:0.20.2" - checksum: 10/undefined conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -2783,15 +1678,6 @@ __metadata: "@esbuild/linux-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-arm64@npm:0.21.5" - checksum: 10/undefined - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/linux-arm64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/linux-arm64@npm:0.23.0" - checksum: 10/undefined conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -2799,7 +1685,6 @@ __metadata: "@esbuild/linux-arm64@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/linux-arm64@npm:0.23.1" - checksum: 10/undefined conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -2807,7 +1692,6 @@ __metadata: "@esbuild/linux-arm64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/linux-arm64@npm:0.24.2" - checksum: 10/undefined conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -2815,7 +1699,6 @@ __metadata: "@esbuild/linux-arm@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-arm@npm:0.20.2" - checksum: 10/undefined conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -2823,15 +1706,6 @@ __metadata: "@esbuild/linux-arm@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-arm@npm:0.21.5" - checksum: 10/undefined - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@esbuild/linux-arm@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/linux-arm@npm:0.23.0" - checksum: 10/undefined conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -2839,7 +1713,6 @@ __metadata: "@esbuild/linux-arm@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/linux-arm@npm:0.23.1" - checksum: 10/undefined conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -2847,7 +1720,6 @@ __metadata: "@esbuild/linux-arm@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/linux-arm@npm:0.24.2" - checksum: 10/undefined conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -2855,7 +1727,6 @@ __metadata: "@esbuild/linux-ia32@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-ia32@npm:0.20.2" - checksum: 10/undefined conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -2863,15 +1734,6 @@ __metadata: "@esbuild/linux-ia32@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-ia32@npm:0.21.5" - checksum: 10/undefined - conditions: os=linux & cpu=ia32 - languageName: node - linkType: hard - -"@esbuild/linux-ia32@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/linux-ia32@npm:0.23.0" - checksum: 10/undefined conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -2879,7 +1741,6 @@ __metadata: "@esbuild/linux-ia32@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/linux-ia32@npm:0.23.1" - checksum: 10/undefined conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -2887,7 +1748,6 @@ __metadata: "@esbuild/linux-ia32@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/linux-ia32@npm:0.24.2" - checksum: 10/undefined conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -2895,7 +1755,6 @@ __metadata: "@esbuild/linux-loong64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-loong64@npm:0.20.2" - checksum: 10/undefined conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -2903,15 +1762,6 @@ __metadata: "@esbuild/linux-loong64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-loong64@npm:0.21.5" - checksum: 10/undefined - conditions: os=linux & cpu=loong64 - languageName: node - linkType: hard - -"@esbuild/linux-loong64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/linux-loong64@npm:0.23.0" - checksum: 10/undefined conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -2919,7 +1769,6 @@ __metadata: "@esbuild/linux-loong64@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/linux-loong64@npm:0.23.1" - checksum: 10/undefined conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -2927,7 +1776,6 @@ __metadata: "@esbuild/linux-loong64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/linux-loong64@npm:0.24.2" - checksum: 10/undefined conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -2935,7 +1783,6 @@ __metadata: "@esbuild/linux-mips64el@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-mips64el@npm:0.20.2" - checksum: 10/undefined conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -2943,15 +1790,6 @@ __metadata: "@esbuild/linux-mips64el@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-mips64el@npm:0.21.5" - checksum: 10/undefined - conditions: os=linux & cpu=mips64el - languageName: node - linkType: hard - -"@esbuild/linux-mips64el@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/linux-mips64el@npm:0.23.0" - checksum: 10/undefined conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -2959,7 +1797,6 @@ __metadata: "@esbuild/linux-mips64el@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/linux-mips64el@npm:0.23.1" - checksum: 10/undefined conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -2967,7 +1804,6 @@ __metadata: "@esbuild/linux-mips64el@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/linux-mips64el@npm:0.24.2" - checksum: 10/undefined conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -2975,7 +1811,6 @@ __metadata: "@esbuild/linux-ppc64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-ppc64@npm:0.20.2" - checksum: 10/undefined conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -2983,15 +1818,6 @@ __metadata: "@esbuild/linux-ppc64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-ppc64@npm:0.21.5" - checksum: 10/undefined - conditions: os=linux & cpu=ppc64 - languageName: node - linkType: hard - -"@esbuild/linux-ppc64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/linux-ppc64@npm:0.23.0" - checksum: 10/undefined conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -2999,7 +1825,6 @@ __metadata: "@esbuild/linux-ppc64@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/linux-ppc64@npm:0.23.1" - checksum: 10/undefined conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -3007,7 +1832,6 @@ __metadata: "@esbuild/linux-ppc64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/linux-ppc64@npm:0.24.2" - checksum: 10/undefined conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -3015,7 +1839,6 @@ __metadata: "@esbuild/linux-riscv64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-riscv64@npm:0.20.2" - checksum: 10/undefined conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -3023,15 +1846,6 @@ __metadata: "@esbuild/linux-riscv64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-riscv64@npm:0.21.5" - checksum: 10/undefined - conditions: os=linux & cpu=riscv64 - languageName: node - linkType: hard - -"@esbuild/linux-riscv64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/linux-riscv64@npm:0.23.0" - checksum: 10/undefined conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -3039,7 +1853,6 @@ __metadata: "@esbuild/linux-riscv64@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/linux-riscv64@npm:0.23.1" - checksum: 10/undefined conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -3047,7 +1860,6 @@ __metadata: "@esbuild/linux-riscv64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/linux-riscv64@npm:0.24.2" - checksum: 10/undefined conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -3055,7 +1867,6 @@ __metadata: "@esbuild/linux-s390x@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-s390x@npm:0.20.2" - checksum: 10/undefined conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -3063,15 +1874,6 @@ __metadata: "@esbuild/linux-s390x@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-s390x@npm:0.21.5" - checksum: 10/undefined - conditions: os=linux & cpu=s390x - languageName: node - linkType: hard - -"@esbuild/linux-s390x@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/linux-s390x@npm:0.23.0" - checksum: 10/undefined conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -3079,7 +1881,6 @@ __metadata: "@esbuild/linux-s390x@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/linux-s390x@npm:0.23.1" - checksum: 10/undefined conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -3087,7 +1888,6 @@ __metadata: "@esbuild/linux-s390x@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/linux-s390x@npm:0.24.2" - checksum: 10/undefined conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -3095,7 +1895,6 @@ __metadata: "@esbuild/linux-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-x64@npm:0.20.2" - checksum: 10/undefined conditions: os=linux & cpu=x64 languageName: node linkType: hard @@ -3103,15 +1902,6 @@ __metadata: "@esbuild/linux-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-x64@npm:0.21.5" - checksum: 10/undefined - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/linux-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/linux-x64@npm:0.23.0" - checksum: 10/undefined conditions: os=linux & cpu=x64 languageName: node linkType: hard @@ -3119,7 +1909,6 @@ __metadata: "@esbuild/linux-x64@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/linux-x64@npm:0.23.1" - checksum: 10/undefined conditions: os=linux & cpu=x64 languageName: node linkType: hard @@ -3127,7 +1916,6 @@ __metadata: "@esbuild/linux-x64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/linux-x64@npm:0.24.2" - checksum: 10/undefined conditions: os=linux & cpu=x64 languageName: node linkType: hard @@ -3135,7 +1923,6 @@ __metadata: "@esbuild/netbsd-arm64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/netbsd-arm64@npm:0.24.2" - checksum: 10/undefined conditions: os=netbsd & cpu=arm64 languageName: node linkType: hard @@ -3143,7 +1930,6 @@ __metadata: "@esbuild/netbsd-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/netbsd-x64@npm:0.20.2" - checksum: 10/undefined conditions: os=netbsd & cpu=x64 languageName: node linkType: hard @@ -3151,15 +1937,6 @@ __metadata: "@esbuild/netbsd-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/netbsd-x64@npm:0.21.5" - checksum: 10/undefined - conditions: os=netbsd & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/netbsd-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/netbsd-x64@npm:0.23.0" - checksum: 10/undefined conditions: os=netbsd & cpu=x64 languageName: node linkType: hard @@ -3167,7 +1944,6 @@ __metadata: "@esbuild/netbsd-x64@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/netbsd-x64@npm:0.23.1" - checksum: 10/undefined conditions: os=netbsd & cpu=x64 languageName: node linkType: hard @@ -3175,23 +1951,13 @@ __metadata: "@esbuild/netbsd-x64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/netbsd-x64@npm:0.24.2" - checksum: 10/undefined conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-arm64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/openbsd-arm64@npm:0.23.0" - checksum: 10/undefined - conditions: os=openbsd & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/openbsd-arm64@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/openbsd-arm64@npm:0.23.1" - checksum: 10/undefined conditions: os=openbsd & cpu=arm64 languageName: node linkType: hard @@ -3199,7 +1965,6 @@ __metadata: "@esbuild/openbsd-arm64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/openbsd-arm64@npm:0.24.2" - checksum: 10/undefined conditions: os=openbsd & cpu=arm64 languageName: node linkType: hard @@ -3207,7 +1972,6 @@ __metadata: "@esbuild/openbsd-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/openbsd-x64@npm:0.20.2" - checksum: 10/undefined conditions: os=openbsd & cpu=x64 languageName: node linkType: hard @@ -3215,15 +1979,6 @@ __metadata: "@esbuild/openbsd-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/openbsd-x64@npm:0.21.5" - checksum: 10/undefined - conditions: os=openbsd & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/openbsd-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/openbsd-x64@npm:0.23.0" - checksum: 10/undefined conditions: os=openbsd & cpu=x64 languageName: node linkType: hard @@ -3231,7 +1986,6 @@ __metadata: "@esbuild/openbsd-x64@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/openbsd-x64@npm:0.23.1" - checksum: 10/undefined conditions: os=openbsd & cpu=x64 languageName: node linkType: hard @@ -3239,7 +1993,6 @@ __metadata: "@esbuild/openbsd-x64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/openbsd-x64@npm:0.24.2" - checksum: 10/undefined conditions: os=openbsd & cpu=x64 languageName: node linkType: hard @@ -3247,7 +2000,6 @@ __metadata: "@esbuild/sunos-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/sunos-x64@npm:0.20.2" - checksum: 10/undefined conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -3255,15 +2007,6 @@ __metadata: "@esbuild/sunos-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/sunos-x64@npm:0.21.5" - checksum: 10/undefined - conditions: os=sunos & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/sunos-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/sunos-x64@npm:0.23.0" - checksum: 10/undefined conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -3271,7 +2014,6 @@ __metadata: "@esbuild/sunos-x64@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/sunos-x64@npm:0.23.1" - checksum: 10/undefined conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -3279,7 +2021,6 @@ __metadata: "@esbuild/sunos-x64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/sunos-x64@npm:0.24.2" - checksum: 10/undefined conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -3287,7 +2028,6 @@ __metadata: "@esbuild/win32-arm64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/win32-arm64@npm:0.20.2" - checksum: 10/undefined conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -3295,15 +2035,6 @@ __metadata: "@esbuild/win32-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/win32-arm64@npm:0.21.5" - checksum: 10/undefined - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/win32-arm64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/win32-arm64@npm:0.23.0" - checksum: 10/undefined conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -3311,7 +2042,6 @@ __metadata: "@esbuild/win32-arm64@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/win32-arm64@npm:0.23.1" - checksum: 10/undefined conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -3319,7 +2049,6 @@ __metadata: "@esbuild/win32-arm64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/win32-arm64@npm:0.24.2" - checksum: 10/undefined conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -3327,7 +2056,6 @@ __metadata: "@esbuild/win32-ia32@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/win32-ia32@npm:0.20.2" - checksum: 10/undefined conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -3335,15 +2063,6 @@ __metadata: "@esbuild/win32-ia32@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/win32-ia32@npm:0.21.5" - checksum: 10/undefined - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@esbuild/win32-ia32@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/win32-ia32@npm:0.23.0" - checksum: 10/undefined conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -3351,7 +2070,6 @@ __metadata: "@esbuild/win32-ia32@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/win32-ia32@npm:0.23.1" - checksum: 10/undefined conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -3359,7 +2077,6 @@ __metadata: "@esbuild/win32-ia32@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/win32-ia32@npm:0.24.2" - checksum: 10/undefined conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -3367,7 +2084,6 @@ __metadata: "@esbuild/win32-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/win32-x64@npm:0.20.2" - checksum: 10/undefined conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -3375,15 +2091,6 @@ __metadata: "@esbuild/win32-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/win32-x64@npm:0.21.5" - checksum: 10/undefined - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/win32-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/win32-x64@npm:0.23.0" - checksum: 10/undefined conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -3391,7 +2098,6 @@ __metadata: "@esbuild/win32-x64@npm:0.23.1": version: 0.23.1 resolution: "@esbuild/win32-x64@npm:0.23.1" - checksum: 10/undefined conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -3399,7 +2105,6 @@ __metadata: "@esbuild/win32-x64@npm:0.24.2": version: 0.24.2 resolution: "@esbuild/win32-x64@npm:0.24.2" - checksum: 10/undefined conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -3411,13 +2116,6 @@ __metadata: languageName: node linkType: hard -"@figma/plugin-typings@npm:^1.95.0": - version: 1.98.0 - resolution: "@figma/plugin-typings@npm:1.98.0" - checksum: 10/0e8942451e889ad62307ba8b721164245135159aaecdad084d6957b656bf4637fa1c203e5467e47ae6b9d8abc530929475604ec4c59f62390908f9a77fd6a3c8 - languageName: node - linkType: hard - "@floating-ui/core@npm:^1.6.0": version: 1.6.5 resolution: "@floating-ui/core@npm:1.6.5" @@ -3428,16 +2126,6 @@ __metadata: linkType: hard "@floating-ui/dom@npm:^1.0.0": - version: 1.6.8 - resolution: "@floating-ui/dom@npm:1.6.8" - dependencies: - "@floating-ui/core": "npm:^1.6.0" - "@floating-ui/utils": "npm:^0.2.5" - checksum: 10/ebfc92b7a08addc1952d497174a197db80278d3701da7d7dedd3e1533daa80b12b7de02c19408de3f951195a3247f2f5c3cc10807071147e3193bbef469e90a5 - languageName: node - linkType: hard - -"@floating-ui/dom@npm:^1.0.0, @floating-ui/dom@npm:^1.6.10": version: 1.6.13 resolution: "@floating-ui/dom@npm:1.6.13" dependencies: @@ -3483,14 +2171,7 @@ __metadata: languageName: node linkType: hard -"@floating-ui/utils@npm:^0.2.5": - version: 0.2.5 - resolution: "@floating-ui/utils@npm:0.2.5" - checksum: 10/08df715c2a3bfa9d757347df0b38c89a3bfa92b0a32ff67d3d713960c2e72c202e22a2b220aacadbde5451ac2bd4c10411a73a8ed3707ded792f0182592eb01f - languageName: node - linkType: hard - -"@floating-ui/utils@npm:^0.2.5, @floating-ui/utils@npm:^0.2.7, @floating-ui/utils@npm:^0.2.9": +"@floating-ui/utils@npm:^0.2.5, @floating-ui/utils@npm:^0.2.9": version: 0.2.9 resolution: "@floating-ui/utils@npm:0.2.9" checksum: 10/0ca786347db3dd8d9034b86d1449fabb96642788e5900cc5f2aee433cd7b243efbcd7a165bead50b004ee3f20a90ddebb6a35296fc41d43cfd361b6f01b69ffb @@ -3511,31 +2192,6 @@ __metadata: languageName: node linkType: hard -"@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": - version: 9.3.0 - resolution: "@hapi/hoek@npm:9.3.0" - checksum: 10/ad83a223787749f3873bce42bd32a9a19673765bf3edece0a427e138859ff729469e68d5fdf9ff6bbee6fb0c8e21bab61415afa4584f527cfc40b59ea1957e70 - languageName: node - linkType: hard - -"@hapi/topo@npm:^5.1.0": - version: 5.1.0 - resolution: "@hapi/topo@npm:5.1.0" - dependencies: - "@hapi/hoek": "npm:^9.0.0" - checksum: 10/084bfa647015f4fd3fdd51fadb2747d09ef2f5e1443d6cbada2988b0c88494f85edf257ec606c790db146ac4e34ff57f3fcb22e3299b8e06ed5c87ba7583495c - languageName: node - linkType: hard - -"@icons/material@npm:^0.2.4": - version: 0.2.4 - resolution: "@icons/material@npm:0.2.4" - peerDependencies: - react: "*" - checksum: 10/6c248fdb2d226e5af76bb0203d05fd7b9c77003f0197a5ae4baead3d014a27cfb539921fceed89a72e02fa0b583debe3b26b76d84d6f7cb354d3cb2ac00e9353 - languageName: node - linkType: hard - "@img/sharp-darwin-arm64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-darwin-arm64@npm:0.33.5" @@ -3544,7 +2200,6 @@ __metadata: dependenciesMeta: "@img/sharp-libvips-darwin-arm64": optional: true - checksum: 10/undefined conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -3557,7 +2212,6 @@ __metadata: dependenciesMeta: "@img/sharp-libvips-darwin-x64": optional: true - checksum: 10/undefined conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -3565,7 +2219,6 @@ __metadata: "@img/sharp-libvips-darwin-arm64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-darwin-arm64@npm:1.0.4" - checksum: 10/undefined conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -3573,7 +2226,6 @@ __metadata: "@img/sharp-libvips-darwin-x64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-darwin-x64@npm:1.0.4" - checksum: 10/undefined conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -3581,7 +2233,6 @@ __metadata: "@img/sharp-libvips-linux-arm64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linux-arm64@npm:1.0.4" - checksum: 10/undefined conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard @@ -3589,7 +2240,6 @@ __metadata: "@img/sharp-libvips-linux-arm@npm:1.0.5": version: 1.0.5 resolution: "@img/sharp-libvips-linux-arm@npm:1.0.5" - checksum: 10/undefined conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard @@ -3597,7 +2247,6 @@ __metadata: "@img/sharp-libvips-linux-s390x@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linux-s390x@npm:1.0.4" - checksum: 10/undefined conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard @@ -3605,7 +2254,6 @@ __metadata: "@img/sharp-libvips-linux-x64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linux-x64@npm:1.0.4" - checksum: 10/undefined conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard @@ -3613,7 +2261,6 @@ __metadata: "@img/sharp-libvips-linuxmusl-arm64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.0.4" - checksum: 10/undefined conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard @@ -3621,7 +2268,6 @@ __metadata: "@img/sharp-libvips-linuxmusl-x64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.0.4" - checksum: 10/undefined conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard @@ -3634,7 +2280,6 @@ __metadata: dependenciesMeta: "@img/sharp-libvips-linux-arm64": optional: true - checksum: 10/undefined conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard @@ -3647,7 +2292,6 @@ __metadata: dependenciesMeta: "@img/sharp-libvips-linux-arm": optional: true - checksum: 10/undefined conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard @@ -3660,7 +2304,6 @@ __metadata: dependenciesMeta: "@img/sharp-libvips-linux-s390x": optional: true - checksum: 10/undefined conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard @@ -3673,7 +2316,6 @@ __metadata: dependenciesMeta: "@img/sharp-libvips-linux-x64": optional: true - checksum: 10/undefined conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard @@ -3686,7 +2328,6 @@ __metadata: dependenciesMeta: "@img/sharp-libvips-linuxmusl-arm64": optional: true - checksum: 10/undefined conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard @@ -3699,7 +2340,6 @@ __metadata: dependenciesMeta: "@img/sharp-libvips-linuxmusl-x64": optional: true - checksum: 10/undefined conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard @@ -3709,7 +2349,6 @@ __metadata: resolution: "@img/sharp-wasm32@npm:0.33.5" dependencies: "@emnapi/runtime": "npm:^1.2.0" - checksum: 10/undefined conditions: cpu=wasm32 languageName: node linkType: hard @@ -3717,7 +2356,6 @@ __metadata: "@img/sharp-win32-ia32@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-win32-ia32@npm:0.33.5" - checksum: 10/undefined conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -3725,7 +2363,6 @@ __metadata: "@img/sharp-win32-x64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-win32-x64@npm:0.33.5" - checksum: 10/undefined conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -3788,19 +2425,6 @@ __metadata: languageName: node linkType: hard -"@istanbuljs/load-nyc-config@npm:^1.0.0": - version: 1.1.0 - resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" - dependencies: - camelcase: "npm:^5.3.1" - find-up: "npm:^4.1.0" - get-package-type: "npm:^0.1.0" - js-yaml: "npm:^3.13.1" - resolve-from: "npm:^5.0.0" - checksum: 10/b000a5acd8d4fe6e34e25c399c8bdbb5d3a202b4e10416e17bfc25e12bab90bb56d33db6089ae30569b52686f4b35ff28ef26e88e21e69821d2b85884bd055b8 - languageName: node - linkType: hard - "@istanbuljs/schema@npm:^0.1.2": version: 0.1.3 resolution: "@istanbuljs/schema@npm:0.1.3" @@ -3808,270 +2432,6 @@ __metadata: languageName: node linkType: hard -"@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3": - version: 0.1.3 - resolution: "@istanbuljs/schema@npm:0.1.3" - checksum: 10/a9b1e49acdf5efc2f5b2359f2df7f90c5c725f2656f16099e8b2cd3a000619ecca9fc48cf693ba789cf0fd989f6e0df6a22bc05574be4223ecdbb7997d04384b - languageName: node - linkType: hard - -"@jest/console@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/console@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - slash: "npm:^3.0.0" - checksum: 10/4a80c750e8a31f344233cb9951dee9b77bf6b89377cb131f8b3cde07ff218f504370133a5963f6a786af4d2ce7f85642db206ff7a15f99fe58df4c38ac04899e - languageName: node - linkType: hard - -"@jest/core@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/core@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/reporters": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - exit: "npm:^0.1.2" - graceful-fs: "npm:^4.2.9" - jest-changed-files: "npm:^29.7.0" - jest-config: "npm:^29.7.0" - jest-haste-map: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-resolve-dependencies: "npm:^29.7.0" - jest-runner: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - jest-watcher: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-ansi: "npm:^6.0.0" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: 10/ab6ac2e562d083faac7d8152ec1cc4eccc80f62e9579b69ed40aedf7211a6b2d57024a6cd53c4e35fd051c39a236e86257d1d99ebdb122291969a0a04563b51e - languageName: node - linkType: hard - -"@jest/create-cache-key-function@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/create-cache-key-function@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - checksum: 10/061ef63b13ec8c8e5d08e4456f03b5cf8c7f9c1cab4fed8402e1479153cafce6eea80420e308ef62027abb7e29b825fcfa06551856bd021d98e92e381bf91723 - languageName: node - linkType: hard - -"@jest/environment@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/environment@npm:29.7.0" - dependencies: - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - checksum: 10/90b5844a9a9d8097f2cf107b1b5e57007c552f64315da8c1f51217eeb0a9664889d3f145cdf8acf23a84f4d8309a6675e27d5b059659a004db0ea9546d1c81a8 - languageName: node - linkType: hard - -"@jest/expect-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect-utils@npm:29.7.0" - dependencies: - jest-get-type: "npm:^29.6.3" - checksum: 10/ef8d379778ef574a17bde2801a6f4469f8022a46a5f9e385191dc73bb1fc318996beaed4513fbd7055c2847227a1bed2469977821866534593a6e52a281499ee - languageName: node - linkType: hard - -"@jest/expect@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect@npm:29.7.0" - dependencies: - expect: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - checksum: 10/fea6c3317a8da5c840429d90bfe49d928e89c9e89fceee2149b93a11b7e9c73d2f6e4d7cdf647163da938fc4e2169e4490be6bae64952902bc7a701033fd4880 - languageName: node - linkType: hard - -"@jest/fake-timers@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/fake-timers@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@sinonjs/fake-timers": "npm:^10.0.2" - "@types/node": "npm:*" - jest-message-util: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10/9b394e04ffc46f91725ecfdff34c4e043eb7a16e1d78964094c9db3fde0b1c8803e45943a980e8c740d0a3d45661906de1416ca5891a538b0660481a3a828c27 - languageName: node - linkType: hard - -"@jest/globals@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/globals@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/expect": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - jest-mock: "npm:^29.7.0" - checksum: 10/97dbb9459135693ad3a422e65ca1c250f03d82b2a77f6207e7fa0edd2c9d2015fbe4346f3dc9ebff1678b9d8da74754d4d440b7837497f8927059c0642a22123 - languageName: node - linkType: hard - -"@jest/reporters@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/reporters@npm:29.7.0" - dependencies: - "@bcoe/v8-coverage": "npm:^0.2.3" - "@jest/console": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@jridgewell/trace-mapping": "npm:^0.3.18" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - collect-v8-coverage: "npm:^1.0.0" - exit: "npm:^0.1.2" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - istanbul-lib-coverage: "npm:^3.0.0" - istanbul-lib-instrument: "npm:^6.0.0" - istanbul-lib-report: "npm:^3.0.0" - istanbul-lib-source-maps: "npm:^4.0.0" - istanbul-reports: "npm:^3.1.3" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - slash: "npm:^3.0.0" - string-length: "npm:^4.0.1" - strip-ansi: "npm:^6.0.0" - v8-to-istanbul: "npm:^9.0.1" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: 10/a17d1644b26dea14445cedd45567f4ba7834f980be2ef74447204e14238f121b50d8b858fde648083d2cd8f305f81ba434ba49e37a5f4237a6f2a61180cc73dc - languageName: node - linkType: hard - -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" - dependencies: - "@sinclair/typebox": "npm:^0.27.8" - checksum: 10/910040425f0fc93cd13e68c750b7885590b8839066dfa0cd78e7def07bbb708ad869381f725945d66f2284de5663bbecf63e8fdd856e2ae6e261ba30b1687e93 - languageName: node - linkType: hard - -"@jest/source-map@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/source-map@npm:29.6.3" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.18" - callsites: "npm:^3.0.0" - graceful-fs: "npm:^4.2.9" - checksum: 10/bcc5a8697d471396c0003b0bfa09722c3cd879ad697eb9c431e6164e2ea7008238a01a07193dfe3cbb48b1d258eb7251f6efcea36f64e1ebc464ea3c03ae2deb - languageName: node - linkType: hard - -"@jest/test-result@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/test-result@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - collect-v8-coverage: "npm:^1.0.0" - checksum: 10/c073ab7dfe3c562bff2b8fee6cc724ccc20aa96bcd8ab48ccb2aa309b4c0c1923a9e703cea386bd6ae9b71133e92810475bb9c7c22328fc63f797ad3324ed189 - languageName: node - linkType: hard - -"@jest/test-sequencer@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/test-sequencer@npm:29.7.0" - dependencies: - "@jest/test-result": "npm:^29.7.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - slash: "npm:^3.0.0" - checksum: 10/4420c26a0baa7035c5419b0892ff8ffe9a41b1583ec54a10db3037cd46a7e29dd3d7202f8aa9d376e9e53be5f8b1bc0d16e1de6880a6d319b033b01dc4c8f639 - languageName: node - linkType: hard - -"@jest/transform@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/transform@npm:29.7.0" - dependencies: - "@babel/core": "npm:^7.11.6" - "@jest/types": "npm:^29.6.3" - "@jridgewell/trace-mapping": "npm:^0.3.18" - babel-plugin-istanbul: "npm:^6.1.1" - chalk: "npm:^4.0.0" - convert-source-map: "npm:^2.0.0" - fast-json-stable-stringify: "npm:^2.1.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - pirates: "npm:^4.0.4" - slash: "npm:^3.0.0" - write-file-atomic: "npm:^4.0.2" - checksum: 10/30f42293545ab037d5799c81d3e12515790bb58513d37f788ce32d53326d0d72ebf5b40f989e6896739aa50a5f77be44686e510966370d58511d5ad2637c68c1 - languageName: node - linkType: hard - -"@jest/types@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/types@npm:29.6.3" - dependencies: - "@jest/schemas": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - "@types/istanbul-reports": "npm:^3.0.0" - "@types/node": "npm:*" - "@types/yargs": "npm:^17.0.8" - chalk: "npm:^4.0.0" - checksum: 10/f74bf512fd09bbe2433a2ad460b04668b7075235eea9a0c77d6a42222c10a79b9747dc2b2a623f140ed40d6865a2ed8f538f3cbb75169120ea863f29a7ed76cd - languageName: node - linkType: hard - -"@joshwooding/vite-plugin-react-docgen-typescript@npm:0.3.0": - version: 0.3.0 - resolution: "@joshwooding/vite-plugin-react-docgen-typescript@npm:0.3.0" - dependencies: - glob: "npm:^7.2.0" - glob-promise: "npm:^4.2.0" - magic-string: "npm:^0.27.0" - react-docgen-typescript: "npm:^2.2.2" - peerDependencies: - typescript: ">= 4.3.x" - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/9237499394b1f5f1320c9a489dbf5db2ba4b1d68081bf767a08895b70d0d0830adb9f0f1e2c5c94202e5bee63fe031ea2b91870a6bc806ed5e370be6b06df2e8 - languageName: node - linkType: hard - "@joshwooding/vite-plugin-react-docgen-typescript@npm:0.4.2": version: 0.4.2 resolution: "@joshwooding/vite-plugin-react-docgen-typescript@npm:0.4.2" @@ -4088,17 +2448,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.2": - version: 0.3.2 - resolution: "@jridgewell/gen-mapping@npm:0.3.2" - dependencies: - "@jridgewell/set-array": "npm:^1.0.1" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: 10/7ba0070be1aeda7d7694b09d847c3b95879409b26559b9d7e97a88ec94b838fb380df43ae328ee2d2df4d79e75d7afe6ba315199d18d79aa20839ebdfb739420 - languageName: node - linkType: hard - "@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.5 resolution: "@jridgewell/gen-mapping@npm:0.3.5" @@ -4110,17 +2459,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.5": - version: 0.3.5 - resolution: "@jridgewell/gen-mapping@npm:0.3.5" - dependencies: - "@jridgewell/set-array": "npm:^1.2.1" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10/81587b3c4dd8e6c60252122937cea0c637486311f4ed208b52b62aae2e7a87598f63ec330e6cd0984af494bfb16d3f0d60d3b21d7e5b4aedd2602ff3fe9d32e2 - languageName: node - linkType: hard - "@jridgewell/resolve-uri@npm:^3.1.0": version: 3.1.1 resolution: "@jridgewell/resolve-uri@npm:3.1.1" @@ -4128,13 +2466,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/set-array@npm:^1.0.1": - version: 1.1.2 - resolution: "@jridgewell/set-array@npm:1.1.2" - checksum: 10/69a84d5980385f396ff60a175f7177af0b8da4ddb81824cb7016a9ef914eee9806c72b6b65942003c63f7983d4f39a5c6c27185bbca88eb4690b62075602e28e - languageName: node - linkType: hard - "@jridgewell/set-array@npm:^1.2.1": version: 1.2.1 resolution: "@jridgewell/set-array@npm:1.2.1" @@ -4152,13 +2483,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.13, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": - version: 1.4.15 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" - checksum: 10/89960ac087781b961ad918978975bcdf2051cd1741880469783c42de64239703eab9db5230d776d8e6a09d73bb5e4cb964e07d93ee6e2e7aea5a7d726e865c09 - languageName: node - linkType: hard - "@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.13, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": version: 1.5.0 resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" @@ -4166,23 +2490,10 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": - version: 0.3.25 - resolution: "@jridgewell/trace-mapping@npm:0.3.25" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.1.0" - "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10/dced32160a44b49d531b80a4a2159dceab6b3ddf0c8e95a0deae4b0e894b172defa63d5ac52a19c2068e1fe7d31ea4ba931fbeec103233ecb4208953967120fc - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.20 - resolution: "@jridgewell/trace-mapping@npm:0.3.20" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.1.0" - "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10/683117e4e6707ef50c725d6d0ec4234687ff751f36fa46c2b3068931eb6a86b49af374d3030200777666579a992b7470d1bd1c591e9bf64d764dda5295f33093 +"@jridgewell/sourcemap-codec@npm:^1.4.15": + version: 1.4.15 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" + checksum: 10/89960ac087781b961ad918978975bcdf2051cd1741880469783c42de64239703eab9db5230d776d8e6a09d73bb5e4cb964e07d93ee6e2e7aea5a7d726e865c09 languageName: node linkType: hard @@ -4254,18 +2565,6 @@ __metadata: languageName: node linkType: hard -"@mdx-js/loader@npm:^3.0.1": - version: 3.0.1 - resolution: "@mdx-js/loader@npm:3.0.1" - dependencies: - "@mdx-js/mdx": "npm:^3.0.0" - source-map: "npm:^0.7.0" - peerDependencies: - webpack: ">=5" - checksum: 10/e2eff3ae99958590730a7b23bf5def7720745066065ef2bb7face4f60d913d1083da617c7b4004a2906267ead5609c1d00cd452cb303cd77dea1048d80e1ca35 - languageName: node - linkType: hard - "@mdx-js/loader@npm:^3.1.0": version: 3.1.0 resolution: "@mdx-js/loader@npm:3.1.0" @@ -4312,18 +2611,6 @@ __metadata: languageName: node linkType: hard -"@mdx-js/react@npm:^3.0.0, @mdx-js/react@npm:^3.0.1": - version: 3.0.1 - resolution: "@mdx-js/react@npm:3.0.1" - dependencies: - "@types/mdx": "npm:^2.0.0" - peerDependencies: - "@types/react": ">=16" - react: ">=16" - checksum: 10/d566407af11e76f498f8133fbfa8a9d8a2ad80dc7a66ca109d29fcb92e953a2d2d7aaedc0c28571d126f1967faeb126dd2e4ab4ea474c994bf5c76fa204c5997 - languageName: node - linkType: hard - "@mdx-js/react@npm:^3.0.0, @mdx-js/react@npm:^3.1.0": version: 3.1.0 resolution: "@mdx-js/react@npm:3.1.0" @@ -4357,13 +2644,6 @@ __metadata: languageName: node linkType: hard -"@next/env@npm:14.2.5": - version: 14.2.5 - resolution: "@next/env@npm:14.2.5" - checksum: 10/0462db6a82120220ad518eabbe85144b75cf741cf96f520b1b3dd5978c51c5e7a92ad4bff2b8157f029cdc87ba0f8eeed9f3a30711822fae5195fa5db4e40280 - languageName: node - linkType: hard - "@next/env@npm:15.1.5": version: 15.1.5 resolution: "@next/env@npm:15.1.5" @@ -4395,155 +2675,58 @@ __metadata: languageName: node linkType: hard -"@next/mdx@npm:^14.2.5": - version: 14.2.5 - resolution: "@next/mdx@npm:14.2.5" - dependencies: - source-map: "npm:^0.7.0" - peerDependencies: - "@mdx-js/loader": ">=0.15.0" - "@mdx-js/react": ">=0.15.0" - peerDependenciesMeta: - "@mdx-js/loader": - optional: true - "@mdx-js/react": - optional: true - checksum: 10/f9c3a44fda3a50726c2706c210b65eccc4011afffcc7b846092ddd7131778348643979a6478559c54a79c3f16e8eda763f2176ae28729a889097ab16a70cb2d9 - languageName: node - linkType: hard - -"@next/swc-darwin-arm64@npm:14.2.5": - version: 14.2.5 - resolution: "@next/swc-darwin-arm64@npm:14.2.5" - checksum: 10/undefined - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "@next/swc-darwin-arm64@npm:15.1.5": version: 15.1.5 resolution: "@next/swc-darwin-arm64@npm:15.1.5" - checksum: 10/undefined conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@next/swc-darwin-x64@npm:14.2.5": - version: 14.2.5 - resolution: "@next/swc-darwin-x64@npm:14.2.5" - checksum: 10/undefined - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "@next/swc-darwin-x64@npm:15.1.5": version: 15.1.5 resolution: "@next/swc-darwin-x64@npm:15.1.5" - checksum: 10/undefined conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@next/swc-linux-arm64-gnu@npm:14.2.5": - version: 14.2.5 - resolution: "@next/swc-linux-arm64-gnu@npm:14.2.5" - checksum: 10/undefined - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - "@next/swc-linux-arm64-gnu@npm:15.1.5": version: 15.1.5 resolution: "@next/swc-linux-arm64-gnu@npm:15.1.5" - checksum: 10/undefined conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-arm64-musl@npm:14.2.5": - version: 14.2.5 - resolution: "@next/swc-linux-arm64-musl@npm:14.2.5" - checksum: 10/undefined - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - "@next/swc-linux-arm64-musl@npm:15.1.5": version: 15.1.5 resolution: "@next/swc-linux-arm64-musl@npm:15.1.5" - checksum: 10/undefined conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@next/swc-linux-x64-gnu@npm:14.2.5": - version: 14.2.5 - resolution: "@next/swc-linux-x64-gnu@npm:14.2.5" - checksum: 10/undefined - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - "@next/swc-linux-x64-gnu@npm:15.1.5": version: 15.1.5 resolution: "@next/swc-linux-x64-gnu@npm:15.1.5" - checksum: 10/undefined conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-x64-musl@npm:14.2.5": - version: 14.2.5 - resolution: "@next/swc-linux-x64-musl@npm:14.2.5" - checksum: 10/undefined - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - "@next/swc-linux-x64-musl@npm:15.1.5": version: 15.1.5 resolution: "@next/swc-linux-x64-musl@npm:15.1.5" - checksum: 10/undefined conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@next/swc-win32-arm64-msvc@npm:14.2.5": - version: 14.2.5 - resolution: "@next/swc-win32-arm64-msvc@npm:14.2.5" - checksum: 10/undefined - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - "@next/swc-win32-arm64-msvc@npm:15.1.5": version: 15.1.5 resolution: "@next/swc-win32-arm64-msvc@npm:15.1.5" - checksum: 10/undefined conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@next/swc-win32-ia32-msvc@npm:14.2.5": - version: 14.2.5 - resolution: "@next/swc-win32-ia32-msvc@npm:14.2.5" - checksum: 10/undefined - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@next/swc-win32-x64-msvc@npm:14.2.5": - version: 14.2.5 - resolution: "@next/swc-win32-x64-msvc@npm:14.2.5" - checksum: 10/undefined - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@next/swc-win32-x64-msvc@npm:15.1.5": version: 15.1.5 resolution: "@next/swc-win32-x64-msvc@npm:15.1.5" - checksum: 10/undefined conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -4633,19 +2816,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-compose-refs@npm:1.1.0": - version: 1.1.0 - resolution: "@radix-ui/react-compose-refs@npm:1.1.0" - peerDependencies: - "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10/047a4ed5f87cb848be475507cd62836cf5af5761484681f521ea543ea7c9d59d61d42806d6208863d5e2380bf38cdf4cff73c2bbe5f52dbbe50fb04e1a13ac72 - languageName: node - linkType: hard - "@radix-ui/react-compose-refs@npm:1.1.1": version: 1.1.1 resolution: "@radix-ui/react-compose-refs@npm:1.1.1" @@ -4659,21 +2829,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-slot@npm:^1.1.0": - version: 1.1.0 - resolution: "@radix-ui/react-slot@npm:1.1.0" - dependencies: - "@radix-ui/react-compose-refs": "npm:1.1.0" - peerDependencies: - "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10/95e190868418b1c83adf6627256f6b664b0dcbea95d7215de9c64ac2c31102fc09155565d9ca27be6abd20fc63d0b0bacfe1b67d78b2de1d198244c848e1a54e - languageName: node - linkType: hard - "@radix-ui/react-slot@npm:^1.1.1": version: 1.1.1 resolution: "@radix-ui/react-slot@npm:1.1.1" @@ -4689,20 +2844,6 @@ __metadata: languageName: node linkType: hard -"@react-awesome/use-click-outside@npm:^0.0.3": - version: 0.0.3 - resolution: "@react-awesome/use-click-outside@npm:0.0.3" - checksum: 10/05f7b4028d4a0696476d139242ebb16cc6616bd3118f3c6254e14ea94fa97e7eb15d4abebc648bee05c77abff4fc76a73ca3aec19466331741e994f58fc5ef87 - languageName: node - linkType: hard - -"@remix-run/router@npm:1.19.0": - version: 1.19.0 - resolution: "@remix-run/router@npm:1.19.0" - checksum: 10/13a881fc47ca3571dcad298f6f19218c84f09f0dda38695d874a9fb1b496e42b6b37b777169d283cd1f5098a1470fa76c5143c53eb5a4078202bd12ea1541d29 - languageName: node - linkType: hard - "@remix-run/router@npm:1.21.1": version: 1.21.1 resolution: "@remix-run/router@npm:1.21.1" @@ -4719,36 +2860,16 @@ __metadata: "@navikt/aksel-icons": "npm:^6.14.0" "@types/react-syntax-highlighter": "npm:^15.5.13" clsx: "npm:^2.1.1" - next: "npm:^14.2.5" + next: "npm:^15.1.5" prettier: "npm:^3.3.3" - react-syntax-highlighter: "npm:^15.5.0" - typescript: "npm:^5.5.4" + react-syntax-highlighter: "npm:^15.6.1" + typescript: "npm:^5.7.3" peerDependencies: react: ">=18.3.1" react-dom: ">=18.3.1" - checksum: 10/undefined languageName: unknown linkType: soft -"@rollup/plugin-commonjs@npm:^26.0.1": - version: 26.0.1 - resolution: "@rollup/plugin-commonjs@npm:26.0.1" - dependencies: - "@rollup/pluginutils": "npm:^5.0.1" - commondir: "npm:^1.0.1" - estree-walker: "npm:^2.0.2" - glob: "npm:^10.4.1" - is-reference: "npm:1.2.1" - magic-string: "npm:^0.30.3" - peerDependencies: - rollup: ^2.68.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - checksum: 10/d9846fbf9c279259b5bf508da6264e18b2572e8bbd6df2c4fd96f1ae40153b231b7864426e62bff6f2f53b5a73b6db2246cacc31d4eecdaf469cc16d683c2392 - languageName: node - linkType: hard - "@rollup/plugin-commonjs@npm:^28.0.2": version: 28.0.2 resolution: "@rollup/plugin-commonjs@npm:28.0.2" @@ -4769,25 +2890,6 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-node-resolve@npm:^15.2.3": - version: 15.2.3 - resolution: "@rollup/plugin-node-resolve@npm:15.2.3" - dependencies: - "@rollup/pluginutils": "npm:^5.0.1" - "@types/resolve": "npm:1.20.2" - deepmerge: "npm:^4.2.2" - is-builtin-module: "npm:^3.2.1" - is-module: "npm:^1.0.0" - resolve: "npm:^1.22.1" - peerDependencies: - rollup: ^2.78.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - checksum: 10/d36a6792fbe9d8673d3a7c7dc88920be669ac54fba02ac0093d3c00fc9463fce2e87da1906a2651016742709c3d202b367fb49a62acd0d98f18409343f27b8b4 - languageName: node - linkType: hard - "@rollup/plugin-node-resolve@npm:^16.0.0": version: 16.0.0 resolution: "@rollup/plugin-node-resolve@npm:16.0.0" @@ -4806,22 +2908,6 @@ __metadata: languageName: node linkType: hard -"@rollup/pluginutils@npm:^5.0.1": - version: 5.0.2 - resolution: "@rollup/pluginutils@npm:5.0.2" - dependencies: - "@types/estree": "npm:^1.0.0" - estree-walker: "npm:^2.0.2" - picomatch: "npm:^2.3.1" - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - checksum: 10/7aebf04d5d25d7d2e9514cc8f81a49b11f093b29eae2862da29022532b66e3de4681f537cc785fdcf438bcdefa3af4453470e7951ca91d6ebea2f41d6aea42d3 - languageName: node - linkType: hard - "@rollup/pluginutils@npm:^5.0.1, @rollup/pluginutils@npm:^5.0.2": version: 5.1.0 resolution: "@rollup/pluginutils@npm:5.1.0" @@ -4838,42 +2924,9 @@ __metadata: languageName: node linkType: hard -"@rollup/pluginutils@npm:^5.0.2": - version: 5.1.0 - resolution: "@rollup/pluginutils@npm:5.1.0" - dependencies: - "@types/estree": "npm:^1.0.0" - estree-walker: "npm:^2.0.2" - picomatch: "npm:^2.3.1" - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - checksum: 10/abb15eaec5b36f159ec351b48578401bedcefdfa371d24a914cfdbb1e27d0ebfbf895299ec18ccc343d247e71f2502cba21202bc1362d7ef27d5ded699e5c2b2 - languageName: node - linkType: hard - "@rollup/rollup-android-arm-eabi@npm:4.14.0": version: 4.14.0 resolution: "@rollup/rollup-android-arm-eabi@npm:4.14.0" - checksum: 10/undefined - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@rollup/rollup-android-arm-eabi@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.20.0" - checksum: 10/undefined - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@rollup/rollup-android-arm-eabi@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.22.4" - checksum: 10/undefined conditions: os=android & cpu=arm languageName: node linkType: hard @@ -4881,7 +2934,6 @@ __metadata: "@rollup/rollup-android-arm-eabi@npm:4.31.0": version: 4.31.0 resolution: "@rollup/rollup-android-arm-eabi@npm:4.31.0" - checksum: 10/undefined conditions: os=android & cpu=arm languageName: node linkType: hard @@ -4889,23 +2941,6 @@ __metadata: "@rollup/rollup-android-arm64@npm:4.14.0": version: 4.14.0 resolution: "@rollup/rollup-android-arm64@npm:4.14.0" - checksum: 10/undefined - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-android-arm64@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-android-arm64@npm:4.20.0" - checksum: 10/undefined - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-android-arm64@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-android-arm64@npm:4.22.4" - checksum: 10/undefined conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -4913,7 +2948,6 @@ __metadata: "@rollup/rollup-android-arm64@npm:4.31.0": version: 4.31.0 resolution: "@rollup/rollup-android-arm64@npm:4.31.0" - checksum: 10/undefined conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -4921,23 +2955,6 @@ __metadata: "@rollup/rollup-darwin-arm64@npm:4.14.0": version: 4.14.0 resolution: "@rollup/rollup-darwin-arm64@npm:4.14.0" - checksum: 10/undefined - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-darwin-arm64@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-darwin-arm64@npm:4.20.0" - checksum: 10/undefined - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-darwin-arm64@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-darwin-arm64@npm:4.22.4" - checksum: 10/undefined conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -4945,7 +2962,6 @@ __metadata: "@rollup/rollup-darwin-arm64@npm:4.31.0": version: 4.31.0 resolution: "@rollup/rollup-darwin-arm64@npm:4.31.0" - checksum: 10/undefined conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -4953,23 +2969,6 @@ __metadata: "@rollup/rollup-darwin-x64@npm:4.14.0": version: 4.14.0 resolution: "@rollup/rollup-darwin-x64@npm:4.14.0" - checksum: 10/undefined - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@rollup/rollup-darwin-x64@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-darwin-x64@npm:4.20.0" - checksum: 10/undefined - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@rollup/rollup-darwin-x64@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-darwin-x64@npm:4.22.4" - checksum: 10/undefined conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -4977,7 +2976,6 @@ __metadata: "@rollup/rollup-darwin-x64@npm:4.31.0": version: 4.31.0 resolution: "@rollup/rollup-darwin-x64@npm:4.31.0" - checksum: 10/undefined conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -4985,7 +2983,6 @@ __metadata: "@rollup/rollup-freebsd-arm64@npm:4.31.0": version: 4.31.0 resolution: "@rollup/rollup-freebsd-arm64@npm:4.31.0" - checksum: 10/undefined conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -4993,7 +2990,6 @@ __metadata: "@rollup/rollup-freebsd-x64@npm:4.31.0": version: 4.31.0 resolution: "@rollup/rollup-freebsd-x64@npm:4.31.0" - checksum: 10/undefined conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -5001,55 +2997,20 @@ __metadata: "@rollup/rollup-linux-arm-gnueabihf@npm:4.14.0": version: 4.14.0 resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.14.0" - checksum: 10/undefined conditions: os=linux & cpu=arm languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.20.0" - checksum: 10/undefined - conditions: os=linux & cpu=arm & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm-gnueabihf@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.22.4" - checksum: 10/undefined - conditions: os=linux & cpu=arm & libc=glibc - languageName: node - linkType: hard - "@rollup/rollup-linux-arm-gnueabihf@npm:4.31.0": version: 4.31.0 resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.31.0" - checksum: 10/undefined conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.20.0" - checksum: 10/undefined - conditions: os=linux & cpu=arm & libc=musl - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm-musleabihf@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.22.4" - checksum: 10/undefined - conditions: os=linux & cpu=arm & libc=musl - languageName: node - linkType: hard - "@rollup/rollup-linux-arm-musleabihf@npm:4.31.0": version: 4.31.0 resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.31.0" - checksum: 10/undefined conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard @@ -5057,23 +3018,6 @@ __metadata: "@rollup/rollup-linux-arm64-gnu@npm:4.14.0": version: 4.14.0 resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.14.0" - checksum: 10/undefined - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm64-gnu@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.20.0" - checksum: 10/undefined - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm64-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.22.4" - checksum: 10/undefined conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard @@ -5081,7 +3025,6 @@ __metadata: "@rollup/rollup-linux-arm64-gnu@npm:4.31.0": version: 4.31.0 resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.31.0" - checksum: 10/undefined conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard @@ -5089,23 +3032,6 @@ __metadata: "@rollup/rollup-linux-arm64-musl@npm:4.14.0": version: 4.14.0 resolution: "@rollup/rollup-linux-arm64-musl@npm:4.14.0" - checksum: 10/undefined - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm64-musl@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.20.0" - checksum: 10/undefined - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm64-musl@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.22.4" - checksum: 10/undefined conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard @@ -5113,7 +3039,6 @@ __metadata: "@rollup/rollup-linux-arm64-musl@npm:4.31.0": version: 4.31.0 resolution: "@rollup/rollup-linux-arm64-musl@npm:4.31.0" - checksum: 10/undefined conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard @@ -5121,7 +3046,6 @@ __metadata: "@rollup/rollup-linux-loongarch64-gnu@npm:4.31.0": version: 4.31.0 resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.31.0" - checksum: 10/undefined conditions: os=linux & cpu=loong64 & libc=glibc languageName: node linkType: hard @@ -5129,31 +3053,13 @@ __metadata: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.14.0": version: 4.14.0 resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.14.0" - checksum: 10/undefined conditions: os=linux & cpu=ppc64le & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.20.0" - checksum: 10/undefined - conditions: os=linux & cpu=ppc64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.22.4" - checksum: 10/undefined - conditions: os=linux & cpu=ppc64 & libc=glibc - languageName: node - linkType: hard - "@rollup/rollup-linux-powerpc64le-gnu@npm:4.31.0": version: 4.31.0 resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.31.0" - checksum: 10/undefined conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard @@ -5161,23 +3067,6 @@ __metadata: "@rollup/rollup-linux-riscv64-gnu@npm:4.14.0": version: 4.14.0 resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.14.0" - checksum: 10/undefined - conditions: os=linux & cpu=riscv64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-riscv64-gnu@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.20.0" - checksum: 10/undefined - conditions: os=linux & cpu=riscv64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-riscv64-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.22.4" - checksum: 10/undefined conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard @@ -5185,7 +3074,6 @@ __metadata: "@rollup/rollup-linux-riscv64-gnu@npm:4.31.0": version: 4.31.0 resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.31.0" - checksum: 10/undefined conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard @@ -5193,23 +3081,6 @@ __metadata: "@rollup/rollup-linux-s390x-gnu@npm:4.14.0": version: 4.14.0 resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.14.0" - checksum: 10/undefined - conditions: os=linux & cpu=s390x & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-s390x-gnu@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.20.0" - checksum: 10/undefined - conditions: os=linux & cpu=s390x & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-s390x-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.22.4" - checksum: 10/undefined conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard @@ -5217,7 +3088,6 @@ __metadata: "@rollup/rollup-linux-s390x-gnu@npm:4.31.0": version: 4.31.0 resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.31.0" - checksum: 10/undefined conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard @@ -5225,23 +3095,6 @@ __metadata: "@rollup/rollup-linux-x64-gnu@npm:4.14.0": version: 4.14.0 resolution: "@rollup/rollup-linux-x64-gnu@npm:4.14.0" - checksum: 10/undefined - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-x64-gnu@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.20.0" - checksum: 10/undefined - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-x64-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.22.4" - checksum: 10/undefined conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard @@ -5249,7 +3102,6 @@ __metadata: "@rollup/rollup-linux-x64-gnu@npm:4.31.0": version: 4.31.0 resolution: "@rollup/rollup-linux-x64-gnu@npm:4.31.0" - checksum: 10/undefined conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard @@ -5257,31 +3109,13 @@ __metadata: "@rollup/rollup-linux-x64-musl@npm:4.14.0": version: 4.14.0 resolution: "@rollup/rollup-linux-x64-musl@npm:4.14.0" - checksum: 10/undefined conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.20.0" - checksum: 10/undefined - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@rollup/rollup-linux-x64-musl@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.22.4" - checksum: 10/undefined - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@rollup/rollup-linux-x64-musl@npm:4.31.0": - version: 4.31.0 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.31.0" - checksum: 10/undefined +"@rollup/rollup-linux-x64-musl@npm:4.31.0": + version: 4.31.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.31.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard @@ -5289,23 +3123,6 @@ __metadata: "@rollup/rollup-win32-arm64-msvc@npm:4.14.0": version: 4.14.0 resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.14.0" - checksum: 10/undefined - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-win32-arm64-msvc@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.20.0" - checksum: 10/undefined - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-win32-arm64-msvc@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.22.4" - checksum: 10/undefined conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -5313,7 +3130,6 @@ __metadata: "@rollup/rollup-win32-arm64-msvc@npm:4.31.0": version: 4.31.0 resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.31.0" - checksum: 10/undefined conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -5321,23 +3137,6 @@ __metadata: "@rollup/rollup-win32-ia32-msvc@npm:4.14.0": version: 4.14.0 resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.14.0" - checksum: 10/undefined - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@rollup/rollup-win32-ia32-msvc@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.20.0" - checksum: 10/undefined - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@rollup/rollup-win32-ia32-msvc@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.22.4" - checksum: 10/undefined conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -5345,7 +3144,6 @@ __metadata: "@rollup/rollup-win32-ia32-msvc@npm:4.31.0": version: 4.31.0 resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.31.0" - checksum: 10/undefined conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -5353,23 +3151,6 @@ __metadata: "@rollup/rollup-win32-x64-msvc@npm:4.14.0": version: 4.14.0 resolution: "@rollup/rollup-win32-x64-msvc@npm:4.14.0" - checksum: 10/undefined - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@rollup/rollup-win32-x64-msvc@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.20.0" - checksum: 10/undefined - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@rollup/rollup-win32-x64-msvc@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.22.4" - checksum: 10/undefined conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -5377,41 +3158,10 @@ __metadata: "@rollup/rollup-win32-x64-msvc@npm:4.31.0": version: 4.31.0 resolution: "@rollup/rollup-win32-x64-msvc@npm:4.31.0" - checksum: 10/undefined conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@sideway/address@npm:^4.1.5": - version: 4.1.5 - resolution: "@sideway/address@npm:4.1.5" - dependencies: - "@hapi/hoek": "npm:^9.0.0" - checksum: 10/c4c73ac0339504f34e016d3a687118e7ddf197c1c968579572123b67b230be84caa705f0f634efdfdde7f2e07a6e0224b3c70665dc420d8bc95bf400cfc4c998 - languageName: node - linkType: hard - -"@sideway/formula@npm:^3.0.1": - version: 3.0.1 - resolution: "@sideway/formula@npm:3.0.1" - checksum: 10/8d3ee7f80df4e5204b2cbe92a2a711ca89684965a5c9eb3b316b7051212d3522e332a65a0bb2a07cc708fcd1d0b27fcb30f43ff0bcd5089d7006c7160a89eefe - languageName: node - linkType: hard - -"@sideway/pinpoint@npm:^2.0.0": - version: 2.0.0 - resolution: "@sideway/pinpoint@npm:2.0.0" - checksum: 10/1ed21800128b2b23280ba4c9db26c8ff6142b97a8683f17639fd7f2128aa09046461574800b30fb407afc5b663c2331795ccf3b654d4b38fa096e41a5c786bf8 - languageName: node - linkType: hard - -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 10/297f95ff77c82c54de8c9907f186076e715ff2621c5222ba50b8d40a170661c0c5242c763cba2a4791f0f91cb1d8ffa53ea1d7294570cf8cd4694c0e383e484d - languageName: node - linkType: hard - "@sindresorhus/merge-streams@npm:^1.0.0": version: 1.0.0 resolution: "@sindresorhus/merge-streams@npm:1.0.0" @@ -5419,36 +3169,6 @@ __metadata: languageName: node linkType: hard -"@sinonjs/commons@npm:^3.0.0": - version: 3.0.1 - resolution: "@sinonjs/commons@npm:3.0.1" - dependencies: - type-detect: "npm:4.0.8" - checksum: 10/a0af217ba7044426c78df52c23cedede6daf377586f3ac58857c565769358ab1f44ebf95ba04bbe38814fba6e316ca6f02870a009328294fc2c555d0f85a7117 - languageName: node - linkType: hard - -"@sinonjs/fake-timers@npm:^10.0.2": - version: 10.3.0 - resolution: "@sinonjs/fake-timers@npm:10.3.0" - dependencies: - "@sinonjs/commons": "npm:^3.0.0" - checksum: 10/78155c7bd866a85df85e22028e046b8d46cf3e840f72260954f5e3ed5bd97d66c595524305a6841ffb3f681a08f6e5cef572a2cce5442a8a232dc29fb409b83e - languageName: node - linkType: hard - -"@storybook/addon-a11y@npm:8.3.4": - version: 8.3.4 - resolution: "@storybook/addon-a11y@npm:8.3.4" - dependencies: - "@storybook/addon-highlight": "npm:8.3.4" - axe-core: "npm:^4.2.0" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/fadbb98defa7c32075cbae05109e9492ea1a86883644c7f1eef29aea438364b162d2718e26c8b7f8916a35dfe1cbc3d6ef9a6213ff726a1f62d6bbe3b999d65e - languageName: node - linkType: hard - "@storybook/addon-a11y@npm:^8.5.2": version: 8.5.2 resolution: "@storybook/addon-a11y@npm:8.5.2" @@ -5463,33 +3183,6 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-a11y@patch:@storybook/addon-a11y@npm%3A8.3.4#~/.yarn/patches/@storybook-addon-a11y-npm-8.3.4-1c07bc384c.patch": - version: 8.3.4 - resolution: "@storybook/addon-a11y@patch:@storybook/addon-a11y@npm%3A8.3.4#~/.yarn/patches/@storybook-addon-a11y-npm-8.3.4-1c07bc384c.patch::version=8.3.4&hash=106202" - dependencies: - "@storybook/addon-highlight": "npm:8.3.4" - axe-core: "npm:^4.2.0" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/d2725a31cbd28d52e3d66650a4cfc924cdbc60ce15f5c75ed8a78f4819cb294e5489e5e405879bf6269e5cf64ac834c3d42a2b520aa542899d9445dee26d5cfb - languageName: node - linkType: hard - -"@storybook/addon-actions@npm:8.3.4": - version: 8.3.4 - resolution: "@storybook/addon-actions@npm:8.3.4" - dependencies: - "@storybook/global": "npm:^5.0.0" - "@types/uuid": "npm:^9.0.1" - dequal: "npm:^2.0.2" - polished: "npm:^4.2.2" - uuid: "npm:^9.0.0" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/00855b8de65274c8698ec262203768095ba7e6868a80e92cf6b94020543d068ba57b1d6ee48fe3335637798ca135a82ecf90a0166079f0d3c44029779fb6ed7a - languageName: node - linkType: hard - "@storybook/addon-actions@npm:8.5.2": version: 8.5.2 resolution: "@storybook/addon-actions@npm:8.5.2" @@ -5505,19 +3198,6 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-backgrounds@npm:8.3.4": - version: 8.3.4 - resolution: "@storybook/addon-backgrounds@npm:8.3.4" - dependencies: - "@storybook/global": "npm:^5.0.0" - memoizerific: "npm:^1.11.3" - ts-dedent: "npm:^2.0.0" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/9aee69464008642762a7dc8574cc18db815d292ec4ee062b593b2d00e5b9f9102ca7ebe7dd64ae2e302802663bf262a0422679dda36f22cc103e289e21954161 - languageName: node - linkType: hard - "@storybook/addon-backgrounds@npm:8.5.2": version: 8.5.2 resolution: "@storybook/addon-backgrounds@npm:8.5.2" @@ -5531,20 +3211,6 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-controls@npm:8.3.4": - version: 8.3.4 - resolution: "@storybook/addon-controls@npm:8.3.4" - dependencies: - "@storybook/global": "npm:^5.0.0" - dequal: "npm:^2.0.2" - lodash: "npm:^4.17.21" - ts-dedent: "npm:^2.0.0" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/9eb6f0cb8c862e91c6c66c605058d2c2f902f56e598c85491a3332d2887e178fc45685effb4c29be7a4e2a62160ae4b612252c9edb32dfea7c4428525b333514 - languageName: node - linkType: hard - "@storybook/addon-controls@npm:8.5.2": version: 8.5.2 resolution: "@storybook/addon-controls@npm:8.5.2" @@ -5558,28 +3224,6 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-docs@npm:8.3.4": - version: 8.3.4 - resolution: "@storybook/addon-docs@npm:8.3.4" - dependencies: - "@mdx-js/react": "npm:^3.0.0" - "@storybook/blocks": "npm:8.3.4" - "@storybook/csf-plugin": "npm:8.3.4" - "@storybook/global": "npm:^5.0.0" - "@storybook/react-dom-shim": "npm:8.3.4" - "@types/react": "npm:^16.8.0 || ^17.0.0 || ^18.0.0" - fs-extra: "npm:^11.1.0" - react: "npm:^16.8.0 || ^17.0.0 || ^18.0.0" - react-dom: "npm:^16.8.0 || ^17.0.0 || ^18.0.0" - rehype-external-links: "npm:^3.0.0" - rehype-slug: "npm:^6.0.0" - ts-dedent: "npm:^2.0.0" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/2f9a8345e8e06c0695fe82bc3e682d1e5ec0f864bf0d86e7ce15fe2341d2227d2cd3f1c50a34d7fa03e12c4faea823f4e98b0cf6aefbd23a9dbf2d1c0f496757 - languageName: node - linkType: hard - "@storybook/addon-docs@npm:8.5.2": version: 8.5.2 resolution: "@storybook/addon-docs@npm:8.5.2" @@ -5597,26 +3241,6 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-essentials@npm:^8.3.4": - version: 8.3.4 - resolution: "@storybook/addon-essentials@npm:8.3.4" - dependencies: - "@storybook/addon-actions": "npm:8.3.4" - "@storybook/addon-backgrounds": "npm:8.3.4" - "@storybook/addon-controls": "npm:8.3.4" - "@storybook/addon-docs": "npm:8.3.4" - "@storybook/addon-highlight": "npm:8.3.4" - "@storybook/addon-measure": "npm:8.3.4" - "@storybook/addon-outline": "npm:8.3.4" - "@storybook/addon-toolbars": "npm:8.3.4" - "@storybook/addon-viewport": "npm:8.3.4" - ts-dedent: "npm:^2.0.0" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/14beed49b2611302c402b8af575f9cbc8375a4e1307a54545e604a1faeb6ff8b2b76c4e88062ca018a23a993701ff4a7de65eea7ba8c57098cf09b83d441c5c0 - languageName: node - linkType: hard - "@storybook/addon-essentials@npm:^8.5.2": version: 8.5.2 resolution: "@storybook/addon-essentials@npm:8.5.2" @@ -5637,17 +3261,6 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-highlight@npm:8.3.4": - version: 8.3.4 - resolution: "@storybook/addon-highlight@npm:8.3.4" - dependencies: - "@storybook/global": "npm:^5.0.0" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/771d878a00eecd1bcc3950116d48bce3aaac47e754f0895c69c6a546f0fa3ce1d29704c9b3b736af330c50181e5be0056316a8222fa2689679401eca9d9a6bec - languageName: node - linkType: hard - "@storybook/addon-highlight@npm:8.5.2": version: 8.5.2 resolution: "@storybook/addon-highlight@npm:8.5.2" @@ -5659,38 +3272,6 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-interactions@npm:^8.3.4": - version: 8.3.4 - resolution: "@storybook/addon-interactions@npm:8.3.4" - dependencies: - "@storybook/global": "npm:^5.0.0" - "@storybook/instrumenter": "npm:8.3.4" - "@storybook/test": "npm:8.3.4" - polished: "npm:^4.2.2" - ts-dedent: "npm:^2.2.0" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/1850bfc0696b93a90ee79851c6906f46cf876a3c6ac6f98429d99900da306d21a0facde5e4579f4697bfdd0b5f5be11b140b94abf7614a201fb89972d6c92939 - languageName: node - linkType: hard - -"@storybook/addon-links@npm:^8.3.4": - version: 8.3.4 - resolution: "@storybook/addon-links@npm:8.3.4" - dependencies: - "@storybook/csf": "npm:^0.1.11" - "@storybook/global": "npm:^5.0.0" - ts-dedent: "npm:^2.0.0" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.3.4 - peerDependenciesMeta: - react: - optional: true - checksum: 10/e42c8165d3bd4c1568f571551d37e8959723551387034970872e785ad970011c3002a2f0fc0f314be65ca15500d597a09fe3ceeab13a01ebc93d36352fa07204 - languageName: node - linkType: hard - "@storybook/addon-links@npm:^8.5.2": version: 8.5.2 resolution: "@storybook/addon-links@npm:8.5.2" @@ -5708,18 +3289,6 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-mdx-gfm@npm:^8.3.4": - version: 8.3.4 - resolution: "@storybook/addon-mdx-gfm@npm:8.3.4" - dependencies: - remark-gfm: "npm:^4.0.0" - ts-dedent: "npm:^2.0.0" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/bfbc47ffd75b356ebd0dcaab4b0fa28b09d488c846d6bbed833a40b293b9ab078cbc7c2f82003c540703777af8f7978f9c41a1016fefe4c55cb2dfeae32894ab - languageName: node - linkType: hard - "@storybook/addon-mdx-gfm@npm:^8.5.2": version: 8.5.2 resolution: "@storybook/addon-mdx-gfm@npm:8.5.2" @@ -5732,18 +3301,6 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-measure@npm:8.3.4": - version: 8.3.4 - resolution: "@storybook/addon-measure@npm:8.3.4" - dependencies: - "@storybook/global": "npm:^5.0.0" - tiny-invariant: "npm:^1.3.1" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/f103ea93c92fdd42193345416c2c1aab1ffe246d2e565f087a5af39743affeeaeed8b01c4ec6e04013f369ac7b331a4ce6b47e6fe10e3debc5cf996c86e8a36c - languageName: node - linkType: hard - "@storybook/addon-measure@npm:8.5.2": version: 8.5.2 resolution: "@storybook/addon-measure@npm:8.5.2" @@ -5756,18 +3313,6 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-outline@npm:8.3.4": - version: 8.3.4 - resolution: "@storybook/addon-outline@npm:8.3.4" - dependencies: - "@storybook/global": "npm:^5.0.0" - ts-dedent: "npm:^2.0.0" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/7bdc3089cdc80c1f5767365963d96962aa803f20b6eebf158d99ea45623be7c7c0c98223fd1670d7282a7b25215ee5c91922f1586993277caafb5881b555e285 - languageName: node - linkType: hard - "@storybook/addon-outline@npm:8.5.2": version: 8.5.2 resolution: "@storybook/addon-outline@npm:8.5.2" @@ -5780,19 +3325,6 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-storysource@npm:^8.3.4": - version: 8.3.4 - resolution: "@storybook/addon-storysource@npm:8.3.4" - dependencies: - "@storybook/source-loader": "npm:8.3.4" - estraverse: "npm:^5.2.0" - tiny-invariant: "npm:^1.3.1" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/83767324fbd0626072e55f3e896edac10da8062d67636559cb24f613dff8e439f7db2a0b56c995f402bd57d274f04946f7c731ba15ff939c144a3ff3f47fdabc - languageName: node - linkType: hard - "@storybook/addon-storysource@npm:^8.5.2": version: 8.5.2 resolution: "@storybook/addon-storysource@npm:8.5.2" @@ -5806,17 +3338,6 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-themes@npm:^8.3.4": - version: 8.3.4 - resolution: "@storybook/addon-themes@npm:8.3.4" - dependencies: - ts-dedent: "npm:^2.0.0" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/1e1df391f121073926c531e81fba3766797cd7b6aae9ae78ee15f4f97d907b86f8bbd98041dee4884f1b3a8bff251137e08a07ac65222df9eb63cecdbf4f75bf - languageName: node - linkType: hard - "@storybook/addon-themes@npm:^8.5.2": version: 8.5.2 resolution: "@storybook/addon-themes@npm:8.5.2" @@ -5828,15 +3349,6 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-toolbars@npm:8.3.4": - version: 8.3.4 - resolution: "@storybook/addon-toolbars@npm:8.3.4" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/2f1d15d8e94929cf0d869952425ee51af771611275a2d5eabc45e977f2c698eb4b01bb8972c73855e740ba90866f525aa4b79f98a921ea110b30d23c74610a9f - languageName: node - linkType: hard - "@storybook/addon-toolbars@npm:8.5.2": version: 8.5.2 resolution: "@storybook/addon-toolbars@npm:8.5.2" @@ -5846,17 +3358,6 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-viewport@npm:8.3.4": - version: 8.3.4 - resolution: "@storybook/addon-viewport@npm:8.3.4" - dependencies: - memoizerific: "npm:^1.11.3" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/a2e6417768994627955af6afc0b374a504675c4eb3bbcf1be95a2697b9ad034895d7fe41346e2a6c7b39e856ef340c76178ef4aa9e21e93605fe1afa236d278e - languageName: node - linkType: hard - "@storybook/addon-viewport@npm:8.5.2": version: 8.5.2 resolution: "@storybook/addon-viewport@npm:8.5.2" @@ -5868,37 +3369,6 @@ __metadata: languageName: node linkType: hard -"@storybook/blocks@npm:8.3.4, @storybook/blocks@npm:^8.3.4": - version: 8.3.4 - resolution: "@storybook/blocks@npm:8.3.4" - dependencies: - "@storybook/csf": "npm:^0.1.11" - "@storybook/global": "npm:^5.0.0" - "@storybook/icons": "npm:^1.2.10" - "@types/lodash": "npm:^4.14.167" - color-convert: "npm:^2.0.1" - dequal: "npm:^2.0.2" - lodash: "npm:^4.17.21" - markdown-to-jsx: "npm:^7.4.5" - memoizerific: "npm:^1.11.3" - polished: "npm:^4.2.2" - react-colorful: "npm:^5.1.2" - telejson: "npm:^7.2.0" - ts-dedent: "npm:^2.0.0" - util-deprecate: "npm:^1.0.2" - 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.3.4 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - checksum: 10/660226adbe48d39d5600a6e7eb463aed7bf47575fc418332560d878ab562d47d396cc75e6545a6734bc6800e4fde1512df8b1cd78b9bb0e02f935312ae62c425 - languageName: node - linkType: hard - "@storybook/blocks@npm:8.5.2, @storybook/blocks@npm:^8.5.2": version: 8.5.2 resolution: "@storybook/blocks@npm:8.5.2" @@ -5919,36 +3389,6 @@ __metadata: languageName: node linkType: hard -"@storybook/builder-vite@npm:8.3.4": - version: 8.3.4 - resolution: "@storybook/builder-vite@npm:8.3.4" - dependencies: - "@storybook/csf-plugin": "npm:8.3.4" - "@types/find-cache-dir": "npm:^3.2.1" - browser-assert: "npm:^1.2.1" - es-module-lexer: "npm:^1.5.0" - express: "npm:^4.19.2" - find-cache-dir: "npm:^3.0.0" - fs-extra: "npm:^11.1.0" - magic-string: "npm:^0.30.0" - ts-dedent: "npm:^2.0.0" - peerDependencies: - "@preact/preset-vite": "*" - storybook: ^8.3.4 - typescript: ">= 4.3.x" - vite: ^4.0.0 || ^5.0.0 - vite-plugin-glimmerx: "*" - peerDependenciesMeta: - "@preact/preset-vite": - optional: true - typescript: - optional: true - vite-plugin-glimmerx: - optional: true - checksum: 10/2e5f2e73c3e1f701a7b90d54415322754f6fe75662746404c28e5a6f13d5cacb9751d9e09d4ccd9cd46a34eb8e33d203e09e9a3252bd001324973cc729867fe1 - languageName: node - linkType: hard - "@storybook/builder-vite@npm:8.5.2": version: 8.5.2 resolution: "@storybook/builder-vite@npm:8.5.2" @@ -5972,45 +3412,6 @@ __metadata: languageName: node linkType: hard -"@storybook/components@npm:^8.3.4": - version: 8.3.4 - resolution: "@storybook/components@npm:8.3.4" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/1a41be2e320f7fb7317ea79652478316559b557b79091778c1bd0c377a5931e486fefbb3e34f87945aec203b2a6cb46a49d1766bf72485a573702dafda3fee10 - languageName: node - linkType: hard - -"@storybook/core-common@npm:^8.0.0": - version: 8.3.3 - resolution: "@storybook/core-common@npm:8.3.3" - peerDependencies: - storybook: ^8.3.3 - checksum: 10/fc1a9f7f934ac0bc595c82c3f6c53b531df34f3b5a7d040ad9dbc276bd227eddfcd56ac7dc06322baffcd092f239f06b58ec01975412385974c216890a426fc3 - languageName: node - linkType: hard - -"@storybook/core@npm:8.3.4": - version: 8.3.4 - resolution: "@storybook/core@npm:8.3.4" - dependencies: - "@storybook/csf": "npm:^0.1.11" - "@types/express": "npm:^4.17.21" - better-opn: "npm:^3.0.2" - browser-assert: "npm:^1.2.1" - esbuild: "npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0" - esbuild-register: "npm:^3.5.0" - express: "npm:^4.19.2" - jsdoc-type-pratt-parser: "npm:^4.0.0" - process: "npm:^0.11.10" - recast: "npm:^0.23.5" - semver: "npm:^7.6.2" - util: "npm:^0.12.5" - ws: "npm:^8.2.3" - checksum: 10/3bb0726b37dca5cb47e412f5e7cd76961a1ce8975c83d6f7f2700910d82924ccab7652d3de0606a88aed6aac91ce6a2d81c458c84fa44f6e6021ea7e20c6d544 - languageName: node - linkType: hard - "@storybook/core@npm:8.5.2": version: 8.5.2 resolution: "@storybook/core@npm:8.5.2" @@ -6035,17 +3436,6 @@ __metadata: languageName: node linkType: hard -"@storybook/csf-plugin@npm:8.3.4": - version: 8.3.4 - resolution: "@storybook/csf-plugin@npm:8.3.4" - dependencies: - unplugin: "npm:^1.3.1" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/685b4c1cf370edff50fd1c89ac528613a7310f1b86a400aa88a28a25a706818b2a36e67dc6e05e9f697fc085a60cdb537e892bcb49cd99eab81cd2b61d1ff21d - languageName: node - linkType: hard - "@storybook/csf-plugin@npm:8.5.2": version: 8.5.2 resolution: "@storybook/csf-plugin@npm:8.5.2" @@ -6057,15 +3447,6 @@ __metadata: languageName: node linkType: hard -"@storybook/csf-tools@npm:^8.0.0": - version: 8.3.3 - resolution: "@storybook/csf-tools@npm:8.3.3" - peerDependencies: - storybook: ^8.3.3 - checksum: 10/181c798cef8c3ffe26a2c1d245a15276a25e11d60fde19ad00eeefe80b1522032508e6f0284e4262aab9ecfd3c0cca3c2f4e57a1fd71b70622312a90eb5ea7a0 - languageName: node - linkType: hard - "@storybook/csf@npm:0.1.12": version: 0.1.12 resolution: "@storybook/csf@npm:0.1.12" @@ -6075,15 +3456,6 @@ __metadata: languageName: node linkType: hard -"@storybook/csf@npm:^0.1.11": - version: 0.1.11 - resolution: "@storybook/csf@npm:0.1.11" - dependencies: - type-fest: "npm:^2.19.0" - checksum: 10/f6eeefe3b92ab206676587da9e22a775da026c055999681580d2ca23c98185736f965adc79039a0ae97ea625f0fbc7915cd4559e5db24229a4805784d0b78584 - languageName: node - linkType: hard - "@storybook/experimental-addon-test@npm:^8.5.2": version: 8.5.2 resolution: "@storybook/experimental-addon-test@npm:8.5.2" @@ -6119,16 +3491,6 @@ __metadata: languageName: node linkType: hard -"@storybook/icons@npm:^1.2.10": - version: 1.2.12 - resolution: "@storybook/icons@npm:1.2.12" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10/5df56f0856764ed7e4bb24ef7a08a8a9c93f8eedcb16dac062f1dfd3bd1fe6cb4a0aa5a0794083d95e31c04960d126a4d2028cfb4c53681bf05513bb38eae9d2 - languageName: node - linkType: hard - "@storybook/icons@npm:^1.2.10, @storybook/icons@npm:^1.2.12": version: 1.3.0 resolution: "@storybook/icons@npm:1.3.0" @@ -6139,19 +3501,6 @@ __metadata: languageName: node linkType: hard -"@storybook/instrumenter@npm:8.3.4": - version: 8.3.4 - resolution: "@storybook/instrumenter@npm:8.3.4" - dependencies: - "@storybook/global": "npm:^5.0.0" - "@vitest/utils": "npm:^2.0.5" - util: "npm:^0.12.4" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/7c2c25b90c2b410c8b34edfd8e6dfaf73b5b9544ec740ab09f9254050be21a388b8ecd972473a4005b89b0bc31abd5b0005fe39080f17c3d8bd623ca7ee1a633 - languageName: node - linkType: hard - "@storybook/instrumenter@npm:8.5.2": version: 8.5.2 resolution: "@storybook/instrumenter@npm:8.5.2" @@ -6173,15 +3522,6 @@ __metadata: languageName: node linkType: hard -"@storybook/manager-api@npm:^8.3.4": - version: 8.3.4 - resolution: "@storybook/manager-api@npm:8.3.4" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/e2d15619047c72d67c6a1e20cd4cd5d273fc0cfbdd4bf55663e76272eafeb08dee78ffe8524cf18f30630e5e7de7cac43d3b08f950dd775faf0af46a8057cdfa - languageName: node - linkType: hard - "@storybook/preview-api@npm:8.5.2": version: 8.5.2 resolution: "@storybook/preview-api@npm:8.5.2" @@ -6191,35 +3531,6 @@ __metadata: languageName: node linkType: hard -"@storybook/preview-api@npm:^8.0.0": - version: 8.3.3 - resolution: "@storybook/preview-api@npm:8.3.3" - peerDependencies: - storybook: ^8.3.3 - checksum: 10/a5fb29845b8ed1ecc8bcd8d3f2c18bdc8f8dab2be6dce42f1b92df256a22885ef5918d6a401642808abe6ceedcc218225f28983d5c95b53819dab9fda34a33c6 - languageName: node - linkType: hard - -"@storybook/preview-api@npm:^8.3.4": - version: 8.3.4 - resolution: "@storybook/preview-api@npm:8.3.4" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/0cf6bb9e63b07baa0f48f75d91d8344dc94e25b5207193ea471b90969bef00690a2ac89db4d7a6bb2ecde883d4133ce3fbb7280e40b12d47816fe19ae0aee13f - languageName: node - linkType: hard - -"@storybook/react-dom-shim@npm:8.3.4": - version: 8.3.4 - resolution: "@storybook/react-dom-shim@npm:8.3.4" - 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.3.4 - checksum: 10/b913c93ff19b2b1ca2f4cc00957e77b29eeb8e4a9f5e4f9e846430c18d54b6acc71a8874ce410c70b584880d9d03e8c4ad90c6a2ff2fe5cae17ad54333776462 - languageName: node - linkType: hard - "@storybook/react-dom-shim@npm:8.5.2": version: 8.5.2 resolution: "@storybook/react-dom-shim@npm:8.5.2" @@ -6231,28 +3542,6 @@ __metadata: languageName: node linkType: hard -"@storybook/react-vite@npm:^8.3.4": - version: 8.3.4 - resolution: "@storybook/react-vite@npm:8.3.4" - dependencies: - "@joshwooding/vite-plugin-react-docgen-typescript": "npm:0.3.0" - "@rollup/pluginutils": "npm:^5.0.2" - "@storybook/builder-vite": "npm:8.3.4" - "@storybook/react": "npm:8.3.4" - find-up: "npm:^5.0.0" - magic-string: "npm:^0.30.0" - react-docgen: "npm:^7.0.0" - resolve: "npm:^1.22.8" - tsconfig-paths: "npm:^4.2.0" - 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.3.4 - vite: ^4.0.0 || ^5.0.0 - checksum: 10/05d2a71acd8823b668c12abe85860511f5079e7c63667ae2be23de01fad8449fa76f25838babfcfa41a714ee2d04ef72ef23cc3df150e39269734572437498c9 - languageName: node - linkType: hard - "@storybook/react-vite@npm:^8.5.2": version: 8.5.2 resolution: "@storybook/react-vite@npm:8.5.2" @@ -6279,45 +3568,6 @@ __metadata: languageName: node linkType: hard -"@storybook/react@npm:8.3.4, @storybook/react@npm:^8.3.4": - version: 8.3.4 - resolution: "@storybook/react@npm:8.3.4" - dependencies: - "@storybook/components": "npm:^8.3.4" - "@storybook/global": "npm:^5.0.0" - "@storybook/manager-api": "npm:^8.3.4" - "@storybook/preview-api": "npm:^8.3.4" - "@storybook/react-dom-shim": "npm:8.3.4" - "@storybook/theming": "npm:^8.3.4" - "@types/escodegen": "npm:^0.0.6" - "@types/estree": "npm:^0.0.51" - "@types/node": "npm:^22.0.0" - acorn: "npm:^7.4.1" - acorn-jsx: "npm:^5.3.1" - acorn-walk: "npm:^7.2.0" - escodegen: "npm:^2.1.0" - html-tags: "npm:^3.1.0" - prop-types: "npm:^15.7.2" - react-element-to-jsx-string: "npm:^15.0.0" - semver: "npm:^7.3.7" - ts-dedent: "npm:^2.0.0" - type-fest: "npm:~2.19" - util-deprecate: "npm:^1.0.2" - peerDependencies: - "@storybook/test": 8.3.4 - 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.3.4 - typescript: ">= 4.2.x" - peerDependenciesMeta: - "@storybook/test": - optional: true - typescript: - optional: true - checksum: 10/c8fc79345106780c0b9b167b267ba42d238451aaaa9a7445a51f1219da3dca317034b4be9585da3bffa68dba29048d71a6a70f1613a727699b550f3780da1531 - languageName: node - linkType: hard - "@storybook/react@npm:8.5.2, @storybook/react@npm:^8.5.2": version: 8.5.2 resolution: "@storybook/react@npm:8.5.2" @@ -6343,20 +3593,6 @@ __metadata: languageName: node linkType: hard -"@storybook/source-loader@npm:8.3.4": - version: 8.3.4 - resolution: "@storybook/source-loader@npm:8.3.4" - dependencies: - "@storybook/csf": "npm:^0.1.11" - estraverse: "npm:^5.2.0" - lodash: "npm:^4.17.21" - prettier: "npm:^3.1.1" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/8bf8705e2882412b48cafdef6e2bc37255c1ece9697f2f849854d96e58db81edd1c18b9c9977da018e39232703f3fac17ac41661714b2a126d8685064d9366db - languageName: node - linkType: hard - "@storybook/source-loader@npm:8.5.2": version: 8.5.2 resolution: "@storybook/source-loader@npm:8.5.2" @@ -6371,57 +3607,6 @@ __metadata: languageName: node linkType: hard -"@storybook/test-runner@npm:^0.19.1": - version: 0.19.1 - resolution: "@storybook/test-runner@npm:0.19.1" - dependencies: - "@babel/core": "npm:^7.22.5" - "@babel/generator": "npm:^7.22.5" - "@babel/template": "npm:^7.22.5" - "@babel/types": "npm:^7.22.5" - "@jest/types": "npm:^29.6.3" - "@storybook/core-common": "npm:^8.0.0" - "@storybook/csf": "npm:^0.1.11" - "@storybook/csf-tools": "npm:^8.0.0" - "@storybook/preview-api": "npm:^8.0.0" - "@swc/core": "npm:^1.5.22" - "@swc/jest": "npm:^0.2.23" - expect-playwright: "npm:^0.8.0" - jest: "npm:^29.6.4" - jest-circus: "npm:^29.6.4" - jest-environment-node: "npm:^29.6.4" - jest-junit: "npm:^16.0.0" - jest-playwright-preset: "npm:^4.0.0" - jest-runner: "npm:^29.6.4" - jest-serializer-html: "npm:^7.1.0" - jest-watch-typeahead: "npm:^2.0.0" - nyc: "npm:^15.1.0" - playwright: "npm:^1.14.0" - bin: - test-storybook: dist/test-storybook.js - checksum: 10/cb0a68e6fc9472b4cf82c969fb58a74404f7865ab2ecbffe42f78f3ec3da0c21797c62a19e1a77a02d3c0559a6a03bae2e28104f10dd239b5ded7bcbaa232b98 - languageName: node - linkType: hard - -"@storybook/test@npm:8.3.4": - version: 8.3.4 - resolution: "@storybook/test@npm:8.3.4" - dependencies: - "@storybook/csf": "npm:^0.1.11" - "@storybook/global": "npm:^5.0.0" - "@storybook/instrumenter": "npm:8.3.4" - "@testing-library/dom": "npm:10.4.0" - "@testing-library/jest-dom": "npm:6.5.0" - "@testing-library/user-event": "npm:14.5.2" - "@vitest/expect": "npm:2.0.5" - "@vitest/spy": "npm:2.0.5" - util: "npm:^0.12.4" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/b0a5f3408bc0786752bf3c9adcd2fb128aadaaa8bc1b31858cc67b742ecf5d873e43afbb006d4b8933009b43fe812c8f1dca15857fb8fff60a3d4e12bf6968fe - languageName: node - linkType: hard - "@storybook/test@npm:8.5.2": version: 8.5.2 resolution: "@storybook/test@npm:8.5.2" @@ -6449,24 +3634,6 @@ __metadata: languageName: node linkType: hard -"@storybook/theming@npm:^8.3.4": - version: 8.3.4 - resolution: "@storybook/theming@npm:8.3.4" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/eb38c1621a0ec4c25c086f3d9a3f78e10e7fc906e40114a4527848a88c2c7dd77e8478f8d894cfb8df632e62beb4bfa1d9c8fd0b978a74176e4f7fa244b8057f - languageName: node - linkType: hard - -"@storybook/types@npm:^8.3.4": - version: 8.3.4 - resolution: "@storybook/types@npm:8.3.4" - peerDependencies: - storybook: ^8.3.4 - checksum: 10/823cf8e3ab85dca82f823264cc5ff40dcfbcafc7887a5414461401111d1a0bf1c8e8aed91b388862c29dc999e4fcd645f61a0c72ed0b4ebb2394c573a61e0832 - languageName: node - linkType: hard - "@storybook/types@npm:^8.5.2": version: 8.5.2 resolution: "@storybook/types@npm:8.5.2" @@ -6628,16 +3795,6 @@ __metadata: languageName: node linkType: hard -"@svitejs/changesets-changelog-github-compact@npm:^1.1.0": - version: 1.1.0 - resolution: "@svitejs/changesets-changelog-github-compact@npm:1.1.0" - dependencies: - "@changesets/get-github-info": "npm:^0.5.2" - dotenv: "npm:^16.0.3" - checksum: 10/51a8727f6ee5d0eddc48c24ef1b809d714d1d1b04cbb4bbb33f39e3096708e7f5957274a2fcaa8eeb273a16295f0f612ca4d7e5e672dfce558e1f3d7faeb1815 - languageName: node - linkType: hard - "@svitejs/changesets-changelog-github-compact@npm:^1.2.0": version: 1.2.0 resolution: "@svitejs/changesets-changelog-github-compact@npm:1.2.0" @@ -6651,23 +3808,6 @@ __metadata: "@swc/core-darwin-arm64@npm:1.10.8": version: 1.10.8 resolution: "@swc/core-darwin-arm64@npm:1.10.8" - checksum: 10/undefined - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@swc/core-darwin-arm64@npm:1.6.5": - version: 1.6.5 - resolution: "@swc/core-darwin-arm64@npm:1.6.5" - checksum: 10/undefined - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@swc/core-darwin-arm64@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-darwin-arm64@npm:1.7.28" - checksum: 10/undefined conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -6675,23 +3815,6 @@ __metadata: "@swc/core-darwin-x64@npm:1.10.8": version: 1.10.8 resolution: "@swc/core-darwin-x64@npm:1.10.8" - checksum: 10/undefined - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@swc/core-darwin-x64@npm:1.6.5": - version: 1.6.5 - resolution: "@swc/core-darwin-x64@npm:1.6.5" - checksum: 10/undefined - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@swc/core-darwin-x64@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-darwin-x64@npm:1.7.28" - checksum: 10/undefined conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -6699,23 +3822,6 @@ __metadata: "@swc/core-linux-arm-gnueabihf@npm:1.10.8": version: 1.10.8 resolution: "@swc/core-linux-arm-gnueabihf@npm:1.10.8" - checksum: 10/undefined - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@swc/core-linux-arm-gnueabihf@npm:1.6.5": - version: 1.6.5 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.6.5" - checksum: 10/undefined - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@swc/core-linux-arm-gnueabihf@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.28" - checksum: 10/undefined conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -6723,23 +3829,6 @@ __metadata: "@swc/core-linux-arm64-gnu@npm:1.10.8": version: 1.10.8 resolution: "@swc/core-linux-arm64-gnu@npm:1.10.8" - checksum: 10/undefined - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@swc/core-linux-arm64-gnu@npm:1.6.5": - version: 1.6.5 - resolution: "@swc/core-linux-arm64-gnu@npm:1.6.5" - checksum: 10/undefined - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@swc/core-linux-arm64-gnu@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-linux-arm64-gnu@npm:1.7.28" - checksum: 10/undefined conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard @@ -6747,23 +3836,6 @@ __metadata: "@swc/core-linux-arm64-musl@npm:1.10.8": version: 1.10.8 resolution: "@swc/core-linux-arm64-musl@npm:1.10.8" - checksum: 10/undefined - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@swc/core-linux-arm64-musl@npm:1.6.5": - version: 1.6.5 - resolution: "@swc/core-linux-arm64-musl@npm:1.6.5" - checksum: 10/undefined - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@swc/core-linux-arm64-musl@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-linux-arm64-musl@npm:1.7.28" - checksum: 10/undefined conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard @@ -6771,23 +3843,6 @@ __metadata: "@swc/core-linux-x64-gnu@npm:1.10.8": version: 1.10.8 resolution: "@swc/core-linux-x64-gnu@npm:1.10.8" - checksum: 10/undefined - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@swc/core-linux-x64-gnu@npm:1.6.5": - version: 1.6.5 - resolution: "@swc/core-linux-x64-gnu@npm:1.6.5" - checksum: 10/undefined - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@swc/core-linux-x64-gnu@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-linux-x64-gnu@npm:1.7.28" - checksum: 10/undefined conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard @@ -6795,23 +3850,6 @@ __metadata: "@swc/core-linux-x64-musl@npm:1.10.8": version: 1.10.8 resolution: "@swc/core-linux-x64-musl@npm:1.10.8" - checksum: 10/undefined - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@swc/core-linux-x64-musl@npm:1.6.5": - version: 1.6.5 - resolution: "@swc/core-linux-x64-musl@npm:1.6.5" - checksum: 10/undefined - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@swc/core-linux-x64-musl@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-linux-x64-musl@npm:1.7.28" - checksum: 10/undefined conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard @@ -6819,23 +3857,6 @@ __metadata: "@swc/core-win32-arm64-msvc@npm:1.10.8": version: 1.10.8 resolution: "@swc/core-win32-arm64-msvc@npm:1.10.8" - checksum: 10/undefined - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@swc/core-win32-arm64-msvc@npm:1.6.5": - version: 1.6.5 - resolution: "@swc/core-win32-arm64-msvc@npm:1.6.5" - checksum: 10/undefined - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@swc/core-win32-arm64-msvc@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-win32-arm64-msvc@npm:1.7.28" - checksum: 10/undefined conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -6843,23 +3864,6 @@ __metadata: "@swc/core-win32-ia32-msvc@npm:1.10.8": version: 1.10.8 resolution: "@swc/core-win32-ia32-msvc@npm:1.10.8" - checksum: 10/undefined - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@swc/core-win32-ia32-msvc@npm:1.6.5": - version: 1.6.5 - resolution: "@swc/core-win32-ia32-msvc@npm:1.6.5" - checksum: 10/undefined - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@swc/core-win32-ia32-msvc@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-win32-ia32-msvc@npm:1.7.28" - checksum: 10/undefined conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -6867,119 +3871,10 @@ __metadata: "@swc/core-win32-x64-msvc@npm:1.10.8": version: 1.10.8 resolution: "@swc/core-win32-x64-msvc@npm:1.10.8" - checksum: 10/undefined - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@swc/core-win32-x64-msvc@npm:1.6.5": - version: 1.6.5 - resolution: "@swc/core-win32-x64-msvc@npm:1.6.5" - checksum: 10/undefined - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@swc/core-win32-x64-msvc@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-win32-x64-msvc@npm:1.7.28" - checksum: 10/undefined conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@swc/core@npm:^1.5.22": - version: 1.7.28 - resolution: "@swc/core@npm:1.7.28" - dependencies: - "@swc/core-darwin-arm64": "npm:1.7.28" - "@swc/core-darwin-x64": "npm:1.7.28" - "@swc/core-linux-arm-gnueabihf": "npm:1.7.28" - "@swc/core-linux-arm64-gnu": "npm:1.7.28" - "@swc/core-linux-arm64-musl": "npm:1.7.28" - "@swc/core-linux-x64-gnu": "npm:1.7.28" - "@swc/core-linux-x64-musl": "npm:1.7.28" - "@swc/core-win32-arm64-msvc": "npm:1.7.28" - "@swc/core-win32-ia32-msvc": "npm:1.7.28" - "@swc/core-win32-x64-msvc": "npm:1.7.28" - "@swc/counter": "npm:^0.1.3" - "@swc/types": "npm:^0.1.12" - peerDependencies: - "@swc/helpers": "*" - dependenciesMeta: - "@swc/core-darwin-arm64": - optional: true - "@swc/core-darwin-x64": - optional: true - "@swc/core-linux-arm-gnueabihf": - optional: true - "@swc/core-linux-arm64-gnu": - optional: true - "@swc/core-linux-arm64-musl": - optional: true - "@swc/core-linux-x64-gnu": - optional: true - "@swc/core-linux-x64-musl": - optional: true - "@swc/core-win32-arm64-msvc": - optional: true - "@swc/core-win32-ia32-msvc": - optional: true - "@swc/core-win32-x64-msvc": - optional: true - peerDependenciesMeta: - "@swc/helpers": - optional: true - checksum: 10/a477e79387ecc8b68c2bdbbdc88cc61f27a02c5d00f0d77134f9e2de166786a4ee9f7388d6ffd44fc01bfef5311a15cc3132052bab72fb43246dc42705fedb60 - languageName: node - linkType: hard - -"@swc/core@npm:^1.5.7": - version: 1.6.5 - resolution: "@swc/core@npm:1.6.5" - dependencies: - "@swc/core-darwin-arm64": "npm:1.6.5" - "@swc/core-darwin-x64": "npm:1.6.5" - "@swc/core-linux-arm-gnueabihf": "npm:1.6.5" - "@swc/core-linux-arm64-gnu": "npm:1.6.5" - "@swc/core-linux-arm64-musl": "npm:1.6.5" - "@swc/core-linux-x64-gnu": "npm:1.6.5" - "@swc/core-linux-x64-musl": "npm:1.6.5" - "@swc/core-win32-arm64-msvc": "npm:1.6.5" - "@swc/core-win32-ia32-msvc": "npm:1.6.5" - "@swc/core-win32-x64-msvc": "npm:1.6.5" - "@swc/counter": "npm:^0.1.3" - "@swc/types": "npm:^0.1.9" - peerDependencies: - "@swc/helpers": "*" - dependenciesMeta: - "@swc/core-darwin-arm64": - optional: true - "@swc/core-darwin-x64": - optional: true - "@swc/core-linux-arm-gnueabihf": - optional: true - "@swc/core-linux-arm64-gnu": - optional: true - "@swc/core-linux-arm64-musl": - optional: true - "@swc/core-linux-x64-gnu": - optional: true - "@swc/core-linux-x64-musl": - optional: true - "@swc/core-win32-arm64-msvc": - optional: true - "@swc/core-win32-ia32-msvc": - optional: true - "@swc/core-win32-x64-msvc": - optional: true - peerDependenciesMeta: - "@swc/helpers": - optional: true - checksum: 10/874b7d5f790e67b82546967fec5f380539b81fe10725f97772f8260776ee800448ef3e6f0c7c6eb1d1094ebe65b8531f982e407ef918de7220977b04d094d605 - languageName: node - linkType: hard - "@swc/core@npm:^1.7.26": version: 1.10.8 resolution: "@swc/core@npm:1.10.8" @@ -7033,13 +3928,6 @@ __metadata: languageName: node linkType: hard -"@swc/counter@npm:^0.1.3": - version: 0.1.3 - resolution: "@swc/counter@npm:0.1.3" - checksum: 10/df8f9cfba9904d3d60f511664c70d23bb323b3a0803ec9890f60133954173047ba9bdeabce28cd70ba89ccd3fd6c71c7b0bd58be85f611e1ffbe5d5c18616598 - languageName: node - linkType: hard - "@swc/helpers@npm:0.5.15": version: 0.5.15 resolution: "@swc/helpers@npm:0.5.15" @@ -7049,68 +3937,15 @@ __metadata: languageName: node linkType: hard -"@swc/helpers@npm:0.5.5": - version: 0.5.5 - resolution: "@swc/helpers@npm:0.5.5" - dependencies: - "@swc/counter": "npm:^0.1.3" - tslib: "npm:^2.4.0" - checksum: 10/1c5ef04f642542212df28c669438f3e0f459dcde7b448a5b1fcafb2e9e4f13e76d8428535a270e91ed123dd2a21189dbed34086b88a8cf68baf84984d6d0e39b - languageName: node - linkType: hard - -"@swc/jest@npm:^0.2.23": - version: 0.2.36 - resolution: "@swc/jest@npm:0.2.36" - dependencies: - "@jest/create-cache-key-function": "npm:^29.7.0" - "@swc/counter": "npm:^0.1.3" - jsonc-parser: "npm:^3.2.0" - peerDependencies: - "@swc/core": "*" - checksum: 10/39c5699646f0e90400af106156e5604069e8a7d8216f2421e171837b086839176c16f69925ce6a5c4c48182005eed649bdf9664023708e169aa48814feecc0d8 - languageName: node - linkType: hard - -"@swc/types@npm:^0.1.12": - version: 0.1.12 - resolution: "@swc/types@npm:0.1.12" - dependencies: - "@swc/counter": "npm:^0.1.3" - checksum: 10/92dbbc70cd068ea30fb6fbdc1ae8599d6c058a5d09b2923d6e4e24fab5ad7c86a19dd01f349a8e03e300a9321e06911a24df18303b40e307fbd4109372cef2ef - languageName: node - linkType: hard - -"@swc/types@npm:^0.1.17": - version: 0.1.17 - resolution: "@swc/types@npm:0.1.17" +"@swc/types@npm:^0.1.17": + version: 0.1.17 + resolution: "@swc/types@npm:0.1.17" dependencies: "@swc/counter": "npm:^0.1.3" checksum: 10/ddef1ad5bfead3acdfc41f14e79ba43a99200eb325afbad5716058dbe36358b0513400e9f22aff32432be84a98ae93df95a20b94192f69b8687144270e4eaa18 languageName: node linkType: hard -"@swc/types@npm:^0.1.9": - version: 0.1.9 - resolution: "@swc/types@npm:0.1.9" - dependencies: - "@swc/counter": "npm:^0.1.3" - checksum: 10/c67ee0480b7d71c20764c5d99addebc1aacd4aed218f56143fa946132a93ff3e11bdea913c628ad992acf78c4d1fe69e65bb4fd2b81d8006a2edf94661d2fbce - languageName: node - linkType: hard - -"@tanstack/react-virtual@npm:^3.10.7": - version: 3.10.7 - resolution: "@tanstack/react-virtual@npm:3.10.7" - dependencies: - "@tanstack/virtual-core": "npm:3.10.7" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10/cf4324687a3849a981f6e7baad26199fc9419184d69585d9aca35876f9a83a0d9167b31d8d5e74ad739465961eaedc7b5c9177efc62c502adbb7f061be8dc554 - languageName: node - linkType: hard - "@tanstack/react-virtual@npm:^3.11.2": version: 3.11.2 resolution: "@tanstack/react-virtual@npm:3.11.2" @@ -7123,13 +3958,6 @@ __metadata: languageName: node linkType: hard -"@tanstack/virtual-core@npm:3.10.7": - version: 3.10.7 - resolution: "@tanstack/virtual-core@npm:3.10.7" - checksum: 10/28aa29e454f2674bd2e3609d2a9ace4ad9913f55b2edd71363b770cde150ffafd67d5fd846cc7d1538b5b0e4e62a1960f253c48c85ad9774692b3be14579eaad - languageName: node - linkType: hard - "@tanstack/virtual-core@npm:3.11.2": version: 3.11.2 resolution: "@tanstack/virtual-core@npm:3.11.2" @@ -7168,22 +3996,6 @@ __metadata: languageName: node linkType: hard -"@testing-library/jest-dom@npm:^6.4.8": - version: 6.4.8 - resolution: "@testing-library/jest-dom@npm:6.4.8" - dependencies: - "@adobe/css-tools": "npm:^4.4.0" - "@babel/runtime": "npm:^7.9.2" - aria-query: "npm:^5.0.0" - chalk: "npm:^3.0.0" - css.escape: "npm:^1.5.1" - dom-accessibility-api: "npm:^0.6.3" - lodash: "npm:^4.17.21" - redent: "npm:^3.0.0" - checksum: 10/011e5a309e2cfc0c5cee6454427030d9a5d690df212bedcc78c15ee8d23218c3e51be32617ca879f060445ba0ba38e1b8d224b5ab11444ee076c37ed8c1c123a - languageName: node - linkType: hard - "@testing-library/jest-dom@npm:^6.6.3": version: 6.6.3 resolution: "@testing-library/jest-dom@npm:6.6.3" @@ -7199,26 +4011,6 @@ __metadata: languageName: node linkType: hard -"@testing-library/react@npm:^16.0.0": - version: 16.0.0 - resolution: "@testing-library/react@npm:16.0.0" - dependencies: - "@babel/runtime": "npm:^7.12.5" - peerDependencies: - "@testing-library/dom": ^10.0.0 - "@types/react": ^18.0.0 - "@types/react-dom": ^18.0.0 - react: ^18.0.0 - react-dom: ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - "@types/react-dom": - optional: true - checksum: 10/b32894be94e31276138decfa6bcea69dfebc0c37cf91499ff6c878f41eb1154a43a7df6eb1e72e7bede78468af6cb67ca59e4acd3206b41f3ecdae2c6efdf67e - languageName: node - linkType: hard - "@testing-library/react@npm:^16.2.0": version: 16.2.0 resolution: "@testing-library/react@npm:16.2.0" @@ -7248,15 +4040,6 @@ __metadata: languageName: node linkType: hard -"@testing-library/user-event@npm:14.5.2, @testing-library/user-event@npm:^14.5.2": - version: 14.5.2 - resolution: "@testing-library/user-event@npm:14.5.2" - peerDependencies: - "@testing-library/dom": ">=7.21.4" - checksum: 10/49821459d81c6bc435d97128d6386ca24f1e4b3ba8e46cb5a96fe3643efa6e002d88c1b02b7f2ec58da593e805c59b78d7fdf0db565c1f02ba782f63ee984040 - languageName: node - linkType: hard - "@testing-library/user-event@npm:^14.6.0, @testing-library/user-event@npm:^14.6.1": version: 14.6.1 resolution: "@testing-library/user-event@npm:14.6.1" @@ -7266,22 +4049,6 @@ __metadata: languageName: node linkType: hard -"@tokens-studio/sd-transforms@npm:1.2.2": - version: 1.2.2 - resolution: "@tokens-studio/sd-transforms@npm:1.2.2" - dependencies: - "@bundled-es-modules/deepmerge": "npm:^4.3.1" - "@bundled-es-modules/postcss-calc-ast-parser": "npm:^0.1.6" - "@tokens-studio/types": "npm:^0.5.1" - colorjs.io: "npm:^0.4.3" - expr-eval-fork: "npm:^2.0.2" - is-mergeable-object: "npm:^1.1.1" - peerDependencies: - style-dictionary: ^4.0.1 - checksum: 10/800d3bceec7ab40d378578c69728e62e23c9155012d2dd9b0c3f1b9e94bfe318b8c4d7f7a956ba1e62f6e503c6fa761e4f8db104d0d55796be7d0522a1ddb67a - languageName: node - linkType: hard - "@tokens-studio/sd-transforms@npm:1.2.9": version: 1.2.9 resolution: "@tokens-studio/sd-transforms@npm:1.2.9" @@ -7342,19 +4109,6 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.18.0, @types/babel__core@npm:^7.20.5": - version: 7.20.5 - resolution: "@types/babel__core@npm:7.20.5" - dependencies: - "@babel/parser": "npm:^7.20.7" - "@babel/types": "npm:^7.20.7" - "@types/babel__generator": "npm:*" - "@types/babel__template": "npm:*" - "@types/babel__traverse": "npm:*" - checksum: 10/c32838d280b5ab59d62557f9e331d3831f8e547ee10b4f85cb78753d97d521270cebfc73ce501e9fb27fe71884d1ba75e18658692c2f4117543f0fc4e3e118b3 - languageName: node - linkType: hard - "@types/babel__core@npm:^7.18.0, @types/babel__core@npm:^7.20.5": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" @@ -7396,32 +4150,6 @@ __metadata: languageName: node linkType: hard -"@types/babel__traverse@npm:^7.0.6": - version: 7.20.6 - resolution: "@types/babel__traverse@npm:7.20.6" - dependencies: - "@babel/types": "npm:^7.20.7" - checksum: 10/63d13a3789aa1e783b87a8b03d9fb2c2c90078de7782422feff1631b8c2a25db626e63a63ac5a1465d47359201c73069dacb4b52149d17c568187625da3064ae - languageName: node - linkType: hard - -"@types/body-parser@npm:*": - version: 1.19.2 - resolution: "@types/body-parser@npm:1.19.2" - dependencies: - "@types/connect": "npm:*" - "@types/node": "npm:*" - checksum: 10/e17840c7d747a549f00aebe72c89313d09fbc4b632b949b2470c5cb3b1cb73863901ae84d9335b567a79ec5efcfb8a28ff8e3f36bc8748a9686756b6d5681f40 - languageName: node - linkType: hard - -"@types/chroma-js@npm:^2.4.4": - version: 2.4.4 - resolution: "@types/chroma-js@npm:2.4.4" - checksum: 10/0ea1eec88703dcddeb270b151a9268ba207cd911de837b5a30ec3c7c7068d1d5033f7c44df89d2c94c68db214ecd810e3aa096bd4495c2f903777f911ac69c48 - languageName: node - linkType: hard - "@types/chroma-js@npm:^3.1.0": version: 3.1.0 resolution: "@types/chroma-js@npm:3.1.0" @@ -7429,15 +4157,6 @@ __metadata: languageName: node linkType: hard -"@types/connect@npm:*": - version: 3.4.35 - resolution: "@types/connect@npm:3.4.35" - dependencies: - "@types/node": "npm:*" - checksum: 10/fe81351470f2d3165e8b12ce33542eef89ea893e36dd62e8f7d72566dfb7e448376ae962f9f3ea888547ce8b55a40020ca0e01d637fab5d99567673084542641 - languageName: node - linkType: hard - "@types/cookie@npm:^0.6.0": version: 0.6.0 resolution: "@types/cookie@npm:0.6.0" @@ -7530,13 +4249,6 @@ __metadata: languageName: node linkType: hard -"@types/escodegen@npm:^0.0.6": - version: 0.0.6 - resolution: "@types/escodegen@npm:0.0.6" - checksum: 10/2e91554a47eb98076a3ba6e3548640e50b28a0f5b69134f99dd1e0ce5223c0a1726f23d25aafd40e4c7961d7c3c519782949aa606d58d0e7431c7fb1ec011c4c - languageName: node - linkType: hard - "@types/eslint-scope@npm:^3.7.7": version: 3.7.7 resolution: "@types/eslint-scope@npm:3.7.7" @@ -7566,13 +4278,6 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:1.0.6, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": - version: 1.0.6 - resolution: "@types/estree@npm:1.0.6" - checksum: 10/9d35d475095199c23e05b431bcdd1f6fec7380612aed068b14b2a08aa70494de8a9026765a5a91b1073f636fb0368f6d8973f518a31391d519e20c59388ed88d - languageName: node - linkType: hard - "@types/estree@npm:*, @types/estree@npm:^1.0.0": version: 1.0.0 resolution: "@types/estree@npm:1.0.0" @@ -7580,47 +4285,17 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:1.0.5, @types/estree@npm:^1.0.5": +"@types/estree@npm:1.0.5": version: 1.0.5 resolution: "@types/estree@npm:1.0.5" checksum: 10/7de6d928dd4010b0e20c6919e1a6c27b61f8d4567befa89252055fad503d587ecb9a1e3eab1b1901f923964d7019796db810b7fd6430acb26c32866d126fd408 languageName: node linkType: hard -"@types/estree@npm:^0.0.51": - version: 0.0.51 - resolution: "@types/estree@npm:0.0.51" - checksum: 10/b566c7a3fc8a81ca3d9e00a717e90b8f5d567e2476b4f6d76a20ec6da33ec28165b8f989ed8dd0c9df41405199777ec36a4f85f32a347fbc6c3f696a3128b6e7 - languageName: node - linkType: hard - -"@types/express-serve-static-core@npm:^4.17.33": - version: 4.17.33 - resolution: "@types/express-serve-static-core@npm:4.17.33" - dependencies: - "@types/node": "npm:*" - "@types/qs": "npm:*" - "@types/range-parser": "npm:*" - checksum: 10/47ee1b46be710ae6451a2e658e2eab75f4affe874b0d156a31e792db0ddb35184ac7b35be926eb23424cc45f6e0d3dbacc86ac5d63a3c988d8235aedb1143841 - languageName: node - linkType: hard - -"@types/express@npm:^4.17.21": - version: 4.17.21 - resolution: "@types/express@npm:4.17.21" - dependencies: - "@types/body-parser": "npm:*" - "@types/express-serve-static-core": "npm:^4.17.33" - "@types/qs": "npm:*" - "@types/serve-static": "npm:*" - checksum: 10/7a6d26cf6f43d3151caf4fec66ea11c9d23166e4f3102edfe45a94170654a54ea08cf3103d26b3928d7ebcc24162c90488e33986b7e3a5f8941225edd5eb18c7 - languageName: node - linkType: hard - -"@types/find-cache-dir@npm:^3.2.1": - version: 3.2.1 - resolution: "@types/find-cache-dir@npm:3.2.1" - checksum: 10/bf5c4e96da40247cd9e6327f54dfccda961a0fb2d70e3c71bd05def94de4c2e6fb310fe8ecb0f04ecf5dbc52214e184b55a2337b0f87250d4ae1e2e7d58321e4 +"@types/estree@npm:1.0.6, @types/estree@npm:^1.0.6": + version: 1.0.6 + resolution: "@types/estree@npm:1.0.6" + checksum: 10/9d35d475095199c23e05b431bcdd1f6fec7380612aed068b14b2a08aa70494de8a9026765a5a91b1073f636fb0368f6d8973f518a31391d519e20c59388ed88d languageName: node linkType: hard @@ -7653,16 +4328,6 @@ __metadata: languageName: node linkType: hard -"@types/glob@npm:^7.1.1, @types/glob@npm:^7.1.3": - version: 7.2.0 - resolution: "@types/glob@npm:7.2.0" - dependencies: - "@types/minimatch": "npm:*" - "@types/node": "npm:*" - checksum: 10/6ae717fedfdfdad25f3d5a568323926c64f52ef35897bcac8aca8e19bc50c0bd84630bbd063e5d52078b2137d8e7d3c26eabebd1a2f03ff350fff8a91e79fc19 - languageName: node - linkType: hard - "@types/glob@npm:^8.1.0": version: 8.1.0 resolution: "@types/glob@npm:8.1.0" @@ -7673,15 +4338,6 @@ __metadata: languageName: node linkType: hard -"@types/graceful-fs@npm:^4.1.3": - version: 4.1.9 - resolution: "@types/graceful-fs@npm:4.1.9" - dependencies: - "@types/node": "npm:*" - checksum: 10/79d746a8f053954bba36bd3d94a90c78de995d126289d656fb3271dd9f1229d33f678da04d10bce6be440494a5a73438e2e363e92802d16b8315b051036c5256 - languageName: node - linkType: hard - "@types/hast@npm:^2.0.0": version: 2.3.4 resolution: "@types/hast@npm:2.3.4" @@ -7700,41 +4356,6 @@ __metadata: languageName: node linkType: hard -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": - version: 2.0.6 - resolution: "@types/istanbul-lib-coverage@npm:2.0.6" - checksum: 10/3feac423fd3e5449485afac999dcfcb3d44a37c830af898b689fadc65d26526460bedb889db278e0d4d815a670331796494d073a10ee6e3a6526301fe7415778 - languageName: node - linkType: hard - -"@types/istanbul-lib-report@npm:*": - version: 3.0.3 - resolution: "@types/istanbul-lib-report@npm:3.0.3" - dependencies: - "@types/istanbul-lib-coverage": "npm:*" - checksum: 10/b91e9b60f865ff08cb35667a427b70f6c2c63e88105eadd29a112582942af47ed99c60610180aa8dcc22382fa405033f141c119c69b95db78c4c709fbadfeeb4 - languageName: node - linkType: hard - -"@types/istanbul-reports@npm:^3.0.0": - version: 3.0.4 - resolution: "@types/istanbul-reports@npm:3.0.4" - dependencies: - "@types/istanbul-lib-report": "npm:*" - checksum: 10/93eb18835770b3431f68ae9ac1ca91741ab85f7606f310a34b3586b5a34450ec038c3eed7ab19266635499594de52ff73723a54a72a75b9f7d6a956f01edee95 - languageName: node - linkType: hard - -"@types/jscodeshift@npm:^0.11.11": - version: 0.11.11 - resolution: "@types/jscodeshift@npm:0.11.11" - dependencies: - ast-types: "npm:^0.14.1" - recast: "npm:^0.20.3" - checksum: 10/9e3c7c3e61f9a37d792b7c7cccb0f1383d8b52abc56a492a481a8c340bcbbbd12341e6a69570fa057c12e77abdd4bb6592d44baf2c678f4f950d0c9f79594204 - languageName: node - linkType: hard - "@types/jscodeshift@npm:^0.12.0": version: 0.12.0 resolution: "@types/jscodeshift@npm:0.12.0" @@ -7752,13 +4373,6 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:^7.0.8": - version: 7.0.15 - resolution: "@types/json-schema@npm:7.0.15" - checksum: 10/1a3c3e06236e4c4aab89499c428d585527ce50c24fe8259e8b3926d3df4cfbbbcf306cfc73ddfb66cbafc973116efd15967020b0f738f63e09e64c7d260519e7 - languageName: node - linkType: hard - "@types/jsonfile@npm:*": version: 6.1.4 resolution: "@types/jsonfile@npm:6.1.4" @@ -7775,13 +4389,6 @@ __metadata: languageName: node linkType: hard -"@types/lodash@npm:^4.14.167": - version: 4.14.191 - resolution: "@types/lodash@npm:4.14.191" - checksum: 10/ab8cd8eeb941f0fb89248cd5d520b942b841e936e4fcb093370f76d137a8b6f6be0de7f38fc259d56d3cc45b1b50ed69d15c9b94922545166e3ef1f0218be2f2 - languageName: node - linkType: hard - "@types/mdast@npm:^4.0.0": version: 4.0.3 resolution: "@types/mdast@npm:4.0.3" @@ -7798,13 +4405,6 @@ __metadata: languageName: node linkType: hard -"@types/mime@npm:*": - version: 3.0.1 - resolution: "@types/mime@npm:3.0.1" - checksum: 10/4040fac73fd0cea2460e29b348c1a6173da747f3a87da0dbce80dd7a9355a3d0e51d6d9a401654f3e5550620e3718b5a899b2ec1debf18424e298a2c605346e7 - languageName: node - linkType: hard - "@types/minimatch@npm:*, @types/minimatch@npm:^5.1.2": version: 5.1.2 resolution: "@types/minimatch@npm:5.1.2" @@ -7819,13 +4419,6 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*": - version: 18.18.6 - resolution: "@types/node@npm:18.18.6" - checksum: 10/ba8b71c724c4c9b1908faf09be1aa062790ef4194f956f6c7ae9791f8d2c1d123635695e41c3c8326223d2262bae2b3b5c8774c7a6c5885a98437b6fb04a2f0c - languageName: node - linkType: hard - "@types/node@npm:*, @types/node@npm:^22.10.7": version: 22.10.7 resolution: "@types/node@npm:22.10.7" @@ -7842,24 +4435,6 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^22.0.0": - version: 22.7.2 - resolution: "@types/node@npm:22.7.2" - dependencies: - undici-types: "npm:~6.19.2" - checksum: 10/78cfa59bfa7a7d287aede017400006059c07e0220c9eed3ab380409972711f5a2d972f8a86d6adaf2343bc66a6e9619a4dfbc71e86a2335f54bb9cd59ff0ce11 - languageName: node - linkType: hard - -"@types/node@npm:^22.1.0": - version: 22.1.0 - resolution: "@types/node@npm:22.1.0" - dependencies: - undici-types: "npm:~6.13.0" - checksum: 10/c2ac1340509646b6c673b27fae2a46e501a97e540e7221be4dd2e0be7a0f61efefb5bf3be8bedf2dbce245fa49cfc49bba77bce73fa3c4296d0d19521ced3222 - languageName: node - linkType: hard - "@types/object-hash@npm:^3.0.6": version: 3.0.6 resolution: "@types/object-hash@npm:3.0.6" @@ -7885,39 +4460,6 @@ __metadata: languageName: node linkType: hard -"@types/prompts@npm:^2.4.9": - version: 2.4.9 - resolution: "@types/prompts@npm:2.4.9" - dependencies: - "@types/node": "npm:*" - kleur: "npm:^3.0.3" - checksum: 10/69b8372f4c790b45fea16a46ff8d1bcc71b14579481776b67bd6263637118a7ecb1f12e1311506c29fadc81bf618dc64f1a91f903cfd5be67a0455a227b3e462 - languageName: node - linkType: hard - -"@types/prop-types@npm:*": - version: 15.7.5 - resolution: "@types/prop-types@npm:15.7.5" - checksum: 10/5b43b8b15415e1f298243165f1d44390403bb2bd42e662bca3b5b5633fdd39c938e91b7fce3a9483699db0f7a715d08cef220c121f723a634972fdf596aec980 - languageName: node - linkType: hard - -"@types/qs@npm:*": - version: 6.9.7 - resolution: "@types/qs@npm:6.9.7" - checksum: 10/7fd6f9c25053e9b5bb6bc9f9f76c1d89e6c04f7707a7ba0e44cc01f17ef5284adb82f230f542c2d5557d69407c9a40f0f3515e8319afd14e1e16b5543ac6cdba - languageName: node - linkType: hard - -"@types/ramda@npm:^0.30.1": - version: 0.30.1 - resolution: "@types/ramda@npm:0.30.1" - dependencies: - types-ramda: "npm:^0.30.1" - checksum: 10/3975599065ebfb4a923566ec17e04e5c59ab3b010dc09fb4462393c0e1b6962ff88c852d43f0f524788e589efea09d0ccdf242306c32872d48caaf7ff0362934 - languageName: node - linkType: hard - "@types/ramda@npm:^0.30.2": version: 0.30.2 resolution: "@types/ramda@npm:0.30.2" @@ -7927,23 +4469,6 @@ __metadata: languageName: node linkType: hard -"@types/range-parser@npm:*": - version: 1.2.4 - resolution: "@types/range-parser@npm:1.2.4" - checksum: 10/b7c0dfd5080a989d6c8bb0b6750fc0933d9acabeb476da6fe71d8bdf1ab65e37c136169d84148034802f48378ab94e3c37bb4ef7656b2bec2cb9c0f8d4146a95 - languageName: node - linkType: hard - -"@types/react-color@npm:^3.0.12": - version: 3.0.12 - resolution: "@types/react-color@npm:3.0.12" - dependencies: - "@types/react": "npm:*" - "@types/reactcss": "npm:*" - checksum: 10/d8ed71d297d026faded787588720ee5e158edfa45ee23c5e517d8bb1441ccaa25f8a0c88069fd63829f7263bbbdc78a7ae2df5957061847a2d2c6351c46c13dd - languageName: node - linkType: hard - "@types/react-color@npm:^3.0.13": version: 3.0.13 resolution: "@types/react-color@npm:3.0.13" @@ -7955,15 +4480,6 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:^18.0.11, @types/react-dom@npm:^18.3.0": - version: 18.3.0 - resolution: "@types/react-dom@npm:18.3.0" - dependencies: - "@types/react": "npm:*" - checksum: 10/6ff53f5a7b7fba952a68e114d3b542ebdc1e87a794234785ebab0bcd9bde7fb4885f21ebaf93d26dc0a1b5b93287f42cad68b78ae04dddf6b20da7aceff0beaf - languageName: node - linkType: hard - "@types/react-dom@npm:^19.0.3": version: 19.0.3 resolution: "@types/react-dom@npm:19.0.3" @@ -7982,17 +4498,6 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:*": - version: 18.2.31 - resolution: "@types/react@npm:18.2.31" - dependencies: - "@types/prop-types": "npm:*" - "@types/scheduler": "npm:*" - csstype: "npm:^3.0.2" - checksum: 10/ac9f42f1cd6ee34329ea7a81894877dc333a2dc86141545e23121b07dcd7cea902bedc6b645ce017c92610bd8cd2c6e25dbba581379889a705314f3c759371bf - languageName: node - linkType: hard - "@types/react@npm:*, @types/react@npm:19.0.7, @types/react@npm:^19.0.7": version: 19.0.7 resolution: "@types/react@npm:19.0.7" @@ -8002,36 +4507,6 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:18.3.3, @types/react@npm:^18.3.3": - version: 18.3.3 - resolution: "@types/react@npm:18.3.3" - dependencies: - "@types/prop-types": "npm:*" - csstype: "npm:^3.0.2" - checksum: 10/68e203b7f1f91d6cf21f33fc7af9d6d228035a26c83f514981e54aa3da695d0ec6af10c277c6336de1dd76c4adbe9563f3a21f80c4462000f41e5f370b46e96c - languageName: node - linkType: hard - -"@types/react@npm:^16.8.0 || ^17.0.0 || ^18.0.0": - version: 18.2.74 - resolution: "@types/react@npm:18.2.74" - dependencies: - "@types/prop-types": "npm:*" - csstype: "npm:^3.0.2" - checksum: 10/4057aa7d082d434f8e580e5aebd4007e5dbe7f8e9ae5e506a34a629e382070694a0401bf3f0d38fe8d64f4b38622e5794341e634b9739784deae19b037ae43fa - languageName: node - linkType: hard - -"@types/react@npm:^18.0.28": - version: 18.3.10 - resolution: "@types/react@npm:18.3.10" - dependencies: - "@types/prop-types": "npm:*" - csstype: "npm:^3.0.2" - checksum: 10/cdc946f15fcad62387e6485a2bbef3e45609708fd81e3ce30b03580077bb8a8a1bd0d19858d8602b33c3921bbb8907ddbc9411fd25294a2c2e944907dad8dd67 - languageName: node - linkType: hard - "@types/reactcss@npm:*": version: 1.2.12 resolution: "@types/reactcss@npm:1.2.12" @@ -8055,55 +4530,17 @@ __metadata: languageName: node linkType: hard -"@types/scheduler@npm:*": - version: 0.16.2 - resolution: "@types/scheduler@npm:0.16.2" - checksum: 10/b6b4dcfeae6deba2e06a70941860fb1435730576d3689225a421280b7742318d1548b3d22c1f66ab68e414f346a9542f29240bc955b6332c5b11e561077583bc +"@types/statuses@npm:^2.0.4": + version: 2.0.5 + resolution: "@types/statuses@npm:2.0.5" + checksum: 10/3f2609f660b45a878c6782f2fb2cef9f08bbd4e89194bf7512e747b8a73b056839be1ad6f64b1353765528cd8a5e93adeffc471cde24d0d9f7b528264e7154e5 languageName: node linkType: hard -"@types/semver@npm:^7.5.0": - version: 7.5.4 - resolution: "@types/semver@npm:7.5.4" - checksum: 10/e99c3edc8d64f56abcd891b9e44a45c4ae3cab551c8af5aa67b5df2b49e5fd03f74aac9da71fd5357a50a08d5deb95014516956b15b407052e07f25c7a4a606e - languageName: node - linkType: hard - -"@types/serve-static@npm:*": - version: 1.15.1 - resolution: "@types/serve-static@npm:1.15.1" - dependencies: - "@types/mime": "npm:*" - "@types/node": "npm:*" - checksum: 10/e556d611a4240d338afe90c080f9987bbeecee97f8fd3a8aabac07fa6bc3652a3c3f06214fb25f709547c4dcee9f0a723f24c799758484c6db7f46c0235d5b4f - languageName: node - linkType: hard - -"@types/stack-utils@npm:^2.0.0": - version: 2.0.3 - resolution: "@types/stack-utils@npm:2.0.3" - checksum: 10/72576cc1522090fe497337c2b99d9838e320659ac57fa5560fcbdcbafcf5d0216c6b3a0a8a4ee4fdb3b1f5e3420aa4f6223ab57b82fef3578bec3206425c6cf5 - languageName: node - linkType: hard - -"@types/statuses@npm:^2.0.4": - version: 2.0.5 - resolution: "@types/statuses@npm:2.0.5" - checksum: 10/3f2609f660b45a878c6782f2fb2cef9f08bbd4e89194bf7512e747b8a73b056839be1ad6f64b1353765528cd8a5e93adeffc471cde24d0d9f7b528264e7154e5 - languageName: node - linkType: hard - -"@types/tough-cookie@npm:^4.0.5": - version: 4.0.5 - resolution: "@types/tough-cookie@npm:4.0.5" - checksum: 10/01fd82efc8202670865928629697b62fe9bf0c0dcbc5b1c115831caeb073a2c0abb871ff393d7df1ae94ea41e256cb87d2a5a91fd03cdb1b0b4384e08d4ee482 - languageName: node - linkType: hard - -"@types/unist@npm:*, @types/unist@npm:^2.0.0": - version: 2.0.6 - resolution: "@types/unist@npm:2.0.6" - checksum: 10/25cb860ff10dde48b54622d58b23e66214211a61c84c0f15f88d38b61aa1b53d4d46e42b557924a93178c501c166aa37e28d7f6d994aba13d24685326272d5db +"@types/tough-cookie@npm:^4.0.5": + version: 4.0.5 + resolution: "@types/tough-cookie@npm:4.0.5" + checksum: 10/01fd82efc8202670865928629697b62fe9bf0c0dcbc5b1c115831caeb073a2c0abb871ff393d7df1ae94ea41e256cb87d2a5a91fd03cdb1b0b4384e08d4ee482 languageName: node linkType: hard @@ -8121,13 +4558,6 @@ __metadata: languageName: node linkType: hard -"@types/unist@npm:^3.0.0": - version: 3.0.2 - resolution: "@types/unist@npm:3.0.2" - checksum: 10/3d04d0be69316e5f14599a0d993a208606c12818cf631fd399243d1dc7a9bd8a3917d6066baa6abc290814afbd744621484756803c80cba892c39cd4b4a85616 - languageName: node - linkType: hard - "@types/uuid@npm:^9.0.1": version: 9.0.7 resolution: "@types/uuid@npm:9.0.7" @@ -8135,31 +4565,6 @@ __metadata: languageName: node linkType: hard -"@types/wait-on@npm:^5.2.0": - version: 5.3.4 - resolution: "@types/wait-on@npm:5.3.4" - dependencies: - "@types/node": "npm:*" - checksum: 10/2711a9ef4af3995efd442acb806d3bba0a03ef3a7eb07b1734ddd8a42b6682414f6b57ed7536fb6a5df6c6449ca24c3d42924a9d896ae3eb1065b2abbe988a18 - languageName: node - linkType: hard - -"@types/yargs-parser@npm:*": - version: 21.0.3 - resolution: "@types/yargs-parser@npm:21.0.3" - checksum: 10/a794eb750e8ebc6273a51b12a0002de41343ffe46befef460bdbb57262d187fdf608bc6615b7b11c462c63c3ceb70abe2564c8dd8ee0f7628f38a314f74a9b9b - languageName: node - linkType: hard - -"@types/yargs@npm:^17.0.8": - version: 17.0.33 - resolution: "@types/yargs@npm:17.0.33" - dependencies: - "@types/yargs-parser": "npm:*" - checksum: 10/16f6681bf4d99fb671bf56029141ed01db2862e3db9df7fc92d8bea494359ac96a1b4b1c35a836d1e95e665fb18ad753ab2015fc0db663454e8fd4e5d5e2ef91 - languageName: node - linkType: hard - "@u-elements/u-datalist@npm:^0.1.2": version: 0.1.2 resolution: "@u-elements/u-datalist@npm:0.1.2" @@ -8181,23 +4586,6 @@ __metadata: languageName: node linkType: hard -"@vercel/analytics@npm:^1.3.1": - version: 1.3.1 - resolution: "@vercel/analytics@npm:1.3.1" - dependencies: - server-only: "npm:^0.0.1" - peerDependencies: - next: ">= 13" - react: ^18 || ^19 - peerDependenciesMeta: - next: - optional: true - react: - optional: true - checksum: 10/81a3bfc49ed5ef0114e53d5eaabef1f50c816053323eeb9ad597363756b2473da2474ff7efc09aac7c4d36f9676b1a250bfa4858983ff88c3b2088cb48075cfd - languageName: node - linkType: hard - "@vercel/analytics@npm:^1.4.1": version: 1.4.1 resolution: "@vercel/analytics@npm:1.4.1" @@ -8228,17 +4616,6 @@ __metadata: languageName: node linkType: hard -"@vitejs/plugin-react-swc@npm:^3.7.0": - version: 3.7.0 - resolution: "@vitejs/plugin-react-swc@npm:3.7.0" - dependencies: - "@swc/core": "npm:^1.5.7" - peerDependencies: - vite: ^4 || ^5 - checksum: 10/16498c65aca482f638f490a59c4ef49875e59d4f1631dad7515e2fce2f87a69a4ec0cd9774fc3666b8a6e211f65b78442411a743aea33762caa0044e3c04ad39 - languageName: node - linkType: hard - "@vitejs/plugin-react-swc@npm:^3.7.2": version: 3.7.2 resolution: "@vitejs/plugin-react-swc@npm:3.7.2" @@ -8250,21 +4627,6 @@ __metadata: languageName: node linkType: hard -"@vitejs/plugin-react@npm:^4.3.1": - version: 4.3.1 - resolution: "@vitejs/plugin-react@npm:4.3.1" - dependencies: - "@babel/core": "npm:^7.24.5" - "@babel/plugin-transform-react-jsx-self": "npm:^7.24.5" - "@babel/plugin-transform-react-jsx-source": "npm:^7.24.1" - "@types/babel__core": "npm:^7.20.5" - react-refresh: "npm:^0.14.2" - peerDependencies: - vite: ^4.2.0 || ^5.0.0 - checksum: 10/a9d1eb30c968bf719a3277067211493746579aee14a7af8c0edb2cde38e8e5bbd461e62a41c3590e2c6eb04a047114eb3e97dcd591967625fbbc7aead8dfaf90 - languageName: node - linkType: hard - "@vitejs/plugin-react@npm:^4.3.4": version: 4.3.4 resolution: "@vitejs/plugin-react@npm:4.3.4" @@ -8308,28 +4670,6 @@ __metadata: languageName: node linkType: hard -"@vitest/coverage-v8@npm:^2.0.5": - version: 2.0.5 - resolution: "@vitest/coverage-v8@npm:2.0.5" - dependencies: - "@ampproject/remapping": "npm:^2.3.0" - "@bcoe/v8-coverage": "npm:^0.2.3" - debug: "npm:^4.3.5" - istanbul-lib-coverage: "npm:^3.2.2" - istanbul-lib-report: "npm:^3.0.1" - istanbul-lib-source-maps: "npm:^5.0.6" - istanbul-reports: "npm:^3.1.7" - magic-string: "npm:^0.30.10" - magicast: "npm:^0.3.4" - std-env: "npm:^3.7.0" - test-exclude: "npm:^7.0.1" - tinyrainbow: "npm:^1.2.0" - peerDependencies: - vitest: 2.0.5 - checksum: 10/bb774d1a52b85adf94dcf62dc9684c59bd6aba6f8d43ce4d4afa06e3ca85651ec217f74842c0c4a81ea0158f029e484055207869e5d741cfbc3119257399fb83 - languageName: node - linkType: hard - "@vitest/coverage-v8@npm:^2.1.8": version: 2.1.8 resolution: "@vitest/coverage-v8@npm:2.1.8" @@ -8394,18 +4734,6 @@ __metadata: languageName: node linkType: hard -"@vitest/expect@npm:2.0.5, @vitest/expect@npm:^2.0.5": - version: 2.0.5 - resolution: "@vitest/expect@npm:2.0.5" - dependencies: - "@vitest/spy": "npm:2.0.5" - "@vitest/utils": "npm:2.0.5" - chai: "npm:^5.1.1" - tinyrainbow: "npm:^1.2.0" - checksum: 10/ca9a218f50254b2259fd16166b2d8c9ccc8ee2cc068905e6b3d6281da10967b1590cc7d34b5fa9d429297f97e740450233745583b4cc12272ff11705faf70a37 - languageName: node - linkType: hard - "@vitest/expect@npm:2.1.8, @vitest/expect@npm:^2.1.8": version: 2.1.8 resolution: "@vitest/expect@npm:2.1.8" @@ -8477,24 +4805,6 @@ __metadata: languageName: node linkType: hard -"@vitest/pretty-format@npm:2.0.5, @vitest/pretty-format@npm:^2.0.5": - version: 2.0.5 - resolution: "@vitest/pretty-format@npm:2.0.5" - dependencies: - tinyrainbow: "npm:^1.2.0" - checksum: 10/70bf452dd0b8525e658795125b3f11110bd6baadfaa38c5bb91ca763bded35ec6dc80e27964ad4e91b91be6544d35e18ea7748c1997693988f975a7283c3e9a0 - languageName: node - linkType: hard - -"@vitest/pretty-format@npm:2.1.1": - version: 2.1.1 - resolution: "@vitest/pretty-format@npm:2.1.1" - dependencies: - tinyrainbow: "npm:^1.2.0" - checksum: 10/744278a3a91d080e51a94b03eaf7cf43779978d6391060cbfdda6d03194eef744ce8f12a2fe2fa90a9bf9b9f038d4c4c4d88f6192f042c88c5ee4125f38bf892 - languageName: node - linkType: hard - "@vitest/pretty-format@npm:2.1.8, @vitest/pretty-format@npm:^2.1.8": version: 2.1.8 resolution: "@vitest/pretty-format@npm:2.1.8" @@ -8513,16 +4823,6 @@ __metadata: languageName: node linkType: hard -"@vitest/runner@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/runner@npm:2.0.5" - dependencies: - "@vitest/utils": "npm:2.0.5" - pathe: "npm:^1.1.2" - checksum: 10/464449abb84b3c779e1c6d1bedfc9e7469240ba3ccc4b4fa884386d1752d6572b68b9a87440159d433f17f61aca4012ee3bb78a3718d0e2bc64d810e9fc574a5 - languageName: node - linkType: hard - "@vitest/runner@npm:2.1.8": version: 2.1.8 resolution: "@vitest/runner@npm:2.1.8" @@ -8543,17 +4843,6 @@ __metadata: languageName: node linkType: hard -"@vitest/snapshot@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/snapshot@npm:2.0.5" - dependencies: - "@vitest/pretty-format": "npm:2.0.5" - magic-string: "npm:^0.30.10" - pathe: "npm:^1.1.2" - checksum: 10/fb46bc65851d4c8dcbbf86279c4146d5e7c17ad0d1be97132dedd98565d37f70ac8b0bf51ead0c6707786ffb15652535398c14d4304fa2146b0393d3db26fdff - languageName: node - linkType: hard - "@vitest/snapshot@npm:2.1.8": version: 2.1.8 resolution: "@vitest/snapshot@npm:2.1.8" @@ -8637,27 +4926,6 @@ __metadata: languageName: node linkType: hard -"@vitest/utils@npm:^2.0.5": - version: 2.1.1 - resolution: "@vitest/utils@npm:2.1.1" - dependencies: - "@vitest/pretty-format": "npm:2.1.1" - loupe: "npm:^3.1.1" - tinyrainbow: "npm:^1.2.0" - checksum: 10/605f1807c343ac01cde053b062bda8f0cc51b321a3cd9c751424a1e24549a35120896bd58612a14f068460242013f69e08fc0a69355387e981a5a50bce9ae04e - languageName: node - linkType: hard - -"@webassemblyjs/ast@npm:1.12.1, @webassemblyjs/ast@npm:^1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/ast@npm:1.12.1" - dependencies: - "@webassemblyjs/helper-numbers": "npm:1.11.6" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - checksum: 10/a775b0559437ae122d14fec0cfe59fdcaf5ca2d8ff48254014fd05d6797e20401e0f1518e628f9b06819aa085834a2534234977f9608b3f2e51f94b6e8b0bc43 - languageName: node - linkType: hard - "@webassemblyjs/ast@npm:1.14.1, @webassemblyjs/ast@npm:^1.14.1": version: 1.14.1 resolution: "@webassemblyjs/ast@npm:1.14.1" @@ -8668,13 +4936,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/floating-point-hex-parser@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.6" - checksum: 10/29b08758841fd8b299c7152eda36b9eb4921e9c584eb4594437b5cd90ed6b920523606eae7316175f89c20628da14326801090167cc7fbffc77af448ac84b7e2 - languageName: node - linkType: hard - "@webassemblyjs/floating-point-hex-parser@npm:1.13.2": version: 1.13.2 resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.13.2" @@ -8682,13 +4943,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/helper-api-error@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-api-error@npm:1.11.6" - checksum: 10/e8563df85161096343008f9161adb138a6e8f3c2cc338d6a36011aa55eabb32f2fd138ffe63bc278d009ada001cc41d263dadd1c0be01be6c2ed99076103689f - languageName: node - linkType: hard - "@webassemblyjs/helper-api-error@npm:1.13.2": version: 1.13.2 resolution: "@webassemblyjs/helper-api-error@npm:1.13.2" @@ -8696,13 +4950,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/helper-buffer@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/helper-buffer@npm:1.12.1" - checksum: 10/1d8705daa41f4d22ef7c6d422af4c530b84d69d0c253c6db5adec44d511d7caa66837803db5b1addcea611a1498fd5a67d2cf318b057a916283ae41ffb85ba8a - languageName: node - linkType: hard - "@webassemblyjs/helper-buffer@npm:1.14.1": version: 1.14.1 resolution: "@webassemblyjs/helper-buffer@npm:1.14.1" @@ -8710,17 +4957,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/helper-numbers@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-numbers@npm:1.11.6" - dependencies: - "@webassemblyjs/floating-point-hex-parser": "npm:1.11.6" - "@webassemblyjs/helper-api-error": "npm:1.11.6" - "@xtuc/long": "npm:4.2.2" - checksum: 10/9ffd258ad809402688a490fdef1fd02222f20cdfe191c895ac215a331343292164e5033dbc0347f0f76f2447865c0b5c2d2e3304ee948d44f7aa27857028fd08 - languageName: node - linkType: hard - "@webassemblyjs/helper-numbers@npm:1.13.2": version: 1.13.2 resolution: "@webassemblyjs/helper-numbers@npm:1.13.2" @@ -8732,13 +4968,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/helper-wasm-bytecode@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.6" - checksum: 10/4ebf03e9c1941288c10e94e0f813f413f972bfaa1f09be2cc2e5577f300430906b61aa24d52f5ef2f894e8e24e61c6f7c39871d7e3d98bc69460e1b8e00bb20b - languageName: node - linkType: hard - "@webassemblyjs/helper-wasm-bytecode@npm:1.13.2": version: 1.13.2 resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.13.2" @@ -8746,18 +4975,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/helper-wasm-section@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/helper-wasm-section@npm:1.12.1" - dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-buffer": "npm:1.12.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - "@webassemblyjs/wasm-gen": "npm:1.12.1" - checksum: 10/e91e6b28114e35321934070a2db8973a08a5cd9c30500b817214c683bbf5269ed4324366dd93ad83bf2fba0d671ac8f39df1c142bf58f70c57a827eeba4a3d2f - languageName: node - linkType: hard - "@webassemblyjs/helper-wasm-section@npm:1.14.1": version: 1.14.1 resolution: "@webassemblyjs/helper-wasm-section@npm:1.14.1" @@ -8770,15 +4987,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/ieee754@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/ieee754@npm:1.11.6" - dependencies: - "@xtuc/ieee754": "npm:^1.2.0" - checksum: 10/13574b8e41f6ca39b700e292d7edf102577db5650fe8add7066a320aa4b7a7c09a5056feccac7a74eb68c10dea9546d4461412af351f13f6b24b5f32379b49de - languageName: node - linkType: hard - "@webassemblyjs/ieee754@npm:1.13.2": version: 1.13.2 resolution: "@webassemblyjs/ieee754@npm:1.13.2" @@ -8788,15 +4996,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/leb128@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/leb128@npm:1.11.6" - dependencies: - "@xtuc/long": "npm:4.2.2" - checksum: 10/ec3b72db0e7ce7908fe08ec24395bfc97db486063824c0edc580f0973a4cfbadf30529569d9c7db663a56513e45b94299cca03be9e1992ea3308bb0744164f3d - languageName: node - linkType: hard - "@webassemblyjs/leb128@npm:1.13.2": version: 1.13.2 resolution: "@webassemblyjs/leb128@npm:1.13.2" @@ -8806,13 +5005,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/utf8@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/utf8@npm:1.11.6" - checksum: 10/361a537bd604101b320a5604c3c96d1038d83166f1b9fb86cedadc7e81bae54c3785ae5d90bf5b1842f7da08194ccaf0f44a64fcca0cbbd6afe1a166196986d6 - languageName: node - linkType: hard - "@webassemblyjs/utf8@npm:1.13.2": version: 1.13.2 resolution: "@webassemblyjs/utf8@npm:1.13.2" @@ -8820,22 +5012,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wasm-edit@npm:^1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-edit@npm:1.12.1" - dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-buffer": "npm:1.12.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - "@webassemblyjs/helper-wasm-section": "npm:1.12.1" - "@webassemblyjs/wasm-gen": "npm:1.12.1" - "@webassemblyjs/wasm-opt": "npm:1.12.1" - "@webassemblyjs/wasm-parser": "npm:1.12.1" - "@webassemblyjs/wast-printer": "npm:1.12.1" - checksum: 10/5678ae02dbebba2f3a344e25928ea5a26a0df777166c9be77a467bfde7aca7f4b57ef95587e4bd768a402cdf2fddc4c56f0a599d164cdd9fe313520e39e18137 - languageName: node - linkType: hard - "@webassemblyjs/wasm-edit@npm:^1.14.1": version: 1.14.1 resolution: "@webassemblyjs/wasm-edit@npm:1.14.1" @@ -8852,19 +5028,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wasm-gen@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-gen@npm:1.12.1" - dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - "@webassemblyjs/ieee754": "npm:1.11.6" - "@webassemblyjs/leb128": "npm:1.11.6" - "@webassemblyjs/utf8": "npm:1.11.6" - checksum: 10/ec45bd50e86bc9856f80fe9af4bc1ae5c98fb85f57023d11dff2b670da240c47a7b1b9b6c89755890314212bd167cf3adae7f1157216ddffb739a4ce589fc338 - languageName: node - linkType: hard - "@webassemblyjs/wasm-gen@npm:1.14.1": version: 1.14.1 resolution: "@webassemblyjs/wasm-gen@npm:1.14.1" @@ -8878,18 +5041,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wasm-opt@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-opt@npm:1.12.1" - dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-buffer": "npm:1.12.1" - "@webassemblyjs/wasm-gen": "npm:1.12.1" - "@webassemblyjs/wasm-parser": "npm:1.12.1" - checksum: 10/21f25ae109012c49bb084e09f3b67679510429adc3e2408ad3621b2b505379d9cce337799a7919ef44db64e0d136833216914aea16b0d4856f353b9778e0cdb7 - languageName: node - linkType: hard - "@webassemblyjs/wasm-opt@npm:1.14.1": version: 1.14.1 resolution: "@webassemblyjs/wasm-opt@npm:1.14.1" @@ -8902,20 +5053,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wasm-parser@npm:1.12.1, @webassemblyjs/wasm-parser@npm:^1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-parser@npm:1.12.1" - dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-api-error": "npm:1.11.6" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - "@webassemblyjs/ieee754": "npm:1.11.6" - "@webassemblyjs/leb128": "npm:1.11.6" - "@webassemblyjs/utf8": "npm:1.11.6" - checksum: 10/f7311685b76c3e1def2abea3488be1e77f06ecd8633143a6c5c943ca289660952b73785231bb76a010055ca64645227a4bc79705c26ab7536216891b6bb36320 - languageName: node - linkType: hard - "@webassemblyjs/wasm-parser@npm:1.14.1, @webassemblyjs/wasm-parser@npm:^1.14.1": version: 1.14.1 resolution: "@webassemblyjs/wasm-parser@npm:1.14.1" @@ -8930,16 +5067,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wast-printer@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wast-printer@npm:1.12.1" - dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@xtuc/long": "npm:4.2.2" - checksum: 10/1a6a4b6bc4234f2b5adbab0cb11a24911b03380eb1cab6fb27a2250174a279fdc6aa2f5a9cf62dd1f6d4eb39f778f488e8ff15b9deb0670dee5c5077d46cf572 - languageName: node - linkType: hard - "@webassemblyjs/wast-printer@npm:1.14.1": version: 1.14.1 resolution: "@webassemblyjs/wast-printer@npm:1.14.1" @@ -8985,25 +5112,6 @@ __metadata: languageName: node linkType: hard -"accepts@npm:~1.3.8": - version: 1.3.8 - resolution: "accepts@npm:1.3.8" - dependencies: - mime-types: "npm:~2.1.34" - negotiator: "npm:0.6.3" - checksum: 10/67eaaa90e2917c58418e7a9b89392002d2b1ccd69bcca4799135d0c632f3b082f23f4ae4ddeedbced5aa59bcc7bdf4699c69ebed4593696c922462b7bc5744d6 - languageName: node - linkType: hard - -"acorn-import-attributes@npm:^1.9.5": - version: 1.9.5 - resolution: "acorn-import-attributes@npm:1.9.5" - peerDependencies: - acorn: ^8 - checksum: 10/8bfbfbb6e2467b9b47abb4d095df717ab64fce2525da65eabee073e85e7975fb3a176b6c8bba17c99a7d8ede283a10a590272304eb54a93c4aa1af9790d47a8b - languageName: node - linkType: hard - "acorn-jsx@npm:^5.0.0": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -9013,32 +5121,16 @@ __metadata: languageName: node linkType: hard -"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.1": - version: 5.3.2 - resolution: "acorn-jsx@npm:5.3.2" - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 10/d4371eaef7995530b5b5ca4183ff6f062ca17901a6d3f673c9ac011b01ede37e7a1f7f61f8f5cfe709e88054757bb8f3277dc4061087cdf4f2a1f90ccbcdb977 - languageName: node - linkType: hard - -"acorn-walk@npm:^7.2.0": - version: 7.2.0 - resolution: "acorn-walk@npm:7.2.0" - checksum: 10/4d3e186f729474aed3bc3d0df44692f2010c726582655b20a23347bef650867655521c48ada444cb4fda241ee713dcb792da363ec74c6282fa884fb7144171bb - languageName: node - linkType: hard - -"acorn@npm:^7.4.1": - version: 7.4.1 - resolution: "acorn@npm:7.4.1" +"acorn@npm:^8.0.0, acorn@npm:^8.9.0": + version: 8.10.0 + resolution: "acorn@npm:8.10.0" bin: acorn: bin/acorn - checksum: 10/8be2a40714756d713dfb62544128adce3b7102c6eb94bc312af196c2cc4af76e5b93079bd66b05e9ca31b35a9b0ce12171d16bc55f366cafdb794fdab9d753ec + checksum: 10/522310c20fdc3c271caed3caf0f06c51d61cb42267279566edd1d58e83dbc12eebdafaab666a0f0be1b7ad04af9c6bc2a6f478690a9e6391c3c8b165ada917dd languageName: node linkType: hard -"acorn@npm:^8.0.0, acorn@npm:^8.14.0, acorn@npm:^8.8.2, acorn@npm:^8.9.0": +"acorn@npm:^8.14.0": version: 8.14.0 resolution: "acorn@npm:8.14.0" bin: @@ -9047,16 +5139,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.0, acorn@npm:^8.9.0": - version: 8.10.0 - resolution: "acorn@npm:8.10.0" - bin: - acorn: bin/acorn - checksum: 10/522310c20fdc3c271caed3caf0f06c51d61cb42267279566edd1d58e83dbc12eebdafaab666a0f0be1b7ad04af9c6bc2a6f478690a9e6391c3c8b165ada917dd - languageName: node - linkType: hard - -"acorn@npm:^8.7.1, acorn@npm:^8.8.2": +"acorn@npm:^8.8.2": version: 8.12.1 resolution: "acorn@npm:8.12.1" bin: @@ -9074,7 +5157,7 @@ __metadata: languageName: node linkType: hard -"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0": +"agent-base@npm:^7.0.2": version: 7.1.0 resolution: "agent-base@npm:7.1.0" dependencies: @@ -9083,7 +5166,7 @@ __metadata: languageName: node linkType: hard -"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": +"agent-base@npm:^7.1.0": version: 7.1.3 resolution: "agent-base@npm:7.1.3" checksum: 10/3db6d8d4651f2aa1a9e4af35b96ab11a7607af57a24f3bc721a387eaa3b5f674e901f0a648b0caefd48f3fd117c7761b79a3b55854e2aebaa96c3f32cf76af84 @@ -9139,15 +5222,6 @@ __metadata: languageName: node linkType: hard -"ansi-escapes@npm:^4.2.1": - version: 4.3.2 - resolution: "ansi-escapes@npm:4.3.2" - dependencies: - type-fest: "npm:^0.21.3" - checksum: 10/8661034456193ffeda0c15c8c564a9636b0c04094b7f78bd01517929c17c504090a60f7a75f949f5af91289c264d3e1001d91492c1bd58efc8e100500ce04de2 - languageName: node - linkType: hard - "ansi-escapes@npm:^4.3.2": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" @@ -9157,13 +5231,6 @@ __metadata: languageName: node linkType: hard -"ansi-escapes@npm:^6.0.0": - version: 6.2.1 - resolution: "ansi-escapes@npm:6.2.1" - checksum: 10/3b064937dc8a0645ed8094bc8b09483ee718f3aa3139746280e6c2ea80e28c0a3ce66973d0f33e88e60021abbf67e5f877deabfc810e75edf8a19dfa128850be - languageName: node - linkType: hard - "ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -9217,16 +5284,6 @@ __metadata: languageName: node linkType: hard -"anymatch@npm:^3.0.3, anymatch@npm:~3.1.2": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: "npm:^3.0.0" - picomatch: "npm:^2.0.4" - checksum: 10/3e044fd6d1d26545f235a9fe4d7a534e2029d8e59fa7fd9f2a6eb21230f6b5380ea1eaf55136e60cbf8e613544b3b766e7a6fa2102e2a3a117505466e3025dc2 - languageName: node - linkType: hard - "anymatch@npm:~3.1.2": version: 3.1.3 resolution: "anymatch@npm:3.1.3" @@ -9246,15 +5303,6 @@ __metadata: languageName: node linkType: hard -"append-transform@npm:^2.0.0": - version: 2.0.0 - resolution: "append-transform@npm:2.0.0" - dependencies: - default-require-extensions: "npm:^3.0.0" - checksum: 10/f26f393bf7a428fd1bb18f2758a819830a582243310c5170edb3f98fdc5a535333d02b952f7c2d9b14522bd8ead5b132a0b15000eca18fa9f49172963ebbc231 - languageName: node - linkType: hard - "aproba@npm:^1.0.3 || ^2.0.0": version: 2.0.0 resolution: "aproba@npm:2.0.0" @@ -9262,13 +5310,6 @@ __metadata: languageName: node linkType: hard -"archy@npm:^1.0.0": - version: 1.0.0 - resolution: "archy@npm:1.0.0" - checksum: 10/d7928049a57988b86df3f4de75ca16a4252ccee591d085c627e649fc54c5ae5daa833f17aa656bd825bd00bc0a2756ae03d2b983050bdbda1046b6d832bf7303 - languageName: node - linkType: hard - "are-we-there-yet@npm:^3.0.0": version: 3.0.1 resolution: "are-we-there-yet@npm:3.0.1" @@ -9304,13 +5345,6 @@ __metadata: languageName: node linkType: hard -"array-flatten@npm:1.1.1": - version: 1.1.1 - resolution: "array-flatten@npm:1.1.1" - checksum: 10/e13c9d247241be82f8b4ec71d035ed7204baa82fae820d4db6948d30d3c4a9f2b3905eb2eec2b937d4aa3565200bd3a1c500480114cff649fa748747d2a50feb - languageName: node - linkType: hard - "array-union@npm:^2.1.0": version: 2.1.0 resolution: "array-union@npm:2.1.0" @@ -9365,15 +5399,6 @@ __metadata: languageName: node linkType: hard -"async@npm:^2.6.4": - version: 2.6.4 - resolution: "async@npm:2.6.4" - dependencies: - lodash: "npm:^4.17.14" - checksum: 10/df8e52817d74677ab50c438d618633b9450aff26deb274da6dfedb8014130909482acdc7753bce9b72e6171ce9a9f6a92566c4ced34c3cb3714d57421d58ad27 - languageName: node - linkType: hard - "async@npm:^3.2.3": version: 3.2.4 resolution: "async@npm:3.2.4" @@ -9420,14 +5445,7 @@ __metadata: languageName: node linkType: hard -"axe-core@npm:^4.2.0": - version: 4.8.2 - resolution: "axe-core@npm:4.8.2" - checksum: 10/3e8dbf264a57767713daa77fe04bbabd71a956b08b99c2eb0ec61b75852f21190653f557d2da623dea9e0a7555460deaac71d9f6a9125c0b52576f8581bfbe52 - languageName: node - linkType: hard - -"axe-core@npm:^4.2.0, axe-core@npm:^4.4.2, axe-core@npm:^4.5.1": +"axe-core@npm:^4.2.0, axe-core@npm:^4.4.2": version: 4.10.2 resolution: "axe-core@npm:4.10.2" checksum: 10/a69423b2ff16c15922c4ea7cf9cc5112728a2817bbe0f2cc212248d648885ffd1ba554e3a341dfc289cd9e67fc0d06f333b5c6837c5c38ca6652507381216fc1 @@ -9468,96 +5486,6 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.6.1, axios@npm:^1.7.7": - version: 1.7.7 - resolution: "axios@npm:1.7.7" - dependencies: - follow-redirects: "npm:^1.15.6" - form-data: "npm:^4.0.0" - proxy-from-env: "npm:^1.1.0" - checksum: 10/7f875ea13b9298cd7b40fd09985209f7a38d38321f1118c701520939de2f113c4ba137832fe8e3f811f99a38e12c8225481011023209a77b0c0641270e20cde1 - languageName: node - linkType: hard - -"babel-jest@npm:^29.7.0": - version: 29.7.0 - resolution: "babel-jest@npm:29.7.0" - dependencies: - "@jest/transform": "npm:^29.7.0" - "@types/babel__core": "npm:^7.1.14" - babel-plugin-istanbul: "npm:^6.1.1" - babel-preset-jest: "npm:^29.6.3" - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - slash: "npm:^3.0.0" - peerDependencies: - "@babel/core": ^7.8.0 - checksum: 10/8a0953bd813b3a8926008f7351611055548869e9a53dd36d6e7e96679001f71e65fd7dbfe253265c3ba6a4e630dc7c845cf3e78b17d758ef1880313ce8fba258 - languageName: node - linkType: hard - -"babel-plugin-istanbul@npm:^6.1.1": - version: 6.1.1 - resolution: "babel-plugin-istanbul@npm:6.1.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.0.0" - "@istanbuljs/load-nyc-config": "npm:^1.0.0" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-instrument: "npm:^5.0.4" - test-exclude: "npm:^6.0.0" - checksum: 10/ffd436bb2a77bbe1942a33245d770506ab2262d9c1b3c1f1da7f0592f78ee7445a95bc2efafe619dd9c1b6ee52c10033d6c7d29ddefe6f5383568e60f31dfe8d - languageName: node - linkType: hard - -"babel-plugin-jest-hoist@npm:^29.6.3": - version: 29.6.3 - resolution: "babel-plugin-jest-hoist@npm:29.6.3" - dependencies: - "@babel/template": "npm:^7.3.3" - "@babel/types": "npm:^7.3.3" - "@types/babel__core": "npm:^7.1.14" - "@types/babel__traverse": "npm:^7.0.6" - checksum: 10/9bfa86ec4170bd805ab8ca5001ae50d8afcb30554d236ba4a7ffc156c1a92452e220e4acbd98daefc12bf0216fccd092d0a2efed49e7e384ec59e0597a926d65 - languageName: node - linkType: hard - -"babel-preset-current-node-syntax@npm:^1.0.0": - version: 1.1.0 - resolution: "babel-preset-current-node-syntax@npm:1.1.0" - dependencies: - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" - "@babel/plugin-syntax-bigint": "npm:^7.8.3" - "@babel/plugin-syntax-class-properties": "npm:^7.12.13" - "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" - "@babel/plugin-syntax-import-attributes": "npm:^7.24.7" - "@babel/plugin-syntax-import-meta": "npm:^7.10.4" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" - "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10/46331111ae72b7121172fd9e6a4a7830f651ad44bf26dbbf77b3c8a60a18009411a3eacb5e72274004290c110371230272109957d5224d155436b4794ead2f1b - languageName: node - linkType: hard - -"babel-preset-jest@npm:^29.6.3": - version: 29.6.3 - resolution: "babel-preset-jest@npm:29.6.3" - dependencies: - babel-plugin-jest-hoist: "npm:^29.6.3" - babel-preset-current-node-syntax: "npm:^1.0.0" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10/aa4ff2a8a728d9d698ed521e3461a109a1e66202b13d3494e41eea30729a5e7cc03b3a2d56c594423a135429c37bf63a9fa8b0b9ce275298be3095a88c69f6fb - languageName: node - linkType: hard - "bail@npm:^2.0.0": version: 2.0.2 resolution: "bail@npm:2.0.2" @@ -9579,15 +5507,6 @@ __metadata: languageName: node linkType: hard -"basic-auth@npm:^2.0.1": - version: 2.0.1 - resolution: "basic-auth@npm:2.0.1" - dependencies: - safe-buffer: "npm:5.1.2" - checksum: 10/3419b805d5dfc518f3a05dcf42aa53aa9ce820e50b6df5097f9e186322e1bc733c36722b624802cd37e791035aa73b828ed814d8362333d42d7f5cd04d7a5e48 - languageName: node - linkType: hard - "better-opn@npm:^3.0.2": version: 3.0.2 resolution: "better-opn@npm:3.0.2" @@ -9613,26 +5532,6 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:1.20.3": - version: 1.20.3 - resolution: "body-parser@npm:1.20.3" - dependencies: - bytes: "npm:3.1.2" - content-type: "npm:~1.0.5" - debug: "npm:2.6.9" - depd: "npm:2.0.0" - destroy: "npm:1.2.0" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - on-finished: "npm:2.4.1" - qs: "npm:6.13.0" - raw-body: "npm:2.5.2" - type-is: "npm:~1.6.18" - unpipe: "npm:1.0.0" - checksum: 10/8723e3d7a672eb50854327453bed85ac48d045f4958e81e7d470c56bf111f835b97e5b73ae9f6393d0011cc9e252771f46fd281bbabc57d33d3986edf1e6aeca - languageName: node - linkType: hard - "boolbase@npm:^1.0.0": version: 1.0.0 resolution: "boolbase@npm:1.0.0" @@ -9659,15 +5558,6 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.2, braces@npm:^3.0.3, braces@npm:~3.0.2": - version: 3.0.3 - resolution: "braces@npm:3.0.3" - dependencies: - fill-range: "npm:^7.1.1" - checksum: 10/fad11a0d4697a27162840b02b1fad249c1683cbc510cd5bf1a471f2f8085c046d41094308c577a50a03a579dd99d5a6b3724c4b5e8b14df2c4443844cfcda2c6 - languageName: node - linkType: hard - "braces@npm:^3.0.3, braces@npm:~3.0.2": version: 3.0.3 resolution: "braces@npm:3.0.3" @@ -9684,21 +5574,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.0.0, browserslist@npm:^4.21.9": - version: 4.22.2 - resolution: "browserslist@npm:4.22.2" - dependencies: - caniuse-lite: "npm:^1.0.30001565" - electron-to-chromium: "npm:^1.4.601" - node-releases: "npm:^2.0.14" - update-browserslist-db: "npm:^1.0.13" - bin: - browserslist: cli.js - checksum: 10/e3590793db7f66ad3a50817e7b7f195ce61e029bd7187200244db664bfbe0ac832f784e4f6b9c958aef8ea4abe001ae7880b7522682df521f4bc0a5b67660b5e - languageName: node - linkType: hard - -"browserslist@npm:^4.0.0, browserslist@npm:^4.23.3, browserslist@npm:^4.24.0": +"browserslist@npm:^4.0.0, browserslist@npm:^4.24.0": version: 4.24.4 resolution: "browserslist@npm:4.24.4" dependencies: @@ -9712,20 +5588,6 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.21.10, browserslist@npm:^4.23.1, browserslist@npm:^4.23.3": - version: 4.23.3 - resolution: "browserslist@npm:4.23.3" - dependencies: - caniuse-lite: "npm:^1.0.30001646" - electron-to-chromium: "npm:^1.5.4" - node-releases: "npm:^2.0.18" - update-browserslist-db: "npm:^1.1.0" - bin: - browserslist: cli.js - checksum: 10/e266d18c6c6c5becf9a1a7aa264477677b9796387972e8fce34854bb33dc1666194dc28389780e5dc6566e68a95e87ece2ce222e1c4ca93c2b75b61dfebd5f1c - languageName: node - linkType: hard - "browserslist@npm:^4.22.2": version: 4.23.0 resolution: "browserslist@npm:4.23.0" @@ -9740,12 +5602,17 @@ __metadata: languageName: node linkType: hard -"bser@npm:2.1.1": - version: 2.1.1 - resolution: "bser@npm:2.1.1" +"browserslist@npm:^4.23.3": + version: 4.23.3 + resolution: "browserslist@npm:4.23.3" dependencies: - node-int64: "npm:^0.4.0" - checksum: 10/edba1b65bae682450be4117b695997972bd9a3c4dfee029cab5bcb72ae5393a79a8f909b8bc77957eb0deec1c7168670f18f4d5c556f46cdd3bca5f3b3a8d020 + caniuse-lite: "npm:^1.0.30001646" + electron-to-chromium: "npm:^1.5.4" + node-releases: "npm:^2.0.18" + update-browserslist-db: "npm:^1.1.0" + bin: + browserslist: cli.js + checksum: 10/e266d18c6c6c5becf9a1a7aa264477677b9796387972e8fce34854bb33dc1666194dc28389780e5dc6566e68a95e87ece2ce222e1c4ca93c2b75b61dfebd5f1c languageName: node linkType: hard @@ -9766,13 +5633,6 @@ __metadata: languageName: node linkType: hard -"builtin-modules@npm:^3.3.0": - version: 3.3.0 - resolution: "builtin-modules@npm:3.3.0" - checksum: 10/62e063ab40c0c1efccbfa9ffa31873e4f9d57408cb396a2649981a0ecbce56aabc93c28feaccbc5658c95aab2703ad1d11980e62ec2e5e72637404e1eb60f39e - languageName: node - linkType: hard - "bundle-require@npm:^5.0.0": version: 5.0.0 resolution: "bundle-require@npm:5.0.0" @@ -9793,13 +5653,6 @@ __metadata: languageName: node linkType: hard -"bytes@npm:3.1.2": - version: 3.1.2 - resolution: "bytes@npm:3.1.2" - checksum: 10/a10abf2ba70c784471d6b4f58778c0beeb2b5d405148e66affa91f23a9f13d07603d0a0354667310ae1d6dc141474ffd44e2a074be0f6e2254edb8fc21445388 - languageName: node - linkType: hard - "cac@npm:^6.7.14": version: 6.7.14 resolution: "cac@npm:6.7.14" @@ -9833,29 +5686,6 @@ __metadata: languageName: node linkType: hard -"caching-transform@npm:^4.0.0": - version: 4.0.0 - resolution: "caching-transform@npm:4.0.0" - dependencies: - hasha: "npm:^5.0.0" - make-dir: "npm:^3.0.0" - package-hash: "npm:^4.0.0" - write-file-atomic: "npm:^3.0.0" - checksum: 10/7e7ca628511ab18c86eea1231834d2591de29a13ae771a7d9ab85be8c6e53e45c5a5b0d0d95d4a3274fc4f26c16956a98162e40c191c131204b5d5aa949660b5 - languageName: node - linkType: hard - -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.4, call-bind@npm:^1.0.5": - version: 1.0.5 - resolution: "call-bind@npm:1.0.5" - dependencies: - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.1" - set-function-length: "npm:^1.1.1" - checksum: 10/246d44db6ef9bbd418828dbd5337f80b46be4398d522eded015f31554cbb2ea33025b0203b75c7ab05a1a255b56ef218880cca1743e4121e306729f9e414da39 - languageName: node - linkType: hard - "call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.4, call-bind@npm:^1.0.5, call-bind@npm:^1.0.7": version: 1.0.7 resolution: "call-bind@npm:1.0.7" @@ -9869,19 +5699,6 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.7": - version: 1.0.7 - resolution: "call-bind@npm:1.0.7" - dependencies: - es-define-property: "npm:^1.0.0" - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" - set-function-length: "npm:^1.2.1" - checksum: 10/cd6fe658e007af80985da5185bff7b55e12ef4c2b6f41829a26ed1eef254b1f1c12e3dfd5b2b068c6ba8b86aba62390842d81752e67dcbaec4f6f76e7113b6b7 - languageName: node - linkType: hard - "callsites@npm:^3.0.0": version: 3.1.0 resolution: "callsites@npm:3.1.0" @@ -9889,13 +5706,6 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": - version: 5.3.1 - resolution: "camelcase@npm:5.3.1" - checksum: 10/e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b - languageName: node - linkType: hard - "camelcase@npm:^6.2.0": version: 6.3.0 resolution: "camelcase@npm:6.3.0" @@ -9915,13 +5725,6 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001565, caniuse-lite@npm:^1.0.30001579, caniuse-lite@npm:^1.0.30001587, caniuse-lite@npm:^1.0.30001646": - version: 1.0.30001646 - resolution: "caniuse-lite@npm:1.0.30001646" - checksum: 10/6c66a5677b58988c2ee86905b05705b00be552a3e4f768bd0d9a10098cc4ec471de5b204e2c2ab534f34b5f216c059321a9e5cb1395928cf29ded0a4aae4535f - languageName: node - linkType: hard - "caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001579, caniuse-lite@npm:^1.0.30001646, caniuse-lite@npm:^1.0.30001688": version: 1.0.30001695 resolution: "caniuse-lite@npm:1.0.30001695" @@ -9929,6 +5732,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001587": + version: 1.0.30001646 + resolution: "caniuse-lite@npm:1.0.30001646" + checksum: 10/6c66a5677b58988c2ee86905b05705b00be552a3e4f768bd0d9a10098cc4ec471de5b204e2c2ab534f34b5f216c059321a9e5cb1395928cf29ded0a4aae4535f + languageName: node + linkType: hard + "ccount@npm:^2.0.0": version: 2.0.1 resolution: "ccount@npm:2.0.1" @@ -9936,19 +5746,6 @@ __metadata: languageName: node linkType: hard -"chai@npm:^5.1.1": - version: 5.1.1 - resolution: "chai@npm:5.1.1" - dependencies: - assertion-error: "npm:^2.0.1" - check-error: "npm:^2.1.1" - deep-eql: "npm:^5.0.1" - loupe: "npm:^3.1.0" - pathval: "npm:^2.0.0" - checksum: 10/ee67279a5613bd36dc1dc13660042429ae2f1dc5a9030a6abcf381345866dfb5bce7bc10b9d74c8de86b6f656489f654bbbef3f3361e06925591e6a00c72afff - languageName: node - linkType: hard - "chai@npm:^5.1.1, chai@npm:^5.1.2": version: 5.1.2 resolution: "chai@npm:5.1.2" @@ -9962,7 +5759,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^2.1.0, chalk@npm:^2.4.2": +"chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" dependencies: @@ -9983,16 +5780,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.2": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10/cb3f3e594913d63b1814d7ca7c9bafbf895f75fbf93b92991980610dfd7b48500af4e3a5d4e3a8f337990a96b168d7eb84ee55efdce965e2ee8efc20f8c8f139 - languageName: node - linkType: hard - "chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" @@ -10003,14 +5790,14 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^5.0.1, chalk@npm:^5.3.0, chalk@npm:^5.4.1": +"chalk@npm:^5.0.1, chalk@npm:^5.4.1": version: 5.4.1 resolution: "chalk@npm:5.4.1" checksum: 10/29df3ffcdf25656fed6e95962e2ef86d14dfe03cd50e7074b06bad9ffbbf6089adbb40f75c00744d843685c8d008adaf3aed31476780312553caf07fa86e5bc7 languageName: node linkType: hard -"chalk@npm:^5.2.0, chalk@npm:^5.3.0": +"chalk@npm:^5.3.0": version: 5.3.0 resolution: "chalk@npm:5.3.0" checksum: 10/6373caaab21bd64c405bfc4bd9672b145647fc9482657b5ea1d549b3b2765054e9d3d928870cdf764fb4aad67555f5061538ff247b8310f110c5c888d92397ea @@ -10024,20 +5811,6 @@ __metadata: languageName: node linkType: hard -"char-regex@npm:^1.0.2": - version: 1.0.2 - resolution: "char-regex@npm:1.0.2" - checksum: 10/1ec5c2906adb9f84e7f6732a40baef05d7c85401b82ffcbc44b85fbd0f7a2b0c2a96f2eb9cf55cae3235dc12d4023003b88f09bcae8be9ae894f52ed746f4d48 - languageName: node - linkType: hard - -"char-regex@npm:^2.0.0": - version: 2.0.1 - resolution: "char-regex@npm:2.0.1" - checksum: 10/fadd100b963c160a70192e47e122c654cadf447c2c8f23b0bda4dc9ef1a02c993abbb0f21f50e2e58f90a8453ca019b3c86f001688cb42fb7b54af4e661b1ada - languageName: node - linkType: hard - "character-entities-html4@npm:^2.0.0": version: 2.1.0 resolution: "character-entities-html4@npm:2.1.0" @@ -10120,25 +5893,6 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:^3.6.0": - version: 3.6.0 - resolution: "chokidar@npm:3.6.0" - dependencies: - anymatch: "npm:~3.1.2" - braces: "npm:~3.0.2" - fsevents: "npm:~2.3.2" - glob-parent: "npm:~5.1.2" - is-binary-path: "npm:~2.1.0" - is-glob: "npm:~4.0.1" - normalize-path: "npm:~3.0.0" - readdirp: "npm:~3.6.0" - dependenciesMeta: - fsevents: - optional: true - checksum: 10/c327fb07704443f8d15f7b4a7ce93b2f0bc0e6cea07ec28a7570aa22cd51fcf0379df589403976ea956c369f25aa82d84561947e227cd925902e1751371658df - languageName: node - linkType: hard - "chokidar@npm:^4.0.1": version: 4.0.3 resolution: "chokidar@npm:4.0.3" @@ -10162,13 +5916,6 @@ __metadata: languageName: node linkType: hard -"chroma-js@npm:^2.6.0": - version: 2.6.0 - resolution: "chroma-js@npm:2.6.0" - checksum: 10/245f0a0b1da7c4cedf30e490db9ab4e9e71fde207cbe1ca05e25ef5ba517df2509b96b29d2c168786237c8162a03dccea38721c4927249cd1d5c5fe0184fc13c - languageName: node - linkType: hard - "chroma-js@npm:^3.1.2": version: 3.1.2 resolution: "chroma-js@npm:3.1.2" @@ -10176,25 +5923,6 @@ __metadata: languageName: node linkType: hard -"chromatic@npm:^11.11.0": - version: 11.11.0 - resolution: "chromatic@npm:11.11.0" - peerDependencies: - "@chromatic-com/cypress": ^0.*.* || ^1.0.0 - "@chromatic-com/playwright": ^0.*.* || ^1.0.0 - peerDependenciesMeta: - "@chromatic-com/cypress": - optional: true - "@chromatic-com/playwright": - optional: true - bin: - chroma: dist/bin.js - chromatic: dist/bin.js - chromatic-cli: dist/bin.js - checksum: 10/5b1fd78af5b0c68b4a3d85f0886326c8bb790e3da7b69c8375a829cc9fa697c7d701d2ef2891109d0b9024102d402b163e5653b3f597d40d01baa74393ed4599 - languageName: node - linkType: hard - "chromatic@npm:^11.25.0": version: 11.25.0 resolution: "chromatic@npm:11.25.0" @@ -10214,25 +5942,6 @@ __metadata: languageName: node linkType: hard -"chromatic@npm:^11.4.0": - version: 11.5.4 - resolution: "chromatic@npm:11.5.4" - peerDependencies: - "@chromatic-com/cypress": ^0.*.* || ^1.0.0 - "@chromatic-com/playwright": ^0.*.* || ^1.0.0 - peerDependenciesMeta: - "@chromatic-com/cypress": - optional: true - "@chromatic-com/playwright": - optional: true - bin: - chroma: dist/bin.js - chromatic: dist/bin.js - chromatic-cli: dist/bin.js - checksum: 10/7d89292a2f3470f57f342d64776c915c6a27e83b0fc422d2bb9018ea0d838b330c81373dd188b27f48eb1adb0b3aafb6a750f9720bdb29e478932c92c3978fd1 - languageName: node - linkType: hard - "chrome-trace-event@npm:^1.0.2": version: 1.0.4 resolution: "chrome-trace-event@npm:1.0.4" @@ -10240,13 +5949,6 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^3.2.0, ci-info@npm:^3.7.0": - version: 3.9.0 - resolution: "ci-info@npm:3.9.0" - checksum: 10/75bc67902b4d1c7b435497adeb91598f6d52a3389398e44294f6601b20cfef32cf2176f7be0eb961d9e085bb333a8a5cae121cb22f81cf238ae7f58eb80e9397 - languageName: node - linkType: hard - "ci-info@npm:^3.7.0": version: 3.9.0 resolution: "ci-info@npm:3.9.0" @@ -10273,20 +5975,6 @@ __metadata: languageName: node linkType: hard -"cjs-module-lexer@npm:^1.0.0": - version: 1.4.1 - resolution: "cjs-module-lexer@npm:1.4.1" - checksum: 10/6e830a1e00a34d416949bbc1924f3e8da65cef4a6a09e2b7fa35722e2d1c34bf378d3baca987b698d1cbc3eb83e44b044039b4e82755c96f30e0f03d1d227637 - languageName: node - linkType: hard - -"classnames@npm:^2.2.5": - version: 2.5.1 - resolution: "classnames@npm:2.5.1" - checksum: 10/58eb394e8817021b153bb6e7d782cfb667e4ab390cb2e9dac2fc7c6b979d1cc2b2a733093955fc5c94aa79ef5c8c89f11ab77780894509be6afbb91dddd79d15 - languageName: node - linkType: hard - "clean-stack@npm:^2.0.0": version: 2.2.0 resolution: "clean-stack@npm:2.2.0" @@ -10308,17 +5996,6 @@ __metadata: languageName: node linkType: hard -"cliui@npm:^6.0.0": - version: 6.0.0 - resolution: "cliui@npm:6.0.0" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.0" - wrap-ansi: "npm:^6.2.0" - checksum: 10/44afbcc29df0899e87595590792a871cd8c4bc7d6ce92832d9ae268d141a77022adafca1aeaeccff618b62a613b8354e57fe22a275c199ec04baf00d381ef6ab - languageName: node - linkType: hard - "cliui@npm:^7.0.2": version: 7.0.4 resolution: "cliui@npm:7.0.4" @@ -10359,13 +6036,6 @@ __metadata: languageName: node linkType: hard -"co@npm:^4.6.0": - version: 4.6.0 - resolution: "co@npm:4.6.0" - checksum: 10/a5d9f37091c70398a269e625cedff5622f200ed0aa0cff22ee7b55ed74a123834b58711776eb0f1dc58eb6ebbc1185aa7567b57bd5979a948c6e4f85073e2c05 - languageName: node - linkType: hard - "collapse-white-space@npm:^2.0.0": version: 2.1.0 resolution: "collapse-white-space@npm:2.1.0" @@ -10373,13 +6043,6 @@ __metadata: languageName: node linkType: hard -"collect-v8-coverage@npm:^1.0.0": - version: 1.0.2 - resolution: "collect-v8-coverage@npm:1.0.2" - checksum: 10/30ea7d5c9ee51f2fdba4901d4186c5b7114a088ef98fd53eda3979da77eed96758a2cae81cc6d97e239aaea6065868cf908b24980663f7b7e96aa291b3e12fa4 - languageName: node - linkType: hard - "color-convert@npm:^1.9.0": version: 1.9.3 resolution: "color-convert@npm:1.9.3" @@ -10412,13 +6075,6 @@ __metadata: languageName: node linkType: hard -"color-name@npm:~1.1.4": - version: 1.1.4 - resolution: "color-name@npm:1.1.4" - checksum: 10/b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 - languageName: node - linkType: hard - "color-string@npm:^1.9.0": version: 1.9.1 resolution: "color-string@npm:1.9.1" @@ -10520,13 +6176,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^3.0.2": - version: 3.0.2 - resolution: "commander@npm:3.0.2" - checksum: 10/f42053569f5954498246783465b39139917a51284bf3361574c9f731fea27a4bd6452dbb1755cc2d923c7b47dfea67930037c7b7e862288f2c397cec9a74da87 - languageName: node - linkType: hard - "commander@npm:^4.0.0": version: 4.1.1 resolution: "commander@npm:4.1.1" @@ -10534,13 +6183,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^5.1.0": - version: 5.1.0 - resolution: "commander@npm:5.1.0" - checksum: 10/3e2ef5c003c5179250161e42ce6d48e0e69a54af970c65b7f985c70095240c260fd647453efd4c2c5a31b30ce468f373dc70f769c2f54a2c014abc4792aaca28 - languageName: node - linkType: hard - "commander@npm:^7.2.0": version: 7.2.0 resolution: "commander@npm:7.2.0" @@ -10548,13 +6190,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^8.3.0": - version: 8.3.0 - resolution: "commander@npm:8.3.0" - checksum: 10/6b7b5d334483ce24bd73c5dac2eab901a7dbb25fd983ea24a1eeac6e7166bb1967f641546e8abf1920afbde86a45fbfe5812fbc69d0dc451bb45ca416a12a3a3 - languageName: node - linkType: hard - "commondir@npm:^1.0.1": version: 1.0.1 resolution: "commondir@npm:1.0.1" @@ -10576,24 +6211,6 @@ __metadata: languageName: node linkType: hard -"concurrently@npm:^9.0.1": - version: 9.0.1 - resolution: "concurrently@npm:9.0.1" - dependencies: - chalk: "npm:^4.1.2" - lodash: "npm:^4.17.21" - rxjs: "npm:^7.8.1" - shell-quote: "npm:^1.8.1" - supports-color: "npm:^8.1.1" - tree-kill: "npm:^1.2.2" - yargs: "npm:^17.7.2" - bin: - conc: dist/bin/concurrently.js - concurrently: dist/bin/concurrently.js - checksum: 10/aae80b641c61a46dbb8831b79c81506f1c0b95a438c408e6b36d9aa84eb453c4126c608e58e8ed57049e068a5d868d16645475e15b9bb7902d684cd0e0bd1b34 - languageName: node - linkType: hard - "concurrently@npm:^9.1.2": version: 9.1.2 resolution: "concurrently@npm:9.1.2" @@ -10626,36 +6243,6 @@ __metadata: languageName: node linkType: hard -"content-disposition@npm:0.5.4": - version: 0.5.4 - resolution: "content-disposition@npm:0.5.4" - dependencies: - safe-buffer: "npm:5.2.1" - checksum: 10/b7f4ce176e324f19324be69b05bf6f6e411160ac94bc523b782248129eb1ef3be006f6cff431aaea5e337fe5d176ce8830b8c2a1b721626ead8933f0cbe78720 - languageName: node - linkType: hard - -"content-type@npm:~1.0.4": - version: 1.0.4 - resolution: "content-type@npm:1.0.4" - checksum: 10/5ea85c5293475c0cdf2f84e2c71f0519ced565840fb8cbda35997cb67cc45b879d5b9dbd37760c4041ca7415a3687f8a5f2f87b556b2aaefa49c0f3436a346d4 - languageName: node - linkType: hard - -"content-type@npm:~1.0.5": - version: 1.0.5 - resolution: "content-type@npm:1.0.5" - checksum: 10/585847d98dc7fb8035c02ae2cb76c7a9bd7b25f84c447e5ed55c45c2175e83617c8813871b4ee22f368126af6b2b167df655829007b21aa10302873ea9c62662 - languageName: node - linkType: hard - -"convert-source-map@npm:^1.7.0": - version: 1.9.0 - resolution: "convert-source-map@npm:1.9.0" - checksum: 10/dc55a1f28ddd0e9485ef13565f8f756b342f9a46c4ae18b843fe3c30c675d058d6a4823eff86d472f187b176f0adf51ea7b69ea38be34be4a63cbbf91b0593c8 - languageName: node - linkType: hard - "convert-source-map@npm:^2.0.0": version: 2.0.0 resolution: "convert-source-map@npm:2.0.0" @@ -10663,20 +6250,6 @@ __metadata: languageName: node linkType: hard -"cookie-signature@npm:1.0.6": - version: 1.0.6 - resolution: "cookie-signature@npm:1.0.6" - checksum: 10/f4e1b0a98a27a0e6e66fd7ea4e4e9d8e038f624058371bf4499cfcd8f3980be9a121486995202ba3fca74fbed93a407d6d54d43a43f96fd28d0bd7a06761591a - languageName: node - linkType: hard - -"cookie@npm:0.6.0": - version: 0.6.0 - resolution: "cookie@npm:0.6.0" - checksum: 10/c1f8f2ea7d443b9331680598b0ae4e6af18a618c37606d1bbdc75bec8361cce09fe93e727059a673f2ba24467131a9fb5a4eec76bb1b149c1b3e1ccb268dc583 - languageName: node - linkType: hard - "cookie@npm:^0.7.2": version: 0.7.2 resolution: "cookie@npm:0.7.2" @@ -10718,13 +6291,6 @@ __metadata: languageName: node linkType: hard -"corser@npm:^2.0.1": - version: 2.0.1 - resolution: "corser@npm:2.0.1" - checksum: 10/5e520f74e363c33c0235b7ebbaea1939650fb089fa135500b120abde0bb6c4f2f66c40267bdf499dd80216acec1fcea33fd6db0deebc94bf66c825cdabf20b7a - languageName: node - linkType: hard - "cosmiconfig@npm:^8.1.3": version: 8.3.6 resolution: "cosmiconfig@npm:8.3.6" @@ -10742,45 +6308,6 @@ __metadata: languageName: node linkType: hard -"create-jest@npm:^29.7.0": - version: 29.7.0 - resolution: "create-jest@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - exit: "npm:^0.1.2" - graceful-fs: "npm:^4.2.9" - jest-config: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - prompts: "npm:^2.0.1" - bin: - create-jest: bin/create-jest.js - checksum: 10/847b4764451672b4174be4d5c6d7d63442ec3aa5f3de52af924e4d996d87d7801c18e125504f25232fc75840f6625b3ac85860fac6ce799b5efae7bdcaf4a2b7 - languageName: node - linkType: hard - -"cross-spawn@npm:^5.1.0": - version: 5.1.0 - resolution: "cross-spawn@npm:5.1.0" - dependencies: - lru-cache: "npm:^4.0.1" - shebang-command: "npm:^1.2.0" - which: "npm:^1.2.9" - checksum: 10/726939c9954fc70c20e538923feaaa33bebc253247d13021737c3c7f68cdc3e0a57f720c0fe75057c0387995349f3f12e20e9bfdbf12274db28019c7ea4ec166 - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" - dependencies: - path-key: "npm:^3.1.0" - shebang-command: "npm:^2.0.0" - which: "npm:^2.0.1" - checksum: 10/e1a13869d2f57d974de0d9ef7acbf69dc6937db20b918525a01dacb5032129bd552d290d886d981e99f1b624cb03657084cc87bd40f115c07ecf376821c729ce - languageName: node - linkType: hard - "cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.5": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" @@ -10857,46 +6384,6 @@ __metadata: languageName: node linkType: hard -"cssnano-preset-default@npm:^7.0.4": - version: 7.0.4 - resolution: "cssnano-preset-default@npm:7.0.4" - dependencies: - browserslist: "npm:^4.23.1" - css-declaration-sorter: "npm:^7.2.0" - cssnano-utils: "npm:^5.0.0" - postcss-calc: "npm:^10.0.0" - postcss-colormin: "npm:^7.0.1" - postcss-convert-values: "npm:^7.0.2" - postcss-discard-comments: "npm:^7.0.1" - postcss-discard-duplicates: "npm:^7.0.0" - postcss-discard-empty: "npm:^7.0.0" - postcss-discard-overridden: "npm:^7.0.0" - postcss-merge-longhand: "npm:^7.0.2" - postcss-merge-rules: "npm:^7.0.2" - postcss-minify-font-values: "npm:^7.0.0" - postcss-minify-gradients: "npm:^7.0.0" - postcss-minify-params: "npm:^7.0.1" - postcss-minify-selectors: "npm:^7.0.2" - postcss-normalize-charset: "npm:^7.0.0" - postcss-normalize-display-values: "npm:^7.0.0" - postcss-normalize-positions: "npm:^7.0.0" - postcss-normalize-repeat-style: "npm:^7.0.0" - postcss-normalize-string: "npm:^7.0.0" - postcss-normalize-timing-functions: "npm:^7.0.0" - postcss-normalize-unicode: "npm:^7.0.1" - postcss-normalize-url: "npm:^7.0.0" - postcss-normalize-whitespace: "npm:^7.0.0" - postcss-ordered-values: "npm:^7.0.1" - postcss-reduce-initial: "npm:^7.0.1" - postcss-reduce-transforms: "npm:^7.0.0" - postcss-svgo: "npm:^7.0.1" - postcss-unique-selectors: "npm:^7.0.1" - peerDependencies: - postcss: ^8.4.31 - checksum: 10/4c0cff049187f3171372abd266aac7a9d5ea6e87e8bfc1f4579109de8ae76a995e507c5c398d253f86b9904345280878bdca917d9ba0a30704f9bf1c06fda024 - languageName: node - linkType: hard - "cssnano-preset-default@npm:^7.0.6": version: 7.0.6 resolution: "cssnano-preset-default@npm:7.0.6" @@ -10946,18 +6433,6 @@ __metadata: languageName: node linkType: hard -"cssnano@npm:^7.0.4": - version: 7.0.4 - resolution: "cssnano@npm:7.0.4" - dependencies: - cssnano-preset-default: "npm:^7.0.4" - lilconfig: "npm:^3.1.2" - peerDependencies: - postcss: ^8.4.31 - checksum: 10/fb7363992806d779d733d10157b6ff680e337eaa53492cd7936104de4c54109bd649c201be91ab1e63d6defc7bc08fb65dcfe7f66b3d73dfc542c0dcfc384cf5 - languageName: node - linkType: hard - "cssnano@npm:^7.0.6": version: 7.0.6 resolution: "cssnano@npm:7.0.6" @@ -10995,16 +6470,6 @@ __metadata: languageName: node linkType: hard -"cwd@npm:^0.10.0": - version: 0.10.0 - resolution: "cwd@npm:0.10.0" - dependencies: - find-pkg: "npm:^0.1.2" - fs-exists-sync: "npm:^0.1.0" - checksum: 10/fdb2d1e8e1317e488bf0b7e569a17f929a45c4f2e706820c843a6be460cf8b334c43ac22c22c58c4f6258e501904ec1d1558d67c345002268fb40e3419f909da - languageName: node - linkType: hard - "d3-array@npm:2 - 3, d3-array@npm:2.10.0 - 3, d3-array@npm:^3.1.6": version: 3.2.4 resolution: "d3-array@npm:3.2.4" @@ -11122,27 +6587,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:2.6.9": - version: 2.6.9 - resolution: "debug@npm:2.6.9" - dependencies: - ms: "npm:2.0.0" - checksum: 10/e07005f2b40e04f1bd14a3dd20520e9c4f25f60224cb006ce9d6781732c917964e9ec029fc7f1a151083cd929025ad5133814d4dc624a9aaf020effe4914ed14 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": - version: 4.3.4 - resolution: "debug@npm:4.3.4" - dependencies: - ms: "npm:2.1.2" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10/0073c3bcbd9cb7d71dd5f6b55be8701af42df3e56e911186dfa46fac3a5b9eb7ce7f377dd1d3be6db8977221f8eb333d945216f645cf56f6b688cd484837d255 - languageName: node - linkType: hard - "debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4, debug@npm:^4.3.7, debug@npm:^4.4.0": version: 4.4.0 resolution: "debug@npm:4.4.0" @@ -11164,34 +6608,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.2.6, debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" - dependencies: - ms: "npm:^2.1.1" - checksum: 10/d86fd7be2b85462297ea16f1934dc219335e802f629ca9a69b63ed8ed041dda492389bb2ee039217c02e5b54792b1c51aa96ae954cf28634d363a2360c7a1639 - languageName: node - linkType: hard - -"debug@npm:^4.3.5": - version: 4.3.5 - resolution: "debug@npm:4.3.5" - dependencies: - ms: "npm:2.1.2" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10/cb6eab424c410e07813ca1392888589972ce9a32b8829c6508f5e1f25f3c3e70a76731610ae55b4bbe58d1a2fffa1424b30e97fa8d394e49cd2656a9643aedd2 - languageName: node - linkType: hard - -"decamelize@npm:^1.2.0": - version: 1.2.0 - resolution: "decamelize@npm:1.2.0" - checksum: 10/ad8c51a7e7e0720c70ec2eeb1163b66da03e7616d7b98c9ef43cce2416395e84c1e9548dd94f5f6ffecfee9f8b94251fc57121a8b021f2ff2469b2bae247b8aa - languageName: node - linkType: hard - "decimal.js-light@npm:^2.4.1": version: 2.5.1 resolution: "decimal.js-light@npm:2.5.1" @@ -11215,18 +6631,6 @@ __metadata: languageName: node linkType: hard -"dedent@npm:^1.0.0": - version: 1.5.3 - resolution: "dedent@npm:1.5.3" - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true - checksum: 10/e5277f6268f288649503125b781a7b7a2c9b22d011139688c0b3619fe40121e600eb1f077c891938d4b2428bdb6326cc3c77a763e4b1cc681bd9666ab1bad2a1 - languageName: node - linkType: hard - "deep-eql@npm:^5.0.1": version: 5.0.2 resolution: "deep-eql@npm:5.0.2" @@ -11241,26 +6645,6 @@ __metadata: languageName: node linkType: hard -"default-require-extensions@npm:^3.0.0": - version: 3.0.1 - resolution: "default-require-extensions@npm:3.0.1" - dependencies: - strip-bom: "npm:^4.0.0" - checksum: 10/45882fc971dd157faf6716ced04c15cf252c0a2d6f5c5844b66ca49f46ed03396a26cd940771aa569927aee22923a961bab789e74b25aabc94d90742c9dd1217 - languageName: node - linkType: hard - -"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.1": - version: 1.1.1 - resolution: "define-data-property@npm:1.1.1" - dependencies: - get-intrinsic: "npm:^1.2.1" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.0" - checksum: 10/5573c8df96b5857408cad64d9b91b69152e305ce4b06218e5f49b59c6cafdbb90a8bd8a0bb83c7bc67a8d479c04aa697063c9bc28d849b7282f9327586d6bc7b - languageName: node - linkType: hard - "define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": version: 1.1.4 resolution: "define-data-property@npm:1.1.4" @@ -11272,17 +6656,6 @@ __metadata: languageName: node linkType: hard -"define-data-property@npm:^1.1.4": - version: 1.1.4 - resolution: "define-data-property@npm:1.1.4" - dependencies: - es-define-property: "npm:^1.0.0" - es-errors: "npm:^1.3.0" - gopd: "npm:^1.0.1" - checksum: 10/abdcb2505d80a53524ba871273e5da75e77e52af9e15b3aa65d8aad82b8a3a424dad7aee2cc0b71470ac7acf501e08defac362e8b6a73cdb4309f028061df4ae - languageName: node - linkType: hard - "define-lazy-prop@npm:^2.0.0": version: 2.0.0 resolution: "define-lazy-prop@npm:2.0.0" @@ -11315,13 +6688,6 @@ __metadata: languageName: node linkType: hard -"depd@npm:2.0.0": - version: 2.0.0 - resolution: "depd@npm:2.0.0" - checksum: 10/c0c8ff36079ce5ada64f46cc9d6fd47ebcf38241105b6e0c98f412e8ad91f084bcf906ff644cc3a4bd876ca27a62accb8b0fff72ea6ed1a414b89d8506f4a5ca - languageName: node - linkType: hard - "depd@npm:^1.1.2": version: 1.1.2 resolution: "depd@npm:1.1.2" @@ -11343,13 +6709,6 @@ __metadata: languageName: node linkType: hard -"destroy@npm:1.2.0": - version: 1.2.0 - resolution: "destroy@npm:1.2.0" - checksum: 10/0acb300b7478a08b92d810ab229d5afe0d2f4399272045ab22affa0d99dbaf12637659411530a6fcd597a9bdac718fc94373a61a95b4651bbc7b83684a565e38 - languageName: node - linkType: hard - "detect-indent@npm:^6.0.0": version: 6.1.0 resolution: "detect-indent@npm:6.1.0" @@ -11364,13 +6723,6 @@ __metadata: languageName: node linkType: hard -"detect-newline@npm:^3.0.0": - version: 3.1.0 - resolution: "detect-newline@npm:3.1.0" - checksum: 10/ae6cd429c41ad01b164c59ea36f264a2c479598e61cba7c99da24175a7ab80ddf066420f2bec9a1c57a6bead411b4655ff15ad7d281c000a89791f48cbe939e7 - languageName: node - linkType: hard - "devlop@npm:^1.0.0, devlop@npm:^1.1.0": version: 1.1.0 resolution: "devlop@npm:1.1.0" @@ -11380,22 +6732,6 @@ __metadata: languageName: node linkType: hard -"diff-sequences@npm:^29.6.3": - version: 29.6.3 - resolution: "diff-sequences@npm:29.6.3" - checksum: 10/179daf9d2f9af5c57ad66d97cb902a538bcf8ed64963fa7aa0c329b3de3665ce2eb6ffdc2f69f29d445fa4af2517e5e55e5b6e00c00a9ae4f43645f97f7078cb - languageName: node - linkType: hard - -"diffable-html@npm:^4.1.0": - version: 4.1.0 - resolution: "diffable-html@npm:4.1.0" - dependencies: - htmlparser2: "npm:^3.9.2" - checksum: 10/3dd0f2a1e956be394a7da47caa9cb593073d91e3eb30d79de00664941f2d68a2549c7e392da1037afb45de1cf37b12e8b7dbaa312d47186061c66c9ce4aaa601 - languageName: node - linkType: hard - "dir-glob@npm:^3.0.1": version: 3.0.1 resolution: "dir-glob@npm:3.0.1" @@ -11414,7 +6750,7 @@ __metadata: languageName: node linkType: hard -"dom-accessibility-api@npm:^0.5.14, dom-accessibility-api@npm:^0.5.9": +"dom-accessibility-api@npm:^0.5.14": version: 0.5.16 resolution: "dom-accessibility-api@npm:0.5.16" checksum: 10/377b4a7f9eae0a5d72e1068c369c99e0e4ca17fdfd5219f3abd32a73a590749a267475a59d7b03a891f9b673c27429133a818c44b2e47e32fec024b34274e2ca @@ -11445,16 +6781,6 @@ __metadata: languageName: node linkType: hard -"dom-serializer@npm:0": - version: 0.2.2 - resolution: "dom-serializer@npm:0.2.2" - dependencies: - domelementtype: "npm:^2.0.1" - entities: "npm:^2.0.0" - checksum: 10/376344893e4feccab649a14ca1a46473e9961f40fe62479ea692d4fee4d9df1c00ca8654811a79c1ca7b020096987e1ca4fb4d7f8bae32c1db800a680a0e5d5e - languageName: node - linkType: hard - "dom-serializer@npm:^2.0.0": version: 2.0.0 resolution: "dom-serializer@npm:2.0.0" @@ -11466,20 +6792,6 @@ __metadata: languageName: node linkType: hard -"domelementtype@npm:1, domelementtype@npm:^1.3.1": - version: 1.3.1 - resolution: "domelementtype@npm:1.3.1" - checksum: 10/7893da40218ae2106ec6ffc146b17f203487a52f5228b032ea7aa470e41dfe03e1bd762d0ee0139e792195efda765434b04b43cddcf63207b098f6ae44b36ad6 - languageName: node - linkType: hard - -"domelementtype@npm:^2.0.1, domelementtype@npm:^2.3.0": - version: 2.3.0 - resolution: "domelementtype@npm:2.3.0" - checksum: 10/ee837a318ff702622f383409d1f5b25dd1024b692ef64d3096ff702e26339f8e345820f29a68bcdcea8cfee3531776b3382651232fbeae95612d6f0a75efb4f6 - languageName: node - linkType: hard - "domelementtype@npm:^2.3.0": version: 2.3.0 resolution: "domelementtype@npm:2.3.0" @@ -11487,15 +6799,6 @@ __metadata: languageName: node linkType: hard -"domhandler@npm:^2.3.0": - version: 2.4.2 - resolution: "domhandler@npm:2.4.2" - dependencies: - domelementtype: "npm:1" - checksum: 10/d8b0303c53c0eda912e45820ef8f6023f8462a724e8b824324f27923970222a250c7569e067de398c4d9ca3ce0f2b2d2818bc632d6fa72956721d6729479a9b9 - languageName: node - linkType: hard - "domhandler@npm:^5.0.2, domhandler@npm:^5.0.3": version: 5.0.3 resolution: "domhandler@npm:5.0.3" @@ -11505,16 +6808,6 @@ __metadata: languageName: node linkType: hard -"domutils@npm:^1.5.1": - version: 1.7.0 - resolution: "domutils@npm:1.7.0" - dependencies: - dom-serializer: "npm:0" - domelementtype: "npm:1" - checksum: 10/8c1d879fd3bbfc0156c970d12ebdf530f541cbda895d7f631b2444d22bbb9d0e5a3a4c3210cffb17708ad67531d7d40e1bef95e915c53a218d268607b66b63c8 - languageName: node - linkType: hard - "domutils@npm:^3.0.1": version: 3.1.0 resolution: "domutils@npm:3.1.0" @@ -11557,13 +6850,6 @@ __metadata: languageName: node linkType: hard -"ee-first@npm:1.1.1": - version: 1.1.1 - resolution: "ee-first@npm:1.1.1" - checksum: 10/1b4cac778d64ce3b582a7e26b218afe07e207a0f9bfe13cc7395a6d307849cfe361e65033c3251e00c27dd060cab43014c2d6b2647676135e18b77d2d05b3f4f - languageName: node - linkType: hard - "ejs@npm:^3.1.9": version: 3.1.10 resolution: "ejs@npm:3.1.10" @@ -11575,13 +6861,6 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.601": - version: 1.4.602 - resolution: "electron-to-chromium@npm:1.4.602" - checksum: 10/ae7ca6c8a6019c4a1276533b522b6f3c72fdb86fcbe778ca5334e5d18e01328f9a8ff5067806d4102cf608a15a9b2ab781ad661add14ef97edf7564e9de1e599 - languageName: node - linkType: hard - "electron-to-chromium@npm:^1.4.668": version: 1.4.724 resolution: "electron-to-chromium@npm:1.4.724" @@ -11603,13 +6882,6 @@ __metadata: languageName: node linkType: hard -"emittery@npm:^0.13.1": - version: 0.13.1 - resolution: "emittery@npm:0.13.1" - checksum: 10/fbe214171d878b924eedf1757badf58a5dce071cd1fa7f620fa841a0901a80d6da47ff05929d53163105e621ce11a71b9d8acb1148ffe1745e045145f6e69521 - languageName: node - linkType: hard - "emoji-regex@npm:^8.0.0": version: 8.0.0 resolution: "emoji-regex@npm:8.0.0" @@ -11624,20 +6896,6 @@ __metadata: languageName: node linkType: hard -"encodeurl@npm:~1.0.2": - version: 1.0.2 - resolution: "encodeurl@npm:1.0.2" - checksum: 10/e50e3d508cdd9c4565ba72d2012e65038e5d71bdc9198cb125beb6237b5b1ade6c0d343998da9e170fb2eae52c1bed37d4d6d98a46ea423a0cddbed5ac3f780c - languageName: node - linkType: hard - -"encodeurl@npm:~2.0.0": - version: 2.0.0 - resolution: "encodeurl@npm:2.0.0" - checksum: 10/abf5cd51b78082cf8af7be6785813c33b6df2068ce5191a40ca8b1afe6a86f9230af9a9ce694a5ce4665955e5c1120871826df9c128a642e09c58d592e2807fe - languageName: node - linkType: hard - "encoding@npm:^0.1.13": version: 0.1.13 resolution: "encoding@npm:0.1.13" @@ -11657,16 +6915,6 @@ __metadata: languageName: node linkType: hard -"enquirer@npm:^2.3.0": - version: 2.4.1 - resolution: "enquirer@npm:2.4.1" - dependencies: - ansi-colors: "npm:^4.1.1" - strip-ansi: "npm:^6.0.1" - checksum: 10/b3726486cd98f0d458a851a03326a2a5dd4d84f37ff94ff2a2960c915e0fc865865da3b78f0877dc36ac5c1189069eca603e82ec63d5bc6b0dd9985bf6426d7a - languageName: node - linkType: hard - "enquirer@npm:^2.4.1": version: 2.4.1 resolution: "enquirer@npm:2.4.1" @@ -11677,20 +6925,6 @@ __metadata: languageName: node linkType: hard -"entities@npm:^1.1.1": - version: 1.1.2 - resolution: "entities@npm:1.1.2" - checksum: 10/4a707022f4e932060f03df2526be55d085a2576fe534421e5b22bc62abb0d1f04241c171f9981e3d7baa4f4160606cad72a2f7eb01b6a25e279e3f31a2be4bf2 - languageName: node - linkType: hard - -"entities@npm:^2.0.0": - version: 2.2.0 - resolution: "entities@npm:2.2.0" - checksum: 10/2c765221ee324dbe25e1b8ca5d1bf2a4d39e750548f2e85cbf7ca1d167d709689ddf1796623e66666ae747364c11ed512c03b48c5bbe70968d30f2a4009509b7 - languageName: node - linkType: hard - "entities@npm:^4.2.0, entities@npm:^4.4.0": version: 4.5.0 resolution: "entities@npm:4.5.0" @@ -11698,13 +6932,6 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.2.0, entities@npm:^4.4.0, entities@npm:^4.5.0": - version: 4.5.0 - resolution: "entities@npm:4.5.0" - checksum: 10/ede2a35c9bce1aeccd055a1b445d41c75a14a2bb1cd22e242f20cf04d236cdcd7f9c859eb83f76885327bfae0c25bf03303665ee1ce3d47c5927b98b0e3e3d48 - languageName: node - linkType: hard - "env-paths@npm:^2.2.0": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -11755,13 +6982,6 @@ __metadata: languageName: node linkType: hard -"es-module-lexer@npm:^1.2.1": - version: 1.5.4 - resolution: "es-module-lexer@npm:1.5.4" - checksum: 10/f29c7c97a58eb17640dcbd71bd6ef754ad4f58f95c3073894573d29dae2cad43ecd2060d97ed5b866dfb7804d5590fb7de1d2c5339a5fceae8bd60b580387fc5 - languageName: node - linkType: hard - "es-module-lexer@npm:^1.2.1, es-module-lexer@npm:^1.5.4, es-module-lexer@npm:^1.6.0": version: 1.6.0 resolution: "es-module-lexer@npm:1.6.0" @@ -11769,13 +6989,6 @@ __metadata: languageName: node linkType: hard -"es-module-lexer@npm:^1.5.0": - version: 1.5.3 - resolution: "es-module-lexer@npm:1.5.3" - checksum: 10/2d80297e955f52ec6a4c7c7683ec2ee80b33c61b46af4f6ed3ef8feab16ba10fd4798141132b3fd0f5e2edb36abd4ad50c63cf3e26da2cca1c56debc68816c44 - languageName: node - linkType: hard - "es-toolkit@npm:^1.22.0": version: 1.31.0 resolution: "es-toolkit@npm:1.31.0" @@ -11788,13 +7001,6 @@ __metadata: languageName: node linkType: hard -"es6-error@npm:^4.0.1": - version: 4.1.1 - resolution: "es6-error@npm:4.1.1" - checksum: 10/48483c25701dc5a6376f39bbe2eaf5da0b505607ec5a98cd3ade472c1939242156660636e2e508b33211e48e88b132d245341595c067bd4a95ac79fa7134da06 - languageName: node - linkType: hard - "esbuild-register@npm:^3.5.0": version: 3.5.0 resolution: "esbuild-register@npm:3.5.0" @@ -11806,89 +7012,6 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0": - version: 0.23.1 - resolution: "esbuild@npm:0.23.1" - dependencies: - "@esbuild/aix-ppc64": "npm:0.23.1" - "@esbuild/android-arm": "npm:0.23.1" - "@esbuild/android-arm64": "npm:0.23.1" - "@esbuild/android-x64": "npm:0.23.1" - "@esbuild/darwin-arm64": "npm:0.23.1" - "@esbuild/darwin-x64": "npm:0.23.1" - "@esbuild/freebsd-arm64": "npm:0.23.1" - "@esbuild/freebsd-x64": "npm:0.23.1" - "@esbuild/linux-arm": "npm:0.23.1" - "@esbuild/linux-arm64": "npm:0.23.1" - "@esbuild/linux-ia32": "npm:0.23.1" - "@esbuild/linux-loong64": "npm:0.23.1" - "@esbuild/linux-mips64el": "npm:0.23.1" - "@esbuild/linux-ppc64": "npm:0.23.1" - "@esbuild/linux-riscv64": "npm:0.23.1" - "@esbuild/linux-s390x": "npm:0.23.1" - "@esbuild/linux-x64": "npm:0.23.1" - "@esbuild/netbsd-x64": "npm:0.23.1" - "@esbuild/openbsd-arm64": "npm:0.23.1" - "@esbuild/openbsd-x64": "npm:0.23.1" - "@esbuild/sunos-x64": "npm:0.23.1" - "@esbuild/win32-arm64": "npm:0.23.1" - "@esbuild/win32-ia32": "npm:0.23.1" - "@esbuild/win32-x64": "npm:0.23.1" - dependenciesMeta: - "@esbuild/aix-ppc64": - optional: true - "@esbuild/android-arm": - optional: true - "@esbuild/android-arm64": - optional: true - "@esbuild/android-x64": - optional: true - "@esbuild/darwin-arm64": - optional: true - "@esbuild/darwin-x64": - optional: true - "@esbuild/freebsd-arm64": - optional: true - "@esbuild/freebsd-x64": - optional: true - "@esbuild/linux-arm": - optional: true - "@esbuild/linux-arm64": - optional: true - "@esbuild/linux-ia32": - optional: true - "@esbuild/linux-loong64": - optional: true - "@esbuild/linux-mips64el": - optional: true - "@esbuild/linux-ppc64": - optional: true - "@esbuild/linux-riscv64": - optional: true - "@esbuild/linux-s390x": - optional: true - "@esbuild/linux-x64": - optional: true - "@esbuild/netbsd-x64": - optional: true - "@esbuild/openbsd-arm64": - optional: true - "@esbuild/openbsd-x64": - optional: true - "@esbuild/sunos-x64": - optional: true - "@esbuild/win32-arm64": - optional: true - "@esbuild/win32-ia32": - optional: true - "@esbuild/win32-x64": - optional: true - bin: - esbuild: bin/esbuild - checksum: 10/f55fbd0bfb0f86ce67a6d2c6f6780729d536c330999ecb9f5a38d578fb9fda820acbbc67d6d1d377eed8fed50fc38f14ff9cb014f86dafab94269a7fb2177018 - languageName: node - linkType: hard - "esbuild@npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0, esbuild@npm:^0.24.0, esbuild@npm:^0.24.2": version: 0.24.2 resolution: "esbuild@npm:0.24.2" @@ -12135,169 +7258,6 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.21.3, esbuild@npm:~0.21.5": - version: 0.21.5 - resolution: "esbuild@npm:0.21.5" - dependencies: - "@esbuild/aix-ppc64": "npm:0.21.5" - "@esbuild/android-arm": "npm:0.21.5" - "@esbuild/android-arm64": "npm:0.21.5" - "@esbuild/android-x64": "npm:0.21.5" - "@esbuild/darwin-arm64": "npm:0.21.5" - "@esbuild/darwin-x64": "npm:0.21.5" - "@esbuild/freebsd-arm64": "npm:0.21.5" - "@esbuild/freebsd-x64": "npm:0.21.5" - "@esbuild/linux-arm": "npm:0.21.5" - "@esbuild/linux-arm64": "npm:0.21.5" - "@esbuild/linux-ia32": "npm:0.21.5" - "@esbuild/linux-loong64": "npm:0.21.5" - "@esbuild/linux-mips64el": "npm:0.21.5" - "@esbuild/linux-ppc64": "npm:0.21.5" - "@esbuild/linux-riscv64": "npm:0.21.5" - "@esbuild/linux-s390x": "npm:0.21.5" - "@esbuild/linux-x64": "npm:0.21.5" - "@esbuild/netbsd-x64": "npm:0.21.5" - "@esbuild/openbsd-x64": "npm:0.21.5" - "@esbuild/sunos-x64": "npm:0.21.5" - "@esbuild/win32-arm64": "npm:0.21.5" - "@esbuild/win32-ia32": "npm:0.21.5" - "@esbuild/win32-x64": "npm:0.21.5" - dependenciesMeta: - "@esbuild/aix-ppc64": - optional: true - "@esbuild/android-arm": - optional: true - "@esbuild/android-arm64": - optional: true - "@esbuild/android-x64": - optional: true - "@esbuild/darwin-arm64": - optional: true - "@esbuild/darwin-x64": - optional: true - "@esbuild/freebsd-arm64": - optional: true - "@esbuild/freebsd-x64": - optional: true - "@esbuild/linux-arm": - optional: true - "@esbuild/linux-arm64": - optional: true - "@esbuild/linux-ia32": - optional: true - "@esbuild/linux-loong64": - optional: true - "@esbuild/linux-mips64el": - optional: true - "@esbuild/linux-ppc64": - optional: true - "@esbuild/linux-riscv64": - optional: true - "@esbuild/linux-s390x": - optional: true - "@esbuild/linux-x64": - optional: true - "@esbuild/netbsd-x64": - optional: true - "@esbuild/openbsd-x64": - optional: true - "@esbuild/sunos-x64": - optional: true - "@esbuild/win32-arm64": - optional: true - "@esbuild/win32-ia32": - optional: true - "@esbuild/win32-x64": - optional: true - bin: - esbuild: bin/esbuild - checksum: 10/d2ff2ca84d30cce8e871517374d6c2290835380dc7cd413b2d49189ed170d45e407be14de2cb4794cf76f75cf89955c4714726ebd3de7444b3046f5cab23ab6b - languageName: node - linkType: hard - -"esbuild@npm:^0.23.0": - version: 0.23.0 - resolution: "esbuild@npm:0.23.0" - dependencies: - "@esbuild/aix-ppc64": "npm:0.23.0" - "@esbuild/android-arm": "npm:0.23.0" - "@esbuild/android-arm64": "npm:0.23.0" - "@esbuild/android-x64": "npm:0.23.0" - "@esbuild/darwin-arm64": "npm:0.23.0" - "@esbuild/darwin-x64": "npm:0.23.0" - "@esbuild/freebsd-arm64": "npm:0.23.0" - "@esbuild/freebsd-x64": "npm:0.23.0" - "@esbuild/linux-arm": "npm:0.23.0" - "@esbuild/linux-arm64": "npm:0.23.0" - "@esbuild/linux-ia32": "npm:0.23.0" - "@esbuild/linux-loong64": "npm:0.23.0" - "@esbuild/linux-mips64el": "npm:0.23.0" - "@esbuild/linux-ppc64": "npm:0.23.0" - "@esbuild/linux-riscv64": "npm:0.23.0" - "@esbuild/linux-s390x": "npm:0.23.0" - "@esbuild/linux-x64": "npm:0.23.0" - "@esbuild/netbsd-x64": "npm:0.23.0" - "@esbuild/openbsd-arm64": "npm:0.23.0" - "@esbuild/openbsd-x64": "npm:0.23.0" - "@esbuild/sunos-x64": "npm:0.23.0" - "@esbuild/win32-arm64": "npm:0.23.0" - "@esbuild/win32-ia32": "npm:0.23.0" - "@esbuild/win32-x64": "npm:0.23.0" - dependenciesMeta: - "@esbuild/aix-ppc64": - optional: true - "@esbuild/android-arm": - optional: true - "@esbuild/android-arm64": - optional: true - "@esbuild/android-x64": - optional: true - "@esbuild/darwin-arm64": - optional: true - "@esbuild/darwin-x64": - optional: true - "@esbuild/freebsd-arm64": - optional: true - "@esbuild/freebsd-x64": - optional: true - "@esbuild/linux-arm": - optional: true - "@esbuild/linux-arm64": - optional: true - "@esbuild/linux-ia32": - optional: true - "@esbuild/linux-loong64": - optional: true - "@esbuild/linux-mips64el": - optional: true - "@esbuild/linux-ppc64": - optional: true - "@esbuild/linux-riscv64": - optional: true - "@esbuild/linux-s390x": - optional: true - "@esbuild/linux-x64": - optional: true - "@esbuild/netbsd-x64": - optional: true - "@esbuild/openbsd-arm64": - optional: true - "@esbuild/openbsd-x64": - optional: true - "@esbuild/sunos-x64": - optional: true - "@esbuild/win32-arm64": - optional: true - "@esbuild/win32-ia32": - optional: true - "@esbuild/win32-x64": - optional: true - bin: - esbuild: bin/esbuild - checksum: 10/d3d91bf9ca73ba33966fc54cabb321eca770a5e2ff5b34d67e4235c94560cfd881803e39fcaa31d842579d10600da5201c5f597f8438679f6db856f75ded7124 - languageName: node - linkType: hard - "esbuild@npm:~0.23.0": version: 0.23.1 resolution: "esbuild@npm:0.23.1" @@ -12381,13 +7341,6 @@ __metadata: languageName: node linkType: hard -"escalade@npm:^3.1.1": - version: 3.1.1 - resolution: "escalade@npm:3.1.1" - checksum: 10/afa618e73362576b63f6ca83c975456621095a1ed42ff068174e3f5cea48afc422814dda548c96e6ebb5333e7265140c7292abcc81bbd6ccb1757d50d3a4e182 - languageName: node - linkType: hard - "escalade@npm:^3.1.1, escalade@npm:^3.2.0": version: 3.2.0 resolution: "escalade@npm:3.2.0" @@ -12402,13 +7355,6 @@ __metadata: languageName: node linkType: hard -"escape-html@npm:~1.0.3": - version: 1.0.3 - resolution: "escape-html@npm:1.0.3" - checksum: 10/6213ca9ae00d0ab8bccb6d8d4e0a98e76237b2410302cf7df70aaa6591d509a2a37ce8998008cbecae8fc8ffaadf3fb0229535e6a145f3ce0b211d060decbb24 - languageName: node - linkType: hard - "escape-string-regexp@npm:^1.0.5": version: 1.0.5 resolution: "escape-string-regexp@npm:1.0.5" @@ -12416,13 +7362,6 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:^2.0.0": - version: 2.0.0 - resolution: "escape-string-regexp@npm:2.0.0" - checksum: 10/9f8a2d5743677c16e85c810e3024d54f0c8dea6424fad3c79ef6666e81dd0846f7437f5e729dfcdac8981bc9e5294c39b4580814d114076b8d36318f46ae4395 - languageName: node - linkType: hard - "escape-string-regexp@npm:^5.0.0": version: 5.0.0 resolution: "escape-string-regexp@npm:5.0.0" @@ -12430,24 +7369,6 @@ __metadata: languageName: node linkType: hard -"escodegen@npm:^2.1.0": - version: 2.1.0 - resolution: "escodegen@npm:2.1.0" - dependencies: - esprima: "npm:^4.0.1" - estraverse: "npm:^5.2.0" - esutils: "npm:^2.0.2" - source-map: "npm:~0.6.1" - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: 10/47719a65b2888b4586e3fa93769068b275961c13089e90d5d01a96a6e8e95871b1c3893576814c8fbf08a4a31a496f37e7b2c937cf231270f4d81de012832c7c - languageName: node - linkType: hard - "eslint-scope@npm:5.1.1": version: 5.1.1 resolution: "eslint-scope@npm:5.1.1" @@ -12458,16 +7379,6 @@ __metadata: languageName: node linkType: hard -"esprima@npm:^4.0.0, esprima@npm:^4.0.1, esprima@npm:~4.0.0": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10/f1d3c622ad992421362294f7acf866aa9409fbad4eb2e8fa230bd33944ce371d32279667b242d8b8907ec2b6ad7353a717f3c0e60e748873a34a7905174bc0eb - languageName: node - linkType: hard - "esprima@npm:^4.0.0, esprima@npm:~4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" @@ -12573,21 +7484,7 @@ __metadata: languageName: node linkType: hard -"etag@npm:~1.8.1": - version: 1.8.1 - resolution: "etag@npm:1.8.1" - checksum: 10/571aeb3dbe0f2bbd4e4fadbdb44f325fc75335cd5f6f6b6a091e6a06a9f25ed5392f0863c5442acb0646787446e816f13cbfc6edce5b07658541dff573cab1ff - languageName: node - linkType: hard - -"eventemitter3@npm:^4.0.0, eventemitter3@npm:^4.0.1": - version: 4.0.7 - resolution: "eventemitter3@npm:4.0.7" - checksum: 10/8030029382404942c01d0037079f1b1bc8fed524b5849c237b80549b01e2fc49709e1d0c557fa65ca4498fc9e24cff1475ef7b855121fcc15f9d61f93e282346 - languageName: node - linkType: hard - -"eventemitter3@npm:^4.0.1": +"eventemitter3@npm:^4.0.1": version: 4.0.7 resolution: "eventemitter3@npm:4.0.7" checksum: 10/8030029382404942c01d0037079f1b1bc8fed524b5849c237b80549b01e2fc49709e1d0c557fa65ca4498fc9e24cff1475ef7b855121fcc15f9d61f93e282346 @@ -12601,63 +7498,6 @@ __metadata: languageName: node linkType: hard -"execa@npm:^5.0.0, execa@npm:^5.1.1": - version: 5.1.1 - resolution: "execa@npm:5.1.1" - dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^6.0.0" - human-signals: "npm:^2.1.0" - is-stream: "npm:^2.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^4.0.1" - onetime: "npm:^5.1.2" - signal-exit: "npm:^3.0.3" - strip-final-newline: "npm:^2.0.0" - checksum: 10/8ada91f2d70f7dff702c861c2c64f21dfdc1525628f3c0454fd6f02fce65f7b958616cbd2b99ca7fa4d474e461a3d363824e91b3eb881705231abbf387470597 - languageName: node - linkType: hard - -"execa@npm:^8.0.1": - version: 8.0.1 - resolution: "execa@npm:8.0.1" - dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^8.0.1" - human-signals: "npm:^5.0.0" - is-stream: "npm:^3.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^5.1.0" - onetime: "npm:^6.0.0" - signal-exit: "npm:^4.1.0" - strip-final-newline: "npm:^3.0.0" - checksum: 10/d2ab5fe1e2bb92b9788864d0713f1fce9a07c4594e272c0c97bc18c90569897ab262e4ea58d27a694d288227a2e24f16f5e2575b44224ad9983b799dc7f1098d - languageName: node - linkType: hard - -"exit@npm:^0.1.2": - version: 0.1.2 - resolution: "exit@npm:0.1.2" - checksum: 10/387555050c5b3c10e7a9e8df5f43194e95d7737c74532c409910e585d5554eaff34960c166643f5e23d042196529daad059c292dcf1fb61b8ca878d3677f4b87 - languageName: node - linkType: hard - -"expand-tilde@npm:^1.2.2": - version: 1.2.2 - resolution: "expand-tilde@npm:1.2.2" - dependencies: - os-homedir: "npm:^1.0.1" - checksum: 10/18051cd104977bc06e2bb1347db9959b90504437beea0de6fd287a3c8c58b41e2330337bd189cfca2ee4be6bda9bf045f8c07daf23e622f85eb6ee1c420619a0 - languageName: node - linkType: hard - -"expect-playwright@npm:^0.8.0": - version: 0.8.0 - resolution: "expect-playwright@npm:0.8.0" - checksum: 10/cf8f7f1db819debfb1457b2e56509f838ac4e29c832790f665cf8db7baf21af8271e0ca97849b3998040780c6848533be2afcd262c75edf1ca98805bc2b51b35 - languageName: node - linkType: hard - "expect-type@npm:^1.1.0": version: 1.1.0 resolution: "expect-type@npm:1.1.0" @@ -12665,19 +7505,6 @@ __metadata: languageName: node linkType: hard -"expect@npm:^29.7.0": - version: 29.7.0 - resolution: "expect@npm:29.7.0" - dependencies: - "@jest/expect-utils": "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10/63f97bc51f56a491950fb525f9ad94f1916e8a014947f8d8445d3847a665b5471b768522d659f5e865db20b6c2033d2ac10f35fcbd881a4d26407a4f6f18451a - languageName: node - linkType: hard - "expr-eval-fork@npm:^2.0.2": version: 2.0.2 resolution: "expr-eval-fork@npm:2.0.2" @@ -12685,45 +7512,6 @@ __metadata: languageName: node linkType: hard -"express@npm:^4.19.2": - version: 4.20.0 - resolution: "express@npm:4.20.0" - dependencies: - accepts: "npm:~1.3.8" - array-flatten: "npm:1.1.1" - body-parser: "npm:1.20.3" - content-disposition: "npm:0.5.4" - content-type: "npm:~1.0.4" - cookie: "npm:0.6.0" - cookie-signature: "npm:1.0.6" - debug: "npm:2.6.9" - depd: "npm:2.0.0" - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - etag: "npm:~1.8.1" - finalhandler: "npm:1.2.0" - fresh: "npm:0.5.2" - http-errors: "npm:2.0.0" - merge-descriptors: "npm:1.0.3" - methods: "npm:~1.1.2" - on-finished: "npm:2.4.1" - parseurl: "npm:~1.3.3" - path-to-regexp: "npm:0.1.10" - proxy-addr: "npm:~2.0.7" - qs: "npm:6.11.0" - range-parser: "npm:~1.2.1" - safe-buffer: "npm:5.2.1" - send: "npm:0.19.0" - serve-static: "npm:1.16.0" - setprototypeof: "npm:1.2.0" - statuses: "npm:2.0.1" - type-is: "npm:~1.6.18" - utils-merge: "npm:1.0.1" - vary: "npm:~1.1.2" - checksum: 10/4131f566cf8f6d1611475d5ff5d0dbc5c628ad8b525aa2aa2b3da9a23a041efcce09ede10b8a31315b0258ac4e53208a009fd7669ee1eb385936a0d54adb3cde - languageName: node - linkType: hard - "extend@npm:^3.0.0": version: 3.0.2 resolution: "extend@npm:3.0.2" @@ -12763,19 +7551,6 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 10/222512e9315a0efca1276af9adb2127f02105d7288fa746145bf45e2716383fb79eb983c89601a72a399a56b7c18d38ce70457c5466218c5f13fad957cee16df - languageName: node - linkType: hard - "fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2, fast-glob@npm:^3.3.3": version: 3.3.3 resolution: "fast-glob@npm:3.3.3" @@ -12796,13 +7571,6 @@ __metadata: languageName: node linkType: hard -"fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": - version: 2.1.0 - resolution: "fast-json-stable-stringify@npm:2.1.0" - checksum: 10/2c20055c1fa43c922428f16ca8bb29f2807de63e5c851f665f7ac9790176c01c3b40335257736b299764a8d383388dabc73c8083b8e1bc3d99f0a941444ec60e - languageName: node - linkType: hard - "fastq@npm:^1.6.0": version: 1.14.0 resolution: "fastq@npm:1.14.0" @@ -12821,15 +7589,6 @@ __metadata: languageName: node linkType: hard -"fb-watchman@npm:^2.0.0": - version: 2.0.2 - resolution: "fb-watchman@npm:2.0.2" - dependencies: - bser: "npm:2.1.1" - checksum: 10/4f95d336fb805786759e383fd7fff342ceb7680f53efcc0ef82f502eb479ce35b98e8b207b6dfdfeea0eba845862107dc73813775fc6b56b3098c6e90a2dad77 - languageName: node - linkType: hard - "fdir@npm:^6.2.0, fdir@npm:^6.4.2": version: 6.4.3 resolution: "fdir@npm:6.4.3" @@ -12851,24 +7610,23 @@ __metadata: "@digdir/designsystemet-css": "workspace:^" "@digdir/designsystemet-react": "workspace:^" "@digdir/designsystemet-theme": "workspace:^" - "@figma/plugin-typings": "npm:^1.95.0" - "@types/react": "npm:^18.0.28" - "@types/react-color": "npm:^3.0.12" - "@types/react-dom": "npm:^18.0.11" - "@vitejs/plugin-react": "npm:^4.3.1" + "@figma/plugin-typings": "npm:^1.106.0" + "@types/react": "npm:^19.0.7" + "@types/react-color": "npm:^3.0.13" + "@types/react-dom": "npm:^19.0.3" + "@vitejs/plugin-react": "npm:^4.3.4" clsx: "npm:^2.1.1" - npm-run-all2: "npm:^6.2.2" - postcss: "npm:^8.4.41" - react: "npm:^18.3.1" - react-dom: "npm:^18.3.1" - react-router-dom: "npm:^6.26.0" - rollup: "npm:^4.22.4" - typescript: "npm:^5.5.4" - vite: "npm:^5.3.6" + npm-run-all2: "npm:^6.2.6" + postcss: "npm:^8.5.1" + react: "npm:^19.0.0" + react-dom: "npm:^19.0.0" + react-router-dom: "npm:^6.28.2" + rollup: "npm:^4.31.0" + typescript: "npm:^5.7.3" + vite: "npm:^6.0.11" vite-plugin-generate-file: "npm:^0.2.0" - vite-plugin-react-rich-svg: "npm:^1.1.1" - vite-plugin-singlefile: "npm:^2.0.2" - checksum: 10/undefined + vite-plugin-react-rich-svg: "npm:^1.2.0" + vite-plugin-singlefile: "npm:^2.1.0" languageName: unknown linkType: soft @@ -12881,13 +7639,6 @@ __metadata: languageName: node linkType: hard -"filesize@npm:^10.0.12": - version: 10.1.1 - resolution: "filesize@npm:10.1.1" - checksum: 10/3d4d05930ec3de16d9cb8c8f4061df1218d3eac4d69521deb3f768cbe7451ff82fe4af3bbf562e1f3a491b96c42e445d65af3cefec90a5deff0ec302dda42ede - languageName: node - linkType: hard - "fill-range@npm:^7.1.1": version: 7.1.1 resolution: "fill-range@npm:7.1.1" @@ -12897,21 +7648,6 @@ __metadata: languageName: node linkType: hard -"finalhandler@npm:1.2.0": - version: 1.2.0 - resolution: "finalhandler@npm:1.2.0" - dependencies: - debug: "npm:2.6.9" - encodeurl: "npm:~1.0.2" - escape-html: "npm:~1.0.3" - on-finished: "npm:2.4.1" - parseurl: "npm:~1.3.3" - statuses: "npm:2.0.1" - unpipe: "npm:~1.0.0" - checksum: 10/635718cb203c6d18e6b48dfbb6c54ccb08ea470e4f474ddcef38c47edcf3227feec316f886dd701235997d8af35240cae49856721ce18f539ad038665ebbf163 - languageName: node - linkType: hard - "find-cache-dir@npm:^2.0.0": version: 2.1.0 resolution: "find-cache-dir@npm:2.1.0" @@ -12923,49 +7659,6 @@ __metadata: languageName: node linkType: hard -"find-cache-dir@npm:^3.0.0, find-cache-dir@npm:^3.2.0": - version: 3.3.2 - resolution: "find-cache-dir@npm:3.3.2" - dependencies: - commondir: "npm:^1.0.1" - make-dir: "npm:^3.0.2" - pkg-dir: "npm:^4.1.0" - checksum: 10/3907c2e0b15132704ed67083686cd3e68ab7d9ecc22e50ae9da20678245d488b01fa22c0e34c0544dc6edc4354c766f016c8c186a787be7c17f7cde8c5281e85 - languageName: node - linkType: hard - -"find-file-up@npm:^0.1.2": - version: 0.1.3 - resolution: "find-file-up@npm:0.1.3" - dependencies: - fs-exists-sync: "npm:^0.1.0" - resolve-dir: "npm:^0.1.0" - checksum: 10/95475fee7b727266ec65312527c580eb4f01884592620296cf7859e72cce7f4f6a667c964ad6feeec53fb72a7c3991805532ed7a53d8224e9a1ccd88479cabce - languageName: node - linkType: hard - -"find-pkg@npm:^0.1.2": - version: 0.1.2 - resolution: "find-pkg@npm:0.1.2" - dependencies: - find-file-up: "npm:^0.1.2" - checksum: 10/cd797bfa7dd419849559312cdd3aec767c39939e552daa92e53ff6b61108f331eb2c800d20a5973631eb894ea36c13dded01a868b10f457a685e0ae87a1746e1 - languageName: node - linkType: hard - -"find-process@npm:^1.4.4": - version: 1.4.7 - resolution: "find-process@npm:1.4.7" - dependencies: - chalk: "npm:^4.0.0" - commander: "npm:^5.1.0" - debug: "npm:^4.1.1" - bin: - find-process: bin/find-process.js - checksum: 10/406d70f279e6b2140628d443c43cd8fbbfc32a6abfbb832bce23b3b85ba229ecefaaf1944687f3b559845cf21352197b1121e0646729f4ff70fa8374063cef34 - languageName: node - linkType: hard - "find-up@npm:^3.0.0": version: 3.0.0 resolution: "find-up@npm:3.0.0" @@ -12975,16 +7668,6 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^4.0.0, find-up@npm:^4.1.0": - version: 4.1.0 - resolution: "find-up@npm:4.1.0" - dependencies: - locate-path: "npm:^5.0.0" - path-exists: "npm:^4.0.0" - checksum: 10/4c172680e8f8c1f78839486e14a43ef82e9decd0e74145f40707cc42e7420506d5ec92d9a11c22bd2c48fb0c384ea05dd30e10dd152fefeec6f2f75282a8b844 - languageName: node - linkType: hard - "find-up@npm:^4.1.0": version: 4.1.0 resolution: "find-up@npm:4.1.0" @@ -13005,16 +7688,6 @@ __metadata: languageName: node linkType: hard -"find-yarn-workspace-root2@npm:1.2.16": - version: 1.2.16 - resolution: "find-yarn-workspace-root2@npm:1.2.16" - dependencies: - micromatch: "npm:^4.0.2" - pkg-dir: "npm:^4.2.0" - checksum: 10/398aa473ac245d9c9e9af5a75806b5a6828bd9a759f138faf4666f00c5fcb78af679d43f5cfbe73fe667cf6ec3ef6c9e157b09400181e5b9edc3adc47080e9bb - languageName: node - linkType: hard - "find-yarn-workspace-root@npm:^2.0.0": version: 2.0.0 resolution: "find-yarn-workspace-root@npm:2.0.0" @@ -13031,16 +7704,6 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.15.6": - version: 1.15.9 - resolution: "follow-redirects@npm:1.15.9" - peerDependenciesMeta: - debug: - optional: true - checksum: 10/e3ab42d1097e90d28b913903841e6779eb969b62a64706a3eb983e894a5db000fbd89296f45f08885a0e54cd558ef62e81be1165da9be25a6c44920da10f424c - languageName: node - linkType: hard - "for-each@npm:^0.3.3": version: 0.3.3 resolution: "for-each@npm:0.3.3" @@ -13050,16 +7713,6 @@ __metadata: languageName: node linkType: hard -"foreground-child@npm:^2.0.0": - version: 2.0.0 - resolution: "foreground-child@npm:2.0.0" - dependencies: - cross-spawn: "npm:^7.0.0" - signal-exit: "npm:^3.0.2" - checksum: 10/f36574ad8e19d69ce06fceac7d86161b863968e4ba292c14b7b40e5c464e3e9bcd7711250d33427d95cc2bb0d48cf101df9687433dbbc7fd3c7e4f595be8305e - languageName: node - linkType: hard - "foreground-child@npm:^3.1.0": version: 3.1.1 resolution: "foreground-child@npm:3.1.1" @@ -13088,13 +7741,6 @@ __metadata: languageName: node linkType: hard -"forwarded@npm:0.2.0": - version: 0.2.0 - resolution: "forwarded@npm:0.2.0" - checksum: 10/29ba9fd347117144e97cbb8852baae5e8b2acb7d1b591ef85695ed96f5b933b1804a7fac4a15dd09ca7ac7d0cdc104410e8102aae2dd3faa570a797ba07adb81 - languageName: node - linkType: hard - "fraction.js@npm:^4.3.7": version: 4.3.7 resolution: "fraction.js@npm:4.3.7" @@ -13102,38 +7748,6 @@ __metadata: languageName: node linkType: hard -"fresh@npm:0.5.2": - version: 0.5.2 - resolution: "fresh@npm:0.5.2" - checksum: 10/64c88e489b5d08e2f29664eb3c79c705ff9a8eb15d3e597198ef76546d4ade295897a44abb0abd2700e7ef784b2e3cbf1161e4fbf16f59129193fd1030d16da1 - languageName: node - linkType: hard - -"fromentries@npm:^1.2.0": - version: 1.3.2 - resolution: "fromentries@npm:1.3.2" - checksum: 10/10d6e07d289db102c0c1eaf5c3e3fa55ddd6b50033d7de16d99a7cd89f1e1a302dfadb26457031f9bb5d2ed95a179aaf0396092dde5abcae06e8a2f0476826be - languageName: node - linkType: hard - -"fs-exists-sync@npm:^0.1.0": - version: 0.1.0 - resolution: "fs-exists-sync@npm:0.1.0" - checksum: 10/850a0d6e4c03a7bd2fd25043f77cd9d6be9c3b48bb99308bcfe9c94f3f92f65f2cd3fa036e13a1b0ba7a46d2e58792f53e578f01d75fbdcd56baeb9eed63b705 - languageName: node - linkType: hard - -"fs-extra@npm:^11.0.0, fs-extra@npm:^11.1.0": - version: 11.1.1 - resolution: "fs-extra@npm:11.1.1" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10/c4e9fabf9762a70d1403316b7faa899f3d3303c8afa765b891c2210fdeba368461e04ae1203920b64ef6a7d066a39ab8cef2160b5ce8d1011bb4368688cd9bb7 - languageName: node - linkType: hard - "fs-extra@npm:^11.0.0, fs-extra@npm:^11.3.0": version: 11.3.0 resolution: "fs-extra@npm:11.3.0" @@ -13145,17 +7759,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^11.2.0": - version: 11.2.0 - resolution: "fs-extra@npm:11.2.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10/0579bf6726a4cd054d4aa308f10b483f52478bb16284f32cf60b4ce0542063d551fca1a08a2af365e35db21a3fa5a06cf2a6ed614004b4368982bc754cb816b3 - languageName: node - linkType: hard - "fs-extra@npm:^7.0.1": version: 7.0.1 resolution: "fs-extra@npm:7.0.1" @@ -13216,16 +7819,6 @@ __metadata: languageName: node linkType: hard -"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": - version: 2.3.3 - resolution: "fsevents@npm:2.3.3" - dependencies: - node-gyp: "npm:latest" - checksum: 10/4c1ade961ded57cdbfbb5cac5106ec17bc8bccd62e16343c569a0ceeca83b9dfef87550b4dc5cbb89642da412b20c5071f304c8c464b80415446e8e155a038c0 - conditions: os=darwin - languageName: node - linkType: hard - "fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": version: 2.3.3 resolution: "fsevents@npm:2.3.3" @@ -13241,17 +7834,6 @@ __metadata: resolution: "fsevents@patch:fsevents@npm%3A2.3.2#optional!builtin::version=2.3.2&hash=df0bf1" dependencies: node-gyp: "npm:latest" - checksum: 10/undefined - conditions: os=darwin - languageName: node - linkType: hard - -"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": - version: 2.3.3 - resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" - dependencies: - node-gyp: "npm:latest" - checksum: 10/undefined conditions: os=darwin languageName: node linkType: hard @@ -13261,7 +7843,6 @@ __metadata: resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" dependencies: node-gyp: "npm:latest" - checksum: 10/undefined conditions: os=darwin languageName: node linkType: hard @@ -13296,13 +7877,6 @@ __metadata: languageName: node linkType: hard -"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": - version: 2.0.5 - resolution: "get-caller-file@npm:2.0.5" - checksum: 10/b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 - languageName: node - linkType: hard - "get-caller-file@npm:^2.0.5": version: 2.0.5 resolution: "get-caller-file@npm:2.0.5" @@ -13310,25 +7884,6 @@ __metadata: languageName: node linkType: hard -"get-func-name@npm:^2.0.1": - version: 2.0.2 - resolution: "get-func-name@npm:2.0.2" - checksum: 10/3f62f4c23647de9d46e6f76d2b3eafe58933a9b3830c60669e4180d6c601ce1b4aa310ba8366143f55e52b139f992087a9f0647274e8745621fa2af7e0acf13b - languageName: node - linkType: hard - -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1": - version: 1.2.2 - resolution: "get-intrinsic@npm:1.2.2" - dependencies: - function-bind: "npm:^1.1.2" - has-proto: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - hasown: "npm:^2.0.0" - checksum: 10/aa96db4f809734d26d49b59bc8669d73a0ae792da561514e987735573a1dfaede516cd102f217a078ea2b42d4c4fb1f83d487932cb15d49826b726cc9cd4470b - languageName: node - linkType: hard - "get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.4": version: 1.2.4 resolution: "get-intrinsic@npm:1.2.4" @@ -13342,26 +7897,6 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.2.4": - version: 1.2.4 - resolution: "get-intrinsic@npm:1.2.4" - dependencies: - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - has-proto: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - hasown: "npm:^2.0.0" - checksum: 10/85bbf4b234c3940edf8a41f4ecbd4e25ce78e5e6ad4e24ca2f77037d983b9ef943fd72f00f3ee97a49ec622a506b67db49c36246150377efcda1c9eb03e5f06d - languageName: node - linkType: hard - -"get-package-type@npm:^0.1.0": - version: 0.1.0 - resolution: "get-package-type@npm:0.1.0" - checksum: 10/bba0811116d11e56d702682ddef7c73ba3481f114590e705fc549f4d868972263896af313c57a25c076e3c0d567e11d919a64ba1b30c879be985fc9d44f96148 - languageName: node - linkType: hard - "get-stdin@npm:^9.0.0": version: 9.0.0 resolution: "get-stdin@npm:9.0.0" @@ -13369,20 +7904,6 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^6.0.0": - version: 6.0.1 - resolution: "get-stream@npm:6.0.1" - checksum: 10/781266d29725f35c59f1d214aedc92b0ae855800a980800e2923b3fbc4e56b3cb6e462c42e09a1cf1a00c64e056a78fa407cbe06c7c92b7e5cd49b4b85c2a497 - languageName: node - linkType: hard - -"get-stream@npm:^8.0.1": - version: 8.0.1 - resolution: "get-stream@npm:8.0.1" - checksum: 10/dde5511e2e65a48e9af80fea64aff11b4921b14b6e874c6f8294c50975095af08f41bfb0b680c887f28b566dd6ec2cb2f960f9d36a323359be324ce98b766e9e - languageName: node - linkType: hard - "get-tsconfig@npm:^4.7.5": version: 4.7.5 resolution: "get-tsconfig@npm:4.7.5" @@ -13408,17 +7929,6 @@ __metadata: languageName: node linkType: hard -"glob-promise@npm:^4.2.0": - version: 4.2.2 - resolution: "glob-promise@npm:4.2.2" - dependencies: - "@types/glob": "npm:^7.1.3" - peerDependencies: - glob: ^7.1.6 - checksum: 10/c1a3d95f7c8393e4151d4899ec4e42bb2e8237160f840ad1eccbe9247407da8b6c13e28f463022e011708bc40862db87b9b77236d35afa3feb8aa86d518f2dfe - languageName: node - linkType: hard - "glob-to-regexp@npm:^0.4.1": version: 0.4.1 resolution: "glob-to-regexp@npm:0.4.1" @@ -13426,22 +7936,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.3.10": - version: 10.3.10 - resolution: "glob@npm:10.3.10" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^2.3.5" - minimatch: "npm:^9.0.1" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry: "npm:^1.10.1" - bin: - glob: dist/esm/bin.mjs - checksum: 10/38bdb2c9ce75eb5ed168f309d4ed05b0798f640b637034800a6bf306f39d35409bf278b0eaaffaec07591085d3acb7184a201eae791468f0f617771c2486a6a8 - languageName: node - linkType: hard - -"glob@npm:^10.3.10, glob@npm:^10.4.1, glob@npm:^10.4.2": +"glob@npm:^10.3.10, glob@npm:^10.4.2": version: 10.4.5 resolution: "glob@npm:10.4.5" dependencies: @@ -13473,22 +7968,6 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.4.2": - version: 10.4.5 - resolution: "glob@npm:10.4.5" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^3.1.2" - minimatch: "npm:^9.0.4" - minipass: "npm:^7.1.2" - package-json-from-dist: "npm:^1.0.0" - path-scurry: "npm:^1.11.1" - bin: - glob: dist/esm/bin.mjs - checksum: 10/698dfe11828b7efd0514cd11e573eaed26b2dff611f0400907281ce3eab0c1e56143ef9b35adc7c77ecc71fba74717b510c7c223d34ca8a98ec81777b293d4ac - languageName: node - linkType: hard - "glob@npm:^11.0.0": version: 11.0.0 resolution: "glob@npm:11.0.0" @@ -13519,20 +7998,6 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.0.5, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.2.0": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.1.1" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10/59452a9202c81d4508a43b8af7082ca5c76452b9fcc4a9ab17655822e6ce9b21d4f8fbadabe4fe3faef448294cec249af305e2cd824b7e9aaf689240e5e96a7b - languageName: node - linkType: hard - "glob@npm:^8.0.1": version: 8.0.3 resolution: "glob@npm:8.0.3" @@ -13546,28 +8011,6 @@ __metadata: languageName: node linkType: hard -"global-modules@npm:^0.2.3": - version: 0.2.3 - resolution: "global-modules@npm:0.2.3" - dependencies: - global-prefix: "npm:^0.1.4" - is-windows: "npm:^0.2.0" - checksum: 10/3801788df54897d994c9c8f3d09f253d1379cd879ae61fcddbcc3ecdfdf6fe23a1edb983e8d4dd24cebf7e49823752e1cd29a2d33bdb4de587de8b4a85b17e24 - languageName: node - linkType: hard - -"global-prefix@npm:^0.1.4": - version: 0.1.5 - resolution: "global-prefix@npm:0.1.5" - dependencies: - homedir-polyfill: "npm:^1.0.0" - ini: "npm:^1.3.4" - is-windows: "npm:^0.2.0" - which: "npm:^1.2.12" - checksum: 10/ea1b818a1851655ebb2341cdd5446da81c25f31ca6f0ac358a234cbed5442edc1bfa5628771466988d67d9fcc6ad09ca0e68a8d3d7e3d92f7de3aec87020e183 - languageName: node - linkType: hard - "globals@npm:^11.1.0": version: 11.12.0 resolution: "globals@npm:11.12.0" @@ -13605,20 +8048,6 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.0.0, globby@npm:^11.1.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.2.9" - ignore: "npm:^5.2.0" - merge2: "npm:^1.4.1" - slash: "npm:^3.0.0" - checksum: 10/288e95e310227bbe037076ea81b7c2598ccbc3122d87abc6dab39e1eec309aa14f0e366a98cdc45237ffcfcbad3db597778c0068217dcb1950fef6249104e1b1 - languageName: node - linkType: hard - "globby@npm:^14.0.0": version: 14.0.0 resolution: "globby@npm:14.0.0" @@ -13642,13 +8071,6 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.5, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: 10/bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2 - languageName: node - linkType: hard - "graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.5, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" @@ -13677,15 +8099,6 @@ __metadata: languageName: node linkType: hard -"has-property-descriptors@npm:^1.0.0": - version: 1.0.0 - resolution: "has-property-descriptors@npm:1.0.0" - dependencies: - get-intrinsic: "npm:^1.1.1" - checksum: 10/a6d3f0a266d0294d972e354782e872e2fe1b6495b321e6ef678c9b7a06a40408a6891817350c62e752adced73a94ac903c54734fee05bf65b1905ee1368194bb - languageName: node - linkType: hard - "has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": version: 1.0.2 resolution: "has-property-descriptors@npm:1.0.2" @@ -13695,15 +8108,6 @@ __metadata: languageName: node linkType: hard -"has-property-descriptors@npm:^1.0.2": - version: 1.0.2 - resolution: "has-property-descriptors@npm:1.0.2" - dependencies: - es-define-property: "npm:^1.0.0" - checksum: 10/2d8c9ab8cebb572e3362f7d06139a4592105983d4317e68f7adba320fe6ddfc8874581e0971e899e633fd5f72e262830edce36d5a0bc863dad17ad20572484b2 - languageName: node - linkType: hard - "has-proto@npm:^1.0.1": version: 1.0.1 resolution: "has-proto@npm:1.0.1" @@ -13734,16 +8138,6 @@ __metadata: languageName: node linkType: hard -"hasha@npm:^5.0.0": - version: 5.2.2 - resolution: "hasha@npm:5.2.2" - dependencies: - is-stream: "npm:^2.0.0" - type-fest: "npm:^0.8.0" - checksum: 10/06cc474bed246761ff61c19d629977eb5f53fa817be4313a255a64ae0f433e831a29e83acb6555e3f4592b348497596f1d1653751008dda4f21c9c21ca60ac5a - languageName: node - linkType: hard - "hasown@npm:^2.0.0": version: 2.0.0 resolution: "hasown@npm:2.0.0" @@ -13890,15 +8284,6 @@ __metadata: languageName: node linkType: hard -"he@npm:^1.2.0": - version: 1.2.0 - resolution: "he@npm:1.2.0" - bin: - he: bin/he - checksum: 10/d09b2243da4e23f53336e8de3093e5c43d2c39f8d0d18817abfa32ce3e9355391b2edb4bb5edc376aea5d4b0b59d6a0482aab4c52bc02ef95751e4b818e847f1 - languageName: node - linkType: hard - "headers-polyfill@npm:^4.0.2": version: 4.0.3 resolution: "headers-polyfill@npm:4.0.3" @@ -13927,15 +8312,6 @@ __metadata: languageName: node linkType: hard -"homedir-polyfill@npm:^1.0.0": - version: 1.0.3 - resolution: "homedir-polyfill@npm:1.0.3" - dependencies: - parse-passwd: "npm:^1.0.0" - checksum: 10/18dd4db87052c6a2179d1813adea0c4bfcfa4f9996f0e226fefb29eb3d548e564350fa28ec46b0bf1fbc0a1d2d6922ceceb80093115ea45ff8842a4990139250 - languageName: node - linkType: hard - "hsluv@npm:^0.1.0": version: 0.1.0 resolution: "hsluv@npm:0.1.0" @@ -13950,15 +8326,6 @@ __metadata: languageName: node linkType: hard -"html-encoding-sniffer@npm:^3.0.0": - version: 3.0.0 - resolution: "html-encoding-sniffer@npm:3.0.0" - dependencies: - whatwg-encoding: "npm:^2.0.0" - checksum: 10/707a812ec2acaf8bb5614c8618dc81e2fb6b4399d03e95ff18b65679989a072f4e919b9bef472039301a1bbfba64063ba4c79ea6e851c653ac9db80dbefe8fe5 - languageName: node - linkType: hard - "html-encoding-sniffer@npm:^4.0.0": version: 4.0.0 resolution: "html-encoding-sniffer@npm:4.0.0" @@ -13975,27 +8342,6 @@ __metadata: languageName: node linkType: hard -"html-tags@npm:^3.1.0": - version: 3.3.1 - resolution: "html-tags@npm:3.3.1" - checksum: 10/d0e808544b92d8b999cbcc86d539577255a2f0f2f4f73110d10749d1d36e6fe6ad706a0355a8477afb6e000ecdc93d8455b3602951f9a2b694ac9e28f1b52878 - languageName: node - linkType: hard - -"htmlparser2@npm:^3.9.2": - version: 3.10.1 - resolution: "htmlparser2@npm:3.10.1" - dependencies: - domelementtype: "npm:^1.3.1" - domhandler: "npm:^2.3.0" - domutils: "npm:^1.5.1" - entities: "npm:^1.1.1" - inherits: "npm:^2.0.1" - readable-stream: "npm:^3.1.1" - checksum: 10/d5297fe76c0d6b0f35f39781417eb560ef12fa121953578083f3f2b240c74d5c35a38185689d181b6a82b66a3025436f14aa3413b94f3cd50ba15733f2f72389 - languageName: node - linkType: hard - "http-cache-semantics@npm:^4.1.0": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" @@ -14003,19 +8349,6 @@ __metadata: languageName: node linkType: hard -"http-errors@npm:2.0.0": - version: 2.0.0 - resolution: "http-errors@npm:2.0.0" - dependencies: - depd: "npm:2.0.0" - inherits: "npm:2.0.4" - setprototypeof: "npm:1.2.0" - statuses: "npm:2.0.1" - toidentifier: "npm:1.0.1" - checksum: 10/0e7f76ee8ff8a33e58a3281a469815b893c41357378f408be8f6d4aa7d1efafb0da064625518e7078381b6a92325949b119dc38fcb30bdbc4e3a35f78c44c439 - languageName: node - linkType: hard - "http-proxy-agent@npm:^5.0.0": version: 5.0.0 resolution: "http-proxy-agent@npm:5.0.0" @@ -14037,40 +8370,6 @@ __metadata: languageName: node linkType: hard -"http-proxy@npm:^1.18.1": - version: 1.18.1 - resolution: "http-proxy@npm:1.18.1" - dependencies: - eventemitter3: "npm:^4.0.0" - follow-redirects: "npm:^1.0.0" - requires-port: "npm:^1.0.0" - checksum: 10/2489e98aba70adbfd8b9d41ed1ff43528be4598c88616c558b109a09eaffe4bb35e551b6c75ac42ed7d948bb7530a22a2be6ef4f0cecacb5927be139f4274594 - languageName: node - linkType: hard - -"http-server@npm:^14.1.1": - version: 14.1.1 - resolution: "http-server@npm:14.1.1" - dependencies: - basic-auth: "npm:^2.0.1" - chalk: "npm:^4.1.2" - corser: "npm:^2.0.1" - he: "npm:^1.2.0" - html-encoding-sniffer: "npm:^3.0.0" - http-proxy: "npm:^1.18.1" - mime: "npm:^1.6.0" - minimist: "npm:^1.2.6" - opener: "npm:^1.5.1" - portfinder: "npm:^1.0.28" - secure-compare: "npm:3.0.1" - union: "npm:~0.5.0" - url-join: "npm:^4.0.1" - bin: - http-server: bin/http-server - checksum: 10/ce3f4606fdd0cc946852f2dcdb11008cb4459e50e3d9cb1e6c6cf65de82022a7eb8b196e0aa77a90a70757b1b7f3df5407e8c0936ece968c5f24274ce87769a8 - languageName: node - linkType: hard - "https-proxy-agent@npm:^5.0.0": version: 5.0.1 resolution: "https-proxy-agent@npm:5.0.1" @@ -14098,20 +8397,6 @@ __metadata: languageName: node linkType: hard -"human-signals@npm:^2.1.0": - version: 2.1.0 - resolution: "human-signals@npm:2.1.0" - checksum: 10/df59be9e0af479036798a881d1f136c4a29e0b518d4abb863afbd11bf30efa3eeb1d0425fc65942dcc05ab3bf40205ea436b0ff389f2cd20b75b8643d539bf86 - languageName: node - linkType: hard - -"human-signals@npm:^5.0.0": - version: 5.0.0 - resolution: "human-signals@npm:5.0.0" - checksum: 10/30f8870d831cdcd2d6ec0486a7d35d49384996742052cee792854273fa9dd9e7d5db06bb7985d4953e337e10714e994e0302e90dc6848069171b05ec836d65b0 - languageName: node - linkType: hard - "humanize-ms@npm:^1.2.1": version: 1.2.1 resolution: "humanize-ms@npm:1.2.1" @@ -14128,15 +8413,6 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3" - checksum: 10/6d3a2dac6e5d1fb126d25645c25c3a1209f70cceecc68b8ef51ae0da3cdc078c151fade7524a30b12a3094926336831fca09c666ef55b37e2c69638b5d6bd2e3 - languageName: node - linkType: hard - "iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" @@ -14178,13 +8454,6 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.2.4": - version: 5.3.2 - resolution: "ignore@npm:5.3.2" - checksum: 10/cceb6a457000f8f6a50e1196429750d782afce5680dd878aa4221bd79972d68b3a55b4b1458fc682be978f4d3c6a249046aa0880637367216444ab7b014cfc98 - languageName: node - linkType: hard - "ignore@npm:^5.2.0, ignore@npm:^5.2.4": version: 5.2.4 resolution: "ignore@npm:5.2.4" @@ -14218,18 +8487,6 @@ __metadata: languageName: node linkType: hard -"import-local@npm:^3.0.2": - version: 3.2.0 - resolution: "import-local@npm:3.2.0" - dependencies: - pkg-dir: "npm:^4.2.0" - resolve-cwd: "npm:^3.0.0" - bin: - import-local-fixture: fixtures/cli.js - checksum: 10/0b0b0b412b2521739fbb85eeed834a3c34de9bc67e670b3d0b86248fc460d990a7b116ad056c084b87a693ef73d1f17268d6a5be626bb43c998a8b1c8a230004 - languageName: node - linkType: hard - "imurmurhash@npm:^0.1.4": version: 0.1.4 resolution: "imurmurhash@npm:0.1.4" @@ -14261,13 +8518,6 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:~2.0.1, inherits@npm:~2.0.3": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 10/cd45e923bee15186c07fa4c89db0aace24824c482fb887b528304694b2aa6ff8a898da8657046a5dcf3e46cd6db6c61629551f9215f208d7c3f157cf9b290521 - languageName: node - linkType: hard - "inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:~2.0.1, inherits@npm:~2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" @@ -14282,13 +8532,6 @@ __metadata: languageName: node linkType: hard -"ini@npm:^1.3.4": - version: 1.3.8 - resolution: "ini@npm:1.3.8" - checksum: 10/314ae176e8d4deb3def56106da8002b462221c174ddb7ce0c49ee72c8cd1f9044f7b10cc555a7d8850982c3b9ca96fc212122749f5234bc2b6fb05fb942ed566 - languageName: node - linkType: hard - "inline-style-parser@npm:0.1.1": version: 0.1.1 resolution: "inline-style-parser@npm:0.1.1" @@ -14317,20 +8560,6 @@ __metadata: languageName: node linkType: hard -"ipaddr.js@npm:1.9.1": - version: 1.9.1 - resolution: "ipaddr.js@npm:1.9.1" - checksum: 10/864d0cced0c0832700e9621913a6429ccdc67f37c1bd78fb8c6789fff35c9d167cb329134acad2290497a53336813ab4798d2794fd675d5eb33b5fdf0982b9ca - languageName: node - linkType: hard - -"is-absolute-url@npm:^4.0.0": - version: 4.0.1 - resolution: "is-absolute-url@npm:4.0.1" - checksum: 10/de172a718439982a54477fdae55f21be69ec0e6a4b205db5484975d2f4ee749851fd46c28f3790dfc51a274c2ed1d0f8457b6d1fff02ab829069fd9cc761e48c - languageName: node - linkType: hard - "is-alphabetical@npm:^1.0.0": version: 1.0.4 resolution: "is-alphabetical@npm:1.0.4" @@ -14398,15 +8627,6 @@ __metadata: languageName: node linkType: hard -"is-builtin-module@npm:^3.2.1": - version: 3.2.1 - resolution: "is-builtin-module@npm:3.2.1" - dependencies: - builtin-modules: "npm:^3.3.0" - checksum: 10/e8f0ffc19a98240bda9c7ada84d846486365af88d14616e737d280d378695c8c448a621dcafc8332dbf0fcd0a17b0763b845400709963fa9151ddffece90ae88 - languageName: node - linkType: hard - "is-callable@npm:^1.1.3": version: 1.2.7 resolution: "is-callable@npm:1.2.7" @@ -14460,13 +8680,6 @@ __metadata: languageName: node linkType: hard -"is-generator-fn@npm:^2.0.0": - version: 2.1.0 - resolution: "is-generator-fn@npm:2.1.0" - checksum: 10/a6ad5492cf9d1746f73b6744e0c43c0020510b59d56ddcb78a91cbc173f09b5e6beff53d75c9c5a29feb618bfef2bf458e025ecf3a57ad2268e2fb2569f56215 - languageName: node - linkType: hard - "is-generator-function@npm:^1.0.7": version: 1.0.10 resolution: "is-generator-function@npm:1.0.10" @@ -14551,13 +8764,6 @@ __metadata: languageName: node linkType: hard -"is-plain-object@npm:5.0.0": - version: 5.0.0 - resolution: "is-plain-object@npm:5.0.0" - checksum: 10/e32d27061eef62c0847d303125440a38660517e586f2f3db7c9d179ae5b6674ab0f469d519b2e25c147a1a3bc87156d0d5f4d8821e0ce4a9ee7fe1fcf11ce45c - languageName: node - linkType: hard - "is-plain-object@npm:^2.0.4": version: 2.0.4 resolution: "is-plain-object@npm:2.0.4" @@ -14584,793 +8790,173 @@ __metadata: "is-reference@npm:1.2.1": version: 1.2.1 resolution: "is-reference@npm:1.2.1" - dependencies: - "@types/estree": "npm:*" - checksum: 10/e7b48149f8abda2c10849ea51965904d6a714193d68942ad74e30522231045acf06cbfae5a4be2702fede5d232e61bf50b3183acdc056e6e3afe07fcf4f4b2bc - languageName: node - linkType: hard - -"is-reference@npm:^3.0.0": - version: 3.0.1 - resolution: "is-reference@npm:3.0.1" - dependencies: - "@types/estree": "npm:*" - checksum: 10/12c316d16191961938057e949c9f59ecac3c00c8101005a81ee351fde0775590238939c294ecac3a371400eb85d4b2556675396ebd4db821b767c145df28623f - languageName: node - linkType: hard - -"is-stream@npm:^2.0.0": - version: 2.0.1 - resolution: "is-stream@npm:2.0.1" - checksum: 10/b8e05ccdf96ac330ea83c12450304d4a591f9958c11fd17bed240af8d5ffe08aedafa4c0f4cfccd4d28dc9d4d129daca1023633d5c11601a6cbc77521f6fae66 - languageName: node - linkType: hard - -"is-stream@npm:^3.0.0": - version: 3.0.0 - resolution: "is-stream@npm:3.0.0" - checksum: 10/172093fe99119ffd07611ab6d1bcccfe8bc4aa80d864b15f43e63e54b7abc71e779acd69afdb854c4e2a67fdc16ae710e370eda40088d1cfc956a50ed82d8f16 - languageName: node - linkType: hard - -"is-subdir@npm:^1.1.1": - version: 1.2.0 - resolution: "is-subdir@npm:1.2.0" - dependencies: - better-path-resolve: "npm:1.0.0" - checksum: 10/31029a383972bff4cc4f1bd1463fd04dde017e0a04ae3a6f6e08124a90c6c4656312d593101b0f38805fa3f3c8f6bc4583524bbf72c50784fa5ca0d3e5a76279 - languageName: node - linkType: hard - -"is-typed-array@npm:^1.1.3": - version: 1.1.12 - resolution: "is-typed-array@npm:1.1.12" - dependencies: - which-typed-array: "npm:^1.1.11" - checksum: 10/d953adfd3c41618d5e01b2a10f21817e4cdc9572772fa17211100aebb3811b6e3c2e308a0558cc87d218a30504cb90154b833013437776551bfb70606fb088ca - languageName: node - linkType: hard - -"is-typedarray@npm:^1.0.0": - version: 1.0.0 - resolution: "is-typedarray@npm:1.0.0" - checksum: 10/4b433bfb0f9026f079f4eb3fbaa4ed2de17c9995c3a0b5c800bec40799b4b2a8b4e051b1ada77749deb9ded4ae52fe2096973f3a93ff83df1a5a7184a669478c - languageName: node - linkType: hard - -"is-what@npm:^3.14.1": - version: 3.14.1 - resolution: "is-what@npm:3.14.1" - checksum: 10/249beb4a8c1729c80ed24fa8527835301c8c70d2fa99706a301224576e0650df61edd7a0a8853999bf5fbe2c551f07148d2c3535260772e05a4c373d3d5362e1 - languageName: node - linkType: hard - -"is-windows@npm:^0.2.0": - version: 0.2.0 - resolution: "is-windows@npm:0.2.0" - checksum: 10/3df25afda2fd9f3926b08cebacf1fc0a1fe7805a2cb73ef0f1b911c949e4e7648c4623979d74b4502bdd9af69471101eb6051b751595f7f88569148186cf7a7a - languageName: node - linkType: hard - -"is-windows@npm:^1.0.0": - version: 1.0.2 - resolution: "is-windows@npm:1.0.2" - checksum: 10/438b7e52656fe3b9b293b180defb4e448088e7023a523ec21a91a80b9ff8cdb3377ddb5b6e60f7c7de4fa8b63ab56e121b6705fe081b3cf1b828b0a380009ad7 - languageName: node - linkType: hard - -"is-windows@npm:^1.0.0, is-windows@npm:^1.0.2": - version: 1.0.2 - resolution: "is-windows@npm:1.0.2" - checksum: 10/438b7e52656fe3b9b293b180defb4e448088e7023a523ec21a91a80b9ff8cdb3377ddb5b6e60f7c7de4fa8b63ab56e121b6705fe081b3cf1b828b0a380009ad7 - languageName: node - linkType: hard - -"is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": - version: 2.2.0 - resolution: "is-wsl@npm:2.2.0" - dependencies: - is-docker: "npm:^2.0.0" - checksum: 10/20849846ae414997d290b75e16868e5261e86ff5047f104027026fd61d8b5a9b0b3ade16239f35e1a067b3c7cc02f70183cb661010ed16f4b6c7c93dad1b19d8 - languageName: node - linkType: hard - -"isarray@npm:0.0.1": - version: 0.0.1 - resolution: "isarray@npm:0.0.1" - checksum: 10/49191f1425681df4a18c2f0f93db3adb85573bcdd6a4482539d98eac9e705d8961317b01175627e860516a2fc45f8f9302db26e5a380a97a520e272e2a40a8d4 - languageName: node - linkType: hard - -"isarray@npm:^2.0.5": - version: 2.0.5 - resolution: "isarray@npm:2.0.5" - checksum: 10/1d8bc7911e13bb9f105b1b3e0b396c787a9e63046af0b8fe0ab1414488ab06b2b099b87a2d8a9e31d21c9a6fad773c7fc8b257c4880f2d957274479d28ca3414 - languageName: node - linkType: hard - -"isarray@npm:~1.0.0": - version: 1.0.0 - resolution: "isarray@npm:1.0.0" - checksum: 10/f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab - languageName: node - linkType: hard - -"isexe@npm:^2.0.0": - version: 2.0.0 - resolution: "isexe@npm:2.0.0" - checksum: 10/7c9f715c03aff08f35e98b1fadae1b9267b38f0615d501824f9743f3aab99ef10e303ce7db3f186763a0b70a19de5791ebfc854ff884d5a8c4d92211f642ec92 - languageName: node - linkType: hard - -"isobject@npm:^3.0.1": - version: 3.0.1 - resolution: "isobject@npm:3.0.1" - checksum: 10/db85c4c970ce30693676487cca0e61da2ca34e8d4967c2e1309143ff910c207133a969f9e4ddb2dc6aba670aabce4e0e307146c310350b298e74a31f7d464703 - languageName: node - linkType: hard - -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0, istanbul-lib-coverage@npm:^3.2.2": - version: 3.2.2 - resolution: "istanbul-lib-coverage@npm:3.2.2" - checksum: 10/40bbdd1e937dfd8c830fa286d0f665e81b7a78bdabcd4565f6d5667c99828bda3db7fb7ac6b96a3e2e8a2461ddbc5452d9f8bc7d00cb00075fa6a3e99f5b6a81 - languageName: node - linkType: hard - -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.2": - version: 3.2.2 - resolution: "istanbul-lib-coverage@npm:3.2.2" - checksum: 10/40bbdd1e937dfd8c830fa286d0f665e81b7a78bdabcd4565f6d5667c99828bda3db7fb7ac6b96a3e2e8a2461ddbc5452d9f8bc7d00cb00075fa6a3e99f5b6a81 - languageName: node - linkType: hard - -"istanbul-lib-hook@npm:^3.0.0": - version: 3.0.0 - resolution: "istanbul-lib-hook@npm:3.0.0" - dependencies: - append-transform: "npm:^2.0.0" - checksum: 10/512a996cce6b1b9003ba59eab42299dd1527176c01f3ceb7b16bf68f437eeab4958f9df7df0a6b258d45d5f1a2ca2a1bdb915970711e1a5d7b2de911c582f721 - languageName: node - linkType: hard - -"istanbul-lib-instrument@npm:^4.0.0": - version: 4.0.3 - resolution: "istanbul-lib-instrument@npm:4.0.3" - dependencies: - "@babel/core": "npm:^7.7.5" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-coverage: "npm:^3.0.0" - semver: "npm:^6.3.0" - checksum: 10/6e04ab365b95644ec4954b645f901be90be8ad81233d6df536300cdafcf70dd1ed22a912ceda38b32053c7fc9830c44cd23550c603f493329a8532073d1d6c42 - languageName: node - linkType: hard - -"istanbul-lib-instrument@npm:^5.0.4": - version: 5.2.1 - resolution: "istanbul-lib-instrument@npm:5.2.1" - dependencies: - "@babel/core": "npm:^7.12.3" - "@babel/parser": "npm:^7.14.7" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-coverage: "npm:^3.2.0" - semver: "npm:^6.3.0" - checksum: 10/bbc4496c2f304d799f8ec22202ab38c010ac265c441947f075c0f7d46bd440b45c00e46017cf9053453d42182d768b1d6ed0e70a142c95ab00df9843aa5ab80e - languageName: node - linkType: hard - -"istanbul-lib-instrument@npm:^6.0.0": - version: 6.0.3 - resolution: "istanbul-lib-instrument@npm:6.0.3" - dependencies: - "@babel/core": "npm:^7.23.9" - "@babel/parser": "npm:^7.23.9" - "@istanbuljs/schema": "npm:^0.1.3" - istanbul-lib-coverage: "npm:^3.2.0" - semver: "npm:^7.5.4" - checksum: 10/aa5271c0008dfa71b6ecc9ba1e801bf77b49dc05524e8c30d58aaf5b9505e0cd12f25f93165464d4266a518c5c75284ecb598fbd89fec081ae77d2c9d3327695 - languageName: node - linkType: hard - -"istanbul-lib-processinfo@npm:^2.0.2": - version: 2.0.3 - resolution: "istanbul-lib-processinfo@npm:2.0.3" - dependencies: - archy: "npm:^1.0.0" - cross-spawn: "npm:^7.0.3" - istanbul-lib-coverage: "npm:^3.2.0" - p-map: "npm:^3.0.0" - rimraf: "npm:^3.0.0" - uuid: "npm:^8.3.2" - checksum: 10/60e7b3441687249460f34a817c7204967b07830a69b6e430e60a45615319c2ab4e2b2eaeb8b3decf549fccd419cd600d21173961632229967608d7d1b194f39e - languageName: node - linkType: hard - -"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": - version: 3.0.1 - resolution: "istanbul-lib-report@npm:3.0.1" - dependencies: - istanbul-lib-coverage: "npm:^3.0.0" - make-dir: "npm:^4.0.0" - supports-color: "npm:^7.1.0" - checksum: 10/86a83421ca1cf2109a9f6d193c06c31ef04a45e72a74579b11060b1e7bb9b6337a4e6f04abfb8857e2d569c271273c65e855ee429376a0d7c91ad91db42accd1 - languageName: node - linkType: hard - -"istanbul-lib-source-maps@npm:^4.0.0": - version: 4.0.1 - resolution: "istanbul-lib-source-maps@npm:4.0.1" - dependencies: - debug: "npm:^4.1.1" - istanbul-lib-coverage: "npm:^3.0.0" - source-map: "npm:^0.6.1" - checksum: 10/5526983462799aced011d776af166e350191b816821ea7bcf71cab3e5272657b062c47dc30697a22a43656e3ced78893a42de677f9ccf276a28c913190953b82 - languageName: node - linkType: hard - -"istanbul-lib-source-maps@npm:^5.0.6": - version: 5.0.6 - resolution: "istanbul-lib-source-maps@npm:5.0.6" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.23" - debug: "npm:^4.1.1" - istanbul-lib-coverage: "npm:^3.0.0" - checksum: 10/569dd0a392ee3464b1fe1accbaef5cc26de3479eacb5b91d8c67ebb7b425d39fd02247d85649c3a0e9c29b600809fa60b5af5a281a75a89c01f385b1e24823a2 - languageName: node - linkType: hard - -"istanbul-reports@npm:^3.0.2, istanbul-reports@npm:^3.1.3, istanbul-reports@npm:^3.1.7": - version: 3.1.7 - resolution: "istanbul-reports@npm:3.1.7" - dependencies: - html-escaper: "npm:^2.0.0" - istanbul-lib-report: "npm:^3.0.0" - checksum: 10/f1faaa4684efaf57d64087776018d7426312a59aa6eeb4e0e3a777347d23cd286ad18f427e98f0e3dee666103d7404c9d7abc5f240406a912fa16bd6695437fa - languageName: node - linkType: hard - -"istanbul-reports@npm:^3.1.7": - version: 3.1.7 - resolution: "istanbul-reports@npm:3.1.7" - dependencies: - html-escaper: "npm:^2.0.0" - istanbul-lib-report: "npm:^3.0.0" - checksum: 10/f1faaa4684efaf57d64087776018d7426312a59aa6eeb4e0e3a777347d23cd286ad18f427e98f0e3dee666103d7404c9d7abc5f240406a912fa16bd6695437fa - languageName: node - linkType: hard - -"jackspeak@npm:^2.3.5": - version: 2.3.6 - resolution: "jackspeak@npm:2.3.6" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10/6e6490d676af8c94a7b5b29b8fd5629f21346911ebe2e32931c2a54210134408171c24cee1a109df2ec19894ad04a429402a8438cbf5cc2794585d35428ace76 - languageName: node - linkType: hard - -"jackspeak@npm:^3.1.2": - version: 3.4.0 - resolution: "jackspeak@npm:3.4.0" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10/5032c43c0c1fb92e72846ce496df559214253bc6870c90399cbd7858571c53169d9494b7c152df04abcb75f2fb5e9cffe65651c67d573380adf3a482b150d84b - languageName: node - linkType: hard - -"jackspeak@npm:^4.0.1": - version: 4.0.1 - resolution: "jackspeak@npm:4.0.1" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10/b20dc0df0dbb2903e4d540ae68308ec7d1dd60944b130e867e218c98b5d77481d65ea734b6c81c812d481500076e8b3fdfccfb38fc81cb1acf165e853da3e26c - languageName: node - linkType: hard - -"jake@npm:^10.8.5": - version: 10.8.5 - resolution: "jake@npm:10.8.5" - dependencies: - async: "npm:^3.2.3" - chalk: "npm:^4.0.2" - filelist: "npm:^1.0.1" - minimatch: "npm:^3.0.4" - bin: - jake: ./bin/cli.js - checksum: 10/6eaf1cd7fe78b92fa52d7258fb0f16f9bef856a18dc6e2f4da8e610264d293210d6e6e09a89d4e4ce1fc83d07c82963bd00bdcbb88e7a09aa62cc4cdf6e3bdf2 - languageName: node - linkType: hard - -"jest-changed-files@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-changed-files@npm:29.7.0" - dependencies: - execa: "npm:^5.0.0" - jest-util: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - checksum: 10/3d93742e56b1a73a145d55b66e96711fbf87ef89b96c2fab7cfdfba8ec06612591a982111ca2b712bb853dbc16831ec8b43585a2a96b83862d6767de59cbf83d - languageName: node - linkType: hard - -"jest-circus@npm:^29.6.4, jest-circus@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-circus@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/expect": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - co: "npm:^4.6.0" - dedent: "npm:^1.0.0" - is-generator-fn: "npm:^2.0.0" - jest-each: "npm:^29.7.0" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - pretty-format: "npm:^29.7.0" - pure-rand: "npm:^6.0.0" - slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.3" - checksum: 10/716a8e3f40572fd0213bcfc1da90274bf30d856e5133af58089a6ce45089b63f4d679bd44e6be9d320e8390483ebc3ae9921981993986d21639d9019b523123d - languageName: node - linkType: hard - -"jest-cli@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-cli@npm:29.7.0" - dependencies: - "@jest/core": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - create-jest: "npm:^29.7.0" - exit: "npm:^0.1.2" - import-local: "npm:^3.0.2" - jest-config: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - yargs: "npm:^17.3.1" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: 10/6cc62b34d002c034203065a31e5e9a19e7c76d9e8ef447a6f70f759c0714cb212c6245f75e270ba458620f9c7b26063cd8cf6cd1f7e3afd659a7cc08add17307 - languageName: node - linkType: hard - -"jest-config@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-config@npm:29.7.0" - dependencies: - "@babel/core": "npm:^7.11.6" - "@jest/test-sequencer": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - babel-jest: "npm:^29.7.0" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - deepmerge: "npm:^4.2.2" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - jest-circus: "npm:^29.7.0" - jest-environment-node: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-runner: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - parse-json: "npm:^5.2.0" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-json-comments: "npm:^3.1.1" - peerDependencies: - "@types/node": "*" - ts-node: ">=9.0.0" - peerDependenciesMeta: - "@types/node": - optional: true - ts-node: - optional: true - checksum: 10/6bdf570e9592e7d7dd5124fc0e21f5fe92bd15033513632431b211797e3ab57eaa312f83cc6481b3094b72324e369e876f163579d60016677c117ec4853cf02b - languageName: node - linkType: hard - -"jest-diff@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-diff@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - diff-sequences: "npm:^29.6.3" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10/6f3a7eb9cd9de5ea9e5aa94aed535631fa6f80221832952839b3cb59dd419b91c20b73887deb0b62230d06d02d6b6cf34ebb810b88d904bb4fe1e2e4f0905c98 - languageName: node - linkType: hard - -"jest-docblock@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-docblock@npm:29.7.0" - dependencies: - detect-newline: "npm:^3.0.0" - checksum: 10/8d48818055bc96c9e4ec2e217a5a375623c0d0bfae8d22c26e011074940c202aa2534a3362294c81d981046885c05d304376afba9f2874143025981148f3e96d - languageName: node - linkType: hard - -"jest-each@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-each@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - jest-get-type: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - pretty-format: "npm:^29.7.0" - checksum: 10/bd1a077654bdaa013b590deb5f7e7ade68f2e3289180a8c8f53bc8a49f3b40740c0ec2d3a3c1aee906f682775be2bebbac37491d80b634d15276b0aa0f2e3fda - languageName: node - linkType: hard - -"jest-environment-node@npm:^29.6.4, jest-environment-node@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-environment-node@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10/9cf7045adf2307cc93aed2f8488942e39388bff47ec1df149a997c6f714bfc66b2056768973770d3f8b1bf47396c19aa564877eb10ec978b952c6018ed1bd637 - languageName: node - linkType: hard - -"jest-get-type@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-get-type@npm:29.6.3" - checksum: 10/88ac9102d4679d768accae29f1e75f592b760b44277df288ad76ce5bf038c3f5ce3719dea8aa0f035dac30e9eb034b848ce716b9183ad7cc222d029f03e92205 + dependencies: + "@types/estree": "npm:*" + checksum: 10/e7b48149f8abda2c10849ea51965904d6a714193d68942ad74e30522231045acf06cbfae5a4be2702fede5d232e61bf50b3183acdc056e6e3afe07fcf4f4b2bc languageName: node linkType: hard -"jest-haste-map@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-haste-map@npm:29.7.0" +"is-reference@npm:^3.0.0": + version: 3.0.1 + resolution: "is-reference@npm:3.0.1" dependencies: - "@jest/types": "npm:^29.6.3" - "@types/graceful-fs": "npm:^4.1.3" - "@types/node": "npm:*" - anymatch: "npm:^3.0.3" - fb-watchman: "npm:^2.0.0" - fsevents: "npm:^2.3.2" - graceful-fs: "npm:^4.2.9" - jest-regex-util: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - walker: "npm:^1.0.8" - dependenciesMeta: - fsevents: - optional: true - checksum: 10/8531b42003581cb18a69a2774e68c456fb5a5c3280b1b9b77475af9e346b6a457250f9d756bfeeae2fe6cbc9ef28434c205edab9390ee970a919baddfa08bb85 + "@types/estree": "npm:*" + checksum: 10/12c316d16191961938057e949c9f59ecac3c00c8101005a81ee351fde0775590238939c294ecac3a371400eb85d4b2556675396ebd4db821b767c145df28623f languageName: node linkType: hard -"jest-junit@npm:^16.0.0": - version: 16.0.0 - resolution: "jest-junit@npm:16.0.0" +"is-subdir@npm:^1.1.1": + version: 1.2.0 + resolution: "is-subdir@npm:1.2.0" dependencies: - mkdirp: "npm:^1.0.4" - strip-ansi: "npm:^6.0.1" - uuid: "npm:^8.3.2" - xml: "npm:^1.0.1" - checksum: 10/2c33ee8bfd0c83b9aa1f8ba5905084890d5f519d294ccc2829d778ac860d5adffffec75d930f44f1d498aa8370c783e0aa6a632d947fb7e81205f0e7b926669d + better-path-resolve: "npm:1.0.0" + checksum: 10/31029a383972bff4cc4f1bd1463fd04dde017e0a04ae3a6f6e08124a90c6c4656312d593101b0f38805fa3f3c8f6bc4583524bbf72c50784fa5ca0d3e5a76279 languageName: node linkType: hard -"jest-leak-detector@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-leak-detector@npm:29.7.0" +"is-typed-array@npm:^1.1.3": + version: 1.1.12 + resolution: "is-typed-array@npm:1.1.12" dependencies: - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10/e3950e3ddd71e1d0c22924c51a300a1c2db6cf69ec1e51f95ccf424bcc070f78664813bef7aed4b16b96dfbdeea53fe358f8aeaaea84346ae15c3735758f1605 + which-typed-array: "npm:^1.1.11" + checksum: 10/d953adfd3c41618d5e01b2a10f21817e4cdc9572772fa17211100aebb3811b6e3c2e308a0558cc87d218a30504cb90154b833013437776551bfb70606fb088ca languageName: node linkType: hard -"jest-matcher-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-matcher-utils@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - jest-diff: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10/981904a494299cf1e3baed352f8a3bd8b50a8c13a662c509b6a53c31461f94ea3bfeffa9d5efcfeb248e384e318c87de7e3baa6af0f79674e987482aa189af40 +"is-what@npm:^3.14.1": + version: 3.14.1 + resolution: "is-what@npm:3.14.1" + checksum: 10/249beb4a8c1729c80ed24fa8527835301c8c70d2fa99706a301224576e0650df61edd7a0a8853999bf5fbe2c551f07148d2c3535260772e05a4c373d3d5362e1 languageName: node linkType: hard -"jest-message-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-message-util@npm:29.7.0" - dependencies: - "@babel/code-frame": "npm:^7.12.13" - "@jest/types": "npm:^29.6.3" - "@types/stack-utils": "npm:^2.0.0" - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - micromatch: "npm:^4.0.4" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.3" - checksum: 10/31d53c6ed22095d86bab9d14c0fa70c4a92c749ea6ceece82cf30c22c9c0e26407acdfbdb0231435dc85a98d6d65ca0d9cbcd25cd1abb377fe945e843fb770b9 +"is-windows@npm:^1.0.0": + version: 1.0.2 + resolution: "is-windows@npm:1.0.2" + checksum: 10/438b7e52656fe3b9b293b180defb4e448088e7023a523ec21a91a80b9ff8cdb3377ddb5b6e60f7c7de4fa8b63ab56e121b6705fe081b3cf1b828b0a380009ad7 languageName: node linkType: hard -"jest-mock@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-mock@npm:29.7.0" +"is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-util: "npm:^29.7.0" - checksum: 10/ae51d1b4f898724be5e0e52b2268a68fcd876d9b20633c864a6dd6b1994cbc48d62402b0f40f3a1b669b30ebd648821f086c26c08ffde192ced951ff4670d51c + is-docker: "npm:^2.0.0" + checksum: 10/20849846ae414997d290b75e16868e5261e86ff5047f104027026fd61d8b5a9b0b3ade16239f35e1a067b3c7cc02f70183cb661010ed16f4b6c7c93dad1b19d8 languageName: node linkType: hard -"jest-playwright-preset@npm:^4.0.0": - version: 4.0.0 - resolution: "jest-playwright-preset@npm:4.0.0" - dependencies: - expect-playwright: "npm:^0.8.0" - jest-process-manager: "npm:^0.4.0" - nyc: "npm:^15.1.0" - playwright-core: "npm:>=1.2.0" - rimraf: "npm:^3.0.2" - uuid: "npm:^8.3.2" - peerDependencies: - jest: ^29.3.1 - jest-circus: ^29.3.1 - jest-environment-node: ^29.3.1 - jest-runner: ^29.3.1 - checksum: 10/ad8b92b4eac452042d71666f6fa7ce56abd590ec12732ec7c08926ff48351f72ea07a3babb4843db9e2e5e0c3a01f0d22da6acb1eaadf9a43c84c368ba188127 +"isarray@npm:0.0.1": + version: 0.0.1 + resolution: "isarray@npm:0.0.1" + checksum: 10/49191f1425681df4a18c2f0f93db3adb85573bcdd6a4482539d98eac9e705d8961317b01175627e860516a2fc45f8f9302db26e5a380a97a520e272e2a40a8d4 languageName: node linkType: hard -"jest-pnp-resolver@npm:^1.2.2": - version: 1.2.3 - resolution: "jest-pnp-resolver@npm:1.2.3" - peerDependencies: - jest-resolve: "*" - peerDependenciesMeta: - jest-resolve: - optional: true - checksum: 10/db1a8ab2cb97ca19c01b1cfa9a9c8c69a143fde833c14df1fab0766f411b1148ff0df878adea09007ac6a2085ec116ba9a996a6ad104b1e58c20adbf88eed9b2 +"isarray@npm:^2.0.5": + version: 2.0.5 + resolution: "isarray@npm:2.0.5" + checksum: 10/1d8bc7911e13bb9f105b1b3e0b396c787a9e63046af0b8fe0ab1414488ab06b2b099b87a2d8a9e31d21c9a6fad773c7fc8b257c4880f2d957274479d28ca3414 languageName: node linkType: hard -"jest-process-manager@npm:^0.4.0": - version: 0.4.0 - resolution: "jest-process-manager@npm:0.4.0" - dependencies: - "@types/wait-on": "npm:^5.2.0" - chalk: "npm:^4.1.0" - cwd: "npm:^0.10.0" - exit: "npm:^0.1.2" - find-process: "npm:^1.4.4" - prompts: "npm:^2.4.1" - signal-exit: "npm:^3.0.3" - spawnd: "npm:^5.0.0" - tree-kill: "npm:^1.2.2" - wait-on: "npm:^7.0.0" - checksum: 10/5d69465a497d1ba0afe7a8241c4819a6f88dfbc22355b89d8ca0a6a39fbe8c4f57dbfff5697f1875f05b117276261e2eb8cc3bbf3395e911646199dae46cdb31 +"isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: 10/f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab languageName: node linkType: hard -"jest-regex-util@npm:^29.0.0, jest-regex-util@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-regex-util@npm:29.6.3" - checksum: 10/0518beeb9bf1228261695e54f0feaad3606df26a19764bc19541e0fc6e2a3737191904607fb72f3f2ce85d9c16b28df79b7b1ec9443aa08c3ef0e9efda6f8f2a +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10/7c9f715c03aff08f35e98b1fadae1b9267b38f0615d501824f9743f3aab99ef10e303ce7db3f186763a0b70a19de5791ebfc854ff884d5a8c4d92211f642ec92 languageName: node linkType: hard -"jest-resolve-dependencies@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-resolve-dependencies@npm:29.7.0" - dependencies: - jest-regex-util: "npm:^29.6.3" - jest-snapshot: "npm:^29.7.0" - checksum: 10/1e206f94a660d81e977bcfb1baae6450cb4a81c92e06fad376cc5ea16b8e8c6ea78c383f39e95591a9eb7f925b6a1021086c38941aa7c1b8a6a813c2f6e93675 +"isobject@npm:^3.0.1": + version: 3.0.1 + resolution: "isobject@npm:3.0.1" + checksum: 10/db85c4c970ce30693676487cca0e61da2ca34e8d4967c2e1309143ff910c207133a969f9e4ddb2dc6aba670aabce4e0e307146c310350b298e74a31f7d464703 languageName: node linkType: hard -"jest-resolve@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-resolve@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-pnp-resolver: "npm:^1.2.2" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - resolve: "npm:^1.20.0" - resolve.exports: "npm:^2.0.0" - slash: "npm:^3.0.0" - checksum: 10/faa466fd9bc69ea6c37a545a7c6e808e073c66f46ab7d3d8a6ef084f8708f201b85d5fe1799789578b8b47fa1de47b9ee47b414d1863bc117a49e032ba77b7c7 +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.2": + version: 3.2.2 + resolution: "istanbul-lib-coverage@npm:3.2.2" + checksum: 10/40bbdd1e937dfd8c830fa286d0f665e81b7a78bdabcd4565f6d5667c99828bda3db7fb7ac6b96a3e2e8a2461ddbc5452d9f8bc7d00cb00075fa6a3e99f5b6a81 languageName: node linkType: hard -"jest-runner@npm:^29.6.4, jest-runner@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-runner@npm:29.7.0" +"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": + version: 3.0.1 + resolution: "istanbul-lib-report@npm:3.0.1" dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/environment": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - emittery: "npm:^0.13.1" - graceful-fs: "npm:^4.2.9" - jest-docblock: "npm:^29.7.0" - jest-environment-node: "npm:^29.7.0" - jest-haste-map: "npm:^29.7.0" - jest-leak-detector: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-resolve: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-watcher: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - source-map-support: "npm:0.5.13" - checksum: 10/9d8748a494bd90f5c82acea99be9e99f21358263ce6feae44d3f1b0cd90991b5df5d18d607e73c07be95861ee86d1cbab2a3fc6ca4b21805f07ac29d47c1da1e - languageName: node - linkType: hard - -"jest-runtime@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-runtime@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/globals": "npm:^29.7.0" - "@jest/source-map": "npm:^29.6.3" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - cjs-module-lexer: "npm:^1.0.0" - collect-v8-coverage: "npm:^1.0.0" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-bom: "npm:^4.0.0" - checksum: 10/59eb58eb7e150e0834a2d0c0d94f2a0b963ae7182cfa6c63f2b49b9c6ef794e5193ef1634e01db41420c36a94cefc512cdd67a055cd3e6fa2f41eaf0f82f5a20 + istanbul-lib-coverage: "npm:^3.0.0" + make-dir: "npm:^4.0.0" + supports-color: "npm:^7.1.0" + checksum: 10/86a83421ca1cf2109a9f6d193c06c31ef04a45e72a74579b11060b1e7bb9b6337a4e6f04abfb8857e2d569c271273c65e855ee429376a0d7c91ad91db42accd1 languageName: node linkType: hard -"jest-serializer-html@npm:^7.1.0": - version: 7.1.0 - resolution: "jest-serializer-html@npm:7.1.0" - dependencies: - diffable-html: "npm:^4.1.0" - checksum: 10/64f9139a3ffb2971c8d03d41c543cb03633532dfa0d6a7d6017646556965a8549f7886452d942124181b24e2fecb9131a49c56f3a3ab1047bac86cbe24419894 - languageName: node - linkType: hard - -"jest-snapshot@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-snapshot@npm:29.7.0" - dependencies: - "@babel/core": "npm:^7.11.6" - "@babel/generator": "npm:^7.7.2" - "@babel/plugin-syntax-jsx": "npm:^7.7.2" - "@babel/plugin-syntax-typescript": "npm:^7.7.2" - "@babel/types": "npm:^7.3.3" - "@jest/expect-utils": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - babel-preset-current-node-syntax: "npm:^1.0.0" - chalk: "npm:^4.0.0" - expect: "npm:^29.7.0" - graceful-fs: "npm:^4.2.9" - jest-diff: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - natural-compare: "npm:^1.4.0" - pretty-format: "npm:^29.7.0" - semver: "npm:^7.5.3" - checksum: 10/cb19a3948256de5f922d52f251821f99657339969bf86843bd26cf3332eae94883e8260e3d2fba46129a27c3971c1aa522490e460e16c7fad516e82d10bbf9f8 +"istanbul-lib-source-maps@npm:^5.0.6": + version: 5.0.6 + resolution: "istanbul-lib-source-maps@npm:5.0.6" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.23" + debug: "npm:^4.1.1" + istanbul-lib-coverage: "npm:^3.0.0" + checksum: 10/569dd0a392ee3464b1fe1accbaef5cc26de3479eacb5b91d8c67ebb7b425d39fd02247d85649c3a0e9c29b600809fa60b5af5a281a75a89c01f385b1e24823a2 languageName: node linkType: hard -"jest-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-util@npm:29.7.0" +"istanbul-reports@npm:^3.1.7": + version: 3.1.7 + resolution: "istanbul-reports@npm:3.1.7" dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - graceful-fs: "npm:^4.2.9" - picomatch: "npm:^2.2.3" - checksum: 10/30d58af6967e7d42bd903ccc098f3b4d3859ed46238fbc88d4add6a3f10bea00c226b93660285f058bc7a65f6f9529cf4eb80f8d4707f79f9e3a23686b4ab8f3 + html-escaper: "npm:^2.0.0" + istanbul-lib-report: "npm:^3.0.0" + checksum: 10/f1faaa4684efaf57d64087776018d7426312a59aa6eeb4e0e3a777347d23cd286ad18f427e98f0e3dee666103d7404c9d7abc5f240406a912fa16bd6695437fa languageName: node linkType: hard -"jest-validate@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-validate@npm:29.7.0" +"jackspeak@npm:^3.1.2": + version: 3.4.0 + resolution: "jackspeak@npm:3.4.0" dependencies: - "@jest/types": "npm:^29.6.3" - camelcase: "npm:^6.2.0" - chalk: "npm:^4.0.0" - jest-get-type: "npm:^29.6.3" - leven: "npm:^3.1.0" - pretty-format: "npm:^29.7.0" - checksum: 10/8ee1163666d8eaa16d90a989edba2b4a3c8ab0ffaa95ad91b08ca42b015bfb70e164b247a5b17f9de32d096987cada63ed8491ab82761bfb9a28bc34b27ae161 + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10/5032c43c0c1fb92e72846ce496df559214253bc6870c90399cbd7858571c53169d9494b7c152df04abcb75f2fb5e9cffe65651c67d573380adf3a482b150d84b languageName: node linkType: hard -"jest-watch-typeahead@npm:^2.0.0": - version: 2.2.2 - resolution: "jest-watch-typeahead@npm:2.2.2" +"jackspeak@npm:^4.0.1": + version: 4.0.1 + resolution: "jackspeak@npm:4.0.1" dependencies: - ansi-escapes: "npm:^6.0.0" - chalk: "npm:^5.2.0" - jest-regex-util: "npm:^29.0.0" - jest-watcher: "npm:^29.0.0" - slash: "npm:^5.0.0" - string-length: "npm:^5.0.1" - strip-ansi: "npm:^7.0.1" - peerDependencies: - jest: ^27.0.0 || ^28.0.0 || ^29.0.0 - checksum: 10/8685277ce1b96ec775882111ec55ce90a862cc57acb21ce94f8ac44a25f6fb34c7a7ce119e07b2d8ff5353a8d9e4f981cf96fa35532f71ddba6ca8fedc05bd8e + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10/b20dc0df0dbb2903e4d540ae68308ec7d1dd60944b130e867e218c98b5d77481d65ea734b6c81c812d481500076e8b3fdfccfb38fc81cb1acf165e853da3e26c languageName: node linkType: hard -"jest-watcher@npm:^29.0.0, jest-watcher@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-watcher@npm:29.7.0" +"jake@npm:^10.8.5": + version: 10.8.5 + resolution: "jake@npm:10.8.5" dependencies: - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.0.0" - emittery: "npm:^0.13.1" - jest-util: "npm:^29.7.0" - string-length: "npm:^4.0.1" - checksum: 10/4f616e0345676631a7034b1d94971aaa719f0cd4a6041be2aa299be437ea047afd4fe05c48873b7963f5687a2f6c7cbf51244be8b14e313b97bfe32b1e127e55 + async: "npm:^3.2.3" + chalk: "npm:^4.0.2" + filelist: "npm:^1.0.1" + minimatch: "npm:^3.0.4" + bin: + jake: ./bin/cli.js + checksum: 10/6eaf1cd7fe78b92fa52d7258fb0f16f9bef856a18dc6e2f4da8e610264d293210d6e6e09a89d4e4ce1fc83d07c82963bd00bdcbb88e7a09aa62cc4cdf6e3bdf2 languageName: node linkType: hard @@ -15385,50 +8971,6 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-worker@npm:29.7.0" - dependencies: - "@types/node": "npm:*" - jest-util: "npm:^29.7.0" - merge-stream: "npm:^2.0.0" - supports-color: "npm:^8.0.0" - checksum: 10/364cbaef00d8a2729fc760227ad34b5e60829e0869bd84976bdfbd8c0d0f9c2f22677b3e6dd8afa76ed174765351cd12bae3d4530c62eefb3791055127ca9745 - languageName: node - linkType: hard - -"jest@npm:^29.6.4": - version: 29.7.0 - resolution: "jest@npm:29.7.0" - dependencies: - "@jest/core": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - import-local: "npm:^3.0.2" - jest-cli: "npm:^29.7.0" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: 10/97023d78446098c586faaa467fbf2c6b07ff06e2c85a19e3926adb5b0effe9ac60c4913ae03e2719f9c01ae8ffd8d92f6b262cedb9555ceeb5d19263d8c6362a - languageName: node - linkType: hard - -"joi@npm:^17.11.0, joi@npm:^17.13.3": - version: 17.13.3 - resolution: "joi@npm:17.13.3" - dependencies: - "@hapi/hoek": "npm:^9.3.0" - "@hapi/topo": "npm:^5.1.0" - "@sideway/address": "npm:^4.1.5" - "@sideway/formula": "npm:^3.0.1" - "@sideway/pinpoint": "npm:^2.0.0" - checksum: 10/4c150db0c820c3a52f4a55c82c1fc5e144a5b5f4da9ffebc7339a15469d1a447ebb427ced446efcb9709ab56bd71a06c4c67c9381bc1b9f9ae63fc7c89209bdf - languageName: node - linkType: hard - "joycon@npm:^3.1.1": version: 3.1.1 resolution: "joycon@npm:3.1.1" @@ -15443,18 +8985,6 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.13.0, js-yaml@npm:^3.13.1, js-yaml@npm:^3.6.1": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" - dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" - bin: - js-yaml: bin/js-yaml.js - checksum: 10/9e22d80b4d0105b9899135365f746d47466ed53ef4223c529b3c0f7a39907743fdbd3c4379f94f1106f02755b5e90b2faaf84801a891135544e1ea475d1a1379 - languageName: node - linkType: hard - "js-yaml@npm:^3.13.1, js-yaml@npm:^3.6.1": version: 3.14.1 resolution: "js-yaml@npm:3.14.1" @@ -15478,40 +9008,6 @@ __metadata: languageName: node linkType: hard -"jscodeshift@npm:^0.16.1": - version: 0.16.1 - resolution: "jscodeshift@npm:0.16.1" - dependencies: - "@babel/core": "npm:^7.24.7" - "@babel/parser": "npm:^7.24.7" - "@babel/plugin-transform-class-properties": "npm:^7.24.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.24.7" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.7" - "@babel/plugin-transform-optional-chaining": "npm:^7.24.7" - "@babel/plugin-transform-private-methods": "npm:^7.24.7" - "@babel/preset-flow": "npm:^7.24.7" - "@babel/preset-typescript": "npm:^7.24.7" - "@babel/register": "npm:^7.24.6" - chalk: "npm:^4.1.2" - flow-parser: "npm:0.*" - graceful-fs: "npm:^4.2.4" - micromatch: "npm:^4.0.7" - neo-async: "npm:^2.5.0" - node-dir: "npm:^0.1.17" - recast: "npm:^0.23.9" - temp: "npm:^0.9.4" - write-file-atomic: "npm:^5.0.1" - peerDependencies: - "@babel/preset-env": ^7.1.6 - peerDependenciesMeta: - "@babel/preset-env": - optional: true - bin: - jscodeshift: bin/jscodeshift.js - checksum: 10/654c9092dc9752f40e6640443e72106624883b0c45db3daebc78e1241e17d969d984f76be36fc481994da4c1111ff61271c8259f48e32c44d468901b173c95aa - languageName: node - linkType: hard - "jscodeshift@npm:^17.1.2": version: 17.1.2 resolution: "jscodeshift@npm:17.1.2" @@ -15646,13 +9142,6 @@ __metadata: languageName: node linkType: hard -"jsonc-parser@npm:^3.2.0": - version: 3.3.1 - resolution: "jsonc-parser@npm:3.3.1" - checksum: 10/9b0dc391f20b47378f843ef1e877e73ec652a5bdc3c5fa1f36af0f119a55091d147a86c1ee86a232296f55c929bba174538c2bf0312610e0817a22de131cc3f4 - languageName: node - linkType: hard - "jsonfile@npm:^4.0.0": version: 4.0.0 resolution: "jsonfile@npm:4.0.0" @@ -15678,19 +9167,6 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^6.0.1, jsonfile@npm:^6.1.0": - version: 6.1.0 - resolution: "jsonfile@npm:6.1.0" - dependencies: - graceful-fs: "npm:^4.1.6" - universalify: "npm:^2.0.0" - dependenciesMeta: - graceful-fs: - optional: true - checksum: 10/03014769e7dc77d4cf05fa0b534907270b60890085dd5e4d60a382ff09328580651da0b8b4cdf44d91e4c8ae64d91791d965f05707beff000ed494a38b6fec85 - languageName: node - linkType: hard - "jsonify@npm:^0.0.1": version: 0.0.1 resolution: "jsonify@npm:0.0.1" @@ -15768,13 +9244,6 @@ __metadata: languageName: node linkType: hard -"leven@npm:^3.1.0": - version: 3.1.0 - resolution: "leven@npm:3.1.0" - checksum: 10/638401d534585261b6003db9d99afd244dfe82d75ddb6db5c0df412842d5ab30b2ef18de471aaec70fe69a46f17b4ae3c7f01d8a4e6580ef7adb9f4273ad1e55 - languageName: node - linkType: hard - "lilconfig@npm:^2.0.5": version: 2.1.0 resolution: "lilconfig@npm:2.1.0" @@ -15782,13 +9251,6 @@ __metadata: languageName: node linkType: hard -"lilconfig@npm:^3.0.0": - version: 3.0.0 - resolution: "lilconfig@npm:3.0.0" - checksum: 10/55f60f4f9f7b41358cc33875e3696919412683a35aec30c6c60c4f6ecb16fb6d11f7ac856b8458b9b82b21d5f4629649fbfca1de034e8d5b0cc7a70836266db6 - languageName: node - linkType: hard - "lilconfig@npm:^3.0.0, lilconfig@npm:^3.1.1, lilconfig@npm:^3.1.2": version: 3.1.2 resolution: "lilconfig@npm:3.1.2" @@ -15796,13 +9258,6 @@ __metadata: languageName: node linkType: hard -"lilconfig@npm:^3.1.1, lilconfig@npm:^3.1.2": - version: 3.1.2 - resolution: "lilconfig@npm:3.1.2" - checksum: 10/8058403850cfad76d6041b23db23f730e52b6c17a8c28d87b90766639ca0ee40c748a3e85c2d7bd133d572efabff166c4b015e5d25e01fd666cb4b13cfada7f0 - languageName: node - linkType: hard - "lines-and-columns@npm:^1.1.6": version: 1.2.4 resolution: "lines-and-columns@npm:1.2.4" @@ -15817,18 +9272,6 @@ __metadata: languageName: node linkType: hard -"load-yaml-file@npm:^0.2.0": - version: 0.2.0 - resolution: "load-yaml-file@npm:0.2.0" - dependencies: - graceful-fs: "npm:^4.1.5" - js-yaml: "npm:^3.13.0" - pify: "npm:^4.0.1" - strip-bom: "npm:^3.0.0" - checksum: 10/b1bfa7e80114933e43ccc1cf3772582b7e13c8a71dc8d560de2aeecdabf545014daf8a5afabe634c1e9f71c75f6f8528bbd944c9cbbbdf2ab8c927118bd48fd2 - languageName: node - linkType: hard - "loader-runner@npm:^4.2.0": version: 4.3.0 resolution: "loader-runner@npm:4.3.0" @@ -15864,13 +9307,6 @@ __metadata: languageName: node linkType: hard -"lodash-es@npm:^4.17.15": - version: 4.17.21 - resolution: "lodash-es@npm:4.17.21" - checksum: 10/03f39878ea1e42b3199bd3f478150ab723f93cc8730ad86fec1f2804f4a07c6e30deaac73cad53a88e9c3db33348bb8ceeb274552390e7a75d7849021c02df43 - languageName: node - linkType: hard - "lodash-es@npm:^4.17.21": version: 4.17.21 resolution: "lodash-es@npm:4.17.21" @@ -15885,13 +9321,6 @@ __metadata: languageName: node linkType: hard -"lodash.flattendeep@npm:^4.4.0": - version: 4.4.0 - resolution: "lodash.flattendeep@npm:4.4.0" - checksum: 10/0d0b41d8d86999e8bea94905ac65347404d427aacddbc6654dc2f85905e27cd2b708139671ecea135fa6f0a17ed94b9d4cab8ce12b08eddcbb1ddd83952ee4c2 - languageName: node - linkType: hard - "lodash.memoize@npm:^4.1.2": version: 4.1.2 resolution: "lodash.memoize@npm:4.1.2" @@ -15920,13 +9349,6 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.0.1, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.21": - version: 4.17.21 - resolution: "lodash@npm:4.17.21" - checksum: 10/c08619c038846ea6ac754abd6dd29d2568aa705feb69339e836dfa8d8b09abbb2f859371e86863eda41848221f9af43714491467b5b0299122431e202bb0c532 - languageName: node - linkType: hard - "lodash@npm:^4.17.21": version: 4.17.21 resolution: "lodash@npm:4.17.21" @@ -15952,15 +9374,6 @@ __metadata: languageName: node linkType: hard -"loupe@npm:^3.1.0, loupe@npm:^3.1.1": - version: 3.1.1 - resolution: "loupe@npm:3.1.1" - dependencies: - get-func-name: "npm:^2.0.1" - checksum: 10/56d71d64c5af109aaf2b5343668ea5952eed468ed2ff837373810e417bf8331f14491c6e4d38e08ff84a29cb18906e06e58ba660c53bd00f2989e1873fa2f54c - languageName: node - linkType: hard - "loupe@npm:^3.1.0, loupe@npm:^3.1.1, loupe@npm:^3.1.2": version: 3.1.2 resolution: "loupe@npm:3.1.2" @@ -16006,29 +9419,12 @@ __metadata: linkType: hard "lru-cache@npm:^11.0.0": - version: 11.0.0 - resolution: "lru-cache@npm:11.0.0" - checksum: 10/41f36fbff8b6f199cce3e9cb2b625714f97a535dfd7f16d0988c2627f9ed4c38b6dc8f9ea7fdba19262a7c917ba41c89cad15ca3e3791fc9a2068af472b5bc8d - languageName: node - linkType: hard - -"lru-cache@npm:^11.0.0, lru-cache@npm:^11.0.2": version: 11.0.2 resolution: "lru-cache@npm:11.0.2" checksum: 10/25fcb66e9d91eaf17227c6abfe526a7bed5903de74f93bfde380eb8a13410c5e8d3f14fe447293f3f322a7493adf6f9f015c6f1df7a235ff24ec30f366e1c058 languageName: node linkType: hard -"lru-cache@npm:^4.0.1": - version: 4.1.5 - resolution: "lru-cache@npm:4.1.5" - dependencies: - pseudomap: "npm:^1.0.2" - yallist: "npm:^2.1.2" - checksum: 10/9ec7d73f11a32cba0e80b7a58fdf29970814c0c795acaee1a6451ddfd609bae6ef9df0837f5bbeabb571ecd49c1e2d79e10e9b4ed422cfba17a0cb6145b018a9 - languageName: node - linkType: hard - "lru-cache@npm:^5.1.1": version: 5.1.1 resolution: "lru-cache@npm:5.1.1" @@ -16038,15 +9434,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^6.0.0": - version: 6.0.0 - resolution: "lru-cache@npm:6.0.0" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10/fc1fe2ee205f7c8855fa0f34c1ab0bcf14b6229e35579ec1fd1079f31d6fc8ef8eb6fd17f2f4d99788d7e339f50e047555551ebd5e434dda503696e7c6591825 - languageName: node - linkType: hard - "lru-cache@npm:^7.7.1": version: 7.14.1 resolution: "lru-cache@npm:7.14.1" @@ -16054,13 +9441,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^9.1.1 || ^10.0.0": - version: 10.0.1 - resolution: "lru-cache@npm:10.0.1" - checksum: 10/5bb91a97a342a41fd049c3494b44d9e21a7d4843f9284d0a0b26f00bb0e436f1f627d0641c78f88be16b86b4231546c5ee4f284733fb530c7960f0bcd7579026 - languageName: node - linkType: hard - "lz-string@npm:^1.5.0": version: 1.5.0 resolution: "lz-string@npm:1.5.0" @@ -16079,16 +9459,7 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.0": - version: 0.30.8 - resolution: "magic-string@npm:0.30.8" - dependencies: - "@jridgewell/sourcemap-codec": "npm:^1.4.15" - checksum: 10/72ab63817af600e92c19dc8489c1aa4a9599da00cfd59b2319709bd48fb0cf533fdf354bf140ac86e598dbd63e6b2cc83647fe8448f864a3eb6061c62c94e784 - languageName: node - linkType: hard - -"magic-string@npm:^0.30.0, magic-string@npm:^0.30.12, magic-string@npm:^0.30.17, magic-string@npm:^0.30.3": +"magic-string@npm:^0.30.0, magic-string@npm:^0.30.12, magic-string@npm:^0.30.17": version: 0.30.17 resolution: "magic-string@npm:0.30.17" dependencies: @@ -16097,15 +9468,6 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.10": - version: 0.30.10 - resolution: "magic-string@npm:0.30.10" - dependencies: - "@jridgewell/sourcemap-codec": "npm:^1.4.15" - checksum: 10/9f8bf6363a14c98a9d9f32ef833b194702a5c98fb931b05ac511b76f0b06fd30ed92beda6ca3261d2d52d21e39e891ef1136fbd032023f6cbb02d0b7d5767201 - languageName: node - linkType: hard - "magic-string@npm:^0.30.3": version: 0.30.5 resolution: "magic-string@npm:0.30.5" @@ -16115,17 +9477,6 @@ __metadata: languageName: node linkType: hard -"magicast@npm:^0.3.4": - version: 0.3.4 - resolution: "magicast@npm:0.3.4" - dependencies: - "@babel/parser": "npm:^7.24.4" - "@babel/types": "npm:^7.24.0" - source-map-js: "npm:^1.2.0" - checksum: 10/704f86639b01c8e063155408cb181d89d4444db3a4a473fb501107f30f19d9c39a159dd315ef9e54a22291c090170044efd9b49a9b3ab8d6deb948a9c99d90b3 - languageName: node - linkType: hard - "magicast@npm:^0.3.5": version: 0.3.5 resolution: "magicast@npm:0.3.5" @@ -16147,15 +9498,6 @@ __metadata: languageName: node linkType: hard -"make-dir@npm:^3.0.0, make-dir@npm:^3.0.2, make-dir@npm:^3.1.0": - version: 3.1.0 - resolution: "make-dir@npm:3.1.0" - dependencies: - semver: "npm:^6.0.0" - checksum: 10/484200020ab5a1fdf12f393fe5f385fc8e4378824c940fba1729dcd198ae4ff24867bc7a5646331e50cead8abff5d9270c456314386e629acec6dff4b8016b78 - languageName: node - linkType: hard - "make-dir@npm:^3.1.0": version: 3.1.0 resolution: "make-dir@npm:3.1.0" @@ -16198,15 +9540,6 @@ __metadata: languageName: node linkType: hard -"makeerror@npm:1.0.12": - version: 1.0.12 - resolution: "makeerror@npm:1.0.12" - dependencies: - tmpl: "npm:1.0.5" - checksum: 10/4c66ddfc654537333da952c084f507fa4c30c707b1635344eb35be894d797ba44c901a9cebe914aa29a7f61357543ba09b09dddbd7f65b4aee756b450f169f40 - languageName: node - linkType: hard - "map-or-similar@npm:^1.5.0": version: 1.5.0 resolution: "map-or-similar@npm:1.5.0" @@ -16228,22 +9561,6 @@ __metadata: languageName: node linkType: hard -"markdown-to-jsx@npm:^7.4.5": - version: 7.4.7 - resolution: "markdown-to-jsx@npm:7.4.7" - peerDependencies: - react: ">= 0.14.0" - checksum: 10/d421f561a57256164564f4b4ac1c3439493f7b88d46ca8d1ed429e481a199a8756591e180d401654c0826ccabe9e76ce4fb97286a0b3c43a7a6346c735778b2b - languageName: node - linkType: hard - -"material-colors@npm:^1.2.1": - version: 1.2.6 - resolution: "material-colors@npm:1.2.6" - checksum: 10/7ad6df7ee7de15d8b8f95191c2310db6b99934ce01b592b38d7c6e2ce119fc6d37699356fb148dd3e6ba63a5ec68cc16d466b972d96fc5364ab85238a3fe2429 - languageName: node - linkType: hard - "mdast-util-find-and-replace@npm:^3.0.0": version: 3.0.1 resolution: "mdast-util-find-and-replace@npm:3.0.1" @@ -16481,13 +9798,6 @@ __metadata: languageName: node linkType: hard -"media-typer@npm:0.3.0": - version: 0.3.0 - resolution: "media-typer@npm:0.3.0" - checksum: 10/38e0984db39139604756903a01397e29e17dcb04207bb3e081412ce725ab17338ecc47220c1b186b6bbe79a658aad1b0d41142884f5a481f36290cdefbe6aa46 - languageName: node - linkType: hard - "memfs@npm:^4.9.3": version: 4.11.1 resolution: "memfs@npm:4.11.1" @@ -16516,13 +9826,6 @@ __metadata: languageName: node linkType: hard -"merge-descriptors@npm:1.0.3": - version: 1.0.3 - resolution: "merge-descriptors@npm:1.0.3" - checksum: 10/52117adbe0313d5defa771c9993fe081e2d2df9b840597e966aadafde04ae8d0e3da46bac7ca4efc37d4d2b839436582659cd49c6a43eacb3fe3050896a105d1 - languageName: node - linkType: hard - "merge-stream@npm:^2.0.0": version: 2.0.0 resolution: "merge-stream@npm:2.0.0" @@ -16537,13 +9840,6 @@ __metadata: languageName: node linkType: hard -"methods@npm:~1.1.2": - version: 1.1.2 - resolution: "methods@npm:1.1.2" - checksum: 10/a385dd974faa34b5dd021b2bbf78c722881bf6f003bfe6d391d7da3ea1ed625d1ff10ddd13c57531f628b3e785be38d3eed10ad03cebd90b76932413df9a1820 - languageName: node - linkType: hard - "micromark-core-commonmark@npm:^2.0.0": version: 2.0.0 resolution: "micromark-core-commonmark@npm:2.0.0" @@ -16981,16 +10277,6 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.2, micromatch@npm:^4.0.7": - version: 4.0.7 - resolution: "micromatch@npm:4.0.7" - dependencies: - braces: "npm:^3.0.3" - picomatch: "npm:^2.3.1" - checksum: 10/a11ed1cb67dcbbe9a5fc02c4062cf8bb0157d73bf86956003af8dcfdf9b287f9e15ec0f6d6925ff6b8b5b496202335e497b01de4d95ef6cf06411bc5e5c474a0 - languageName: node - linkType: hard - "micromatch@npm:^4.0.2, micromatch@npm:^4.0.7, micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" @@ -17001,16 +10287,6 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.4": - version: 4.0.5 - resolution: "micromatch@npm:4.0.5" - dependencies: - braces: "npm:^3.0.2" - picomatch: "npm:^2.3.1" - checksum: 10/a749888789fc15cac0e03273844dbd749f9f8e8d64e70c564bcf06a033129554c789bb9e30d7566d7ff6596611a08e58ac12cf2a05f6e3c9c47c50c4c7e12fa2 - languageName: node - linkType: hard - "mime-db@npm:1.52.0": version: 1.52.0 resolution: "mime-db@npm:1.52.0" @@ -17027,24 +10303,6 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:^2.1.35, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": - version: 2.1.35 - resolution: "mime-types@npm:2.1.35" - dependencies: - mime-db: "npm:1.52.0" - checksum: 10/89aa9651b67644035de2784a6e665fc685d79aba61857e02b9c8758da874a754aed4a9aced9265f5ed1171fd934331e5516b84a7f0218031b6fa0270eca1e51a - languageName: node - linkType: hard - -"mime@npm:1.6.0, mime@npm:^1.4.1, mime@npm:^1.6.0": - version: 1.6.0 - resolution: "mime@npm:1.6.0" - bin: - mime: cli.js - checksum: 10/b7d98bb1e006c0e63e2c91b590fe1163b872abf8f7ef224d53dd31499c2197278a6d3d0864c45239b1a93d22feaf6f9477e9fc847eef945838150b8c02d03170 - languageName: node - linkType: hard - "mime@npm:^1.4.1": version: 1.6.0 resolution: "mime@npm:1.6.0" @@ -17054,20 +10312,6 @@ __metadata: languageName: node linkType: hard -"mimic-fn@npm:^2.1.0": - version: 2.1.0 - resolution: "mimic-fn@npm:2.1.0" - checksum: 10/d2421a3444848ce7f84bd49115ddacff29c15745db73f54041edc906c14b131a38d05298dae3081667627a59b2eb1ca4b436ff2e1b80f69679522410418b478a - languageName: node - linkType: hard - -"mimic-fn@npm:^4.0.0": - version: 4.0.0 - resolution: "mimic-fn@npm:4.0.0" - checksum: 10/995dcece15ee29aa16e188de6633d43a3db4611bcf93620e7e62109ec41c79c0f34277165b8ce5e361205049766e371851264c21ac64ca35499acb5421c2ba56 - languageName: node - linkType: hard - "min-indent@npm:^1.0.0, min-indent@npm:^1.0.1": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -17084,15 +10328,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.2, minimatch@npm:^3.0.3, minimatch@npm:^3.0.4, minimatch@npm:^3.1.1": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 10/e0b25b04cd4ec6732830344e5739b13f8690f8a012d73445a4a19fbc623f5dd481ef7a5827fde25954cd6026fede7574cc54dc4643c99d6c6b653d6203f94634 - languageName: node - linkType: hard - "minimatch@npm:^3.0.3, minimatch@npm:^3.0.4, minimatch@npm:^3.1.1": version: 3.1.2 resolution: "minimatch@npm:3.1.2" @@ -17111,15 +10346,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.0, minimatch@npm:^9.0.1": - version: 9.0.3 - resolution: "minimatch@npm:9.0.3" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10/c81b47d28153e77521877649f4bab48348d10938df9e8147a58111fe00ef89559a2938de9f6632910c4f7bf7bb5cd81191a546167e58d357f0cfb1e18cecc1c5 - languageName: node - linkType: hard - "minimatch@npm:^9.0.0, minimatch@npm:^9.0.4": version: 9.0.5 resolution: "minimatch@npm:9.0.5" @@ -17129,22 +10355,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.4": - version: 9.0.5 - resolution: "minimatch@npm:9.0.5" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10/dd6a8927b063aca6d910b119e1f2df6d2ce7d36eab91de83167dd136bb85e1ebff97b0d3de1cb08bd1f7e018ca170b4962479fefab5b2a69e2ae12cb2edc8348 - languageName: node - linkType: hard - -"minimist@npm:^1.2.6": - version: 1.2.7 - resolution: "minimist@npm:1.2.7" - checksum: 10/0202378a8eb1a9d98a44f623f43c89793a095f4bde6981bda29f6ae61e82a15c18b1690b5efc4c66ddbd402a3e9b7175e6ebdabb2b28037c279ac823b7360e00 - languageName: node - linkType: hard - "minimist@npm:^1.2.6, minimist@npm:^1.2.8": version: 1.2.8 resolution: "minimist@npm:1.2.8" @@ -17152,13 +10362,6 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.8": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 10/908491b6cc15a6c440ba5b22780a0ba89b9810e1aea684e253e43c4e3b8d56ec1dcdd7ea96dde119c29df59c936cde16062159eae4225c691e19c70b432b6e6f - languageName: node - linkType: hard - "minipass-collect@npm:^1.0.2": version: 1.0.2 resolution: "minipass-collect@npm:1.0.2" @@ -17226,13 +10429,6 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0": - version: 7.0.3 - resolution: "minipass@npm:7.0.3" - checksum: 10/04d72c8a437de54a024f3758ff17c0226efb532ef37dbdaca1ea6039c7b9b1704e612abbd2e3a0d2c825c64eb0a9ab266c843baa71d18ad1a279baecee28ed97 - languageName: node - linkType: hard - "minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.1.2": version: 7.1.2 resolution: "minipass@npm:7.1.2" @@ -17240,13 +10436,6 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^7.1.2": - version: 7.1.2 - resolution: "minipass@npm:7.1.2" - checksum: 10/c25f0ee8196d8e6036661104bacd743785b2599a21de5c516b32b3fa2b83113ac89a2358465bc04956baab37ffb956ae43be679b2262bf7be15fce467ccd7950 - languageName: node - linkType: hard - "minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": version: 2.1.2 resolution: "minizlib@npm:2.1.2" @@ -17257,17 +10446,6 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.6": - version: 0.5.6 - resolution: "mkdirp@npm:0.5.6" - dependencies: - minimist: "npm:^1.2.6" - bin: - mkdirp: bin/cmd.js - checksum: 10/0c91b721bb12c3f9af4b77ebf73604baf350e64d80df91754dc509491ae93bf238581e59c7188360cec7cb62fc4100959245a42cfe01834efedc5e9d068376c2 - languageName: node - linkType: hard - "mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" @@ -17298,27 +10476,6 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.0.0": - version: 2.0.0 - resolution: "ms@npm:2.0.0" - checksum: 10/0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4 - languageName: node - linkType: hard - -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: 10/673cdb2c3133eb050c745908d8ce632ed2c02d85640e2edb3ace856a2266a813b30c613569bf3354fdf4ea7d1a1494add3bfa95e2713baa27d0c2c71fc44f58f - languageName: node - linkType: hard - -"ms@npm:2.1.3, ms@npm:^2.0.0, ms@npm:^2.1.1": - version: 2.1.3 - resolution: "ms@npm:2.1.3" - checksum: 10/aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d - languageName: node - linkType: hard - "ms@npm:^2.0.0, ms@npm:^2.1.1, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" @@ -17386,16 +10543,7 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.3.6, nanoid@npm:^3.3.7": - version: 3.3.8 - resolution: "nanoid@npm:3.3.8" - bin: - nanoid: bin/nanoid.cjs - checksum: 10/2d1766606cf0d6f47b6f0fdab91761bb81609b2e3d367027aff45e6ee7006f660fb7e7781f4a34799fe6734f1268eeed2e37a5fdee809ade0c2d4eb11b0f9c40 - languageName: node - linkType: hard - -"nanoid@npm:^3.3.6, nanoid@npm:^3.3.8": +"nanoid@npm:^3.3.6, nanoid@npm:^3.3.7, nanoid@npm:^3.3.8": version: 3.3.8 resolution: "nanoid@npm:3.3.8" bin: @@ -17404,13 +10552,6 @@ __metadata: languageName: node linkType: hard -"natural-compare@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare@npm:1.4.0" - checksum: 10/23ad088b08f898fc9b53011d7bb78ec48e79de7627e01ab5518e806033861bef68d5b0cd0e2205c2f36690ac9571ff6bcb05eb777ced2eeda8d4ac5b44592c3d - languageName: node - linkType: hard - "needle@npm:^3.1.0": version: 3.2.0 resolution: "needle@npm:3.2.0" @@ -17421,102 +10562,37 @@ __metadata: bin: needle: bin/needle checksum: 10/65ec7c7166a054bfcce667bed87e38c1a0b1f493f89f6852658c61575b5f736d4d55a476a96bd90c0c3c3b0233aef5431ef2d4ce1c536eff6a5c6f0b4f95e6b9 - languageName: node - linkType: hard - -"negotiator@npm:0.6.3, negotiator@npm:^0.6.3": - version: 0.6.3 - resolution: "negotiator@npm:0.6.3" - checksum: 10/2723fb822a17ad55c93a588a4bc44d53b22855bf4be5499916ca0cab1e7165409d0b288ba2577d7b029f10ce18cf2ed8e703e5af31c984e1e2304277ef979837 - languageName: node - linkType: hard - -"negotiator@npm:^0.6.3": - version: 0.6.3 - resolution: "negotiator@npm:0.6.3" - checksum: 10/2723fb822a17ad55c93a588a4bc44d53b22855bf4be5499916ca0cab1e7165409d0b288ba2577d7b029f10ce18cf2ed8e703e5af31c984e1e2304277ef979837 - languageName: node - linkType: hard - -"neo-async@npm:^2.5.0, neo-async@npm:^2.6.2": - version: 2.6.2 - resolution: "neo-async@npm:2.6.2" - checksum: 10/1a7948fea86f2b33ec766bc899c88796a51ba76a4afc9026764aedc6e7cde692a09067031e4a1bf6db4f978ccd99e7f5b6c03fe47ad9865c3d4f99050d67e002 - languageName: node - linkType: hard - -"next-sitemap@npm:^4.2.3": - version: 4.2.3 - resolution: "next-sitemap@npm:4.2.3" - dependencies: - "@corex/deepmerge": "npm:^4.0.43" - "@next/env": "npm:^13.4.3" - fast-glob: "npm:^3.2.12" - minimist: "npm:^1.2.8" - peerDependencies: - next: "*" - bin: - next-sitemap: bin/next-sitemap.mjs - next-sitemap-cjs: bin/next-sitemap.cjs - checksum: 10/8e88c941b5e487584abaa21a31a94d888c8d37e95892cd6b5bdbc121f49435f75c279e97508a7a99d3de0010e833f3769d0c2d0888d9228be4dbd48e031b831c - languageName: node - linkType: hard - -"next@npm:^14.2.5": - version: 14.2.5 - resolution: "next@npm:14.2.5" - dependencies: - "@next/env": "npm:14.2.5" - "@next/swc-darwin-arm64": "npm:14.2.5" - "@next/swc-darwin-x64": "npm:14.2.5" - "@next/swc-linux-arm64-gnu": "npm:14.2.5" - "@next/swc-linux-arm64-musl": "npm:14.2.5" - "@next/swc-linux-x64-gnu": "npm:14.2.5" - "@next/swc-linux-x64-musl": "npm:14.2.5" - "@next/swc-win32-arm64-msvc": "npm:14.2.5" - "@next/swc-win32-ia32-msvc": "npm:14.2.5" - "@next/swc-win32-x64-msvc": "npm:14.2.5" - "@swc/helpers": "npm:0.5.5" - busboy: "npm:1.6.0" - caniuse-lite: "npm:^1.0.30001579" - graceful-fs: "npm:^4.2.11" - postcss: "npm:8.4.31" - styled-jsx: "npm:5.1.1" - peerDependencies: - "@opentelemetry/api": ^1.1.0 - "@playwright/test": ^1.41.2 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - dependenciesMeta: - "@next/swc-darwin-arm64": - optional: true - "@next/swc-darwin-x64": - optional: true - "@next/swc-linux-arm64-gnu": - optional: true - "@next/swc-linux-arm64-musl": - optional: true - "@next/swc-linux-x64-gnu": - optional: true - "@next/swc-linux-x64-musl": - optional: true - "@next/swc-win32-arm64-msvc": - optional: true - "@next/swc-win32-ia32-msvc": - optional: true - "@next/swc-win32-x64-msvc": - optional: true - peerDependenciesMeta: - "@opentelemetry/api": - optional: true - "@playwright/test": - optional: true - sass: - optional: true + languageName: node + linkType: hard + +"negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: 10/2723fb822a17ad55c93a588a4bc44d53b22855bf4be5499916ca0cab1e7165409d0b288ba2577d7b029f10ce18cf2ed8e703e5af31c984e1e2304277ef979837 + languageName: node + linkType: hard + +"neo-async@npm:^2.5.0, neo-async@npm:^2.6.2": + version: 2.6.2 + resolution: "neo-async@npm:2.6.2" + checksum: 10/1a7948fea86f2b33ec766bc899c88796a51ba76a4afc9026764aedc6e7cde692a09067031e4a1bf6db4f978ccd99e7f5b6c03fe47ad9865c3d4f99050d67e002 + languageName: node + linkType: hard + +"next-sitemap@npm:^4.2.3": + version: 4.2.3 + resolution: "next-sitemap@npm:4.2.3" + dependencies: + "@corex/deepmerge": "npm:^4.0.43" + "@next/env": "npm:^13.4.3" + fast-glob: "npm:^3.2.12" + minimist: "npm:^1.2.8" + peerDependencies: + next: "*" bin: - next: dist/bin/next - checksum: 10/c107b45ffe7b75649618d8b5fc0bfe4936317daf12384d2546603b250ceb4e24aca9862cb062c6302a6bafafe5e682bb83f25f2f30ab7533bf0c4a30b3be6875 + next-sitemap: bin/next-sitemap.mjs + next-sitemap-cjs: bin/next-sitemap.cjs + checksum: 10/8e88c941b5e487584abaa21a31a94d888c8d37e95892cd6b5bdbc121f49435f75c279e97508a7a99d3de0010e833f3769d0c2d0888d9228be4dbd48e031b831c languageName: node linkType: hard @@ -17591,15 +10667,6 @@ __metadata: languageName: node linkType: hard -"node-dir@npm:^0.1.17": - version: 0.1.17 - resolution: "node-dir@npm:0.1.17" - dependencies: - minimatch: "npm:^3.0.2" - checksum: 10/281fdea12d9c080a7250e5b5afefa3ab39426d40753ec8126a2d1e67f189b8824723abfed74f5d8549c5d78352d8c489fe08d0b067d7684c87c07283d38374a5 - languageName: node - linkType: hard - "node-fetch@npm:^2.5.0": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" @@ -17634,22 +10701,6 @@ __metadata: languageName: node linkType: hard -"node-int64@npm:^0.4.0": - version: 0.4.0 - resolution: "node-int64@npm:0.4.0" - checksum: 10/b7afc2b65e56f7035b1a2eec57ae0fbdee7d742b1cdcd0f4387562b6527a011ab1cbe9f64cc8b3cca61e3297c9637c8bf61cec2e6b8d3a711d4b5267dfafbe02 - languageName: node - linkType: hard - -"node-preload@npm:^0.2.1": - version: 0.2.1 - resolution: "node-preload@npm:0.2.1" - dependencies: - process-on-spawn: "npm:^1.0.0" - checksum: 10/de36ed365b7e474eaf05c41f976774dece23a7f398fe76dbf9705f9670a1f49e6a27c5f31fe58b4e43d96413fdce4806192c60d35317b25725636c90889d5bab - languageName: node - linkType: hard - "node-releases@npm:^2.0.14": version: 2.0.14 resolution: "node-releases@npm:2.0.14" @@ -17713,26 +10764,6 @@ __metadata: languageName: node linkType: hard -"npm-run-all2@npm:^6.2.2": - version: 6.2.2 - resolution: "npm-run-all2@npm:6.2.2" - dependencies: - ansi-styles: "npm:^6.2.1" - cross-spawn: "npm:^7.0.3" - memorystream: "npm:^0.3.1" - minimatch: "npm:^9.0.0" - pidtree: "npm:^0.6.0" - read-package-json-fast: "npm:^3.0.2" - shell-quote: "npm:^1.7.3" - bin: - npm-run-all: bin/npm-run-all/index.js - npm-run-all2: bin/npm-run-all/index.js - run-p: bin/run-p/index.js - run-s: bin/run-s/index.js - checksum: 10/79995322365ab1189bf00cd531b3b2c410334a8e0d54bf1045fed3b59117873e8a0aeafdc1f543f0cef295bdca1fe5cfea5613e7ed4cc65f396b72db587257f5 - languageName: node - linkType: hard - "npm-run-all2@npm:^6.2.6": version: 6.2.6 resolution: "npm-run-all2@npm:6.2.6" @@ -17754,24 +10785,6 @@ __metadata: languageName: node linkType: hard -"npm-run-path@npm:^4.0.1": - version: 4.0.1 - resolution: "npm-run-path@npm:4.0.1" - dependencies: - path-key: "npm:^3.0.0" - checksum: 10/5374c0cea4b0bbfdfae62da7bbdf1e1558d338335f4cacf2515c282ff358ff27b2ecb91ffa5330a8b14390ac66a1e146e10700440c1ab868208430f56b5f4d23 - languageName: node - linkType: hard - -"npm-run-path@npm:^5.1.0": - version: 5.3.0 - resolution: "npm-run-path@npm:5.3.0" - dependencies: - path-key: "npm:^4.0.0" - checksum: 10/ae8e7a89da9594fb9c308f6555c73f618152340dcaae423e5fb3620026fefbec463618a8b761920382d666fa7a2d8d240b6fe320e8a6cdd54dc3687e2b659d25 - languageName: node - linkType: hard - "npmlog@npm:^6.0.0": version: 6.0.2 resolution: "npmlog@npm:6.0.2" @@ -17800,43 +10813,6 @@ __metadata: languageName: node linkType: hard -"nyc@npm:^15.1.0": - version: 15.1.0 - resolution: "nyc@npm:15.1.0" - dependencies: - "@istanbuljs/load-nyc-config": "npm:^1.0.0" - "@istanbuljs/schema": "npm:^0.1.2" - caching-transform: "npm:^4.0.0" - convert-source-map: "npm:^1.7.0" - decamelize: "npm:^1.2.0" - find-cache-dir: "npm:^3.2.0" - find-up: "npm:^4.1.0" - foreground-child: "npm:^2.0.0" - get-package-type: "npm:^0.1.0" - glob: "npm:^7.1.6" - istanbul-lib-coverage: "npm:^3.0.0" - istanbul-lib-hook: "npm:^3.0.0" - istanbul-lib-instrument: "npm:^4.0.0" - istanbul-lib-processinfo: "npm:^2.0.2" - istanbul-lib-report: "npm:^3.0.0" - istanbul-lib-source-maps: "npm:^4.0.0" - istanbul-reports: "npm:^3.0.2" - make-dir: "npm:^3.0.0" - node-preload: "npm:^0.2.1" - p-map: "npm:^3.0.0" - process-on-spawn: "npm:^1.0.0" - resolve-from: "npm:^5.0.0" - rimraf: "npm:^3.0.0" - signal-exit: "npm:^3.0.2" - spawn-wrap: "npm:^2.0.0" - test-exclude: "npm:^6.0.0" - yargs: "npm:^15.0.2" - bin: - nyc: bin/nyc.js - checksum: 10/c987f04f4192dfd94e9e69869c76a54220b3ed555016751f380a413a378cceff8ec346df579e9126035b6acbc60ab893cc65e67729cc427c0171361bcb481e66 - languageName: node - linkType: hard - "object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" @@ -17858,13 +10834,6 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.13.1, object-inspect@npm:^1.9.0": - version: 1.13.1 - resolution: "object-inspect@npm:1.13.1" - checksum: 10/92f4989ed83422d56431bc39656d4c780348eb15d397ce352ade6b7fec08f973b53744bd41b94af021901e61acaf78fcc19e65bf464ecc0df958586a672700f0 - languageName: node - linkType: hard - "object-is@npm:^1.1.5": version: 1.1.5 resolution: "object-is@npm:1.1.5" @@ -17894,15 +10863,6 @@ __metadata: languageName: node linkType: hard -"on-finished@npm:2.4.1": - version: 2.4.1 - resolution: "on-finished@npm:2.4.1" - dependencies: - ee-first: "npm:1.1.1" - checksum: 10/8e81472c5028125c8c39044ac4ab8ba51a7cdc19a9fbd4710f5d524a74c6d8c9ded4dd0eed83f28d3d33ac1d7a6a439ba948ccb765ac6ce87f30450a26bfe2ea - languageName: node - linkType: hard - "once@npm:^1.3.0": version: 1.4.0 resolution: "once@npm:1.4.0" @@ -17912,24 +10872,6 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^5.1.2": - version: 5.1.2 - resolution: "onetime@npm:5.1.2" - dependencies: - mimic-fn: "npm:^2.1.0" - checksum: 10/e9fd0695a01cf226652f0385bf16b7a24153dbbb2039f764c8ba6d2306a8506b0e4ce570de6ad99c7a6eb49520743afdb66edd95ee979c1a342554ed49a9aadd - languageName: node - linkType: hard - -"onetime@npm:^6.0.0": - version: 6.0.0 - resolution: "onetime@npm:6.0.0" - dependencies: - mimic-fn: "npm:^4.0.0" - checksum: 10/0846ce78e440841335d4e9182ef69d5762e9f38aa7499b19f42ea1c4cd40f0b4446094c455c713f9adac3f4ae86f613bb5e30c99e52652764d06a89f709b3788 - languageName: node - linkType: hard - "open@npm:^7.4.2": version: 7.4.2 resolution: "open@npm:7.4.2" @@ -17951,22 +10893,6 @@ __metadata: languageName: node linkType: hard -"opener@npm:^1.5.1": - version: 1.5.2 - resolution: "opener@npm:1.5.2" - bin: - opener: bin/opener-bin.js - checksum: 10/0504efcd6546e14c016a261f58a68acf9f2e5c23d84865d7d5470d5169788327ceaa5386253682f533b3fba4821748aa37ecb395f3dae7acb3261b9b22e36814 - languageName: node - linkType: hard - -"os-homedir@npm:^1.0.1": - version: 1.0.2 - resolution: "os-homedir@npm:1.0.2" - checksum: 10/af609f5a7ab72de2f6ca9be6d6b91a599777afc122ac5cad47e126c1f67c176fe9b52516b9eeca1ff6ca0ab8587fe66208bc85e40a3940125f03cdb91408e9d2 - languageName: node - linkType: hard - "os-tmpdir@npm:~1.0.2": version: 1.0.2 resolution: "os-tmpdir@npm:1.0.2" @@ -18015,15 +10941,6 @@ __metadata: languageName: node linkType: hard -"p-limit@npm:^3.0.2, p-limit@npm:^3.1.0": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" - dependencies: - yocto-queue: "npm:^0.1.0" - checksum: 10/7c3690c4dbf62ef625671e20b7bdf1cbc9534e83352a2780f165b0d3ceba21907e77ad63401708145ca4e25bfc51636588d89a8c0aeb715e6c37d1c066430360 - languageName: node - linkType: hard - "p-locate@npm:^3.0.0": version: 3.0.0 resolution: "p-locate@npm:3.0.0" @@ -18058,15 +10975,6 @@ __metadata: languageName: node linkType: hard -"p-map@npm:^3.0.0": - version: 3.0.0 - resolution: "p-map@npm:3.0.0" - dependencies: - aggregate-error: "npm:^3.0.0" - checksum: 10/d4a0664d2af05d7e5f6f342e6493d4cad48f7398ac803c5066afb1f8d2010bfc2a83d935689437288f7b1a743772085b8fa0909a8282b5df4210bcda496c37c8 - languageName: node - linkType: hard - "p-map@npm:^4.0.0": version: 4.0.0 resolution: "p-map@npm:4.0.0" @@ -18083,18 +10991,6 @@ __metadata: languageName: node linkType: hard -"package-hash@npm:^4.0.0": - version: 4.0.0 - resolution: "package-hash@npm:4.0.0" - dependencies: - graceful-fs: "npm:^4.1.15" - hasha: "npm:^5.0.0" - lodash.flattendeep: "npm:^4.4.0" - release-zalgo: "npm:^1.0.0" - checksum: 10/c7209d98ac31926e0c1753d014f8b6b924e1e6a1aacf833dc99edece9c8381424c41c97c26c7eee82026944a79e99023cde5998bf515d7465c87005d52152040 - languageName: node - linkType: hard - "package-json-from-dist@npm:^1.0.0": version: 1.0.0 resolution: "package-json-from-dist@npm:1.0.0" @@ -18167,13 +11063,6 @@ __metadata: languageName: node linkType: hard -"parse-passwd@npm:^1.0.0": - version: 1.0.0 - resolution: "parse-passwd@npm:1.0.0" - checksum: 10/4e55e0231d58f828a41d0f1da2bf2ff7bcef8f4cb6146e69d16ce499190de58b06199e6bd9b17fbf0d4d8aef9052099cdf8c4f13a6294b1a522e8e958073066e - languageName: node - linkType: hard - "parse5@npm:^7.1.2": version: 7.1.2 resolution: "parse5@npm:7.1.2" @@ -18183,13 +11072,6 @@ __metadata: languageName: node linkType: hard -"parseurl@npm:~1.3.3": - version: 1.3.3 - resolution: "parseurl@npm:1.3.3" - checksum: 10/407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 - languageName: node - linkType: hard - "patch-package@npm:^8.0.0": version: 8.0.0 resolution: "patch-package@npm:8.0.0" @@ -18236,13 +11118,6 @@ __metadata: languageName: node linkType: hard -"path-key@npm:^3.0.0, path-key@npm:^3.1.0": - version: 3.1.1 - resolution: "path-key@npm:3.1.1" - checksum: 10/55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020 - languageName: node - linkType: hard - "path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" @@ -18250,13 +11125,6 @@ __metadata: languageName: node linkType: hard -"path-key@npm:^4.0.0": - version: 4.0.0 - resolution: "path-key@npm:4.0.0" - checksum: 10/8e6c314ae6d16b83e93032c61020129f6f4484590a777eed709c4a01b50e498822b00f76ceaf94bc64dbd90b327df56ceadce27da3d83393790f1219e07721d7 - languageName: node - linkType: hard - "path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" @@ -18264,16 +11132,6 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.10.1": - version: 1.10.1 - resolution: "path-scurry@npm:1.10.1" - dependencies: - lru-cache: "npm:^9.1.1 || ^10.0.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10/eebfb8304fef1d4f7e1486df987e4fd77413de4fce16508dea69fcf8eb318c09a6b15a7a2f4c22877cec1cb7ecbd3071d18ca9de79eeece0df874a00f1f0bdc8 - languageName: node - linkType: hard - "path-scurry@npm:^1.11.1": version: 1.11.1 resolution: "path-scurry@npm:1.11.1" @@ -18294,13 +11152,6 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:0.1.10": - version: 0.1.10 - resolution: "path-to-regexp@npm:0.1.10" - checksum: 10/894e31f1b20e592732a87db61fff5b95c892a3fe430f9ab18455ebe69ee88ef86f8eb49912e261f9926fc53da9f93b46521523e33aefd9cb0a7b0d85d7096006 - languageName: node - linkType: hard - "path-to-regexp@npm:^6.3.0": version: 6.3.0 resolution: "path-to-regexp@npm:6.3.0" @@ -18322,13 +11173,6 @@ __metadata: languageName: node linkType: hard -"path-unified@npm:^0.1.0": - version: 0.1.0 - resolution: "path-unified@npm:0.1.0" - checksum: 10/6a433dc924a04be67860c09deba737013f4e8834c1514072a8b9e346fb0b50f20bbdc39d37ede1da5d37c9ccb1b1a99faa730750020b056444dcbbbedf722330 - languageName: node - linkType: hard - "path-unified@npm:^0.2.0": version: 0.2.0 resolution: "path-unified@npm:0.2.0" @@ -18378,14 +11222,7 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0": - version: 1.0.0 - resolution: "picocolors@npm:1.0.0" - checksum: 10/a2e8092dd86c8396bdba9f2b5481032848525b3dc295ce9b57896f931e63fc16f79805144321f72976383fc249584672a75cc18d6777c6b757603f372f745981 - languageName: node - linkType: hard - -"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: 10/e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045 @@ -18406,13 +11243,6 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10/60c2595003b05e4535394d1da94850f5372c9427ca4413b71210f437f7b2ca091dbd611c45e8b37d10036fa8eade25c1b8951654f9d3973bfa66a2ff4d3b08bc - languageName: node - linkType: hard - "picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" @@ -18450,13 +11280,6 @@ __metadata: languageName: node linkType: hard -"pirates@npm:^4.0.1, pirates@npm:^4.0.4, pirates@npm:^4.0.6": - version: 4.0.6 - resolution: "pirates@npm:4.0.6" - checksum: 10/d02dda76f4fec1cbdf395c36c11cf26f76a644f9f9a1bfa84d3167d0d3154d5289aacc72677aa20d599bb4a6937a471de1b65c995e2aea2d8687cbcd7e43ea5f - languageName: node - linkType: hard - "pirates@npm:^4.0.1, pirates@npm:^4.0.6": version: 4.0.6 resolution: "pirates@npm:4.0.6" @@ -18473,24 +11296,6 @@ __metadata: languageName: node linkType: hard -"pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0": - version: 4.2.0 - resolution: "pkg-dir@npm:4.2.0" - dependencies: - find-up: "npm:^4.0.0" - checksum: 10/9863e3f35132bf99ae1636d31ff1e1e3501251d480336edb1c211133c8d58906bed80f154a1d723652df1fda91e01c7442c2eeaf9dc83157c7ae89087e43c8d6 - languageName: node - linkType: hard - -"playwright-core@npm:1.47.2, playwright-core@npm:>=1.2.0": - version: 1.47.2 - resolution: "playwright-core@npm:1.47.2" - bin: - playwright-core: cli.js - checksum: 10/2a2b28b2f1d01bc447f4f1cb4b5248ed053fde38429484c909efa17226e692a79cd5e6d4c337e9040eaaf311b6cb4a36027d6d14f1f44c482c5fb3feb081f913 - languageName: node - linkType: hard - "playwright-core@npm:1.50.0": version: 1.50.0 resolution: "playwright-core@npm:1.50.0" @@ -18500,21 +11305,6 @@ __metadata: languageName: node linkType: hard -"playwright@npm:^1.14.0": - version: 1.47.2 - resolution: "playwright@npm:1.47.2" - dependencies: - fsevents: "npm:2.3.2" - playwright-core: "npm:1.47.2" - dependenciesMeta: - fsevents: - optional: true - bin: - playwright: cli.js - checksum: 10/73494a187be3e75222b65ebcce8d790eada340bd61ca0d07410060a52232ddbc2357c4882d7b42434054dc1f4802fdb039a47530b4b5500dcfd1bf0edd63c191 - languageName: node - linkType: hard - "playwright@npm:^1.50.0": version: 1.50.0 resolution: "playwright@npm:1.50.0" @@ -18539,17 +11329,6 @@ __metadata: languageName: node linkType: hard -"portfinder@npm:^1.0.28": - version: 1.0.32 - resolution: "portfinder@npm:1.0.32" - dependencies: - async: "npm:^2.6.4" - debug: "npm:^3.2.7" - mkdirp: "npm:^0.5.6" - checksum: 10/842058052fb3c3da829589f3f44b13369cf504b16f6ab72fedec78a9438ac3fc53047f5c88a771511b17d6a94f50f83a94cef5fa625027b675d8f7241f7f2185 - languageName: node - linkType: hard - "postcss-calc-ast-parser@npm:^0.1.4": version: 0.1.4 resolution: "postcss-calc-ast-parser@npm:0.1.4" @@ -18559,18 +11338,6 @@ __metadata: languageName: node linkType: hard -"postcss-calc@npm:^10.0.0": - version: 10.0.0 - resolution: "postcss-calc@npm:10.0.0" - dependencies: - postcss-selector-parser: "npm:^6.0.16" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.38 - checksum: 10/a9edb9c8fadbddb7f53bec4910428f678b0bd726bf1b8f676ed460aa10d1d358639ffcd982d4d58ad2719ccdf904853b8be02e303d5c3837a9555a6ebc8f9491 - languageName: node - linkType: hard - "postcss-calc@npm:^10.0.2": version: 10.1.0 resolution: "postcss-calc@npm:10.1.0" @@ -18607,20 +11374,6 @@ __metadata: languageName: node linkType: hard -"postcss-colormin@npm:^7.0.1": - version: 7.0.1 - resolution: "postcss-colormin@npm:7.0.1" - dependencies: - browserslist: "npm:^4.23.1" - caniuse-api: "npm:^3.0.0" - colord: "npm:^2.9.3" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10/00fd1554d417595480151e5ecf2744a646a8227c7d734127c02a21a2e565209d24830dfbfb05643fb66420fdd62735f074bdfd3655d428cacf4b36ce4fff949f - languageName: node - linkType: hard - "postcss-colormin@npm:^7.0.2": version: 7.0.2 resolution: "postcss-colormin@npm:7.0.2" @@ -18635,18 +11388,6 @@ __metadata: languageName: node linkType: hard -"postcss-convert-values@npm:^7.0.2": - version: 7.0.2 - resolution: "postcss-convert-values@npm:7.0.2" - dependencies: - browserslist: "npm:^4.23.1" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10/15e0a804f42a417a6cabfba8346ed489514240c2d7dffda6dca34644d2c6a5ad76974aeffec36de6a424eb4cb2d72302e0f6bbecc6568390f02c0198f6d0ba7f - languageName: node - linkType: hard - "postcss-convert-values@npm:^7.0.4": version: 7.0.4 resolution: "postcss-convert-values@npm:7.0.4" @@ -18659,17 +11400,6 @@ __metadata: languageName: node linkType: hard -"postcss-discard-comments@npm:^7.0.1": - version: 7.0.1 - resolution: "postcss-discard-comments@npm:7.0.1" - dependencies: - postcss-selector-parser: "npm:^6.1.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10/170ab2f73af948f27455747fc02efe3acec45d6de41e9dd442fe88cba6c3a0ff44d1cac556dc1d0c5d784306419a9d449b1ebc7bd9c61a0a881ba2d3246d2704 - languageName: node - linkType: hard - "postcss-discard-comments@npm:^7.0.3": version: 7.0.3 resolution: "postcss-discard-comments@npm:7.0.3" @@ -18681,15 +11411,6 @@ __metadata: languageName: node linkType: hard -"postcss-discard-duplicates@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-discard-duplicates@npm:7.0.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10/0cae784e1eaa4449d9b88f7114344dcefc12074b90721b3f3f86765e362cb6b0e95f4d6a0c0c8988338dd6df4d0b0d7c1fe1ebeb84723289b4bf1a1848e08404 - languageName: node - linkType: hard - "postcss-discard-duplicates@npm:^7.0.1": version: 7.0.1 resolution: "postcss-discard-duplicates@npm:7.0.1" @@ -18789,18 +11510,6 @@ __metadata: languageName: node linkType: hard -"postcss-merge-longhand@npm:^7.0.2": - version: 7.0.2 - resolution: "postcss-merge-longhand@npm:7.0.2" - dependencies: - postcss-value-parser: "npm:^4.2.0" - stylehacks: "npm:^7.0.2" - peerDependencies: - postcss: ^8.4.31 - checksum: 10/028631bb3f7c9ce06ed36c18299487694c144a9c7e4d0da2ca5a14a93407160b8517a78a244aaf4786bd68f90421eed0eb74e126d679ce55d26e3246779c6292 - languageName: node - linkType: hard - "postcss-merge-longhand@npm:^7.0.4": version: 7.0.4 resolution: "postcss-merge-longhand@npm:7.0.4" @@ -18809,21 +11518,7 @@ __metadata: stylehacks: "npm:^7.0.4" peerDependencies: postcss: ^8.4.31 - checksum: 10/b94b98a9b21bc8671aa0fba96491e8e2deea57c9bbfe9a74305400a36035b63764d8bfbdc6bda047887b665b92b91361a8bbc1cb9c14f80b3792feef19881005 - languageName: node - linkType: hard - -"postcss-merge-rules@npm:^7.0.2": - version: 7.0.2 - resolution: "postcss-merge-rules@npm:7.0.2" - dependencies: - browserslist: "npm:^4.23.1" - caniuse-api: "npm:^3.0.0" - cssnano-utils: "npm:^5.0.0" - postcss-selector-parser: "npm:^6.1.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10/1c4d2a022f100c5de8cf8d0eefcc79ebe9ee04ee33c190d6c9dad5406836dca1fa61e26ab6a6b3fa2ac964fc0a77668bf94e127d8034279bf630bf4c594c4b17 + checksum: 10/b94b98a9b21bc8671aa0fba96491e8e2deea57c9bbfe9a74305400a36035b63764d8bfbdc6bda047887b665b92b91361a8bbc1cb9c14f80b3792feef19881005 languageName: node linkType: hard @@ -18865,19 +11560,6 @@ __metadata: languageName: node linkType: hard -"postcss-minify-params@npm:^7.0.1": - version: 7.0.1 - resolution: "postcss-minify-params@npm:7.0.1" - dependencies: - browserslist: "npm:^4.23.1" - cssnano-utils: "npm:^5.0.0" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10/6bcb3b830e6a955c6c0b34fc19a6b5388a8d1ac8445d340b0ba967914944af329d12829d5baf39e73c0d9b9d2cb6aa41f04657539c15cf87f5983c78e6a3eaf9 - languageName: node - linkType: hard - "postcss-minify-params@npm:^7.0.2": version: 7.0.2 resolution: "postcss-minify-params@npm:7.0.2" @@ -18891,18 +11573,6 @@ __metadata: languageName: node linkType: hard -"postcss-minify-selectors@npm:^7.0.2": - version: 7.0.2 - resolution: "postcss-minify-selectors@npm:7.0.2" - dependencies: - cssesc: "npm:^3.0.0" - postcss-selector-parser: "npm:^6.1.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10/6f8b3cb766f8e7ece19f931b4e62c24edbfbc0e6d7d1dbb5efb8fe1c7f4ab9ec31021a6726790505a51dc518b88638c69afec411a60e6017743d7d7ded5be087 - languageName: node - linkType: hard - "postcss-minify-selectors@npm:^7.0.4": version: 7.0.4 resolution: "postcss-minify-selectors@npm:7.0.4" @@ -18948,19 +11618,6 @@ __metadata: languageName: node linkType: hard -"postcss-nesting@npm:^13.0.0": - version: 13.0.0 - resolution: "postcss-nesting@npm:13.0.0" - dependencies: - "@csstools/selector-resolve-nested": "npm:^2.0.0" - "@csstools/selector-specificity": "npm:^4.0.0" - postcss-selector-parser: "npm:^6.1.0" - peerDependencies: - postcss: ^8.4 - checksum: 10/c2cb54589cb29ecaf57b53055be75e1a17c6f9e00a6a190b61cb6f2d53de53306df94bc434e7d3035b7d9948f36e3b94f7627e03862326057a58c820fc181a54 - languageName: node - linkType: hard - "postcss-nesting@npm:^13.0.1": version: 13.0.1 resolution: "postcss-nesting@npm:13.0.1" @@ -19038,18 +11695,6 @@ __metadata: languageName: node linkType: hard -"postcss-normalize-unicode@npm:^7.0.1": - version: 7.0.1 - resolution: "postcss-normalize-unicode@npm:7.0.1" - dependencies: - browserslist: "npm:^4.23.1" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10/2b155d99c5f0c716c0e866c2ff68a0cbf198f019002e8282ccf968f5f01771d0b28433f18c2d0a164af27e3951b77f926801c521f784d37cf1535611f1deb31c - languageName: node - linkType: hard - "postcss-normalize-unicode@npm:^7.0.2": version: 7.0.2 resolution: "postcss-normalize-unicode@npm:7.0.2" @@ -19096,18 +11741,6 @@ __metadata: languageName: node linkType: hard -"postcss-reduce-initial@npm:^7.0.1": - version: 7.0.1 - resolution: "postcss-reduce-initial@npm:7.0.1" - dependencies: - browserslist: "npm:^4.23.1" - caniuse-api: "npm:^3.0.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10/9c44080173d94070ba48f7c46b32fab148ebe2898a9eb263000dff62e791b25029bf0ae20f081f4d65fb05aa79255b5d509e3f44bd50717bc3617491aab058a5 - languageName: node - linkType: hard - "postcss-reduce-initial@npm:^7.0.2": version: 7.0.2 resolution: "postcss-reduce-initial@npm:7.0.2" @@ -19143,26 +11776,6 @@ __metadata: languageName: node linkType: hard -"postcss-selector-parser@npm:^6.0.16, postcss-selector-parser@npm:^6.1.0": - version: 6.1.1 - resolution: "postcss-selector-parser@npm:6.1.1" - dependencies: - cssesc: "npm:^3.0.0" - util-deprecate: "npm:^1.0.2" - checksum: 10/ce2af36b56d9333a6873498d3b6ee858466ceb3e9560f998eeaf294e5c11cafffb122d307f3c2904ee8f87d12c71c5ab0b26ca4228b97b6c70b7d1e7cd9b5737 - languageName: node - linkType: hard - -"postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4": - version: 6.0.13 - resolution: "postcss-selector-parser@npm:6.0.13" - dependencies: - cssesc: "npm:^3.0.0" - util-deprecate: "npm:^1.0.2" - checksum: 10/e779aa1f8ca9ee45d562400aac6109a2bccc59559b6e15adec8bc2a71d395ca563a378fd68f6a61963b4ef2ca190e0c0486e6dc6c41d755f3b82dd6e480e6941 - languageName: node - linkType: hard - "postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.1.2": version: 6.1.2 resolution: "postcss-selector-parser@npm:6.1.2" @@ -19195,17 +11808,6 @@ __metadata: languageName: node linkType: hard -"postcss-unique-selectors@npm:^7.0.1": - version: 7.0.1 - resolution: "postcss-unique-selectors@npm:7.0.1" - dependencies: - postcss-selector-parser: "npm:^6.1.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10/01ceef7b278a0c53c6cd3ac625b606f907ef9f80871f807499a6d4a1b7f1305ae307718d6c9309777705e882d8e3e65013e8bff1f68cef169da0316f9618eb45 - languageName: node - linkType: hard - "postcss-unique-selectors@npm:^7.0.3": version: 7.0.3 resolution: "postcss-unique-selectors@npm:7.0.3" @@ -19242,18 +11844,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.31, postcss@npm:^8.0.0": - version: 8.4.31 - resolution: "postcss@npm:8.4.31" - dependencies: - nanoid: "npm:^3.3.6" - picocolors: "npm:^1.0.0" - source-map-js: "npm:^1.0.2" - checksum: 10/1a6653e72105907377f9d4f2cd341d8d90e3fde823a5ddea1e2237aaa56933ea07853f0f2758c28892a1d70c53bbaca200eb8b80f8ed55f13093003dbec5afa0 - languageName: node - linkType: hard - -"postcss@npm:^8.0.0, postcss@npm:^8.4.35, postcss@npm:^8.4.43, postcss@npm:^8.4.49, postcss@npm:^8.5.1": +"postcss@npm:^8.0.0, postcss@npm:^8.4.49, postcss@npm:^8.5.1": version: 8.5.1 resolution: "postcss@npm:8.5.1" dependencies: @@ -19286,17 +11877,6 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.41": - version: 8.4.41 - resolution: "postcss@npm:8.4.41" - dependencies: - nanoid: "npm:^3.3.7" - picocolors: "npm:^1.0.1" - source-map-js: "npm:^1.2.0" - checksum: 10/6e6176c2407eff60493ca60a706c6b7def20a722c3adda94ea1ece38345eb99964191336fd62b62652279cec6938e79e0b1e1d477142c8d3516e7a725a74ee37 - languageName: node - linkType: hard - "postcss@npm:^8.4.43": version: 8.4.47 resolution: "postcss@npm:8.4.47" @@ -19308,18 +11888,6 @@ __metadata: languageName: node linkType: hard -"preferred-pm@npm:^3.0.0": - version: 3.1.4 - resolution: "preferred-pm@npm:3.1.4" - dependencies: - find-up: "npm:^5.0.0" - find-yarn-workspace-root2: "npm:1.2.16" - path-exists: "npm:^4.0.0" - which-pm: "npm:^2.2.0" - checksum: 10/bde91a492cc2662a5229cdc7a0fe35584674d4200227cf2db4ea9fc726874d2ec469f83ac27f0fb13cf215a6ac0eeabd5d6ac0f6995ea29af4e63ae5fb71b65c - languageName: node - linkType: hard - "prettier@npm:^2.7.1, prettier@npm:^2.8.7": version: 2.8.8 resolution: "prettier@npm:2.8.8" @@ -19329,15 +11897,6 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^3.1.1": - version: 3.2.5 - resolution: "prettier@npm:3.2.5" - bin: - prettier: bin/prettier.cjs - checksum: 10/d509f9da0b70e8cacc561a1911c0d99ec75117faed27b95cc8534cb2349667dee6351b0ca83fa9d5703f14127faa52b798de40f5705f02d843da133fc3aa416a - languageName: node - linkType: hard - "prettier@npm:^3.1.1, prettier@npm:^3.3.3": version: 3.3.3 resolution: "prettier@npm:3.3.3" @@ -19347,15 +11906,6 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^3.3.3": - version: 3.3.3 - resolution: "prettier@npm:3.3.3" - bin: - prettier: bin/prettier.cjs - checksum: 10/5beac1f30b5b40162532b8e2f7c3a4eb650910a2695e9c8512a62ffdc09dae93190c29db9107fa7f26d1b6c71aad3628ecb9b5de1ecb0911191099be109434d7 - languageName: node - linkType: hard - "pretty-format@npm:^27.0.2": version: 27.5.1 resolution: "pretty-format@npm:27.5.1" @@ -19367,17 +11917,6 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^29.7.0": - version: 29.7.0 - resolution: "pretty-format@npm:29.7.0" - dependencies: - "@jest/schemas": "npm:^29.6.3" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^18.0.0" - checksum: 10/dea96bc83c83cd91b2bfc55757b6b2747edcaac45b568e46de29deee80742f17bc76fe8898135a70d904f4928eafd8bb693cd1da4896e8bdd3c5e82cadf1d2bb - languageName: node - linkType: hard - "pretty-hrtime@npm:^1.0.3": version: 1.0.3 resolution: "pretty-hrtime@npm:1.0.3" @@ -19406,15 +11945,6 @@ __metadata: languageName: node linkType: hard -"process-on-spawn@npm:^1.0.0": - version: 1.0.0 - resolution: "process-on-spawn@npm:1.0.0" - dependencies: - fromentries: "npm:^1.2.0" - checksum: 10/8795d71742798e5a059e13da2a9c13988aa7c673a3a57f276c1ff6ed942ba9b7636139121c6a409eaa2ea6a8fda7af4be19c3dc576320515bb3f354e3544106e - languageName: node - linkType: hard - "process@npm:^0.11.1, process@npm:^0.11.10": version: 0.11.10 resolution: "process@npm:0.11.10" @@ -19439,16 +11969,6 @@ __metadata: languageName: node linkType: hard -"prompts@npm:^2.0.1, prompts@npm:^2.4.1, prompts@npm:^2.4.2": - version: 2.4.2 - resolution: "prompts@npm:2.4.2" - dependencies: - kleur: "npm:^3.0.3" - sisteransi: "npm:^1.0.5" - checksum: 10/c52536521a4d21eff4f2f2aa4572446cad227464066365a7167e52ccf8d9839c099f9afec1aba0eed3d5a2514b3e79e0b3e7a1dc326b9acde6b75d27ed74b1a9 - languageName: node - linkType: hard - "prompts@npm:^2.4.0": version: 2.4.2 resolution: "prompts@npm:2.4.2" @@ -19459,17 +11979,6 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:^15.5.10, prop-types@npm:^15.6.2, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1": - version: 15.8.1 - resolution: "prop-types@npm:15.8.1" - dependencies: - loose-envify: "npm:^1.4.0" - object-assign: "npm:^4.1.1" - react-is: "npm:^16.13.1" - checksum: 10/7d959caec002bc964c86cdc461ec93108b27337dabe6192fb97d69e16a0c799a03462713868b40749bfc1caf5f57ef80ac3e4ffad3effa636ee667582a75e2c0 - languageName: node - linkType: hard - "prop-types@npm:^15.6.2, prop-types@npm:^15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" @@ -19497,23 +12006,6 @@ __metadata: languageName: node linkType: hard -"proxy-addr@npm:~2.0.7": - version: 2.0.7 - resolution: "proxy-addr@npm:2.0.7" - dependencies: - forwarded: "npm:0.2.0" - ipaddr.js: "npm:1.9.1" - checksum: 10/f24a0c80af0e75d31e3451398670d73406ec642914da11a2965b80b1898ca6f66a0e3e091a11a4327079b2b268795f6fa06691923fef91887215c3d0e8ea3f68 - languageName: node - linkType: hard - -"proxy-from-env@npm:^1.1.0": - version: 1.1.0 - resolution: "proxy-from-env@npm:1.1.0" - checksum: 10/f0bb4a87cfd18f77bc2fba23ae49c3b378fb35143af16cc478171c623eebe181678f09439707ad80081d340d1593cd54a33a0113f3ccb3f4bc9451488780ee23 - languageName: node - linkType: hard - "prr@npm:~1.0.1": version: 1.0.1 resolution: "prr@npm:1.0.1" @@ -19521,13 +12013,6 @@ __metadata: languageName: node linkType: hard -"pseudomap@npm:^1.0.2": - version: 1.0.2 - resolution: "pseudomap@npm:1.0.2" - checksum: 10/856c0aae0ff2ad60881168334448e898ad7a0e45fe7386d114b150084254c01e200c957cf378378025df4e052c7890c5bd933939b0e0d2ecfcc1dc2f0b2991f5 - languageName: node - linkType: hard - "psl@npm:^1.1.33": version: 1.9.0 resolution: "psl@npm:1.9.0" @@ -19542,13 +12027,6 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^2.1.0": - version: 2.1.1 - resolution: "punycode@npm:2.1.1" - checksum: 10/939daa010c2cacebdb060c40ecb52fef0a739324a66f7fffe0f94353a1ee83e3b455e9032054c4a0c4977b0a28e27086f2171c392832b59a01bd948fd8e20914 - languageName: node - linkType: hard - "punycode@npm:^2.1.0, punycode@npm:^2.1.1, punycode@npm:^2.3.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" @@ -19556,38 +12034,6 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^2.1.1, punycode@npm:^2.3.1": - version: 2.3.1 - resolution: "punycode@npm:2.3.1" - checksum: 10/febdc4362bead22f9e2608ff0171713230b57aff9dddc1c273aa2a651fbd366f94b7d6a71d78342a7c0819906750351ca7f2edd26ea41b626d87d6a13d1bd059 - languageName: node - linkType: hard - -"pure-rand@npm:^6.0.0": - version: 6.1.0 - resolution: "pure-rand@npm:6.1.0" - checksum: 10/256aa4bcaf9297256f552914e03cbdb0039c8fe1db11fa1e6d3f80790e16e563eb0a859a1e61082a95e224fc0c608661839439f8ecc6a3db4e48d46d99216ee4 - languageName: node - linkType: hard - -"qs@npm:6.11.0": - version: 6.11.0 - resolution: "qs@npm:6.11.0" - dependencies: - side-channel: "npm:^1.0.4" - checksum: 10/5a3bfea3e2f359ede1bfa5d2f0dbe54001aa55e40e27dc3e60fab814362d83a9b30758db057c2011b6f53a2d4e4e5150194b5bac45372652aecb3e3c0d4b256e - languageName: node - linkType: hard - -"qs@npm:6.13.0, qs@npm:^6.12.3, qs@npm:^6.4.0": - version: 6.13.0 - resolution: "qs@npm:6.13.0" - dependencies: - side-channel: "npm:^1.0.6" - checksum: 10/f548b376e685553d12e461409f0d6e5c59ec7c7d76f308e2a888fd9db3e0c5e89902bedd0754db3a9038eda5f27da2331a6f019c8517dc5e0a16b3c9a6e9cef8 - languageName: node - linkType: hard - "qs@npm:^6.12.3": version: 6.13.0 resolution: "qs@npm:6.13.0" @@ -19627,52 +12073,6 @@ __metadata: languageName: node linkType: hard -"range-parser@npm:~1.2.1": - version: 1.2.1 - resolution: "range-parser@npm:1.2.1" - checksum: 10/ce21ef2a2dd40506893157970dc76e835c78cf56437e26e19189c48d5291e7279314477b06ac38abd6a401b661a6840f7b03bd0b1249da9b691deeaa15872c26 - languageName: node - linkType: hard - -"raw-body@npm:2.5.2": - version: 2.5.2 - resolution: "raw-body@npm:2.5.2" - dependencies: - bytes: "npm:3.1.2" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - unpipe: "npm:1.0.0" - checksum: 10/863b5171e140546a4d99f349b720abac4410338e23df5e409cfcc3752538c9caf947ce382c89129ba976f71894bd38b5806c774edac35ebf168d02aa1ac11a95 - languageName: node - linkType: hard - -"rc-slider@npm:^11.1.8": - version: 11.1.8 - resolution: "rc-slider@npm:11.1.8" - dependencies: - "@babel/runtime": "npm:^7.10.1" - classnames: "npm:^2.2.5" - rc-util: "npm:^5.36.0" - peerDependencies: - react: ">=16.9.0" - react-dom: ">=16.9.0" - checksum: 10/3efaefebd1699f9fcdb7008f03f9ecc73eb0c9db69b8a4009fbec1107950ec84b241275503505fa7e77d85fcef62d93934b8a94efb2be44d70d3e889db1070b4 - languageName: node - linkType: hard - -"rc-util@npm:^5.36.0": - version: 5.44.3 - resolution: "rc-util@npm:5.44.3" - dependencies: - "@babel/runtime": "npm:^7.18.3" - react-is: "npm:^18.2.0" - peerDependencies: - react: ">=16.9.0" - react-dom: ">=16.9.0" - checksum: 10/d254f339b10d7bb850cf3d792371a3ae569a4d768ceccbd5dc52779ac6edcd2aa2eb94859b10fce782f2baee4fdf5582a3d8a2293208a77edd07309c577e55f8 - languageName: node - linkType: hard - "react-color-palette@npm:^7.3.0": version: 7.3.0 resolution: "react-color-palette@npm:7.3.0" @@ -19682,44 +12082,6 @@ __metadata: languageName: node linkType: hard -"react-color@npm:^2.19.3": - version: 2.19.3 - resolution: "react-color@npm:2.19.3" - dependencies: - "@icons/material": "npm:^0.2.4" - lodash: "npm:^4.17.15" - lodash-es: "npm:^4.17.15" - material-colors: "npm:^1.2.1" - prop-types: "npm:^15.5.10" - reactcss: "npm:^1.2.0" - tinycolor2: "npm:^1.4.1" - peerDependencies: - react: "*" - checksum: 10/7d3e01a735e91896795422af20187afae79df9301d0658ac017cfff75d905af27dac25f5009c68c29b3e0d8ce03d220360ba0fe8ee0379cbb8a3535e73de934b - languageName: node - linkType: hard - -"react-colorful@npm:^5.1.2": - version: 5.6.1 - resolution: "react-colorful@npm:5.6.1" - peerDependencies: - react: ">=16.8.0" - react-dom: ">=16.8.0" - checksum: 10/3e02ba013454818d0c323949bd961fb2c19ac18130dfc67a4032aa5b03787c5ffe7ff159c4b97dc3475072d576828ca0c4b8e8ce85b55eaf484180596cdf0403 - languageName: node - linkType: hard - -"react-confetti@npm:^6.1.0": - version: 6.1.0 - resolution: "react-confetti@npm:6.1.0" - dependencies: - tween-functions: "npm:^1.2.0" - peerDependencies: - react: ^16.3.0 || ^17.0.1 || ^18.0.0 - checksum: 10/33423767c42362b29e0c8fd09f60bcf40d64aeb721fd63564f85c61357706a6080563ec40f33435d210d5b5b1af7277aef4545deccf771d08785a3cb19749470 - languageName: node - linkType: hard - "react-docgen-typescript@npm:^2.2.2": version: 2.2.2 resolution: "react-docgen-typescript@npm:2.2.2" @@ -19759,18 +12121,6 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:^18.3.1": - version: 18.3.1 - resolution: "react-dom@npm:18.3.1" - dependencies: - loose-envify: "npm:^1.1.0" - scheduler: "npm:^0.23.2" - peerDependencies: - react: ^18.3.1 - checksum: 10/3f4b73a3aa083091173b29812b10394dd06f4ac06aff410b74702cfb3aa29d7b0ced208aab92d5272919b612e5cda21aeb1d54191848cf6e46e9e354f3541f81 - languageName: node - linkType: hard - "react-dom@npm:^19.0.0": version: 19.0.0 resolution: "react-dom@npm:19.0.0" @@ -19782,27 +12132,6 @@ __metadata: languageName: node linkType: hard -"react-element-to-jsx-string@npm:^15.0.0": - version: 15.0.0 - resolution: "react-element-to-jsx-string@npm:15.0.0" - dependencies: - "@base2/pretty-print-object": "npm:1.0.1" - is-plain-object: "npm:5.0.0" - react-is: "npm:18.1.0" - peerDependencies: - react: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0 - react-dom: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0 - checksum: 10/9a874b2f16b4624a72c4b766b096d693a382b9dc7f2264f802395852ae3435ccde8e9e47bbe45cf5f30eba70f8126af6aca832190e285b0096af3ecade994df1 - languageName: node - linkType: hard - -"react-is@npm:18.1.0": - version: 18.1.0 - resolution: "react-is@npm:18.1.0" - checksum: 10/fe09c86d5e12a8531bf3e748660f3dffbe900a6da0b488c7efaf0a866e16b74ecc1b0011b0960b13594f8719f39f87a987c0c85edff0b2d3e2f14b87e7230ad2 - languageName: node - linkType: hard - "react-is@npm:^16.13.1": version: 16.13.1 resolution: "react-is@npm:16.13.1" @@ -19817,20 +12146,6 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^18.0.0": - version: 18.2.0 - resolution: "react-is@npm:18.2.0" - checksum: 10/200cd65bf2e0be7ba6055f647091b725a45dd2a6abef03bf2380ce701fd5edccee40b49b9d15edab7ac08a762bf83cb4081e31ec2673a5bfb549a36ba21570df - languageName: node - linkType: hard - -"react-is@npm:^18.2.0, react-is@npm:^18.3.1": - version: 18.3.1 - resolution: "react-is@npm:18.3.1" - checksum: 10/d5f60c87d285af24b1e1e7eaeb123ec256c3c8bdea7061ab3932e3e14685708221bf234ec50b21e10dd07f008f1b966a2730a0ce4ff67905b3872ff2042aec22 - languageName: node - linkType: hard - "react-is@npm:^18.3.1": version: 18.3.1 resolution: "react-is@npm:18.3.1" @@ -19838,16 +12153,6 @@ __metadata: languageName: node linkType: hard -"react-range@npm:^1.10.0": - version: 1.10.0 - resolution: "react-range@npm:1.10.0" - peerDependencies: - react: "*" - react-dom: "*" - checksum: 10/dd67d612496f95a246e0faea0fee1b59e4c5ed349ca6c1f8bd0fbcc82537494d5651e0da6f6f17d9a4f6f1efde83db5608b0d0014de088a3113c056daf41fe0e - languageName: node - linkType: hard - "react-refresh@npm:^0.14.2": version: 0.14.2 resolution: "react-refresh@npm:0.14.2" @@ -19855,19 +12160,6 @@ __metadata: languageName: node linkType: hard -"react-router-dom@npm:^6.26.0": - version: 6.26.0 - resolution: "react-router-dom@npm:6.26.0" - dependencies: - "@remix-run/router": "npm:1.19.0" - react-router: "npm:6.26.0" - peerDependencies: - react: ">=16.8" - react-dom: ">=16.8" - checksum: 10/be433029a0759d5faa2cd2cb28dd3c88106cdb46042c2e804e301aefad3db17aa9021b4e3d533e0fdcde5767ed0e1d296c04fecbc3e41231c3d8be9cc307018a - languageName: node - linkType: hard - "react-router-dom@npm:^6.28.2": version: 6.28.2 resolution: "react-router-dom@npm:6.28.2" @@ -19881,17 +12173,6 @@ __metadata: languageName: node linkType: hard -"react-router@npm:6.26.0": - version: 6.26.0 - resolution: "react-router@npm:6.26.0" - dependencies: - "@remix-run/router": "npm:1.19.0" - peerDependencies: - react: ">=16.8" - checksum: 10/d0c79a0f95a88730c0d2bfd098da9d6bdd4d7f08d4e1ddd152b5d013d3c01064afdd6fed57d4d3fa50c42c412e6d00e9217b2abd6cdbf4aaf810b7c33e728400 - languageName: node - linkType: hard - "react-router@npm:6.28.2": version: 6.28.2 resolution: "react-router@npm:6.28.2" @@ -19911,24 +12192,9 @@ __metadata: prop-types: "npm:^15.8.1" react-transition-group: "npm:^4.4.5" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10/1ecd78c04ff16642b3de4b0f8d1fc6aa571bd961027d52fa2e44b7dd132545ab6d2fdb5d52e058befaff31ba8c1cea5a0af449841dfc212b2033e95481237a37 - languageName: node - linkType: hard - -"react-syntax-highlighter@npm:^15.5.0": - version: 15.5.0 - resolution: "react-syntax-highlighter@npm:15.5.0" - dependencies: - "@babel/runtime": "npm:^7.3.1" - highlight.js: "npm:^10.4.1" - lowlight: "npm:^1.17.0" - prismjs: "npm:^1.27.0" - refractor: "npm:^3.6.0" - peerDependencies: - react: ">= 0.14.0" - checksum: 10/14291a92672a79cf167e6cf2dba2547b920c24573729a95ae24035bece43f7e00e3429477be7b87455e8ce018682c8992545c405a915421eb772c5cd07c00576 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 10/1ecd78c04ff16642b3de4b0f8d1fc6aa571bd961027d52fa2e44b7dd132545ab6d2fdb5d52e058befaff31ba8c1cea5a0af449841dfc212b2033e95481237a37 languageName: node linkType: hard @@ -19972,15 +12238,6 @@ __metadata: languageName: node linkType: hard -"react@npm:^18.3.1": - version: 18.3.1 - resolution: "react@npm:18.3.1" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10/261137d3f3993eaa2368a83110466fc0e558bc2c7f7ae7ca52d94f03aac945f45146bd85e5f481044db1758a1dbb57879e2fcdd33924e2dde1bdc550ce73f7bf - languageName: node - linkType: hard - "react@npm:^19.0.0": version: 19.0.0 resolution: "react@npm:19.0.0" @@ -19988,15 +12245,6 @@ __metadata: languageName: node linkType: hard -"reactcss@npm:^1.2.0": - version: 1.2.3 - resolution: "reactcss@npm:1.2.3" - dependencies: - lodash: "npm:^4.0.1" - checksum: 10/af811015b102b5551c9e22d61203d08b9e026ad1e40f810afb2d03d13abe6610a2e2a52e3511837a385b79633d67591c8e0c32fb58e3fd7bb42ddc6a618bb065 - languageName: node - linkType: hard - "read-cache@npm:^1.0.0": version: 1.0.0 resolution: "read-cache@npm:1.0.0" @@ -20028,17 +12276,6 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.1.1": - version: 3.6.2 - resolution: "readable-stream@npm:3.6.2" - dependencies: - inherits: "npm:^2.0.3" - string_decoder: "npm:^1.1.1" - util-deprecate: "npm:^1.0.1" - checksum: 10/d9e3e53193adcdb79d8f10f2a1f6989bd4389f5936c6f8b870e77570853561c362bee69feca2bbb7b32368ce96a85504aa4cedf7cf80f36e6a9de30d64244048 - languageName: node - linkType: hard - "readable-stream@npm:^3.6.0": version: 3.6.0 resolution: "readable-stream@npm:3.6.0" @@ -20105,19 +12342,6 @@ __metadata: languageName: node linkType: hard -"recast@npm:^0.23.5": - version: 0.23.6 - resolution: "recast@npm:0.23.6" - dependencies: - ast-types: "npm:^0.16.1" - esprima: "npm:~4.0.0" - source-map: "npm:~0.6.1" - tiny-invariant: "npm:^1.3.3" - tslib: "npm:^2.0.1" - checksum: 10/3b7bfac05a4ec427738f3a9dc3c955a863eb5bdf42817310a2f521da127613f833c648acee95fd11b4c906186a0b283d873b787d72e3d323a0f42abfcaf4b1f9 - languageName: node - linkType: hard - "recast@npm:^0.23.5, recast@npm:^0.23.9": version: 0.23.9 resolution: "recast@npm:0.23.9" @@ -20131,19 +12355,6 @@ __metadata: languageName: node linkType: hard -"recast@npm:^0.23.9": - version: 0.23.9 - resolution: "recast@npm:0.23.9" - dependencies: - ast-types: "npm:^0.16.1" - esprima: "npm:~4.0.0" - source-map: "npm:~0.6.1" - tiny-invariant: "npm:^1.3.3" - tslib: "npm:^2.0.1" - checksum: 10/d60584be179d81a82fbe58b5bbe009aa42831ee114a21a3e3a22bda91334e0b8a1a4610dca8ecb7f9ea1426da4febc08134d3003085ad6ecee478d1808eb8796 - languageName: node - linkType: hard - "recharts-scale@npm:^0.4.4": version: 0.4.5 resolution: "recharts-scale@npm:0.4.5" @@ -20214,33 +12425,6 @@ __metadata: languageName: node linkType: hard -"rehype-external-links@npm:^3.0.0": - version: 3.0.0 - resolution: "rehype-external-links@npm:3.0.0" - dependencies: - "@types/hast": "npm:^3.0.0" - "@ungap/structured-clone": "npm:^1.0.0" - hast-util-is-element: "npm:^3.0.0" - is-absolute-url: "npm:^4.0.0" - space-separated-tokens: "npm:^2.0.0" - unist-util-visit: "npm:^5.0.0" - checksum: 10/b9b2e4e5974a7d1e4030dc42bfad980d4700af35b6b20b36fc7ff0521897a8f20d3fe5e170255c428148fdd5a0653a73683da783124038d17b24f26dd59d20e8 - languageName: node - linkType: hard - -"rehype-highlight@npm:^7.0.0": - version: 7.0.0 - resolution: "rehype-highlight@npm:7.0.0" - dependencies: - "@types/hast": "npm:^3.0.0" - hast-util-to-text: "npm:^4.0.0" - lowlight: "npm:^3.0.0" - unist-util-visit: "npm:^5.0.0" - vfile: "npm:^6.0.0" - checksum: 10/cb8ce18bc23ba63c4ca8602ff2cd91566415e1813277e7a6144e3dfcf92f08b16bfb4d06178f79836709124be69e2f7dcca5b0aea10dc1b558de288109f858f2 - languageName: node - linkType: hard - "rehype-highlight@npm:^7.0.1": version: 7.0.1 resolution: "rehype-highlight@npm:7.0.1" @@ -20267,15 +12451,6 @@ __metadata: languageName: node linkType: hard -"release-zalgo@npm:^1.0.0": - version: 1.0.0 - resolution: "release-zalgo@npm:1.0.0" - dependencies: - es6-error: "npm:^4.0.1" - checksum: 10/1719e44b240ee1f57d034b26ea167f3cbf3c36fdae6d6efd0e6e5b202d9852baffc1c5595d378b5f8b2ad729b907ddd962f3d051d89499f83584993a5399f964 - languageName: node - linkType: hard - "remark-gfm@npm:^4.0.0": version: 4.0.0 resolution: "remark-gfm@npm:4.0.0" @@ -20343,13 +12518,6 @@ __metadata: languageName: node linkType: hard -"require-main-filename@npm:^2.0.0": - version: 2.0.0 - resolution: "require-main-filename@npm:2.0.0" - checksum: 10/8604a570c06a69c9d939275becc33a65676529e1c3e5a9f42d58471674df79357872b96d70bb93a0380a62d60dc9031c98b1a9dad98c946ffdd61b7ac0c8cedd - languageName: node - linkType: hard - "requires-port@npm:^1.0.0": version: 1.0.0 resolution: "requires-port@npm:1.0.0" @@ -20364,25 +12532,6 @@ __metadata: languageName: node linkType: hard -"resolve-cwd@npm:^3.0.0": - version: 3.0.0 - resolution: "resolve-cwd@npm:3.0.0" - dependencies: - resolve-from: "npm:^5.0.0" - checksum: 10/546e0816012d65778e580ad62b29e975a642989108d9a3c5beabfb2304192fa3c9f9146fbdfe213563c6ff51975ae41bac1d3c6e047dd9572c94863a057b4d81 - languageName: node - linkType: hard - -"resolve-dir@npm:^0.1.0": - version: 0.1.1 - resolution: "resolve-dir@npm:0.1.1" - dependencies: - expand-tilde: "npm:^1.2.2" - global-modules: "npm:^0.2.3" - checksum: 10/cc3e1885938f8fe9656a6faa651e21730d369260e907b8dd7c847a4aa18db348ac08ee0dbf2d6f87e2ba08715fb109432ec773bbb31698381bd2a48c0ea66072 - languageName: node - linkType: hard - "resolve-from@npm:^4.0.0": version: 4.0.0 resolution: "resolve-from@npm:4.0.0" @@ -20404,26 +12553,6 @@ __metadata: languageName: node linkType: hard -"resolve.exports@npm:^2.0.0": - version: 2.0.2 - resolution: "resolve.exports@npm:2.0.2" - checksum: 10/f1cc0b6680f9a7e0345d783e0547f2a5110d8336b3c2a4227231dd007271ffd331fd722df934f017af90bae0373920ca0d4005da6f76cb3176c8ae426370f893 - languageName: node - linkType: hard - -"resolve@npm:^1.1.7, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.8": - version: 1.22.8 - resolution: "resolve@npm:1.22.8" - dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10/c473506ee01eb45cbcfefb68652ae5759e092e6b0fb64547feadf9736a6394f258fbc6f88e00c5ca36d5477fbb65388b272432a3600fa223062e54333c156753 - languageName: node - linkType: hard - "resolve@npm:^1.1.7, resolve@npm:^1.22.1, resolve@npm:^1.22.8": version: 1.22.8 resolution: "resolve@npm:1.22.8" @@ -20437,19 +12566,6 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin": - version: 1.22.8 - resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" - dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10/f345cd37f56a2c0275e3fe062517c650bb673815d885e7507566df589375d165bbbf4bdb6aa95600a9bc55f4744b81f452b5a63f95b9f10a72787dba3c90890a - languageName: node - linkType: hard - "resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" @@ -20488,17 +12604,6 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": - version: 3.0.2 - resolution: "rimraf@npm:3.0.2" - dependencies: - glob: "npm:^7.1.3" - bin: - rimraf: bin.js - checksum: 10/063ffaccaaaca2cfd0ef3beafb12d6a03dd7ff1260d752d62a6077b5dfff6ae81bea571f655bb6b589d366930ec1bdd285d40d560c0dae9b12f125e54eb743d5 - languageName: node - linkType: hard - "rimraf@npm:^3.0.2": version: 3.0.2 resolution: "rimraf@npm:3.0.2" @@ -20522,17 +12627,6 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:~2.6.2": - version: 2.6.3 - resolution: "rimraf@npm:2.6.3" - dependencies: - glob: "npm:^7.1.3" - bin: - rimraf: ./bin.js - checksum: 10/756419f2fa99aa119c46a9fc03e09d84ecf5421a80a72d1944c5088c9e4671e77128527a900a313ed9d3fdbdd37e2ae05486cd7e9116d5812d8c31f2399d7c86 - languageName: node - linkType: hard - "rollup-plugin-copy@npm:^3.5.0": version: 3.5.0 resolution: "rollup-plugin-copy@npm:3.5.0" @@ -20606,69 +12700,6 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^4.19.0, rollup@npm:^4.20.0": - version: 4.20.0 - resolution: "rollup@npm:4.20.0" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.20.0" - "@rollup/rollup-android-arm64": "npm:4.20.0" - "@rollup/rollup-darwin-arm64": "npm:4.20.0" - "@rollup/rollup-darwin-x64": "npm:4.20.0" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.20.0" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.20.0" - "@rollup/rollup-linux-arm64-gnu": "npm:4.20.0" - "@rollup/rollup-linux-arm64-musl": "npm:4.20.0" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.20.0" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.20.0" - "@rollup/rollup-linux-s390x-gnu": "npm:4.20.0" - "@rollup/rollup-linux-x64-gnu": "npm:4.20.0" - "@rollup/rollup-linux-x64-musl": "npm:4.20.0" - "@rollup/rollup-win32-arm64-msvc": "npm:4.20.0" - "@rollup/rollup-win32-ia32-msvc": "npm:4.20.0" - "@rollup/rollup-win32-x64-msvc": "npm:4.20.0" - "@types/estree": "npm:1.0.5" - fsevents: "npm:~2.3.2" - dependenciesMeta: - "@rollup/rollup-android-arm-eabi": - optional: true - "@rollup/rollup-android-arm64": - optional: true - "@rollup/rollup-darwin-arm64": - optional: true - "@rollup/rollup-darwin-x64": - optional: true - "@rollup/rollup-linux-arm-gnueabihf": - optional: true - "@rollup/rollup-linux-arm-musleabihf": - optional: true - "@rollup/rollup-linux-arm64-gnu": - optional: true - "@rollup/rollup-linux-arm64-musl": - optional: true - "@rollup/rollup-linux-powerpc64le-gnu": - optional: true - "@rollup/rollup-linux-riscv64-gnu": - optional: true - "@rollup/rollup-linux-s390x-gnu": - optional: true - "@rollup/rollup-linux-x64-gnu": - optional: true - "@rollup/rollup-linux-x64-musl": - optional: true - "@rollup/rollup-win32-arm64-msvc": - optional: true - "@rollup/rollup-win32-ia32-msvc": - optional: true - "@rollup/rollup-win32-x64-msvc": - optional: true - fsevents: - optional: true - bin: - rollup: dist/bin/rollup - checksum: 10/448bd835715aa0f78c6888314e31fb92f1b83325ef0ff861a5a322c2bc87d200b2b6c4acb9223fb669c27ae0c4b071003b6877eec1d3411174615a4057db8946 - languageName: node - linkType: hard - "rollup@npm:^4.20.0, rollup@npm:^4.23.0, rollup@npm:^4.24.0, rollup@npm:^4.31.0": version: 4.31.0 resolution: "rollup@npm:4.31.0" @@ -20741,90 +12772,25 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^4.22.4": - version: 4.22.4 - resolution: "rollup@npm:4.22.4" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.22.4" - "@rollup/rollup-android-arm64": "npm:4.22.4" - "@rollup/rollup-darwin-arm64": "npm:4.22.4" - "@rollup/rollup-darwin-x64": "npm:4.22.4" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.22.4" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.22.4" - "@rollup/rollup-linux-arm64-gnu": "npm:4.22.4" - "@rollup/rollup-linux-arm64-musl": "npm:4.22.4" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.22.4" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.22.4" - "@rollup/rollup-linux-s390x-gnu": "npm:4.22.4" - "@rollup/rollup-linux-x64-gnu": "npm:4.22.4" - "@rollup/rollup-linux-x64-musl": "npm:4.22.4" - "@rollup/rollup-win32-arm64-msvc": "npm:4.22.4" - "@rollup/rollup-win32-ia32-msvc": "npm:4.22.4" - "@rollup/rollup-win32-x64-msvc": "npm:4.22.4" - "@types/estree": "npm:1.0.5" - fsevents: "npm:~2.3.2" - dependenciesMeta: - "@rollup/rollup-android-arm-eabi": - optional: true - "@rollup/rollup-android-arm64": - optional: true - "@rollup/rollup-darwin-arm64": - optional: true - "@rollup/rollup-darwin-x64": - optional: true - "@rollup/rollup-linux-arm-gnueabihf": - optional: true - "@rollup/rollup-linux-arm-musleabihf": - optional: true - "@rollup/rollup-linux-arm64-gnu": - optional: true - "@rollup/rollup-linux-arm64-musl": - optional: true - "@rollup/rollup-linux-powerpc64le-gnu": - optional: true - "@rollup/rollup-linux-riscv64-gnu": - optional: true - "@rollup/rollup-linux-s390x-gnu": - optional: true - "@rollup/rollup-linux-x64-gnu": - optional: true - "@rollup/rollup-linux-x64-musl": - optional: true - "@rollup/rollup-win32-arm64-msvc": - optional: true - "@rollup/rollup-win32-ia32-msvc": - optional: true - "@rollup/rollup-win32-x64-msvc": - optional: true - fsevents: - optional: true - bin: - rollup: dist/bin/rollup - checksum: 10/0fbee8c14d9052624c76a09fe79ed4d46024832be3ceea86c69f1521ae84b581a64c6e6596fdd796030c206835987e1a0a3be85f4c0d35b71400be5dce799d12 - languageName: node - linkType: hard - "root@workspace:.": version: 0.0.0-use.local resolution: "root@workspace:." dependencies: - "@biomejs/biome": "npm:1.9.3" + "@biomejs/biome": "npm:1.9.4" "@changesets/changelog-github": "npm:^0.5.0" - "@changesets/cli": "npm:^2.27.7" - "@svitejs/changesets-changelog-github-compact": "npm:^1.1.0" - "@types/node": "npm:^22.1.0" - "@vitejs/plugin-react-swc": "npm:^3.7.0" - "@vitest/coverage-v8": "npm:^2.0.5" - "@vitest/expect": "npm:^2.0.5" - chromatic: "npm:^11.11.0" + "@changesets/cli": "npm:^2.27.11" + "@svitejs/changesets-changelog-github-compact": "npm:^1.2.0" + "@types/node": "npm:^22.10.7" + "@vitejs/plugin-react-swc": "npm:^3.7.2" + "@vitest/coverage-v8": "npm:^2.1.8" + "@vitest/expect": "npm:^2.1.8" + chromatic: "npm:^11.25.0" copyfiles: "npm:^2.4.1" - storybook-addon-pseudo-states: "npm:^4.0.2" tsconfck: "npm:^3.1.4" - typescript: "npm:^5.5.4" + typescript: "npm:^5.7.3" typescript-plugin-css-modules: "npm:^5.1.0" - vite: "npm:^5.3.6" - vitest: "npm:^2.0.5" - checksum: 10/undefined + vite: "npm:^6.0.11" + vitest: "npm:^2.1.8" languageName: unknown linkType: soft @@ -20842,13 +12808,6 @@ __metadata: languageName: node linkType: hard -"rrweb-cssom@npm:^0.8.0": - version: 0.8.0 - resolution: "rrweb-cssom@npm:0.8.0" - checksum: 10/07521ee36fb6569c17906afad1ac7ff8f099d49ade9249e190693ac36cdf27f88d9acf0cc66978935d5d0a23fca105643d7e9125b9a9d91ed9db9e02d31d7d80 - languageName: node - linkType: hard - "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -20867,20 +12826,6 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": - version: 5.1.2 - resolution: "safe-buffer@npm:5.1.2" - checksum: 10/7eb5b48f2ed9a594a4795677d5a150faa7eb54483b2318b568dc0c4fc94092a6cce5be02c7288a0500a156282f5276d5688bce7259299568d1053b2150ef374a - languageName: node - linkType: hard - -"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: 10/32872cd0ff68a3ddade7a7617b8f4c2ae8764d8b7d884c651b74457967a9e0e886267d3ecc781220629c44a865167b61c375d2da6c720c840ecd73f45d5d9451 - languageName: node - linkType: hard - "safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" @@ -20915,13 +12860,6 @@ __metadata: languageName: node linkType: hard -"sax@npm:^1.2.4": - version: 1.2.4 - resolution: "sax@npm:1.2.4" - checksum: 10/09b79ff6dc09689a24323352117c94593c69db348997b2af0edbd82fa08aba47d778055bf9616b57285bb73d25d790900c044bf631a8f10c8252412e3f3fe5dd - languageName: node - linkType: hard - "sax@npm:^1.2.4, sax@npm:~1.3.0": version: 1.3.0 resolution: "sax@npm:1.3.0" @@ -20929,13 +12867,6 @@ __metadata: languageName: node linkType: hard -"sax@npm:~1.3.0": - version: 1.3.0 - resolution: "sax@npm:1.3.0" - checksum: 10/bb571b31d30ecb0353c2ff5f87b117a03e5fb9eb4c1519141854c1a8fbee0a77ddbe8045f413259e711833aa03da210887df8527d19cdc55f299822dbf4b34de - languageName: node - linkType: hard - "saxes@npm:^6.0.0": version: 6.0.0 resolution: "saxes@npm:6.0.0" @@ -20954,15 +12885,6 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.23.2": - version: 0.23.2 - resolution: "scheduler@npm:0.23.2" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10/e8d68b89d18d5b028223edf090092846868a765a591944760942b77ea1f69b17235f7e956696efbb62c8130ab90af7e0949bfb8eba7896335507317236966bc9 - languageName: node - linkType: hard - "scheduler@npm:^0.25.0": version: 0.25.0 resolution: "scheduler@npm:0.25.0" @@ -20981,28 +12903,12 @@ __metadata: languageName: node linkType: hard -"secure-compare@npm:3.0.1": - version: 3.0.1 - resolution: "secure-compare@npm:3.0.1" - checksum: 10/0a8d8d3e54d5772d2cf1c02325f01fc7366d0bd33f964a08a84fe3ee5f34d46435a6ae729c1d239c750e160ef9b58c764d3efb945a1d07faf47978a8e4161594 - languageName: node - linkType: hard - "semver@npm:^5.6.0": version: 5.7.2 resolution: "semver@npm:5.7.2" bin: semver: bin/semver - checksum: 10/fca14418a174d4b4ef1fecb32c5941e3412d52a4d3d85165924ce3a47fbc7073372c26faf7484ceb4bbc2bde25880c6b97e492473dc7e9708fdfb1c6a02d546e - languageName: node - linkType: hard - -"semver@npm:^6.0.0, semver@npm:^6.3.0, semver@npm:^6.3.1": - version: 6.3.1 - resolution: "semver@npm:6.3.1" - bin: - semver: bin/semver.js - checksum: 10/1ef3a85bd02a760c6ef76a45b8c1ce18226de40831e02a00bad78485390b98b6ccaa31046245fc63bba4a47a6a592b6c7eedc65cc47126e60489f9cc1ce3ed7e + checksum: 10/fca14418a174d4b4ef1fecb32c5941e3412d52a4d3d85165924ce3a47fbc7073372c26faf7484ceb4bbc2bde25880c6b97e492473dc7e9708fdfb1c6a02d546e languageName: node linkType: hard @@ -21015,17 +12921,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.3": - version: 7.5.4 - resolution: "semver@npm:7.5.4" - dependencies: - lru-cache: "npm:^6.0.0" - bin: - semver: bin/semver.js - checksum: 10/985dec0d372370229a262c737063860fabd4a1c730662c1ea3200a2f649117761a42184c96df62a0e885e76fbd5dace41087d6c1ac0351b13c0df5d6bcb1b5ac - languageName: node - linkType: hard - "semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.6.2, semver@npm:^7.6.3": version: 7.6.3 resolution: "semver@npm:7.6.3" @@ -21035,57 +12930,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.5.4, semver@npm:^7.6.2": - version: 7.6.3 - resolution: "semver@npm:7.6.3" - bin: - semver: bin/semver.js - checksum: 10/36b1fbe1a2b6f873559cd57b238f1094a053dbfd997ceeb8757d79d1d2089c56d1321b9f1069ce263dc64cfa922fa1d2ad566b39426fe1ac6c723c1487589e10 - languageName: node - linkType: hard - -"send@npm:0.18.0": - version: 0.18.0 - resolution: "send@npm:0.18.0" - dependencies: - debug: "npm:2.6.9" - depd: "npm:2.0.0" - destroy: "npm:1.2.0" - encodeurl: "npm:~1.0.2" - escape-html: "npm:~1.0.3" - etag: "npm:~1.8.1" - fresh: "npm:0.5.2" - http-errors: "npm:2.0.0" - mime: "npm:1.6.0" - ms: "npm:2.1.3" - on-finished: "npm:2.4.1" - range-parser: "npm:~1.2.1" - statuses: "npm:2.0.1" - checksum: 10/ec66c0ad109680ad8141d507677cfd8b4e40b9559de23191871803ed241718e99026faa46c398dcfb9250676076573bd6bfe5d0ec347f88f4b7b8533d1d391cb - languageName: node - linkType: hard - -"send@npm:0.19.0": - version: 0.19.0 - resolution: "send@npm:0.19.0" - dependencies: - debug: "npm:2.6.9" - depd: "npm:2.0.0" - destroy: "npm:1.2.0" - encodeurl: "npm:~1.0.2" - escape-html: "npm:~1.0.3" - etag: "npm:~1.8.1" - fresh: "npm:0.5.2" - http-errors: "npm:2.0.0" - mime: "npm:1.6.0" - ms: "npm:2.1.3" - on-finished: "npm:2.4.1" - range-parser: "npm:~1.2.1" - statuses: "npm:2.0.1" - checksum: 10/1f6064dea0ae4cbe4878437aedc9270c33f2a6650a77b56a16b62d057527f2766d96ee282997dd53ec0339082f2aad935bc7d989b46b48c82fc610800dc3a1d0 - languageName: node - linkType: hard - "serialize-javascript@npm:^6.0.1": version: 6.0.2 resolution: "serialize-javascript@npm:6.0.2" @@ -21095,25 +12939,6 @@ __metadata: languageName: node linkType: hard -"serve-static@npm:1.16.0": - version: 1.16.0 - resolution: "serve-static@npm:1.16.0" - dependencies: - encodeurl: "npm:~1.0.2" - escape-html: "npm:~1.0.3" - parseurl: "npm:~1.3.3" - send: "npm:0.18.0" - checksum: 10/29a01f67e8c64a359d49dd0c46bc95bb4aa99781f97845dccbf0c8cd0284c5fd79ad7fb9433a36fac4b6c58b577d3eab314a379142412413b8b5cd73be3cd551 - languageName: node - linkType: hard - -"server-only@npm:^0.0.1": - version: 0.0.1 - resolution: "server-only@npm:0.0.1" - checksum: 10/c432348956641ea3f460af8dc3765f3a1bdbcf7a1e0205b0756d868e6e6fe8934cdee6bff68401a1dd49ba4a831c75916517a877446d54b334f7de36fa273e53 - languageName: node - linkType: hard - "set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -21121,18 +12946,6 @@ __metadata: languageName: node linkType: hard -"set-function-length@npm:^1.1.1": - version: 1.1.1 - resolution: "set-function-length@npm:1.1.1" - dependencies: - define-data-property: "npm:^1.1.1" - get-intrinsic: "npm:^1.2.1" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.0" - checksum: 10/745ed1d7dc69a6185e0820082fe73838ab3dfd01e75cce83a41e4c1d68bbf34bc5fb38f32ded542ae0b557536b5d2781594499b5dcd19e7db138e06292a76c7b - languageName: node - linkType: hard - "set-function-length@npm:^1.2.1": version: 1.2.2 resolution: "set-function-length@npm:1.2.2" @@ -21147,13 +12960,6 @@ __metadata: languageName: node linkType: hard -"setprototypeof@npm:1.2.0": - version: 1.2.0 - resolution: "setprototypeof@npm:1.2.0" - checksum: 10/fde1630422502fbbc19e6844346778f99d449986b2f9cdcceb8326730d2f3d9964dbcb03c02aaadaefffecd0f2c063315ebea8b3ad895914bf1afc1747fc172e - languageName: node - linkType: hard - "shallow-clone@npm:^3.0.0": version: 3.0.1 resolution: "shallow-clone@npm:3.0.1" @@ -21232,15 +13038,6 @@ __metadata: languageName: node linkType: hard -"shebang-command@npm:^1.2.0": - version: 1.2.0 - resolution: "shebang-command@npm:1.2.0" - dependencies: - shebang-regex: "npm:^1.0.0" - checksum: 10/9eed1750301e622961ba5d588af2212505e96770ec376a37ab678f965795e995ade7ed44910f5d3d3cb5e10165a1847f52d3348c64e146b8be922f7707958908 - languageName: node - linkType: hard - "shebang-command@npm:^2.0.0": version: 2.0.0 resolution: "shebang-command@npm:2.0.0" @@ -21250,13 +13047,6 @@ __metadata: languageName: node linkType: hard -"shebang-regex@npm:^1.0.0": - version: 1.0.0 - resolution: "shebang-regex@npm:1.0.0" - checksum: 10/404c5a752cd40f94591dfd9346da40a735a05139dac890ffc229afba610854d8799aaa52f87f7e0c94c5007f2c6af55bdcaeb584b56691926c5eaf41dc8f1372 - languageName: node - linkType: hard - "shebang-regex@npm:^3.0.0": version: 3.0.0 resolution: "shebang-regex@npm:3.0.0" @@ -21271,17 +13061,6 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.4": - version: 1.0.4 - resolution: "side-channel@npm:1.0.4" - dependencies: - call-bind: "npm:^1.0.0" - get-intrinsic: "npm:^1.0.2" - object-inspect: "npm:^1.9.0" - checksum: 10/c4998d9fc530b0e75a7fd791ad868fdc42846f072734f9080ff55cc8dc7d3899abcda24fd896aa6648c3ab7021b4bb478073eb4f44dfd55bce9714bc1a7c5d45 - languageName: node - linkType: hard - "side-channel@npm:^1.0.6": version: 1.0.6 resolution: "side-channel@npm:1.0.6" @@ -21301,13 +13080,6 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": - version: 3.0.7 - resolution: "signal-exit@npm:3.0.7" - checksum: 10/a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 - languageName: node - linkType: hard - "signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" @@ -21315,13 +13087,6 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^4.0.1": - version: 4.0.1 - resolution: "signal-exit@npm:4.0.1" - checksum: 10/3d345d3a6c3ed533aa8107f8fab73257cf8ddacd0a297c00d0fd3c960a9802900e3cbc518076254ee4ab99ef253b059929d6bf907c5fbc805fdc8a186d900bc0 - languageName: node - linkType: hard - "signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": version: 4.1.0 resolution: "signal-exit@npm:4.1.0" @@ -21329,13 +13094,6 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^4.1.0": - version: 4.1.0 - resolution: "signal-exit@npm:4.1.0" - checksum: 10/c9fa63bbbd7431066174a48ba2dd9986dfd930c3a8b59de9c29d7b6854ec1c12a80d15310869ea5166d413b99f041bfa3dd80a7947bcd44ea8e6eb3ffeabfa1f - languageName: node - linkType: hard - "simple-swizzle@npm:^0.2.2": version: 0.2.2 resolution: "simple-swizzle@npm:0.2.2" @@ -21422,14 +13180,7 @@ __metadata: languageName: node linkType: hard -"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.0.1, source-map-js@npm:^1.0.2": - version: 1.0.2 - resolution: "source-map-js@npm:1.0.2" - checksum: 10/38e2d2dd18d2e331522001fc51b54127ef4a5d473f53b1349c5cca2123562400e0986648b52e9407e348eaaed53bce49248b6e2641e6d793ca57cb2c360d6d51 - languageName: node - linkType: hard - -"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.0.1, source-map-js@npm:^1.0.2, source-map-js@npm:^1.2.0, source-map-js@npm:^1.2.1": +"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.0.1, source-map-js@npm:^1.0.2, source-map-js@npm:^1.2.1": version: 1.2.1 resolution: "source-map-js@npm:1.2.1" checksum: 10/ff9d8c8bf096d534a5b7707e0382ef827b4dd360a577d3f34d2b9f48e12c9d230b5747974ee7c607f0df65113732711bb701fe9ece3c7edbd43cb2294d707df3 @@ -21443,23 +13194,6 @@ __metadata: languageName: node linkType: hard -"source-map-js@npm:^1.2.1": - version: 1.2.1 - resolution: "source-map-js@npm:1.2.1" - checksum: 10/ff9d8c8bf096d534a5b7707e0382ef827b4dd360a577d3f34d2b9f48e12c9d230b5747974ee7c607f0df65113732711bb701fe9ece3c7edbd43cb2294d707df3 - languageName: node - linkType: hard - -"source-map-support@npm:0.5.13": - version: 0.5.13 - resolution: "source-map-support@npm:0.5.13" - dependencies: - buffer-from: "npm:^1.0.0" - source-map: "npm:^0.6.0" - checksum: 10/d1514a922ac9c7e4786037eeff6c3322f461cd25da34bb9fefb15387b3490531774e6e31d95ab6d5b84a3e139af9c3a570ccaee6b47bd7ea262691ed3a8bc34e - languageName: node - linkType: hard - "source-map-support@npm:^0.5.16, source-map-support@npm:~0.5.20": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" @@ -21479,13 +13213,6 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0, source-map@npm:~0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 10/59ef7462f1c29d502b3057e822cdbdae0b0e565302c4dd1a95e11e793d8d9d62006cdc10e0fd99163ca33ff2071360cf50ee13f90440806e7ed57d81cba2f7ff - languageName: node - linkType: hard - "source-map@npm:^0.6.0, source-map@npm:~0.6.0, source-map@npm:~0.6.1": version: 0.6.1 resolution: "source-map@npm:0.6.1" @@ -21514,42 +13241,6 @@ __metadata: languageName: node linkType: hard -"spawn-wrap@npm:^2.0.0": - version: 2.0.0 - resolution: "spawn-wrap@npm:2.0.0" - dependencies: - foreground-child: "npm:^2.0.0" - is-windows: "npm:^1.0.2" - make-dir: "npm:^3.0.0" - rimraf: "npm:^3.0.0" - signal-exit: "npm:^3.0.2" - which: "npm:^2.0.1" - checksum: 10/ce6ca08d66c3a41a28a7ecc10bf4945d7930fd3ae961d40804ee109cee6ee9f8436125f53bc07918ca1eb461fe2ff0033af1dc3cb803469b585639675fc2d2e7 - languageName: node - linkType: hard - -"spawnd@npm:^5.0.0": - version: 5.0.0 - resolution: "spawnd@npm:5.0.0" - dependencies: - exit: "npm:^0.1.2" - signal-exit: "npm:^3.0.3" - tree-kill: "npm:^1.2.2" - wait-port: "npm:^0.2.9" - checksum: 10/6b1a8e4096efbf77729818ba09b9a54a3f6f9c002dfd62610f6d35ea80b21bd4a9c39a3d86650440ccd364f6bc2f46da1fa292836fbb1e9af02ca64a58990184 - languageName: node - linkType: hard - -"spawndamnit@npm:^2.0.0": - version: 2.0.0 - resolution: "spawndamnit@npm:2.0.0" - dependencies: - cross-spawn: "npm:^5.1.0" - signal-exit: "npm:^3.0.2" - checksum: 10/c74b5e264ee5bc13d55692fd422d74c282e4607eb04ac64d19d06796718d89b14921620fa4237ec5635e7acdff21461670ff19850f210225410a353cad0d7fed - languageName: node - linkType: hard - "spawndamnit@npm:^3.0.1": version: 3.0.1 resolution: "spawndamnit@npm:3.0.1" @@ -21576,15 +13267,6 @@ __metadata: languageName: node linkType: hard -"stack-utils@npm:^2.0.3": - version: 2.0.6 - resolution: "stack-utils@npm:2.0.6" - dependencies: - escape-string-regexp: "npm:^2.0.0" - checksum: 10/cdc988acbc99075b4b036ac6014e5f1e9afa7e564482b687da6384eee6a1909d7eaffde85b0a17ffbe186c5247faf6c2b7544e802109f63b72c7be69b13151bb - languageName: node - linkType: hard - "stackback@npm:0.0.2": version: 0.0.2 resolution: "stackback@npm:0.0.2" @@ -21592,13 +13274,6 @@ __metadata: languageName: node linkType: hard -"statuses@npm:2.0.1": - version: 2.0.1 - resolution: "statuses@npm:2.0.1" - checksum: 10/18c7623fdb8f646fb213ca4051be4df7efb3484d4ab662937ca6fbef7ced9b9e12842709872eb3020cc3504b93bde88935c9f6417489627a7786f24f8031cbcb - languageName: node - linkType: hard - "statuses@npm:^2.0.1": version: 2.0.1 resolution: "statuses@npm:2.0.1" @@ -21606,13 +13281,6 @@ __metadata: languageName: node linkType: hard -"std-env@npm:^3.7.0": - version: 3.7.0 - resolution: "std-env@npm:3.7.0" - checksum: 10/6ee0cca1add3fd84656b0002cfbc5bfa20340389d9ba4720569840f1caa34bce74322aef4c93f046391583e50649d0cf81a5f8fe1d411e50b659571690a45f12 - languageName: node - linkType: hard - "std-env@npm:^3.8.0": version: 3.8.0 resolution: "std-env@npm:3.8.0" @@ -21627,26 +13295,25 @@ __metadata: "@digdir/designsystemet-css": "workspace:^" "@digdir/designsystemet-react": "workspace:^" "@digdir/designsystemet-theme": "workspace:^" - "@mdx-js/loader": "npm:^3.0.1" - "@mdx-js/react": "npm:^3.0.1" + "@mdx-js/loader": "npm:^3.1.0" + "@mdx-js/react": "npm:^3.1.0" "@navikt/aksel-icons": "npm:^6.14.0" - "@next/mdx": "npm:^14.2.5" + "@next/mdx": "npm:^14.2.23" "@repo/components": "workspace:^" - "@types/react": "npm:^18.3.3" - "@types/react-dom": "npm:^18.3.0" - "@vercel/analytics": "npm:^1.3.1" + "@types/react": "npm:^19.0.7" + "@types/react-dom": "npm:^19.0.3" + "@vercel/analytics": "npm:^1.4.1" clsx: "npm:^2.1.1" hastscript: "npm:^9.0.0" - next: "npm:^14.2.5" + next: "npm:^15.1.5" next-sitemap: "npm:^4.2.3" - react: "npm:^18.3.1" - react-dom: "npm:^18.3.1" + react: "npm:^19.0.0" + react-dom: "npm:^19.0.0" rehype-autolink-headings: "npm:^7.1.0" - rehype-highlight: "npm:^7.0.0" + rehype-highlight: "npm:^7.0.1" rehype-slug: "npm:^6.0.0" remark-gfm: "npm:^4.0.0" - webpack: "npm:^5.94.0" - checksum: 10/undefined + webpack: "npm:^5.97.1" languageName: unknown linkType: soft @@ -21661,19 +13328,6 @@ __metadata: languageName: node linkType: hard -"storybook@npm:^8.3.4": - version: 8.3.4 - resolution: "storybook@npm:8.3.4" - dependencies: - "@storybook/core": "npm:8.3.4" - bin: - getstorybook: ./bin/index.cjs - sb: ./bin/index.cjs - storybook: ./bin/index.cjs - checksum: 10/eb1c0ade3ba5ad682b6405fef4dd9090fc31c11e0f869271b17104f49fdc60548617f7d065a972b63b480fbb1959bbff5d047d3a70cb41d2afbcb362a13e39a4 - languageName: node - linkType: hard - "storybook@npm:^8.5.2": version: 8.5.2 resolution: "storybook@npm:8.5.2" @@ -21715,26 +13369,6 @@ __metadata: languageName: node linkType: hard -"string-length@npm:^4.0.1": - version: 4.0.2 - resolution: "string-length@npm:4.0.2" - dependencies: - char-regex: "npm:^1.0.2" - strip-ansi: "npm:^6.0.0" - checksum: 10/ce85533ef5113fcb7e522bcf9e62cb33871aa99b3729cec5595f4447f660b0cefd542ca6df4150c97a677d58b0cb727a3fe09ac1de94071d05526c73579bf505 - languageName: node - linkType: hard - -"string-length@npm:^5.0.1": - version: 5.0.1 - resolution: "string-length@npm:5.0.1" - dependencies: - char-regex: "npm:^2.0.0" - strip-ansi: "npm:^7.0.1" - checksum: 10/71f73b8c8a743e01dcd001bcf1b197db78d5e5e53b12bd898cddaf0961be09f947dfd8c429783db3694b55b05cb5a51de6406c5085ff1aaa10c4771440c8396d - languageName: node - linkType: hard - "string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" @@ -21810,15 +13444,6 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" - dependencies: - ansi-regex: "npm:^6.0.1" - checksum: 10/475f53e9c44375d6e72807284024ac5d668ee1d06010740dec0b9744f2ddf47de8d7151f80e5f6190fc8f384e802fdf9504b76a7e9020c9faee7103623338be2 - languageName: node - linkType: hard - "strip-bom@npm:^3.0.0": version: 3.0.0 resolution: "strip-bom@npm:3.0.0" @@ -21826,27 +13451,6 @@ __metadata: languageName: node linkType: hard -"strip-bom@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-bom@npm:4.0.0" - checksum: 10/9dbcfbaf503c57c06af15fe2c8176fb1bf3af5ff65003851a102749f875a6dbe0ab3b30115eccf6e805e9d756830d3e40ec508b62b3f1ddf3761a20ebe29d3f3 - languageName: node - linkType: hard - -"strip-final-newline@npm:^2.0.0": - version: 2.0.0 - resolution: "strip-final-newline@npm:2.0.0" - checksum: 10/69412b5e25731e1938184b5d489c32e340605bb611d6140344abc3421b7f3c6f9984b21dff296dfcf056681b82caa3bb4cc996a965ce37bcfad663e92eae9c64 - languageName: node - linkType: hard - -"strip-final-newline@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-final-newline@npm:3.0.0" - checksum: 10/23ee263adfa2070cd0f23d1ac14e2ed2f000c9b44229aec9c799f1367ec001478469560abefd00c5c99ee6f0b31c137d53ec6029c53e9f32a93804e18c201050 - languageName: node - linkType: hard - "strip-indent@npm:^3.0.0": version: 3.0.0 resolution: "strip-indent@npm:3.0.0" @@ -21865,35 +13469,6 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 10/492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 - languageName: node - linkType: hard - -"style-dictionary@npm:^4.0.1": - version: 4.0.1 - resolution: "style-dictionary@npm:4.0.1" - dependencies: - "@bundled-es-modules/deepmerge": "npm:^4.3.1" - "@bundled-es-modules/glob": "npm:^10.4.2" - "@bundled-es-modules/memfs": "npm:^4.9.4" - "@zip.js/zip.js": "npm:^2.7.44" - chalk: "npm:^5.3.0" - change-case: "npm:^5.3.0" - commander: "npm:^8.3.0" - is-plain-obj: "npm:^4.1.0" - json5: "npm:^2.2.2" - patch-package: "npm:^8.0.0" - path-unified: "npm:^0.1.0" - tinycolor2: "npm:^1.6.0" - bin: - style-dictionary: bin/style-dictionary.js - checksum: 10/67b3d6ba911b6751d7d7f68b199ef85e2273b223d8d9218fabb5909507936a76cc6db8fcc2a3050414ff6c256d943640360b377362ccd1dce19cfced81203a77 - languageName: node - linkType: hard - "style-dictionary@npm:^4.3.1": version: 4.3.1 resolution: "style-dictionary@npm:4.3.1" @@ -21935,22 +13510,6 @@ __metadata: languageName: node linkType: hard -"styled-jsx@npm:5.1.1": - version: 5.1.1 - resolution: "styled-jsx@npm:5.1.1" - dependencies: - client-only: "npm:0.0.1" - peerDependencies: - react: ">= 16.8.0 || 17.x.x || ^18.0.0-0" - peerDependenciesMeta: - "@babel/core": - optional: true - babel-plugin-macros: - optional: true - checksum: 10/4f6a5d0010770fdeea1183d919d528fd46c484e23c0535ef3e1dd49488116f639c594f3bd4440e3bc8a8686c9f8d53c5761599870ff039ede11a5c3bfe08a4be - languageName: node - linkType: hard - "styled-jsx@npm:5.1.6": version: 5.1.6 resolution: "styled-jsx@npm:5.1.6" @@ -21967,18 +13526,6 @@ __metadata: languageName: node linkType: hard -"stylehacks@npm:^7.0.2": - version: 7.0.2 - resolution: "stylehacks@npm:7.0.2" - dependencies: - browserslist: "npm:^4.23.1" - postcss-selector-parser: "npm:^6.1.0" - peerDependencies: - postcss: ^8.4.31 - checksum: 10/987b35c5af8632449bedd7dfab373412ce91a4d7dee9183318b781da636558428ffcb9c6cfc0164a84d0d852b2c3e507796a06cf4d5acbe963577620e4af5fac - languageName: node - linkType: hard - "stylehacks@npm:^7.0.4": version: 7.0.4 resolution: "stylehacks@npm:7.0.4" @@ -22117,25 +13664,6 @@ __metadata: languageName: node linkType: hard -"telejson@npm:^7.2.0": - version: 7.2.0 - resolution: "telejson@npm:7.2.0" - dependencies: - memoizerific: "npm:^1.11.3" - checksum: 10/6e89b3d3c45b5a2aced9132f6a968fcdf758c00be4c3acb115d7d81e95c9e04083a7a4a9b43057fcf48b101156c1607a38f5491615956acb28d4d1f78a4bda20 - languageName: node - linkType: hard - -"temp@npm:^0.9.4": - version: 0.9.4 - resolution: "temp@npm:0.9.4" - dependencies: - mkdirp: "npm:^0.5.1" - rimraf: "npm:~2.6.2" - checksum: 10/38d40564656c6e8e3caee41c592b3cc076d257ab4746ae4a6a179c44eb4a6d3e8a19a08c7716c8e88756bb898d6e56dd0a9e0408249bbcb3c990a178c34d0571 - languageName: node - linkType: hard - "term-size@npm:^2.1.0": version: 2.2.1 resolution: "term-size@npm:2.2.1" @@ -22179,17 +13707,6 @@ __metadata: languageName: node linkType: hard -"test-exclude@npm:^6.0.0": - version: 6.0.0 - resolution: "test-exclude@npm:6.0.0" - dependencies: - "@istanbuljs/schema": "npm:^0.1.2" - glob: "npm:^7.1.4" - minimatch: "npm:^3.0.4" - checksum: 10/8fccb2cb6c8fcb6bb4115394feb833f8b6cf4b9503ec2485c2c90febf435cac62abe882a0c5c51a37b9bbe70640cdd05acf5f45e486ac4583389f4b0855f69e5 - languageName: node - linkType: hard - "test-exclude@npm:^7.0.1": version: 7.0.1 resolution: "test-exclude@npm:7.0.1" @@ -22210,24 +13727,18 @@ __metadata: "@digdir/designsystemet-react": "workspace:^" "@digdir/designsystemet-theme": "workspace:^" "@navikt/aksel-icons": "npm:^6.14.0" - "@react-awesome/use-click-outside": "npm:^0.0.3" "@repo/components": "workspace:^" - "@types/chroma-js": "npm:^2.4.4" - "@types/react": "npm:^18.3.3" - "@types/react-color": "npm:^3.0.12" - "@types/react-dom": "npm:^18.3.0" - chroma-js: "npm:^2.6.0" + "@types/chroma-js": "npm:^3.1.0" + "@types/react": "npm:^19.0.7" + "@types/react-dom": "npm:^19.0.3" + chroma-js: "npm:^3.1.2" clsx: "npm:^2.1.1" - next: "npm:^14.2.5" - rc-slider: "npm:^11.1.8" - react: "npm:^18.3.1" - react-color: "npm:^2.19.3" + next: "npm:^15.1.5" + react: "npm:^19.0.0" react-color-palette: "npm:^7.3.0" - react-dom: "npm:^18.3.1" - react-range: "npm:^1.10.0" + react-dom: "npm:^19.0.0" recharts: "npm:^2.15.0" zustand: "npm:^4.5.4" - checksum: 10/undefined languageName: unknown linkType: soft @@ -22275,13 +13786,6 @@ __metadata: languageName: node linkType: hard -"tiny-invariant@npm:^1.3.1": - version: 1.3.1 - resolution: "tiny-invariant@npm:1.3.1" - checksum: 10/872dbd1ff20a21303a2fd20ce3a15602cfa7fcf9b228bd694a52e2938224313b5385a1078cb667ed7375d1612194feaca81c4ecbe93121ca1baebe344de4f84c - languageName: node - linkType: hard - "tiny-invariant@npm:^1.3.1, tiny-invariant@npm:^1.3.3": version: 1.3.3 resolution: "tiny-invariant@npm:1.3.3" @@ -22289,20 +13793,6 @@ __metadata: languageName: node linkType: hard -"tiny-invariant@npm:^1.3.3": - version: 1.3.3 - resolution: "tiny-invariant@npm:1.3.3" - checksum: 10/5e185c8cc2266967984ce3b352a4e57cb89dad5a8abb0dea21468a6ecaa67cd5bb47a3b7a85d08041008644af4f667fb8b6575ba38ba5fb00b3b5068306e59fe - languageName: node - linkType: hard - -"tinybench@npm:^2.8.0": - version: 2.8.0 - resolution: "tinybench@npm:2.8.0" - checksum: 10/9731d070bedee6d44f3bb565862c284776e6adfd70d81a051a5c79b77479408509b448ad8d467d538d18bc0ae857b3ead8168d7e98d7f1355f8a0b01aa2f163b - languageName: node - linkType: hard - "tinybench@npm:^2.9.0": version: 2.9.0 resolution: "tinybench@npm:2.9.0" @@ -22310,13 +13800,6 @@ __metadata: languageName: node linkType: hard -"tinycolor2@npm:^1.4.1, tinycolor2@npm:^1.6.0": - version: 1.6.0 - resolution: "tinycolor2@npm:1.6.0" - checksum: 10/066c3acf4f82b81c58a0d3ab85f49407efe95ba87afc3c7a16b1d77625193dfbe10dd46c26d0a263c1137361dd5a6a68bff2fb71def5fb9b9aec940fb030bcd4 - languageName: node - linkType: hard - "tinycolor2@npm:^1.6.0": version: 1.6.0 resolution: "tinycolor2@npm:1.6.0" @@ -22341,13 +13824,6 @@ __metadata: languageName: node linkType: hard -"tinypool@npm:^1.0.0": - version: 1.0.0 - resolution: "tinypool@npm:1.0.0" - checksum: 10/4041a9ae62200626dceedbf4e58589d067a203eadcb88588d5681369b9a3c68987de14ce220b32a7e4ebfabaaf51ab9fa69408a7758827b7873f8204cdc79aa1 - languageName: node - linkType: hard - "tinypool@npm:^1.0.1, tinypool@npm:^1.0.2": version: 1.0.2 resolution: "tinypool@npm:1.0.2" @@ -22369,13 +13845,6 @@ __metadata: languageName: node linkType: hard -"tinyspy@npm:^3.0.0": - version: 3.0.0 - resolution: "tinyspy@npm:3.0.0" - checksum: 10/b5b686acff2b88de60ff8ecf89a2042320406aaeee2fba1828a7ea8a925fad3ed9f5e4d7a068154a9134473c472aa03da8ca92ee994bc57a741c5ede5fa7de4d - languageName: node - linkType: hard - "tinyspy@npm:^3.0.0, tinyspy@npm:^3.0.2": version: 3.0.2 resolution: "tinyspy@npm:3.0.2" @@ -22395,14 +13864,7 @@ __metadata: "tmp@npm:^0.2.3": version: 0.2.3 resolution: "tmp@npm:0.2.3" - checksum: 10/7b13696787f159c9754793a83aa79a24f1522d47b87462ddb57c18ee93ff26c74cbb2b8d9138f571d2e0e765c728fb2739863a672b280528512c6d83d511c6fa - languageName: node - linkType: hard - -"tmpl@npm:1.0.5": - version: 1.0.5 - resolution: "tmpl@npm:1.0.5" - checksum: 10/cd922d9b853c00fe414c5a774817be65b058d54a2d01ebb415840960406c669a0fc632f66df885e24cb022ec812739199ccbdb8d1164c3e513f85bfca5ab2873 + checksum: 10/7b13696787f159c9754793a83aa79a24f1522d47b87462ddb57c18ee93ff26c74cbb2b8d9138f571d2e0e765c728fb2739863a672b280528512c6d83d511c6fa languageName: node linkType: hard @@ -22422,13 +13884,6 @@ __metadata: languageName: node linkType: hard -"toidentifier@npm:1.0.1": - version: 1.0.1 - resolution: "toidentifier@npm:1.0.1" - checksum: 10/952c29e2a85d7123239b5cfdd889a0dde47ab0497f0913d70588f19c53f7e0b5327c95f4651e413c74b785147f9637b17410ac8c846d5d4a20a5a33eb6dc3a45 - languageName: node - linkType: hard - "totalist@npm:^3.0.0": version: 3.0.1 resolution: "totalist@npm:3.0.1" @@ -22551,14 +14006,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0": - version: 2.6.2 - resolution: "tslib@npm:2.6.2" - checksum: 10/bd26c22d36736513980091a1e356378e8b662ded04204453d353a7f34a4c21ed0afc59b5f90719d4ba756e581a162ecbf93118dc9c6be5acf70aa309188166ca - languageName: node - linkType: hard - -"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.8.0, tslib@npm:^2.8.1": +"tslib@npm:^2.0.0, tslib@npm:^2.8.0, tslib@npm:^2.8.1": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10/3e2e043d5c2316461cb54e5c7fe02c30ef6dccb3384717ca22ae5c6b5bc95232a6241df19c622d9c73b809bea33b187f6dbc73030963e29950c2141bc32a79f7 @@ -22572,7 +14020,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.3, tslib@npm:^2.6.3": +"tslib@npm:^2.0.3": version: 2.6.3 resolution: "tslib@npm:2.6.3" checksum: 10/52109bb681f8133a2e58142f11a50e05476de4f075ca906d13b596ae5f7f12d30c482feb0bff167ae01cfc84c5803e575a307d47938999246f5a49d174fc558c @@ -22586,47 +14034,6 @@ __metadata: languageName: node linkType: hard -"tsup@npm:^8.2.4": - version: 8.2.4 - resolution: "tsup@npm:8.2.4" - dependencies: - bundle-require: "npm:^5.0.0" - cac: "npm:^6.7.14" - chokidar: "npm:^3.6.0" - consola: "npm:^3.2.3" - debug: "npm:^4.3.5" - esbuild: "npm:^0.23.0" - execa: "npm:^5.1.1" - globby: "npm:^11.1.0" - joycon: "npm:^3.1.1" - picocolors: "npm:^1.0.1" - postcss-load-config: "npm:^6.0.1" - resolve-from: "npm:^5.0.0" - rollup: "npm:^4.19.0" - source-map: "npm:0.8.0-beta.0" - sucrase: "npm:^3.35.0" - tree-kill: "npm:^1.2.2" - peerDependencies: - "@microsoft/api-extractor": ^7.36.0 - "@swc/core": ^1 - postcss: ^8.4.12 - typescript: ">=4.5.0" - peerDependenciesMeta: - "@microsoft/api-extractor": - optional: true - "@swc/core": - optional: true - postcss: - optional: true - typescript: - optional: true - bin: - tsup: dist/cli-default.js - tsup-node: dist/cli-node.js - checksum: 10/89613c3490797f7e107c55f961e2681d455b45a3acfe567dd3825d7ccd14b91f3cf8462f389b6e5ed7e9dd96266adc60830256d52f1bd5d443a1db504c9a7912 - languageName: node - linkType: hard - "tsup@npm:^8.3.5": version: 8.3.5 resolution: "tsup@npm:8.3.5" @@ -22668,22 +14075,6 @@ __metadata: languageName: node linkType: hard -"tsx@npm:^4.16.5": - version: 4.16.5 - resolution: "tsx@npm:4.16.5" - dependencies: - esbuild: "npm:~0.21.5" - fsevents: "npm:~2.3.3" - get-tsconfig: "npm:^4.7.5" - dependenciesMeta: - fsevents: - optional: true - bin: - tsx: dist/cli.mjs - checksum: 10/a9addbd9825bf54b1c401f0f1d6d5090ae48e6ade22e3821d6a0c9189945980fda33887f496796739be551aaccc3de7ae5d09aeade3bf010b34b53ad2c587e19 - languageName: node - linkType: hard - "tsx@npm:^4.19.2": version: 4.19.2 resolution: "tsx@npm:4.19.2" @@ -22700,20 +14091,6 @@ __metadata: languageName: node linkType: hard -"tween-functions@npm:^1.2.0": - version: 1.2.0 - resolution: "tween-functions@npm:1.2.0" - checksum: 10/f145f39187aacfe6e3c6bfe8452be4061a569b8e1e75c28169c55b7cdf519daa1877c79a8a2cdc902b68f49b67b8478f34818ff02529d27ae5aa0545e7fbdc06 - languageName: node - linkType: hard - -"type-detect@npm:4.0.8": - version: 4.0.8 - resolution: "type-detect@npm:4.0.8" - checksum: 10/5179e3b8ebc51fce1b13efb75fdea4595484433f9683bbc2dca6d99789dba4e602ab7922d2656f2ce8383987467f7770131d4a7f06a26287db0615d2f4c4ce7d - languageName: node - linkType: hard - "type-fest@npm:^0.21.3": version: 0.21.3 resolution: "type-fest@npm:0.21.3" @@ -22721,13 +14098,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.8.0": - version: 0.8.1 - resolution: "type-fest@npm:0.8.1" - checksum: 10/fd4a91bfb706aeeb0d326ebd2e9a8ea5263979e5dec8d16c3e469a5bd3a946e014a062ef76c02e3086d3d1c7209a56a20a4caafd0e9f9a5c2ab975084ea3d388 - languageName: node - linkType: hard - "type-fest@npm:^2.19.0": version: 2.19.0 resolution: "type-fest@npm:2.19.0" @@ -22735,13 +14105,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^2.19.0, type-fest@npm:~2.19": - version: 2.19.0 - resolution: "type-fest@npm:2.19.0" - checksum: 10/7bf9e8fdf34f92c8bb364c0af14ca875fac7e0183f2985498b77be129dc1b3b1ad0a6b3281580f19e48c6105c037fb966ad9934520c69c6434d17fd0af4eed78 - languageName: node - linkType: hard - "type-fest@npm:^4.26.1": version: 4.33.0 resolution: "type-fest@npm:4.33.0" @@ -22749,25 +14112,6 @@ __metadata: languageName: node linkType: hard -"type-is@npm:~1.6.18": - version: 1.6.18 - resolution: "type-is@npm:1.6.18" - dependencies: - media-typer: "npm:0.3.0" - mime-types: "npm:~2.1.24" - checksum: 10/0bd9eeae5efd27d98fd63519f999908c009e148039d8e7179a074f105362d4fcc214c38b24f6cda79c87e563cbd12083a4691381ed28559220d4a10c2047bed4 - languageName: node - linkType: hard - -"typedarray-to-buffer@npm:^3.1.5": - version: 3.1.5 - resolution: "typedarray-to-buffer@npm:3.1.5" - dependencies: - is-typedarray: "npm:^1.0.0" - checksum: 10/7c850c3433fbdf4d04f04edfc751743b8f577828b8e1eb93b95a3bce782d156e267d83e20fb32b3b47813e69a69ab5e9b5342653332f7d21c7d1210661a7a72c - languageName: node - linkType: hard - "types-ramda@npm:^0.30.1": version: 0.30.1 resolution: "types-ramda@npm:0.30.1" @@ -22803,16 +14147,6 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.5.4": - version: 5.5.4 - resolution: "typescript@npm:5.5.4" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10/1689ccafef894825481fc3d856b4834ba3cc185a9c2878f3c76a9a1ef81af04194849840f3c69e7961e2312771471bb3b460ca92561e1d87599b26c37d0ffb6f - languageName: node - linkType: hard - "typescript@npm:^5.7.3": version: 5.7.3 resolution: "typescript@npm:5.7.3" @@ -22823,16 +14157,6 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.5.4#optional!builtin": - version: 5.5.4 - resolution: "typescript@patch:typescript@npm%3A5.5.4#optional!builtin::version=5.5.4&hash=b45daf" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10/2c065f0ef81855eac25c9b658a3c9da65ffc005260c12854c2286f40f3667e1b1ecf8bdbdd37b59aa0397920378ce7900bff8cb32e0f1c7af6fd86efc676718c - languageName: node - linkType: hard - "typescript@patch:typescript@npm%3A^5.7.3#optional!builtin": version: 5.7.3 resolution: "typescript@patch:typescript@npm%3A5.7.3#optional!builtin::version=5.7.3&hash=b45daf" @@ -22843,20 +14167,6 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~6.13.0": - version: 6.13.0 - resolution: "undici-types@npm:6.13.0" - checksum: 10/da52e37cbc6da3a75da86fa08dd795ca8924430deb91005eb884b840e46e19013ccd4c1c289f70018e8cf0c338add24a500e7c3acfcd49b1ffb27ff9f91e38b9 - languageName: node - linkType: hard - -"undici-types@npm:~6.19.2": - version: 6.19.8 - resolution: "undici-types@npm:6.19.8" - checksum: 10/cf0b48ed4fc99baf56584afa91aaffa5010c268b8842f62e02f752df209e3dea138b372a60a963b3b2576ed932f32329ce7ddb9cb5f27a6c83040d8cd74b7a70 - languageName: node - linkType: hard - "undici-types@npm:~6.20.0": version: 6.20.0 resolution: "undici-types@npm:6.20.0" @@ -22886,15 +14196,6 @@ __metadata: languageName: node linkType: hard -"union@npm:~0.5.0": - version: 0.5.0 - resolution: "union@npm:0.5.0" - dependencies: - qs: "npm:^6.4.0" - checksum: 10/f5ef4ca75b4aeab2717546247fb51459050d4b4fefb0db30d46752a63144768abb1a3e4338faaa15860cc2d32ad6939b8e9d48551aaaf476172ea48c74c5b85c - languageName: node - linkType: hard - "unique-filename@npm:^2.0.0": version: 2.0.1 resolution: "unique-filename@npm:2.0.1" @@ -23011,13 +14312,6 @@ __metadata: languageName: node linkType: hard -"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": - version: 1.0.0 - resolution: "unpipe@npm:1.0.0" - checksum: 10/4fa18d8d8d977c55cb09715385c203197105e10a6d220087ec819f50cb68870f02942244f1017565484237f1f8c5d3cd413631b1ae104d3096f24fdfde1b4aa2 - languageName: node - linkType: hard - "unplugin@npm:^1.3.1": version: 1.4.0 resolution: "unplugin@npm:1.4.0" @@ -23088,13 +14382,6 @@ __metadata: languageName: node linkType: hard -"url-join@npm:^4.0.1": - version: 4.0.1 - resolution: "url-join@npm:4.0.1" - checksum: 10/b53b256a9a36ed6b0f6768101e78ca97f32d7b935283fd29ce19d0bbfb6f88aa80aa6c03fd87f2f8978ab463a6539f597a63051e7086f3379685319a7495f709 - languageName: node - linkType: hard - "url-parse@npm:^1.5.3": version: 1.5.10 resolution: "url-parse@npm:1.5.10" @@ -23140,19 +14427,6 @@ __metadata: languageName: node linkType: hard -"util@npm:^0.12.4, util@npm:^0.12.5": - version: 0.12.5 - resolution: "util@npm:0.12.5" - dependencies: - inherits: "npm:^2.0.3" - is-arguments: "npm:^1.0.4" - is-generator-function: "npm:^1.0.7" - is-typed-array: "npm:^1.1.3" - which-typed-array: "npm:^1.1.2" - checksum: 10/61a10de7753353dd4d744c917f74cdd7d21b8b46379c1e48e1c4fd8e83f8190e6bd9978fc4e5102ab6a10ebda6019d1b36572fa4a325e175ec8b789a121f6147 - languageName: node - linkType: hard - "util@npm:^0.12.5": version: 0.12.5 resolution: "util@npm:0.12.5" @@ -23166,22 +14440,6 @@ __metadata: languageName: node linkType: hard -"utils-merge@npm:1.0.1": - version: 1.0.1 - resolution: "utils-merge@npm:1.0.1" - checksum: 10/5d6949693d58cb2e636a84f3ee1c6e7b2f9c16cb1d42d0ecb386d8c025c69e327205aa1c69e2868cc06a01e5e20681fbba55a4e0ed0cce913d60334024eae798 - languageName: node - linkType: hard - -"uuid@npm:^8.3.2": - version: 8.3.2 - resolution: "uuid@npm:8.3.2" - bin: - uuid: dist/bin/uuid - checksum: 10/9a5f7aa1d6f56dd1e8d5f2478f855f25c645e64e26e347a98e98d95781d5ed20062d6cca2eecb58ba7c84bc3910be95c0451ef4161906abaab44f9cb68ffbdd1 - languageName: node - linkType: hard - "uuid@npm:^9.0.0": version: 9.0.0 resolution: "uuid@npm:9.0.0" @@ -23191,24 +14449,6 @@ __metadata: languageName: node linkType: hard -"v8-to-istanbul@npm:^9.0.1": - version: 9.3.0 - resolution: "v8-to-istanbul@npm:9.3.0" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.12" - "@types/istanbul-lib-coverage": "npm:^2.0.1" - convert-source-map: "npm:^2.0.0" - checksum: 10/fb1d70f1176cb9dc46cabbb3fd5c52c8f3e8738b61877b6e7266029aed0870b04140e3f9f4550ac32aebcfe1d0f38b0bac57e1e8fb97d68fec82f2b416148166 - languageName: node - linkType: hard - -"vary@npm:~1.1.2": - version: 1.1.2 - resolution: "vary@npm:1.1.2" - checksum: 10/31389debef15a480849b8331b220782230b9815a8e0dbb7b9a8369559aed2e9a7800cd904d4371ea74f4c3527db456dc8e7ac5befce5f0d289014dbdf47b2242 - languageName: node - linkType: hard - "vfile-message@npm:^4.0.0": version: 4.0.2 resolution: "vfile-message@npm:4.0.2" @@ -23252,21 +14492,6 @@ __metadata: languageName: node linkType: hard -"vite-node@npm:2.0.5": - version: 2.0.5 - resolution: "vite-node@npm:2.0.5" - dependencies: - cac: "npm:^6.7.14" - debug: "npm:^4.3.5" - pathe: "npm:^1.1.2" - tinyrainbow: "npm:^1.2.0" - vite: "npm:^5.0.0" - bin: - vite-node: vite-node.mjs - checksum: 10/de259cdf4b9ff82f39ba92ffca99db8a80783efd2764d3553b62cd8c8864488d590114a75bc93a93bf5ba2a2086bea1bee4b0029da9e62c4c0d3bf6c1f364eed - languageName: node - linkType: hard - "vite-node@npm:2.1.8": version: 2.1.8 resolution: "vite-node@npm:2.1.8" @@ -23292,127 +14517,50 @@ __metadata: pathe: "npm:^2.0.2" vite: "npm:^5.0.0 || ^6.0.0" bin: - vite-node: vite-node.mjs - checksum: 10/89d21f8d788b7e90aaedc149646123761b0a073ee1db5dd9eef109cd142ce465a00b0e0c0d1a8897f6b1080b7e5ec879e9f19e149774b111e7f162001ac34665 - languageName: node - linkType: hard - -"vite-plugin-generate-file@npm:^0.2.0": - version: 0.2.0 - resolution: "vite-plugin-generate-file@npm:0.2.0" - dependencies: - ejs: "npm:^3.1.9" - js-yaml: "npm:^4.1.0" - mime-types: "npm:^2.1.35" - picocolors: "npm:^1.0.0" - checksum: 10/b94c4b41a3042f7b765be7ef7b7d71f76a86ac11f05762d5889e58588f6f7d92e1ef64cafb54e50bd18ab9d28c4b84e33947549d6d495b5d31ddb2c557f24e42 - languageName: node - linkType: hard - -"vite-plugin-react-rich-svg@npm:^1.1.1": - version: 1.1.1 - resolution: "vite-plugin-react-rich-svg@npm:1.1.1" - dependencies: - "@svgr/core": "npm:^8.1.0" - "@svgr/plugin-jsx": "npm:^8.1.0" - "@svgr/plugin-prettier": "npm:^8.1.0" - "@svgr/plugin-svgo": "npm:^8.1.0" - vite: "npm:^5.0.11" - checksum: 10/43d7c11134388c5919ef95dd33621621e9f4379fd2a4845d16113a7dcc4c1d001500ccbf495d00ee5c06d9219a8f55de2e6666b905514e9ceee030425d0c5e05 - languageName: node - linkType: hard - -"vite-plugin-react-rich-svg@npm:^1.2.0": - version: 1.2.0 - resolution: "vite-plugin-react-rich-svg@npm:1.2.0" - dependencies: - "@svgr/core": "npm:^8.1.0" - "@svgr/plugin-jsx": "npm:^8.1.0" - "@svgr/plugin-prettier": "npm:^8.1.0" - "@svgr/plugin-svgo": "npm:^8.1.0" - svgo: "npm:^3.3.2" - vite: "npm:^5.0.11" - checksum: 10/6609ce8d0fd5edbd02a0f5585784fda65afff8a333e05c5a44501f0408c6273d16da5036da9d80db0ace6f8cbde0a72d52242d480fc6d199e7a2135124bc2a08 - languageName: node - linkType: hard - -"vite-plugin-singlefile@npm:^2.0.2": - version: 2.0.2 - resolution: "vite-plugin-singlefile@npm:2.0.2" - dependencies: - micromatch: "npm:^4.0.7" - peerDependencies: - rollup: ^4.18.0 - vite: ^5.3.1 - checksum: 10/22bc61bb277a92545854411af37787debb8f4dbcd1cdc48bcc142f9eb5f0f86f41d3c6dda26572c5733174f4c398315abddfa957571e7973d745df04dca280eb - languageName: node - linkType: hard - -"vite-plugin-singlefile@npm:^2.1.0": - version: 2.1.0 - resolution: "vite-plugin-singlefile@npm:2.1.0" - dependencies: - micromatch: "npm:^4.0.8" - peerDependencies: - rollup: ^4.28.1 - vite: ^5.4.11 || ^6.0.0 - checksum: 10/4e29e256aa07c7798e65373cbbb074aaf9c995e897d1b43f8e25f5e1c5aaa19e6d5a6f0d4eaa060e1eead129bee1f17c36e4e24b832e0c854580052cf73f2445 - languageName: node - linkType: hard - -"vite@npm:^5.0.0 || ^6.0.0, vite@npm:^6.0.11": - version: 6.0.11 - resolution: "vite@npm:6.0.11" - dependencies: - esbuild: "npm:^0.24.2" - fsevents: "npm:~2.3.3" - postcss: "npm:^8.4.49" - rollup: "npm:^4.23.0" - peerDependencies: - "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 - jiti: ">=1.21.0" - less: "*" - lightningcss: ^1.21.0 - sass: "*" - sass-embedded: "*" - stylus: "*" - sugarss: "*" - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 - dependenciesMeta: - fsevents: - optional: true - peerDependenciesMeta: - "@types/node": - optional: true - jiti: - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - tsx: - optional: true - yaml: - optional: true - bin: - vite: bin/vite.js - checksum: 10/753d06b07a4d90863d3478162cfb18fa5cd7f6eb22a74525348a8fd46593a82875d0f92352c2f4833e15cb6581fc97d6ab434c0c5d83d8d58cfbbe6e7267726d + vite-node: vite-node.mjs + checksum: 10/89d21f8d788b7e90aaedc149646123761b0a073ee1db5dd9eef109cd142ce465a00b0e0c0d1a8897f6b1080b7e5ec879e9f19e149774b111e7f162001ac34665 + languageName: node + linkType: hard + +"vite-plugin-generate-file@npm:^0.2.0": + version: 0.2.0 + resolution: "vite-plugin-generate-file@npm:0.2.0" + dependencies: + ejs: "npm:^3.1.9" + js-yaml: "npm:^4.1.0" + mime-types: "npm:^2.1.35" + picocolors: "npm:^1.0.0" + checksum: 10/b94c4b41a3042f7b765be7ef7b7d71f76a86ac11f05762d5889e58588f6f7d92e1ef64cafb54e50bd18ab9d28c4b84e33947549d6d495b5d31ddb2c557f24e42 + languageName: node + linkType: hard + +"vite-plugin-react-rich-svg@npm:^1.2.0": + version: 1.2.0 + resolution: "vite-plugin-react-rich-svg@npm:1.2.0" + dependencies: + "@svgr/core": "npm:^8.1.0" + "@svgr/plugin-jsx": "npm:^8.1.0" + "@svgr/plugin-prettier": "npm:^8.1.0" + "@svgr/plugin-svgo": "npm:^8.1.0" + svgo: "npm:^3.3.2" + vite: "npm:^5.0.11" + checksum: 10/6609ce8d0fd5edbd02a0f5585784fda65afff8a333e05c5a44501f0408c6273d16da5036da9d80db0ace6f8cbde0a72d52242d480fc6d199e7a2135124bc2a08 + languageName: node + linkType: hard + +"vite-plugin-singlefile@npm:^2.1.0": + version: 2.1.0 + resolution: "vite-plugin-singlefile@npm:2.1.0" + dependencies: + micromatch: "npm:^4.0.8" + peerDependencies: + rollup: ^4.28.1 + vite: ^5.4.11 || ^6.0.0 + checksum: 10/4e29e256aa07c7798e65373cbbb074aaf9c995e897d1b43f8e25f5e1c5aaa19e6d5a6f0d4eaa060e1eead129bee1f17c36e4e24b832e0c854580052cf73f2445 languageName: node linkType: hard -"vite@npm:^5.0.0, vite@npm:^5.0.11": +"vite@npm:^5.0.0": version: 5.4.6 resolution: "vite@npm:5.4.6" dependencies: @@ -23455,29 +14603,34 @@ __metadata: languageName: node linkType: hard -"vite@npm:^5.0.0, vite@npm:^5.3.6": - version: 5.4.6 - resolution: "vite@npm:5.4.6" +"vite@npm:^5.0.0 || ^6.0.0, vite@npm:^6.0.11": + version: 6.0.11 + resolution: "vite@npm:6.0.11" dependencies: - esbuild: "npm:^0.21.3" + esbuild: "npm:^0.24.2" fsevents: "npm:~2.3.3" - postcss: "npm:^8.4.43" - rollup: "npm:^4.20.0" + postcss: "npm:^8.4.49" + rollup: "npm:^4.23.0" peerDependencies: - "@types/node": ^18.0.0 || >=20.0.0 + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: ">=1.21.0" less: "*" lightningcss: ^1.21.0 sass: "*" sass-embedded: "*" stylus: "*" sugarss: "*" - terser: ^5.4.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 dependenciesMeta: fsevents: optional: true peerDependenciesMeta: "@types/node": optional: true + jiti: + optional: true less: optional: true lightningcss: @@ -23492,9 +14645,13 @@ __metadata: optional: true terser: optional: true + tsx: + optional: true + yaml: + optional: true bin: vite: bin/vite.js - checksum: 10/8489fa55c48675fc12b64bf7af58b5e2f8a11b2aebc63cb177861bd53dc196d7c496d6918f5a8c48828f51b6fe498166a1a2350334bbfaae10d015a0c71f1c77 + checksum: 10/753d06b07a4d90863d3478162cfb18fa5cd7f6eb22a74525348a8fd46593a82875d0f92352c2f4833e15cb6581fc97d6ab434c0c5d83d8d58cfbbe6e7267726d languageName: node linkType: hard @@ -23554,55 +14711,6 @@ __metadata: languageName: node linkType: hard -"vitest@npm:^2.0.5": - version: 2.0.5 - resolution: "vitest@npm:2.0.5" - dependencies: - "@ampproject/remapping": "npm:^2.3.0" - "@vitest/expect": "npm:2.0.5" - "@vitest/pretty-format": "npm:^2.0.5" - "@vitest/runner": "npm:2.0.5" - "@vitest/snapshot": "npm:2.0.5" - "@vitest/spy": "npm:2.0.5" - "@vitest/utils": "npm:2.0.5" - chai: "npm:^5.1.1" - debug: "npm:^4.3.5" - execa: "npm:^8.0.1" - magic-string: "npm:^0.30.10" - pathe: "npm:^1.1.2" - std-env: "npm:^3.7.0" - tinybench: "npm:^2.8.0" - tinypool: "npm:^1.0.0" - tinyrainbow: "npm:^1.2.0" - vite: "npm:^5.0.0" - vite-node: "npm:2.0.5" - why-is-node-running: "npm:^2.3.0" - peerDependencies: - "@edge-runtime/vm": "*" - "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 2.0.5 - "@vitest/ui": 2.0.5 - happy-dom: "*" - jsdom: "*" - peerDependenciesMeta: - "@edge-runtime/vm": - optional: true - "@types/node": - optional: true - "@vitest/browser": - optional: true - "@vitest/ui": - optional: true - happy-dom: - optional: true - jsdom: - optional: true - bin: - vitest: vitest.mjs - checksum: 10/abb916e3496a3fa9e9d05ecd806332dc4000aa0e433f0cb1e99f9dd1fa5c06d2c66656874b9860a683cec0f32abe1519599babef02e5c0ca80e9afbcdbddfdbd - languageName: node - linkType: hard - "vitest@npm:^2.1.8": version: 2.1.8 resolution: "vitest@npm:2.1.8" @@ -23715,58 +14823,6 @@ __metadata: languageName: node linkType: hard -"wait-on@npm:^7.0.0": - version: 7.2.0 - resolution: "wait-on@npm:7.2.0" - dependencies: - axios: "npm:^1.6.1" - joi: "npm:^17.11.0" - lodash: "npm:^4.17.21" - minimist: "npm:^1.2.8" - rxjs: "npm:^7.8.1" - bin: - wait-on: bin/wait-on - checksum: 10/00299e3b651c70d7082d02b93d9d4784cbe851914f1674d795d578d4826876193fdc7bee7e9491264b7c2d242ac9fe6e1fd09e1143409f730f13a7ee2da67fff - languageName: node - linkType: hard - -"wait-on@npm:^8.0.1": - version: 8.0.1 - resolution: "wait-on@npm:8.0.1" - dependencies: - axios: "npm:^1.7.7" - joi: "npm:^17.13.3" - lodash: "npm:^4.17.21" - minimist: "npm:^1.2.8" - rxjs: "npm:^7.8.1" - bin: - wait-on: bin/wait-on - checksum: 10/41f933031b994718dfb50af35bb843f7f7017d601ef22927e92c211736fadd21808fdbf7ae367e998bcaf995cb9c05cf6160552dc655db9082aeecc346bc926d - languageName: node - linkType: hard - -"wait-port@npm:^0.2.9": - version: 0.2.14 - resolution: "wait-port@npm:0.2.14" - dependencies: - chalk: "npm:^2.4.2" - commander: "npm:^3.0.2" - debug: "npm:^4.1.1" - bin: - wait-port: bin/wait-port.js - checksum: 10/3a970828f6b9080d05bbe39ea6c0546ab7b455fec65b63fc704cdcbccb4d83c66815ef3bc2e0e123aab88a2afb70532c5697af27284b36bd03cb06cd446066a8 - languageName: node - linkType: hard - -"walker@npm:^1.0.8": - version: 1.0.8 - resolution: "walker@npm:1.0.8" - dependencies: - makeerror: "npm:1.0.12" - checksum: 10/ad7a257ea1e662e57ef2e018f97b3c02a7240ad5093c392186ce0bcf1f1a60bbadd520d073b9beb921ed99f64f065efb63dfc8eec689a80e569f93c1c5d5e16c - languageName: node - linkType: hard - "watchpack@npm:^2.4.1": version: 2.4.1 resolution: "watchpack@npm:2.4.1" @@ -23812,42 +14868,6 @@ __metadata: languageName: node linkType: hard -"webpack@npm:^5.94.0": - version: 5.94.0 - resolution: "webpack@npm:5.94.0" - dependencies: - "@types/estree": "npm:^1.0.5" - "@webassemblyjs/ast": "npm:^1.12.1" - "@webassemblyjs/wasm-edit": "npm:^1.12.1" - "@webassemblyjs/wasm-parser": "npm:^1.12.1" - acorn: "npm:^8.7.1" - acorn-import-attributes: "npm:^1.9.5" - browserslist: "npm:^4.21.10" - chrome-trace-event: "npm:^1.0.2" - enhanced-resolve: "npm:^5.17.1" - es-module-lexer: "npm:^1.2.1" - eslint-scope: "npm:5.1.1" - events: "npm:^3.2.0" - glob-to-regexp: "npm:^0.4.1" - graceful-fs: "npm:^4.2.11" - json-parse-even-better-errors: "npm:^2.3.1" - loader-runner: "npm:^4.2.0" - mime-types: "npm:^2.1.27" - neo-async: "npm:^2.6.2" - schema-utils: "npm:^3.2.0" - tapable: "npm:^2.1.1" - terser-webpack-plugin: "npm:^5.3.10" - watchpack: "npm:^2.4.1" - webpack-sources: "npm:^3.2.3" - peerDependenciesMeta: - webpack-cli: - optional: true - bin: - webpack: bin/webpack.js - checksum: 10/648449c5fbbb0839814116e3b2b044ac6c75a7ba272435155ddeb1e64dfaa2f8079be3adfbb691f648b69900756ce0f6fb73beab0ced3cf5e0fd46868b4593a6 - languageName: node - linkType: hard - "webpack@npm:^5.97.1": version: 5.97.1 resolution: "webpack@npm:5.97.1" @@ -23884,15 +14904,6 @@ __metadata: languageName: node linkType: hard -"whatwg-encoding@npm:^2.0.0": - version: 2.0.0 - resolution: "whatwg-encoding@npm:2.0.0" - dependencies: - iconv-lite: "npm:0.6.3" - checksum: 10/162d712d88fd134a4fe587e53302da812eb4215a1baa4c394dfd86eff31d0a079ff932c05233857997de07481093358d6e7587997358f49b8a580a777be22089 - languageName: node - linkType: hard - "whatwg-encoding@npm:^3.1.1": version: 3.1.1 resolution: "whatwg-encoding@npm:3.1.1" @@ -23940,23 +14951,6 @@ __metadata: languageName: node linkType: hard -"which-module@npm:^2.0.0": - version: 2.0.1 - resolution: "which-module@npm:2.0.1" - checksum: 10/1967b7ce17a2485544a4fdd9063599f0f773959cca24176dbe8f405e55472d748b7c549cd7920ff6abb8f1ab7db0b0f1b36de1a21c57a8ff741f4f1e792c52be - languageName: node - linkType: hard - -"which-pm@npm:^2.2.0": - version: 2.2.0 - resolution: "which-pm@npm:2.2.0" - dependencies: - load-yaml-file: "npm:^0.2.0" - path-exists: "npm:^4.0.0" - checksum: 10/f6fe0ad163ba5385c7b8f3465cd29492ab1af6e5c2d5eb0c320008ac458c1614241ebe8d7d7d76d79021aa866a66e2454e181ac681f525cf259ec27abab9468c - languageName: node - linkType: hard - "which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.2": version: 1.1.13 resolution: "which-typed-array@npm:1.1.13" @@ -23970,17 +14964,6 @@ __metadata: languageName: node linkType: hard -"which@npm:^1.2.12, which@npm:^1.2.9": - version: 1.3.1 - resolution: "which@npm:1.3.1" - dependencies: - isexe: "npm:^2.0.0" - bin: - which: ./bin/which - checksum: 10/549dcf1752f3ee7fbb64f5af2eead4b9a2f482108b7de3e85c781d6c26d8cf6a52d37cfbe0642a155fa6470483fe892661a859c03157f24c669cf115f3bbab5e - languageName: node - linkType: hard - "which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2" @@ -24064,28 +15047,6 @@ __metadata: languageName: node linkType: hard -"write-file-atomic@npm:^3.0.0": - version: 3.0.3 - resolution: "write-file-atomic@npm:3.0.3" - dependencies: - imurmurhash: "npm:^0.1.4" - is-typedarray: "npm:^1.0.0" - signal-exit: "npm:^3.0.2" - typedarray-to-buffer: "npm:^3.1.5" - checksum: 10/0955ab94308b74d32bc252afe69d8b42ba4b8a28b8d79f399f3f405969f82623f981e35d13129a52aa2973450f342107c06d86047572637584e85a1c0c246bf3 - languageName: node - linkType: hard - -"write-file-atomic@npm:^4.0.2": - version: 4.0.2 - resolution: "write-file-atomic@npm:4.0.2" - dependencies: - imurmurhash: "npm:^0.1.4" - signal-exit: "npm:^3.0.7" - checksum: 10/3be1f5508a46c190619d5386b1ac8f3af3dbe951ed0f7b0b4a0961eed6fc626bd84b50cf4be768dabc0a05b672f5d0c5ee7f42daa557b14415d18c3a13c7d246 - languageName: node - linkType: hard - "write-file-atomic@npm:^5.0.1": version: 5.0.1 resolution: "write-file-atomic@npm:5.0.1" @@ -24111,21 +15072,6 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.18.0, ws@npm:^8.2.3": - version: 8.18.0 - resolution: "ws@npm:8.18.0" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10/70dfe53f23ff4368d46e4c0b1d4ca734db2c4149c6f68bc62cb16fc21f753c47b35fcc6e582f3bdfba0eaeb1c488cddab3c2255755a5c3eecb251431e42b3ff6 - languageName: node - linkType: hard - "ws@npm:^8.2.3": version: 8.17.1 resolution: "ws@npm:8.17.1" @@ -24148,13 +15094,6 @@ __metadata: languageName: node linkType: hard -"xml@npm:^1.0.1": - version: 1.0.1 - resolution: "xml@npm:1.0.1" - checksum: 10/6c4c31a1308e45732e5ac6b50edbca0e8f7abe5cb5de10215d8e3c688819fe7c7706e056f6fb59b1a23fdf1000c2d7a8bba0a89e94aa1796cd2376d9a5ba401e - languageName: node - linkType: hard - "xmlbuilder@npm:^15.1.1": version: 15.1.1 resolution: "xmlbuilder@npm:15.1.1" @@ -24176,13 +15115,6 @@ __metadata: languageName: node linkType: hard -"y18n@npm:^4.0.0": - version: 4.0.3 - resolution: "y18n@npm:4.0.3" - checksum: 10/392870b2a100bbc643bc035fe3a89cef5591b719c7bdc8721bcdb3d27ab39fa4870acdca67b0ee096e146d769f311d68eda6b8195a6d970f227795061923013f - languageName: node - linkType: hard - "y18n@npm:^5.0.5": version: 5.0.8 resolution: "y18n@npm:5.0.8" @@ -24190,13 +15122,6 @@ __metadata: languageName: node linkType: hard -"yallist@npm:^2.1.2": - version: 2.1.2 - resolution: "yallist@npm:2.1.2" - checksum: 10/75fc7bee4821f52d1c6e6021b91b3e079276f1a9ce0ad58da3c76b79a7e47d6f276d35e206a96ac16c1cf48daee38a8bb3af0b1522a3d11c8ffe18f898828832 - languageName: node - linkType: hard - "yallist@npm:^3.0.2": version: 3.1.1 resolution: "yallist@npm:3.1.1" @@ -24227,15 +15152,6 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.2.2, yaml@npm:^2.3.4": - version: 2.4.1 - resolution: "yaml@npm:2.4.1" - bin: - yaml: bin.mjs - checksum: 10/2c54fd69ef59126758ae710f9756405a7d41abcbb61aca894250d0e81e76057c14dc9bb00a9528f72f99b8f24077f694a6f7fd09cdd6711fcec2eebfbb5df409 - languageName: node - linkType: hard - "yaml@npm:^2.3.4": version: 2.3.4 resolution: "yaml@npm:2.3.4" @@ -24243,16 +15159,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^18.1.2": - version: 18.1.3 - resolution: "yargs-parser@npm:18.1.3" - dependencies: - camelcase: "npm:^5.0.0" - decamelize: "npm:^1.2.0" - checksum: 10/235bcbad5b7ca13e5abc54df61d42f230857c6f83223a38e4ed7b824681875b7f8b6ed52139d88a3ad007050f28dc0324b3c805deac7db22ae3b4815dae0e1bf - languageName: node - linkType: hard - "yargs-parser@npm:^20.2.2": version: 20.2.9 resolution: "yargs-parser@npm:20.2.9" @@ -24267,25 +15173,6 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^15.0.2": - version: 15.4.1 - resolution: "yargs@npm:15.4.1" - dependencies: - cliui: "npm:^6.0.0" - decamelize: "npm:^1.2.0" - find-up: "npm:^4.1.0" - get-caller-file: "npm:^2.0.1" - require-directory: "npm:^2.1.1" - require-main-filename: "npm:^2.0.0" - set-blocking: "npm:^2.0.0" - string-width: "npm:^4.2.0" - which-module: "npm:^2.0.0" - y18n: "npm:^4.0.0" - yargs-parser: "npm:^18.1.2" - checksum: 10/bbcc82222996c0982905b668644ca363eebe6ffd6a572fbb52f0c0e8146661d8ce5af2a7df546968779bb03d1e4186f3ad3d55dfaadd1c4f0d5187c0e3a5ba16 - languageName: node - linkType: hard - "yargs@npm:^16.1.0": version: 16.2.0 resolution: "yargs@npm:16.2.0" @@ -24301,21 +15188,6 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^17.0.0, yargs@npm:^17.3.1, yargs@npm:^17.7.2": - version: 17.7.2 - resolution: "yargs@npm:17.7.2" - dependencies: - cliui: "npm:^8.0.1" - escalade: "npm:^3.1.1" - get-caller-file: "npm:^2.0.5" - require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.3" - y18n: "npm:^5.0.5" - yargs-parser: "npm:^21.1.1" - checksum: 10/abb3e37678d6e38ea85485ed86ebe0d1e3464c640d7d9069805ea0da12f69d5a32df8e5625e370f9c96dd1c2dc088ab2d0a4dd32af18222ef3c4224a19471576 - languageName: node - linkType: hard - "yargs@npm:^17.0.0, yargs@npm:^17.7.2": version: 17.7.2 resolution: "yargs@npm:17.7.2" @@ -24363,13 +15235,6 @@ __metadata: languageName: node linkType: hard -"zod@npm:^3.23.8": - version: 3.23.8 - resolution: "zod@npm:3.23.8" - checksum: 10/846fd73e1af0def79c19d510ea9e4a795544a67d5b34b7e1c4d0425bf6bfd1c719446d94cdfa1721c1987d891321d61f779e8236fde517dc0e524aa851a6eff1 - languageName: node - linkType: hard - "zod@npm:^3.24.1": version: 3.24.1 resolution: "zod@npm:3.24.1" From 16e2f62815d2a4615e9b71559cc4484ab4986fc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Mon, 3 Feb 2025 08:52:48 +0100 Subject: [PATCH 11/26] Stuff --- .../app/color-debugger/ColorInput/ColorInput.module.css | 6 +++--- .../app/color-debugger/ColorScale/ColorScale.module.css | 1 + apps/theme/app/color-debugger/Mobile/Mobile.module.css | 2 +- apps/theme/app/color-debugger/Sidebar/Sidebar.module.css | 2 +- apps/theme/app/color-debugger/TabMenu/TabMenu.module.css | 2 +- apps/theme/app/color-debugger/page.module.css | 2 +- 6 files changed, 8 insertions(+), 7 deletions(-) diff --git a/apps/theme/app/color-debugger/ColorInput/ColorInput.module.css b/apps/theme/app/color-debugger/ColorInput/ColorInput.module.css index 73f5da2dc7..515c4fe4f9 100644 --- a/apps/theme/app/color-debugger/ColorInput/ColorInput.module.css +++ b/apps/theme/app/color-debugger/ColorInput/ColorInput.module.css @@ -2,14 +2,14 @@ position: absolute; top: 7px; right: 7px; - height: 32px; - width: 32px; + height: 30px; + width: 30px; border-radius: 4px; border: 1px solid rgb(158, 158, 158); } .input { - height: 46px; + height: 44px; border-radius: 4px; border: 1px solid rgb(158, 158, 158); width: 100%; diff --git a/apps/theme/app/color-debugger/ColorScale/ColorScale.module.css b/apps/theme/app/color-debugger/ColorScale/ColorScale.module.css index d9ebc852b2..a8c8a0790a 100644 --- a/apps/theme/app/color-debugger/ColorScale/ColorScale.module.css +++ b/apps/theme/app/color-debugger/ColorScale/ColorScale.module.css @@ -82,4 +82,5 @@ .heading { font-weight: 500; font-size: 23px; + line-height: 1.3; } diff --git a/apps/theme/app/color-debugger/Mobile/Mobile.module.css b/apps/theme/app/color-debugger/Mobile/Mobile.module.css index e23c30391d..a54eb31ac8 100644 --- a/apps/theme/app/color-debugger/Mobile/Mobile.module.css +++ b/apps/theme/app/color-debugger/Mobile/Mobile.module.css @@ -92,7 +92,7 @@ width: 100%; border-radius: 4px; border: 1px solid #c5c5c5; - padding-left: 47px; + padding-left: 42px; font-size: 14px; } diff --git a/apps/theme/app/color-debugger/Sidebar/Sidebar.module.css b/apps/theme/app/color-debugger/Sidebar/Sidebar.module.css index f17a2c146d..8ee0b65d32 100644 --- a/apps/theme/app/color-debugger/Sidebar/Sidebar.module.css +++ b/apps/theme/app/color-debugger/Sidebar/Sidebar.module.css @@ -4,7 +4,7 @@ z-index: 10; border-radius: 8px; position: fixed; - top: 86px; + top: 80px; right: 24px; bottom: 24px; width: 410px; diff --git a/apps/theme/app/color-debugger/TabMenu/TabMenu.module.css b/apps/theme/app/color-debugger/TabMenu/TabMenu.module.css index a8827f0343..1d736eb386 100644 --- a/apps/theme/app/color-debugger/TabMenu/TabMenu.module.css +++ b/apps/theme/app/color-debugger/TabMenu/TabMenu.module.css @@ -20,6 +20,6 @@ } .active { - background-color: rgb(66, 66, 66); + background-color: rgb(77, 77, 77); color: white; } diff --git a/apps/theme/app/color-debugger/page.module.css b/apps/theme/app/color-debugger/page.module.css index 0682954ce4..4039a27762 100644 --- a/apps/theme/app/color-debugger/page.module.css +++ b/apps/theme/app/color-debugger/page.module.css @@ -7,7 +7,7 @@ bottom: 0; left: 0; overflow: auto; - padding-top: 42px; + padding-top: 40px; margin-top: 41px; } From 34e8b8754959c562d60b50747fd9fd13d7b505de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Mon, 3 Feb 2025 15:17:39 +0100 Subject: [PATCH 12/26] Stuff --- .../ColorInfo/ColorInfo.module.css | 47 +++ .../color-debugger/ColorInfo/ColorInfo.tsx | 88 ++++ .../ContrastChecker.module.css | 6 + .../ContrastChecker/ContrastChecker.tsx | 1 + .../FrontPage/FrontPage.module.css | 78 ++-- .../color-debugger/FrontPage/FrontPage.tsx | 376 ++++++++---------- apps/theme/app/color-debugger/utils.ts | 23 +- 7 files changed, 350 insertions(+), 269 deletions(-) create mode 100644 apps/theme/app/color-debugger/ColorInfo/ColorInfo.module.css create mode 100644 apps/theme/app/color-debugger/ColorInfo/ColorInfo.tsx diff --git a/apps/theme/app/color-debugger/ColorInfo/ColorInfo.module.css b/apps/theme/app/color-debugger/ColorInfo/ColorInfo.module.css new file mode 100644 index 0000000000..b8b0c02804 --- /dev/null +++ b/apps/theme/app/color-debugger/ColorInfo/ColorInfo.module.css @@ -0,0 +1,47 @@ +.container { + width: 100%; +} + +.heading { + font-size: 20px; + font-weight: 500; + margin-bottom: 8px; +} + +.items { + display: flex; + width: 100%; + gap: 16px; +} + +.item { + position: relative; + width: 100%; +} + +.label { + font-size: 16px; + margin-bottom: 8px; +} + +.result { + border: 1px solid rgb(216, 216, 216); + display: flex; + flex-wrap: wrap; + padding: 16px; + gap: 16px; + font-size: 15px; + margin-top: 12px; + border-radius: 4px; +} + +.resultItem { + width: calc(50% - 8px); + display: flex; + flex-direction: column; + gap: 1px; +} + +.resultLabel { + font-weight: 500; +} diff --git a/apps/theme/app/color-debugger/ColorInfo/ColorInfo.tsx b/apps/theme/app/color-debugger/ColorInfo/ColorInfo.tsx new file mode 100644 index 0000000000..511bec8fab --- /dev/null +++ b/apps/theme/app/color-debugger/ColorInfo/ColorInfo.tsx @@ -0,0 +1,88 @@ +import { getLuminanceFromLightness } from '@/packages/cli/dist/src'; +import chroma from 'chroma-js'; +import { useState } from 'react'; +import { useColor } from 'react-color-palette'; +import { ColorInput } from '../ColorInput/ColorInput'; +import classes from './ColorInfo.module.css'; + +export const ColorInfo = () => { + const [colorOne, setColorOne] = useColor('#0062BA'); + const [colorTwo, setColorTwo] = useColor('#FFFFFF'); + const [showPickerOne, setShowPickerOne] = useState(false); + const [showPickerTwo, setShowPickerTwo] = useState(false); + + const getResult = (color: string) => { + const chromaColor = chroma(color); + const luminance = chromaColor.luminance().toFixed(2); + const temperature = chromaColor.temperature(); + const rgb = chromaColor.rgb(); + const oklch = chromaColor.oklch(); + const oklchLightness = oklch[0].toFixed(2); + + getLuminanceFromLightness; + + return ( +

+
+
RGB
+
+ {rgb[0]} {rgb[1]} {rgb[2]} +
+
+
+
Luminance
+
{luminance}
+
+
+
Temperature
+
{temperature}
+
+
+
OKLCH
+
+ {oklch[0].toFixed(2)} {oklch[1].toFixed(2)} {oklch[2].toFixed(2)} +
+
+
+
OKLCH Lightness
+
{oklchLightness}
+
+
+ ); + }; + + return ( +
+
Color info and comparison
+ +
+
+
Color 1
+ { + setShowPickerOne(!showPickerOne); + setShowPickerTwo(false); + }} + showPicker={showPickerOne} + /> + {getResult(colorOne.hex)} +
+
+
Color 2
+ { + setShowPickerTwo(!showPickerTwo); + setShowPickerOne(false); + }} + showPicker={showPickerTwo} + /> + {getResult(colorTwo.hex)} +
+
+
+ ); +}; diff --git a/apps/theme/app/color-debugger/ContrastChecker/ContrastChecker.module.css b/apps/theme/app/color-debugger/ContrastChecker/ContrastChecker.module.css index fb327f4c65..6b9503c8e2 100644 --- a/apps/theme/app/color-debugger/ContrastChecker/ContrastChecker.module.css +++ b/apps/theme/app/color-debugger/ContrastChecker/ContrastChecker.module.css @@ -62,3 +62,9 @@ font-size: 16px; margin-bottom: 8px; } + +.heading { + font-size: 20px; + font-weight: 500; + margin-bottom: 8px; +} diff --git a/apps/theme/app/color-debugger/ContrastChecker/ContrastChecker.tsx b/apps/theme/app/color-debugger/ContrastChecker/ContrastChecker.tsx index 4c435228dd..df1dd5e915 100644 --- a/apps/theme/app/color-debugger/ContrastChecker/ContrastChecker.tsx +++ b/apps/theme/app/color-debugger/ContrastChecker/ContrastChecker.tsx @@ -74,6 +74,7 @@ export const ContrastChecker = () => { return (
+
Contrast checker
Foreground
diff --git a/apps/theme/app/color-debugger/FrontPage/FrontPage.module.css b/apps/theme/app/color-debugger/FrontPage/FrontPage.module.css index f479b423ae..57afed43ff 100644 --- a/apps/theme/app/color-debugger/FrontPage/FrontPage.module.css +++ b/apps/theme/app/color-debugger/FrontPage/FrontPage.module.css @@ -4,9 +4,6 @@ flex-wrap: wrap; } -.borderDefault { -} - .panel { width: calc(50% - 10px); display: flex; @@ -17,72 +14,51 @@ border: 1px solid var(--ds-color-neutral-border-subtle); } -.fullPanel { +.contrastTests { width: 100%; } -.group { +.contrastTestsItems { display: flex; - gap: 20px; + gap: 16px; + flex-wrap: wrap; + width: 100%; } -.item { +.contrastTestsItem { + background-color: white; + padding: 24px; border-radius: 8px; - font-size: 15px; + border: 1px solid var(--ds-color-neutral-border-subtle); + position: relative; + width: calc(33% - 8px); display: flex; align-items: center; - gap: 12px; -} - -.textContainer { - display: flex; + gap: 8px; } -.circleText { +.contrastTestsHeading { + font-size: 23px; font-weight: 500; - font-size: 15px; + margin-bottom: 16px; + margin-top: 8px; } -.items { - width: 100%; - display: flex; - gap: 12px; - flex-direction: column; - margin-top: 10px; -} - -.title { - font-weight: 400; -} - -.header { - display: flex; - justify-content: space-between; - position: relative; - font-weight: 500; -} - -.btn { - font-size: 14px; - position: absolute; - right: 0; - top: 0; -} - -.circle { - background-color: #00a500; - height: 12px; - width: 12px; +.sectionCircle { + width: 48px; + height: 48px; border-radius: 50%; + margin-right: 8px; + background-color: rgb(255, 164, 164); display: flex; align-items: center; justify-content: center; - font-size: 14px; - font-weight: 500; - flex-shrink: 1; - margin-left: 2px; } -.failed { - background-color: #e76969; +.passed { + background-color: rgb(146, 223, 165); +} + +.sectionHeading { + font-weight: 500; } diff --git a/apps/theme/app/color-debugger/FrontPage/FrontPage.tsx b/apps/theme/app/color-debugger/FrontPage/FrontPage.tsx index 4c4e985b0b..62d98a9e5a 100644 --- a/apps/theme/app/color-debugger/FrontPage/FrontPage.tsx +++ b/apps/theme/app/color-debugger/FrontPage/FrontPage.tsx @@ -3,10 +3,11 @@ import { type ThemeInfo, getContrastFromHex, } from '@digdir/designsystemet/color'; -import {} from '@navikt/aksel-icons'; +import { CheckmarkIcon, XMarkIcon } from '@navikt/aksel-icons'; import chroma from 'chroma-js'; import cl from 'clsx/lite'; import { useEffect, useState } from 'react'; +import { ColorInfo } from '../ColorInfo/ColorInfo'; import { ColorScale } from '../ColorScale/ColorScale'; import { ContrastChecker } from '../ContrastChecker/ContrastChecker'; import { @@ -15,25 +16,9 @@ import { useDebugStore, } from '../debugStore'; import { generateColorSchemes } from '../logic/theme'; +import { ColorIndexes } from '../utils'; import classes from './FrontPage.module.css'; -type ItemProps = { - text: string; - text2?: string; - text3?: string; - error: boolean; -}; - -const borderDefaultIndex = 7; -const borderStrongIndex = 8; -const textSubtleIndex = 9; -const textDefaultIndex = 10; -const baseDefaultIndex = 11; -const baseHoverIndex = 12; -const baseActiveIndex = 13; -const baseContrastSubtleIndex = 14; -const baseContrastDefaultIndex = 15; - const generateBaseThemes = ( luminance: LuminanceType, themeSettings: ThemeSettingsType, @@ -58,12 +43,11 @@ export const FrontPage = () => { useEffect(() => { setBaseThemes(generateBaseThemes(luminance, themeSettings)); - console.log('ff'); }, [themeSettings.base.modifier]); const testColorContrasts = ( - num1: number, - num2: number, + index1: number, + index2: number, contrastLimit: number, mode: 'light' | 'dark', ) => { @@ -71,10 +55,10 @@ export const FrontPage = () => { for (let i = 0; i < baseThemes.length; i++) { const theme = baseThemes[i]; const contrast = getContrastFromHex( - theme[mode][num1].hex, - theme[mode][num2].hex, + theme[mode][index1].hex, + theme[mode][index2].hex, ); - if (contrast > contrastLimit) { + if (contrast >= contrastLimit) { passed++; } else { } @@ -82,213 +66,185 @@ export const FrontPage = () => { return passed; }; - const Item = ({ text, text2, text3, error }: ItemProps) => { - return ( -
-
-
{text}
- {text2 &&
{text2}
} - {text3 &&
{text3}
} -
- ); + type ContrastSectionProps = { + title: string; + desc: string; + error: boolean; }; - const renderTextDefault = (mode: 'light' | 'dark') => ( -
-
-
Text Default
-
-
- {[ - { index: 0, text: 'Background Default' }, - { index: 1, text: 'Background Tinted' }, - { index: 2, text: 'Surface Default' }, - { index: 3, text: 'Surface Hover' }, - { index: 4, text: 'Surface Active' }, - ].map(({ index, text }) => ( - - ))} -
-
- ); + const getTextDefaultTests = (mode: 'light' | 'dark') => { + const tests = [ + ColorIndexes.backgroundDefault, + ColorIndexes.backgroundTinted, + ColorIndexes.surfaceDefault, + ColorIndexes.surfaceTinted, + ColorIndexes.surfaceHover, + ColorIndexes.surfaceActive, + ]; - const renderBorderDefault = (mode: 'light' | 'dark') => ( -
-
-
Border Default
-
-
- {[ - { index: 0, text: 'Background Default' }, - { index: 1, text: 'Background Subtle' }, - ].map(({ index, text }) => ( - - ))} -
-
- ); + return tests.reduce((passed, index) => { + const contrast = getContrastFromHex( + theme[mode][index].hex, + theme[mode][ColorIndexes.textDefault].hex, + ); + return passed + (contrast >= 4.5 ? 1 : 0); + }, 0); + }; - const renderBorderStrong = (mode: 'light' | 'dark') => ( -
-
-
Border Strong
-
-
- {[ - { index: 0, text: 'Background Default' }, - { index: 1, text: 'Background Subtle' }, - ].map(({ index, text }) => ( - - ))} -
-
- ); + const getTextSubtleTests = (mode: 'light' | 'dark') => { + const tests = [ + ColorIndexes.backgroundDefault, + ColorIndexes.backgroundTinted, + ColorIndexes.surfaceDefault, + ColorIndexes.surfaceTinted, + ]; + + return tests.reduce((passed, index) => { + const contrast = getContrastFromHex( + theme[mode][index].hex, + theme[mode][ColorIndexes.textSubtle].hex, + ); + return passed + (contrast >= 4.5 ? 1 : 0); + }, 0); + }; + + const getBorderDefaultTests = (mode: 'light' | 'dark') => { + const tests = [ + ColorIndexes.backgroundDefault, + ColorIndexes.backgroundTinted, + ColorIndexes.surfaceDefault, + ColorIndexes.surfaceTinted, + ]; + + return tests.reduce((passed, index) => { + const contrast = getContrastFromHex( + theme[mode][index].hex, + theme[mode][ColorIndexes.borderDefault].hex, + ); + return passed + (contrast >= 3 ? 1 : 0); + }, 0); + }; - const renderContrastDefault = (mode: 'light' | 'dark') => { + const getBorderStrongTests = (mode: 'light' | 'dark') => { + const tests = [ + ColorIndexes.backgroundDefault, + ColorIndexes.backgroundTinted, + ColorIndexes.surfaceDefault, + ColorIndexes.surfaceTinted, + ]; + + return tests.reduce((passed, index) => { + const contrast = getContrastFromHex( + theme[mode][index].hex, + theme[mode][ColorIndexes.borderStrong].hex, + ); + return passed + (contrast >= 4.5 ? 1 : 0); + }, 0); + }; + + const getContrastDefaultTests = (mode: 'light' | 'dark') => { + let passed = 0; + const test1 = testColorContrasts( + ColorIndexes.baseDefault, + ColorIndexes.baseContrastDefault, + 4.5, + mode, + ); + const test2 = testColorContrasts( + ColorIndexes.baseHover, + ColorIndexes.baseContrastDefault, + 4.5, + mode, + ); + const test3 = testColorContrasts( + ColorIndexes.baseActive, + ColorIndexes.baseContrastDefault, + 4.5, + mode, + ); + passed += test1 + test2 + test3; + + return passed; + }; + + const getContrastSubtleTests = (mode: 'light' | 'dark') => { + let passed = 0; + const test1 = testColorContrasts( + ColorIndexes.baseDefault, + ColorIndexes.baseContrastSubtle, + 4.5, + mode, + ); + passed += test1; + + return passed; + }; + + const ContrastSection = ({ title, desc, error }: ContrastSectionProps) => { return ( -
-
-
Contrast Default
-
-
- {[ - { - baseIndex: baseDefaultIndex, - text: 'Base Default', - ratio: 4.5, - }, - { - baseIndex: baseHoverIndex, - text: 'Base Hover', - ratio: 4.5, - }, - { - baseIndex: baseActiveIndex, - text: 'Base Active', - ratio: 3, - }, - ].map(({ baseIndex, text, ratio }) => ( - - ))} +
+ {error && ( +
+ +
+ )} + {!error && ( +
+ +
+ )} +
+
{title}
+
{desc}
); }; - const renderContrastSubtle = (mode: 'light' | 'dark') => ( -
-
-
Contrast Subtle
-
-
- -
-
- ); - return (
- +
-
-
- {renderTextDefault('light')} {renderBorderDefault('light')} - {renderContrastDefault('light')} {renderContrastSubtle('light')} - {renderBorderStrong('light')} +
+
Contrast tests
+
+ + + + + +
diff --git a/apps/theme/app/color-debugger/utils.ts b/apps/theme/app/color-debugger/utils.ts index a5ec3aef77..898cbf24f4 100644 --- a/apps/theme/app/color-debugger/utils.ts +++ b/apps/theme/app/color-debugger/utils.ts @@ -1,13 +1,20 @@ export const ColorIndexes = { + backgroundDefault: 0, + backgroundTinted: 1, + surfaceDefault: 2, + surfaceTinted: 3, + surfaceHover: 4, + surfaceActive: 5, + borderSubtle: 6, borderDefault: 7, - borderStrongIndex: 8, - textSubtleIndex: 9, - textDefaultIndex: 10, - baseDefaultIndex: 11, - baseHoverIndex: 12, - baseActiveIndex: 13, - baseContrastSubtleIndex: 14, - baseContrastDefaultIndex: 15, + borderStrong: 8, + textSubtle: 9, + textDefault: 10, + baseDefault: 11, + baseHover: 12, + baseActive: 13, + baseContrastSubtle: 14, + baseContrastDefault: 15, }; export const ColorScaleNames = [ From 25cd6e3fa84dfac6a0425f253c174f45804ca11e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Mon, 3 Feb 2025 18:29:07 +0100 Subject: [PATCH 13/26] Stuff --- .../ColorFilter/ColorFIlter.module.css | 20 ++++ .../ColorFilter/ColorFilter.tsx | 45 +++++++++ .../ColorInfo/ColorInfo.module.css | 2 +- .../color-debugger/ColorInfo/ColorInfo.tsx | 4 - .../ContrastColors/ContrastColors.tsx | 8 +- .../FrontPage/FrontPage.module.css | 9 +- .../color-debugger/FrontPage/FrontPage.tsx | 4 +- .../color-debugger/Sidebar/Sidebar.module.css | 1 + .../app/color-debugger/Sidebar/Sidebar.tsx | 19 ++-- .../app/color-debugger/TabMenu/TabMenu.tsx | 4 +- .../Accordion/Accordion.module.css | 24 +++++ .../ArticlePage/Accordion/Accordion.tsx | 63 ++++++++++++ .../_pages/ArticlePage/Alert/Alert.module.css | 9 ++ .../_pages/ArticlePage/Alert/Alert.tsx | 56 +++++++++++ .../_pages/ArticlePage/ArticlePage.module.css | 68 +++++++++++++ .../_pages/ArticlePage/ArticlePage.tsx | 96 +++++++++++++++++++ apps/theme/app/color-debugger/debugStore.ts | 4 +- apps/theme/app/color-debugger/page.tsx | 2 + 18 files changed, 413 insertions(+), 25 deletions(-) create mode 100644 apps/theme/app/color-debugger/ColorFilter/ColorFIlter.module.css create mode 100644 apps/theme/app/color-debugger/ColorFilter/ColorFilter.tsx create mode 100644 apps/theme/app/color-debugger/_pages/ArticlePage/Accordion/Accordion.module.css create mode 100644 apps/theme/app/color-debugger/_pages/ArticlePage/Accordion/Accordion.tsx create mode 100644 apps/theme/app/color-debugger/_pages/ArticlePage/Alert/Alert.module.css create mode 100644 apps/theme/app/color-debugger/_pages/ArticlePage/Alert/Alert.tsx create mode 100644 apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.module.css create mode 100644 apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.tsx diff --git a/apps/theme/app/color-debugger/ColorFilter/ColorFIlter.module.css b/apps/theme/app/color-debugger/ColorFilter/ColorFIlter.module.css new file mode 100644 index 0000000000..e1e688bd5f --- /dev/null +++ b/apps/theme/app/color-debugger/ColorFilter/ColorFIlter.module.css @@ -0,0 +1,20 @@ +.filter { + margin-top: 16px; + margin-bottom: 24px; +} + +.item { + border: 1px solid var(--ds-color-neutral-border-subtle); + background-color: white; + height: 40px; + text-align: left; + padding: 0 14px; + margin-right: -1px; + font-size: 15px; + cursor: pointer; +} + +.active { + background-color: rgb(82, 82, 82); + color: white; +} diff --git a/apps/theme/app/color-debugger/ColorFilter/ColorFilter.tsx b/apps/theme/app/color-debugger/ColorFilter/ColorFilter.tsx new file mode 100644 index 0000000000..fa112d21de --- /dev/null +++ b/apps/theme/app/color-debugger/ColorFilter/ColorFilter.tsx @@ -0,0 +1,45 @@ +import cl from 'clsx/lite'; +import { useState } from 'react'; +import { ColorScaleNames } from '../utils'; +import classes from './ColorFIlter.module.css'; + +type ColorFilterProps = { + onFilterChange: (name: string) => void; +}; + +export const ColorFilter = ({ onFilterChange }: ColorFilterProps) => { + const [selected, setSelected] = useState('Alle'); + + type ItemProps = { + name: string; + active?: boolean; + }; + + type NameType = keyof typeof ColorScaleNames | 'Alle'; + + const Item = ({ name, active }: ItemProps) => { + return ( + + ); + }; + + return ( +
+
+ + {ColorScaleNames.map((name, index) => ( + + ))} +
+
+ ); +}; diff --git a/apps/theme/app/color-debugger/ColorInfo/ColorInfo.module.css b/apps/theme/app/color-debugger/ColorInfo/ColorInfo.module.css index b8b0c02804..d1798f8d66 100644 --- a/apps/theme/app/color-debugger/ColorInfo/ColorInfo.module.css +++ b/apps/theme/app/color-debugger/ColorInfo/ColorInfo.module.css @@ -29,7 +29,7 @@ display: flex; flex-wrap: wrap; padding: 16px; - gap: 16px; + gap: 12px; font-size: 15px; margin-top: 12px; border-radius: 4px; diff --git a/apps/theme/app/color-debugger/ColorInfo/ColorInfo.tsx b/apps/theme/app/color-debugger/ColorInfo/ColorInfo.tsx index 511bec8fab..e252b61bbb 100644 --- a/apps/theme/app/color-debugger/ColorInfo/ColorInfo.tsx +++ b/apps/theme/app/color-debugger/ColorInfo/ColorInfo.tsx @@ -43,10 +43,6 @@ export const ColorInfo = () => { {oklch[0].toFixed(2)} {oklch[1].toFixed(2)} {oklch[2].toFixed(2)}
-
-
OKLCH Lightness
-
{oklchLightness}
-
); }; diff --git a/apps/theme/app/color-debugger/ContrastColors/ContrastColors.tsx b/apps/theme/app/color-debugger/ContrastColors/ContrastColors.tsx index 22eeb0b639..3715e059c9 100644 --- a/apps/theme/app/color-debugger/ContrastColors/ContrastColors.tsx +++ b/apps/theme/app/color-debugger/ContrastColors/ContrastColors.tsx @@ -78,7 +78,7 @@ export const ContrastColors = () => {
{contrastSection( color, - scheme.light[ColorIndexes.baseContrastSubtleIndex].hex, + scheme.light[ColorIndexes.baseContrastSubtle].hex, )}
)} @@ -98,16 +98,16 @@ export const ContrastColors = () => { {outerScales.map((innerScale, key) => (
diff --git a/apps/theme/app/color-debugger/FrontPage/FrontPage.module.css b/apps/theme/app/color-debugger/FrontPage/FrontPage.module.css index 57afed43ff..56274e371a 100644 --- a/apps/theme/app/color-debugger/FrontPage/FrontPage.module.css +++ b/apps/theme/app/color-debugger/FrontPage/FrontPage.module.css @@ -35,6 +35,7 @@ display: flex; align-items: center; gap: 8px; + font-size: 16px; } .contrastTestsHeading { @@ -45,18 +46,18 @@ } .sectionCircle { - width: 48px; - height: 48px; + width: 44px; + height: 44px; border-radius: 50%; margin-right: 8px; - background-color: rgb(255, 164, 164); + background-color: rgb(255, 173, 173); display: flex; align-items: center; justify-content: center; } .passed { - background-color: rgb(146, 223, 165); + background-color: rgb(158, 233, 177); } .sectionHeading { diff --git a/apps/theme/app/color-debugger/FrontPage/FrontPage.tsx b/apps/theme/app/color-debugger/FrontPage/FrontPage.tsx index 62d98a9e5a..d562df70ed 100644 --- a/apps/theme/app/color-debugger/FrontPage/FrontPage.tsx +++ b/apps/theme/app/color-debugger/FrontPage/FrontPage.tsx @@ -185,12 +185,12 @@ export const FrontPage = () => {
{error && (
- +
)} {!error && (
- +
)}
diff --git a/apps/theme/app/color-debugger/Sidebar/Sidebar.module.css b/apps/theme/app/color-debugger/Sidebar/Sidebar.module.css index 8ee0b65d32..df59312728 100644 --- a/apps/theme/app/color-debugger/Sidebar/Sidebar.module.css +++ b/apps/theme/app/color-debugger/Sidebar/Sidebar.module.css @@ -39,6 +39,7 @@ .select select { height: 32px; padding: 0 8px; + font-size: 14px; } .rangeOutput { diff --git a/apps/theme/app/color-debugger/Sidebar/Sidebar.tsx b/apps/theme/app/color-debugger/Sidebar/Sidebar.tsx index 805307396c..43370ba876 100644 --- a/apps/theme/app/color-debugger/Sidebar/Sidebar.tsx +++ b/apps/theme/app/color-debugger/Sidebar/Sidebar.tsx @@ -1,7 +1,9 @@ import { Field, Heading, Select } from '@digdir/designsystemet-react'; -import type { InterpolationMode } from 'chroma-js'; -import { getColorInfoFromPosition } from '@/packages/cli/dist/src'; +import { + type ColorNumber, + getColorInfoFromPosition, +} from '@digdir/designsystemet/color'; import { DoubleInput } from '../DoubleInput/DoubleInput'; import { RangeBar } from '../RangeBar/RangeBar'; import { useDebugStore } from '../debugStore'; @@ -22,7 +24,7 @@ export const Sidebar = () => {
Color scheme
- + { setThemeSettings({ @@ -182,13 +184,13 @@ export const Sidebar = () => {
Mode
- +
-
Kategorier
+ Se alle @@ -162,38 +294,87 @@ export const Mobile = ({ colorScales }: MobileProps) => {
- + - + - + - +
-
Mest populære spill
+ Se alle @@ -218,28 +399,54 @@ export const Mobile = ({ colorScales }: MobileProps) => {
-
+
- +
- +
- +
- +
@@ -248,27 +455,36 @@ export const Mobile = ({ colorScales }: MobileProps) => { return (
+
App design
+ setActiveColor(e)} /> {colorScales.map((innerScales, index) => (
-
{ColorScaleNames[index]}
-
- {innerScales.map((colorScheme, index2) => ( -
-
-
-
-
- - - - -
+ {(ColorScaleNames[index] === activeColor || + activeColor === 'Alle') && ( + <> +
{ColorScaleNames[index]}
+
+ {innerScales.map((colorScheme, index2) => ( +
+
+
+
+
+ + + + +
+
+ ))}
- ))} -
+ + )}
))}
diff --git a/apps/theme/app/color-debugger/Mobile/MobileHeader/MobileHeader.tsx b/apps/theme/app/color-debugger/Mobile/MobileHeader/MobileHeader.tsx index 32fac1b581..dbe8767578 100644 --- a/apps/theme/app/color-debugger/Mobile/MobileHeader/MobileHeader.tsx +++ b/apps/theme/app/color-debugger/Mobile/MobileHeader/MobileHeader.tsx @@ -1,6 +1,15 @@ +import type { ThemeInfo } from '@digdir/designsystemet/color'; +import { useDebugStore } from '../../debugStore'; +import { ColorIndexes } from '../../utils'; import classes from './MobileHeader.module.css'; -export const MobileHeader = () => { +type MobileHeaderProps = { + scale: ThemeInfo; +}; + +export const MobileHeader = ({ scale }: MobileHeaderProps) => { + const themeSettings = useDebugStore((state) => state.themeSettings); + const Time = () => { return ( { > ); @@ -36,7 +48,10 @@ export const MobileHeader = () => { width='2.3814' height='8.93023' rx='0.744186' - fill='#2B2B2B' + fill={ + scale[themeSettings.general.colorScheme][ColorIndexes.textDefault] + .hex + } /> { width='2.3814' height='7.14419' rx='0.744186' - fill='#2B2B2B' + fill={ + scale[themeSettings.general.colorScheme][ColorIndexes.textDefault] + .hex + } /> { width='2.3814' height='5.2093' rx='0.744186' - fill='#2B2B2B' + fill={ + scale[themeSettings.general.colorScheme][ColorIndexes.textDefault] + .hex + } /> { width='2.3814' height='3.42326' rx='0.744186' - fill='#2B2B2B' + fill={ + scale[themeSettings.general.colorScheme][ColorIndexes.textDefault] + .hex + } /> { width='15.6279' height='6.69767' rx='0.989767' - fill='#2B2B2B' + fill={ + scale[themeSettings.general.colorScheme][ColorIndexes.textDefault] + .hex + } /> diff --git a/apps/theme/app/color-debugger/Scales/Scales.tsx b/apps/theme/app/color-debugger/Scales/Scales.tsx index c6d4395709..e99e93732f 100644 --- a/apps/theme/app/color-debugger/Scales/Scales.tsx +++ b/apps/theme/app/color-debugger/Scales/Scales.tsx @@ -5,6 +5,7 @@ import classes from './Scales.module.css'; export const Scales = () => { const colorScales = useDebugStore((state) => state.colorScales); + const themeSettings = useDebugStore((state) => state.themeSettings); type ScaleProps = { scale: ThemeInfo; @@ -13,13 +14,15 @@ export const Scales = () => { const Scale = ({ scale }: ScaleProps) => { return (
- {scale.light.map((color: { hex: string }, index: number) => ( -
- ))} + {scale[themeSettings.general.colorScheme].map( + (color: { hex: string }, index: number) => ( +
+ ), + )}
); }; diff --git a/apps/theme/app/color-debugger/Sidebar/Sidebar.module.css b/apps/theme/app/color-debugger/Sidebar/Sidebar.module.css index df59312728..6306568b22 100644 --- a/apps/theme/app/color-debugger/Sidebar/Sidebar.module.css +++ b/apps/theme/app/color-debugger/Sidebar/Sidebar.module.css @@ -8,7 +8,7 @@ right: 24px; bottom: 24px; width: 410px; - padding: 32px 20px 20px 20px; + padding: 20px; display: flex; gap: 20px; flex-direction: column; diff --git a/apps/theme/app/color-debugger/Sidebar/Sidebar.tsx b/apps/theme/app/color-debugger/Sidebar/Sidebar.tsx index 6c5162b7a7..62272f1e30 100644 --- a/apps/theme/app/color-debugger/Sidebar/Sidebar.tsx +++ b/apps/theme/app/color-debugger/Sidebar/Sidebar.tsx @@ -26,7 +26,17 @@ export const Sidebar = () => {
Color scheme
- { + setThemeSettings({ + ...themeSettings, + general: { + ...themeSettings.general, + colorScheme: e.target.value as 'light' | 'dark', + }, + }); + }} + > Light Mode Dark Mode diff --git a/apps/theme/app/color-debugger/TabMenu/TabMenu.module.css b/apps/theme/app/color-debugger/TabMenu/TabMenu.module.css index 1d736eb386..c01a847aab 100644 --- a/apps/theme/app/color-debugger/TabMenu/TabMenu.module.css +++ b/apps/theme/app/color-debugger/TabMenu/TabMenu.module.css @@ -17,6 +17,7 @@ border: none; background-color: transparent; font-size: 15px; + cursor: pointer; } .active { diff --git a/apps/theme/app/color-debugger/_pages/ArticlePage/Accordion/Accordion.module.css b/apps/theme/app/color-debugger/_pages/ArticlePage/Accordion/Accordion.module.css index 63ace986c3..7bda74a8ce 100644 --- a/apps/theme/app/color-debugger/_pages/ArticlePage/Accordion/Accordion.module.css +++ b/apps/theme/app/color-debugger/_pages/ArticlePage/Accordion/Accordion.module.css @@ -1,5 +1,5 @@ .accordion { - border-radius: 4px; + border-radius: 6px; overflow: hidden; } @@ -11,6 +11,8 @@ display: flex; align-items: center; gap: 12px; + transition: 0.1s all; + cursor: pointer; } .items .item:first-child .header { diff --git a/apps/theme/app/color-debugger/_pages/ArticlePage/Accordion/Accordion.tsx b/apps/theme/app/color-debugger/_pages/ArticlePage/Accordion/Accordion.tsx index 83358f604a..d459c05035 100644 --- a/apps/theme/app/color-debugger/_pages/ArticlePage/Accordion/Accordion.tsx +++ b/apps/theme/app/color-debugger/_pages/ArticlePage/Accordion/Accordion.tsx @@ -1,5 +1,7 @@ import type { ThemeInfo } from '@digdir/designsystemet/color'; import { ChevronDownIcon, ChevronUpIcon } from '@navikt/aksel-icons'; +import { useState } from 'react'; +import { useDebugStore } from '../../../debugStore'; import { ColorIndexes } from '../../../utils'; import classes from './Accordion.module.css'; @@ -13,18 +15,41 @@ export const Accordion = ({ scale }: AccordionProps) => { }; const Item = ({ state = 'closed' }: ItemProps) => { + const [headerState, setHeaderState] = useState<'on' | 'off'>('off'); + const themeSettings = useDebugStore((state) => state.themeSettings); + + const onHeaderEnter = () => { + setHeaderState('on'); + }; + const onHeaderLeave = () => { + setHeaderState('off'); + }; + return (
onHeaderEnter()} + onMouseLeave={() => onHeaderLeave()} className={classes.header} style={{ backgroundColor: - scale.light[ + scale[themeSettings.general.colorScheme][ state === 'open' - ? ColorIndexes.surfaceHover - : ColorIndexes.surfaceTinted + ? headerState === 'on' + ? ColorIndexes.surfaceActive + : ColorIndexes.surfaceHover + : headerState === 'on' + ? ColorIndexes.surfaceHover + : ColorIndexes.surfaceTinted + ].hex, + borderTop: + '1px solid' + + scale[themeSettings.general.colorScheme][ + ColorIndexes.borderSubtle ].hex, - borderTop: '1px solid' + scale.light[ColorIndexes.borderSubtle].hex, + color: + scale[themeSettings.general.colorScheme][ColorIndexes.textDefault] + .hex, }} > {state === 'closed' && ( @@ -39,7 +64,14 @@ export const Accordion = ({ scale }: AccordionProps) => {
Sleepiness the his soon even bit the immediately my disciplined wish @@ -55,7 +87,7 @@ export const Accordion = ({ scale }: AccordionProps) => {
- +
diff --git a/apps/theme/app/color-debugger/_pages/ArticlePage/Alert/Alert.module.css b/apps/theme/app/color-debugger/_pages/ArticlePage/Alert/Alert.module.css index 629cde9915..9653d9560c 100644 --- a/apps/theme/app/color-debugger/_pages/ArticlePage/Alert/Alert.module.css +++ b/apps/theme/app/color-debugger/_pages/ArticlePage/Alert/Alert.module.css @@ -1,6 +1,6 @@ .alert { padding: 24px; - border-radius: 4px; + border-radius: 6px; display: flex; align-items: center; gap: 12px; diff --git a/apps/theme/app/color-debugger/_pages/ArticlePage/Alert/Alert.tsx b/apps/theme/app/color-debugger/_pages/ArticlePage/Alert/Alert.tsx index ff031642cc..c1a129f316 100644 --- a/apps/theme/app/color-debugger/_pages/ArticlePage/Alert/Alert.tsx +++ b/apps/theme/app/color-debugger/_pages/ArticlePage/Alert/Alert.tsx @@ -29,7 +29,7 @@ export const Alert = ({ type }: AlertProps) => { error, }; - return colorSchemes[type].light[index].hex; + return colorSchemes[type][themeSettings.general.colorScheme][index].hex; }; return ( diff --git a/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.module.css b/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.module.css index 374e127814..893bf70445 100644 --- a/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.module.css +++ b/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.module.css @@ -1,3 +1,7 @@ +.page { + margin-bottom: 24px; +} + .pageHeading { font-size: 23px; font-weight: 500; diff --git a/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.tsx b/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.tsx index 05177fec1a..f1ae91a88b 100644 --- a/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.tsx +++ b/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.tsx @@ -1,10 +1,12 @@ import type { ThemeInfo } from '@digdir/designsystemet/color'; import { useState } from 'react'; import { ColorFilter } from '../../ColorFilter/ColorFilter'; -import { ColorScaleNames } from '../../utils'; +import { useDebugStore } from '../../debugStore'; +import { ColorIndexes, ColorScaleNames } from '../../utils'; import { Accordion } from './Accordion/Accordion'; import { Alert } from './Alert/Alert'; import classes from './ArticlePage.module.css'; +import { File } from './File/File'; type ArticlePageProps = { colorScales: ThemeInfo[][]; @@ -12,10 +14,12 @@ type ArticlePageProps = { export const ArticlePage = ({ colorScales }: ArticlePageProps) => { const [activeColor, setActiveColor] = useState('Alle'); + const themeSettings = useDebugStore((state) => state.themeSettings); type ArticleProps = { scale: ThemeInfo; - index: number; + index1: number; + index2: number; }; const getAlertType = ( @@ -27,43 +31,86 @@ export const ArticlePage = ({ colorScales }: ArticlePageProps) => { return 'error'; }; - const Article = ({ scale, index }: ArticleProps) => { + const Article = ({ scale, index1, index2 }: ArticleProps) => { return ( -
+
-
Logo
+
+ {ColorScaleNames[index1]} {index2 + 1} +
- -
+ + +
Receive also such of sleep inn they of move bed these owner to for preceding quite practice to again. With the or be to and merit.
- -
+ + +
Receive also such of sleep inn they of move bed these owner to for preceding quite practice to again. With the or be to and merit.
+
); @@ -74,15 +121,20 @@ export const ArticlePage = ({ colorScales }: ArticlePageProps) => {
Article Design
setActiveColor(e)} />
- {colorScales.map((innerScale, index) => ( -
- {(ColorScaleNames[index] === activeColor || + {colorScales.map((innerScale, index1) => ( +
+ {(ColorScaleNames[index1] === activeColor || activeColor === 'Alle') && ( <> -
{ColorScaleNames[index]}
+
{ColorScaleNames[index1]}
{innerScale.map((scale, index2) => ( -
+
))}
diff --git a/apps/theme/app/color-debugger/_pages/ArticlePage/File/File.module.css b/apps/theme/app/color-debugger/_pages/ArticlePage/File/File.module.css new file mode 100644 index 0000000000..149f7bfc04 --- /dev/null +++ b/apps/theme/app/color-debugger/_pages/ArticlePage/File/File.module.css @@ -0,0 +1,44 @@ +.file { + height: 120px; + background-color: red; + width: 100%; + border-radius: 6px; + overflow: hidden; + display: flex; +} + +.left { + height: 120px; + width: 120px; + background-color: blue; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.circle { + height: 78px; + width: 78px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; +} + +.content { + display: flex; + flex-direction: column; + justify-content: center; + padding-left: 24px; + gap: 8px; +} + +.title { + font-weight: 500; + font-size: 17px; +} + +.desc { + font-size: 15px; +} diff --git a/apps/theme/app/color-debugger/_pages/ArticlePage/File/File.tsx b/apps/theme/app/color-debugger/_pages/ArticlePage/File/File.tsx new file mode 100644 index 0000000000..b339243f4f --- /dev/null +++ b/apps/theme/app/color-debugger/_pages/ArticlePage/File/File.tsx @@ -0,0 +1,74 @@ +import type { ThemeInfo } from '@digdir/designsystemet/color'; +import { ComponentFillIcon } from '@navikt/aksel-icons'; +import { useDebugStore } from '../../../debugStore'; +import { ColorIndexes } from '../../../utils'; +import classes from './File.module.css'; + +type FileProps = { + scale: ThemeInfo; +}; + +export const File = ({ scale }: FileProps) => { + const themeSettings = useDebugStore((state) => state.themeSettings); + + return ( +
+
+
+ +
+
+
+
+ Wanted without escape +
+
+ Of picture internet of was of willingly by years +
+
+
+ ); +}; diff --git a/apps/theme/app/color-debugger/page.module.css b/apps/theme/app/color-debugger/page.module.css index 4039a27762..0c933d9702 100644 --- a/apps/theme/app/color-debugger/page.module.css +++ b/apps/theme/app/color-debugger/page.module.css @@ -9,6 +9,12 @@ overflow: auto; padding-top: 40px; margin-top: 41px; + font-family: 'Inter', sans-serif; +} + +.page button, +.page input { + font-family: 'Inter', sans-serif; } .content { diff --git a/apps/theme/app/color-debugger/page.tsx b/apps/theme/app/color-debugger/page.tsx index 7ebb2eb4fc..499008054b 100644 --- a/apps/theme/app/color-debugger/page.tsx +++ b/apps/theme/app/color-debugger/page.tsx @@ -25,15 +25,17 @@ export default function Home() { const themeSettings = useDebugStore((state) => state.themeSettings); const setColorScale = useDebugStore((state) => state.setColorScale); const hues = [0, 22, 37, 55, 76, 124, 177, 208, 235, 278, 308]; + const blackHues = [0, 55, 77]; const steps = [ - { s: 100, l: 50 }, + { s: 100, l: 100 }, + { s: 100, l: 80 }, + { s: 100, l: 60 }, { s: 100, l: 40 }, - { s: 100, l: 31 }, - { s: 100, l: 21 }, - { s: 100, l: 63 }, - { s: 62, l: 50 }, - { s: 61, l: 37 }, - { s: 59, l: 23 }, + { s: 80, l: 100 }, + { s: 80, l: 80 }, + { s: 80, l: 60 }, + { s: 60, l: 100 }, + { s: 60, l: 80 }, ]; const pageType = useDebugStore((state) => state.pageType); @@ -48,7 +50,7 @@ export default function Home() { hue, step.s / 100, step.l / 100, - 'hsl', + 'hsv', ).hex() as CssColor; const theme = generateColorSchemes(color, luminance, themeSettings); @@ -57,6 +59,14 @@ export default function Home() { } themes.push(innerThemes); } + themes[11] = []; + for (let i = 0; i < blackHues.length; i++) { + const hue = hues[i]; + const color = chroma(hue, 1, 0.15, 'hsv').hex() as CssColor; + const theme = generateColorSchemes(color, luminance, themeSettings); + themes[11].push(theme); + } + setColorScales(themes); setColorScale(themes[0][0]); }, [ diff --git a/apps/theme/app/color-debugger/utils.ts b/apps/theme/app/color-debugger/utils.ts index 898cbf24f4..3624457773 100644 --- a/apps/theme/app/color-debugger/utils.ts +++ b/apps/theme/app/color-debugger/utils.ts @@ -29,4 +29,5 @@ export const ColorScaleNames = [ 'Strong Blue', 'Purple', 'Pink', + 'Black', ]; From 298002d97bbdb60ab3b8e5d73cb49ff574afd163 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Tue, 4 Feb 2025 09:44:55 +0100 Subject: [PATCH 17/26] Stuff --- apps/theme/app/color-debugger/page.tsx | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/apps/theme/app/color-debugger/page.tsx b/apps/theme/app/color-debugger/page.tsx index 499008054b..46a4a30fb9 100644 --- a/apps/theme/app/color-debugger/page.tsx +++ b/apps/theme/app/color-debugger/page.tsx @@ -25,7 +25,7 @@ export default function Home() { const themeSettings = useDebugStore((state) => state.themeSettings); const setColorScale = useDebugStore((state) => state.setColorScale); const hues = [0, 22, 37, 55, 76, 124, 177, 208, 235, 278, 308]; - const blackHues = [0, 55, 77]; + const blackHues = [0, 33, 116, 210, 282]; const steps = [ { s: 100, l: 100 }, { s: 100, l: 80 }, @@ -60,9 +60,16 @@ export default function Home() { themes.push(innerThemes); } themes[11] = []; + themes[11].push( + generateColorSchemes( + chroma(0, 0, 0.23, 'hsv').hex() as CssColor, + luminance, + themeSettings, + ), + ); for (let i = 0; i < blackHues.length; i++) { - const hue = hues[i]; - const color = chroma(hue, 1, 0.15, 'hsv').hex() as CssColor; + const hue = blackHues[i]; + const color = chroma(hue, 0.5, 0.26, 'hsv').hex() as CssColor; const theme = generateColorSchemes(color, luminance, themeSettings); themes[11].push(theme); } From 4adec7c60a8ebc8f6ff38050e1bde7f82ced8bcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Tue, 4 Feb 2025 09:52:46 +0100 Subject: [PATCH 18/26] Update index.ts --- packages/cli/src/colors/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/cli/src/colors/index.ts b/packages/cli/src/colors/index.ts index da5e925ba7..3ac6cd0577 100644 --- a/packages/cli/src/colors/index.ts +++ b/packages/cli/src/colors/index.ts @@ -1,4 +1,5 @@ export * from './utils.js'; export * from './theme.js'; export * from './types.js'; +export * from './luminance.js'; export * from './colorsMetadata.js'; From 4e5d56305acac9a857fdf97fa8971648468a28ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Tue, 4 Feb 2025 09:54:50 +0100 Subject: [PATCH 19/26] Update theme.ts --- apps/theme/app/color-debugger/logic/theme.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/theme/app/color-debugger/logic/theme.ts b/apps/theme/app/color-debugger/logic/theme.ts index 9f15f235e0..1f34ed3f26 100644 --- a/apps/theme/app/color-debugger/logic/theme.ts +++ b/apps/theme/app/color-debugger/logic/theme.ts @@ -21,7 +21,6 @@ export const baseColors: Record = { orange: '#B8581D', purple: '#663299', red: '#C01B1B', - yellow: '#D4B12F', }; export type InterpolationMode = From 07cc85849272b82ae8e00e7be110d19128c07c6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Tue, 4 Feb 2025 15:54:22 +0100 Subject: [PATCH 20/26] Stuff --- .../ColorInput/ColorInput.module.css | 9 + .../color-debugger/ColorInput/ColorInput.tsx | 17 ++ .../color-debugger/FrontPage/FrontPage.tsx | 2 +- .../app/color-debugger/TabMenu/TabMenu.tsx | 4 +- .../_pages/ArticlePage/Alert/Alert.tsx | 15 +- .../_pages/ArticlePage/ArticlePage.tsx | 183 ++++++++++-------- .../StatusPage/StatusPage.module.css | 32 +++ .../ArticlePage/StatusPage/StatusPage.tsx | 84 ++++++++ apps/theme/app/color-debugger/debugStore.ts | 23 ++- apps/theme/app/color-debugger/page.tsx | 34 ++++ apps/theme/app/color-debugger/utils.ts | 1 + 11 files changed, 309 insertions(+), 95 deletions(-) create mode 100644 apps/theme/app/color-debugger/_pages/ArticlePage/StatusPage/StatusPage.module.css create mode 100644 apps/theme/app/color-debugger/_pages/ArticlePage/StatusPage/StatusPage.tsx diff --git a/apps/theme/app/color-debugger/ColorInput/ColorInput.module.css b/apps/theme/app/color-debugger/ColorInput/ColorInput.module.css index 515c4fe4f9..1241100b68 100644 --- a/apps/theme/app/color-debugger/ColorInput/ColorInput.module.css +++ b/apps/theme/app/color-debugger/ColorInput/ColorInput.module.css @@ -31,3 +31,12 @@ .hidePicker { display: none; } + +.loopBtn { + position: absolute; + top: 9px; + right: 42px; + background-color: transparent; + border: none; + cursor: pointer; +} diff --git a/apps/theme/app/color-debugger/ColorInput/ColorInput.tsx b/apps/theme/app/color-debugger/ColorInput/ColorInput.tsx index fde0ad81d3..6bedb7fd75 100644 --- a/apps/theme/app/color-debugger/ColorInput/ColorInput.tsx +++ b/apps/theme/app/color-debugger/ColorInput/ColorInput.tsx @@ -1,4 +1,6 @@ +import { ArrowsCirclepathIcon } from '@navikt/aksel-icons'; import cl from 'clsx/lite'; +import { useEffect, useState } from 'react'; import { ColorPicker, ColorService, type IColor } from 'react-color-palette'; import classes from './ColorInput.module.css'; @@ -7,6 +9,7 @@ type ColorInputProps = { setColor: (color: IColor) => void; showPicker: boolean; onColorClicked: () => void; + showReset?: boolean; }; export const ColorInput = ({ @@ -14,7 +17,13 @@ export const ColorInput = ({ setColor, showPicker, onColorClicked, + showReset = false, }: ColorInputProps) => { + const [initialColor, setInitialColor] = useState(color); + useEffect(() => { + setInitialColor(color); + }, []); + return (
+ {showReset && initialColor.hex !== color.hex && ( + + )} +
-
-
+
+
+ {index1 === 12 && ( + <> + + setStatusColors({ + ...statusColors, + [getAlertType(index2)]: color, + }) + } + showReset + showPicker={showPicker} + onColorClicked={() => { + setShowPicker(!showPicker); }} - > - Sign up - - -
-
-
- + Receive also such of sleep inn they of move bed these owner to for + preceding quite practice to again. With the or be to and merit. +
+ + )} -
- Receive also such of sleep inn they of move bed these owner to for - preceding quite practice to again. With the or be to and merit. -
+ - -
- Receive also such of sleep inn they of move bed these owner to for - preceding quite practice to again. With the or be to and merit. -
- +
+ Receive also such of sleep inn they of move bed these owner to for + preceding quite practice to again. With the or be to and merit.
+
- ); - }; +
+ ); +}; + +type ArticlePageProps = { + colorScales: ThemeInfo[][]; +}; + +export const ArticlePage = ({ colorScales }: ArticlePageProps) => { + const [activeColor, setActiveColor] = useState('Alle'); + const themeSettings = useDebugStore((state) => state.themeSettings); return (
diff --git a/apps/theme/app/color-debugger/_pages/ArticlePage/StatusPage/StatusPage.module.css b/apps/theme/app/color-debugger/_pages/ArticlePage/StatusPage/StatusPage.module.css new file mode 100644 index 0000000000..a1b5b412df --- /dev/null +++ b/apps/theme/app/color-debugger/_pages/ArticlePage/StatusPage/StatusPage.module.css @@ -0,0 +1,32 @@ +.status { + width: 100%; +} + +.items { + display: flex; + flex-wrap: wrap; + gap: 16px; + width: 100%; +} + +.item { + width: calc(50% - 8px); + padding: 24px; + background-color: white; + border-radius: 4px; +} + +.test { + height: 40px; + width: 40px; +} + +.input { + margin-bottom: 24px; +} + +.heading { + font-size: 23px; + font-weight: 500; + margin-bottom: 12px; +} diff --git a/apps/theme/app/color-debugger/_pages/ArticlePage/StatusPage/StatusPage.tsx b/apps/theme/app/color-debugger/_pages/ArticlePage/StatusPage/StatusPage.tsx new file mode 100644 index 0000000000..afe3ea6836 --- /dev/null +++ b/apps/theme/app/color-debugger/_pages/ArticlePage/StatusPage/StatusPage.tsx @@ -0,0 +1,84 @@ +import type { ThemeInfo } from '@digdir/designsystemet/color'; +import { useState } from 'react'; +import type { IColor } from 'react-color-palette'; +import { ColorInput } from '../../../ColorInput/ColorInput'; +import { useDebugStore } from '../../../debugStore'; +import { Alert } from '../Alert/Alert'; +import classes from './StatusPage.module.css'; + +type ItemProps = { + scale: ThemeInfo; + type: 'success' | 'warning' | 'info' | 'error'; + color: IColor; + setColor: (color: IColor) => void; +}; + +const Item = ({ scale, type, color, setColor }: ItemProps) => { + const [showPicker, setShowPicker] = useState(false); + + return ( +
+
+ { + setShowPicker(!showPicker); + }} + /> +
+
+ +
+
+ ); +}; + +export const StatusPage = () => { + const luminance = useDebugStore((state) => state.luminance); + const themeSettings = useDebugStore((state) => state.themeSettings); + const colorScales = useDebugStore((state) => state.colorScales); + const statusColors = useDebugStore((state) => state.statusColors); + const setStatusColors = useDebugStore((state) => state.setStatusColors); + + return ( +
+
Status colors
+
+ + setStatusColors({ ...statusColors, success: color }) + } + type='success' + /> + + setStatusColors({ ...statusColors, error: color }) + } + type='error' + /> + + setStatusColors({ ...statusColors, warning: color }) + } + type='warning' + /> + + setStatusColors({ ...statusColors, info: color }) + } + type='info' + /> +
+
+ ); +}; diff --git a/apps/theme/app/color-debugger/debugStore.ts b/apps/theme/app/color-debugger/debugStore.ts index d6a3452c2d..6367f7663e 100644 --- a/apps/theme/app/color-debugger/debugStore.ts +++ b/apps/theme/app/color-debugger/debugStore.ts @@ -3,6 +3,7 @@ import { generateColorSchemes, luminance, } from '@digdir/designsystemet/color'; +import { ColorService, type IColor } from 'react-color-palette'; import { create } from 'zustand'; import { subscribeWithSelector } from 'zustand/middleware'; import type { InterpolationMode } from './logic/theme'; @@ -39,6 +40,7 @@ export type PageType = | 'colorTable' | 'mobile' | 'dash' + | 'status' | 'article'; type ColorStore = { @@ -54,10 +56,29 @@ type ColorStore = { setColorScales: (colorScales: ThemeInfo[][]) => void; colorScale: ThemeInfo; setColorScale: (colorScale: ThemeInfo) => void; + statusColors: { + success: IColor; + warning: IColor; + info: IColor; + error: IColor; + }; + setStatusColors: (statusColors: { + success: IColor; + warning: IColor; + info: IColor; + error: IColor; + }) => void; }; export const useDebugStore = create( subscribeWithSelector((set) => ({ + statusColors: { + success: ColorService.convert('hex', '#068718'), + warning: ColorService.convert('hex', '#ea9b1b'), + info: ColorService.convert('hex', '#0A71C0'), + error: ColorService.convert('hex', '#C01B1B'), + }, + setStatusColors: (statusColors) => set({ statusColors }), themeSettings: { general: { testMode: 'debug', @@ -68,7 +89,7 @@ export const useDebugStore = create( darkOffset: 0, negativeModeMin: 30, negativeModRangeMin: 49.5, - negativeModRangeMax: 65, + negativeModRangeMax: 66, }, interpolation: { mode: 'rgb', diff --git a/apps/theme/app/color-debugger/page.tsx b/apps/theme/app/color-debugger/page.tsx index 46a4a30fb9..b3557c269c 100644 --- a/apps/theme/app/color-debugger/page.tsx +++ b/apps/theme/app/color-debugger/page.tsx @@ -14,6 +14,7 @@ import { Scales } from './Scales/Scales'; import { Sidebar } from './Sidebar/Sidebar'; import { TabMenu } from './TabMenu/TabMenu'; import { ArticlePage } from './_pages/ArticlePage/ArticlePage'; +import { StatusPage } from './_pages/ArticlePage/StatusPage/StatusPage'; import { useDebugStore } from './debugStore'; import { generateColorSchemes } from './logic/theme'; import classes from './page.module.css'; @@ -23,6 +24,7 @@ export default function Home() { const colorScales = useDebugStore((state) => state.colorScales); const setColorScales = useDebugStore((state) => state.setColorScales); const themeSettings = useDebugStore((state) => state.themeSettings); + const statusColors = useDebugStore((state) => state.statusColors); const setColorScale = useDebugStore((state) => state.setColorScale); const hues = [0, 22, 37, 55, 76, 124, 177, 208, 235, 278, 308]; const blackHues = [0, 33, 116, 210, 282]; @@ -74,12 +76,43 @@ export default function Home() { themes[11].push(theme); } + themes[12] = []; + themes[12].push( + generateColorSchemes( + statusColors.success.hex as CssColor, + luminance, + themeSettings, + ), + ); + themes[12].push( + generateColorSchemes( + statusColors.error.hex as CssColor, + luminance, + themeSettings, + ), + ); + themes[12].push( + generateColorSchemes( + statusColors.warning.hex as CssColor, + luminance, + themeSettings, + ), + ); + themes[12].push( + generateColorSchemes( + statusColors.info.hex as CssColor, + luminance, + themeSettings, + ), + ); + setColorScales(themes); setColorScale(themes[0][0]); }, [ luminance, themeSettings.base.modifier, themeSettings.interpolation.mode, + statusColors, ]); useEffect(() => { @@ -154,6 +187,7 @@ export default function Home() { {pageType === 'mobile' && } {pageType === 'article' && } + {pageType === 'status' && }
diff --git a/apps/theme/app/color-debugger/utils.ts b/apps/theme/app/color-debugger/utils.ts index 3624457773..a3dc2da2b1 100644 --- a/apps/theme/app/color-debugger/utils.ts +++ b/apps/theme/app/color-debugger/utils.ts @@ -30,4 +30,5 @@ export const ColorScaleNames = [ 'Purple', 'Pink', 'Black', + 'Status', ]; From b152d7484b100b9c8c714754f4db9c11767b2724 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Tue, 4 Feb 2025 19:00:25 +0100 Subject: [PATCH 21/26] Stuff --- .../ColorGrid/ColorGrid.module.css | 18 ++++++ .../color-debugger/ColorGrid/ColorGrid.tsx | 64 ++++++++++++++++++- .../color-debugger/ColorInfo/ColorInfo.tsx | 2 + .../ColorInput/ColorInput.module.css | 24 ++++++- .../color-debugger/ColorInput/ColorInput.tsx | 29 +++++++-- .../ContrastChecker/ContrastChecker.tsx | 44 ++----------- .../color-debugger/Scales/Scales.module.css | 9 ++- .../app/color-debugger/Scales/Scales.tsx | 20 ++++-- .../_pages/ArticlePage/ArticlePage.tsx | 1 + apps/theme/app/color-debugger/page.tsx | 37 +---------- 10 files changed, 159 insertions(+), 89 deletions(-) diff --git a/apps/theme/app/color-debugger/ColorGrid/ColorGrid.module.css b/apps/theme/app/color-debugger/ColorGrid/ColorGrid.module.css index f850c9d2a8..4e41b82954 100644 --- a/apps/theme/app/color-debugger/ColorGrid/ColorGrid.module.css +++ b/apps/theme/app/color-debugger/ColorGrid/ColorGrid.module.css @@ -7,6 +7,7 @@ display: flex; margin-bottom: 12px; margin-left: -8px; + border-radius: 4px; } .item { @@ -39,5 +40,22 @@ .grid { background-color: white; + border-radius: 4px; padding: 24px; } + +.heading { + margin-bottom: 12px; + font-size: 19px; +} + +.tables { + display: flex; + flex-direction: column; + gap: 32px; +} + +.pageHeading { + font-size: 23px; + font-weight: 500; +} diff --git a/apps/theme/app/color-debugger/ColorGrid/ColorGrid.tsx b/apps/theme/app/color-debugger/ColorGrid/ColorGrid.tsx index 0dec78a783..34f0b246e3 100644 --- a/apps/theme/app/color-debugger/ColorGrid/ColorGrid.tsx +++ b/apps/theme/app/color-debugger/ColorGrid/ColorGrid.tsx @@ -1,10 +1,11 @@ import type { ThemeInfo } from '@/packages/cli/dist/src'; -import { Checkbox } from '@digdir/designsystemet-react'; +import { Checkbox, Heading } from '@digdir/designsystemet-react'; import { useState } from 'react'; import { useDebugStore } from '../debugStore'; import { generateColorSchemes } from '../logic/theme'; import { ColorIndexes } from '../utils'; import classes from './ColorGrid.module.css'; + type ColorGridProps = { colors: ThemeInfo[][]; showBase?: boolean; @@ -78,3 +79,64 @@ export const ColorGrid = ({ colors, colorNumber }: ColorGridProps) => {
); }; + +type ColorTablesProps = { + colorScales: ThemeInfo[][]; +}; + +export const ColorTables = ({ colorScales }: ColorTablesProps) => { + return ( +
+
Color tables
+
+ Background tinted + +
+ +
+ Surface Default + +
+ +
+ Surface tinted + +
+ +
+ Surface hover + +
+ +
+ Surface Active + +
+ +
+ Border Subtle + +
+ +
+ Border Default + +
+ +
+ Border Strong + +
+ +
+ Text Subtle + +
+ +
+ Text Default + +
+
+ ); +}; diff --git a/apps/theme/app/color-debugger/ColorInfo/ColorInfo.tsx b/apps/theme/app/color-debugger/ColorInfo/ColorInfo.tsx index e252b61bbb..7d43f4fb0a 100644 --- a/apps/theme/app/color-debugger/ColorInfo/ColorInfo.tsx +++ b/apps/theme/app/color-debugger/ColorInfo/ColorInfo.tsx @@ -62,6 +62,7 @@ export const ColorInfo = () => { setShowPickerTwo(false); }} showPicker={showPickerOne} + position='top' /> {getResult(colorOne.hex)}
@@ -75,6 +76,7 @@ export const ColorInfo = () => { setShowPickerOne(false); }} showPicker={showPickerTwo} + position='top' /> {getResult(colorTwo.hex)}
diff --git a/apps/theme/app/color-debugger/ColorInput/ColorInput.module.css b/apps/theme/app/color-debugger/ColorInput/ColorInput.module.css index 1241100b68..3c66bb6aa8 100644 --- a/apps/theme/app/color-debugger/ColorInput/ColorInput.module.css +++ b/apps/theme/app/color-debugger/ColorInput/ColorInput.module.css @@ -6,6 +6,19 @@ width: 30px; border-radius: 4px; border: 1px solid rgb(158, 158, 158); + cursor: pointer; +} + +.closeBtn { + position: absolute; + top: 8px; + right: 11px; + height: 30px; + width: 30px; + border-radius: 4px; + border: none; + cursor: pointer; + background-color: transparent; } .input { @@ -25,7 +38,16 @@ .picker { position: absolute; width: 100%; - z-index: 5; + z-index: 9999999; + transform: scale(0.9); + top: 32px; + right: -17px; +} + +.top { + top: -670%; + right: 0; + transform: scale(0.75); } .hidePicker { diff --git a/apps/theme/app/color-debugger/ColorInput/ColorInput.tsx b/apps/theme/app/color-debugger/ColorInput/ColorInput.tsx index 6bedb7fd75..5dc273d1b3 100644 --- a/apps/theme/app/color-debugger/ColorInput/ColorInput.tsx +++ b/apps/theme/app/color-debugger/ColorInput/ColorInput.tsx @@ -1,4 +1,4 @@ -import { ArrowsCirclepathIcon } from '@navikt/aksel-icons'; +import { ArrowsCirclepathIcon, XMarkIcon } from '@navikt/aksel-icons'; import cl from 'clsx/lite'; import { useEffect, useState } from 'react'; import { ColorPicker, ColorService, type IColor } from 'react-color-palette'; @@ -10,6 +10,7 @@ type ColorInputProps = { showPicker: boolean; onColorClicked: () => void; showReset?: boolean; + position?: 'top' | 'bottom'; }; export const ColorInput = ({ @@ -18,6 +19,7 @@ export const ColorInput = ({ showPicker, onColorClicked, showReset = false, + position = 'bottom', }: ColorInputProps) => { const [initialColor, setInitialColor] = useState(color); useEffect(() => { @@ -42,12 +44,25 @@ export const ColorInput = ({ )} - -
+ {!showPicker && ( + + )} + {showPicker && ( + + )} +
void; }; -const ColorInput = ({ - color, - setColor, - showPicker, - onColorClicked, -}: ColorInputProps) => { - return ( -
- { - setColor(ColorService.convert('hex', e.target.value)); - }} - /> - -
- -
-
- ); -}; - export const ContrastChecker = () => { const [colorOne, setColorOne] = useColor('#0062BA'); const [colorTwo, setColorTwo] = useColor('#FFFFFF'); @@ -86,6 +48,7 @@ export const ContrastChecker = () => { setShowPickerTwo(false); }} showPicker={showPickerOne} + position='top' />
@@ -98,6 +61,7 @@ export const ContrastChecker = () => { setShowPickerOne(false); }} showPicker={showPickerTwo} + position='top' />
diff --git a/apps/theme/app/color-debugger/Scales/Scales.module.css b/apps/theme/app/color-debugger/Scales/Scales.module.css index b74575c947..f0271e2e27 100644 --- a/apps/theme/app/color-debugger/Scales/Scales.module.css +++ b/apps/theme/app/color-debugger/Scales/Scales.module.css @@ -1,6 +1,7 @@ .scales { display: flex; flex-direction: column; + margin-bottom: 24px; } .scale { @@ -18,5 +19,11 @@ font-size: 21px; font-weight: 500; margin-bottom: 12px; - margin-top: 24px; + margin-top: 0px; +} + +.heading { + font-size: 23px; + font-weight: 500; + margin-bottom: 12px; } diff --git a/apps/theme/app/color-debugger/Scales/Scales.tsx b/apps/theme/app/color-debugger/Scales/Scales.tsx index e99e93732f..ca666f0b9a 100644 --- a/apps/theme/app/color-debugger/Scales/Scales.tsx +++ b/apps/theme/app/color-debugger/Scales/Scales.tsx @@ -1,4 +1,6 @@ import type { ThemeInfo } from '@digdir/designsystemet/color'; +import { useState } from 'react'; +import { ColorFilter } from '../ColorFilter/ColorFilter'; import { useDebugStore } from '../debugStore'; import { ColorScaleNames } from '../utils'; import classes from './Scales.module.css'; @@ -6,6 +8,7 @@ import classes from './Scales.module.css'; export const Scales = () => { const colorScales = useDebugStore((state) => state.colorScales); const themeSettings = useDebugStore((state) => state.themeSettings); + const [activeColor, setActiveColor] = useState('Alle'); type ScaleProps = { scale: ThemeInfo; @@ -29,12 +32,19 @@ export const Scales = () => { return (
+
Color scales
+ setActiveColor(e)} /> {colorScales.map((innerScales, index) => ( -
-
{ColorScaleNames[index]}
- {innerScales.map((scale, index) => ( - - ))} +
+ {(ColorScaleNames[index] === activeColor || + activeColor === 'Alle') && ( +
+
{ColorScaleNames[index]}
+ {innerScales.map((scale, index) => ( + + ))} +
+ )}
))}
diff --git a/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.tsx b/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.tsx index 14a0c867a7..543ee9bd3c 100644 --- a/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.tsx +++ b/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.tsx @@ -92,6 +92,7 @@ const Article = ({ scale, index1, index2 }: ArticleProps) => { [getAlertType(index2)]: color, }) } + position='top' showReset showPicker={showPicker} onColorClicked={() => { diff --git a/apps/theme/app/color-debugger/page.tsx b/apps/theme/app/color-debugger/page.tsx index b3557c269c..bc0cdd963b 100644 --- a/apps/theme/app/color-debugger/page.tsx +++ b/apps/theme/app/color-debugger/page.tsx @@ -5,7 +5,7 @@ import type { CssColor, ThemeInfo } from '@digdir/designsystemet/color'; import chroma from 'chroma-js'; import cl from 'clsx/lite'; import { useEffect } from 'react'; -import { ColorGrid } from './ColorGrid/ColorGrid'; +import { ColorTables } from './ColorGrid/ColorGrid'; import { ColorSaturation } from './ColorSaturation/ColorSaturation'; import { ContrastColors } from './ContrastColors/ContrastColors'; import { FrontPage } from './FrontPage/FrontPage'; @@ -152,39 +152,8 @@ export default function Home() { )} - {pageType === 'scales' && ( - <> - Color Scales - - - )} - - {pageType === 'colorTable' && ( - <> - Background subtle - - - Surface Default - - Surface Hover - - Surface Active - - - Border Subtle - - Border Default - - Border Strong - - - Text Subtle - - Text Default - - - )} - + {pageType === 'scales' && } + {pageType === 'colorTable' && } {pageType === 'mobile' && } {pageType === 'article' && } {pageType === 'status' && } From 8d8026cff0f1ebe4de4e08ba23251b47487e2965 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Mon, 10 Feb 2025 08:52:05 +0100 Subject: [PATCH 22/26] stuff --- .../ColorSaturation.module.css | 25 ---- .../ColorSaturation/ColorSaturation.tsx | 51 --------- .../app/color-debugger/TabMenu/TabMenu.tsx | 1 + .../_pages/ArticlePage/ArticlePage.module.css | 16 ++- .../_pages/ArticlePage/ArticlePage.tsx | 42 +++++-- .../Saturationpage/SaturationPage.module.css | 41 +++++++ .../_pages/Saturationpage/SaturationPage.tsx | 108 ++++++++++++++++++ apps/theme/app/color-debugger/logic/theme.ts | 2 +- apps/theme/app/color-debugger/page.tsx | 13 +-- packages/cli/src/colors/luminance.ts | 18 +-- packages/cli/src/colors/theme.ts | 2 +- 11 files changed, 211 insertions(+), 108 deletions(-) delete mode 100644 apps/theme/app/color-debugger/ColorSaturation/ColorSaturation.module.css delete mode 100644 apps/theme/app/color-debugger/ColorSaturation/ColorSaturation.tsx create mode 100644 apps/theme/app/color-debugger/_pages/Saturationpage/SaturationPage.module.css create mode 100644 apps/theme/app/color-debugger/_pages/Saturationpage/SaturationPage.tsx diff --git a/apps/theme/app/color-debugger/ColorSaturation/ColorSaturation.module.css b/apps/theme/app/color-debugger/ColorSaturation/ColorSaturation.module.css deleted file mode 100644 index bb64b271e2..0000000000 --- a/apps/theme/app/color-debugger/ColorSaturation/ColorSaturation.module.css +++ /dev/null @@ -1,25 +0,0 @@ -.container { - height: 400px; - width: 100%; -} - -.gradient { - background: linear-gradient( - 90deg, - rgba(255, 0, 0, 1) 0%, - rgba(255, 154, 0, 1) 10%, - rgba(208, 222, 33, 1) 20%, - rgba(79, 220, 74, 1) 30%, - rgba(63, 218, 216, 1) 40%, - rgba(47, 201, 226, 1) 50%, - #1c7fee 60%, - rgba(95, 21, 242, 1) 70%, - rgba(186, 12, 248, 1) 80%, - #fb07d9 90%, - rgba(255, 0, 0, 1) 100% - ); - - height: 25px; - width: calc(100% - 34px); - margin-left: 34px; -} diff --git a/apps/theme/app/color-debugger/ColorSaturation/ColorSaturation.tsx b/apps/theme/app/color-debugger/ColorSaturation/ColorSaturation.tsx deleted file mode 100644 index 58717adf6e..0000000000 --- a/apps/theme/app/color-debugger/ColorSaturation/ColorSaturation.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import { - CartesianGrid, - Line, - LineChart, - ResponsiveContainer, - YAxis, -} from 'recharts'; -import classes from './ColorSaturation.module.css'; - -export const ColorSaturation = () => { - const test = () => { - const data = []; - for (let i = 0; i < 360; i++) { - const obj = { - name: 'ff', - pv: 1, - }; - if (i % 10 === 0) { - obj.pv = 4; - } - data.push(obj); - } - - return data; - }; - - const data = test(); - - return ( -
-
- - - - - - - - - -
-
-
- ); -}; diff --git a/apps/theme/app/color-debugger/TabMenu/TabMenu.tsx b/apps/theme/app/color-debugger/TabMenu/TabMenu.tsx index 55a3b85ddc..7b13393dbb 100644 --- a/apps/theme/app/color-debugger/TabMenu/TabMenu.tsx +++ b/apps/theme/app/color-debugger/TabMenu/TabMenu.tsx @@ -11,6 +11,7 @@ export const TabMenu = () => { baseContrast: 'Base', scales: 'Scales', colorTable: 'Table', + saturation: 'Saturation', article: 'Surface', mobile: 'App design', }; diff --git a/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.module.css b/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.module.css index 893bf70445..100549e154 100644 --- a/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.module.css +++ b/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.module.css @@ -31,13 +31,11 @@ } .content { - width: 525px; font-size: 16px; - padding-top: 30px; - padding-bottom: 30px; display: flex; flex-direction: column; - gap: 20px; + align-items: center; + width: 100%; } .accordion { @@ -70,3 +68,13 @@ border: none; font-weight: 500; } + +.section { + padding: 40px 0; + width: 100%; +} + +.sectionContent { + width: 525px; + margin: 0 auto; +} diff --git a/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.tsx b/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.tsx index 543ee9bd3c..e0a7642200 100644 --- a/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.tsx +++ b/apps/theme/app/color-debugger/_pages/ArticlePage/ArticlePage.tsx @@ -4,7 +4,6 @@ import { ColorFilter } from '../../ColorFilter/ColorFilter'; import { ColorInput } from '../../ColorInput/ColorInput'; import { useDebugStore } from '../../debugStore'; import { ColorIndexes, ColorScaleNames } from '../../utils'; -import { Accordion } from './Accordion/Accordion'; import { Alert } from './Alert/Alert'; import classes from './ArticlePage.module.css'; import { File } from './File/File'; @@ -113,20 +112,47 @@ const Article = ({ scale, index1, index2 }: ArticleProps) => {
)} +
+
+ +
+
- +
+
+ +
+
- Receive also such of sleep inn they of move bed these owner to for - preceding quite practice to again. With the or be to and merit. +
+ +
-
); diff --git a/apps/theme/app/color-debugger/_pages/Saturationpage/SaturationPage.module.css b/apps/theme/app/color-debugger/_pages/Saturationpage/SaturationPage.module.css new file mode 100644 index 0000000000..d027d8f866 --- /dev/null +++ b/apps/theme/app/color-debugger/_pages/Saturationpage/SaturationPage.module.css @@ -0,0 +1,41 @@ +.heading { + font-size: 23px; + font-weight: 500; + margin-bottom: 12px; +} + +.row { + display: flex; + width: 100%; + gap: 16px; +} + +.innerItems { + display: flex; + flex-wrap: wrap; + gap: 16px; +} + +.colorItem { + width: 265px; + display: flex; + flex-direction: column; +} + +.itemColumn { + height: 100px; + width: 100%; + display: flex; +} + +.itemLeft { + width: 50%; + height: 100%; + background-color: rgb(255, 214, 248); +} + +.itemRight { + width: 50%; + height: 100%; + background-color: blue; +} diff --git a/apps/theme/app/color-debugger/_pages/Saturationpage/SaturationPage.tsx b/apps/theme/app/color-debugger/_pages/Saturationpage/SaturationPage.tsx new file mode 100644 index 0000000000..a7dac2716d --- /dev/null +++ b/apps/theme/app/color-debugger/_pages/Saturationpage/SaturationPage.tsx @@ -0,0 +1,108 @@ +import type { ThemeInfo } from '@digdir/designsystemet/color'; +import chroma from 'chroma-js'; +import { useDebugStore } from '../../debugStore'; +import { ColorIndexes, ColorScaleNames } from '../../utils'; +import classes from './SaturationPage.module.css'; + +type SaturationPageProps = { + colorScales: ThemeInfo[][]; +}; + +export const SaturationPage = ({ colorScales }: SaturationPageProps) => { + const themeSettings = useDebugStore((state) => state.themeSettings); + const luminance = useDebugStore((state) => state.luminance); + + type ItemProps = { + scale: ThemeInfo; + }; + + const ColorItem = ({ scale }: ItemProps) => { + const color1 = scale[themeSettings.general.colorScheme][11].hex; + const color2 = chroma(color1) + .luminance(luminance[themeSettings.general.colorScheme].borderDefault) + .hex(); + const color3 = chroma(color1) + .luminance(luminance[themeSettings.general.colorScheme].surfaceTinted) + .hex(); + + return ( +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ); + }; + + return ( +
+
Saturation adjustments
+
+ {colorScales.map((innerScale, index1) => ( +
+
+
{ColorScaleNames[index1]}
+
+ {innerScale.map((scale, index2) => ( + + ))} +
+
+
+ ))} +
+
+ ); +}; diff --git a/apps/theme/app/color-debugger/logic/theme.ts b/apps/theme/app/color-debugger/logic/theme.ts index 1f34ed3f26..705c4c63a4 100644 --- a/apps/theme/app/color-debugger/logic/theme.ts +++ b/apps/theme/app/color-debugger/logic/theme.ts @@ -59,7 +59,7 @@ export const generateColorScale = ( name: colorInfo.name, displayName: colorInfo.displayName, group: colorInfo.group, - hex: chroma(color) + hex: chroma(baseColors.baseDefault) .luminance(value, themeSettings?.interpolation?.mode) .hex() as CssColor, position, diff --git a/apps/theme/app/color-debugger/page.tsx b/apps/theme/app/color-debugger/page.tsx index bc0cdd963b..dce4e88ffa 100644 --- a/apps/theme/app/color-debugger/page.tsx +++ b/apps/theme/app/color-debugger/page.tsx @@ -6,7 +6,6 @@ import chroma from 'chroma-js'; import cl from 'clsx/lite'; import { useEffect } from 'react'; import { ColorTables } from './ColorGrid/ColorGrid'; -import { ColorSaturation } from './ColorSaturation/ColorSaturation'; import { ContrastColors } from './ContrastColors/ContrastColors'; import { FrontPage } from './FrontPage/FrontPage'; import { Mobile } from './Mobile/Mobile'; @@ -15,6 +14,7 @@ import { Sidebar } from './Sidebar/Sidebar'; import { TabMenu } from './TabMenu/TabMenu'; import { ArticlePage } from './_pages/ArticlePage/ArticlePage'; import { StatusPage } from './_pages/ArticlePage/StatusPage/StatusPage'; +import { SaturationPage } from './_pages/Saturationpage/SaturationPage'; import { useDebugStore } from './debugStore'; import { generateColorSchemes } from './logic/theme'; import classes from './page.module.css'; @@ -134,14 +134,6 @@ export default function Home() { >
{pageType === 'main' && } - {pageType === 'saturation' && ( - <> - - Saturation adjustments - - - - )} {pageType === 'baseContrast' && ( <> @@ -157,6 +149,9 @@ export default function Home() { {pageType === 'mobile' && } {pageType === 'article' && } {pageType === 'status' && } + {pageType === 'saturation' && ( + + )}
diff --git a/packages/cli/src/colors/luminance.ts b/packages/cli/src/colors/luminance.ts index 74c11db475..1ff44653dd 100644 --- a/packages/cli/src/colors/luminance.ts +++ b/packages/cli/src/colors/luminance.ts @@ -3,9 +3,9 @@ export const luminance = { backgroundDefault: 1, backgroundTinted: 0.9, surfaceDefault: 1, - surfaceTinted: 0.76, - surfaceHover: 0.64, - surfaceActive: 0.54, + surfaceTinted: 0.8, + surfaceHover: 0.7, + surfaceActive: 0.6, borderSubtle: 0.5, borderDefault: 0.21, borderStrong: 0.12, @@ -18,12 +18,12 @@ export const luminance = { baseContrastSubtle: 1, }, dark: { - backgroundDefault: 0.012, - backgroundTinted: 0.018, - surfaceDefault: 0.024, - surfaceTinted: 0.029, + backgroundDefault: 0.011, + backgroundTinted: 0.017, + surfaceDefault: 0.025, + surfaceTinted: 0.035, surfaceHover: 0.044, - surfaceActive: 0.063, + surfaceActive: 0.057, borderSubtle: 0.082, borderDefault: 0.2, borderStrong: 0.36, @@ -41,7 +41,7 @@ export const luminance = { surfaceDefault: 0.015, surfaceTinted: 0.015, surfaceHover: 0.028, - surfaceActive: 0.044, + surfaceActive: 0.045, borderSubtle: 0.26, borderDefault: 0.4, borderStrong: 0.6, diff --git a/packages/cli/src/colors/theme.ts b/packages/cli/src/colors/theme.ts index 026047b01e..90a9f55e9b 100644 --- a/packages/cli/src/colors/theme.ts +++ b/packages/cli/src/colors/theme.ts @@ -23,7 +23,7 @@ export const generateColorScale = (color: CssColor, colorScheme: ColorScheme): C name: colorInfo.name, displayName: colorInfo.displayName, group: colorInfo.group, - hex: chroma(color).luminance(value).hex() as CssColor, + hex: chroma(baseColors.baseDefault).luminance(value).hex() as CssColor, position, }; }); From ca7409b5747175926aca3c81235d3ca6e3ad3680 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Mon, 10 Feb 2025 10:55:16 +0100 Subject: [PATCH 23/26] Update luminance.ts --- packages/cli/src/colors/luminance.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli/src/colors/luminance.ts b/packages/cli/src/colors/luminance.ts index 1ff44653dd..159db0e0dd 100644 --- a/packages/cli/src/colors/luminance.ts +++ b/packages/cli/src/colors/luminance.ts @@ -3,7 +3,7 @@ export const luminance = { backgroundDefault: 1, backgroundTinted: 0.9, surfaceDefault: 1, - surfaceTinted: 0.8, + surfaceTinted: 0.81, surfaceHover: 0.7, surfaceActive: 0.6, borderSubtle: 0.5, From 7311f25f421beb6fd0734dbb245dc9f89626f30d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Tue, 11 Feb 2025 23:09:34 +0100 Subject: [PATCH 24/26] Stuff --- apps/theme/app/color-debugger/logic/theme.ts | 65 +++++++++++++-- packages/cli/src/colors/theme.ts | 86 ++++++++++++++++++-- packages/cli/src/colors/utils.ts | 8 ++ 3 files changed, 148 insertions(+), 11 deletions(-) diff --git a/apps/theme/app/color-debugger/logic/theme.ts b/apps/theme/app/color-debugger/logic/theme.ts index 705c4c63a4..65055cfce7 100644 --- a/apps/theme/app/color-debugger/logic/theme.ts +++ b/apps/theme/app/color-debugger/logic/theme.ts @@ -11,6 +11,7 @@ import { getColorInfoFromPosition, getLightnessFromHex, getLuminanceFromLightness, + getSaturationFromHex, } from '@digdir/designsystemet/color'; import chroma from 'chroma-js'; import type { ThemeSettingsType } from '../debugStore'; @@ -59,8 +60,12 @@ export const generateColorScale = ( name: colorInfo.name, displayName: colorInfo.displayName, group: colorInfo.group, - hex: chroma(baseColors.baseDefault) - .luminance(value, themeSettings?.interpolation?.mode) + hex: chroma( + colorScheme === 'light' + ? baseColors.baseDefault + : getDarkModeBaseRef(color, baseColors.baseDefault), + ) + .luminance(value) .hex() as CssColor, position, }; @@ -145,19 +150,38 @@ const getBaseColors = ( : baseModifier; const calculateLightness = (base: number, mod: number) => base - mod; + let baseRefColor = + colorScheme === 'light' + ? color + : (chroma(color) + .luminance(getLuminanceFromLightness(colorLightness)) + .hex() as CssColor); + + // Reduce the saturation of the base color if it is too high in dark mode + if (colorScheme === 'dark') { + const saturation = getSaturationFromHex(baseRefColor); + const lightness = getLightnessFromHex(baseRefColor); + if (saturation >= 70 && lightness >= 45) { + const saturationModifier = 1 * ((saturation - 70) / 30); + baseRefColor = chroma(baseRefColor) + .desaturate(saturationModifier) + .hex() as CssColor; + } + } + return { baseDefault: colorScheme === 'light' ? color - : (chroma(color) + : (chroma(baseRefColor) .luminance(getLuminanceFromLightness(colorLightness)) .hex() as CssColor), - baseHover: chroma(color) + baseHover: chroma(baseRefColor) .luminance( getLuminanceFromLightness(calculateLightness(colorLightness, modifier)), ) .hex() as CssColor, - baseActive: chroma(color) + baseActive: chroma(baseRefColor) .luminance( getLuminanceFromLightness( calculateLightness(colorLightness, modifier * 2), @@ -167,6 +191,37 @@ const getBaseColors = ( }; }; +/** + * Returns the color to be used to generate the luminance colors for dark mode + * + * @param color The original base color + * @param baseDefault The new base default color + */ +const getDarkModeBaseRef = ( + color: CssColor, + baseDefault: CssColor, +): CssColor => { + const colorLightness = getLightnessFromHex(color); + const colorSaturation = getSaturationFromHex(color); + let targetLightness: number | null = null; + + if (colorLightness <= 30) { + targetLightness = colorSaturation >= 70 ? 30 : 40; + } else if (colorLightness <= 45) { + targetLightness = colorSaturation >= 80 ? 45 : 55; + } else if (colorLightness <= 60) { + targetLightness = colorSaturation >= 80 ? 55 : 65; + } + + if (targetLightness === null) { + return baseDefault; + } + + return chroma(color) + .luminance(getLuminanceFromLightness(targetLightness)) + .hex() as CssColor; +}; + /** * Creates the Base Contrast Default color * diff --git a/packages/cli/src/colors/theme.ts b/packages/cli/src/colors/theme.ts index 90a9f55e9b..1a79bb212d 100644 --- a/packages/cli/src/colors/theme.ts +++ b/packages/cli/src/colors/theme.ts @@ -3,7 +3,12 @@ import type { CssColor } from './types.js'; import chroma from 'chroma-js'; import { luminance } from './luminance.js'; import type { ColorInfo, ColorNumber, ColorScheme, ThemeInfo } from './types.js'; -import { getColorInfoFromPosition, getLightnessFromHex, getLuminanceFromLightness } from './utils.js'; +import { + getColorInfoFromPosition, + getLightnessFromHex, + getLuminanceFromLightness, + getSaturationFromHex, +} from './utils.js'; /** * Generates a color scale based on a base color and a color mode. @@ -15,7 +20,7 @@ export const generateColorScale = (color: CssColor, colorScheme: ColorScheme): C const baseColors = getBaseColors(color, colorScheme); const luminanceValues = luminance[colorScheme]; - // Create the color scale based on the luminance values. The chroma().luminance function uses RGB interpolation by default. + // Create the color scale based on luminance values. The chroma().luminance function uses RGB interpolation by default. const outputArray: ColorInfo[] = Object.entries(luminanceValues).map(([, value], index) => { const position = (index + 1) as ColorNumber; const colorInfo = getColorInfoFromPosition(position); @@ -23,7 +28,9 @@ export const generateColorScale = (color: CssColor, colorScheme: ColorScheme): C name: colorInfo.name, displayName: colorInfo.displayName, group: colorInfo.group, - hex: chroma(baseColors.baseDefault).luminance(value).hex() as CssColor, + hex: chroma(colorScheme === 'light' ? baseColors.baseDefault : getDarkModeRefColor(color, baseColors.baseDefault)) + .luminance(value) + .hex() as CssColor, position, }; }); @@ -87,20 +94,87 @@ const getBaseColors = (color: CssColor, colorScheme: ColorScheme) => { const modifier = colorLightness <= 30 || (colorLightness >= 49 && colorLightness <= 65) ? -8 : 8; const calculateLightness = (base: number, mod: number) => base - mod; + let baseRefColor = + colorScheme === 'light' + ? color + : (chroma(color).luminance(getLuminanceFromLightness(colorLightness)).hex() as CssColor); + + // Reduce saturation if it is too high in dark mode + if (colorScheme === 'dark') { + const saturation = getSaturationFromHex(baseRefColor); + const lightness = getLightnessFromHex(baseRefColor); + if (saturation >= 70 && lightness >= 45) { + const saturationModifier = 1.5 * ((saturation - 70) / 30); + baseRefColor = chroma(baseRefColor).desaturate(saturationModifier).hex() as CssColor; + } + } + return { baseDefault: colorScheme === 'light' ? color - : (chroma(color).luminance(getLuminanceFromLightness(colorLightness)).hex() as CssColor), - baseHover: chroma(color) + : (chroma(baseRefColor).luminance(getLuminanceFromLightness(colorLightness)).hex() as CssColor), + baseHover: chroma(baseRefColor) .luminance(getLuminanceFromLightness(calculateLightness(colorLightness, modifier))) .hex() as CssColor, - baseActive: chroma(color) + baseActive: chroma(baseRefColor) .luminance(getLuminanceFromLightness(calculateLightness(colorLightness, modifier * 2))) .hex() as CssColor, }; }; +/** + * Returns the reference color used to generate the luminance values for dark mode + * + * @param originalBase The original base color + * @param processedBase The processed base default color + */ +const getDarkModeRefColor = (originalBase: CssColor, processedBase: CssColor) => { + const colorLightness = getLightnessFromHex(originalBase); + const colorSaturation = getSaturationFromHex(originalBase); + let lightness = 0; + + if (colorLightness <= 30) { + lightness = colorSaturation >= 70 ? 30 : 40; + } else if (colorLightness <= 60) { + if (colorSaturation < 75) { + return processedBase; + } + const minLight = colorLightness <= 45 ? 33 : 45; + const maxLight = colorLightness <= 45 ? 48 : 60; + lightness = getLightnessInterpol(colorSaturation, 75, 100, minLight, maxLight); + } else { + return processedBase; + } + + return chroma(originalBase).luminance(getLuminanceFromLightness(lightness)).hex(); +}; + +/** + * Returns the lightness value for a given saturation value + * + * @param saturation + * @param minSat + * @param maxSat + * @param minLight + * @param maxLight + * @returns + */ +const getLightnessInterpol = ( + saturation: number, + minSat: number, + maxSat: number, + minLight: number, + maxLight: number, +) => { + if (saturation >= maxSat) return maxLight; + if (saturation <= minSat) return minLight; + + // Linear interpolation formula + const ratio = (saturation - minSat) / (maxSat - minSat); + return minLight + ratio * (maxLight - minLight); +}; + /** * Creates the Base Contrast Default color * diff --git a/packages/cli/src/colors/utils.ts b/packages/cli/src/colors/utils.ts index 48d425f611..216845440a 100644 --- a/packages/cli/src/colors/utils.ts +++ b/packages/cli/src/colors/utils.ts @@ -171,6 +171,14 @@ export const getLightnessFromHex = (hex: string) => { return conv.hsluv_l; }; +export const getSaturationFromHex = (hex: string) => { + const conv = new Hsluv(); + conv.hex = hex; + conv.hexToHsluv(); + + return conv.hsluv_s; +}; + /** * * This function returns the color number based on the color name. From e7fb716254dfd090fba9e7d6541d48ee6888c639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Wed, 12 Feb 2025 10:54:36 +0100 Subject: [PATCH 25/26] stuff --- packages/cli/src/colors/theme.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/colors/theme.ts b/packages/cli/src/colors/theme.ts index 1a79bb212d..a441b91189 100644 --- a/packages/cli/src/colors/theme.ts +++ b/packages/cli/src/colors/theme.ts @@ -134,13 +134,14 @@ const getDarkModeRefColor = (originalBase: CssColor, processedBase: CssColor) => const colorSaturation = getSaturationFromHex(originalBase); let lightness = 0; - if (colorLightness <= 30) { + if (colorLightness <= 28) { lightness = colorSaturation >= 70 ? 30 : 40; + lightness = colorSaturation >= 90 ? 32 : 40; } else if (colorLightness <= 60) { if (colorSaturation < 75) { return processedBase; } - const minLight = colorLightness <= 45 ? 33 : 45; + const minLight = colorLightness <= 45 ? 33 : 50; const maxLight = colorLightness <= 45 ? 48 : 60; lightness = getLightnessInterpol(colorSaturation, 75, 100, minLight, maxLight); } else { From b1e3568906cd6c093114446217a79e932a0ba374 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Thu, 13 Feb 2025 20:22:52 +0100 Subject: [PATCH 26/26] stuff --- .../Saturationpage/SaturationPage.module.css | 95 +++++++-- .../_pages/Saturationpage/SaturationPage.tsx | 183 ++++++++++++------ apps/theme/app/color-debugger/debugStore.ts | 12 ++ apps/theme/app/color-debugger/logic/theme.ts | 2 + apps/theme/app/color-debugger/page.tsx | 89 ++++++++- packages/cli/src/colors/theme.ts | 77 ++++++-- 6 files changed, 358 insertions(+), 100 deletions(-) diff --git a/apps/theme/app/color-debugger/_pages/Saturationpage/SaturationPage.module.css b/apps/theme/app/color-debugger/_pages/Saturationpage/SaturationPage.module.css index d027d8f866..be1422a0bd 100644 --- a/apps/theme/app/color-debugger/_pages/Saturationpage/SaturationPage.module.css +++ b/apps/theme/app/color-debugger/_pages/Saturationpage/SaturationPage.module.css @@ -4,38 +4,103 @@ margin-bottom: 12px; } -.row { +.innerItems { display: flex; - width: 100%; + flex-direction: column; + flex-wrap: wrap; gap: 16px; } -.innerItems { +.scales { display: flex; flex-wrap: wrap; - gap: 16px; } .colorItem { - width: 265px; + width: 181px; +} + +.saturationGroup { + display: flex; + flex-direction: column; + width: 100%; + padding: 20px; + border-radius: 4px; + margin-bottom: 16px; +} + +.itemTitle { + font-size: 23px; + font-weight: 500; + margin-bottom: 16px; +} + +.saturationHeading { + font-size: 21px; + font-weight: 500; + margin-bottom: 12px; +} + +.saturationItems { + display: flex; + flex-wrap: wrap; + gap: 16px; + row-gap: 40px; +} + +.circle { + height: 42px; + width: 42px; + border-radius: 50%; +} + +.metaContainer { + display: flex; + align-items: center; + flex-direction: column; + gap: 8px; + margin-bottom: 12px; +} + +.colorItemInner { display: flex; flex-direction: column; + justify-content: space-between; + padding: 16px; } -.itemColumn { +.test { height: 100px; - width: 100%; display: flex; + align-items: center; + justify-content: center; +} + +.btn { + width: 75%; + display: flex; + align-items: center; + justify-content: center; + border-radius: 4px; + height: 40px; } -.itemLeft { - width: 50%; - height: 100%; - background-color: rgb(255, 214, 248); +.metaText { + font-size: 16px; +} + +.footer { + display: flex; + margin-top: 16px; + justify-content: space-evenly; + margin-left: -16px; + margin-bottom: -16px; + width: calc(100% + 32px); + padding: 10px 0; } -.itemRight { - width: 50%; - height: 100%; - background-color: blue; +.footerItem { + height: 24px; + width: 24px; + border-radius: 50%; } diff --git a/apps/theme/app/color-debugger/_pages/Saturationpage/SaturationPage.tsx b/apps/theme/app/color-debugger/_pages/Saturationpage/SaturationPage.tsx index a7dac2716d..3b306943c5 100644 --- a/apps/theme/app/color-debugger/_pages/Saturationpage/SaturationPage.tsx +++ b/apps/theme/app/color-debugger/_pages/Saturationpage/SaturationPage.tsx @@ -1,84 +1,98 @@ import type { ThemeInfo } from '@digdir/designsystemet/color'; import chroma from 'chroma-js'; import { useDebugStore } from '../../debugStore'; -import { ColorIndexes, ColorScaleNames } from '../../utils'; +import { ColorIndexes } from '../../utils'; import classes from './SaturationPage.module.css'; type SaturationPageProps = { - colorScales: ThemeInfo[][]; + colorScales: { + [key: string]: { + low: ThemeInfo[]; + medium: ThemeInfo[]; + high: ThemeInfo[]; + veryHigh: ThemeInfo[]; + }; + }; }; export const SaturationPage = ({ colorScales }: SaturationPageProps) => { const themeSettings = useDebugStore((state) => state.themeSettings); - const luminance = useDebugStore((state) => state.luminance); type ItemProps = { scale: ThemeInfo; }; + const getOKLCH = (hex: string) => { + const [l, c, h] = chroma(hex).oklch(); + return ( + 'L ' + l.toFixed(2) + ' C ' + c.toFixed(2) + ' H ' + h.toFixed(2) + '' + ); + }; + const ColorItem = ({ scale }: ItemProps) => { - const color1 = scale[themeSettings.general.colorScheme][11].hex; - const color2 = chroma(color1) - .luminance(luminance[themeSettings.general.colorScheme].borderDefault) - .hex(); - const color3 = chroma(color1) - .luminance(luminance[themeSettings.general.colorScheme].surfaceTinted) - .hex(); + const colorTheme = scale[themeSettings.general.colorScheme]; + const baseDefault = colorTheme[ColorIndexes.baseDefault].hex; + const lightBaseDefault = scale.light[ColorIndexes.baseDefault].hex; + const surfaceTinted = colorTheme[ColorIndexes.surfaceTinted].hex; + const surfaceDefault = colorTheme[ColorIndexes.surfaceDefault].hex; + const backgroundTinted = colorTheme[ColorIndexes.backgroundTinted].hex; + const borderSubtle = colorTheme[ColorIndexes.borderSubtle].hex; + const contrastBaseDefault = + colorTheme[ColorIndexes.baseContrastDefault].hex; return (
-
-
-
-
+
+
+
+ {getOKLCH(lightBaseDefault)}
-
-
+ +
+
+ > + Button +
+
+
-
-
-
-
@@ -86,22 +100,67 @@ export const SaturationPage = ({ colorScales }: SaturationPageProps) => { ); }; + const Group = ({ scales, title }: { scales: ThemeInfo[]; title: string }) => { + if (scales.length === 0) { + return null; + } + + return ( +
+
+ {title} +
+
+ {scales.map((scale) => ( + + ))} +
+
+ ); + }; + return (
Saturation adjustments
- {colorScales.map((innerScale, index1) => ( -
-
-
{ColorScaleNames[index1]}
-
- {innerScale.map((scale, index2) => ( - - ))} +
+ {Object.entries(colorScales).map(([key, value]) => ( +
+
{key}
+
+ + +
-
- ))} + ))} +
); diff --git a/apps/theme/app/color-debugger/debugStore.ts b/apps/theme/app/color-debugger/debugStore.ts index 6367f7663e..1ff8549b23 100644 --- a/apps/theme/app/color-debugger/debugStore.ts +++ b/apps/theme/app/color-debugger/debugStore.ts @@ -54,6 +54,16 @@ type ColorStore = { setDarkLuminance: (luminance: LuminanceType) => void; colorScales: ThemeInfo[][]; setColorScales: (colorScales: ThemeInfo[][]) => void; + flatColorScales: { + [key: string]: { + low: ThemeInfo[]; + medium: ThemeInfo[]; + high: ThemeInfo[]; + }; + }; + setFlatColorScales: (flatColorScales: { + [key: string]: { low: ThemeInfo[]; medium: ThemeInfo[]; high: ThemeInfo[] }; + }) => void; colorScale: ThemeInfo; setColorScale: (colorScale: ThemeInfo) => void; statusColors: { @@ -112,5 +122,7 @@ export const useDebugStore = create( setColorScale: (colorScale) => set({ colorScale }), setLightLuminance: (luminance) => set({ luminance }), setDarkLuminance: (luminance) => set({ luminance }), + flatColorScales: {}, + setFlatColorScales: (flatColorScales) => set({ flatColorScales }), })), ); diff --git a/apps/theme/app/color-debugger/logic/theme.ts b/apps/theme/app/color-debugger/logic/theme.ts index 65055cfce7..7454f52399 100644 --- a/apps/theme/app/color-debugger/logic/theme.ts +++ b/apps/theme/app/color-debugger/logic/theme.ts @@ -205,6 +205,8 @@ const getDarkModeBaseRef = ( const colorSaturation = getSaturationFromHex(color); let targetLightness: number | null = null; + return baseDefault; + if (colorLightness <= 30) { targetLightness = colorSaturation >= 70 ? 30 : 40; } else if (colorLightness <= 45) { diff --git a/apps/theme/app/color-debugger/page.tsx b/apps/theme/app/color-debugger/page.tsx index dce4e88ffa..271e367614 100644 --- a/apps/theme/app/color-debugger/page.tsx +++ b/apps/theme/app/color-debugger/page.tsx @@ -22,27 +22,51 @@ import classes from './page.module.css'; export default function Home() { const luminance = useDebugStore((state) => state.luminance); const colorScales = useDebugStore((state) => state.colorScales); + const flatColorScales = useDebugStore((state) => state.flatColorScales); + const setFlatColorScale = useDebugStore((state) => state.setFlatColorScales); const setColorScales = useDebugStore((state) => state.setColorScales); const themeSettings = useDebugStore((state) => state.themeSettings); const statusColors = useDebugStore((state) => state.statusColors); const setColorScale = useDebugStore((state) => state.setColorScale); const hues = [0, 22, 37, 55, 76, 124, 177, 208, 235, 278, 308]; - const blackHues = [0, 33, 116, 210, 282]; + const steps = [ { s: 100, l: 100 }, { s: 100, l: 80 }, { s: 100, l: 60 }, { s: 100, l: 40 }, + { s: 100, l: 20 }, + { s: 100, l: 10 }, { s: 80, l: 100 }, { s: 80, l: 80 }, { s: 80, l: 60 }, + { s: 80, l: 40 }, + { s: 80, l: 20 }, + { s: 80, l: 10 }, { s: 60, l: 100 }, { s: 60, l: 80 }, + { s: 60, l: 60 }, + { s: 60, l: 40 }, + { s: 60, l: 20 }, + { s: 60, l: 10 }, + { s: 40, l: 100 }, + { s: 40, l: 80 }, + { s: 40, l: 60 }, + { s: 40, l: 40 }, + { s: 40, l: 20 }, + { s: 40, l: 10 }, + { s: 20, l: 100 }, + { s: 20, l: 80 }, + { s: 20, l: 60 }, + { s: 20, l: 40 }, + { s: 20, l: 20 }, + { s: 20, l: 10 }, ]; const pageType = useDebugStore((state) => state.pageType); useEffect(() => { const themes: ThemeInfo[][] = []; + const flatThemes = []; for (let i = 0; i < hues.length; i++) { const hue = hues[i]; const innerThemes = []; @@ -56,7 +80,7 @@ export default function Home() { ).hex() as CssColor; const theme = generateColorSchemes(color, luminance, themeSettings); - + flatThemes.push(theme); innerThemes.push(theme); } themes.push(innerThemes); @@ -69,11 +93,12 @@ export default function Home() { themeSettings, ), ); - for (let i = 0; i < blackHues.length; i++) { - const hue = blackHues[i]; - const color = chroma(hue, 0.5, 0.26, 'hsv').hex() as CssColor; + for (let i = 0; i < hues.length; i++) { + const hue = hues[i]; + const color = chroma(hue, 0.5, 0.25, 'hsv').hex() as CssColor; const theme = generateColorSchemes(color, luminance, themeSettings); themes[11].push(theme); + flatThemes.push(theme); } themes[12] = []; @@ -108,6 +133,16 @@ export default function Home() { setColorScales(themes); setColorScale(themes[0][0]); + + const flatThemesSorted = flatThemes.sort((a, b) => { + const aL = chroma(a.light[11].hex).oklch()[0]; + const bL = chroma(b.light[11].hex).oklch()[0]; + return aL - bL; + }); + + const groups = sortColorsByLightnessAndChroma(flatThemesSorted); + + setFlatColorScale(groups); }, [ luminance, themeSettings.base.modifier, @@ -117,12 +152,52 @@ export default function Home() { useEffect(() => { const items = document.getElementsByClassName('content'); - console.log(items); for (let i = 0; i < items.length; i++) { (items[i] as HTMLElement).style.minHeight = '20svh'; } }, []); + const sortColorsByLightnessAndChroma = (themes: ThemeInfo[]) => { + const groups: { + [key: string]: { + low: ThemeInfo[]; + medium: ThemeInfo[]; + high: ThemeInfo[]; + }; + } = { + veryDarkColors: { low: [], medium: [], high: [] }, + darkColors: { low: [], medium: [], high: [] }, + midColors: { low: [], medium: [], high: [] }, + lightColors: { low: [], medium: [], high: [] }, + veryLightColors: { low: [], medium: [], high: [] }, + }; + + for (const theme of themes) { + const [L, C, H] = chroma(theme.light[11].hex).oklch(); // Convert HEX to OKLCH + + let category: + | 'veryDarkColors' + | 'darkColors' + | 'midColors' + | 'lightColors' + | 'veryLightColors'; + if (L < 0.2) category = 'veryDarkColors'; + else if (L >= 0.2 && L < 0.3) category = 'darkColors'; + else if (L >= 0.3 && L < 0.5) category = 'midColors'; + else if (L >= 0.5 && L < 0.7) category = 'lightColors'; + else category = 'veryLightColors'; + + let chromaLevel: 'low' | 'medium' | 'high'; + if (C < 0.08) chromaLevel = 'low'; + else if (C < 0.17) chromaLevel = 'medium'; + else chromaLevel = 'high'; + + groups[category][chromaLevel].push(theme); + } + + return groups; + }; + return (
@@ -150,7 +225,7 @@ export default function Home() { {pageType === 'article' && } {pageType === 'status' && } {pageType === 'saturation' && ( - + )}
diff --git a/packages/cli/src/colors/theme.ts b/packages/cli/src/colors/theme.ts index a441b91189..0357e500f9 100644 --- a/packages/cli/src/colors/theme.ts +++ b/packages/cli/src/colors/theme.ts @@ -130,25 +130,70 @@ const getBaseColors = (color: CssColor, colorScheme: ColorScheme) => { * @param processedBase The processed base default color */ const getDarkModeRefColor = (originalBase: CssColor, processedBase: CssColor) => { - const colorLightness = getLightnessFromHex(originalBase); - const colorSaturation = getSaturationFromHex(originalBase); - let lightness = 0; - - if (colorLightness <= 28) { - lightness = colorSaturation >= 70 ? 30 : 40; - lightness = colorSaturation >= 90 ? 32 : 40; - } else if (colorLightness <= 60) { - if (colorSaturation < 75) { - return processedBase; + const [L, C, H] = chroma(originalBase).oklch(); + let newC = C; // Start with the original chroma + const upperChroma = 0.21; // The upper limit for chroma reduction + const middleChroma = 0.15; // The middle limit for chroma reduction + const lowerChroma = 0.09; // The lower limit for chroma reduction + + return processedBase; + + // === Very light colors (L > 85) === + if (L > 0.85) { + if (C > upperChroma) { + newC *= 0.5; // Reduce strongly for very saturated colors + } else if (C > middleChroma) { + newC *= 0.7; // Moderate reduction + } else if (C > lowerChroma) { + newC *= 0.9; // Slight reduction } - const minLight = colorLightness <= 45 ? 33 : 50; - const maxLight = colorLightness <= 45 ? 48 : 60; - lightness = getLightnessInterpol(colorSaturation, 75, 100, minLight, maxLight); - } else { - return processedBase; } - return chroma(originalBase).luminance(getLuminanceFromLightness(lightness)).hex(); + // === Light colors (L 70-85) === + else if (L > 0.7) { + if (C > upperChroma) { + newC *= 0.6; + } else if (C > middleChroma) { + newC *= 0.8; + } else if (C > lowerChroma) { + newC *= 0.95; + } + } + + // === Mid-tone colors (L 40-70) === + else if (L > 0.4) { + if (C > upperChroma) { + newC *= 0.7; + } else if (C > middleChroma) { + newC *= 0.7; + } else if (C > lowerChroma) { + newC *= 0.98; + } + } + + // === Dark colors (L 20-40) === + else if (L > 0.2) { + if (C > upperChroma) { + newC *= 0.8; + } else if (C > middleChroma) { + newC *= 0.7; + } else if (C > lowerChroma) { + newC *= 1.0; // Keep low-chroma darks mostly unchanged + } + } + + // === Very dark colors (L < 20) === + else { + if (C > upperChroma) { + newC *= 0.85; + } else if (C > middleChroma) { + newC *= 0.97; + } else if (C > lowerChroma) { + newC *= 1.0; // No change + } + } + + return chroma.oklch(L, newC, H).hex(); }; /**