@digdir/designsystemet 0.0.0-chore-remove-cli-tsx-20260701060359
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +7 -0
- package/README.md +104 -0
- package/dist/bin/config.d.ts +14 -0
- package/dist/bin/config.d.ts.map +1 -0
- package/dist/bin/config.js +58 -0
- package/dist/bin/config.js.map +1 -0
- package/dist/bin/designsystemet.d.ts +1 -0
- package/dist/bin/designsystemet.js +174 -0
- package/dist/bin/designsystemet.js.map +1 -0
- package/dist/bin/options.d.ts +24 -0
- package/dist/bin/options.d.ts.map +1 -0
- package/dist/bin/options.js +25 -0
- package/dist/bin/options.js.map +1 -0
- package/dist/config.schema.json +181 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/BorderValues.js +11 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/BorderValues.js.map +1 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/BoxShadowTypes.js +10 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/BoxShadowTypes.js.map +1 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/BoxShadowValues.js +15 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/BoxShadowValues.js.map +1 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/ColorModifierTypes.js +12 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/ColorModifierTypes.js.map +1 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/ColorSpaceTypes.js +12 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/ColorSpaceTypes.js.map +1 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/Properties.js +55 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/Properties.js.map +1 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/StrokeStyleValues.js +16 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/StrokeStyleValues.js.map +1 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TokenSetStatus.d.ts +11 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TokenSetStatus.d.ts.map +1 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TokenSetStatus.js +11 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TokenSetStatus.js.map +1 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TokenTypes.js +34 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TokenTypes.js.map +1 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TypographyValues.js +17 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TypographyValues.js.map +1 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/types/ThemeObject.d.ts +16 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/types/ThemeObject.d.ts.map +1 -0
- package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/types/index.js +11 -0
- package/dist/package.js +7 -0
- package/dist/package.js.map +1 -0
- package/dist/src/automigrate.d.ts +5 -0
- package/dist/src/automigrate.d.ts.map +1 -0
- package/dist/src/automigrate.js +35 -0
- package/dist/src/automigrate.js.map +1 -0
- package/dist/src/colors/colorMetadata.d.ts +60 -0
- package/dist/src/colors/colorMetadata.d.ts.map +1 -0
- package/dist/src/colors/colorMetadata.js +261 -0
- package/dist/src/colors/colorMetadata.js.map +1 -0
- package/dist/src/colors/index.d.ts +5 -0
- package/dist/src/colors/index.js +5 -0
- package/dist/src/colors/theme.d.ts +34 -0
- package/dist/src/colors/theme.d.ts.map +1 -0
- package/dist/src/colors/theme.js +113 -0
- package/dist/src/colors/theme.js.map +1 -0
- package/dist/src/colors/types.d.ts +67 -0
- package/dist/src/colors/types.d.ts.map +1 -0
- package/dist/src/colors/types.js +26 -0
- package/dist/src/colors/types.js.map +1 -0
- package/dist/src/colors/utils.d.ts +132 -0
- package/dist/src/colors/utils.d.ts.map +1 -0
- package/dist/src/colors/utils.js +246 -0
- package/dist/src/colors/utils.js.map +1 -0
- package/dist/src/index.d.ts +10 -0
- package/dist/src/index.js +11 -0
- package/dist/src/migrations/beta-to-v1.d.ts +5 -0
- package/dist/src/migrations/beta-to-v1.d.ts.map +1 -0
- package/dist/src/migrations/beta-to-v1.js +342 -0
- package/dist/src/migrations/beta-to-v1.js.map +1 -0
- package/dist/src/migrations/codemods/css/plugins.d.ts +9 -0
- package/dist/src/migrations/codemods/css/plugins.d.ts.map +1 -0
- package/dist/src/migrations/codemods/css/plugins.js +37 -0
- package/dist/src/migrations/codemods/css/plugins.js.map +1 -0
- package/dist/src/migrations/codemods/css/run.d.ts +14 -0
- package/dist/src/migrations/codemods/css/run.d.ts.map +1 -0
- package/dist/src/migrations/codemods/css/run.js +25 -0
- package/dist/src/migrations/codemods/css/run.js.map +1 -0
- package/dist/src/migrations/color-rename-next49.d.ts +5 -0
- package/dist/src/migrations/color-rename-next49.d.ts.map +1 -0
- package/dist/src/migrations/color-rename-next49.js +48 -0
- package/dist/src/migrations/color-rename-next49.js.map +1 -0
- package/dist/src/migrations/flatten-color-categories.d.ts +12 -0
- package/dist/src/migrations/flatten-color-categories.d.ts.map +1 -0
- package/dist/src/migrations/flatten-color-categories.js +58 -0
- package/dist/src/migrations/flatten-color-categories.js.map +1 -0
- package/dist/src/migrations/index.d.ts +17 -0
- package/dist/src/migrations/index.d.ts.map +1 -0
- package/dist/src/migrations/index.js +13 -0
- package/dist/src/migrations/index.js.map +1 -0
- package/dist/src/schemas/helpers.d.ts +42 -0
- package/dist/src/schemas/helpers.d.ts.map +1 -0
- package/dist/src/schemas/helpers.js +96 -0
- package/dist/src/schemas/helpers.js.map +1 -0
- package/dist/src/schemas/v1/schema.d.ts +173 -0
- package/dist/src/schemas/v1/schema.d.ts.map +1 -0
- package/dist/src/schemas/v1/schema.js +65 -0
- package/dist/src/schemas/v1/schema.js.map +1 -0
- package/dist/src/schemas/v1.1/schema.d.ts +165 -0
- package/dist/src/schemas/v1.1/schema.d.ts.map +1 -0
- package/dist/src/schemas/v1.1/schema.js +56 -0
- package/dist/src/schemas/v1.1/schema.js.map +1 -0
- package/dist/src/tokens/build.d.ts +8 -0
- package/dist/src/tokens/build.d.ts.map +1 -0
- package/dist/src/tokens/build.js +43 -0
- package/dist/src/tokens/build.js.map +1 -0
- package/dist/src/tokens/create/files.d.ts +19 -0
- package/dist/src/tokens/create/files.d.ts.map +1 -0
- package/dist/src/tokens/create/files.js +48 -0
- package/dist/src/tokens/create/files.js.map +1 -0
- package/dist/src/tokens/create/generators/$designsystemet.d.ts +8 -0
- package/dist/src/tokens/create/generators/$designsystemet.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/$designsystemet.js +12 -0
- package/dist/src/tokens/create/generators/$designsystemet.js.map +1 -0
- package/dist/src/tokens/create/generators/$metadata.d.ts +15 -0
- package/dist/src/tokens/create/generators/$metadata.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/$metadata.js +25 -0
- package/dist/src/tokens/create/generators/$metadata.js.map +1 -0
- package/dist/src/tokens/create/generators/$themes.d.ts +28 -0
- package/dist/src/tokens/create/generators/$themes.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/$themes.js +158 -0
- package/dist/src/tokens/create/generators/$themes.js.map +1 -0
- package/dist/src/tokens/create/generators/primitives/color-scheme.d.ts +9 -0
- package/dist/src/tokens/create/generators/primitives/color-scheme.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/primitives/color-scheme.js +71 -0
- package/dist/src/tokens/create/generators/primitives/color-scheme.js.map +1 -0
- package/dist/src/tokens/create/generators/primitives/globals.d.ts +7 -0
- package/dist/src/tokens/create/generators/primitives/globals.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/primitives/globals.js +144 -0
- package/dist/src/tokens/create/generators/primitives/globals.js.map +1 -0
- package/dist/src/tokens/create/generators/primitives/size.d.ts +8 -0
- package/dist/src/tokens/create/generators/primitives/size.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/primitives/size.js +149 -0
- package/dist/src/tokens/create/generators/primitives/size.js.map +1 -0
- package/dist/src/tokens/create/generators/primitives/typography.d.ts +10 -0
- package/dist/src/tokens/create/generators/primitives/typography.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/primitives/typography.js +218 -0
- package/dist/src/tokens/create/generators/primitives/typography.js.map +1 -0
- package/dist/src/tokens/create/generators/semantic/color.d.ts +7 -0
- package/dist/src/tokens/create/generators/semantic/color.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/semantic/color.js +19 -0
- package/dist/src/tokens/create/generators/semantic/color.js.map +1 -0
- package/dist/src/tokens/create/generators/semantic/style.d.ts +7 -0
- package/dist/src/tokens/create/generators/semantic/style.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/semantic/style.js +420 -0
- package/dist/src/tokens/create/generators/semantic/style.js.map +1 -0
- package/dist/src/tokens/create/generators/themes/theme.d.ts +7 -0
- package/dist/src/tokens/create/generators/themes/theme.d.ts.map +1 -0
- package/dist/src/tokens/create/generators/themes/theme.js +105 -0
- package/dist/src/tokens/create/generators/themes/theme.js.map +1 -0
- package/dist/src/tokens/create.d.ts +10 -0
- package/dist/src/tokens/create.d.ts.map +1 -0
- package/dist/src/tokens/create.js +40 -0
- package/dist/src/tokens/create.js.map +1 -0
- package/dist/src/tokens/format.d.ts +19 -0
- package/dist/src/tokens/format.d.ts.map +1 -0
- package/dist/src/tokens/format.js +42 -0
- package/dist/src/tokens/format.js.map +1 -0
- package/dist/src/tokens/generate-config.d.ts +14 -0
- package/dist/src/tokens/generate-config.d.ts.map +1 -0
- package/dist/src/tokens/generate-config.js +154 -0
- package/dist/src/tokens/generate-config.js.map +1 -0
- package/dist/src/tokens/index.d.ts +5 -0
- package/dist/src/tokens/index.js +4 -0
- package/dist/src/tokens/process/configs/color.d.ts +8 -0
- package/dist/src/tokens/process/configs/color.d.ts.map +1 -0
- package/dist/src/tokens/process/configs/color.js +50 -0
- package/dist/src/tokens/process/configs/color.js.map +1 -0
- package/dist/src/tokens/process/configs/semantic.d.ts +7 -0
- package/dist/src/tokens/process/configs/semantic.d.ts.map +1 -0
- package/dist/src/tokens/process/configs/semantic.js +49 -0
- package/dist/src/tokens/process/configs/semantic.js.map +1 -0
- package/dist/src/tokens/process/configs/shared.d.ts +14 -0
- package/dist/src/tokens/process/configs/shared.d.ts.map +1 -0
- package/dist/src/tokens/process/configs/shared.js +21 -0
- package/dist/src/tokens/process/configs/shared.js.map +1 -0
- package/dist/src/tokens/process/configs/size-mode.d.ts +7 -0
- package/dist/src/tokens/process/configs/size-mode.d.ts.map +1 -0
- package/dist/src/tokens/process/configs/size-mode.js +30 -0
- package/dist/src/tokens/process/configs/size-mode.js.map +1 -0
- package/dist/src/tokens/process/configs/size.d.ts +7 -0
- package/dist/src/tokens/process/configs/size.d.ts.map +1 -0
- package/dist/src/tokens/process/configs/size.js +36 -0
- package/dist/src/tokens/process/configs/size.js.map +1 -0
- package/dist/src/tokens/process/configs/type-scale.d.ts +7 -0
- package/dist/src/tokens/process/configs/type-scale.d.ts.map +1 -0
- package/dist/src/tokens/process/configs/type-scale.js +51 -0
- package/dist/src/tokens/process/configs/type-scale.js.map +1 -0
- package/dist/src/tokens/process/configs/typography.d.ts +7 -0
- package/dist/src/tokens/process/configs/typography.d.ts.map +1 -0
- package/dist/src/tokens/process/configs/typography.js +66 -0
- package/dist/src/tokens/process/configs/typography.js.map +1 -0
- package/dist/src/tokens/process/configs.d.ts +18 -0
- package/dist/src/tokens/process/configs.d.ts.map +1 -0
- package/dist/src/tokens/process/configs.js +74 -0
- package/dist/src/tokens/process/configs.js.map +1 -0
- package/dist/src/tokens/process/formats/css/color.d.ts +8 -0
- package/dist/src/tokens/process/formats/css/color.d.ts.map +1 -0
- package/dist/src/tokens/process/formats/css/color.js +64 -0
- package/dist/src/tokens/process/formats/css/color.js.map +1 -0
- package/dist/src/tokens/process/formats/css/semantic.d.ts +7 -0
- package/dist/src/tokens/process/formats/css/semantic.d.ts.map +1 -0
- package/dist/src/tokens/process/formats/css/semantic.js +31 -0
- package/dist/src/tokens/process/formats/css/semantic.js.map +1 -0
- package/dist/src/tokens/process/formats/css/size-mode.d.ts +7 -0
- package/dist/src/tokens/process/formats/css/size-mode.d.ts.map +1 -0
- package/dist/src/tokens/process/formats/css/size-mode.js +52 -0
- package/dist/src/tokens/process/formats/css/size-mode.js.map +1 -0
- package/dist/src/tokens/process/formats/css/size.d.ts +16 -0
- package/dist/src/tokens/process/formats/css/size.d.ts.map +1 -0
- package/dist/src/tokens/process/formats/css/size.js +95 -0
- package/dist/src/tokens/process/formats/css/size.js.map +1 -0
- package/dist/src/tokens/process/formats/css/type-scale.d.ts +7 -0
- package/dist/src/tokens/process/formats/css/type-scale.d.ts.map +1 -0
- package/dist/src/tokens/process/formats/css/type-scale.js +57 -0
- package/dist/src/tokens/process/formats/css/type-scale.js.map +1 -0
- package/dist/src/tokens/process/formats/css/typography.d.ts +7 -0
- package/dist/src/tokens/process/formats/css/typography.d.ts.map +1 -0
- package/dist/src/tokens/process/formats/css/typography.js +31 -0
- package/dist/src/tokens/process/formats/css/typography.js.map +1 -0
- package/dist/src/tokens/process/formats/css.d.ts +15 -0
- package/dist/src/tokens/process/formats/css.d.ts.map +1 -0
- package/dist/src/tokens/process/formats/css.js +20 -0
- package/dist/src/tokens/process/formats/css.js.map +1 -0
- package/dist/src/tokens/process/output/declarations.d.ts +9 -0
- package/dist/src/tokens/process/output/declarations.d.ts.map +1 -0
- package/dist/src/tokens/process/output/declarations.js +38 -0
- package/dist/src/tokens/process/output/declarations.js.map +1 -0
- package/dist/src/tokens/process/output/tailwind.d.ts +7 -0
- package/dist/src/tokens/process/output/tailwind.d.ts.map +1 -0
- package/dist/src/tokens/process/output/tailwind.js +47 -0
- package/dist/src/tokens/process/output/tailwind.js.map +1 -0
- package/dist/src/tokens/process/output/theme.d.ts +31 -0
- package/dist/src/tokens/process/output/theme.d.ts.map +1 -0
- package/dist/src/tokens/process/output/theme.js +85 -0
- package/dist/src/tokens/process/output/theme.js.map +1 -0
- package/dist/src/tokens/process/platform.d.ts +69 -0
- package/dist/src/tokens/process/platform.d.ts.map +1 -0
- package/dist/src/tokens/process/platform.js +128 -0
- package/dist/src/tokens/process/platform.js.map +1 -0
- package/dist/src/tokens/process/transformers.d.ts +10 -0
- package/dist/src/tokens/process/transformers.d.ts.map +1 -0
- package/dist/src/tokens/process/transformers.js +56 -0
- package/dist/src/tokens/process/transformers.js.map +1 -0
- package/dist/src/tokens/process/utils/getMultidimensionalThemes.d.ts +38 -0
- package/dist/src/tokens/process/utils/getMultidimensionalThemes.d.ts.map +1 -0
- package/dist/src/tokens/process/utils/getMultidimensionalThemes.js +112 -0
- package/dist/src/tokens/process/utils/getMultidimensionalThemes.js.map +1 -0
- package/dist/src/tokens/process/utils/kebab-case.d.ts +8 -0
- package/dist/src/tokens/process/utils/kebab-case.d.ts.map +1 -0
- package/dist/src/tokens/process/utils/kebab-case.js +11 -0
- package/dist/src/tokens/process/utils/kebab-case.js.map +1 -0
- package/dist/src/tokens/types.d.ts +71 -0
- package/dist/src/tokens/types.d.ts.map +1 -0
- package/dist/src/tokens/types.js +1 -0
- package/dist/src/tokens/utils.d.ts +62 -0
- package/dist/src/tokens/utils.d.ts.map +1 -0
- package/dist/src/tokens/utils.js +123 -0
- package/dist/src/tokens/utils.js.map +1 -0
- package/dist/src/types.d.ts +1 -0
- package/dist/src/types.js +10 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/utils/filesystem.d.ts +47 -0
- package/dist/src/utils/filesystem.d.ts.map +1 -0
- package/dist/src/utils/filesystem.js +117 -0
- package/dist/src/utils/filesystem.js.map +1 -0
- package/package.json +87 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { pathStartsWithOneOf, typeEquals } from "../../utils.js";
|
|
2
|
+
import { dsTransformers } from "./shared.js";
|
|
3
|
+
import { formats } from "../formats/css.js";
|
|
4
|
+
import * as R from "ramda";
|
|
5
|
+
import { outputReferencesFilter } from "style-dictionary/utils";
|
|
6
|
+
//#region src/tokens/process/configs/semantic.ts
|
|
7
|
+
const semanticVariables = ({ theme }) => {
|
|
8
|
+
return {
|
|
9
|
+
preprocessors: ["tokens-studio"],
|
|
10
|
+
platforms: { css: {
|
|
11
|
+
theme,
|
|
12
|
+
basePxFontSize: 16,
|
|
13
|
+
selector: `:root`,
|
|
14
|
+
layer: `ds.theme.semantic`,
|
|
15
|
+
prefix: "ds",
|
|
16
|
+
buildPath: `${theme}/`,
|
|
17
|
+
transforms: dsTransformers,
|
|
18
|
+
files: [{
|
|
19
|
+
destination: `semantic.css`,
|
|
20
|
+
format: formats.semantic.name,
|
|
21
|
+
filter: (token) => {
|
|
22
|
+
const isUwantedToken = R.anyPass([R.includes("primitives/global")])(token.filePath);
|
|
23
|
+
const isPrivateToken = R.includes("_", token.path);
|
|
24
|
+
const unwantedPaths = pathStartsWithOneOf([
|
|
25
|
+
"size",
|
|
26
|
+
"_size",
|
|
27
|
+
"font-size",
|
|
28
|
+
"line-height",
|
|
29
|
+
"letter-spacing"
|
|
30
|
+
], token);
|
|
31
|
+
const unwantedTypes = typeEquals([
|
|
32
|
+
"color",
|
|
33
|
+
"fontWeight",
|
|
34
|
+
"fontFamily",
|
|
35
|
+
"typography"
|
|
36
|
+
], token);
|
|
37
|
+
return !(unwantedPaths || unwantedTypes || isPrivateToken || isUwantedToken);
|
|
38
|
+
}
|
|
39
|
+
}],
|
|
40
|
+
options: { outputReferences: (token, options) => {
|
|
41
|
+
return pathStartsWithOneOf(["border-radius"], token) && outputReferencesFilter(token, options);
|
|
42
|
+
} }
|
|
43
|
+
} }
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
//#endregion
|
|
47
|
+
export { semanticVariables };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=semantic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic.js","names":[],"sources":["../../../../../src/tokens/process/configs/semantic.ts"],"sourcesContent":["import * as R from 'ramda';\nimport { outputReferencesFilter } from 'style-dictionary/utils';\nimport { pathStartsWithOneOf, typeEquals } from '../../utils.ts';\nimport { formats } from '../formats/css.ts';\n\nimport { basePxFontSize, dsTransformers, type GetStyleDictionaryConfig, prefix } from './shared.ts';\n\nexport const semanticVariables: GetStyleDictionaryConfig = ({ theme }) => {\n const selector = `:root`;\n const layer = `ds.theme.semantic`;\n\n return {\n preprocessors: ['tokens-studio'],\n platforms: {\n css: {\n // custom\n theme,\n basePxFontSize,\n selector,\n layer,\n //\n prefix,\n buildPath: `${theme}/`,\n transforms: dsTransformers,\n files: [\n {\n destination: `semantic.css`,\n format: formats.semantic.name,\n filter: (token) => {\n const isUwantedToken = R.anyPass([R.includes('primitives/global')])(token.filePath);\n const isPrivateToken = R.includes('_', token.path);\n const unwantedPaths = pathStartsWithOneOf(\n ['size', '_size', 'font-size', 'line-height', 'letter-spacing'],\n token,\n );\n const unwantedTypes = typeEquals(['color', 'fontWeight', 'fontFamily', 'typography'], token);\n const unwantedTokens = !(unwantedPaths || unwantedTypes || isPrivateToken || isUwantedToken);\n\n return unwantedTokens;\n },\n },\n ],\n options: {\n outputReferences: (token, options) => {\n const include = pathStartsWithOneOf(['border-radius'], token);\n return include && outputReferencesFilter(token, options);\n },\n },\n },\n },\n };\n};\n"],"mappings":";;;;;;AAOA,MAAa,qBAA+C,EAAE,YAAY;CAIxE,OAAO;EACL,eAAe,CAAC,eAAe;EAC/B,WAAW,EACT,KAAK;GAEH;GACA,gBAAA;GACA,UAAA;GACA,OAAA;GAEA,QAAA;GACA,WAAW,GAAG,MAAM;GACpB,YAAY;GACZ,OAAO,CACL;IACE,aAAa;IACb,QAAQ,QAAQ,SAAS;IACzB,SAAS,UAAU;KACjB,MAAM,iBAAiB,EAAE,QAAQ,CAAC,EAAE,SAAS,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ;KAClF,MAAM,iBAAiB,EAAE,SAAS,KAAK,MAAM,IAAI;KACjD,MAAM,gBAAgB,oBACpB;MAAC;MAAQ;MAAS;MAAa;MAAe;KAAgB,GAC9D,KACF;KACA,MAAM,gBAAgB,WAAW;MAAC;MAAS;MAAc;MAAc;KAAY,GAAG,KAAK;KAG3F,OAAO,EAFkB,iBAAiB,iBAAiB,kBAAkB;IAG/E;GACF,CACF;GACA,SAAS,EACP,mBAAmB,OAAO,YAAY;IAEpC,OADgB,oBAAoB,CAAC,eAAe,GAAG,KAC1C,KAAK,uBAAuB,OAAO,OAAO;GACzD,EACF;EACF,EACF;CACF;AACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ThemePermutation } from "../../types.js";
|
|
2
|
+
import { Config } from "style-dictionary/types";
|
|
3
|
+
|
|
4
|
+
//#region src/tokens/process/configs/shared.d.ts
|
|
5
|
+
type GetStyleDictionaryConfig = (permutation: ThemePermutation) => Config | {
|
|
6
|
+
config: Config;
|
|
7
|
+
permutationOverrides?: Partial<ThemePermutation>;
|
|
8
|
+
}[];
|
|
9
|
+
declare const prefix = "ds";
|
|
10
|
+
declare const basePxFontSize = 16;
|
|
11
|
+
declare const dsTransformers: string[];
|
|
12
|
+
//#endregion
|
|
13
|
+
export { GetStyleDictionaryConfig, basePxFontSize, dsTransformers, prefix };
|
|
14
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","names":[],"sources":["../../../../../src/tokens/process/configs/shared.ts"],"mappings":";;;;KAIY,wBAAA,IACV,WAAA,EAAa,gBAAA,KACV,MAAA;EAA0B,MAAA,EAAQ,MAAA;EAAuB,oBAAA,GAAuB,OAAA,CAAQ,gBAAA;AAAA;AAAA,cAEhF,MAAA;AAAA,cACA,cAAA;AAAA,cAEA,cAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { resolveMath, sizeRem, typographyName, unitless } from "../transformers.js";
|
|
2
|
+
//#region src/tokens/process/configs/shared.ts
|
|
3
|
+
const prefix = "ds";
|
|
4
|
+
const basePxFontSize = 16;
|
|
5
|
+
const dsTransformers = [
|
|
6
|
+
"name/kebab",
|
|
7
|
+
resolveMath.name,
|
|
8
|
+
"ts/size/px",
|
|
9
|
+
sizeRem.name,
|
|
10
|
+
unitless.name,
|
|
11
|
+
"ts/typography/fontWeight",
|
|
12
|
+
typographyName.name,
|
|
13
|
+
"ts/color/modifiers",
|
|
14
|
+
"ts/color/css/hexrgba",
|
|
15
|
+
"ts/size/lineheight",
|
|
16
|
+
"shadow/css/shorthand"
|
|
17
|
+
];
|
|
18
|
+
//#endregion
|
|
19
|
+
export { basePxFontSize, dsTransformers, prefix };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","names":[],"sources":["../../../../../src/tokens/process/configs/shared.ts"],"sourcesContent":["import type { Config as StyleDictionaryConfig } from 'style-dictionary/types';\nimport type { ThemePermutation } from '../../types.ts';\nimport { resolveMath, sizeRem, typographyName, unitless } from '../transformers.ts';\n\nexport type GetStyleDictionaryConfig = (\n permutation: ThemePermutation,\n) => StyleDictionaryConfig | { config: StyleDictionaryConfig; permutationOverrides?: Partial<ThemePermutation> }[];\n\nexport const prefix = 'ds';\nexport const basePxFontSize = 16;\n\nexport const dsTransformers = [\n 'name/kebab',\n resolveMath.name,\n 'ts/size/px',\n sizeRem.name,\n unitless.name,\n 'ts/typography/fontWeight',\n typographyName.name,\n 'ts/color/modifiers',\n 'ts/color/css/hexrgba',\n 'ts/size/lineheight',\n 'shadow/css/shorthand',\n];\n"],"mappings":";;AAQA,MAAa,SAAS;AACtB,MAAa,iBAAiB;AAE9B,MAAa,iBAAiB;CAC5B;CACA,YAAY;CACZ;CACA,QAAQ;CACR,SAAS;CACT;CACA,eAAe;CACf;CACA;CACA;CACA;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"size-mode.d.ts","names":[],"sources":["../../../../../src/tokens/process/configs/size-mode.ts"],"mappings":";;;cAKa,iBAAA,EAAmB,wBA8B/B"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { dsTransformers } from "./shared.js";
|
|
2
|
+
import { formats } from "../formats/css.js";
|
|
3
|
+
import * as R from "ramda";
|
|
4
|
+
//#region src/tokens/process/configs/size-mode.ts
|
|
5
|
+
const sizeModeVariables = ({ theme, size }) => {
|
|
6
|
+
return {
|
|
7
|
+
preprocessors: ["tokens-studio"],
|
|
8
|
+
platforms: { css: {
|
|
9
|
+
size,
|
|
10
|
+
theme,
|
|
11
|
+
basePxFontSize: 16,
|
|
12
|
+
selector: `:root`,
|
|
13
|
+
layer: `ds.theme.size-mode`,
|
|
14
|
+
prefix: "ds",
|
|
15
|
+
buildPath: `${theme}/`,
|
|
16
|
+
transforms: dsTransformers,
|
|
17
|
+
files: [{
|
|
18
|
+
destination: `size-mode/${size}.css`,
|
|
19
|
+
format: formats.sizeMode.name,
|
|
20
|
+
filter: (token) => {
|
|
21
|
+
return R.equals(["_size", "mode-font-size"], token.path);
|
|
22
|
+
}
|
|
23
|
+
}]
|
|
24
|
+
} }
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
export { sizeModeVariables };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=size-mode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"size-mode.js","names":[],"sources":["../../../../../src/tokens/process/configs/size-mode.ts"],"sourcesContent":["import * as R from 'ramda';\nimport { formats } from '../formats/css.ts';\n\nimport { basePxFontSize, dsTransformers, type GetStyleDictionaryConfig, prefix } from './shared.ts';\n\nexport const sizeModeVariables: GetStyleDictionaryConfig = ({ theme, size }) => {\n const selector = `:root`;\n const layer = `ds.theme.size-mode`;\n\n return {\n preprocessors: ['tokens-studio'],\n platforms: {\n css: {\n // custom\n size,\n theme,\n basePxFontSize,\n selector,\n layer,\n //\n prefix,\n buildPath: `${theme}/`,\n transforms: dsTransformers,\n files: [\n {\n destination: `size-mode/${size}.css`,\n format: formats.sizeMode.name,\n filter: (token) => {\n return R.equals(['_size', 'mode-font-size'], token.path);\n },\n },\n ],\n },\n },\n };\n};\n"],"mappings":";;;;AAKA,MAAa,qBAA+C,EAAE,OAAO,WAAW;CAI9E,OAAO;EACL,eAAe,CAAC,eAAe;EAC/B,WAAW,EACT,KAAK;GAEH;GACA;GACA,gBAAA;GACA,UAAA;GACA,OAAA;GAEA,QAAA;GACA,WAAW,GAAG,MAAM;GACpB,YAAY;GACZ,OAAO,CACL;IACE,aAAa,aAAa,KAAK;IAC/B,QAAQ,QAAQ,SAAS;IACzB,SAAS,UAAU;KACjB,OAAO,EAAE,OAAO,CAAC,SAAS,gBAAgB,GAAG,MAAM,IAAI;IACzD;GACF,CACF;EACF,EACF;CACF;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"size.d.ts","names":[],"sources":["../../../../../src/tokens/process/configs/size.ts"],"mappings":";;;cAQa,aAAA,EAAe,wBAuC3B"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { isDigit, pathStartsWithOneOf } from "../../utils.js";
|
|
2
|
+
import { dsTransformers } from "./shared.js";
|
|
3
|
+
import { formats } from "../formats/css.js";
|
|
4
|
+
import * as R from "ramda";
|
|
5
|
+
import { outputReferencesFilter } from "style-dictionary/utils";
|
|
6
|
+
//#region src/tokens/process/configs/size.ts
|
|
7
|
+
const sizeVariables = ({ theme }) => {
|
|
8
|
+
return {
|
|
9
|
+
preprocessors: ["tokens-studio"],
|
|
10
|
+
platforms: { css: {
|
|
11
|
+
theme,
|
|
12
|
+
basePxFontSize: 16,
|
|
13
|
+
selector: `:root, [data-size]`,
|
|
14
|
+
layer: `ds.theme.size`,
|
|
15
|
+
prefix: "ds",
|
|
16
|
+
buildPath: `${theme}/`,
|
|
17
|
+
transforms: dsTransformers,
|
|
18
|
+
files: [{
|
|
19
|
+
destination: `size.css`,
|
|
20
|
+
format: formats.size.name,
|
|
21
|
+
filter: (token) => {
|
|
22
|
+
const isUwantedToken = R.anyPass([R.includes("primitives/global")])(token.filePath);
|
|
23
|
+
const isPrivateToken = R.includes("_", token.path);
|
|
24
|
+
return pathStartsWithOneOf(["size", "_size"], token) && !(isUwantedToken || isPrivateToken);
|
|
25
|
+
}
|
|
26
|
+
}],
|
|
27
|
+
options: { outputReferences: (token, options) => {
|
|
28
|
+
return pathStartsWithOneOf(["size", "_size"], token) && (isDigit(token.path[1]) || token.path[1] === "unit") && outputReferencesFilter(token, options);
|
|
29
|
+
} }
|
|
30
|
+
} }
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
//#endregion
|
|
34
|
+
export { sizeVariables };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=size.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"size.js","names":[],"sources":["../../../../../src/tokens/process/configs/size.ts"],"sourcesContent":["import * as R from 'ramda';\nimport type {} from 'style-dictionary/types';\nimport { outputReferencesFilter } from 'style-dictionary/utils';\nimport { isDigit, pathStartsWithOneOf } from '../../utils.ts';\nimport { formats } from '../formats/css.ts';\n\nimport { basePxFontSize, dsTransformers, type GetStyleDictionaryConfig, prefix } from './shared.ts';\n\nexport const sizeVariables: GetStyleDictionaryConfig = ({ theme }) => {\n // [data-size] selector ensures --ds-size-* variables are recalculated when --ds-size-mode-font-size changes\n const selector = `:root, [data-size]`;\n const layer = `ds.theme.size`;\n\n return {\n preprocessors: ['tokens-studio'],\n platforms: {\n css: {\n // custom\n theme,\n basePxFontSize,\n selector,\n layer,\n //\n prefix,\n buildPath: `${theme}/`,\n transforms: dsTransformers,\n files: [\n {\n destination: `size.css`,\n format: formats.size.name,\n filter: (token) => {\n const isUwantedToken = R.anyPass([R.includes('primitives/global')])(token.filePath);\n const isPrivateToken = R.includes('_', token.path);\n return pathStartsWithOneOf(['size', '_size'], token) && !(isUwantedToken || isPrivateToken);\n },\n },\n ],\n options: {\n outputReferences: (token, options) => {\n const isWantedSize =\n pathStartsWithOneOf(['size', '_size'], token) && (isDigit(token.path[1]) || token.path[1] === 'unit');\n return isWantedSize && outputReferencesFilter(token, options);\n },\n },\n },\n },\n };\n};\n"],"mappings":";;;;;;AAQA,MAAa,iBAA2C,EAAE,YAAY;CAKpE,OAAO;EACL,eAAe,CAAC,eAAe;EAC/B,WAAW,EACT,KAAK;GAEH;GACA,gBAAA;GACA,UAAA;GACA,OAAA;GAEA,QAAA;GACA,WAAW,GAAG,MAAM;GACpB,YAAY;GACZ,OAAO,CACL;IACE,aAAa;IACb,QAAQ,QAAQ,KAAK;IACrB,SAAS,UAAU;KACjB,MAAM,iBAAiB,EAAE,QAAQ,CAAC,EAAE,SAAS,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ;KAClF,MAAM,iBAAiB,EAAE,SAAS,KAAK,MAAM,IAAI;KACjD,OAAO,oBAAoB,CAAC,QAAQ,OAAO,GAAG,KAAK,KAAK,EAAE,kBAAkB;IAC9E;GACF,CACF;GACA,SAAS,EACP,mBAAmB,OAAO,YAAY;IAGpC,OADE,oBAAoB,CAAC,QAAQ,OAAO,GAAG,KAAK,MAAM,QAAQ,MAAM,KAAK,EAAE,KAAK,MAAM,KAAK,OAAO,WACzE,uBAAuB,OAAO,OAAO;GAC9D,EACF;EACF,EACF;CACF;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-scale.d.ts","names":[],"sources":["../../../../../src/tokens/process/configs/type-scale.ts"],"mappings":";;;cAKa,kBAAA,EAAoB,wBAiDhC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { pathStartsWithOneOf, typeEquals } from "../../utils.js";
|
|
2
|
+
import { sizeRem, typographyName } from "../transformers.js";
|
|
3
|
+
import "./shared.js";
|
|
4
|
+
import { formats } from "../formats/css.js";
|
|
5
|
+
//#region src/tokens/process/configs/type-scale.ts
|
|
6
|
+
const typeScaleVariables = ({ theme }) => {
|
|
7
|
+
return {
|
|
8
|
+
usesDtcg: true,
|
|
9
|
+
preprocessors: ["tokens-studio"],
|
|
10
|
+
expand: { include: ["typography"] },
|
|
11
|
+
platforms: { css: {
|
|
12
|
+
prefix: "ds",
|
|
13
|
+
selector: ":root, [data-size]",
|
|
14
|
+
layer: `ds.theme.type-scale`,
|
|
15
|
+
buildPath: `${theme}/`,
|
|
16
|
+
basePxFontSize: 16,
|
|
17
|
+
transforms: [
|
|
18
|
+
"name/kebab",
|
|
19
|
+
"ts/size/px",
|
|
20
|
+
sizeRem.name,
|
|
21
|
+
"ts/size/lineheight",
|
|
22
|
+
"ts/typography/fontWeight",
|
|
23
|
+
typographyName.name
|
|
24
|
+
],
|
|
25
|
+
files: [{
|
|
26
|
+
destination: `type-scale.css`,
|
|
27
|
+
format: formats.typeScale.name,
|
|
28
|
+
filter: (token) => {
|
|
29
|
+
const included = typeEquals([
|
|
30
|
+
"typography",
|
|
31
|
+
"dimension",
|
|
32
|
+
"fontsize"
|
|
33
|
+
], token);
|
|
34
|
+
if (/primitives\/modes\/typography\/(primary|secondary)/.test(token.filePath)) return false;
|
|
35
|
+
return included && !pathStartsWithOneOf([
|
|
36
|
+
"spacing",
|
|
37
|
+
"sizing",
|
|
38
|
+
"size",
|
|
39
|
+
"border-width",
|
|
40
|
+
"border-radius"
|
|
41
|
+
], token) && (pathStartsWithOneOf(["font-size"], token) || token.path.includes("fontSize"));
|
|
42
|
+
}
|
|
43
|
+
}],
|
|
44
|
+
options: { outputReferences: (token) => pathStartsWithOneOf(["typography"], token) && token.path.includes("fontSize") }
|
|
45
|
+
} }
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
//#endregion
|
|
49
|
+
export { typeScaleVariables };
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=type-scale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-scale.js","names":[],"sources":["../../../../../src/tokens/process/configs/type-scale.ts"],"sourcesContent":["import { pathStartsWithOneOf, typeEquals } from '../../utils.ts';\nimport { formats } from '../formats/css.ts';\nimport { sizeRem, typographyName } from '../transformers.ts';\nimport { basePxFontSize, type GetStyleDictionaryConfig, prefix } from './shared.ts';\n\nexport const typeScaleVariables: GetStyleDictionaryConfig = ({ theme }) => {\n const selector = ':root, [data-size]';\n const layer = `ds.theme.type-scale`;\n\n return {\n usesDtcg: true,\n preprocessors: ['tokens-studio'],\n expand: {\n include: ['typography'],\n },\n platforms: {\n css: {\n prefix,\n selector,\n layer,\n buildPath: `${theme}/`,\n basePxFontSize,\n transforms: [\n 'name/kebab',\n 'ts/size/px',\n sizeRem.name,\n 'ts/size/lineheight',\n 'ts/typography/fontWeight',\n typographyName.name,\n ],\n files: [\n {\n destination: `type-scale.css`,\n format: formats.typeScale.name,\n filter: (token) => {\n const included = typeEquals(['typography', 'dimension', 'fontsize'], token);\n\n // Remove primitive typgography tokens\n if (/primitives\\/modes\\/typography\\/(primary|secondary)/.test(token.filePath)) return false;\n\n return (\n included &&\n !pathStartsWithOneOf(['spacing', 'sizing', 'size', 'border-width', 'border-radius'], token) &&\n (pathStartsWithOneOf(['font-size'], token) || token.path.includes('fontSize'))\n );\n },\n },\n ],\n options: {\n outputReferences: (token) => pathStartsWithOneOf(['typography'], token) && token.path.includes('fontSize'),\n },\n },\n },\n };\n};\n"],"mappings":";;;;;AAKA,MAAa,sBAAgD,EAAE,YAAY;CAIzE,OAAO;EACL,UAAU;EACV,eAAe,CAAC,eAAe;EAC/B,QAAQ,EACN,SAAS,CAAC,YAAY,EACxB;EACA,WAAW,EACT,KAAK;GACH,QAAA;GACA,UAAA;GACA,OAAA;GACA,WAAW,GAAG,MAAM;GACpB,gBAAA;GACA,YAAY;IACV;IACA;IACA,QAAQ;IACR;IACA;IACA,eAAe;GACjB;GACA,OAAO,CACL;IACE,aAAa;IACb,QAAQ,QAAQ,UAAU;IAC1B,SAAS,UAAU;KACjB,MAAM,WAAW,WAAW;MAAC;MAAc;MAAa;KAAU,GAAG,KAAK;KAG1E,IAAI,qDAAqD,KAAK,MAAM,QAAQ,GAAG,OAAO;KAEtF,OACE,YACA,CAAC,oBAAoB;MAAC;MAAW;MAAU;MAAQ;MAAgB;KAAe,GAAG,KAAK,MACzF,oBAAoB,CAAC,WAAW,GAAG,KAAK,KAAK,MAAM,KAAK,SAAS,UAAU;IAEhF;GACF,CACF;GACA,SAAS,EACP,mBAAmB,UAAU,oBAAoB,CAAC,YAAY,GAAG,KAAK,KAAK,MAAM,KAAK,SAAS,UAAU,EAC3G;EACF,EACF;CACF;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typography.d.ts","names":[],"sources":["../../../../../src/tokens/process/configs/typography.ts"],"mappings":";;;cAOa,mBAAA,EAAqB,wBAiDjC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { pathStartsWithOneOf, typeEquals } from "../../utils.js";
|
|
2
|
+
import { sizeRem, typographyName } from "../transformers.js";
|
|
3
|
+
import "./shared.js";
|
|
4
|
+
import { formats } from "../formats/css.js";
|
|
5
|
+
import { expandTypesMap } from "@tokens-studio/sd-transforms";
|
|
6
|
+
//#region src/tokens/process/configs/typography.ts
|
|
7
|
+
const typographyVariables = ({ theme, typography }) => {
|
|
8
|
+
const selector = `${typography === "primary" ? ":root, " : ""}[data-typography="${typography}"]`;
|
|
9
|
+
const layer = `ds.theme.typography.${typography}`;
|
|
10
|
+
return {
|
|
11
|
+
usesDtcg: true,
|
|
12
|
+
preprocessors: ["tokens-studio"],
|
|
13
|
+
expand: {
|
|
14
|
+
include: ["typography"],
|
|
15
|
+
typesMap: {
|
|
16
|
+
...expandTypesMap,
|
|
17
|
+
typography: {
|
|
18
|
+
...expandTypesMap.typography,
|
|
19
|
+
letterSpacing: "dimension"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
platforms: { css: {
|
|
24
|
+
prefix: "ds",
|
|
25
|
+
typography,
|
|
26
|
+
selector,
|
|
27
|
+
layer,
|
|
28
|
+
buildPath: `${theme}/`,
|
|
29
|
+
basePxFontSize: 16,
|
|
30
|
+
transforms: [
|
|
31
|
+
"name/kebab",
|
|
32
|
+
"ts/size/px",
|
|
33
|
+
sizeRem.name,
|
|
34
|
+
"ts/size/lineheight",
|
|
35
|
+
"ts/typography/fontWeight",
|
|
36
|
+
"ts/size/css/letterspacing",
|
|
37
|
+
typographyName.name
|
|
38
|
+
],
|
|
39
|
+
files: [{
|
|
40
|
+
destination: `typography/${typography}.css`,
|
|
41
|
+
format: formats.typography.name,
|
|
42
|
+
filter: (token) => {
|
|
43
|
+
const included = typeEquals([
|
|
44
|
+
"fontweight",
|
|
45
|
+
"fontFamily",
|
|
46
|
+
"lineHeight",
|
|
47
|
+
"dimension"
|
|
48
|
+
], token);
|
|
49
|
+
if (/primitives\/modes\/typography\/(primary|secondary)/.test(token.filePath)) return false;
|
|
50
|
+
return included && !pathStartsWithOneOf([
|
|
51
|
+
"spacing",
|
|
52
|
+
"sizing",
|
|
53
|
+
"size",
|
|
54
|
+
"_size",
|
|
55
|
+
"border-width",
|
|
56
|
+
"border-radius"
|
|
57
|
+
], token) && !(pathStartsWithOneOf(["typography"], token) && token.path.includes("fontSize"));
|
|
58
|
+
}
|
|
59
|
+
}]
|
|
60
|
+
} }
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
//#endregion
|
|
64
|
+
export { typographyVariables };
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=typography.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typography.js","names":[],"sources":["../../../../../src/tokens/process/configs/typography.ts"],"sourcesContent":["import { expandTypesMap } from '@tokens-studio/sd-transforms';\nimport { pathStartsWithOneOf, typeEquals } from '../../utils.ts';\nimport { formats } from '../formats/css.ts';\nimport { sizeRem, typographyName } from '../transformers.ts';\n\nimport { basePxFontSize, type GetStyleDictionaryConfig, prefix } from './shared.ts';\n\nexport const typographyVariables: GetStyleDictionaryConfig = ({ theme, typography }) => {\n const selector = `${typography === 'primary' ? ':root, ' : ''}[data-typography=\"${typography}\"]`;\n const layer = `ds.theme.typography.${typography}`;\n\n return {\n usesDtcg: true,\n preprocessors: ['tokens-studio'],\n expand: {\n include: ['typography'],\n typesMap: { ...expandTypesMap, typography: { ...expandTypesMap.typography, letterSpacing: 'dimension' } },\n },\n platforms: {\n css: {\n prefix,\n typography,\n selector,\n layer,\n buildPath: `${theme}/`,\n basePxFontSize,\n transforms: [\n 'name/kebab',\n 'ts/size/px',\n sizeRem.name,\n 'ts/size/lineheight',\n 'ts/typography/fontWeight',\n 'ts/size/css/letterspacing',\n typographyName.name,\n ],\n files: [\n {\n destination: `typography/${typography}.css`,\n format: formats.typography.name,\n filter: (token) => {\n const included = typeEquals(['fontweight', 'fontFamily', 'lineHeight', 'dimension'], token);\n\n // Remove primitive typgography tokens\n if (/primitives\\/modes\\/typography\\/(primary|secondary)/.test(token.filePath)) return false;\n\n return (\n included &&\n !pathStartsWithOneOf(['spacing', 'sizing', 'size', '_size', 'border-width', 'border-radius'], token) &&\n !(pathStartsWithOneOf(['typography'], token) && token.path.includes('fontSize'))\n );\n },\n },\n ],\n },\n },\n };\n};\n"],"mappings":";;;;;;AAOA,MAAa,uBAAiD,EAAE,OAAO,iBAAiB;CACtF,MAAM,WAAW,GAAG,eAAe,YAAY,YAAY,GAAG,oBAAoB,WAAW;CAC7F,MAAM,QAAQ,uBAAuB;CAErC,OAAO;EACL,UAAU;EACV,eAAe,CAAC,eAAe;EAC/B,QAAQ;GACN,SAAS,CAAC,YAAY;GACtB,UAAU;IAAE,GAAG;IAAgB,YAAY;KAAE,GAAG,eAAe;KAAY,eAAe;IAAY;GAAE;EAC1G;EACA,WAAW,EACT,KAAK;GACH,QAAA;GACA;GACA;GACA;GACA,WAAW,GAAG,MAAM;GACpB,gBAAA;GACA,YAAY;IACV;IACA;IACA,QAAQ;IACR;IACA;IACA;IACA,eAAe;GACjB;GACA,OAAO,CACL;IACE,aAAa,cAAc,WAAW;IACtC,QAAQ,QAAQ,WAAW;IAC3B,SAAS,UAAU;KACjB,MAAM,WAAW,WAAW;MAAC;MAAc;MAAc;MAAc;KAAW,GAAG,KAAK;KAG1F,IAAI,qDAAqD,KAAK,MAAM,QAAQ,GAAG,OAAO;KAEtF,OACE,YACA,CAAC,oBAAoB;MAAC;MAAW;MAAU;MAAQ;MAAS;MAAgB;KAAe,GAAG,KAAK,KACnG,EAAE,oBAAoB,CAAC,YAAY,GAAG,KAAK,KAAK,MAAM,KAAK,SAAS,UAAU;IAElF;GACF,CACF;EACF,EACF;CACF;AACF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { GetStyleDictionaryConfig } from "./configs/shared.js";
|
|
2
|
+
import { GetSDConfigOptions, SDConfigForThemePermutation, ThemeDimension } from "../types.js";
|
|
3
|
+
import { ProcessedThemeObject } from "./utils/getMultidimensionalThemes.js";
|
|
4
|
+
|
|
5
|
+
//#region src/tokens/process/configs.d.ts
|
|
6
|
+
declare const configs: {
|
|
7
|
+
colorSchemeVariables: GetStyleDictionaryConfig;
|
|
8
|
+
colorVariables: GetStyleDictionaryConfig;
|
|
9
|
+
sizeModeVariables: GetStyleDictionaryConfig;
|
|
10
|
+
sizeVariables: GetStyleDictionaryConfig;
|
|
11
|
+
typographyVariables: GetStyleDictionaryConfig;
|
|
12
|
+
typeScaleVariables: GetStyleDictionaryConfig;
|
|
13
|
+
semanticVariables: GetStyleDictionaryConfig;
|
|
14
|
+
};
|
|
15
|
+
declare const getConfigsForThemeDimensions: (getConfig: GetStyleDictionaryConfig, processed$themes: ProcessedThemeObject[], dimensions: ThemeDimension[], options: GetSDConfigOptions) => SDConfigForThemePermutation[];
|
|
16
|
+
//#endregion
|
|
17
|
+
export { configs, getConfigsForThemeDimensions };
|
|
18
|
+
//# sourceMappingURL=configs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configs.d.ts","names":[],"sources":["../../../../src/tokens/process/configs.ts"],"mappings":";;;;;cA6Ba,OAAA;;;;;;;;;cAUA,4BAAA,GACX,SAAA,EAAW,wBAAA,EACX,gBAAA,EAAkB,oBAAA,IAClB,UAAA,EAAY,cAAA,IACZ,OAAA,EAAS,kBAAA,KACR,2BAAA"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { traverseObj } from "../utils.js";
|
|
2
|
+
import { resolveMath, sizeRem, typographyName, unitless } from "./transformers.js";
|
|
3
|
+
import { formats } from "./formats/css.js";
|
|
4
|
+
import { colorSchemeVariables, colorVariables } from "./configs/color.js";
|
|
5
|
+
import { semanticVariables } from "./configs/semantic.js";
|
|
6
|
+
import { sizeVariables } from "./configs/size.js";
|
|
7
|
+
import { sizeModeVariables } from "./configs/size-mode.js";
|
|
8
|
+
import { typeScaleVariables } from "./configs/type-scale.js";
|
|
9
|
+
import { typographyVariables } from "./configs/typography.js";
|
|
10
|
+
import { buildOptions } from "./platform.js";
|
|
11
|
+
import { getMultidimensionalThemes } from "./utils/getMultidimensionalThemes.js";
|
|
12
|
+
import * as R from "ramda";
|
|
13
|
+
import StyleDictionary from "style-dictionary";
|
|
14
|
+
import { register } from "@tokens-studio/sd-transforms";
|
|
15
|
+
//#region src/tokens/process/configs.ts
|
|
16
|
+
register(StyleDictionary, { withSDBuiltins: false });
|
|
17
|
+
StyleDictionary.registerTransform(sizeRem);
|
|
18
|
+
StyleDictionary.registerTransform(typographyName);
|
|
19
|
+
StyleDictionary.registerTransform(resolveMath);
|
|
20
|
+
StyleDictionary.registerTransform(unitless);
|
|
21
|
+
for (const format of Object.values(formats)) StyleDictionary.registerFormat(format);
|
|
22
|
+
const configs = {
|
|
23
|
+
colorSchemeVariables,
|
|
24
|
+
colorVariables,
|
|
25
|
+
sizeModeVariables,
|
|
26
|
+
sizeVariables,
|
|
27
|
+
typographyVariables,
|
|
28
|
+
typeScaleVariables,
|
|
29
|
+
semanticVariables
|
|
30
|
+
};
|
|
31
|
+
const getConfigsForThemeDimensions = (getConfig, processed$themes, dimensions, options) => {
|
|
32
|
+
const { tokensDir, tokenSets } = options;
|
|
33
|
+
return getMultidimensionalThemes(processed$themes, dimensions).flatMap(({ selectedTokenSets, permutation }) => {
|
|
34
|
+
const tokenSource = {
|
|
35
|
+
source: void 0,
|
|
36
|
+
tokens: {}
|
|
37
|
+
};
|
|
38
|
+
if (tokenSets) for (const tokenSet of selectedTokenSets) {
|
|
39
|
+
const tokens = tokenSets.get(tokenSet);
|
|
40
|
+
if (tokens) {
|
|
41
|
+
const tokensWithFilePath = traverseObj(tokens, (obj) => {
|
|
42
|
+
if (Object.hasOwn(obj, `$value`) && !obj.filePath) obj.filePath = tokenSet;
|
|
43
|
+
});
|
|
44
|
+
tokenSource.tokens = R.mergeDeepRight(tokenSource.tokens, tokensWithFilePath);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else tokenSource.source = selectedTokenSets.map((x) => `${tokensDir}/${x}.json`);
|
|
48
|
+
const configOrConfigs = getConfig(permutation);
|
|
49
|
+
return (Array.isArray(configOrConfigs) ? configOrConfigs : [{ config: configOrConfigs }]).map(({ config, permutationOverrides }) => {
|
|
50
|
+
return {
|
|
51
|
+
permutation: {
|
|
52
|
+
...permutation,
|
|
53
|
+
...permutationOverrides
|
|
54
|
+
},
|
|
55
|
+
config: {
|
|
56
|
+
...config,
|
|
57
|
+
/** Use official W3C design token format
|
|
58
|
+
@see https://v4.styledictionary.com/info/dtcg/
|
|
59
|
+
@see https://design-tokens.github.io/community-group/format/ */
|
|
60
|
+
usesDtcg: true,
|
|
61
|
+
log: {
|
|
62
|
+
...config?.log,
|
|
63
|
+
verbosity: buildOptions?.verbose ? "verbose" : "silent"
|
|
64
|
+
},
|
|
65
|
+
...tokenSource
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
}).sort();
|
|
70
|
+
};
|
|
71
|
+
//#endregion
|
|
72
|
+
export { configs, getConfigsForThemeDimensions };
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=configs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configs.js","names":[],"sources":["../../../../src/tokens/process/configs.ts"],"sourcesContent":["import { register } from '@tokens-studio/sd-transforms';\nimport * as R from 'ramda';\nimport StyleDictionary, { type Tokens } from 'style-dictionary';\nimport type { DesignTokens } from 'style-dictionary/types';\nimport type { GetSDConfigOptions, SDConfigForThemePermutation, ThemeDimension } from '../types.ts';\nimport { traverseObj } from '../utils.ts';\nimport { colorSchemeVariables, colorVariables } from './configs/color.ts';\nimport { semanticVariables } from './configs/semantic.ts';\nimport type { GetStyleDictionaryConfig } from './configs/shared.ts';\nimport { sizeVariables } from './configs/size.ts';\nimport { sizeModeVariables } from './configs/size-mode.ts';\nimport { typeScaleVariables } from './configs/type-scale.ts';\nimport { typographyVariables } from './configs/typography.ts';\nimport { formats } from './formats/css.ts';\nimport { buildOptions } from './platform.ts';\nimport { resolveMath, sizeRem, typographyName, unitless } from './transformers.ts';\nimport { getMultidimensionalThemes, type ProcessedThemeObject } from './utils/getMultidimensionalThemes.ts';\n\nvoid register(StyleDictionary, { withSDBuiltins: false });\n\nStyleDictionary.registerTransform(sizeRem);\nStyleDictionary.registerTransform(typographyName);\nStyleDictionary.registerTransform(resolveMath);\nStyleDictionary.registerTransform(unitless);\n\nfor (const format of Object.values(formats)) {\n StyleDictionary.registerFormat(format);\n}\n\nexport const configs = {\n colorSchemeVariables,\n colorVariables,\n sizeModeVariables,\n sizeVariables,\n typographyVariables,\n typeScaleVariables,\n semanticVariables,\n};\n\nexport const getConfigsForThemeDimensions = (\n getConfig: GetStyleDictionaryConfig,\n processed$themes: ProcessedThemeObject[],\n dimensions: ThemeDimension[],\n options: GetSDConfigOptions,\n): SDConfigForThemePermutation[] => {\n const { tokensDir, tokenSets } = options;\n\n const permutations = getMultidimensionalThemes(processed$themes, dimensions);\n return permutations\n .flatMap(({ selectedTokenSets, permutation }) => {\n const tokenSource: { source?: string[]; tokens: Tokens } = { source: undefined, tokens: {} };\n\n if (tokenSets) {\n for (const tokenSet of selectedTokenSets) {\n const tokens = tokenSets.get(tokenSet);\n\n if (tokens) {\n const tokensWithFilePath = traverseObj(tokens as DesignTokens, (obj) => {\n if (Object.hasOwn(obj, `$value`) && !obj.filePath) {\n obj.filePath = tokenSet;\n }\n });\n\n // Merge tokenSets into a single tokens object with filePath denoting tokenSet\n tokenSource.tokens = R.mergeDeepRight(tokenSource.tokens, tokensWithFilePath) as DesignTokens;\n }\n }\n } else {\n // Tell SD where to read tokenSets from disk\n tokenSource.source = selectedTokenSets.map((x) => `${tokensDir}/${x}.json`);\n }\n\n const configOrConfigs = getConfig(permutation);\n const configs_ = Array.isArray(configOrConfigs) ? configOrConfigs : [{ config: configOrConfigs }];\n\n const configs: SDConfigForThemePermutation[] = configs_.map(({ config, permutationOverrides }) => {\n return {\n permutation: { ...permutation, ...permutationOverrides },\n config: {\n ...config,\n /** Use official W3C design token format\n @see https://v4.styledictionary.com/info/dtcg/\n @see https://design-tokens.github.io/community-group/format/ */\n usesDtcg: true,\n log: {\n ...config?.log,\n verbosity: buildOptions?.verbose ? 'verbose' : 'silent',\n },\n ...tokenSource,\n },\n };\n });\n\n return configs;\n })\n .sort();\n};\n"],"mappings":";;;;;;;;;;;;;;;AAkBK,SAAS,iBAAiB,EAAE,gBAAgB,MAAM,CAAC;AAExD,gBAAgB,kBAAkB,OAAO;AACzC,gBAAgB,kBAAkB,cAAc;AAChD,gBAAgB,kBAAkB,WAAW;AAC7C,gBAAgB,kBAAkB,QAAQ;AAE1C,KAAK,MAAM,UAAU,OAAO,OAAO,OAAO,GACxC,gBAAgB,eAAe,MAAM;AAGvC,MAAa,UAAU;CACrB;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAa,gCACX,WACA,kBACA,YACA,YACkC;CAClC,MAAM,EAAE,WAAW,cAAc;CAGjC,OADqB,0BAA0B,kBAAkB,UAC/C,CAAC,CAChB,SAAS,EAAE,mBAAmB,kBAAkB;EAC/C,MAAM,cAAqD;GAAE,QAAQ,KAAA;GAAW,QAAQ,CAAC;EAAE;EAE3F,IAAI,WACF,KAAK,MAAM,YAAY,mBAAmB;GACxC,MAAM,SAAS,UAAU,IAAI,QAAQ;GAErC,IAAI,QAAQ;IACV,MAAM,qBAAqB,YAAY,SAAyB,QAAQ;KACtE,IAAI,OAAO,OAAO,KAAK,QAAQ,KAAK,CAAC,IAAI,UACvC,IAAI,WAAW;IAEnB,CAAC;IAGD,YAAY,SAAS,EAAE,eAAe,YAAY,QAAQ,kBAAkB;GAC9E;EACF;OAGA,YAAY,SAAS,kBAAkB,KAAK,MAAM,GAAG,UAAU,GAAG,EAAE,MAAM;EAG5E,MAAM,kBAAkB,UAAU,WAAW;EAqB7C,QApBiB,MAAM,QAAQ,eAAe,IAAI,kBAAkB,CAAC,EAAE,QAAQ,gBAAgB,CAAC,EAAA,CAExC,KAAK,EAAE,QAAQ,2BAA2B;GAChG,OAAO;IACL,aAAa;KAAE,GAAG;KAAa,GAAG;IAAqB;IACvD,QAAQ;KACN,GAAG;;;;KAIH,UAAU;KACV,KAAK;MACH,GAAG,QAAQ;MACX,WAAW,cAAc,UAAU,YAAY;KACjD;KACA,GAAG;IACL;GACF;EACF,CAEa;CACf,CAAC,CAAC,CACD,KAAK;AACV"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Format } from "style-dictionary/types";
|
|
2
|
+
|
|
3
|
+
//#region src/tokens/process/formats/css/color.d.ts
|
|
4
|
+
declare const colorScheme: Format;
|
|
5
|
+
declare const colorCategory: Format;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { colorCategory, colorScheme };
|
|
8
|
+
//# sourceMappingURL=color.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color.d.ts","names":[],"sources":["../../../../../../src/tokens/process/formats/css/color.ts"],"mappings":";;;cAca,WAAA,EAAa,MA2CzB;AAAA,cAEY,aAAA,EAAe,MAwC3B"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { isSemanticToken } from "../../../utils.js";
|
|
2
|
+
import { buildOptions } from "../../platform.js";
|
|
3
|
+
import * as R from "ramda";
|
|
4
|
+
import { createPropertyFormatter } from "style-dictionary/utils";
|
|
5
|
+
//#region src/tokens/process/formats/css/color.ts
|
|
6
|
+
const prefersColorScheme = (colorScheme, content) => `
|
|
7
|
+
@media (prefers-color-scheme: ${colorScheme}) {
|
|
8
|
+
[data-color-scheme="auto"] ${content}
|
|
9
|
+
}
|
|
10
|
+
`;
|
|
11
|
+
const colorScheme = {
|
|
12
|
+
name: "ds/css-colorscheme",
|
|
13
|
+
format: async ({ dictionary, options, platform }) => {
|
|
14
|
+
const { allTokens } = dictionary;
|
|
15
|
+
const { outputReferences, usesDtcg } = options;
|
|
16
|
+
const { selector, colorScheme, layer } = platform;
|
|
17
|
+
const colorScheme_ = colorScheme;
|
|
18
|
+
const format = createPropertyFormatter({
|
|
19
|
+
outputReferences,
|
|
20
|
+
dictionary,
|
|
21
|
+
format: "css",
|
|
22
|
+
usesDtcg
|
|
23
|
+
});
|
|
24
|
+
const colorSchemeProperty = colorScheme_ === "dark" || colorScheme_ === "light" ? `\n color-scheme: ${colorScheme_};\n` : "";
|
|
25
|
+
const content = `{\n${allTokens.filter(R.allPass([R.anyPass([isSemanticToken])])).map((token) => ({
|
|
26
|
+
token,
|
|
27
|
+
formatted: format(token)
|
|
28
|
+
})).map(R.view(R.lensProp("formatted"))).join("\n")}\n${colorSchemeProperty}}\n`;
|
|
29
|
+
const autoSelectorContent = ["light", "dark"].includes(colorScheme_) ? prefersColorScheme(colorScheme_, content) : "";
|
|
30
|
+
return R.isNotNil(layer) ? `@layer ${layer} {\n${selector} ${content} ${autoSelectorContent}\n}\n` : `${selector} ${content} ${autoSelectorContent}\n`;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const colorCategory = {
|
|
34
|
+
name: "ds/css-colorcategory",
|
|
35
|
+
format: async ({ dictionary, file, options, platform }) => {
|
|
36
|
+
const { outputReferences, usesDtcg } = options;
|
|
37
|
+
const { selector, layer } = platform;
|
|
38
|
+
const destination = file.destination;
|
|
39
|
+
const format = R.compose(createPropertyFormatter({
|
|
40
|
+
outputReferences,
|
|
41
|
+
dictionary,
|
|
42
|
+
format: "css",
|
|
43
|
+
usesDtcg
|
|
44
|
+
}), (token) => ({
|
|
45
|
+
...token,
|
|
46
|
+
name: token.name.replace(`color-${token.path[1]}-`, "color-"),
|
|
47
|
+
original: {
|
|
48
|
+
...token.original,
|
|
49
|
+
$value: `{${token.path.join(".")}}`
|
|
50
|
+
}
|
|
51
|
+
}));
|
|
52
|
+
const formattedMap = dictionary.allTokens.map((token) => ({
|
|
53
|
+
token,
|
|
54
|
+
formatted: format(token)
|
|
55
|
+
}));
|
|
56
|
+
buildOptions.buildTokenFormats[destination] = formattedMap;
|
|
57
|
+
const content = `{\n${formattedMap.map(R.view(R.lensProp("formatted"))).join("\n")}\n}\n`;
|
|
58
|
+
return R.isNotNil(layer) ? `@layer ${layer} {\n${selector} ${content}\n}\n` : `${selector} ${content}\n`;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
//#endregion
|
|
62
|
+
export { colorCategory, colorScheme };
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=color.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color.js","names":[],"sources":["../../../../../../src/tokens/process/formats/css/color.ts"],"sourcesContent":["import * as R from 'ramda';\nimport type { TransformedToken } from 'style-dictionary';\nimport type { Format } from 'style-dictionary/types';\nimport { createPropertyFormatter } from 'style-dictionary/utils';\n\nimport { isSemanticToken } from '../../../utils.ts';\nimport { buildOptions } from '../../platform.ts';\n\nconst prefersColorScheme = (colorScheme: string, content: string) => `\n@media (prefers-color-scheme: ${colorScheme}) {\n [data-color-scheme=\"auto\"] ${content}\n}\n`;\n\nexport const colorScheme: Format = {\n name: 'ds/css-colorscheme',\n format: async ({ dictionary, options, platform }) => {\n const { allTokens } = dictionary;\n const { outputReferences, usesDtcg } = options;\n const { selector, colorScheme, layer } = platform;\n\n const colorScheme_ = colorScheme as string;\n\n const format = createPropertyFormatter({\n outputReferences,\n dictionary,\n format: 'css',\n usesDtcg,\n });\n\n const colorSchemeProperty =\n colorScheme_ === 'dark' || colorScheme_ === 'light' ? `\\n color-scheme: ${colorScheme_};\\n` : '';\n\n const filteredAllTokens = allTokens.filter(\n R.allPass([\n R.anyPass([\n // Include semantic tokens in the output\n isSemanticToken,\n ]),\n ]),\n );\n const formattedMap = filteredAllTokens.map((token: TransformedToken) => ({\n token,\n formatted: format(token),\n }));\n\n const formattedTokens = formattedMap.map(R.view(R.lensProp('formatted'))).join('\\n');\n const content = `{\\n${formattedTokens}\\n${colorSchemeProperty}}\\n`;\n const autoSelectorContent = ['light', 'dark'].includes(colorScheme_)\n ? prefersColorScheme(colorScheme_, content)\n : '';\n const body = R.isNotNil(layer)\n ? `@layer ${layer} {\\n${selector} ${content} ${autoSelectorContent}\\n}\\n`\n : `${selector} ${content} ${autoSelectorContent}\\n`;\n\n return body;\n },\n};\n\nexport const colorCategory: Format = {\n name: 'ds/css-colorcategory',\n format: async ({ dictionary, file, options, platform }) => {\n const { outputReferences, usesDtcg } = options;\n const { selector, layer } = platform;\n const destination = file.destination as string;\n\n const format = R.compose(\n createPropertyFormatter({\n outputReferences,\n dictionary,\n format: 'css',\n usesDtcg,\n }),\n (token: TransformedToken) => ({\n ...token,\n // Strip the color name (e.g. \"color-brand1-\" -> \"color-\"). Color names can\n // contain hyphens (e.g. \"my-brand\"), so remove the exact name from the path\n // rather than matching with \\w+, which would stop at the first hyphen.\n name: token.name.replace(`color-${token.path[1]}-`, 'color-'),\n original: {\n ...token.original,\n $value: `{${token.path.join('.')}}`,\n },\n }),\n );\n\n const formattedMap = dictionary.allTokens.map((token: TransformedToken) => ({\n token,\n formatted: format(token),\n }));\n\n buildOptions.buildTokenFormats[destination] = formattedMap;\n\n const formattedTokens = formattedMap.map(R.view(R.lensProp('formatted'))).join('\\n');\n const content = `{\\n${formattedTokens}\\n}\\n`;\n const body = R.isNotNil(layer) ? `@layer ${layer} {\\n${selector} ${content}\\n}\\n` : `${selector} ${content}\\n`;\n\n return body;\n },\n};\n"],"mappings":";;;;;AAQA,MAAM,sBAAsB,aAAqB,YAAoB;gCACrC,YAAY;+BACb,QAAQ;;;AAIvC,MAAa,cAAsB;CACjC,MAAM;CACN,QAAQ,OAAO,EAAE,YAAY,SAAS,eAAe;EACnD,MAAM,EAAE,cAAc;EACtB,MAAM,EAAE,kBAAkB,aAAa;EACvC,MAAM,EAAE,UAAU,aAAa,UAAU;EAEzC,MAAM,eAAe;EAErB,MAAM,SAAS,wBAAwB;GACrC;GACA;GACA,QAAQ;GACR;EACF,CAAC;EAED,MAAM,sBACJ,iBAAiB,UAAU,iBAAiB,UAAU,qBAAqB,aAAa,OAAO;EAgBjG,MAAM,UAAU,MAdU,UAAU,OAClC,EAAE,QAAQ,CACR,EAAE,QAAQ,CAER,eACF,CAAC,CACH,CAAC,CAEkC,CAAC,CAAC,KAAK,WAA6B;GACvE;GACA,WAAW,OAAO,KAAK;EACzB,EAEmC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,IAC3C,EAAE,IAAI,oBAAoB;EAC9D,MAAM,sBAAsB,CAAC,SAAS,MAAM,CAAC,CAAC,SAAS,YAAY,IAC/D,mBAAmB,cAAc,OAAO,IACxC;EAKJ,OAJa,EAAE,SAAS,KAAK,IACzB,UAAU,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,oBAAoB,SACjE,GAAG,SAAS,GAAG,QAAQ,GAAG,oBAAoB;CAGpD;AACF;AAEA,MAAa,gBAAwB;CACnC,MAAM;CACN,QAAQ,OAAO,EAAE,YAAY,MAAM,SAAS,eAAe;EACzD,MAAM,EAAE,kBAAkB,aAAa;EACvC,MAAM,EAAE,UAAU,UAAU;EAC5B,MAAM,cAAc,KAAK;EAEzB,MAAM,SAAS,EAAE,QACf,wBAAwB;GACtB;GACA;GACA,QAAQ;GACR;EACF,CAAC,IACA,WAA6B;GAC5B,GAAG;GAIH,MAAM,MAAM,KAAK,QAAQ,SAAS,MAAM,KAAK,GAAG,IAAI,QAAQ;GAC5D,UAAU;IACR,GAAG,MAAM;IACT,QAAQ,IAAI,MAAM,KAAK,KAAK,GAAG,EAAE;GACnC;EACF,EACF;EAEA,MAAM,eAAe,WAAW,UAAU,KAAK,WAA6B;GAC1E;GACA,WAAW,OAAO,KAAK;EACzB,EAAE;EAEF,aAAa,kBAAkB,eAAe;EAG9C,MAAM,UAAU,MADQ,aAAa,IAAI,EAAE,KAAK,EAAE,SAAS,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,IAC3C,EAAE;EAGtC,OAFa,EAAE,SAAS,KAAK,IAAI,UAAU,MAAM,MAAM,SAAS,GAAG,QAAQ,SAAS,GAAG,SAAS,GAAG,QAAQ;CAG7G;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic.d.ts","names":[],"sources":["../../../../../../src/tokens/process/formats/css/semantic.ts"],"mappings":";;;cAOa,QAAA,EAAU,MA8BtB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { inlineTokens } from "../../../utils.js";
|
|
2
|
+
import { isInlineTokens } from "./size.js";
|
|
3
|
+
import { buildOptions } from "../../platform.js";
|
|
4
|
+
import * as R from "ramda";
|
|
5
|
+
import { createPropertyFormatter } from "style-dictionary/utils";
|
|
6
|
+
//#region src/tokens/process/formats/css/semantic.ts
|
|
7
|
+
const semantic = {
|
|
8
|
+
name: "ds/css-semantic",
|
|
9
|
+
format: async ({ dictionary, file, options, platform }) => {
|
|
10
|
+
const { outputReferences, usesDtcg } = options;
|
|
11
|
+
const { selector, layer } = platform;
|
|
12
|
+
const destination = file.destination;
|
|
13
|
+
const format = createPropertyFormatter({
|
|
14
|
+
outputReferences,
|
|
15
|
+
dictionary,
|
|
16
|
+
format: "css",
|
|
17
|
+
usesDtcg
|
|
18
|
+
});
|
|
19
|
+
const formattedMap = inlineTokens(isInlineTokens, dictionary.allTokens).map((token) => ({
|
|
20
|
+
token,
|
|
21
|
+
formatted: format(token)
|
|
22
|
+
}));
|
|
23
|
+
buildOptions.buildTokenFormats[destination] = formattedMap;
|
|
24
|
+
const content = `${selector} {\n${formattedMap.map(R.prop("formatted")).join("\n")}\n}\n`;
|
|
25
|
+
return R.isNotNil(layer) ? `@layer ${layer} {\n${content}\n}\n` : `${content}\n`;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
//#endregion
|
|
29
|
+
export { semantic };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=semantic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic.js","names":[],"sources":["../../../../../../src/tokens/process/formats/css/semantic.ts"],"sourcesContent":["import * as R from 'ramda';\nimport type { Format } from 'style-dictionary/types';\nimport { createPropertyFormatter } from 'style-dictionary/utils';\nimport { inlineTokens } from '../../../utils.ts';\nimport { buildOptions } from '../../platform.ts';\nimport { isInlineTokens } from './size.ts';\n\nexport const semantic: Format = {\n name: 'ds/css-semantic',\n format: async ({ dictionary, file, options, platform }) => {\n const { outputReferences, usesDtcg } = options;\n const { selector, layer } = platform;\n const destination = file.destination as string;\n\n const format = createPropertyFormatter({\n outputReferences,\n dictionary,\n format: 'css',\n usesDtcg,\n });\n\n const tokens = inlineTokens(isInlineTokens, dictionary.allTokens);\n\n const formattedMap = tokens.map((token) => ({\n token,\n formatted: format(token),\n }));\n\n buildOptions.buildTokenFormats[destination] = formattedMap;\n\n const formattedTokens = formattedMap.map(R.prop('formatted')).join('\\n');\n\n const content = `${selector} {\\n${formattedTokens}\\n}\\n`;\n const body = R.isNotNil(layer) ? `@layer ${layer} {\\n${content}\\n}\\n` : `${content}\\n`;\n\n return body;\n },\n};\n"],"mappings":";;;;;;AAOA,MAAa,WAAmB;CAC9B,MAAM;CACN,QAAQ,OAAO,EAAE,YAAY,MAAM,SAAS,eAAe;EACzD,MAAM,EAAE,kBAAkB,aAAa;EACvC,MAAM,EAAE,UAAU,UAAU;EAC5B,MAAM,cAAc,KAAK;EAEzB,MAAM,SAAS,wBAAwB;GACrC;GACA;GACA,QAAQ;GACR;EACF,CAAC;EAID,MAAM,eAFS,aAAa,gBAAgB,WAAW,SAE7B,CAAC,CAAC,KAAK,WAAW;GAC1C;GACA,WAAW,OAAO,KAAK;EACzB,EAAE;EAEF,aAAa,kBAAkB,eAAe;EAI9C,MAAM,UAAU,GAAG,SAAS,MAFJ,aAAa,IAAI,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,IAEnB,EAAE;EAGlD,OAFa,EAAE,SAAS,KAAK,IAAI,UAAU,MAAM,MAAM,QAAQ,SAAS,GAAG,QAAQ;CAGrF;AACF"}
|