From 43901590dbccb9c6951048505797d06c96f21f2d Mon Sep 17 00:00:00 2001 From: Taylor Seamans Date: Tue, 5 Mar 2024 12:45:33 -0800 Subject: [PATCH] Adjust build step, add demo layout, use yarn workspaces --- design-tokens/src/build-style-dictionary.js | 8 +- design-tokens/src/build.js | 82 +- design-tokens/tones/color.cool-dark.json | 564 ++++ design-tokens/tones/color.cool-light.json | 564 ++++ package.json | 3 +- sandbox/grommet-app/package.json | 1 + sandbox/grommet-app/src/App.jsx | 7 +- .../src/components/ContentPane/index.jsx | 61 + .../DashboardCard/DashboardCard.jsx | 25 +- .../src/components/Legend/Legend.jsx | 8 +- .../src/components/Metric/Metric.jsx | 36 +- sandbox/grommet-app/src/components/index.js | 1 + .../src/pages/FeaturedServices.jsx | 65 +- sandbox/grommet-app/src/pages/GetStarted.jsx | 24 +- .../grommet-app/src/pages/RecentServices.jsx | 144 +- .../src/pages/next/BillingSummary.jsx | 158 +- .../src/pages/next/DeviceSummary.jsx | 51 + sandbox/grommet-app/src/pages/next/Learn.jsx | 9 +- .../grommet-app/src/pages/next/MyServices.jsx | 2 +- .../src/pages/next/QuickActions.jsx | 33 +- .../src/pages/next/Recommended.jsx | 10 +- .../src/pages/next/SustainabilityOverview.jsx | 50 +- .../src/pages/next/UserOverview.jsx | 68 + sandbox/grommet-app/src/pages/next/index.jsx | 70 +- .../src/pages/sustainability/Devices.jsx | 17 +- .../src/pages/sustainability/index.jsx | 34 +- .../grommet-app/src/pages/vision/index.jsx | 11 - sandbox/grommet-app/src/theme.js | 24 +- sandbox/grommet-app/yarn.lock | 2583 ----------------- .../native-web/components/DashboardCard.js | 26 + sandbox/native-web/components/PageHeader.js | 4 + sandbox/native-web/components/index.js | 2 + sandbox/native-web/css/app.css | 37 +- sandbox/native-web/css/components.css | 9 +- sandbox/native-web/css/utilities.css | 15 +- sandbox/native-web/main.js | 108 +- sandbox/native-web/mockData/mockData.json | 29 + sandbox/native-web/package.json | 2 +- yarn.lock | 439 ++- 39 files changed, 2279 insertions(+), 3105 deletions(-) create mode 100644 design-tokens/tones/color.cool-dark.json create mode 100644 design-tokens/tones/color.cool-light.json create mode 100644 sandbox/grommet-app/src/components/ContentPane/index.jsx create mode 100644 sandbox/grommet-app/src/pages/next/DeviceSummary.jsx create mode 100644 sandbox/grommet-app/src/pages/next/UserOverview.jsx delete mode 100644 sandbox/grommet-app/src/pages/vision/index.jsx delete mode 100644 sandbox/grommet-app/yarn.lock create mode 100644 sandbox/native-web/components/DashboardCard.js create mode 100644 sandbox/native-web/components/PageHeader.js create mode 100644 sandbox/native-web/components/index.js create mode 100644 sandbox/native-web/mockData/mockData.json diff --git a/design-tokens/src/build-style-dictionary.js b/design-tokens/src/build-style-dictionary.js index 33fc7cce2..cebfc2371 100644 --- a/design-tokens/src/build-style-dictionary.js +++ b/design-tokens/src/build-style-dictionary.js @@ -21,7 +21,7 @@ StyleDictionary.registerFormat({ // light mode StyleDictionary.extend({ - source: ['tokens/primitives.base.json', 'tokens/color.light.json'], + source: ['dist/primitives.base.json', 'tokens/color.light.json'], platforms: { css: { transformGroup: 'css', @@ -46,7 +46,7 @@ StyleDictionary.extend({ // dark mode StyleDictionary.extend({ - source: ['tokens/primitives.base.json', 'tokens/color.dark.json'], + source: ['dist/primitives.base.json', 'tokens/color.dark.json'], platforms: { css: { transformGroup: 'css', @@ -102,7 +102,7 @@ const dimensions = ['dimension', 'content', 'spacing', 'border', 'radius']; // small StyleDictionary.extend({ - source: ['tokens/primitives.base.json', 'tokens/dimension.small.json'], + source: ['dist/primitives.base.json', 'tokens/dimension.small.json'], platforms: { css: { transformGroup: 'css', @@ -123,7 +123,7 @@ StyleDictionary.extend({ // large StyleDictionary.extend({ - source: ['tokens/primitives.base.json', 'tokens/dimension.large.json'], + source: ['dist/primitives.base.json', 'tokens/dimension.large.json'], platforms: { css: { transformGroup: 'css', diff --git a/design-tokens/src/build.js b/design-tokens/src/build.js index 1ad743231..0f903e52d 100644 --- a/design-tokens/src/build.js +++ b/design-tokens/src/build.js @@ -8,11 +8,13 @@ const resolveTokens = (tokens, primitives) => { const value = node[key]; const keyPath = [...path, key]; if (typeof value === 'object') return descend(value, keyPath); + // resolve reference to primitive, e.g. {color.green.30} if (key === '$value' && /^{.*}$/.test(value)) { let parts = value.slice(1, -1).split('.'); let obj = primitives; while (obj && parts.length) obj = obj[parts.shift()]; - // referencing something already in semantic set + // did not exist in primitives, so must be referencing something + // already in semantic set if (!obj) { parts = value.slice(1, -1).split('.'); obj = tokens; @@ -20,11 +22,13 @@ const resolveTokens = (tokens, primitives) => { } // reassign value let original = result; - keyPath.pop(); + keyPath.pop(); // remove $value while (original && keyPath.length) original = original[keyPath.shift()]; - if (typeof obj?.$value === 'number') + if (typeof obj?.$value === 'number') { original.$value = `${obj?.$value}px`; - else original.$value = obj?.$value; + } else { + original.$value = obj?.$value; + } } }); }; @@ -34,48 +38,72 @@ const resolveTokens = (tokens, primitives) => { return result; }; +// for now, convert from number (which Figma wants) to dimension with units +const numberToDimension = primitives => { + const result = primitives; + + const descend = (node, path = []) => { + Object.keys(node).forEach(key => { + const value = node[key]; + const keyPath = [...path, key]; + if (typeof value === 'object') return descend(value, keyPath); + if (key === '$value') { + let obj = primitives; + + if (typeof value === 'number') { + keyPath.pop(); // remove $value + while (obj && keyPath.length) obj = obj[keyPath.shift()]; + obj.$value = `${obj.$value}px`; + obj.$type = 'dimension'; + } + } + }); + }; + descend(primitives); + return result; +}; + // primitives const rawPrimitives = readFileSync('./tokens/primitives.base.json'); const primitives = JSON.parse(rawPrimitives); +const dimensionPrimitives = numberToDimension(primitives); // dark colors const rawDark = readFileSync('./tokens/color.dark.json'); const dark = JSON.parse(rawDark); -const resolvedDark = resolveTokens(dark, primitives); +const resolvedDark = resolveTokens(dark, dimensionPrimitives); // light colors const rawLight = readFileSync('./tokens/color.light.json'); const light = JSON.parse(rawLight); -const resolvedLight = resolveTokens(light, primitives); +const resolvedLight = resolveTokens(light, dimensionPrimitives); // desktop dimensions const rawDesktop = readFileSync('./tokens/dimension.large.json'); const desktop = JSON.parse(rawDesktop); -const resolvedDesktop = resolveTokens(desktop, primitives); +const resolvedDesktop = resolveTokens(desktop, dimensionPrimitives); // mobile dimensions const rawMobile = readFileSync('./tokens/dimension.small.json'); const mobile = JSON.parse(rawMobile); -const resolvedMobile = resolveTokens(mobile, primitives); +const resolvedMobile = resolveTokens(mobile, dimensionPrimitives); mkdirSync('./dist'); writeFileSync( './dist/primitives.base.js', - `export default ${JSON.stringify(primitives, null, 2)}`, + `export default ${JSON.stringify(dimensionPrimitives, null, 2)}`, +); + +writeFileSync( + './dist/primitives.base.json', + `${JSON.stringify(dimensionPrimitives, null, 2)}`, ); -// do we only want to export resolved ones? -// is there any value to having the references (for example, figma uses it) writeFileSync( './dist/color.dark.js', `export default ${JSON.stringify(resolvedDark, null, 2)}`, ); -// // -// writeFileSync( -// './dist/color.dark-resolved.js', -// `export default ${JSON.stringify(resolved, null, 2)}`, -// ); writeFileSync( './dist/color.light.js', @@ -100,25 +128,3 @@ export { default as light } from './color.light.js'; export { default as desktop } from './dimension.large.js'; export { default as mobile } from './dimension.small.js';`, ); - -// const [light, dark] = splitTheme(resolved); - -// const stringified = stringifyTokens(light); - -// writeFileSync( -// './structured-tokens.ts', -// `export default ${JSON.stringify(stringified, null, 2)}`, -// ); - -// const stringifiedDark = stringifyTokens(dark); - -// writeFileSync( -// './structured-tokens-dark.ts', -// `export default ${JSON.stringify(stringifiedDark, null, 2)}`, -// ); - -// writeFileSync('./dist/tokens.json', JSON.stringify(flat, null, 2)); - -// const [cssVars, cssDarkVars] = generateCssVars(flat); -// writeFileSync('./dist/tokens.css', cssVars); -// writeFileSync('./dist/tokens-dark.css', cssDarkVars); diff --git a/design-tokens/tones/color.cool-dark.json b/design-tokens/tones/color.cool-dark.json new file mode 100644 index 000000000..3234b7ea9 --- /dev/null +++ b/design-tokens/tones/color.cool-dark.json @@ -0,0 +1,564 @@ +{ + "color": { + "brand": { + "$type": "color", + "$value": "{color.green.30}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "background": { + "default": { + "$type": "color", + "$value": "{color.coolBlue.120}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "front": { + "$type": "color", + "$value": "{color.coolBlue.120}", + "$description": "Background color applied on top of background-back.", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "back": { + "$type": "color", + "$value": "{color.coolBlue.130}", + "$description": "Background color applied to the base layer of the application.", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "contrast": { + "$type": "color", + "$value": "{color.white.6}", + "$description": "abc", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "active": { + "$type": "color", + "$value": "{color.background.contrast}", + "$description": "abc", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "selected": { + "$type": "color", + "$value": "{color.brand}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "status": { + "critical": { + "$type": "color", + "$value": "#5e2d2b", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "ok": { + "$type": "color", + "$value": "#13483c", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "warning": { + "$type": "color", + "$value": "#443c20", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "info": { + "$type": "color", + "$value": "#133644", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + } + }, + "validation": { + "critical": { + "$type": "color", + "$value": "{color.red.70}", + "$description": "abc", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "warning": { + "$type": "color", + "$value": "{color.yellow.70}", + "$description": "abc", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "ok": { + "$type": "color", + "$value": "{color.green.50}", + "$description": "abc", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + } + } + }, + "border": { + "default": { + "$type": "color", + "$value": "{color.white.36}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "strong": { + "$type": "color", + "$value": "{color.white.72}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "weak": { + "$type": "color", + "$value": "{color.white.12}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + } + }, + "foreground": { + "status": { + "critical": { + "$type": "color", + "$value": "{color.red.20}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "warning": { + "$type": "color", + "$value": "{color.yellow.30}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "ok": { + "$type": "color", + "$value": "{color.green.10}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "unknown": { + "$type": "color", + "$value": "{color.grey.10}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "info": { + "$type": "color", + "$value": "{color.blue.10}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + } + }, + "selected": { + "$type": "color", + "$value": "{color.white.100}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + } + }, + "text": { + "default": { + "$type": "color", + "$value": "{color.white.100}", + "$description": "Default text color.", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "strong": { + "$type": "color", + "$value": "{color.white.100}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "weak": { + "$type": "color", + "$value": "{color.white.50}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "xweak": { + "$type": "color", + "$value": "{color.white.20}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "active": { + "$type": "color", + "$value": "{color.text.strong}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "disabled": { + "$type": "color", + "$value": "{color.text.xweak}", + "$description": "Color of disabled text.", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + } + }, + "focus": { + "$type": "color", + "$value": "{color.teal.20}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "shadow": { + "default": { + "$type": "color", + "$value": "{color.white.6}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + } + }, + "chart": { + "qualitative": { + "10": { + "$type": "color", + "$value": "{color.blue.30}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "20": { + "$type": "color", + "$value": "{color.orange.30}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "30": { + "$type": "color", + "$value": "{color.purple.30}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "40": { + "$type": "color", + "$value": "{color.teal.30}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "50": { + "$type": "color", + "$value": "{color.yellow.50}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "60": { + "$type": "color", + "$value": "{color.purple.30}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "70": { + "$type": "color", + "$value": "{color.blue.30}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "10-secondary": { + "$type": "color", + "$value": "{color.blue.20-12pc}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "20-secondary": { + "$type": "color", + "$value": "{color.orange.20-12pc}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "30-secondary": { + "$type": "color", + "$value": "{color.purple.20 -12pc}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "40-secondary": { + "$type": "color", + "$value": "{color.teal.30}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "50-secondary": { + "$type": "color", + "$value": "{color.yellow.30-12pc}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "60-secondary": { + "$type": "color", + "$value": "{color.purple.20 -12pc}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "70-secondary": { + "$type": "color", + "$value": "{color.blue.20-12pc}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + } + } + } + } +} diff --git a/design-tokens/tones/color.cool-light.json b/design-tokens/tones/color.cool-light.json new file mode 100644 index 000000000..9fa9d0b92 --- /dev/null +++ b/design-tokens/tones/color.cool-light.json @@ -0,0 +1,564 @@ +{ + "color": { + "brand": { + "$type": "color", + "$value": "{color.green.30}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "background": { + "default": { + "$type": "color", + "$value": "{color.coolBlue.10}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "front": { + "$type": "color", + "$value": "{color.coolBlue.10}", + "$description": "Background color applied on top of background-back.", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "back": { + "$type": "color", + "$value": "{color.coolBlue.30}", + "$description": "Background color applied to the base layer of the application.", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "contrast": { + "$type": "color", + "$value": "{color.black.4}", + "$description": "abc", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "active": { + "$type": "color", + "$value": "{color.background.contrast}", + "$description": "abc", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "selected": { + "$type": "color", + "$value": "{color.brand}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "status": { + "critical": { + "$type": "color", + "$value": "{color.red.20-12pc}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "ok": { + "$type": "color", + "$value": "{color.green.10-12pc}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "warning": { + "$type": "color", + "$value": "{color.yellow.10-12pc}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "info": { + "$type": "color", + "$value": "{color.blue.10-12pc}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + } + }, + "validation": { + "critical": { + "$type": "color", + "$value": "{color.red.20-24pc}", + "$description": "abc", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "warning": { + "$type": "color", + "$value": "{color.yellow.10-24pc}", + "$description": "abc", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "ok": { + "$type": "color", + "$value": "{color.green.10-24pc}", + "$description": "abc", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + } + } + }, + "border": { + "default": { + "$type": "color", + "$value": "{color.black.36}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "strong": { + "$type": "color", + "$value": "{color.black.72}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "weak": { + "$type": "color", + "$value": "{color.black.12}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + } + }, + "foreground": { + "status": { + "critical": { + "$type": "color", + "$value": "{color.red.30}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "warning": { + "$type": "color", + "$value": "{color.yellow.40}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "ok": { + "$type": "color", + "$value": "{color.green.10}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "unknown": { + "$type": "color", + "$value": "{color.grey.20}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "info": { + "$type": "color", + "$value": "{color.blue.10}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + } + }, + "selected": { + "$type": "color", + "$value": "{color.white.100}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + } + }, + "text": { + "default": { + "$type": "color", + "$value": "{color.grey.50}", + "$description": "Default text color.", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "strong": { + "$type": "color", + "$value": "{color.grey.60}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "weak": { + "$type": "color", + "$value": "{color.grey.40}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "xweak": { + "$type": "color", + "$value": "{color.grey.30}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "active": { + "$type": "color", + "$value": "{color.text.strong}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "disabled": { + "$type": "color", + "$value": "{color.text.xweak}", + "$description": "Color of disabled text.", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + } + }, + "focus": { + "$type": "color", + "$value": "{color.teal.20}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "shadow": { + "default": { + "$type": "color", + "$value": "{color.black.12}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + } + }, + "chart": { + "qualitative": { + "10": { + "$type": "color", + "$value": "{color.blue.20}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "20": { + "$type": "color", + "$value": "{color.orange.20}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "30": { + "$type": "color", + "$value": "{color.purple.20}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "40": { + "$type": "color", + "$value": "{color.teal.10}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "50": { + "$type": "color", + "$value": "{color.yellow.30}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "60": { + "$type": "color", + "$value": "{color.purple.10}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "70": { + "$type": "color", + "$value": "{color.blue.10}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "10-secondary": { + "$type": "color", + "$value": "{color.blue.20-12pc}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "20-secondary": { + "$type": "color", + "$value": "{color.orange.20-12pc}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "30-secondary": { + "$type": "color", + "$value": "{color.purple.20 -12pc}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "40-secondary": { + "$type": "color", + "$value": "{color.teal.10-12pc}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "50-secondary": { + "$type": "color", + "$value": "{color.yellow.30-12pc}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "60-secondary": { + "$type": "color", + "$value": "{color.purple.10-12pc}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + }, + "70-secondary": { + "$type": "color", + "$value": "{color.blue.10-12pc}", + "$description": "", + "$extensions": { + "com.figma": { + "hiddenFromPublishing": false, + "scopes": ["ALL_SCOPES"], + "codeSyntax": {} + } + } + } + } + } + } +} diff --git a/package.json b/package.json index e6b8882d0..4f67a5b56 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,8 @@ "workspaces": [ "aries-core", "aries-site", - "design-tokens" + "design-tokens", + "sandbox/*" ], "dependencies": { "grommet": "https://github.com/grommet/grommet/tarball/stable", diff --git a/sandbox/grommet-app/package.json b/sandbox/grommet-app/package.json index 57079eaed..b35643ac9 100644 --- a/sandbox/grommet-app/package.json +++ b/sandbox/grommet-app/package.json @@ -10,6 +10,7 @@ "preview": "vite preview" }, "dependencies": { + "design-tokens": "*", "grommet": "^2.35.0", "grommet-icons": "^4.12.0", "grommet-theme-hpe": "^5.2.0", diff --git a/sandbox/grommet-app/src/App.jsx b/sandbox/grommet-app/src/App.jsx index 15f0aef48..81bd5333c 100644 --- a/sandbox/grommet-app/src/App.jsx +++ b/sandbox/grommet-app/src/App.jsx @@ -6,7 +6,6 @@ import { Moon, Sun } from 'grommet-icons'; import Sustainability from './pages/sustainability/index'; import Home from './pages/index'; import NextDashboard from './pages/next/index'; -import VisionDashboard from './pages/vision/index'; import { Login } from './Login'; const App = () => { @@ -25,6 +24,11 @@ const App = () => { // background="background-back" full="min" themeMode={darkMode ? 'dark' : 'light'} + options={{ + box: { + cssGap: true, + }, + }} > {authenticated ? ( <> @@ -52,7 +56,6 @@ const App = () => { } /> } /> } /> - } /> diff --git a/sandbox/grommet-app/src/components/ContentPane/index.jsx b/sandbox/grommet-app/src/components/ContentPane/index.jsx new file mode 100644 index 000000000..560f090d9 --- /dev/null +++ b/sandbox/grommet-app/src/components/ContentPane/index.jsx @@ -0,0 +1,61 @@ +import PropTypes from 'prop-types'; +import { Box, Header, Heading } from 'grommet'; + +// import { skeleton as skeletonAnimation } from '../../dashboard/components/utils/animations' + +const ContentPane = ({ + actions, + children, + contain, + heading, + level, + skeleton, + ...rest +}) => { + return ( + + {heading && ( +
+ + {heading} + + {actions} +
+ )} + + {children} + +
+ ); +}; + +ContentPane.propTypes = { + actions: PropTypes.node, + children: PropTypes.node.isRequired, + contain: PropTypes.bool, + heading: PropTypes.string, + level: PropTypes.number, + skeleton: PropTypes.oneOfType([ + PropTypes.bool, + PropTypes.shape({ + height: PropTypes.string, + }), + ]), +}; + +ContentPane.defaultProps = { + actions: undefined, + contain: undefined, + skeleton: undefined, +}; + +export default ContentPane; diff --git a/sandbox/grommet-app/src/components/DashboardCard/DashboardCard.jsx b/sandbox/grommet-app/src/components/DashboardCard/DashboardCard.jsx index 375137417..a669b55ea 100644 --- a/sandbox/grommet-app/src/components/DashboardCard/DashboardCard.jsx +++ b/sandbox/grommet-app/src/components/DashboardCard/DashboardCard.jsx @@ -19,6 +19,7 @@ export const DashboardCard = ({ subtitle, children, footer, + inline, ...rest }) => { // const { heading } = useContext(ThemeContext); @@ -31,11 +32,19 @@ export const DashboardCard = ({ // 5: heading.level[2], // 6: heading.level[2], // }; + const inlineProps = inline + ? { + pad: 'none', + elevation: 'none', + round: 'none', + } + : {}; + return ( - - + + - {icon} + {icon && {icon}} {title} @@ -48,9 +57,14 @@ export const DashboardCard = ({ {children && ( - {children} + + {children} + )} - {footer && {footer}} + {footer && {footer}} ); }; @@ -59,6 +73,7 @@ DashboardCard.propTypes = { icon: PropTypes.element, level: PropTypes.number, title: PropTypes.string, + inline: PropTypes.bool, subtitle: PropTypes.string, children: PropTypes.oneOfType([ PropTypes.arrayOf(PropTypes.element), diff --git a/sandbox/grommet-app/src/components/Legend/Legend.jsx b/sandbox/grommet-app/src/components/Legend/Legend.jsx index 8e88adec4..74e89e0ef 100644 --- a/sandbox/grommet-app/src/components/Legend/Legend.jsx +++ b/sandbox/grommet-app/src/components/Legend/Legend.jsx @@ -3,7 +3,13 @@ import PropTypes from 'prop-types'; export const Legend = ({ color, label }) => ( - + {label} diff --git a/sandbox/grommet-app/src/components/Metric/Metric.jsx b/sandbox/grommet-app/src/components/Metric/Metric.jsx index c03db6532..96d44c600 100644 --- a/sandbox/grommet-app/src/components/Metric/Metric.jsx +++ b/sandbox/grommet-app/src/components/Metric/Metric.jsx @@ -1,17 +1,39 @@ -import { Text } from 'grommet'; +import { Box, Text } from 'grommet'; import PropTypes from 'prop-types'; -export const Metric = ({ value, unit, options }) => ( - - - {Intl.NumberFormat(undefined, options).format(value)}{' '} +const sizes = { + small: { + label: 'small', + value: 'xlarge', + unit: 'xsmall', + }, + medium: { + label: 'medium', + value: 'xxlarge', + unit: 'small', + }, + large: { + label: 'large', + value: '3xl', + unit: 'medium', + }, +}; +export const Metric = ({ label, value, unit, options, size = 'medium' }) => ( + + {label} + + + {Intl.NumberFormat(undefined, options).format(value)} + {' '} + {unit} - {unit} - + ); Metric.propTypes = { + label: PropTypes.string, value: PropTypes.number, unit: PropTypes.string, + size: PropTypes.oneOf(['small', 'medium', 'large']), options: PropTypes.shape({}), }; diff --git a/sandbox/grommet-app/src/components/index.js b/sandbox/grommet-app/src/components/index.js index 86e928a36..e026b6165 100644 --- a/sandbox/grommet-app/src/components/index.js +++ b/sandbox/grommet-app/src/components/index.js @@ -3,3 +3,4 @@ export * from './Metric'; export * from './Card'; export * from './DashboardCard'; export * from './NotificationMetric'; +export * from './ContentPane'; diff --git a/sandbox/grommet-app/src/pages/FeaturedServices.jsx b/sandbox/grommet-app/src/pages/FeaturedServices.jsx index 8f6a0123a..0af944e33 100644 --- a/sandbox/grommet-app/src/pages/FeaturedServices.jsx +++ b/sandbox/grommet-app/src/pages/FeaturedServices.jsx @@ -1,9 +1,9 @@ -import { Fragment } from 'react'; -import { Anchor, Box, Heading, Grid, Tabs, Tab } from 'grommet'; +import { Anchor, Grid, Tabs, Tab } from 'grommet'; import PropTypes from 'prop-types'; import services from '../mockData/services.json'; import { Card } from '../components'; import { LinkNext } from 'grommet-icons'; +import ContentPane from '../components/ContentPane'; const TabContent = ({ data, ...rest }) => ( @@ -28,44 +28,31 @@ export const FeaturedServices = () => { let categories = services.services.map(service => service.category); categories = [...new Set(categories)].sort(); - const Container = Fragment; - const containerProps = {}; - // const Container = Box; - // const containerProps = { - // background: 'background-front', - // pad: 'medium', - // round: 'medium', - // }; - return ( - - - - - Featured services - - - - - - - - {categories.map(category => { - const filteredServices = services.services.filter( - service => service.category === category, - ); + } + > + + + + + {categories.map(category => { + const filteredServices = services.services.filter( + service => service.category === category, + ); - return ( - - - - ); - })} - - - + return ( + + + + ); + })} + + ); }; diff --git a/sandbox/grommet-app/src/pages/GetStarted.jsx b/sandbox/grommet-app/src/pages/GetStarted.jsx index 4dc270b5c..dd012fad1 100644 --- a/sandbox/grommet-app/src/pages/GetStarted.jsx +++ b/sandbox/grommet-app/src/pages/GetStarted.jsx @@ -1,20 +1,22 @@ +import PropTypes from 'prop-types'; import { Anchor, Box, Grid, Heading, ResponsiveContext } from 'grommet'; import { DashboardCard } from '../components'; import { AppsRounded, UserAdd } from 'grommet-icons'; import { useContext } from 'react'; -export const GetStarted = () => { +export const GetStarted = ({ heading = true }) => { const size = useContext(ResponsiveContext); return ( - - {/* TO DO is this the h1? */} - - Get started - - {/* TO DO this should semantically be a button */} - - + {heading && ( + + + Get started + + {/* TO DO this should semantically be a button */} + + + )} { ); }; + +GetStarted.propTypes = { + heading: PropTypes.bool, +}; diff --git a/sandbox/grommet-app/src/pages/RecentServices.jsx b/sandbox/grommet-app/src/pages/RecentServices.jsx index 2fb9cedf3..63a2104a3 100644 --- a/sandbox/grommet-app/src/pages/RecentServices.jsx +++ b/sandbox/grommet-app/src/pages/RecentServices.jsx @@ -1,9 +1,10 @@ -import { Fragment, useState } from 'react'; -import { Anchor, List, Grid, Text, Box, Button, Heading } from 'grommet'; +import { useState } from 'react'; +import { Anchor, List, Grid, Text, Box, Button } from 'grommet'; import { Link } from 'react-router-dom'; import services from '../mockData/services.json'; import { Apps, List as ListIcon } from 'grommet-icons'; import { Card } from '../components'; +import ContentPane from '../components/ContentPane'; const dates = [ '2024-02-28T20:04:00.000Z', @@ -17,81 +18,74 @@ export const RecentServices = () => { const [cards, setCards] = useState(false); const recentServices = services.services.slice(0, 5); - // const Container = Box; - // const containerProps = { - // background: 'background-front', - // pad: 'medium', - // round: 'medium', - // }; - const Container = Fragment; - const containerProps = {}; - return ( - - - - - Recent services - - - -
-
-
-

Block Storage

- - Last used yesterday, at 8:36pm - - -
-
-

Private Cloud Enterprise

- - Last used on July 17, 2023, at 8:36pm - + ${PageHeader({ + title: 'Home', + actions: ``, + })} +
+
+ ${DashboardCard({ + title: 'Find services', + subtitle: 'Discover and launch services from our catalog.', + })} + ${DashboardCard({ + title: 'Manage workspace', + subtitle: 'Set up this workspace, users, access and more.', + })}
-
-

Capacity

- Volume - 32% - used - -
+
+ ${DashboardCard({ + title: 'Billing summary', + subtitle: 'August 1-10, 2023', + })} + ${DashboardCard({ title: 'Device summary' })} + ${DashboardCard({ title: 'Sustainability overview' })} +
+
+

Recent services

+
+
+ ${DashboardCard({ title: 'User overview' })} + ${DashboardCard({ title: 'Notifications' })} +
-
-

Find services

- - Discover and launch services from out catalog. - -
-
-

Learn about the new HPE GreenLake Console experience

- +
+ ${QuickActions({ actions: '' })} +
+ ${Recommended} +
+ ${Learn}
@@ -66,8 +97,3 @@ document.querySelector('#app').innerHTML = ` `; toggleTheme(document.querySelector('#themeToggle')); - -// setupCounter(document.querySelector('#counter')); -//
-// -//
diff --git a/sandbox/native-web/mockData/mockData.json b/sandbox/native-web/mockData/mockData.json new file mode 100644 index 000000000..89d7bb5d4 --- /dev/null +++ b/sandbox/native-web/mockData/mockData.json @@ -0,0 +1,29 @@ +{ + "services": [ + { + "title": "Machine Learning", + "subtitle": "Bring DevOps features to the machine learning lifecycle.", + "recommended": true + }, + { + "title": "Backup & Recovery", + "subtitle": "Data protection as a service that's secure & reliable.", + "recommended": true + }, + { + "title": "Data Fabric", + "subtitle": "Accelerate configuring, monitoring, and managing storage fabrics.", + "recommended": true + } + ], + "learn": [ + { + "title": "Explore GreenLake", + "subtitle": "Learn more about what the GreenLake platform has to offer." + }, + { + "title": "HPE GreenLake Developer Portal", + "subtitle": "Integrate apps and services." + } + ] +} diff --git a/sandbox/native-web/package.json b/sandbox/native-web/package.json index dc5ecd012..007c75a82 100644 --- a/sandbox/native-web/package.json +++ b/sandbox/native-web/package.json @@ -12,7 +12,7 @@ "vite": "^5.1.4" }, "dependencies": { - "design-tokens": "file:.yalc/design-tokens", + "design-tokens": "*", "grommet-icons": "^4.12.0" } } diff --git a/yarn.lock b/yarn.lock index c4d66922e..56ad76a3b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -271,7 +271,7 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== -"@babel/core@^7.1.0", "@babel/core@^7.11.6", "@babel/core@^7.12.1", "@babel/core@^7.12.3", "@babel/core@^7.20.5", "@babel/core@^7.23.9", "@babel/core@^7.7.2", "@babel/core@^7.8.0": +"@babel/core@^7.1.0", "@babel/core@^7.11.6", "@babel/core@^7.12.1", "@babel/core@^7.12.3", "@babel/core@^7.20.5", "@babel/core@^7.23.5", "@babel/core@^7.23.9", "@babel/core@^7.7.2", "@babel/core@^7.8.0": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.0.tgz#56cbda6b185ae9d9bed369816a8f4423c5f2ff1b" integrity sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw== @@ -1091,6 +1091,20 @@ dependencies: "@babel/plugin-transform-react-jsx" "^7.22.5" +"@babel/plugin-transform-react-jsx-self@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz#ed3e7dadde046cce761a8e3cf003a13d1a7972d9" + integrity sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-jsx-source@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz#03527006bdc8775247a78643c51d4e715fe39a3e" + integrity sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5": version "7.23.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" @@ -1437,6 +1451,121 @@ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== +"@esbuild/aix-ppc64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz#d1bc06aedb6936b3b6d313bf809a5a40387d2b7f" + integrity sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA== + +"@esbuild/android-arm64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz#7ad65a36cfdb7e0d429c353e00f680d737c2aed4" + integrity sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA== + +"@esbuild/android-arm@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.12.tgz#b0c26536f37776162ca8bde25e42040c203f2824" + integrity sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w== + +"@esbuild/android-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.12.tgz#cb13e2211282012194d89bf3bfe7721273473b3d" + integrity sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew== + +"@esbuild/darwin-arm64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz#cbee41e988020d4b516e9d9e44dd29200996275e" + integrity sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g== + +"@esbuild/darwin-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz#e37d9633246d52aecf491ee916ece709f9d5f4cd" + integrity sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A== + +"@esbuild/freebsd-arm64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz#1ee4d8b682ed363b08af74d1ea2b2b4dbba76487" + integrity sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA== + +"@esbuild/freebsd-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz#37a693553d42ff77cd7126764b535fb6cc28a11c" + integrity sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg== + +"@esbuild/linux-arm64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz#be9b145985ec6c57470e0e051d887b09dddb2d4b" + integrity sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA== + +"@esbuild/linux-arm@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz#207ecd982a8db95f7b5279207d0ff2331acf5eef" + integrity sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w== + +"@esbuild/linux-ia32@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz#d0d86b5ca1562523dc284a6723293a52d5860601" + integrity sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA== + +"@esbuild/linux-loong64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz#9a37f87fec4b8408e682b528391fa22afd952299" + integrity sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA== + +"@esbuild/linux-mips64el@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz#4ddebd4e6eeba20b509d8e74c8e30d8ace0b89ec" + integrity sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w== + +"@esbuild/linux-ppc64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz#adb67dadb73656849f63cd522f5ecb351dd8dee8" + integrity sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg== + +"@esbuild/linux-riscv64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz#11bc0698bf0a2abf8727f1c7ace2112612c15adf" + integrity sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg== + +"@esbuild/linux-s390x@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz#e86fb8ffba7c5c92ba91fc3b27ed5a70196c3cc8" + integrity sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg== + +"@esbuild/linux-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz#5f37cfdc705aea687dfe5dfbec086a05acfe9c78" + integrity sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg== + +"@esbuild/netbsd-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz#29da566a75324e0d0dd7e47519ba2f7ef168657b" + integrity sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA== + +"@esbuild/openbsd-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz#306c0acbdb5a99c95be98bdd1d47c916e7dc3ff0" + integrity sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw== + +"@esbuild/sunos-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz#0933eaab9af8b9b2c930236f62aae3fc593faf30" + integrity sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA== + +"@esbuild/win32-arm64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz#773bdbaa1971b36db2f6560088639ccd1e6773ae" + integrity sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A== + +"@esbuild/win32-ia32@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz#000516cad06354cc84a73f0943a4aa690ef6fd67" + integrity sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ== + +"@esbuild/win32-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz#c57c8afbb4054a3ab8317591a0b7320360b444ae" + integrity sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA== + "@eslint-community/eslint-utils@^4.2.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" @@ -1930,9 +2059,9 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.24" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.24.tgz#e5640be1cab4085e4012a94c132ae86138f90f48" - integrity sha512-+VaWXDa6+l6MhflBvVXjIEAzb59nQ2JUK3bwRp2zRpPtU+8TFRy9Gg/5oIcNlkEL5PGlBFGfemUVvIgLnTzq7Q== + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== dependencies: "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -2093,6 +2222,76 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== +"@remix-run/router@1.15.2": + version "1.15.2" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.15.2.tgz#35726510d332ba5349c6398d13259d5da184553d" + integrity sha512-+Rnav+CaoTE5QJc4Jcwh5toUpnVLKYbpU6Ys0zqbakqbaLQHeglLVHPfxOiQqdNmUy5C2lXz5dwC6tQNX2JW2Q== + +"@rollup/rollup-android-arm-eabi@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz#38c3abd1955a3c21d492af6b1a1dca4bb1d894d6" + integrity sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w== + +"@rollup/rollup-android-arm64@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.0.tgz#3822e929f415627609e53b11cec9a4be806de0e2" + integrity sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ== + +"@rollup/rollup-darwin-arm64@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.0.tgz#6c082de71f481f57df6cfa3701ab2a7afde96f69" + integrity sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ== + +"@rollup/rollup-darwin-x64@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.0.tgz#c34ca0d31f3c46a22c9afa0e944403eea0edcfd8" + integrity sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg== + +"@rollup/rollup-linux-arm-gnueabihf@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.0.tgz#48e899c1e438629c072889b824a98787a7c2362d" + integrity sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA== + +"@rollup/rollup-linux-arm64-gnu@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.0.tgz#788c2698a119dc229062d40da6ada8a090a73a68" + integrity sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA== + +"@rollup/rollup-linux-arm64-musl@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.0.tgz#3882a4e3a564af9e55804beeb67076857b035ab7" + integrity sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ== + +"@rollup/rollup-linux-riscv64-gnu@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.0.tgz#0c6ad792e1195c12bfae634425a3d2aa0fe93ab7" + integrity sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw== + +"@rollup/rollup-linux-x64-gnu@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz#9d62485ea0f18d8674033b57aa14fb758f6ec6e3" + integrity sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA== + +"@rollup/rollup-linux-x64-musl@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz#50e8167e28b33c977c1f813def2b2074d1435e05" + integrity sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw== + +"@rollup/rollup-win32-arm64-msvc@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.0.tgz#68d233272a2004429124494121a42c4aebdc5b8e" + integrity sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw== + +"@rollup/rollup-win32-ia32-msvc@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.0.tgz#366ca62221d1689e3b55a03f4ae12ae9ba595d40" + integrity sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA== + +"@rollup/rollup-win32-x64-msvc@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz#9ffdf9ed133a7464f4ae187eb9e1294413fab235" + integrity sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg== + "@sideway/address@^4.1.5": version "4.1.5" resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5" @@ -2213,7 +2412,7 @@ resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14", "@types/babel__core@^7.20.5": version "7.20.5" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== @@ -2306,7 +2505,7 @@ dependencies: "@types/estree" "*" -"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.5": +"@types/estree@*", "@types/estree@1.0.5", "@types/estree@^1.0.0", "@types/estree@^1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== @@ -2483,10 +2682,17 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== -"@types/react@>=16": - version "18.2.61" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.61.tgz#5607308495037436779939ec0348a5816c08799d" - integrity sha512-NURTN0qNnJa7O/k4XUkEW2yfygA+NxS0V5h1+kp9jPwhzZy95q3ADoGMP0+JypMhrZBTTgjKAUlTctde1zzeQA== +"@types/react-dom@^18.2.19": + version "18.2.20" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.20.tgz#cbdf7abb3cc2377980bb1294bc51375016a8320f" + integrity sha512-HXN/biJY8nv20Cn9ZbCFq3liERd4CozVZmKbaiZ9KiKTrWqsP7eoGDO6OOGvJQwoVFuiXaiJ7nBBjiFFbRmQMQ== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@>=16", "@types/react@^18.2.56": + version "18.2.63" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.63.tgz#4637c56146ad90f96d0583171edab953f7e6fe57" + integrity sha512-ppaqODhs15PYL2nGUOaOu2RSCCB4Difu4UFrP4I3NHLloXC/ESQzQMi9nvjfT1+rudd0d2L3fQPJxRSey+rGlQ== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -2574,6 +2780,17 @@ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== +"@vitejs/plugin-react@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz#744d8e4fcb120fc3dbaa471dadd3483f5a304bb9" + integrity sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ== + dependencies: + "@babel/core" "^7.23.5" + "@babel/plugin-transform-react-jsx-self" "^7.23.3" + "@babel/plugin-transform-react-jsx-source" "^7.23.3" + "@types/babel__core" "^7.20.5" + react-refresh "^0.14.0" + "@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" @@ -2998,6 +3215,17 @@ array.prototype.filter@^1.0.3: es-array-method-boxes-properly "^1.0.0" is-string "^1.0.7" +array.prototype.findlast@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.4.tgz#eeb9e45fc894055c82e5675c463e8077b827ad36" + integrity sha512-BMtLxpV+8BD+6ZPFIWmnUBpQoy+A+ujcg4rhp2iwCRJYA7PEh2MS4NL3lz8EiDlLrJPp2hg9qWihr5pd//jcGw== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.3.0" + es-shim-unscopables "^1.0.2" + array.prototype.findlastindex@^1.2.3: version "1.2.4" resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.4.tgz#d1c50f0b3a9da191981ff8942a0aedd82794404f" @@ -3019,7 +3247,7 @@ array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" -array.prototype.flatmap@^1.3.1, array.prototype.flatmap@^1.3.2: +array.prototype.flatmap@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== @@ -3040,7 +3268,17 @@ array.prototype.reduce@^1.0.6: es-array-method-boxes-properly "^1.0.0" is-string "^1.0.7" -array.prototype.tosorted@^1.1.1: +array.prototype.toreversed@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz#b989a6bf35c4c5051e1dc0325151bf8088954eba" + integrity sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz#c8c89348337e51b8a3c48a9227f9ce93ceedcba8" integrity sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg== @@ -3539,9 +3777,9 @@ camelize@^1.0.0: integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001587: - version "1.0.30001591" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001591.tgz#16745e50263edc9f395895a7cd468b9f3767cf33" - integrity sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ== + version "1.0.30001594" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001594.tgz#bea552414cd52c2d0c985ed9206314a696e685f5" + integrity sha512-VblSX6nYqyJVs8DKFMldE2IVCJjZ225LW00ydtUWwh5hk9IfkTOffO6r8gJNsH0qqqeAF8KrbMYA2VEwTlGW5g== capital-case@^1.0.4: version "1.0.4" @@ -4392,9 +4630,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.668: - version "1.4.690" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.690.tgz#dd5145d45c49c08a9a6f7454127e660bdf9a3fa7" - integrity sha512-+2OAGjUx68xElQhydpcbqH50hE8Vs2K6TkAeLhICYfndb67CVH0UsZaijmRUE3rHlIxU1u0jxwhgVe6fK3YANA== + version "1.4.693" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.693.tgz#001bb5dcb57ba404366ec39e1957d11886fc8a93" + integrity sha512-/if4Ueg0GUQlhCrW2ZlXwDAm40ipuKo+OgeHInlL8sbjt+hzISxZK949fZeJaVsheamrzANXvw1zQTvbxTvSHw== elegant-spinner@^1.0.1: version "1.0.1" @@ -4567,7 +4805,7 @@ es-get-iterator@^1.1.3: isarray "^2.0.5" stop-iteration-iterator "^1.0.0" -es-iterator-helpers@^1.0.12, es-iterator-helpers@^1.0.15: +es-iterator-helpers@^1.0.15, es-iterator-helpers@^1.0.17: version "1.0.17" resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.17.tgz#123d1315780df15b34eb181022da43e734388bb8" integrity sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ== @@ -4618,6 +4856,35 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" +esbuild@^0.19.3: + version "0.19.12" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.12.tgz#dc82ee5dc79e82f5a5c3b4323a2a641827db3e04" + integrity sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg== + optionalDependencies: + "@esbuild/aix-ppc64" "0.19.12" + "@esbuild/android-arm" "0.19.12" + "@esbuild/android-arm64" "0.19.12" + "@esbuild/android-x64" "0.19.12" + "@esbuild/darwin-arm64" "0.19.12" + "@esbuild/darwin-x64" "0.19.12" + "@esbuild/freebsd-arm64" "0.19.12" + "@esbuild/freebsd-x64" "0.19.12" + "@esbuild/linux-arm" "0.19.12" + "@esbuild/linux-arm64" "0.19.12" + "@esbuild/linux-ia32" "0.19.12" + "@esbuild/linux-loong64" "0.19.12" + "@esbuild/linux-mips64el" "0.19.12" + "@esbuild/linux-ppc64" "0.19.12" + "@esbuild/linux-riscv64" "0.19.12" + "@esbuild/linux-s390x" "0.19.12" + "@esbuild/linux-x64" "0.19.12" + "@esbuild/netbsd-x64" "0.19.12" + "@esbuild/openbsd-x64" "0.19.12" + "@esbuild/sunos-x64" "0.19.12" + "@esbuild/win32-arm64" "0.19.12" + "@esbuild/win32-ia32" "0.19.12" + "@esbuild/win32-x64" "0.19.12" + escalade@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" @@ -4783,32 +5050,39 @@ eslint-plugin-react-hooks@^4.6.0: resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== +eslint-plugin-react-refresh@^0.4.5: + version "0.4.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.5.tgz#6b9b307bad3feba2244ef64a1a15485ac70a2d0f" + integrity sha512-D53FYKJa+fDmZMtriODxvhwrO+IOqrxoEo21gMA0sjHdU6dPVH4OhyFip9ypl8HOF5RV5KdTo+rBQLvnY2cO8w== + eslint-plugin-react@3.4.2: version "3.4.2" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-3.4.2.tgz#9e6ef8a8054f8ac3b87b97236e7b849e5835dc6c" integrity sha512-rIhweRuQMLxNOOHHl9pEkQR+6QiKt9wUHpBvjSefSzUg5qdhC08jc2rxsSm1TAXii9rxabhzK5MUu+YBJxn6sA== -eslint-plugin-react@^7.31.11: - version "7.33.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz#69ee09443ffc583927eafe86ffebb470ee737608" - integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw== +eslint-plugin-react@^7.31.11, eslint-plugin-react@^7.33.2: + version "7.34.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.34.0.tgz#ab71484d54fc409c37025c5eca00eb4177a5e88c" + integrity sha512-MeVXdReleBTdkz/bvcQMSnCXGi+c9kvy51IpinjnJgutl3YTHWsDdke7Z1ufZpGfDG8xduBDKyjtB9JH1eBKIQ== dependencies: - array-includes "^3.1.6" - array.prototype.flatmap "^1.3.1" - array.prototype.tosorted "^1.1.1" + array-includes "^3.1.7" + array.prototype.findlast "^1.2.4" + array.prototype.flatmap "^1.3.2" + array.prototype.toreversed "^1.1.2" + array.prototype.tosorted "^1.1.3" doctrine "^2.1.0" - es-iterator-helpers "^1.0.12" + es-iterator-helpers "^1.0.17" estraverse "^5.3.0" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.1.2" - object.entries "^1.1.6" - object.fromentries "^2.0.6" - object.hasown "^1.1.2" - object.values "^1.1.6" + object.entries "^1.1.7" + object.fromentries "^2.0.7" + object.hasown "^1.1.3" + object.values "^1.1.7" prop-types "^15.8.1" - resolve "^2.0.0-next.4" + resolve "^2.0.0-next.5" semver "^6.3.1" - string.prototype.matchall "^4.0.8" + string.prototype.matchall "^4.0.10" eslint-scope@5.1.1: version "5.1.1" @@ -4836,7 +5110,7 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@^8.30.0: +eslint@^8.30.0, eslint@^8.56.0: version "8.57.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== @@ -5393,7 +5667,7 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^2.3.2, fsevents@~2.3.2: +fsevents@^2.3.2, fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -5645,22 +5919,27 @@ graphlib@^2.1.5: dependencies: lodash "^4.17.15" -grommet-icons@^4.10.0: +grommet-icons@^4.10.0, grommet-icons@^4.12.0: version "4.12.0" resolved "https://registry.yarnpkg.com/grommet-icons/-/grommet-icons-4.12.0.tgz#122c1f09c100f2ea6321c401107038caeda8a6b8" integrity sha512-aPFVjdCBLbaUOpxzrNakxYz6DNYxS5lJeLP4tI6nZFfOzLhWH5LBf+tfkL/ZkLMNZC1Uqsw9awPvyvT03xLOsA== "grommet-icons@https://github.com/grommet/grommet-icons/tarball/stable": version "4.12.0" - resolved "https://github.com/grommet/grommet-icons/tarball/stable#7d9b0e5924603eefe05690e317ac9d27a3ab7a50" + resolved "https://github.com/grommet/grommet-icons/tarball/stable#f1984e2ec1feb429f968b3948e651672d8497a39" + +grommet-theme-hpe@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/grommet-theme-hpe/-/grommet-theme-hpe-5.2.0.tgz#2f520dec4f4ee102916ff80e9b602e1f20e0c71f" + integrity sha512-x/OD+3rxGAfUh9CE4tDCF7zx2vYSyIf/AsIVEA/JnXt+UflLnugl6bCoxpZvbfZct/HovikxiCJcJYTmCPiskQ== "grommet-theme-hpe@https://github.com/grommet/grommet-theme-hpe/tarball/stable": version "0.0.0" resolved "https://github.com/grommet/grommet-theme-hpe/tarball/stable#b31ec75f4de8c51671e7dcb9eeaea5b582d8ebfa" -"grommet@https://github.com/grommet/grommet/tarball/stable": +grommet@^2.35.0, "grommet@https://github.com/grommet/grommet/tarball/stable": version "2.35.0" - resolved "https://github.com/grommet/grommet/tarball/stable#31f99a067249a8188e2fa7aa822a27b557796938" + resolved "https://github.com/grommet/grommet/tarball/stable#526aab94a0f1bc5b4fe250f4308ff49d8f19cd54" dependencies: grommet-icons "^4.10.0" hoist-non-react-statics "^3.2.0" @@ -5821,9 +6100,9 @@ html-encoding-sniffer@^3.0.0: whatwg-encoding "^2.0.0" html-entities@^2.3.2: - version "2.4.0" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" - integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== + version "2.5.2" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.5.2.tgz#201a3cf95d3a15be7099521620d19dfb4f65359f" + integrity sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA== html-escaper@^2.0.0: version "2.0.2" @@ -8465,7 +8744,7 @@ mustache@^2.1.1, mustache@^2.1.2, mustache@^2.2.1: resolved "https://registry.yarnpkg.com/mustache/-/mustache-2.3.2.tgz#a6d4d9c3f91d13359ab889a812954f9230a3d0c5" integrity sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ== -nanoid@^3.1.12, nanoid@^3.1.31, nanoid@^3.3.4: +nanoid@^3.1.12, nanoid@^3.1.31, nanoid@^3.3.4, nanoid@^3.3.7: version "3.3.7" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== @@ -8615,7 +8894,7 @@ object.assign@^4.1.2, object.assign@^4.1.4, object.assign@^4.1.5: has-symbols "^1.0.3" object-keys "^1.1.1" -object.entries@^1.1.5, object.entries@^1.1.6, object.entries@^1.1.7: +object.entries@^1.1.5, object.entries@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131" integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== @@ -8624,7 +8903,7 @@ object.entries@^1.1.5, object.entries@^1.1.6, object.entries@^1.1.7: define-properties "^1.2.0" es-abstract "^1.22.1" -object.fromentries@^2.0.6, object.fromentries@^2.0.7: +object.fromentries@^2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== @@ -8655,7 +8934,7 @@ object.groupby@^1.0.1: es-abstract "^1.22.3" es-errors "^1.0.0" -object.hasown@^1.1.2: +object.hasown@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.3.tgz#6a5f2897bb4d3668b8e79364f98ccf971bda55ae" integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== @@ -9131,6 +9410,15 @@ postcss@8.4.14: picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@^8.4.35: + version "8.4.35" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.35.tgz#60997775689ce09011edf083a549cea44aabe2f7" + integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.0.2" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -9371,6 +9659,26 @@ react-is@^18.0.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== +react-refresh@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" + integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== + +react-router-dom@^6.22.2: + version "6.22.2" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.22.2.tgz#8233968a8a576f3006e5549c80f3527d2598fc9c" + integrity sha512-WgqxD2qySEIBPZ3w0sHH+PUAiamDeszls9tzqMPBDA1YYVucTBXLU7+gtRfcSnhe92A3glPnvSxK2dhNoAVOIQ== + dependencies: + "@remix-run/router" "1.15.2" + react-router "6.22.2" + +react-router@6.22.2: + version "6.22.2" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.22.2.tgz#27e77e4c635a5697693b922d131d773451c98a5b" + integrity sha512-YD3Dzprzpcq+tBMHBS822tCjnWD3iIZbTeSXMY9LPSG541EfoBGyZ3bS25KEnaZjLcmQpw2AVLkFyfgXY8uvcw== + dependencies: + "@remix-run/router" "1.15.2" + react-syntax-highlighter@^15.4.4: version "15.5.0" resolved "https://registry.yarnpkg.com/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz#4b3eccc2325fa2ec8eff1e2d6c18fa4a9e07ab20" @@ -9644,7 +9952,7 @@ resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.4: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^2.0.0-next.4: +resolve@^2.0.0-next.5: version "2.0.0-next.5" resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== @@ -9677,6 +9985,28 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" +rollup@^4.2.0: + version "4.12.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.12.0.tgz#0b6d1e5f3d46bbcf244deec41a7421dc54cc45b5" + integrity sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q== + dependencies: + "@types/estree" "1.0.5" + optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.12.0" + "@rollup/rollup-android-arm64" "4.12.0" + "@rollup/rollup-darwin-arm64" "4.12.0" + "@rollup/rollup-darwin-x64" "4.12.0" + "@rollup/rollup-linux-arm-gnueabihf" "4.12.0" + "@rollup/rollup-linux-arm64-gnu" "4.12.0" + "@rollup/rollup-linux-arm64-musl" "4.12.0" + "@rollup/rollup-linux-riscv64-gnu" "4.12.0" + "@rollup/rollup-linux-x64-gnu" "4.12.0" + "@rollup/rollup-linux-x64-musl" "4.12.0" + "@rollup/rollup-win32-arm64-msvc" "4.12.0" + "@rollup/rollup-win32-ia32-msvc" "4.12.0" + "@rollup/rollup-win32-x64-msvc" "4.12.0" + fsevents "~2.3.2" + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -10220,7 +10550,7 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string.prototype.matchall@^4.0.8: +string.prototype.matchall@^4.0.10: version "4.0.10" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== @@ -10361,7 +10691,7 @@ style-to-object@^0.4.1: dependencies: inline-style-parser "0.1.1" -styled-components@^5.3.11: +styled-components@5.3.11, styled-components@^5.3.11: version "5.3.11" resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.11.tgz#9fda7bf1108e39bf3f3e612fcc18170dedcd57a8" integrity sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw== @@ -11269,6 +11599,17 @@ vfile@^5.0.0: unist-util-stringify-position "^3.0.0" vfile-message "^3.0.0" +vite@^5.1.4: + version "5.1.5" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.1.5.tgz#bdbc2b15e8000d9cc5172f059201178f9c9de5fb" + integrity sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q== + dependencies: + esbuild "^0.19.3" + postcss "^8.4.35" + rollup "^4.2.0" + optionalDependencies: + fsevents "~2.3.3" + vm2@^3.9.17: version "3.9.19" resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.19.tgz#be1e1d7a106122c6c492b4d51c2e8b93d3ed6a4a"