diff --git a/.stylelintrc.json b/.stylelintrc.json
index 6abc524964..ff0515b89f 100644
--- a/.stylelintrc.json
+++ b/.stylelintrc.json
@@ -34,6 +34,7 @@
"color-function-notation": "legacy",
"value-keyword-case": ["lower", {
"ignoreProperties": ["/font-family/"]
- }]
+ }],
+ "custom-property-empty-line-before": null
}
}
diff --git a/Makefile b/Makefile
index d6dc6ff320..8fb1778064 100644
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,4 @@
+.PHONY: build
build:
rm -rf ./dist
tsc --project tsconfig.build.json
diff --git a/bin/paragon-scripts.js b/bin/paragon-scripts.js
index a029b19564..7656f3bdfb 100755
--- a/bin/paragon-scripts.js
+++ b/bin/paragon-scripts.js
@@ -85,11 +85,21 @@ const COMMANDS = {
description: 'Include only source design tokens in the build.',
defaultValue: false,
},
+ {
+ name: '--output-token-references',
+ description: 'Include references for tokens with aliases to other tokens in the build output.',
+ defaultValue: true,
+ },
{
name: '-t, --themes',
description: 'Specify themes to include in the token build.',
defaultValue: 'light',
},
+ {
+ name: '-v, --verbose',
+ description: 'Enable verbose logging.',
+ defaultValue: false,
+ },
],
},
'replace-variables': {
diff --git a/lib/build-tokens.js b/lib/build-tokens.js
index e2e04d60ae..3e10b37593 100755
--- a/lib/build-tokens.js
+++ b/lib/build-tokens.js
@@ -1,6 +1,10 @@
const path = require('path');
const minimist = require('minimist');
-const { StyleDictionary, colorTransform, createCustomCSSVariables } = require('../tokens/style-dictionary');
+const {
+ initializeStyleDictionary,
+ getTokensStudioTransforms,
+ colorTransform,
+} = require('../tokens/style-dictionary');
const { createIndexCssFile } = require('../tokens/utils');
/**
@@ -16,19 +20,34 @@ async function buildTokensCommand(commandArgs) {
const defaultParams = {
themes: ['light'],
'build-dir': './build/',
+ 'source-tokens-only': false,
+ 'output-references': true,
+ verbose: false,
};
const alias = {
'build-dir': 'b',
themes: 't',
+ verbose: '-v',
};
const {
'build-dir': buildDir,
source: tokensSource,
- 'source-tokens-only': hasSourceTokensOnly,
+ 'source-tokens-only': transformSourceTokensOnly,
+ 'output-references': outputReferences,
themes,
- } = minimist(commandArgs, { alias, default: defaultParams, boolean: 'source-tokens-only' });
+ verbose,
+ } = minimist(
+ commandArgs,
+ {
+ alias,
+ default: defaultParams,
+ boolean: ['source-tokens-only', 'output-references', 'verbose'],
+ },
+ );
+
+ const StyleDictionary = await initializeStyleDictionary({ themes });
const coreConfig = {
include: [
@@ -38,36 +57,42 @@ async function buildTokensCommand(commandArgs) {
source: tokensSource
? [`${tokensSource}/core/**/*.json`, `${tokensSource}/core/**/*.toml`]
: [],
+ preprocessors: ['pgn-annotate-token-extensions-with-references', 'tokens-studio'],
+ expand: {
+ typesMap: (await getTokensStudioTransforms()).expandTypesMap,
+ },
platforms: {
css: {
prefix: 'pgn',
- transformGroup: 'css',
+ transformGroup: 'paragon-css',
// NOTE: buildPath must end with a slash
buildPath: buildDir.slice(-1) === '/' ? buildDir : `${buildDir}/`,
+ options: {
+ fileHeader: 'customFileHeader',
+ },
files: [
{
format: 'css/custom-variables',
destination: 'core/variables.css',
- filter: hasSourceTokensOnly ? 'isSource' : undefined,
+ filter: transformSourceTokensOnly ? 'isSource' : undefined,
options: {
- outputReferences: !hasSourceTokensOnly,
+ outputReferences,
},
},
{
format: 'css/custom-media-breakpoints',
destination: 'core/custom-media-breakpoints.css',
- filter: hasSourceTokensOnly ? 'isSource' : undefined,
+ filter: transformSourceTokensOnly ? 'isSource' : undefined,
options: {
- outputReferences: !hasSourceTokensOnly,
+ outputReferences,
},
},
],
- transforms: StyleDictionary.transformGroup.css.filter(item => item !== 'size/rem').concat('color/sass-color-functions', 'str-replace'),
- options: {
- fileHeader: 'customFileHeader',
- },
},
},
+ log: {
+ verbosity: verbose ? 'verbose' : 'default',
+ },
};
const getStyleDictionaryConfig = (themeVariant) => ({
@@ -85,16 +110,10 @@ async function buildTokensCommand(commandArgs) {
: [],
transform: {
'color/sass-color-functions': {
- ...StyleDictionary.transform['color/sass-color-functions'],
- transformer: (token) => colorTransform(token, themeVariant),
+ ...StyleDictionary.hooks.transforms['color/sass-color-functions'],
+ transform: (token) => colorTransform(token, themeVariant),
},
},
- format: {
- 'css/custom-variables': formatterArgs => createCustomCSSVariables({
- formatterArgs,
- themeVariant,
- }),
- },
platforms: {
css: {
...coreConfig.platforms.css,
@@ -102,17 +121,19 @@ async function buildTokensCommand(commandArgs) {
{
format: 'css/custom-variables',
destination: `themes/${themeVariant}/variables.css`,
- filter: hasSourceTokensOnly ? 'isSource' : undefined,
+ filter: transformSourceTokensOnly
+ ? `isSource.${themeVariant}`
+ : `isThemeVariant.${themeVariant}`,
options: {
- outputReferences: !hasSourceTokensOnly,
+ outputReferences,
},
},
{
format: 'css/utility-classes',
destination: `themes/${themeVariant}/utility-classes.css`,
- filter: hasSourceTokensOnly ? 'isSource' : undefined,
+ filter: transformSourceTokensOnly ? 'isSource' : undefined,
options: {
- outputReferences: !hasSourceTokensOnly,
+ outputReferences,
},
},
],
@@ -120,14 +141,29 @@ async function buildTokensCommand(commandArgs) {
},
});
- StyleDictionary.extend(coreConfig).buildAllPlatforms();
- createIndexCssFile({ buildDir, isTheme: false });
+ // Create list of style-dictionary configurations to build (core + theme variants)
+ const configs = [
+ { config: coreConfig },
+ ...themes.map((themeVariant) => {
+ const config = getStyleDictionaryConfig(themeVariant);
+ return {
+ config,
+ themeVariant,
+ };
+ }),
+ ];
- themes.forEach((themeVariant) => {
- const config = getStyleDictionaryConfig(themeVariant);
- StyleDictionary.extend(config).buildAllPlatforms();
- createIndexCssFile({ buildDir, isTheme: true, themeVariant });
- });
+ // Build tokens for each configuration
+ await Promise.all(configs.map(async ({ config, themeVariant }) => {
+ const sd = new StyleDictionary(config);
+ await sd.cleanAllPlatforms();
+ await sd.buildAllPlatforms();
+ createIndexCssFile({
+ buildDir,
+ isThemeVariant: !!themeVariant,
+ themeVariant,
+ });
+ }));
}
module.exports = buildTokensCommand;
diff --git a/package-lock.json b/package-lock.json
index 323434aa0c..5b8d17d40f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -17,6 +17,7 @@
],
"dependencies": {
"@popperjs/core": "^2.11.4",
+ "@tokens-studio/sd-transforms": "^1.2.4",
"axios": "^0.27.2",
"bootstrap": "^4.6.2",
"chalk": "^4.1.2",
@@ -54,7 +55,7 @@
"react-table": "^7.7.0",
"react-transition-group": "^4.4.2",
"sass": "^1.58.3",
- "style-dictionary": "^3.7.1",
+ "style-dictionary": "^4.0.1",
"tabbable": "^5.3.3",
"uncontrollable": "^7.2.1",
"uuid": "^9.0.0"
@@ -73,7 +74,7 @@
"@babel/preset-typescript": "^7.16.7",
"@edx/eslint-config": "^3.2.0",
"@edx/stylelint-config-edx": "^2.3.0",
- "@edx/typescript-config": "^1.0.1",
+ "@edx/typescript-config": "^1.1.0",
"@formatjs/cli": "^5.0.2",
"@semantic-release/changelog": "^6.0.1",
"@semantic-release/git": "^10.0.1",
@@ -2231,6 +2232,210 @@
"partytown": "bin/partytown.cjs"
}
},
+ "node_modules/@bundled-es-modules/deepmerge": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@bundled-es-modules/deepmerge/-/deepmerge-4.3.1.tgz",
+ "integrity": "sha512-Rk453EklPUPC3NRWc3VUNI/SSUjdBaFoaQvFRmNBNtMHVtOFD5AntiWg5kEE1hqcPqedYFDzxE3ZcMYPcA195w==",
+ "dependencies": {
+ "deepmerge": "^4.3.1"
+ }
+ },
+ "node_modules/@bundled-es-modules/glob": {
+ "version": "10.4.2",
+ "resolved": "https://registry.npmjs.org/@bundled-es-modules/glob/-/glob-10.4.2.tgz",
+ "integrity": "sha512-740y5ofkzydsFao5EXJrGilcIL6EFEw/cmPf2uhTw9J6G1YOhiIFjNFCHdpgEiiH5VlU3G0SARSjlFlimRRSMA==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "buffer": "^6.0.3",
+ "events": "^3.3.0",
+ "glob": "^10.4.2",
+ "patch-package": "^8.0.0",
+ "path": "^0.12.7",
+ "stream": "^0.0.3",
+ "string_decoder": "^1.3.0",
+ "url": "^0.11.3"
+ }
+ },
+ "node_modules/@bundled-es-modules/glob/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@bundled-es-modules/glob/node_modules/buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
+ "node_modules/@bundled-es-modules/glob/node_modules/foreground-child": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz",
+ "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@bundled-es-modules/glob/node_modules/glob": {
+ "version": "10.4.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+ "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^1.11.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@bundled-es-modules/glob/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@bundled-es-modules/glob/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/@bundled-es-modules/glob/node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@bundled-es-modules/glob/node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/@bundled-es-modules/memfs": {
+ "version": "4.9.4",
+ "resolved": "https://registry.npmjs.org/@bundled-es-modules/memfs/-/memfs-4.9.4.tgz",
+ "integrity": "sha512-1XyYPUaIHwEOdF19wYVLBtHJRr42Do+3ctht17cZOHwHf67vkmRNPlYDGY2kJps4RgE5+c7nEZmEzxxvb1NZWA==",
+ "dependencies": {
+ "assert": "^2.0.0",
+ "buffer": "^6.0.3",
+ "events": "^3.3.0",
+ "memfs": "^4.9.3",
+ "path": "^0.12.7",
+ "stream": "^0.0.3",
+ "util": "^0.12.5"
+ }
+ },
+ "node_modules/@bundled-es-modules/memfs/node_modules/buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
+ "node_modules/@bundled-es-modules/memfs/node_modules/memfs": {
+ "version": "4.11.1",
+ "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.11.1.tgz",
+ "integrity": "sha512-LZcMTBAgqUUKNXZagcZxvXXfgF1bHX7Y7nQ0QyEiNbRJgE29GhgPd8Yna1VQcLlPiHt/5RFJMWYN9Uv/VPNvjQ==",
+ "dependencies": {
+ "@jsonjoy.com/json-pack": "^1.0.3",
+ "@jsonjoy.com/util": "^1.3.0",
+ "tree-dump": "^1.0.1",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 4.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ }
+ },
+ "node_modules/@bundled-es-modules/postcss-calc-ast-parser": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@bundled-es-modules/postcss-calc-ast-parser/-/postcss-calc-ast-parser-0.1.6.tgz",
+ "integrity": "sha512-y65TM5zF+uaxo9OeekJ3rxwTINlQvrkbZLogYvQYVoLtxm4xEiHfZ7e/MyiWbStYyWZVZkVqsaVU6F4SUK5XUA==",
+ "dependencies": {
+ "postcss-calc-ast-parser": "^0.1.4"
+ }
+ },
"node_modules/@chevrotain/cst-dts-gen": {
"version": "11.0.3",
"resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz",
@@ -4282,9 +4487,9 @@
}
},
"node_modules/@edx/typescript-config": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@edx/typescript-config/-/typescript-config-1.0.1.tgz",
- "integrity": "sha512-w0g3nIX9oEch8Rip8q8sb/nrurGEHA1BEjK/I1LAQwA44K4FPMWvyvabmZErrdTJ9sXcZL10aWD3bat1obV8Bg==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@edx/typescript-config/-/typescript-config-1.1.0.tgz",
+ "integrity": "sha512-HF+7dsSgA2YQ6f/qV4HnrEYBoIhIdxVQZgDyYk/YGvaVGqT6IFuaHnYUP7ImpCUMOUmx/Jl7EyuVeaMe2LrMcA==",
"dev": true,
"peerDependencies": {
"typescript": "^4.9.4"
@@ -5183,6 +5388,90 @@
"version": "1.2.1",
"license": "BSD-3-Clause"
},
+ "node_modules/@isaacs/cliui": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "dependencies": {
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
"node_modules/@istanbuljs/load-nyc-config": {
"version": "1.1.0",
"dev": true,
@@ -5759,6 +6048,57 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
+ "node_modules/@jsonjoy.com/base64": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz",
+ "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/json-pack": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.1.0.tgz",
+ "integrity": "sha512-zlQONA+msXPPwHWZMKFVS78ewFczIll5lXiVPwFPCZUsrOKdxc2AvxU1HoNBmMRhqDZUR9HkC3UOm+6pME6Xsg==",
+ "dependencies": {
+ "@jsonjoy.com/base64": "^1.1.1",
+ "@jsonjoy.com/util": "^1.1.2",
+ "hyperdyperid": "^1.2.0",
+ "thingies": "^1.20.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/util": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.3.0.tgz",
+ "integrity": "sha512-Cebt4Vk7k1xHy87kHY7KSPLT77A7Ev7IfOblyLZhtYEhrdQ6fX4EoLq3xOQ3O/DRMEh2ok5nyC180E+ABS8Wmw==",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
"node_modules/@leichtgewicht/ip-codec": {
"version": "2.0.4",
"devOptional": true,
@@ -6892,6 +7232,15 @@
"@parcel/core": "^2.6.2"
}
},
+ "node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
"node_modules/@pmmmwh/react-refresh-webpack-plugin": {
"version": "0.5.10",
"license": "MIT",
@@ -7965,6 +8314,30 @@
"version": "0.3.0",
"license": "MIT"
},
+ "node_modules/@tokens-studio/sd-transforms": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@tokens-studio/sd-transforms/-/sd-transforms-1.2.4.tgz",
+ "integrity": "sha512-Blf7Y5D7uieRBTcmyrFxZ/oEB7OYAa/Ns7DJU4/fyV69pvm7DC3K3zHxrFwHSRcoa7C/dFoF3p3AgohkdXzjfA==",
+ "dependencies": {
+ "@bundled-es-modules/deepmerge": "^4.3.1",
+ "@bundled-es-modules/postcss-calc-ast-parser": "^0.1.6",
+ "@tokens-studio/types": "^0.5.1",
+ "colorjs.io": "^0.4.3",
+ "expr-eval-fork": "^2.0.2",
+ "is-mergeable-object": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "style-dictionary": "^4.0.1"
+ }
+ },
+ "node_modules/@tokens-studio/types": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/@tokens-studio/types/-/types-0.5.1.tgz",
+ "integrity": "sha512-LdCF9ZH5ej4Gb6n58x5fTkhstxjXDZc1SWteMWY6EiddLQJVONMIgYOrWrf1extlkSLjagX8WS0B63bAqeltnA=="
+ },
"node_modules/@tootallnate/once": {
"version": "2.0.0",
"dev": true,
@@ -9423,6 +9796,21 @@
"version": "4.2.2",
"license": "Apache-2.0"
},
+ "node_modules/@yarnpkg/lockfile": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
+ "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ=="
+ },
+ "node_modules/@zip.js/zip.js": {
+ "version": "2.7.48",
+ "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.48.tgz",
+ "integrity": "sha512-J7cliimZ2snAbr0IhLx2U8BwfA1pKucahKzTpFtYq4hEgKxwvFJcIjCIVNPwQpfVab7iVP+AKmoH1gidBlyhiQ==",
+ "engines": {
+ "bun": ">=0.7.0",
+ "deno": ">=1.0.0",
+ "node": ">=16.5.0"
+ }
+ },
"node_modules/abab": {
"version": "2.0.6",
"dev": true,
@@ -9956,6 +10344,18 @@
"version": "2.0.6",
"license": "MIT"
},
+ "node_modules/assert": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz",
+ "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "is-nan": "^1.3.2",
+ "object-is": "^1.1.5",
+ "object.assign": "^4.1.4",
+ "util": "^0.12.5"
+ }
+ },
"node_modules/assert-ok": {
"version": "1.0.0",
"license": "MIT"
@@ -12877,11 +13277,18 @@
}
},
"node_modules/call-bind": {
- "version": "1.0.2",
- "license": "MIT",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
"dependencies": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -13282,7 +13689,6 @@
},
"node_modules/ci-info": {
"version": "3.8.0",
- "dev": true,
"funding": [
{
"type": "github",
@@ -13947,6 +14353,11 @@
"devOptional": true,
"license": "MIT"
},
+ "node_modules/colorjs.io": {
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.4.5.tgz",
+ "integrity": "sha512-yCtUNCmge7llyfd/Wou19PMAcf5yC3XXhgFoAh6zsO2pGswhUPBaaUh8jzgHnXtXuZyFKzXZNAnyF5i+apICow=="
+ },
"node_modules/combined-stream": {
"version": "1.0.8",
"license": "MIT",
@@ -15323,6 +15734,22 @@
"node": ">=10"
}
},
+ "node_modules/define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/define-lazy-prop": {
"version": "2.0.0",
"license": "MIT",
@@ -15792,6 +16219,11 @@
"version": "0.1.5",
"license": "BSD-3-Clause"
},
+ "node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
+ },
"node_modules/ee-first": {
"version": "1.1.1",
"license": "MIT"
@@ -16146,6 +16578,25 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/es-define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "dependencies": {
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/es-get-iterator": {
"version": "1.1.3",
"license": "MIT",
@@ -17204,6 +17655,11 @@
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
+ "node_modules/expr-eval-fork": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/expr-eval-fork/-/expr-eval-fork-2.0.2.tgz",
+ "integrity": "sha512-NaAnObPVwHEYrODd7Jzp3zzT9pgTAlUUL4MZiZu9XAYPDpx89cPsfyEImFb2XY0vQNbrqg2CG7CLiI+Rs3seaQ=="
+ },
"node_modules/express": {
"version": "4.19.2",
"resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
@@ -17743,6 +18199,14 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/find-yarn-workspace-root": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz",
+ "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==",
+ "dependencies": {
+ "micromatch": "^4.0.2"
+ }
+ },
"node_modules/flat-cache": {
"version": "3.0.4",
"license": "MIT",
@@ -18068,8 +18532,12 @@
}
},
"node_modules/function-bind": {
- "version": "1.1.1",
- "license": "MIT"
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/function.prototype.name": {
"version": "1.1.5",
@@ -20276,12 +20744,18 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.0",
- "license": "MIT",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
"dependencies": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.3"
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -20731,10 +21205,11 @@
}
},
"node_modules/has-property-descriptors": {
- "version": "1.0.0",
- "license": "MIT",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
"dependencies": {
- "get-intrinsic": "^1.1.1"
+ "es-define-property": "^1.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -20864,6 +21339,17 @@
"node": ">=8"
}
},
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/hast-to-hyperscript": {
"version": "9.0.1",
"license": "MIT",
@@ -21498,6 +21984,14 @@
"url": "https://github.com/sponsors/typicode"
}
},
+ "node_modules/hyperdyperid": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz",
+ "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==",
+ "engines": {
+ "node": ">=10.18"
+ }
+ },
"node_modules/hyphenate-style-name": {
"version": "1.0.4",
"license": "BSD-3-Clause"
@@ -22185,6 +22679,20 @@
"node": ">=6"
}
},
+ "node_modules/is-generator-function": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
+ "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-git-repository": {
"version": "1.1.1",
"dev": true,
@@ -22381,6 +22889,26 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-mergeable-object": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-mergeable-object/-/is-mergeable-object-1.1.1.tgz",
+ "integrity": "sha512-CPduJfuGg8h8vW74WOxHtHmtQutyQBzR+3MjQ6iDHIYdbOnm1YC7jv43SqCoU8OPGTJD4nibmiryA4kmogbGrA=="
+ },
+ "node_modules/is-nan": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz",
+ "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-negative-zero": {
"version": "2.0.2",
"license": "MIT",
@@ -22858,6 +23386,20 @@
"node": ">=8"
}
},
+ "node_modules/jackspeak": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
+ "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ },
+ "optionalDependencies": {
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
"node_modules/java-properties": {
"version": "1.0.2",
"dev": true,
@@ -25135,6 +25677,23 @@
"version": "0.4.1",
"license": "MIT"
},
+ "node_modules/json-stable-stringify": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz",
+ "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==",
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "isarray": "^2.0.5",
+ "jsonify": "^0.0.1",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"license": "MIT"
@@ -25154,11 +25713,6 @@
"node": ">=6"
}
},
- "node_modules/jsonc-parser": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
- "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w=="
- },
"node_modules/jsonfile": {
"version": "6.1.0",
"license": "MIT",
@@ -25169,6 +25723,14 @@
"graceful-fs": "^4.1.6"
}
},
+ "node_modules/jsonify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz",
+ "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/jsonparse": {
"version": "1.3.1",
"dev": true,
@@ -25221,6 +25783,14 @@
"node": ">=0.10.0"
}
},
+ "node_modules/klaw-sync": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz",
+ "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==",
+ "dependencies": {
+ "graceful-fs": "^4.1.11"
+ }
+ },
"node_modules/kleur": {
"version": "3.0.3",
"license": "MIT",
@@ -26701,6 +27271,14 @@
"node": ">= 6"
}
},
+ "node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
"node_modules/mitt": {
"version": "1.2.0",
"license": "MIT"
@@ -30043,8 +30621,12 @@
"license": "MIT"
},
"node_modules/object-inspect": {
- "version": "1.12.3",
- "license": "MIT",
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
+ "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==",
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -30462,6 +31044,11 @@
"node": ">=8"
}
},
+ "node_modules/package-json-from-dist": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz",
+ "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw=="
+ },
"node_modules/package-json/node_modules/@sindresorhus/is": {
"version": "0.14.0",
"license": "MIT",
@@ -30845,6 +31432,123 @@
"which": "bin/which"
}
},
+ "node_modules/patch-package": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.0.tgz",
+ "integrity": "sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==",
+ "dependencies": {
+ "@yarnpkg/lockfile": "^1.1.0",
+ "chalk": "^4.1.2",
+ "ci-info": "^3.7.0",
+ "cross-spawn": "^7.0.3",
+ "find-yarn-workspace-root": "^2.0.0",
+ "fs-extra": "^9.0.0",
+ "json-stable-stringify": "^1.0.2",
+ "klaw-sync": "^6.0.0",
+ "minimist": "^1.2.6",
+ "open": "^7.4.2",
+ "rimraf": "^2.6.3",
+ "semver": "^7.5.3",
+ "slash": "^2.0.0",
+ "tmp": "^0.0.33",
+ "yaml": "^2.2.2"
+ },
+ "bin": {
+ "patch-package": "index.js"
+ },
+ "engines": {
+ "node": ">=14",
+ "npm": ">5"
+ }
+ },
+ "node_modules/patch-package/node_modules/fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dependencies": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/patch-package/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/patch-package/node_modules/rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ }
+ },
+ "node_modules/patch-package/node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/patch-package/node_modules/tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dependencies": {
+ "os-tmpdir": "~1.0.2"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ }
+ },
+ "node_modules/patch-package/node_modules/yaml": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz",
+ "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==",
+ "bin": {
+ "yaml": "bin.mjs"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/path": {
+ "version": "0.12.7",
+ "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
+ "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==",
+ "dependencies": {
+ "process": "^0.11.1",
+ "util": "^0.10.3"
+ }
+ },
"node_modules/path-case": {
"version": "3.0.4",
"license": "MIT",
@@ -30900,6 +31604,26 @@
"node": ">=0.10.0"
}
},
+ "node_modules/path-scurry": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
+ "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
+ "dependencies": {
+ "lru-cache": "^10.2.0",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/path-scurry/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="
+ },
"node_modules/path-to-regexp": {
"version": "0.1.7",
"license": "MIT"
@@ -30911,6 +31635,24 @@
"node": ">=8"
}
},
+ "node_modules/path-unified": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/path-unified/-/path-unified-0.1.0.tgz",
+ "integrity": "sha512-/Oaz9ZJforrkmFrwkR/AcvjVsCAwGSJHO0X6O6ISj8YeFbATjIEBXLDcZfnK3MO4uvCBrJTdVIxdOc79PMqSdg=="
+ },
+ "node_modules/path/node_modules/inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="
+ },
+ "node_modules/path/node_modules/util": {
+ "version": "0.10.4",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
+ "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
+ "dependencies": {
+ "inherits": "2.0.3"
+ }
+ },
"node_modules/peek-readable": {
"version": "4.1.0",
"license": "MIT",
@@ -31517,6 +32259,22 @@
"postcss": "^8.2.2"
}
},
+ "node_modules/postcss-calc-ast-parser": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/postcss-calc-ast-parser/-/postcss-calc-ast-parser-0.1.4.tgz",
+ "integrity": "sha512-CebpbHc96zgFjGgdQ6BqBy6XIUgRx1xXWCAAk6oke02RZ5nxwo9KQejTg8y7uYEeI9kv8jKQPYjoe6REsY23vw==",
+ "dependencies": {
+ "postcss-value-parser": "^3.3.1"
+ },
+ "engines": {
+ "node": ">=6.5"
+ }
+ },
+ "node_modules/postcss-calc-ast-parser/node_modules/postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
+ },
"node_modules/postcss-colormin": {
"version": "5.3.1",
"license": "MIT",
@@ -32253,6 +33011,14 @@
"node": ">= 0.6"
}
},
+ "node_modules/process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
+ "engines": {
+ "node": ">= 0.6.0"
+ }
+ },
"node_modules/process-nextick-args": {
"version": "2.0.1",
"license": "MIT"
@@ -32468,12 +33234,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/querystring": {
- "version": "0.2.0",
- "engines": {
- "node": ">=0.4.x"
- }
- },
"node_modules/querystringify": {
"version": "2.2.0",
"dev": true,
@@ -35694,6 +36454,22 @@
"version": "2.0.0",
"license": "ISC"
},
+ "node_modules/set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/set-harmonic-interval": {
"version": "1.0.1",
"dev": true,
@@ -35849,12 +36625,17 @@
"optional": true
},
"node_modules/side-channel": {
- "version": "1.0.4",
- "license": "MIT",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
+ "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
"dependencies": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4",
+ "object-inspect": "^1.13.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -35977,7 +36758,6 @@
},
"node_modules/slash": {
"version": "2.0.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
@@ -36873,6 +37653,14 @@
"node": ">= 0.4"
}
},
+ "node_modules/stream": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/stream/-/stream-0.0.3.tgz",
+ "integrity": "sha512-aMsbn7VKrl4A2T7QAQQbzgN7NVc70vgF5INQrBXqn4dCXN1zy3L9HGgLO5s7PExmdrzTJ8uR/27aviW8or8/+A==",
+ "dependencies": {
+ "component-emitter": "^2.0.0"
+ }
+ },
"node_modules/stream-combiner2": {
"version": "1.1.1",
"dev": true,
@@ -36882,6 +37670,17 @@
"readable-stream": "^2.0.2"
}
},
+ "node_modules/stream/node_modules/component-emitter": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-2.0.0.tgz",
+ "integrity": "sha512-4m5s3Me2xxlVKG9PkZpQqHQR7bgpnN7joDMJ4yvVkVXngjoITG76IaZmzmywSeRTeTpc6N6r3H3+KyUurV8OYw==",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/streamsearch": {
"version": "1.1.0",
"engines": {
@@ -36950,6 +37749,25 @@
"node": ">=8"
}
},
+ "node_modules/string-width-cjs": {
+ "name": "string-width",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width-cjs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
"node_modules/string-width/node_modules/emoji-regex": {
"version": "8.0.0",
"license": "MIT"
@@ -37030,6 +37848,18 @@
"node": ">=8"
}
},
+ "node_modules/strip-ansi-cjs": {
+ "name": "strip-ansi",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/strip-bom": {
"version": "4.0.0",
"dev": true,
@@ -37095,27 +37925,47 @@
}
},
"node_modules/style-dictionary": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/style-dictionary/-/style-dictionary-3.8.0.tgz",
- "integrity": "sha512-wHlB/f5eO3mDcYv6WtOz6gvQC477jBKrwuIXe+PtHskTCBsJdAOvL8hCquczJxDui2TnwpeNE+2msK91JJomZg==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/style-dictionary/-/style-dictionary-4.0.1.tgz",
+ "integrity": "sha512-aZ2iouI0i0DIXk3QhCkwOeo5rQeuk5Ja0PhHo32/EXCNuay4jK4CZ+hQJW0Er0J74VWniR+qaeoWgjklcULxOQ==",
+ "hasInstallScript": true,
"dependencies": {
- "chalk": "^4.0.0",
- "change-case": "^4.1.2",
+ "@bundled-es-modules/deepmerge": "^4.3.1",
+ "@bundled-es-modules/glob": "^10.4.2",
+ "@bundled-es-modules/memfs": "^4.9.4",
+ "@zip.js/zip.js": "^2.7.44",
+ "chalk": "^5.3.0",
+ "change-case": "^5.3.0",
"commander": "^8.3.0",
- "fs-extra": "^10.0.0",
- "glob": "^7.2.0",
+ "is-plain-obj": "^4.1.0",
"json5": "^2.2.2",
- "jsonc-parser": "^3.0.0",
- "lodash": "^4.17.15",
- "tinycolor2": "^1.4.1"
+ "patch-package": "^8.0.0",
+ "path-unified": "^0.1.0",
+ "tinycolor2": "^1.6.0"
},
"bin": {
- "style-dictionary": "bin/style-dictionary"
+ "style-dictionary": "bin/style-dictionary.js"
},
"engines": {
- "node": ">=12.0.0"
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/style-dictionary/node_modules/chalk": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+ "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
+ "node_modules/style-dictionary/node_modules/change-case": {
+ "version": "5.4.4",
+ "resolved": "https://registry.npmjs.org/change-case/-/change-case-5.4.4.tgz",
+ "integrity": "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w=="
+ },
"node_modules/style-dictionary/node_modules/commander": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
@@ -37124,36 +37974,15 @@
"node": ">= 12"
}
},
- "node_modules/style-dictionary/node_modules/fs-extra": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
- "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
+ "node_modules/style-dictionary/node_modules/is-plain-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
+ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
"engines": {
"node": ">=12"
- }
- },
- "node_modules/style-dictionary/node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
},
"funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/style-loader": {
@@ -37928,6 +38757,17 @@
"version": "0.2.0",
"license": "MIT"
},
+ "node_modules/thingies": {
+ "version": "1.21.0",
+ "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz",
+ "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==",
+ "engines": {
+ "node": ">=10.18"
+ },
+ "peerDependencies": {
+ "tslib": "^2"
+ }
+ },
"node_modules/throat": {
"version": "5.0.0",
"dev": true,
@@ -38191,6 +39031,21 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/tree-dump": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz",
+ "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
"node_modules/trim": {
"version": "0.0.1"
},
@@ -38951,11 +39806,15 @@
"license": "MIT"
},
"node_modules/url": {
- "version": "0.11.0",
- "license": "MIT",
+ "version": "0.11.4",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz",
+ "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==",
"dependencies": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
+ "punycode": "^1.4.1",
+ "qs": "^6.12.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
"node_modules/url-join": {
@@ -39024,8 +39883,23 @@
}
},
"node_modules/url/node_modules/punycode": {
- "version": "1.3.2",
- "license": "MIT"
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="
+ },
+ "node_modules/url/node_modules/qs": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
+ "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
+ "dependencies": {
+ "side-channel": "^1.0.6"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/use": {
"version": "3.1.1",
@@ -39085,6 +39959,18 @@
}
}
},
+ "node_modules/util": {
+ "version": "0.12.5",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
+ "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "is-arguments": "^1.0.4",
+ "is-generator-function": "^1.0.7",
+ "is-typed-array": "^1.1.3",
+ "which-typed-array": "^1.1.2"
+ }
+ },
"node_modules/util-deprecate": {
"version": "1.0.2",
"license": "MIT"
@@ -39863,6 +40749,53 @@
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
+ "node_modules/wrap-ansi-cjs": {
+ "name": "wrap-ansi",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
"node_modules/wrap-ansi/node_modules/ansi-styles": {
"version": "4.3.0",
"license": "MIT",
diff --git a/package.json b/package.json
index a3bf75281d..77ff05e6eb 100644
--- a/package.json
+++ b/package.json
@@ -51,11 +51,14 @@
"playroom:build": "npm run playroom:build --workspace=www",
"prepare": "husky || true",
"build-tokens": "./bin/paragon-scripts.js build-tokens --build-dir ./styles/css",
+ "build-tokens:watch": "npx nodemon --ignore styles/css -x \"npm run build-tokens\"",
"replace-variables-usage-with-css": "./bin/paragon-scripts.js replace-variables -p src -t usage",
- "replace-variables-definition-with-css": "./bin/paragon-scripts.js replace-variables -p src -t definition"
+ "replace-variables-definition-with-css": "./bin/paragon-scripts.js replace-variables -p src -t definition",
+ "cli:help": "./bin/paragon-scripts.js help"
},
"dependencies": {
"@popperjs/core": "^2.11.4",
+ "@tokens-studio/sd-transforms": "^1.2.4",
"axios": "^0.27.2",
"bootstrap": "^4.6.2",
"chalk": "^4.1.2",
@@ -93,7 +96,7 @@
"react-table": "^7.7.0",
"react-transition-group": "^4.4.2",
"sass": "^1.58.3",
- "style-dictionary": "^3.7.1",
+ "style-dictionary": "^4.0.1",
"tabbable": "^5.3.3",
"uncontrollable": "^7.2.1",
"uuid": "^9.0.0"
@@ -114,7 +117,7 @@
"@babel/preset-typescript": "^7.16.7",
"@edx/eslint-config": "^3.2.0",
"@edx/stylelint-config-edx": "^2.3.0",
- "@edx/typescript-config": "^1.0.1",
+ "@edx/typescript-config": "^1.1.0",
"@formatjs/cli": "^5.0.2",
"@semantic-release/changelog": "^6.0.1",
"@semantic-release/git": "^10.0.1",
diff --git a/src/Annotation/index.scss b/src/Annotation/index.scss
index a06f5629a1..19519cd00a 100644
--- a/src/Annotation/index.scss
+++ b/src/Annotation/index.scss
@@ -1,5 +1,21 @@
@import "mixins";
+:root {
+ --pgn-elevation-annotation-box-shadow:
+ drop-shadow(
+ var(--pgn-elevation-annotation-box-shadow-1-offset-x)
+ var(--pgn-elevation-annotation-box-shadow-1-offset-y)
+ var(--pgn-elevation-annotation-box-shadow-1-blur)
+ var(--pgn-elevation-annotation-box-shadow-1-color)
+ )
+ drop-shadow(
+ var(--pgn-elevation-annotation-box-shadow-2-offset-x)
+ var(--pgn-elevation-annotation-box-shadow-2-offset-y)
+ var(--pgn-elevation-annotation-box-shadow-2-blur)
+ var(--pgn-elevation-annotation-box-shadow-2-color)
+ );
+}
+
.pgn__annotation {
padding: var(--pgn-spacing-annotation-padding);
border-radius: var(--pgn-size-annotation-border-radius);
diff --git a/src/Card/CardDeck.jsx b/src/Card/CardDeck.jsx
index 0a2ac1f0b8..7780b2034d 100644
--- a/src/Card/CardDeck.jsx
+++ b/src/Card/CardDeck.jsx
@@ -1,7 +1,6 @@
import React, { Children, useMemo } from 'react';
import classNames from 'classnames';
import PropTypes from 'prop-types';
-import BaseCardDeck from 'react-bootstrap/CardDeck';
import Row from 'react-bootstrap/Row';
import Col from 'react-bootstrap/Col';
import { useOverflowScrollItems } from '../OverflowScroll';
@@ -102,6 +101,4 @@ CardDeck.defaultProps = {
hasEqualColumnHeights: true,
};
-CardDeck.Deprecated = BaseCardDeck;
-
export default CardDeck;
diff --git a/src/Card/README.md b/src/Card/README.md
index c8c23c7546..742cc3efea 100644
--- a/src/Card/README.md
+++ b/src/Card/README.md
@@ -899,37 +899,6 @@ For accessibility, if the child `Card` components are interactive (e.g., `isClic
}
```
-### CardDeck.Deprecated
-
-Gives any child `Card` components equal height with an appropriate gutter between cards. Each child `Card` component's width will be adjusted (e.g., become more narrow) to ensure all `Card` components fit within its parent's width.
-
-Note: This component is a pass-thru from `react-bootstrap`.
-
-```jsx live
-() => {
- const CardComponent = () => (
-
-
-
-
-
-
-
- );
-
- return (
-
-
-
-
-
- )
-}
-```
-
## CardCarousel
Extends `CardDeck` to support navigating between any overflow `Card` components via left and right `IconButton` components as a scrollable carousel.
diff --git a/src/Card/index.scss b/src/Card/index.scss
index aec6589e83..383726a8cf 100644
--- a/src/Card/index.scss
+++ b/src/Card/index.scss
@@ -136,11 +136,11 @@ a.pgn__card {
}
.pgn__card-header-title-sm {
- font-size: var(--pgn-typography-font-size-h4);
+ font-size: var(--pgn-typography-font-size-h4-base);
}
.pgn__card-header-title-md {
- font-size: var(--pgn-typography-font-size-h3);
+ font-size: var(--pgn-typography-font-size-h3-base);
}
%header-subtitle {
@@ -155,11 +155,11 @@ a.pgn__card {
}
.pgn__card-header-subtitle-sm {
- font-size: var(--pgn-typography-font-size-h5);
+ font-size: var(--pgn-typography-font-size-h5-base);
}
.pgn__card-header-subtitle-md {
- font-size: var(--pgn-typography-font-size-h4);
+ font-size: var(--pgn-typography-font-size-h4-base);
}
.pgn__card-header-actions {
@@ -271,7 +271,7 @@ a.pgn__card {
.pgn__card-section-title {
color: var(--pgn-color-black);
font-weight: var(--pgn-typography-font-weight-bold);
- font-size: var(--pgn-typography-font-size-h5);
+ font-size: var(--pgn-typography-font-size-h5-base);
margin-bottom: var(--pgn-spacing-card-spacer-y);
}
@@ -392,7 +392,7 @@ a.pgn__card {
}
.pgn__card-status__heading {
- font-size: var(--pgn-typography-font-size-h4);
+ font-size: var(--pgn-typography-font-size-h4-base);
color: var(--pgn-color-black);
display: flex;
font-weight: var(--pgn-typography-font-weight-bold);
diff --git a/src/Carousel/index.scss b/src/Carousel/index.scss
index a046f79f46..29e6bc078b 100644
--- a/src/Carousel/index.scss
+++ b/src/Carousel/index.scss
@@ -1,3 +1,26 @@
+:root {
+ --pgn-transition-carousel-base:
+ var(--pgn-transition-carousel-base-property)
+ var(--pgn-transition-carousel-base-duration)
+ var(--pgn-transition-carousel-base-timing-function)
+ var(--pgn-transition-carousel-base-delay)
+ var(--pgn-transition-carousel-base-behavior);
+
+ --pgn-transition-carousel-indicator:
+ var(--pgn-transition-carousel-indicator-property)
+ var(--pgn-transition-carousel-indicator-duration)
+ var(--pgn-transition-carousel-indicator-timing-function)
+ var(--pgn-transition-carousel-indicator-delay)
+ var(--pgn-transition-carousel-indicator-behavior);
+
+ --pgn-transition-carousel-control:
+ var(--pgn-transition-carousel-control-property)
+ var(--pgn-transition-carousel-control-duration)
+ var(--pgn-transition-carousel-control-timing-function)
+ var(--pgn-transition-carousel-control-delay)
+ var(--pgn-transition-carousel-control-behavior);
+}
+
.carousel {
position: relative;
}
@@ -58,7 +81,7 @@
.active.carousel-item-right {
z-index: 0;
opacity: 0;
- transition: opacity 0s var(--pgn-transition-carousel-base);
+ transition: var(--pgn-transition-carousel-base);
}
}
diff --git a/src/CloseButton/index.scss b/src/CloseButton/index.scss
index cde16e1bb3..750f47d3f3 100644
--- a/src/CloseButton/index.scss
+++ b/src/CloseButton/index.scss
@@ -1,3 +1,11 @@
+:root {
+ --pgn-elevation-close-button-text-shadow:
+ var(--pgn-elevation-close-button-text-shadow-offset-x)
+ var(--pgn-elevation-close-button-text-shadow-offset-y)
+ var(--pgn-elevation-close-button-text-shadow-blur)
+ var(--pgn-elevation-close-button-text-shadow-color);
+}
+
.close {
float: right;
font-weight: var(--pgn-typography-close-button-font-weight);
diff --git a/src/ColorPicker/index.scss b/src/ColorPicker/index.scss
index 1e5bad7cd2..db46647e62 100644
--- a/src/ColorPicker/index.scss
+++ b/src/ColorPicker/index.scss
@@ -37,7 +37,7 @@
.pgn__hex-label {
font-weight: bold;
- font-size: var(--pgn-typography-font-size-mobile-h5);
+ font-size: var(--pgn-typography-font-size-h5-mobile);
padding: .5rem;
margin-bottom: 0 !important;
}
diff --git a/src/DataTable/index.scss b/src/DataTable/index.scss
index 62e8e01a3d..4292f5bde3 100644
--- a/src/DataTable/index.scss
+++ b/src/DataTable/index.scss
@@ -1,3 +1,15 @@
+:root {
+ --pgn-elevation-data-table-box-shadow:
+ var(--pgn-elevation-data-table-box-shadow-offset-x)
+ var(--pgn-elevation-data-table-box-shadow-offset-y)
+ var(--pgn-elevation-data-table-box-shadow-blur)
+ var(--pgn-elevation-data-table-box-shadow-color);
+
+ --pgn-spacing-data-table-padding-cell:
+ var(--pgn-spacing-data-table-padding-cell-x)
+ var(--pgn-spacing-data-table-padding-cell-y);
+}
+
.pgn__data-table-wrapper {
font-size: var(--pgn-typography-font-size-sm);
border-radius: var(--pgn-size-border-radius-base);
diff --git a/src/Dropdown/dropdown-bootstrap.scss b/src/Dropdown/dropdown-bootstrap.scss
index 49a4c052f1..2575d841c5 100644
--- a/src/Dropdown/dropdown-bootstrap.scss
+++ b/src/Dropdown/dropdown-bootstrap.scss
@@ -1,3 +1,9 @@
+:root {
+ --pgn-spacing-dropdown-padding-header:
+ var(--pgn-spacing-dropdown-padding-header-y)
+ var(--pgn-spacing-dropdown-padding-header-x);
+}
+
.dropup,
.dropright,
.dropdown,
diff --git a/src/Dropzone/index.scss b/src/Dropzone/index.scss
index c1c4ae871c..b2d382c72e 100644
--- a/src/Dropzone/index.scss
+++ b/src/Dropzone/index.scss
@@ -1,3 +1,37 @@
+:root {
+ --pgn-elevation-dropzone-hover:
+ var(--pgn-elevation-dropzone-hover-inset)
+ var(--pgn-elevation-dropzone-hover-offset-x)
+ var(--pgn-elevation-dropzone-hover-offset-y)
+ var(--pgn-elevation-dropzone-hover-blur)
+ var(--pgn-elevation-dropzone-hover-spread)
+ var(--pgn-elevation-dropzone-hover-color);
+
+ --pgn-elevation-dropzone-focus:
+ var(--pgn-elevation-dropzone-focus-inset)
+ var(--pgn-elevation-dropzone-focus-offset-x)
+ var(--pgn-elevation-dropzone-focus-offset-y)
+ var(--pgn-elevation-dropzone-focus-blur)
+ var(--pgn-elevation-dropzone-focus-spread)
+ var(--pgn-elevation-dropzone-focus-color);
+
+ --pgn-elevation-dropzone-error:
+ var(--pgn-elevation-dropzone-error-inset)
+ var(--pgn-elevation-dropzone-error-offset-x)
+ var(--pgn-elevation-dropzone-error-offset-y)
+ var(--pgn-elevation-dropzone-error-blur)
+ var(--pgn-elevation-dropzone-error-spread)
+ var(--pgn-elevation-dropzone-error-color);
+
+ --pgn-elevation-dropzone-active:
+ var(--pgn-elevation-dropzone-active-inset)
+ var(--pgn-elevation-dropzone-active-offset-x)
+ var(--pgn-elevation-dropzone-active-offset-y)
+ var(--pgn-elevation-dropzone-active-blur)
+ var(--pgn-elevation-dropzone-active-spread)
+ var(--pgn-elevation-dropzone-active-color);
+}
+
.pgn__dropzone {
display: flex;
justify-content: center;
diff --git a/src/Form/_FormText.scss b/src/Form/_FormText.scss
index 3f19d55ab5..6e22e92a7d 100644
--- a/src/Form/_FormText.scss
+++ b/src/Form/_FormText.scss
@@ -1,5 +1,5 @@
.pgn__form-text {
- font-size: var(--pgn-typography-font-size-small-base);
+ font-size: var(--pgn-typography-font-size-sm);
display: flex;
align-items: center;
diff --git a/src/Form/_bootstrap-custom-forms.scss b/src/Form/_bootstrap-custom-forms.scss
index b462f84da0..335d07fb06 100644
--- a/src/Form/_bootstrap-custom-forms.scss
+++ b/src/Form/_bootstrap-custom-forms.scss
@@ -1,3 +1,43 @@
+:root {
+ --pgn-elevation-form-control-indicator-checked-focus:
+ var(--pgn-elevation-form-control-indicator-checked-focus-offset-x)
+ var(--pgn-elevation-form-control-indicator-checked-focus-offset-y)
+ var(--pgn-elevation-form-control-indicator-checked-focus-blur)
+ var(--pgn-elevation-form-control-indicator-checked-focus-spread)
+ var(--pgn-elevation-form-control-indicator-checked-focus-color);
+
+ --pgn-elevation-form-control-select-border-focus:
+ var(--pgn-elevation-form-control-select-border-focus-offset-x)
+ var(--pgn-elevation-form-control-select-border-focus-offset-y)
+ var(--pgn-elevation-form-control-select-border-focus-blur)
+ var(--pgn-elevation-form-control-select-border-focus-spread)
+ var(--pgn-elevation-form-control-select-border-focus-color);
+
+ --pgn-elevation-form-control-file-focus:
+ var(--pgn-elevation-form-control-file-focus-offset-x)
+ var(--pgn-elevation-form-control-file-focus-offset-y)
+ var(--pgn-elevation-form-control-file-focus-blur)
+ var(--pgn-elevation-form-control-file-focus-spread)
+ var(--pgn-elevation-form-control-file-focus-color);
+
+ --pgn-transition-form-control:
+ var(--pgn-transition-form-control-1-property)
+ var(--pgn-transition-form-control-1-duration)
+ var(--pgn-transition-form-control-1-timing-function)
+ var(--pgn-transition-form-control-1-delay)
+ var(--pgn-transition-form-control-1-behavior),
+ var(--pgn-transition-form-control-2-property)
+ var(--pgn-transition-form-control-2-duration)
+ var(--pgn-transition-form-control-2-timing-function)
+ var(--pgn-transition-form-control-2-delay)
+ var(--pgn-transition-form-control-2-behavior),
+ var(--pgn-transition-form-control-3-property)
+ var(--pgn-transition-form-control-3-duration)
+ var(--pgn-transition-form-control-3-timing-function)
+ var(--pgn-transition-form-control-3-delay)
+ var(--pgn-transition-form-control-3-behavior);
+}
+
// Embedded icons from Open Iconic.
// Released under MIT and copyright 2014 Waybury.
// https://useiconic.com/open
diff --git a/src/Form/_index.scss b/src/Form/_index.scss
index ccf3f58818..1452f8104f 100644
--- a/src/Form/_index.scss
+++ b/src/Form/_index.scss
@@ -5,6 +5,15 @@
@import "FormText";
@import "FormControlSet";
+:root {
+ --pgn-elevation-form-control-indicator-checked-focus:
+ var(--pgn-elevation-form-control-indicator-checked-focus-offset-x)
+ var(--pgn-elevation-form-control-indicator-checked-focus-offset-y)
+ var(--pgn-elevation-form-control-indicator-checked-focus-blur)
+ var(--pgn-elevation-form-control-indicator-checked-focus-spread)
+ var(--pgn-elevation-form-control-indicator-checked-focus-color);
+}
+
// A form input state used by the now deprecate Fieldset and asInput
// we can remove this when they are deleted.
.form-control.is-invalid.is-invalid-nodanger {
diff --git a/src/Form/_mixins.scss b/src/Form/_mixins.scss
index 6493a51fa9..89af16b140 100644
--- a/src/Form/_mixins.scss
+++ b/src/Form/_mixins.scss
@@ -1,3 +1,25 @@
+:root {
+ --pgn-elevation-form-input-focus:
+ var(--pgn-elevation-form-input-focus-offset-x)
+ var(--pgn-elevation-form-input-focus-offset-y)
+ var(--pgn-elevation-form-input-focus-blur)
+ var(--pgn-elevation-form-input-focus-spread)
+ var(--pgn-elevation-form-input-focus-color);
+
+ --pgn-spacing-form-control-select-feedback-icon-position:
+ var(--pgn-spacing-form-control-select-feedback-icon-position-position-y)
+ var(--pgn-spacing-form-control-select-feedback-icon-position-position-x)
+ var(--pgn-spacing-form-control-select-feedback-icon-position-offset-x)
+ var(--pgn-spacing-form-control-select-feedback-icon-position-offset-y);
+
+ --pgn-other-content-form-control-select-bg:
+ var(--pgn-other-content-form-control-select-bg-image)
+ var(--pgn-other-content-form-control-select-bg-position-x)
+ var(--pgn-other-content-form-control-select-bg-offset-y)
+ var(--pgn-other-content-form-control-select-bg-position-y)
+ / var(--pgn-other-content-form-control-select-bg-color); // stylelint-disable-line scss/operator-no-newline-before
+}
+
@mixin form-control-floating-label-initial(
$padding-x,
$padding-y,
diff --git a/src/IconButton/index.scss b/src/IconButton/index.scss
index d1454db5d9..54792c04c5 100644
--- a/src/IconButton/index.scss
+++ b/src/IconButton/index.scss
@@ -1,5 +1,151 @@
@import "mixins";
+:root {
+ --pgn-elevation-icon-button-box-shadow-primary-base:
+ var(--pgn-elevation-icon-button-box-shadow-primary-base-inset)
+ var(--pgn-elevation-icon-button-box-shadow-primary-base-offset-x)
+ var(--pgn-elevation-icon-button-box-shadow-primary-base-offset-y)
+ var(--pgn-elevation-icon-button-box-shadow-primary-base-blur)
+ var(--pgn-elevation-icon-button-box-shadow-primary-base-spread)
+ var(--pgn-elevation-icon-button-box-shadow-primary-base-color);
+
+ --pgn-elevation-icon-button-box-shadow-primary-inverse:
+ var(--pgn-elevation-icon-button-box-shadow-primary-inverse-inset)
+ var(--pgn-elevation-icon-button-box-shadow-primary-inverse-offset-x)
+ var(--pgn-elevation-icon-button-box-shadow-primary-inverse-offset-y)
+ var(--pgn-elevation-icon-button-box-shadow-primary-inverse-blur)
+ var(--pgn-elevation-icon-button-box-shadow-primary-inverse-spread)
+ var(--pgn-elevation-icon-button-box-shadow-primary-inverse-color);
+
+ --pgn-elevation-icon-button-box-shadow-secondary-base:
+ var(--pgn-elevation-icon-button-box-shadow-secondary-base-inset)
+ var(--pgn-elevation-icon-button-box-shadow-secondary-base-offset-x)
+ var(--pgn-elevation-icon-button-box-shadow-secondary-base-offset-y)
+ var(--pgn-elevation-icon-button-box-shadow-secondary-base-blur)
+ var(--pgn-elevation-icon-button-box-shadow-secondary-base-spread)
+ var(--pgn-elevation-icon-button-box-shadow-secondary-base-color);
+
+ --pgn-elevation-icon-button-box-shadow-secondary-inverse:
+ var(--pgn-elevation-icon-button-box-shadow-secondary-inverse-inset)
+ var(--pgn-elevation-icon-button-box-shadow-secondary-inverse-offset-x)
+ var(--pgn-elevation-icon-button-box-shadow-secondary-inverse-offset-y)
+ var(--pgn-elevation-icon-button-box-shadow-secondary-inverse-blur)
+ var(--pgn-elevation-icon-button-box-shadow-secondary-inverse-spread)
+ var(--pgn-elevation-icon-button-box-shadow-secondary-inverse-color);
+
+ --pgn-elevation-icon-button-box-shadow-brand-base:
+ var(--pgn-elevation-icon-button-box-shadow-brand-base-inset)
+ var(--pgn-elevation-icon-button-box-shadow-brand-base-offset-x)
+ var(--pgn-elevation-icon-button-box-shadow-brand-base-offset-y)
+ var(--pgn-elevation-icon-button-box-shadow-brand-base-blur)
+ var(--pgn-elevation-icon-button-box-shadow-brand-base-spread)
+ var(--pgn-elevation-icon-button-box-shadow-brand-base-color);
+
+ --pgn-elevation-icon-button-box-shadow-brand-inverse:
+ var(--pgn-elevation-icon-button-box-shadow-brand-inverse-inset)
+ var(--pgn-elevation-icon-button-box-shadow-brand-inverse-offset-x)
+ var(--pgn-elevation-icon-button-box-shadow-brand-inverse-offset-y)
+ var(--pgn-elevation-icon-button-box-shadow-brand-inverse-blur)
+ var(--pgn-elevation-icon-button-box-shadow-brand-inverse-spread)
+ var(--pgn-elevation-icon-button-box-shadow-brand-inverse-color);
+
+ --pgn-elevation-icon-button-box-shadow-success-base:
+ var(--pgn-elevation-icon-button-box-shadow-success-base-inset)
+ var(--pgn-elevation-icon-button-box-shadow-success-base-offset-x)
+ var(--pgn-elevation-icon-button-box-shadow-success-base-offset-y)
+ var(--pgn-elevation-icon-button-box-shadow-success-base-blur)
+ var(--pgn-elevation-icon-button-box-shadow-success-base-spread)
+ var(--pgn-elevation-icon-button-box-shadow-success-base-color);
+
+ --pgn-elevation-icon-button-box-shadow-success-inverse:
+ var(--pgn-elevation-icon-button-box-shadow-success-inverse-inset)
+ var(--pgn-elevation-icon-button-box-shadow-success-inverse-offset-x)
+ var(--pgn-elevation-icon-button-box-shadow-success-inverse-offset-y)
+ var(--pgn-elevation-icon-button-box-shadow-success-inverse-blur)
+ var(--pgn-elevation-icon-button-box-shadow-success-inverse-spread)
+ var(--pgn-elevation-icon-button-box-shadow-success-inverse-color);
+
+ --pgn-elevation-icon-button-box-shadow-warning-base:
+ var(--pgn-elevation-icon-button-box-shadow-warning-base-inset)
+ var(--pgn-elevation-icon-button-box-shadow-warning-base-offset-x)
+ var(--pgn-elevation-icon-button-box-shadow-warning-base-offset-y)
+ var(--pgn-elevation-icon-button-box-shadow-warning-base-blur)
+ var(--pgn-elevation-icon-button-box-shadow-warning-base-spread)
+ var(--pgn-elevation-icon-button-box-shadow-warning-base-color);
+
+ --pgn-elevation-icon-button-box-shadow-warning-inverse:
+ var(--pgn-elevation-icon-button-box-shadow-warning-inverse-inset)
+ var(--pgn-elevation-icon-button-box-shadow-warning-inverse-offset-x)
+ var(--pgn-elevation-icon-button-box-shadow-warning-inverse-offset-y)
+ var(--pgn-elevation-icon-button-box-shadow-warning-inverse-blur)
+ var(--pgn-elevation-icon-button-box-shadow-warning-inverse-spread)
+ var(--pgn-elevation-icon-button-box-shadow-warning-inverse-color);
+
+ --pgn-elevation-icon-button-box-shadow-danger-base:
+ var(--pgn-elevation-icon-button-box-shadow-danger-base-inset)
+ var(--pgn-elevation-icon-button-box-shadow-danger-base-offset-x)
+ var(--pgn-elevation-icon-button-box-shadow-danger-base-offset-y)
+ var(--pgn-elevation-icon-button-box-shadow-danger-base-blur)
+ var(--pgn-elevation-icon-button-box-shadow-danger-base-spread)
+ var(--pgn-elevation-icon-button-box-shadow-danger-base-color);
+
+ --pgn-elevation-icon-button-box-shadow-danger-inverse:
+ var(--pgn-elevation-icon-button-box-shadow-danger-inverse-inset)
+ var(--pgn-elevation-icon-button-box-shadow-danger-inverse-offset-x)
+ var(--pgn-elevation-icon-button-box-shadow-danger-inverse-offset-y)
+ var(--pgn-elevation-icon-button-box-shadow-danger-inverse-blur)
+ var(--pgn-elevation-icon-button-box-shadow-danger-inverse-spread)
+ var(--pgn-elevation-icon-button-box-shadow-danger-inverse-color);
+
+ --pgn-elevation-icon-button-box-shadow-light-base:
+ var(--pgn-elevation-icon-button-box-shadow-light-base-inset)
+ var(--pgn-elevation-icon-button-box-shadow-light-base-offset-x)
+ var(--pgn-elevation-icon-button-box-shadow-light-base-offset-y)
+ var(--pgn-elevation-icon-button-box-shadow-light-base-blur)
+ var(--pgn-elevation-icon-button-box-shadow-light-base-spread)
+ var(--pgn-elevation-icon-button-box-shadow-light-base-color);
+
+ --pgn-elevation-icon-button-box-shadow-light-inverse:
+ var(--pgn-elevation-icon-button-box-shadow-light-inverse-inset)
+ var(--pgn-elevation-icon-button-box-shadow-light-inverse-offset-x)
+ var(--pgn-elevation-icon-button-box-shadow-light-inverse-offset-y)
+ var(--pgn-elevation-icon-button-box-shadow-light-inverse-blur)
+ var(--pgn-elevation-icon-button-box-shadow-light-inverse-spread)
+ var(--pgn-elevation-icon-button-box-shadow-light-inverse-color);
+
+ --pgn-elevation-icon-button-box-shadow-dark-base:
+ var(--pgn-elevation-icon-button-box-shadow-dark-base-inset)
+ var(--pgn-elevation-icon-button-box-shadow-dark-base-offset-x)
+ var(--pgn-elevation-icon-button-box-shadow-dark-base-offset-y)
+ var(--pgn-elevation-icon-button-box-shadow-dark-base-blur)
+ var(--pgn-elevation-icon-button-box-shadow-dark-base-spread)
+ var(--pgn-elevation-icon-button-box-shadow-dark-base-color);
+
+ --pgn-elevation-icon-button-box-shadow-dark-inverse:
+ var(--pgn-elevation-icon-button-box-shadow-dark-inverse)
+ var(--pgn-elevation-icon-button-box-shadow-dark-inverse-offset-x)
+ var(--pgn-elevation-icon-button-box-shadow-dark-inverse-offset-y)
+ var(--pgn-elevation-icon-button-box-shadow-dark-inverse-blur)
+ var(--pgn-elevation-icon-button-box-shadow-dark-inverse-spread)
+ var(--pgn-elevation-icon-button-box-shadow-dark-inverse-color);
+
+ --pgn-elevation-icon-button-box-shadow-black-base:
+ var(--pgn-elevation-icon-button-box-shadow-black-base-inset)
+ var(--pgn-elevation-icon-button-box-shadow-black-base-offset-x)
+ var(--pgn-elevation-icon-button-box-shadow-black-base-offset-y)
+ var(--pgn-elevation-icon-button-box-shadow-black-base-blur)
+ var(--pgn-elevation-icon-button-box-shadow-black-base-spread)
+ var(--pgn-elevation-icon-button-box-shadow-black-base-color);
+
+ --pgn-elevation-icon-button-box-shadow-black-inverse:
+ var(--pgn-elevation-icon-button-box-shadow-black-inverse-inset)
+ var(--pgn-elevation-icon-button-box-shadow-black-inverse-offset-x)
+ var(--pgn-elevation-icon-button-box-shadow-black-inverse-offset-y)
+ var(--pgn-elevation-icon-button-box-shadow-black-inverse-blur)
+ var(--pgn-elevation-icon-button-box-shadow-black-inverse-spread)
+ var(--pgn-elevation-icon-button-box-shadow-black-inverse-color);
+}
+
.btn-icon {
@include btn-icon-size(var(--pgn-size-icon-button-diameter-md));
diff --git a/src/Menu/index.scss b/src/Menu/index.scss
index fddd792f10..1d3fded3f3 100644
--- a/src/Menu/index.scss
+++ b/src/Menu/index.scss
@@ -1,3 +1,11 @@
+:root {
+ --pgn-elevation-menu-box-shadow:
+ var(--pgn-elevation-menu-box-shadow-offset-x)
+ var(--pgn-elevation-menu-box-shadow-offset-y)
+ var(--pgn-elevation-menu-box-shadow-blur)
+ var(--pgn-elevation-menu-box-shadow-color);
+}
+
.pgn__menu {
border-radius: var(--pgn-size-menu-base-border-radius);
box-shadow: var(--pgn-elevation-menu-box-shadow);
diff --git a/src/Modal/ModalDialog.jsx b/src/Modal/ModalDialog.jsx
index 6814b3c22e..caa519c1c6 100644
--- a/src/Modal/ModalDialog.jsx
+++ b/src/Modal/ModalDialog.jsx
@@ -122,8 +122,13 @@ ModalDialog.propTypes = {
* Specifies the z-index of the modal
*/
zIndex: PropTypes.number,
- /** Specifies whether overflow is visible in the modal */
- isOverflowVisible: PropTypes.bool,
+ /**
+ * Specifies whether overflow content inside the modal should be visible.
+ * - `true` - content that exceeds the modal boundaries will remain visible outside the modal's main viewport,
+ * rather than being clipped or hidden.
+ * - `false` - any overflow content will be clipped to fit within the modal's dimensions.
+ */
+ isOverflowVisible: PropTypes.bool.isRequired,
};
ModalDialog.defaultProps = {
@@ -137,7 +142,6 @@ ModalDialog.defaultProps = {
isFullscreenOnMobile: false,
isBlocking: false,
zIndex: undefined,
- isOverflowVisible: true,
};
ModalDialog.Header = ModalDialogHeader;
diff --git a/src/Modal/_ModalDialog.scss b/src/Modal/_ModalDialog.scss
index 1d152badd7..112574551d 100644
--- a/src/Modal/_ModalDialog.scss
+++ b/src/Modal/_ModalDialog.scss
@@ -1,3 +1,23 @@
+:root {
+ --pgn-elevation-modal-content-box-shadow-sm-up:
+ var(--pgn-elevation-modal-content-box-shadow-sm-up-1-offset-x)
+ var(--pgn-elevation-modal-content-box-shadow-sm-up-1-offset-y)
+ var(--pgn-elevation-modal-content-box-shadow-sm-up-1-blur)
+ var(--pgn-elevation-modal-content-box-shadow-sm-up-1-color),
+ var(--pgn-elevation-modal-content-box-shadow-sm-up-2-offset-x)
+ var(--pgn-elevation-modal-content-box-shadow-sm-up-2-offset-y)
+ var(--pgn-elevation-modal-content-box-shadow-sm-up-2-blur)
+ var(--pgn-elevation-modal-content-box-shadow-sm-up-2-color);
+
+ --pgn-spacing-modal-footer-padding-base:
+ var(--pgn-spacing-modal-footer-padding-base-y)
+ var(--pgn-spacing-modal-footer-padding-base-x);
+
+ --pgn-spacing-modal-header-padding-base:
+ var(--pgn-spacing-modal-header-padding-base-y)
+ var(--pgn-spacing-modal-header-padding-base-x);
+}
+
.pgn__modal {
background: var(--pgn-color-modal-content-bg);
border-radius: calc(var(--pgn-size-modal-content-border-radius) - var(--pgn-size-modal-content-border-width));
@@ -122,7 +142,7 @@
}
.pgn__modal-title {
- font-size: var(--pgn-typography-font-size-h3);
+ font-size: var(--pgn-typography-font-size-h3-base);
margin-inline-end: 3rem; // roughly accomodate the width of the close buttonn
text-align: start;
}
@@ -310,7 +330,7 @@
}
.pgn__modal-title {
- font-size: var(--pgn-typography-font-size-h4);
+ font-size: var(--pgn-typography-font-size-h4-base);
display: flex;
flex-grow: 1;
align-items: center;
diff --git a/src/Modal/modal-dialog.mdx b/src/Modal/modal-dialog.mdx
index 7e2ad4b153..bfc0f84b0b 100644
--- a/src/Modal/modal-dialog.mdx
+++ b/src/Modal/modal-dialog.mdx
@@ -31,10 +31,13 @@ label for the dialog element.
const variants = ['default', 'warning', 'danger', 'success', 'dark'];
const [modalSize, setModalSize] = useState('md');
const [modalVariant, setModalVariant] = useState('default');
+
return (
<>
-
+
@@ -73,7 +77,11 @@ label for the dialog element.
- I'm baby palo santo ugh celiac fashion axe. La croix lo-fi venmo whatever. Beard man braid migas single-origin coffee forage ramps. Tumeric messenger bag bicycle rights wayfarers, try-hard cronut blue bottle health goth. Sriracha tumblr cardigan, cloud bread succulents tumeric copper mug marfa semiotics woke next level organic roof party +1 try-hard.
+ I'm baby palo santo ugh celiac fashion axe. La croix lo-fi venmo whatever.
+ Beard man braid migas single-origin coffee forage ramps. Tumeric messenger
+ bag bicycle rights wayfarers, try-hard cronut blue bottle health goth.
+ Sriracha tumblr cardigan, cloud bread succulents tumeric copper mug marfa
+ semiotics woke next level organic roof party +1 try-hard.
@@ -82,7 +90,7 @@ label for the dialog element.
Cancel
-