diff --git a/packages/css/package.json b/packages/css/package.json index 34b4ffad13..0cf944521b 100644 --- a/packages/css/package.json +++ b/packages/css/package.json @@ -28,13 +28,16 @@ "dev": "tsup --watch" }, "devDependencies": { + "@types/cssesc": "^3.0.2", "@types/fs-extra": "11.0.1", "@types/node": "20.14.9" }, "dependencies": { "@vtex/shoreline-utils": "workspace:*", "browserslist": "4.23.1", + "cssesc": "^3.0.0", "fs-extra": "11.1.1", - "lightningcss": "1.25.1" + "lightningcss": "1.25.1", + "ora": "^8.1.0" } } diff --git a/packages/css/src/bundle.ts b/packages/css/src/bundle.ts index 3a53c5584d..a3f9f8b490 100644 --- a/packages/css/src/bundle.ts +++ b/packages/css/src/bundle.ts @@ -1,7 +1,10 @@ import browserslist from 'browserslist' import { bundle as __bundle, browserslistToTargets } from 'lightningcss' import { outputFileSync } from 'fs-extra' -import { tokens, type TokensArgs } from './tokens' +import ora from 'ora' +import { transformTokens } from './transform-tokens' +import type { TokensArgs } from './transform-tokens' +import type { TokenConfig } from './types' const layerStatement = '@layer sl-reset, sl-base, sl-tokens, sl-components;' @@ -10,17 +13,19 @@ const layerStatement = '@layer sl-reset, sl-base, sl-tokens, sl-components;' */ export function bundle(args: BundleArgs) { const { - inputFile, outdir, - tokensFile, + tokens, + inputFile, useCascadeLayers = true, browserslistQuery = 'last 1 versions', } = args + const spinner = ora('Bundling css').start() + const targets = browserslistToTargets(browserslist(browserslistQuery)) - const { code: tokensCode } = tokens({ - inputFile: tokensFile, + const tokensCode = transformTokens({ + tokens, emitFile: true, outdir, useCascadeLayers, @@ -31,22 +36,6 @@ export function bundle(args: BundleArgs) { filename: inputFile, targets, minify: false, - customAtRules: { - theme: { - prelude: '', - body: 'style-block', - }, - }, - visitor: { - Rule: { - custom: { - theme() { - // theme is not bundled with - throw new Error('Do not import tokens into your bundle') - }, - }, - }, - }, }) try { @@ -58,13 +47,14 @@ export function bundle(args: BundleArgs) { outputFile, Buffer.from( useCascadeLayers - ? `${layerStatement}\n\n${tokensCode.toString()}\n\n${bundledCode.toString()}` - : `${tokensCode.toString()}\n\n${bundledCode.toString()}` + ? `${layerStatement}\n\n${tokensCode}\n\n${bundledCode.toString()}` + : `${tokensCode}\n\n${bundledCode.toString()}` ) ) - console.log(`✅ Generated ${outputFile}`) + + spinner.succeed(`Generated ${outputFile}`) } catch (e) { - console.log('🚨 Failed to compile styles') + spinner.fail('Failed to bundle css') } } @@ -72,5 +62,9 @@ export interface BundleArgs extends Omit { /** * file contaning the tokens */ - tokensFile: string + tokens: TokenConfig + /** + * file to bundle + */ + inputFile: string } diff --git a/packages/css/src/define-tokens.ts b/packages/css/src/define-tokens.ts new file mode 100644 index 0000000000..f9121a4715 --- /dev/null +++ b/packages/css/src/define-tokens.ts @@ -0,0 +1,5 @@ +import type { TokenConfig } from './types' + +export function defineTokens(config: TokenConfig): TokenConfig { + return config +} diff --git a/packages/css/src/get-css-string.ts b/packages/css/src/get-css-string.ts new file mode 100644 index 0000000000..227bd1492e --- /dev/null +++ b/packages/css/src/get-css-string.ts @@ -0,0 +1,21 @@ +import cssesc from 'cssesc' +import type { TokenConfig } from './types' + +/** + * Retunrs the CSS string for a given token config + */ +export function getCssString(config: TokenConfig) { + let str = ':where(:root) {' + + for (const category of Object.keys(config)) { + const { tokens } = config[category] + for (const token of tokens) { + const { name, value } = token + str += cssesc(`--sl-${name}: ${value};`) + } + } + + str += '}' + + return str +} diff --git a/packages/css/src/index.ts b/packages/css/src/index.ts index 195bc0c963..fbe9d600f2 100644 --- a/packages/css/src/index.ts +++ b/packages/css/src/index.ts @@ -1,3 +1,5 @@ export * from './types' export * from './bundle' -export * from './tokens' +export * from './transform-tokens' +export * from './define-tokens' +export * from './get-css-string' diff --git a/packages/css/src/tokens.ts b/packages/css/src/tokens.ts deleted file mode 100644 index c0fe8fffae..0000000000 --- a/packages/css/src/tokens.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { outputFileSync, readFileSync } from 'fs-extra' -import { type TransformTokensArgs, transformTokens } from './transform-tokens' - -/** - * Transform shoreline tokens - */ -export function tokens(args: TokensArgs) { - const { - inputFile, - outdir, - browserslistQuery, - useCascadeLayers = true, - emitFile = false, - } = args - - const code = readFileSync(inputFile) - - const tokens = transformTokens({ - code, - useCascadeLayers, - browserslistQuery, - }) - - if (emitFile) { - const outputFile = `${outdir}/tokens${ - useCascadeLayers ? '' : '-unlayered' - }.css` - - try { - outputFileSync(outputFile, tokens.code) - console.log(`✅ Generated ${outputFile}`) - } catch (e) { - console.log('🚨 Failed to compile styles') - } - } - - return tokens -} - -export interface TokensArgs extends Omit { - /** - * file to transform - */ - inputFile: string - /** - * output directory - */ - outdir: string - /** - * wether the tokens.css is emited - */ - emitFile?: boolean -} diff --git a/packages/css/src/transform-tokens.ts b/packages/css/src/transform-tokens.ts index bfd7f16cc5..b33ba40f0d 100644 --- a/packages/css/src/transform-tokens.ts +++ b/packages/css/src/transform-tokens.ts @@ -1,66 +1,68 @@ +import { outputFileSync } from 'fs-extra' import browserslist from 'browserslist' import { transform, browserslistToTargets } from 'lightningcss' +import ora from 'ora' -export function transformTokens(args: TransformTokensArgs) { +import type { TokenConfig } from './types' +import { getCssString } from './get-css-string' + +/** + * Transform shoreline tokens + */ +export function transformTokens(args: TokensArgs): string { const { - code, - useCascadeLayers = true, + tokens, + outdir, browserslistQuery = 'last 1 versions', + useCascadeLayers = true, + emitFile = false, } = args - const targets = browserslistToTargets(browserslist(browserslistQuery)) + const spinner = ora('Transforming tokens').start() - const result = transform({ + const css = transform({ filename: 'styles.css', - code: code, - targets, + code: Buffer.from(getCssString(tokens)), + targets: browserslistToTargets(browserslist(browserslistQuery)), minify: false, - customAtRules: { - theme: { - prelude: '', - body: 'style-block', - }, - }, - visitor: { - Rule: { - custom: { - theme(rule) { - const prefixedRoot = JSON.parse( - JSON.stringify(rule.body.value).replace(/--/gi, '--sl-') - ) + }) - if (!useCascadeLayers) { - return prefixedRoot - } + const code = css.code.toString() - return [ - { - type: 'layer-block', - value: { - name: ['sl-tokens'], - loc: rule.loc, - rules: prefixedRoot, - }, - }, - ] - }, - }, - }, - }, - }) + if (emitFile) { + const outputFile = `${outdir}/tokens${ + useCascadeLayers ? '' : '-unlayered' + }.css` + + try { + outputFileSync(outputFile, code) + spinner.succeed(`Generated ${outputFile}`) + } catch (e) { + spinner.fail('Transformation failed') + } + } - return result + spinner.succeed('Finished') + + return code } -export interface TransformTokensArgs { +export interface TokensArgs { + /** + * token configuration + */ + tokens: TokenConfig + /** + * output directory + */ + outdir: string /** - * code to transform + * wether the tokens.css is emited */ - code: Buffer + emitFile?: boolean /** * css support query * @default 'last 1 versions' - * */ browserslistQuery?: string | string[] /** diff --git a/packages/css/src/types.ts b/packages/css/src/types.ts index 93d7c1c4d6..6c62a6cd55 100644 --- a/packages/css/src/types.ts +++ b/packages/css/src/types.ts @@ -20,3 +20,17 @@ export interface ShorelineConfig { */ tokens?: Record } + +interface PropsDeclaration { + name: string + value: string + description?: string +} + +export interface TokenConfig { + [key: string]: { + name: string + description?: string + tokens: PropsDeclaration[] + } +} diff --git a/packages/shoreline/package.json b/packages/shoreline/package.json index 5fba2986f1..bb940c7bac 100644 --- a/packages/shoreline/package.json +++ b/packages/shoreline/package.json @@ -2,7 +2,6 @@ "name": "@vtex/shoreline", "version": "1.11.7", "main": "./dist/index.js", - "module": "./dist/index.mjs", "types": "./dist/index.d.ts", "publishConfig": { "access": "public", @@ -29,8 +28,8 @@ "prebuild": "rm -rf dist", "dev": "concurrently \"tsup --watch\" \"pnpm run dev:css\"", "build": "pnpm run prebuild && concurrently \"tsup\" \"pnpm run build:css\"", - "build:css": "node -r sucrase/register src/scripts/build-css.ts", - "dev:css": "node -r sucrase/register src/scripts/dev-css.ts" + "build:css": "npx tsx src/scripts/build-css.ts", + "dev:css": "npx tsx src/scripts/dev-css.ts" }, "repository": { "directory": "packages/shoreline", @@ -56,8 +55,7 @@ "fs-extra": "11.2.0", "match-sorter": "6.3.4", "react-hook-form": "7.48.2", - "react-window": "1.8.10", - "sucrase": " 3.35.0" + "react-window": "1.8.10" }, "dependencies": { "@ariakit/react": "0.4.13", @@ -73,6 +71,7 @@ "@react-stately/toggle": "3.7.4", "@vtex/shoreline-utils": "^1.0.77", "react-hot-toast": "2.4.1", + "tsx": "^4.19.1", "vaul": "0.9.4" } } diff --git a/packages/shoreline/src/scripts/build-css.ts b/packages/shoreline/src/scripts/build-css.ts index e7a839b983..f18a3d17ed 100644 --- a/packages/shoreline/src/scripts/build-css.ts +++ b/packages/shoreline/src/scripts/build-css.ts @@ -1,16 +1,17 @@ import { bundle } from '@vtex/shoreline-css' +import tokens from '../themes/sunrise/tokens' export function build() { bundle({ + tokens, inputFile: 'src/themes/sunrise/styles.css', - tokensFile: 'src/themes/sunrise/tokens.css', outdir: 'dist/themes/sunrise', useCascadeLayers: true, }) bundle({ + tokens, inputFile: 'src/themes/sunrise/styles-unlayered.css', - tokensFile: 'src/themes/sunrise/tokens.css', outdir: 'dist/themes/sunrise', useCascadeLayers: false, }) diff --git a/packages/shoreline/src/scripts/dev-css.ts b/packages/shoreline/src/scripts/dev-css.ts index a2e027c529..08670aa218 100644 --- a/packages/shoreline/src/scripts/dev-css.ts +++ b/packages/shoreline/src/scripts/dev-css.ts @@ -2,25 +2,29 @@ import { subscribe } from '@parcel/watcher' import { build } from './build-css' import path from 'node:path' -console.log('👀 Watching CSS files') +function dev() { + console.log('👀 Watching CSS files') -/** - * We must trigger the first build to avoid errors - */ -build() + /** + * We must trigger the first build to avoid errors + */ + build() -const themesPath = path.join(__dirname, '../themes/') + const themesPath = path.join(__dirname, '../themes/') -subscribe(themesPath, (err, events) => { - if (err) { - console.error(err) - } + subscribe(themesPath, (err, events) => { + if (err) { + console.error(err) + } - const shouldTriggerBuild = events.some( - ({ type }) => type === 'update' || type === 'create' || type === 'delete' - ) + const shouldTriggerBuild = events.some( + ({ type }) => type === 'update' || type === 'create' || type === 'delete' + ) - if (shouldTriggerBuild) { - build() - } -}) + if (shouldTriggerBuild) { + build() + } + }) +} + +dev() diff --git a/packages/shoreline/src/themes/sunrise/tokens.css b/packages/shoreline/src/themes/sunrise/tokens.css deleted file mode 100644 index b6bc997b8f..0000000000 --- a/packages/shoreline/src/themes/sunrise/tokens.css +++ /dev/null @@ -1,317 +0,0 @@ -@theme sunrise { - :root { - --space-0: 0rem; - --space-1: 0.25rem; - --space-2: 0.5rem; - --space-3: 0.75rem; - --space-4: 1rem; - --space-5: 1.25rem; - --space-6: 1.5rem; - --space-7: 1.75rem; - --space-8: 2rem; - --space-10: 2.5rem; - --space-12: 3rem; - --space-16: 4rem; - --space-20: 5rem; - --space-24: 6rem; - --space-28: 7rem; - --space-32: 8rem; - --space-05: 0.125rem; - --space-gap: var(--space-4); - --color-gray-0: #ffffff; - --color-gray-1: #f5f5f5; - --color-gray-2: #ebebeb; - --color-gray-3: #e0e0e0; - --color-gray-4: #d6d6d6; - --color-gray-5: #c2c2c2; - --color-gray-6: #adadad; - --color-gray-7: #999999; - --color-gray-8: #858585; - --color-gray-9: #707070; - --color-gray-10: #5c5c5c; - --color-gray-11: #3d3d3d; - --color-gray-12: #1f1f1f; - --color-gray-13: #000000; - --color-red-1: #fdf6f5; - --color-red-2: #ffedea; - --color-red-3: #ffdfd9; - --color-red-4: #ffd0c7; - --color-red-5: #ffbbad; - --color-red-6: #ff9e8b; - --color-red-7: #ff7f68; - --color-red-8: #f95d47; - --color-red-9: #ec3727; - --color-red-10: #d31a15; - --color-red-11: #b40202; - --color-red-12: #940303; - --color-red-13: #720000; - --color-orange-1: #fdf5e9; - --color-orange-2: #ffedcd; - --color-orange-3: #ffe0ae; - --color-orange-4: #fed392; - --color-orange-5: #febc64; - --color-orange-6: #ffa138; - --color-orange-7: #f78612; - --color-orange-8: #e57001; - --color-orange-9: #cc5e01; - --color-orange-10: #b24d01; - --color-orange-11: #963e01; - --color-orange-12: #7b3001; - --color-orange-13: #622401; - --color-yellow-1: #fbf7d4; - --color-yellow-2: #fdf5ad; - --color-yellow-3: #faec6d; - --color-yellow-4: #fade1e; - --color-yellow-5: #e9c701; - --color-yellow-6: #d8b401; - --color-yellow-7: #c5a001; - --color-yellow-8: #b18d01; - --color-yellow-9: #9c7901; - --color-yellow-10: #866701; - --color-yellow-11: #715401; - --color-yellow-12: #5c4401; - --color-yellow-13: #493401; - --color-green-1: #e9fce3; - --color-green-2: #cefdc0; - --color-green-3: #aff79e; - --color-green-4: #97ef86; - --color-green-5: #74e26c; - --color-green-6: #4fd051; - --color-green-7: #28bc37; - --color-green-8: #08a822; - --color-green-9: #019213; - --color-green-10: #017d10; - --color-green-11: #016810; - --color-green-12: #01540e; - --color-green-13: #01410b; - --color-teal-1: #e9faf8; - --color-teal-2: #cff8f4; - --color-teal-3: #abf2eb; - --color-teal-4: #8deae3; - --color-teal-5: #66dbd3; - --color-teal-6: #40cac2; - --color-teal-7: #10b6af; - --color-teal-8: #01a29b; - --color-teal-9: #018d88; - --color-teal-10: #017873; - --color-teal-11: #016460; - --color-teal-12: #0d504d; - --color-teal-13: #133d3b; - --color-blue-1: #f1f8fd; - --color-blue-2: #e1f3ff; - --color-blue-3: #cbe9ff; - --color-blue-4: #b6dfff; - --color-blue-5: #97cffe; - --color-blue-6: #79bcfb; - --color-blue-7: #5aa8f7; - --color-blue-8: #3993f4; - --color-blue-9: #157bf4; - --color-blue-10: #0366dd; - --color-blue-11: #0155b7; - --color-blue-12: #014592; - --color-blue-13: #013672; - --color-purple-1: #f9f5fd; - --color-purple-2: #f5eafe; - --color-purple-3: #eddcfe; - --color-purple-4: #e5cffe; - --color-purple-5: #dabafd; - --color-purple-6: #cba3fc; - --color-purple-7: #bc8afb; - --color-purple-8: #ad71f8; - --color-purple-9: #9c56f3; - --color-purple-10: #883ce6; - --color-purple-11: #7225d2; - --color-purple-12: #5c12b6; - --color-purple-13: #460b93; - --color-pink-1: #fdf5f7; - --color-pink-2: #ffebf2; - --color-pink-3: #ffdfeb; - --color-pink-4: #ffc8dc; - --color-pink-5: #feb2cd; - --color-pink-6: #ff98bf; - --color-pink-7: #fe78ac; - --color-pink-8: #ef5997; - --color-pink-9: #de387f; - --color-pink-10: #ca226a; - --color-pink-11: #af0956; - --color-pink-12: #8f0246; - --color-pink-13: #74043b; - --color-cyan-1: #e6fafd; - --color-cyan-2: #c6f9ff; - --color-cyan-3: #a5f1ff; - --color-cyan-4: #89e8fb; - --color-cyan-5: #61d9f4; - --color-cyan-6: #34c6e9; - --color-cyan-7: #13b1db; - --color-cyan-8: #029dc9; - --color-cyan-9: #0187b5; - --color-cyan-10: #0172a0; - --color-cyan-11: #015e8a; - --color-cyan-12: #014b74; - --color-cyan-13: #013a5e; - --fg-base: var(--color-gray-12); - --fg-base-soft: var(--color-gray-9); - --fg-base-disabled: var(--color-gray-7); - --fg-inverted: var(--color-gray-0); - --fg-warning: var(--color-yellow-9); - --fg-success: var(--color-green-9); - --fg-informational: var(--color-blue-9); - --fg-muted: var(--color-gray-11); - --fg-muted-hover: var(--color-gray-12); - --fg-muted-pressed: var(--color-gray-13); - --fg-accent: var(--color-blue-10); - --fg-accent-hover: var(--color-blue-11); - --fg-accent-pressed: var(--color-blue-12); - --fg-critical: var(--color-red-10); - --fg-critical-hover: var(--color-red-11); - --fg-critical-pressed: var(--color-red-12); - --bg-base: var(--color-gray-0); - --bg-base-disabled: color-mix(in srgb, var(--color-gray-12) 5%, transparent); - --bg-base-strong: var(--color-gray-3); - --bg-base-strong-disabled: var(--color-gray-6); - --bg-base-soft: var(--color-gray-1); - --bg-warning: var(--color-yellow-1); - --bg-success: var(--color-green-1); - --bg-informational: var(--color-blue-1); - --bg-inverted: var(--color-gray-12); - --bg-inverted-strong: color-mix( - in srgb, - var(--color-gray-12) 50%, - transparent - ); - --bg-muted: color-mix(in srgb, var(--color-gray-12) 5%, transparent); - --bg-muted-hover: color-mix(in srgb, var(--color-gray-12) 10%, transparent); - --bg-muted-pressed: color-mix( - in srgb, - var(--color-gray-12) 15%, - transparent - ); - --bg-muted-plain: color-mix(in srgb, var(--color-gray-12) 0%, transparent); - --bg-muted-plain-hover: color-mix( - in srgb, - var(--color-gray-12) 5%, - transparent - ); - --bg-muted-plain-pressed: color-mix( - in srgb, - var(--color-gray-12) 10%, - transparent - ); - --bg-accent: var(--color-blue-2); - --bg-accent-hover: var(--color-blue-3); - --bg-accent-pressed: var(--color-blue-4); - --bg-accent-plain: color-mix(in srgb, var(--color-blue-10) 0%, transparent); - --bg-accent-plain-hover: color-mix( - in srgb, - var(--color-blue-10) 5%, - transparent - ); - --bg-accent-plain-pressed: color-mix( - in srgb, - var(--color-blue-10) 10%, - transparent - ); - --bg-accent-strong: var(--color-blue-10); - --bg-accent-strong-hover: var(--color-blue-11); - --bg-accent-strong-pressed: var(--color-blue-12); - --bg-critical: var(--color-red-1); - --bg-critical-plain: color-mix(in srgb, var(--color-red-10) 0%, transparent); - --bg-critical-plain-hover: color-mix( - in srgb, - var(--color-red-10) 5%, - transparent - ); - --bg-critical-plain-pressed: color-mix( - in srgb, - var(--color-red-10) 10%, - transparent - ); - --bg-critical-strong: var(--color-red-10); - --bg-critical-strong-hover: var(--color-red-11); - --bg-critical-strong-pressed: var(--color-red-12); - --border-base: 1px solid var(--color-gray-3); - --border-base-disabled: 1px solid var(--color-gray-6); - --border-base-strong: 1px solid var(--color-gray-5); - --border-base-strong-hover: 1px solid var(--color-gray-6); - --border-success: 1px solid var(--color-green-3); - --border-informational: 1px solid var(--color-blue-3); - --border-warning: 1px solid var(--color-yellow-3); - --border-accent: 1px solid var(--color-blue-3); - --border-accent-strong: 1px solid var(--color-blue-10); - --border-accent-strong-hover: 1px solid var(--color-blue-11); - --border-critical: 1px solid var(--color-red-3); - --border-critical-strong: 1px solid var(--color-red-8); - --border-critical-strong-hover: 1px solid var(--color-red-9); - --radius-0: 0rem; - --radius-1: 0.25rem; - --radius-2: 0.5rem; - --radius-3: 0.75rem; - --radius-full: 9999rem; - --focus-ring-base: 0rem 0rem 0rem 0.0625rem var(--color-gray-0), 0rem 0rem - 0rem 0.1875rem var(--color-gray-5); - --focus-ring-critical: 0rem 0rem 0rem 0.0625rem var(--color-gray-0), 0rem - 0rem 0rem 0.1875rem var(--color-red-6); - --focus-ring-accent: 0rem 0rem 0rem 0.0625rem var(--color-gray-0), 0rem 0rem - 0rem 0.1875rem var(--color-blue-6); - --shadow-1: 0rem 0.25rem 1rem 0rem rgba(0, 0, 0, 0.16); - --shadow-2: 0rem 1.5rem 3rem 0rem rgba(0, 0, 0, 0.16); - --z-1: 0; - --z-2: 100; - --z-3: 200; - --z-4: 300; - --z-5: 400; - --z-6: 500; - --z-7: 600; - --z-8: 700; - --z-9: 800; - --z-10: 900; - --font-family-sans: - "Inter", -apple-system, system-ui, -apple-system, - Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, - BlinkMacSystemFont, sans-serif; - --font-weight-regular: 400; - --font-weight-medium: 500; - --font-weight-semibold: 600; - --font-size-1: 0.75rem; - --font-size-2: 0.875rem; - --font-size-3: 1rem; - --font-size-4: 1.25rem; - --font-size-5: 1.5rem; - --letter-spacing-1: 0rem; - --letter-spacing-2: -0.00875rem; - --letter-spacing-3: -0.02rem; - --letter-spacing-4: -0.04rem; - --line-height-1: 1rem; - --line-height-2: 1.25rem; - --line-height-3: 1.5rem; - --line-height-4: 1.75rem; - --line-height-5: 2rem; - --text-caption-1-font: var(--font-weight-medium) var(--font-size-1) / - var(--line-height-1) var(--font-family-sans); - --text-caption-1-letter-spacing: var(--letter-spacing-1); - --text-caption-2-font: var(--font-weight-regular) var(--font-size-1) / - var(--line-height-1) var(--font-family-sans); - --text-caption-2-letter-spacing: var(--letter-spacing-1); - --text-action-font: var(--font-weight-semibold) var(--font-size-2) / - var(--line-height-2) var(--font-family-sans); - --text-action-letter-spacing: var(--letter-spacing-1); - --text-emphasis-font: var(--font-weight-medium) var(--font-size-2) / - var(--line-height-2) var(--font-family-sans); - --text-emphasis-letter-spacing: var(--letter-spacing-1); - --text-body-font: var(--font-weight-regular) var(--font-size-2) / - var(--line-height-2) var(--font-family-sans); - --text-body-letter-spacing: var(--letter-spacing-1); - --text-display-1-font: var(--font-weight-semibold) var(--font-size-5) / - var(--line-height-5) var(--font-family-sans); - --text-display-1-letter-spacing: var(--letter-spacing-3); - --text-display-2-font: var(--font-weight-semibold) var(--font-size-4) / - var(--line-height-4) var(--font-family-sans); - --text-display-2-letter-spacing: var(--letter-spacing-3); - --text-display-3-font: var(--font-weight-semibold) var(--font-size-3) / - var(--line-height-3) var(--font-family-sans); - --text-display-3-letter-spacing: var(--letter-spacing-2); - --text-display-4-font: var(--font-weight-regular) var(--font-size-3) / - var(--line-height-3) var(--font-family-sans); - --text-display-4-letter-spacing: var(--letter-spacing-1); - } -} diff --git a/packages/shoreline/src/themes/sunrise/tokens.ts b/packages/shoreline/src/themes/sunrise/tokens.ts new file mode 100644 index 0000000000..2b68e1478e --- /dev/null +++ b/packages/shoreline/src/themes/sunrise/tokens.ts @@ -0,0 +1,1113 @@ +import { defineTokens } from '@vtex/shoreline-css' + +export default defineTokens({ + space: { + name: 'space', + description: + 'Defines the relationship between elements and makes the content more easily scannable.', + tokens: [ + { + name: 'space-0', + value: '0rem', + }, + { + name: 'space-1', + value: '.25rem', + }, + { + name: 'space-2', + value: '.5rem', + }, + { + name: 'space-3', + value: '.75rem', + }, + { + name: 'space-4', + value: '1rem', + }, + { + name: 'space-5', + value: '1.25rem', + }, + { + name: 'space-6', + value: '1.5rem', + }, + { + name: 'space-7', + value: '1.75rem', + }, + { + name: 'space-8', + value: '2rem', + }, + { + name: 'space-10', + value: '2.5rem', + }, + { + name: 'space-12', + value: '3rem', + }, + { + name: 'space-16', + value: '4rem', + }, + { + name: 'space-20', + value: '5rem', + }, + { + name: 'space-24', + value: '6rem', + }, + { + name: 'space-28', + value: '7rem', + }, + { + name: 'space-32', + value: '8rem', + }, + { + name: 'space-05', + value: '.125rem', + }, + { + name: 'space-gap', + value: 'var(--sl-space-4)', + }, + ], + }, + color: { + name: 'color', + tokens: [ + { + name: 'color-gray-0', + value: '#fff', + }, + { + name: 'color-gray-1', + value: '#f5f5f5', + }, + { + name: 'color-gray-2', + value: '#ebebeb', + }, + { + name: 'color-gray-3', + value: '#e0e0e0', + }, + { + name: 'color-gray-4', + value: '#d6d6d6', + }, + { + name: 'color-gray-5', + value: '#c2c2c2', + }, + { + name: 'color-gray-6', + value: '#adadad', + }, + { + name: 'color-gray-7', + value: '#999', + }, + { + name: 'color-gray-8', + value: '#858585', + }, + { + name: 'color-gray-9', + value: '#707070', + }, + { + name: 'color-gray-10', + value: '#5c5c5c', + }, + { + name: 'color-gray-11', + value: '#3d3d3d', + }, + { + name: 'color-gray-12', + value: '#1f1f1f', + }, + { + name: 'color-gray-13', + value: '#000', + }, + { + name: 'color-red-1', + value: '#fdf6f5', + }, + { + name: 'color-red-2', + value: '#ffedea', + }, + { + name: 'color-red-3', + value: '#ffdfd9', + }, + { + name: 'color-red-4', + value: '#ffd0c7', + }, + { + name: 'color-red-5', + value: '#ffbbad', + }, + { + name: 'color-red-6', + value: '#ff9e8b', + }, + { + name: 'color-red-7', + value: '#ff7f68', + }, + { + name: 'color-red-8', + value: '#f95d47', + }, + { + name: 'color-red-9', + value: '#ec3727', + }, + { + name: 'color-red-10', + value: '#d31a15', + }, + { + name: 'color-red-11', + value: '#b40202', + }, + { + name: 'color-red-12', + value: '#940303', + }, + { + name: 'color-red-13', + value: '#720000', + }, + { + name: 'color-orange-1', + value: '#fdf5e9', + }, + { + name: 'color-orange-2', + value: '#ffedcd', + }, + { + name: 'color-orange-3', + value: '#ffe0ae', + }, + { + name: 'color-orange-4', + value: '#fed392', + }, + { + name: 'color-orange-5', + value: '#febc64', + }, + { + name: 'color-orange-6', + value: '#ffa138', + }, + { + name: 'color-orange-7', + value: '#f78612', + }, + { + name: 'color-orange-8', + value: '#e57001', + }, + { + name: 'color-orange-9', + value: '#cc5e01', + }, + { + name: 'color-orange-10', + value: '#b24d01', + }, + { + name: 'color-orange-11', + value: '#963e01', + }, + { + name: 'color-orange-12', + value: '#7b3001', + }, + { + name: 'color-orange-13', + value: '#622401', + }, + { + name: 'color-yellow-1', + value: '#fbf7d4', + }, + { + name: 'color-yellow-2', + value: '#fdf5ad', + }, + { + name: 'color-yellow-3', + value: '#faec6d', + }, + { + name: 'color-yellow-4', + value: '#fade1e', + }, + { + name: 'color-yellow-5', + value: '#e9c701', + }, + { + name: 'color-yellow-6', + value: '#d8b401', + }, + { + name: 'color-yellow-7', + value: '#c5a001', + }, + { + name: 'color-yellow-8', + value: '#b18d01', + }, + { + name: 'color-yellow-9', + value: '#9c7901', + }, + { + name: 'color-yellow-10', + value: '#866701', + }, + { + name: 'color-yellow-11', + value: '#715401', + }, + { + name: 'color-yellow-12', + value: '#5c4401', + }, + { + name: 'color-yellow-13', + value: '#493401', + }, + { + name: 'color-green-1', + value: '#e9fce3', + }, + { + name: 'color-green-2', + value: '#cefdc0', + }, + { + name: 'color-green-3', + value: '#aff79e', + }, + { + name: 'color-green-4', + value: '#97ef86', + }, + { + name: 'color-green-5', + value: '#74e26c', + }, + { + name: 'color-green-6', + value: '#4fd051', + }, + { + name: 'color-green-7', + value: '#28bc37', + }, + { + name: 'color-green-8', + value: '#08a822', + }, + { + name: 'color-green-9', + value: '#019213', + }, + { + name: 'color-green-10', + value: '#017d10', + }, + { + name: 'color-green-11', + value: '#016810', + }, + { + name: 'color-green-12', + value: '#01540e', + }, + { + name: 'color-green-13', + value: '#01410b', + }, + { + name: 'color-teal-1', + value: '#e9faf8', + }, + { + name: 'color-teal-2', + value: '#cff8f4', + }, + { + name: 'color-teal-3', + value: '#abf2eb', + }, + { + name: 'color-teal-4', + value: '#8deae3', + }, + { + name: 'color-teal-5', + value: '#66dbd3', + }, + { + name: 'color-teal-6', + value: '#40cac2', + }, + { + name: 'color-teal-7', + value: '#10b6af', + }, + { + name: 'color-teal-8', + value: '#01a29b', + }, + { + name: 'color-teal-9', + value: '#018d88', + }, + { + name: 'color-teal-10', + value: '#017873', + }, + { + name: 'color-teal-11', + value: '#016460', + }, + { + name: 'color-teal-12', + value: '#0d504d', + }, + { + name: 'color-teal-13', + value: '#133d3b', + }, + { + name: 'color-blue-1', + value: '#f1f8fd', + }, + { + name: 'color-blue-2', + value: '#e1f3ff', + }, + { + name: 'color-blue-3', + value: '#cbe9ff', + }, + { + name: 'color-blue-4', + value: '#b6dfff', + }, + { + name: 'color-blue-5', + value: '#97cffe', + }, + { + name: 'color-blue-6', + value: '#79bcfb', + }, + { + name: 'color-blue-7', + value: '#5aa8f7', + }, + { + name: 'color-blue-8', + value: '#3993f4', + }, + { + name: 'color-blue-9', + value: '#157bf4', + }, + { + name: 'color-blue-10', + value: '#0366dd', + }, + { + name: 'color-blue-11', + value: '#0155b7', + }, + { + name: 'color-blue-12', + value: '#014592', + }, + { + name: 'color-blue-13', + value: '#013672', + }, + { + name: 'color-purple-1', + value: '#f9f5fd', + }, + { + name: 'color-purple-2', + value: '#f5eafe', + }, + { + name: 'color-purple-3', + value: '#eddcfe', + }, + { + name: 'color-purple-4', + value: '#e5cffe', + }, + { + name: 'color-purple-5', + value: '#dabafd', + }, + { + name: 'color-purple-6', + value: '#cba3fc', + }, + { + name: 'color-purple-7', + value: '#bc8afb', + }, + { + name: 'color-purple-8', + value: '#ad71f8', + }, + { + name: 'color-purple-9', + value: '#9c56f3', + }, + { + name: 'color-purple-10', + value: '#883ce6', + }, + { + name: 'color-purple-11', + value: '#7225d2', + }, + { + name: 'color-purple-12', + value: '#5c12b6', + }, + { + name: 'color-purple-13', + value: '#460b93', + }, + { + name: 'color-pink-1', + value: '#fdf5f7', + }, + { + name: 'color-pink-2', + value: '#ffebf2', + }, + { + name: 'color-pink-3', + value: '#ffdfeb', + }, + { + name: 'color-pink-4', + value: '#ffc8dc', + }, + { + name: 'color-pink-5', + value: '#feb2cd', + }, + { + name: 'color-pink-6', + value: '#ff98bf', + }, + { + name: 'color-pink-7', + value: '#fe78ac', + }, + { + name: 'color-pink-8', + value: '#ef5997', + }, + { + name: 'color-pink-9', + value: '#de387f', + }, + { + name: 'color-pink-10', + value: '#ca226a', + }, + { + name: 'color-pink-11', + value: '#af0956', + }, + { + name: 'color-pink-12', + value: '#8f0246', + }, + { + name: 'color-pink-13', + value: '#74043b', + }, + { + name: 'color-cyan-1', + value: '#e6fafd', + }, + { + name: 'color-cyan-2', + value: '#c6f9ff', + }, + { + name: 'color-cyan-3', + value: '#a5f1ff', + }, + { + name: 'color-cyan-4', + value: '#89e8fb', + }, + { + name: 'color-cyan-5', + value: '#61d9f4', + }, + { + name: 'color-cyan-6', + value: '#34c6e9', + }, + { + name: 'color-cyan-7', + value: '#13b1db', + }, + { + name: 'color-cyan-8', + value: '#029dc9', + }, + { + name: 'color-cyan-9', + value: '#0187b5', + }, + { + name: 'color-cyan-10', + value: '#0172a0', + }, + { + name: 'color-cyan-11', + value: '#015e8a', + }, + { + name: 'color-cyan-12', + value: '#014b74', + }, + { + name: 'color-cyan-13', + value: '#013a5e', + }, + { + name: 'fg-base', + value: 'var(--sl-color-gray-12)', + }, + { + name: 'fg-base-soft', + value: 'var(--sl-color-gray-9)', + }, + { + name: 'fg-base-disabled', + value: 'var(--sl-color-gray-7)', + }, + { + name: 'fg-inverted', + value: 'var(--sl-color-gray-0)', + }, + { + name: 'fg-warning', + value: 'var(--sl-color-yellow-9)', + }, + { + name: 'fg-success', + value: 'var(--sl-color-green-9)', + }, + { + name: 'fg-informational', + value: 'var(--sl-color-blue-9)', + }, + { + name: 'fg-muted', + value: 'var(--sl-color-gray-11)', + }, + { + name: 'fg-muted-hover', + value: 'var(--sl-color-gray-12)', + }, + { + name: 'fg-muted-pressed', + value: 'var(--sl-color-gray-13)', + }, + { + name: 'fg-accent', + value: 'var(--sl-color-blue-10)', + }, + { + name: 'fg-accent-hover', + value: 'var(--sl-color-blue-11)', + }, + { + name: 'fg-accent-pressed', + value: 'var(--sl-color-blue-12)', + }, + { + name: 'fg-critical', + value: 'var(--sl-color-red-10)', + }, + { + name: 'fg-critical-hover', + value: 'var(--sl-color-red-11)', + }, + { + name: 'fg-critical-pressed', + value: 'var(--sl-color-red-12)', + }, + { + name: 'bg-base', + value: 'var(--sl-color-gray-0)', + }, + { + name: 'bg-base-disabled', + value: 'color-mix(in srgb, var(--sl-color-gray-12) 5.0%, transparent)', + }, + { + name: 'bg-base-strong', + value: 'var(--sl-color-gray-3)', + }, + { + name: 'bg-base-strong-disabled', + value: 'var(--sl-color-gray-6)', + }, + { + name: 'bg-base-soft', + value: 'var(--sl-color-gray-1)', + }, + { + name: 'bg-warning', + value: 'var(--sl-color-yellow-1)', + }, + { + name: 'bg-success', + value: 'var(--sl-color-green-1)', + }, + { + name: 'bg-informational', + value: 'var(--sl-color-blue-1)', + }, + { + name: 'bg-inverted', + value: 'var(--sl-color-gray-12)', + }, + { + name: 'bg-inverted-strong', + value: 'color-mix(in srgb, var(--sl-color-gray-12) 50.0%, transparent)', + }, + { + name: 'bg-muted', + value: 'color-mix(in srgb, var(--sl-color-gray-12) 5.0%, transparent)', + }, + { + name: 'bg-muted-hover', + value: 'color-mix(in srgb, var(--sl-color-gray-12) 10.0%, transparent)', + }, + { + name: 'bg-muted-pressed', + value: 'color-mix(in srgb, var(--sl-color-gray-12) 15%, transparent)', + }, + { + name: 'bg-muted-plain', + value: 'color-mix(in srgb, var(--sl-color-gray-12) 0.0%, transparent)', + }, + { + name: 'bg-muted-plain-hover', + value: 'color-mix(in srgb, var(--sl-color-gray-12) 5.0%, transparent)', + }, + { + name: 'bg-muted-plain-pressed', + value: 'color-mix(in srgb, var(--sl-color-gray-12) 10.0%, transparent)', + }, + { + name: 'bg-accent', + value: 'var(--sl-color-blue-2)', + }, + { + name: 'bg-accent-hover', + value: 'var(--sl-color-blue-3)', + }, + { + name: 'bg-accent-pressed', + value: 'var(--sl-color-blue-4)', + }, + { + name: 'bg-accent-plain', + value: 'color-mix(in srgb, var(--sl-color-blue-10) 0.0%, transparent)', + }, + { + name: 'bg-accent-plain-hover', + value: 'color-mix(in srgb, var(--sl-color-blue-10) 5.0%, transparent)', + }, + { + name: 'bg-accent-plain-pressed', + value: 'color-mix(in srgb, var(--sl-color-blue-10) 10.0%, transparent)', + }, + { + name: 'bg-accent-strong', + value: 'var(--sl-color-blue-10)', + }, + { + name: 'bg-accent-strong-hover', + value: 'var(--sl-color-blue-11)', + }, + { + name: 'bg-accent-strong-pressed', + value: 'var(--sl-color-blue-12)', + }, + { + name: 'bg-critical', + value: 'var(--sl-color-red-1)', + }, + { + name: 'bg-critical-plain', + value: 'color-mix(in srgb, var(--sl-color-red-10) 0.0%, transparent)', + }, + { + name: 'bg-critical-plain-hover', + value: 'color-mix(in srgb, var(--sl-color-red-10) 5.0%, transparent)', + }, + { + name: 'bg-critical-plain-pressed', + value: 'color-mix(in srgb, var(--sl-color-red-10) 10.0%, transparent)', + }, + { + name: 'bg-critical-strong', + value: 'var(--sl-color-red-10)', + }, + { + name: 'bg-critical-strong-hover', + value: 'var(--sl-color-red-11)', + }, + { + name: 'bg-critical-strong-pressed', + value: 'var(--sl-color-red-12)', + }, + ], + }, + border: { + name: 'border', + tokens: [ + { + name: 'border-base', + value: '1px solid var(--sl-color-gray-3)', + }, + { + name: 'border-base-disabled', + value: '1px solid var(--sl-color-gray-6)', + }, + { + name: 'border-base-strong', + value: '1px solid var(--sl-color-gray-5)', + }, + { + name: 'border-base-strong-hover', + value: '1px solid var(--sl-color-gray-6)', + }, + { + name: 'border-success', + value: '1px solid var(--sl-color-green-3)', + }, + { + name: 'border-informational', + value: '1px solid var(--sl-color-blue-3)', + }, + { + name: 'border-warning', + value: '1px solid var(--sl-color-yellow-3)', + }, + { + name: 'border-accent', + value: '1px solid var(--sl-color-blue-3)', + }, + { + name: 'border-accent-strong', + value: '1px solid var(--sl-color-blue-10)', + }, + { + name: 'border-accent-strong-hover', + value: '1px solid var(--sl-color-blue-11)', + }, + { + name: 'border-critical', + value: '1px solid var(--sl-color-red-3)', + }, + { + name: 'border-critical-strong', + value: '1px solid var(--sl-color-red-8)', + }, + { + name: 'border-critical-strong-hover', + value: '1px solid var(--sl-color-red-9)', + }, + ], + }, + radius: { + name: 'radius', + tokens: [ + { + name: 'radius-0', + value: '0rem', + }, + { + name: 'radius-1', + value: '.25rem', + }, + { + name: 'radius-2', + value: '.5rem', + }, + { + name: 'radius-3', + value: '.75rem', + }, + { + name: 'radius-full', + value: '9999rem', + }, + ], + }, + elevation: { + name: 'elevation', + tokens: [ + { + name: 'focus-ring-base', + value: + '0rem 0rem 0rem .0625rem var(--sl-color-gray-0), 0rem 0rem 0rem .1875rem var(--sl-color-gray-5)', + }, + { + name: 'focus-ring-critical', + value: + '0rem 0rem 0rem .0625rem var(--sl-color-gray-0), 0rem 0rem 0rem .1875rem var(--sl-color-red-6)', + }, + { + name: 'focus-ring-accent', + value: + '0rem 0rem 0rem .0625rem var(--sl-color-gray-0), 0rem 0rem 0rem .1875rem var(--sl-color-blue-6)', + }, + { + name: 'shadow-1', + value: '0rem .25rem 1rem 0rem rgba(0, 0, 0, .16)', + }, + { + name: 'shadow-2', + value: '0rem 1.5rem 3rem 0rem rgba(0, 0, 0, .16)', + }, + { + name: 'z-1', + value: '0', + }, + { + name: 'z-2', + value: '100', + }, + { + name: 'z-3', + value: '200', + }, + { + name: 'z-4', + value: '300', + }, + { + name: 'z-5', + value: '400', + }, + { + name: 'z-6', + value: '500', + }, + { + name: 'z-7', + value: '600', + }, + { + name: 'z-8', + value: '700', + }, + { + name: 'z-9', + value: '800', + }, + { + name: 'z-10', + value: '900', + }, + ], + }, + typography: { + name: 'typography', + tokens: [ + { + name: 'font-family-sans', + value: + '"Inter", -apple-system, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont, sans-serif', + }, + { + name: 'font-weight-regular', + value: '400', + }, + { + name: 'font-weight-medium', + value: '500', + }, + { + name: 'font-weight-semibold', + value: '600', + }, + { + name: 'font-size-1', + value: '.75rem', + }, + { + name: 'font-size-2', + value: '.875rem', + }, + { + name: 'font-size-3', + value: '1rem', + }, + { + name: 'font-size-4', + value: '1.25rem', + }, + { + name: 'font-size-5', + value: '1.5rem', + }, + { + name: 'letter-spacing-1', + value: '0rem', + }, + { + name: 'letter-spacing-2', + value: '-.00875rem', + }, + { + name: 'letter-spacing-3', + value: '-.02rem', + }, + { + name: 'letter-spacing-4', + value: '-.04rem', + }, + { + name: 'line-height-1', + value: '1rem', + }, + { + name: 'line-height-2', + value: '1.25rem', + }, + { + name: 'line-height-3', + value: '1.5rem', + }, + { + name: 'line-height-4', + value: '1.75rem', + }, + { + name: 'line-height-5', + value: '2rem', + }, + { + name: 'text-caption-1-font', + value: + 'var(--sl-font-weight-medium) var(--sl-font-size-1) / var(--sl-line-height-1) var(--sl-font-family-sans)', + }, + { + name: 'text-caption-1-letter-spacing', + value: 'var(--sl-letter-spacing-1)', + }, + { + name: 'text-caption-2-font', + value: + 'var(--sl-font-weight-regular) var(--sl-font-size-1) / var(--sl-line-height-1) var(--sl-font-family-sans)', + }, + { + name: 'text-caption-2-letter-spacing', + value: 'var(--sl-letter-spacing-1)', + }, + { + name: 'text-action-font', + value: + 'var(--sl-font-weight-semibold) var(--sl-font-size-2) / var(--sl-line-height-2) var(--sl-font-family-sans)', + }, + { + name: 'text-action-letter-spacing', + value: 'var(--sl-letter-spacing-1)', + }, + { + name: 'text-emphasis-font', + value: + 'var(--sl-font-weight-medium) var(--sl-font-size-2) / var(--sl-line-height-2) var(--sl-font-family-sans)', + }, + { + name: 'text-emphasis-letter-spacing', + value: 'var(--sl-letter-spacing-1)', + }, + { + name: 'text-body-font', + value: + 'var(--sl-font-weight-regular) var(--sl-font-size-2) / var(--sl-line-height-2) var(--sl-font-family-sans)', + }, + { + name: 'text-body-letter-spacing', + value: 'var(--sl-letter-spacing-1)', + }, + { + name: 'text-display-1-font', + value: + 'var(--sl-font-weight-semibold) var(--sl-font-size-5) / var(--sl-line-height-5) var(--sl-font-family-sans)', + }, + { + name: 'text-display-1-letter-spacing', + value: 'var(--sl-letter-spacing-3)', + }, + { + name: 'text-display-2-font', + value: + 'var(--sl-font-weight-semibold) var(--sl-font-size-4) / var(--sl-line-height-4) var(--sl-font-family-sans)', + }, + { + name: 'text-display-2-letter-spacing', + value: 'var(--sl-letter-spacing-3)', + }, + { + name: 'text-display-3-font', + value: + 'var(--sl-font-weight-semibold) var(--sl-font-size-3) / var(--sl-line-height-3) var(--sl-font-family-sans)', + }, + { + name: 'text-display-3-letter-spacing', + value: 'var(--sl-letter-spacing-2)', + }, + { + name: 'text-display-4-font', + value: + 'var(--sl-font-weight-regular) var(--sl-font-size-3) / var(--sl-line-height-3) var(--sl-font-family-sans)', + }, + { + name: 'text-display-4-letter-spacing', + value: 'var(--sl-letter-spacing-1)', + }, + ], + }, +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fab82a587a..a1eba91f3d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -156,13 +156,22 @@ importers: browserslist: specifier: 4.23.1 version: 4.23.1 + cssesc: + specifier: ^3.0.0 + version: 3.0.0 fs-extra: specifier: 11.1.1 version: 11.1.1 lightningcss: specifier: 1.25.1 version: 1.25.1 + ora: + specifier: ^8.1.0 + version: 8.1.0 devDependencies: + '@types/cssesc': + specifier: ^3.0.2 + version: 3.0.2 '@types/fs-extra': specifier: 11.0.1 version: 11.0.1 @@ -284,6 +293,9 @@ importers: react-hot-toast: specifier: 2.4.1 version: 2.4.1(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + tsx: + specifier: ^4.19.1 + version: 4.19.1 typescript: specifier: '>=5' version: 5.5.2 @@ -324,9 +336,6 @@ importers: react-window: specifier: 1.8.10 version: 1.8.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - sucrase: - specifier: ' 3.35.0' - version: 3.35.0 packages/test-utils: dependencies: @@ -807,6 +816,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.23.1': + resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.19.12': resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} engines: {node: '>=12'} @@ -825,6 +840,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.23.1': + resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.19.12': resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} engines: {node: '>=12'} @@ -843,6 +864,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.23.1': + resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.19.12': resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} engines: {node: '>=12'} @@ -861,6 +888,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.23.1': + resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.19.12': resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} engines: {node: '>=12'} @@ -879,6 +912,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.23.1': + resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.19.12': resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} engines: {node: '>=12'} @@ -897,6 +936,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.23.1': + resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.19.12': resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} engines: {node: '>=12'} @@ -915,6 +960,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.23.1': + resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.19.12': resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} engines: {node: '>=12'} @@ -933,6 +984,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.23.1': + resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.19.12': resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} engines: {node: '>=12'} @@ -951,6 +1008,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.23.1': + resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.19.12': resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} engines: {node: '>=12'} @@ -969,6 +1032,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.23.1': + resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.19.12': resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} engines: {node: '>=12'} @@ -987,6 +1056,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.23.1': + resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.19.12': resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} engines: {node: '>=12'} @@ -1005,6 +1080,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.23.1': + resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.19.12': resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} engines: {node: '>=12'} @@ -1023,6 +1104,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.23.1': + resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.19.12': resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} engines: {node: '>=12'} @@ -1041,6 +1128,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.23.1': + resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.19.12': resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} engines: {node: '>=12'} @@ -1059,6 +1152,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.23.1': + resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.19.12': resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} engines: {node: '>=12'} @@ -1077,6 +1176,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.23.1': + resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.19.12': resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} engines: {node: '>=12'} @@ -1095,6 +1200,12 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.23.1': + resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-x64@0.19.12': resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} engines: {node: '>=12'} @@ -1113,6 +1224,18 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.23.1': + resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.23.1': + resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.19.12': resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} engines: {node: '>=12'} @@ -1131,6 +1254,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.23.1': + resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/sunos-x64@0.19.12': resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} engines: {node: '>=12'} @@ -1149,6 +1278,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.23.1': + resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.19.12': resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} engines: {node: '>=12'} @@ -1167,6 +1302,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.23.1': + resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.19.12': resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} engines: {node: '>=12'} @@ -1185,6 +1326,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.23.1': + resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.19.12': resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} engines: {node: '>=12'} @@ -1203,6 +1350,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.23.1': + resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@faker-js/faker@8.4.1': resolution: {integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13'} @@ -3308,6 +3461,9 @@ packages: '@types/conventional-commits-parser@5.0.0': resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==} + '@types/cssesc@3.0.2': + resolution: {integrity: sha512-Qii6nTRktvtI380EloxH/V7MwgrYxkPgBI+NklUjQuhzgAd1AqT3QDJd+eD+0doRADgfwvtagLRo7JFa7aMHXg==} + '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -4226,6 +4382,10 @@ packages: resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} + cli-spinners@2.6.1: resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} engines: {node: '>=6'} @@ -5020,6 +5180,9 @@ packages: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} + emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -5115,6 +5278,11 @@ packages: engines: {node: '>=12'} hasBin: true + esbuild@0.23.1: + resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} + engines: {node: '>=18'} + hasBin: true + escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -5527,6 +5695,10 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + get-east-asian-width@1.3.0: + resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} + engines: {node: '>=18'} + get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} @@ -5571,6 +5743,9 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} + get-tsconfig@4.8.1: + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} + git-raw-commits@2.0.11: resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} engines: {node: '>=10'} @@ -6269,6 +6444,10 @@ packages: resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} engines: {node: '>=12'} + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + is-utf8@0.2.1: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} @@ -6891,6 +7070,10 @@ packages: resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} engines: {node: '>=12'} + log-symbols@6.0.0: + resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} + engines: {node: '>=18'} + log-update@1.0.2: resolution: {integrity: sha512-4vSow8gbiGnwdDNrpy1dyNaXWKSCIPop0EHdE8GrnngHoJujM3QhvHUN/igsYCgPoHo7pFOezlJ61Hlln0KHyA==} engines: {node: '>=0.10.0'} @@ -7257,6 +7440,10 @@ packages: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -7686,6 +7873,10 @@ packages: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + oniguruma-to-js@0.4.3: resolution: {integrity: sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==} @@ -7709,6 +7900,10 @@ packages: resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + ora@8.1.0: + resolution: {integrity: sha512-GQEkNkH/GHOhPFXcqZs3IDahXEQcQxsSjEkK4KvEEST4t7eNzoMjxTzef+EZ+JluDEV+Raoi3WQ2CflnRdSVnQ==} + engines: {node: '>=18'} + os-homedir@1.0.2: resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} engines: {node: '>=0.10.0'} @@ -8563,6 +8758,9 @@ packages: resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} engines: {node: '>=8'} + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolve.exports@2.0.2: resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} engines: {node: '>=10'} @@ -8583,6 +8781,10 @@ packages: resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} + retext-latin@4.0.0: resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==} @@ -8945,6 +9147,10 @@ packages: resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + stdin-discarder@0.2.2: + resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} + engines: {node: '>=18'} + stop-iteration-iterator@1.0.0: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} @@ -8981,6 +9187,10 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} @@ -9332,6 +9542,11 @@ packages: typescript: optional: true + tsx@4.19.1: + resolution: {integrity: sha512-0flMz1lh74BR4wOvBjuh9olbnwqCPc35OOlfyzHba0Dc+QNUeWX/Gq2YTbnwcWPO3BMd8fkzRVrHcsR+a7z7rA==} + engines: {node: '>=18.0.0'} + hasBin: true + tuf-js@1.1.7: resolution: {integrity: sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -10564,6 +10779,9 @@ snapshots: '@esbuild/aix-ppc64@0.21.5': optional: true + '@esbuild/aix-ppc64@0.23.1': + optional: true + '@esbuild/android-arm64@0.19.12': optional: true @@ -10573,6 +10791,9 @@ snapshots: '@esbuild/android-arm64@0.21.5': optional: true + '@esbuild/android-arm64@0.23.1': + optional: true + '@esbuild/android-arm@0.19.12': optional: true @@ -10582,6 +10803,9 @@ snapshots: '@esbuild/android-arm@0.21.5': optional: true + '@esbuild/android-arm@0.23.1': + optional: true + '@esbuild/android-x64@0.19.12': optional: true @@ -10591,6 +10815,9 @@ snapshots: '@esbuild/android-x64@0.21.5': optional: true + '@esbuild/android-x64@0.23.1': + optional: true + '@esbuild/darwin-arm64@0.19.12': optional: true @@ -10600,6 +10827,9 @@ snapshots: '@esbuild/darwin-arm64@0.21.5': optional: true + '@esbuild/darwin-arm64@0.23.1': + optional: true + '@esbuild/darwin-x64@0.19.12': optional: true @@ -10609,6 +10839,9 @@ snapshots: '@esbuild/darwin-x64@0.21.5': optional: true + '@esbuild/darwin-x64@0.23.1': + optional: true + '@esbuild/freebsd-arm64@0.19.12': optional: true @@ -10618,6 +10851,9 @@ snapshots: '@esbuild/freebsd-arm64@0.21.5': optional: true + '@esbuild/freebsd-arm64@0.23.1': + optional: true + '@esbuild/freebsd-x64@0.19.12': optional: true @@ -10627,6 +10863,9 @@ snapshots: '@esbuild/freebsd-x64@0.21.5': optional: true + '@esbuild/freebsd-x64@0.23.1': + optional: true + '@esbuild/linux-arm64@0.19.12': optional: true @@ -10636,6 +10875,9 @@ snapshots: '@esbuild/linux-arm64@0.21.5': optional: true + '@esbuild/linux-arm64@0.23.1': + optional: true + '@esbuild/linux-arm@0.19.12': optional: true @@ -10645,6 +10887,9 @@ snapshots: '@esbuild/linux-arm@0.21.5': optional: true + '@esbuild/linux-arm@0.23.1': + optional: true + '@esbuild/linux-ia32@0.19.12': optional: true @@ -10654,6 +10899,9 @@ snapshots: '@esbuild/linux-ia32@0.21.5': optional: true + '@esbuild/linux-ia32@0.23.1': + optional: true + '@esbuild/linux-loong64@0.19.12': optional: true @@ -10663,6 +10911,9 @@ snapshots: '@esbuild/linux-loong64@0.21.5': optional: true + '@esbuild/linux-loong64@0.23.1': + optional: true + '@esbuild/linux-mips64el@0.19.12': optional: true @@ -10672,6 +10923,9 @@ snapshots: '@esbuild/linux-mips64el@0.21.5': optional: true + '@esbuild/linux-mips64el@0.23.1': + optional: true + '@esbuild/linux-ppc64@0.19.12': optional: true @@ -10681,6 +10935,9 @@ snapshots: '@esbuild/linux-ppc64@0.21.5': optional: true + '@esbuild/linux-ppc64@0.23.1': + optional: true + '@esbuild/linux-riscv64@0.19.12': optional: true @@ -10690,6 +10947,9 @@ snapshots: '@esbuild/linux-riscv64@0.21.5': optional: true + '@esbuild/linux-riscv64@0.23.1': + optional: true + '@esbuild/linux-s390x@0.19.12': optional: true @@ -10699,6 +10959,9 @@ snapshots: '@esbuild/linux-s390x@0.21.5': optional: true + '@esbuild/linux-s390x@0.23.1': + optional: true + '@esbuild/linux-x64@0.19.12': optional: true @@ -10708,6 +10971,9 @@ snapshots: '@esbuild/linux-x64@0.21.5': optional: true + '@esbuild/linux-x64@0.23.1': + optional: true + '@esbuild/netbsd-x64@0.19.12': optional: true @@ -10717,6 +10983,12 @@ snapshots: '@esbuild/netbsd-x64@0.21.5': optional: true + '@esbuild/netbsd-x64@0.23.1': + optional: true + + '@esbuild/openbsd-arm64@0.23.1': + optional: true + '@esbuild/openbsd-x64@0.19.12': optional: true @@ -10726,6 +10998,9 @@ snapshots: '@esbuild/openbsd-x64@0.21.5': optional: true + '@esbuild/openbsd-x64@0.23.1': + optional: true + '@esbuild/sunos-x64@0.19.12': optional: true @@ -10735,6 +11010,9 @@ snapshots: '@esbuild/sunos-x64@0.21.5': optional: true + '@esbuild/sunos-x64@0.23.1': + optional: true + '@esbuild/win32-arm64@0.19.12': optional: true @@ -10744,6 +11022,9 @@ snapshots: '@esbuild/win32-arm64@0.21.5': optional: true + '@esbuild/win32-arm64@0.23.1': + optional: true + '@esbuild/win32-ia32@0.19.12': optional: true @@ -10753,6 +11034,9 @@ snapshots: '@esbuild/win32-ia32@0.21.5': optional: true + '@esbuild/win32-ia32@0.23.1': + optional: true + '@esbuild/win32-x64@0.19.12': optional: true @@ -10762,6 +11046,9 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true + '@esbuild/win32-x64@0.23.1': + optional: true + '@faker-js/faker@8.4.1': {} '@floating-ui/core@1.6.2': @@ -13491,6 +13778,8 @@ snapshots: '@types/node': 20.14.9 optional: true + '@types/cssesc@3.0.2': {} + '@types/debug@4.1.12': dependencies: '@types/ms': 0.7.34 @@ -14541,6 +14830,10 @@ snapshots: dependencies: restore-cursor: 4.0.0 + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + cli-spinners@2.6.1: {} cli-spinners@2.9.2: {} @@ -15381,6 +15674,8 @@ snapshots: emittery@0.13.1: {} + emoji-regex@10.4.0: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -15555,6 +15850,33 @@ snapshots: '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 + esbuild@0.23.1: + optionalDependencies: + '@esbuild/aix-ppc64': 0.23.1 + '@esbuild/android-arm': 0.23.1 + '@esbuild/android-arm64': 0.23.1 + '@esbuild/android-x64': 0.23.1 + '@esbuild/darwin-arm64': 0.23.1 + '@esbuild/darwin-x64': 0.23.1 + '@esbuild/freebsd-arm64': 0.23.1 + '@esbuild/freebsd-x64': 0.23.1 + '@esbuild/linux-arm': 0.23.1 + '@esbuild/linux-arm64': 0.23.1 + '@esbuild/linux-ia32': 0.23.1 + '@esbuild/linux-loong64': 0.23.1 + '@esbuild/linux-mips64el': 0.23.1 + '@esbuild/linux-ppc64': 0.23.1 + '@esbuild/linux-riscv64': 0.23.1 + '@esbuild/linux-s390x': 0.23.1 + '@esbuild/linux-x64': 0.23.1 + '@esbuild/netbsd-x64': 0.23.1 + '@esbuild/openbsd-arm64': 0.23.1 + '@esbuild/openbsd-x64': 0.23.1 + '@esbuild/sunos-x64': 0.23.1 + '@esbuild/win32-arm64': 0.23.1 + '@esbuild/win32-ia32': 0.23.1 + '@esbuild/win32-x64': 0.23.1 + escalade@3.1.2: {} escape-html@1.0.3: {} @@ -16052,6 +16374,8 @@ snapshots: get-caller-file@2.0.5: {} + get-east-asian-width@1.3.0: {} + get-func-name@2.0.2: {} get-intrinsic@1.2.4: @@ -16085,6 +16409,10 @@ snapshots: get-stream@8.0.1: {} + get-tsconfig@4.8.1: + dependencies: + resolve-pkg-maps: 1.0.0 + git-raw-commits@2.0.11: dependencies: dargs: 7.0.0 @@ -16934,6 +17262,8 @@ snapshots: is-unicode-supported@1.3.0: {} + is-unicode-supported@2.1.0: {} + is-utf8@0.2.1: {} is-weakmap@2.0.2: {} @@ -17848,6 +18178,11 @@ snapshots: chalk: 5.3.0 is-unicode-supported: 1.3.0 + log-symbols@6.0.0: + dependencies: + chalk: 5.3.0 + is-unicode-supported: 1.3.0 + log-update@1.0.2: dependencies: ansi-escapes: 1.4.0 @@ -18553,6 +18888,8 @@ snapshots: mimic-fn@4.0.0: {} + mimic-function@5.0.1: {} + min-indent@1.0.1: {} minimatch@3.0.5: @@ -19145,6 +19482,10 @@ snapshots: dependencies: mimic-fn: 4.0.0 + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + oniguruma-to-js@0.4.3: dependencies: regex: 4.3.3 @@ -19192,6 +19533,18 @@ snapshots: strip-ansi: 7.1.0 wcwidth: 1.0.1 + ora@8.1.0: + dependencies: + chalk: 5.3.0 + cli-cursor: 5.0.0 + cli-spinners: 2.9.2 + is-interactive: 2.0.0 + is-unicode-supported: 2.1.0 + log-symbols: 6.0.0 + stdin-discarder: 0.2.2 + string-width: 7.2.0 + strip-ansi: 7.1.0 + os-homedir@1.0.2: {} os-tmpdir@1.0.2: {} @@ -20147,6 +20500,8 @@ snapshots: dependencies: global-dirs: 0.1.1 + resolve-pkg-maps@1.0.0: {} + resolve.exports@2.0.2: {} resolve@1.22.8: @@ -20170,6 +20525,11 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 + retext-latin@4.0.0: dependencies: '@types/nlcst': 2.0.3 @@ -20635,6 +20995,8 @@ snapshots: dependencies: bl: 5.1.0 + stdin-discarder@0.2.2: {} + stop-iteration-iterator@1.0.0: dependencies: internal-slot: 1.0.7 @@ -20679,6 +21041,12 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 + string-width@7.2.0: + dependencies: + emoji-regex: 10.4.0 + get-east-asian-width: 1.3.0 + strip-ansi: 7.1.0 + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 @@ -21005,6 +21373,13 @@ snapshots: - supports-color - ts-node + tsx@4.19.1: + dependencies: + esbuild: 0.23.1 + get-tsconfig: 4.8.1 + optionalDependencies: + fsevents: 2.3.3 + tuf-js@1.1.7: dependencies: '@tufjs/models': 1.0.4