@primer/primitives 9.1.2 → 10.0.0-rc.29e661a3
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/dist/build/PrimerStyleDictionary.d.ts +1 -2
- package/dist/build/PrimerStyleDictionary.js +51 -64
- package/dist/build/filters/index.d.ts +14 -13
- package/dist/build/filters/index.js +14 -29
- package/dist/build/filters/isBorder.d.ts +3 -3
- package/dist/build/filters/isBorder.js +2 -6
- package/dist/build/filters/isColor.d.ts +3 -3
- package/dist/build/filters/isColor.js +8 -7
- package/dist/build/filters/isColorWithAlpha.d.ts +3 -3
- package/dist/build/filters/isColorWithAlpha.js +4 -8
- package/dist/build/filters/isColorWithMix.d.ts +3 -3
- package/dist/build/filters/isColorWithMix.js +4 -8
- package/dist/build/filters/isDeprecated.d.ts +3 -3
- package/dist/build/filters/isDeprecated.js +2 -6
- package/dist/build/filters/isDimension.d.ts +3 -3
- package/dist/build/filters/isDimension.js +2 -6
- package/dist/build/filters/isDuration.d.ts +3 -3
- package/dist/build/filters/isDuration.js +2 -6
- package/dist/build/filters/isFontFamily.d.ts +3 -3
- package/dist/build/filters/isFontFamily.js +2 -6
- package/dist/build/filters/isFontWeight.d.ts +3 -3
- package/dist/build/filters/isFontWeight.js +2 -6
- package/dist/build/filters/isFromFile.d.ts +3 -3
- package/dist/build/filters/isFromFile.js +2 -6
- package/dist/build/filters/isNumber.d.ts +3 -3
- package/dist/build/filters/isNumber.js +4 -6
- package/dist/build/filters/isShadow.d.ts +3 -3
- package/dist/build/filters/isShadow.js +2 -6
- package/dist/build/filters/isSource.d.ts +3 -3
- package/dist/build/filters/isSource.js +2 -6
- package/dist/build/filters/isTypography.d.ts +3 -3
- package/dist/build/filters/isTypography.js +2 -6
- package/dist/build/formats/cssAdvanced.d.ts +2 -2
- package/dist/build/formats/cssAdvanced.js +22 -20
- package/dist/build/formats/cssCustomMedia.d.ts +2 -2
- package/dist/build/formats/cssCustomMedia.js +16 -15
- package/dist/build/formats/index.d.ts +9 -9
- package/dist/build/formats/index.js +9 -21
- package/dist/build/formats/javascriptCommonJs.d.ts +2 -2
- package/dist/build/formats/javascriptCommonJs.js +17 -16
- package/dist/build/formats/javascriptEsm.d.ts +2 -2
- package/dist/build/formats/javascriptEsm.js +17 -16
- package/dist/build/formats/jsonFigma.d.ts +2 -2
- package/dist/build/formats/jsonFigma.js +27 -22
- package/dist/build/formats/jsonNestedPrefixed.d.ts +3 -3
- package/dist/build/formats/jsonNestedPrefixed.js +17 -15
- package/dist/build/formats/jsonOneDimensional.d.ts +3 -3
- package/dist/build/formats/jsonOneDimensional.js +24 -16
- package/dist/build/formats/jsonPostCssFallback.d.ts +3 -3
- package/dist/build/formats/jsonPostCssFallback.js +5 -12
- package/dist/build/formats/typescriptExportDefinition.d.ts +2 -2
- package/dist/build/formats/typescriptExportDefinition.js +48 -44
- package/dist/build/formats/utilities/getPropName.d.ts +1 -0
- package/dist/build/formats/utilities/getPropName.js +16 -0
- package/dist/build/formats/utilities/jsonToFlat.d.ts +2 -2
- package/dist/build/formats/utilities/jsonToFlat.js +1 -5
- package/dist/build/formats/utilities/jsonToNestedValue.d.ts +2 -2
- package/dist/build/formats/utilities/jsonToNestedValue.js +4 -6
- package/dist/build/formats/utilities/prefixTokens.d.ts +2 -2
- package/dist/build/formats/utilities/prefixTokens.js +1 -5
- package/dist/build/parsers/index.d.ts +1 -1
- package/dist/build/parsers/index.js +1 -5
- package/dist/build/parsers/w3cJsonParser.d.ts +2 -2
- package/dist/build/parsers/w3cJsonParser.js +5 -7
- package/dist/build/platforms/css.d.ts +1 -1
- package/dist/build/platforms/css.js +19 -11
- package/dist/build/platforms/deprecatedJson.d.ts +1 -1
- package/dist/build/platforms/deprecatedJson.js +3 -7
- package/dist/build/platforms/docJson.d.ts +1 -1
- package/dist/build/platforms/docJson.js +8 -7
- package/dist/build/platforms/fallbacks.d.ts +1 -1
- package/dist/build/platforms/fallbacks.js +3 -7
- package/dist/build/platforms/figma.d.ts +1 -1
- package/dist/build/platforms/figma.js +21 -14
- package/dist/build/platforms/index.d.ts +10 -10
- package/dist/build/platforms/index.js +10 -23
- package/dist/build/platforms/javascript.d.ts +1 -1
- package/dist/build/platforms/javascript.js +3 -7
- package/dist/build/platforms/json.d.ts +1 -1
- package/dist/build/platforms/json.js +3 -7
- package/dist/build/platforms/styleLint.d.ts +1 -1
- package/dist/build/platforms/styleLint.js +3 -7
- package/dist/build/platforms/typeDefinitions.d.ts +1 -1
- package/dist/build/platforms/typeDefinitions.js +6 -10
- package/dist/build/platforms/typescript.d.ts +1 -1
- package/dist/build/platforms/typescript.js +3 -7
- package/dist/build/schemas/alphaValue.js +4 -7
- package/dist/build/schemas/baseToken.d.ts +2 -2
- package/dist/build/schemas/baseToken.js +4 -7
- package/dist/build/schemas/borderToken.d.ts +5 -5
- package/dist/build/schemas/borderToken.js +13 -16
- package/dist/build/schemas/collections.js +8 -14
- package/dist/build/schemas/colorHexValue.js +4 -7
- package/dist/build/schemas/colorToken.d.ts +20 -15
- package/dist/build/schemas/colorToken.js +24 -24
- package/dist/build/schemas/designToken.js +28 -31
- package/dist/build/schemas/dimensionToken.d.ts +5 -5
- package/dist/build/schemas/dimensionToken.js +14 -17
- package/dist/build/schemas/dimensionValue.js +7 -10
- package/dist/build/schemas/durationToken.d.ts +5 -5
- package/dist/build/schemas/durationToken.js +8 -11
- package/dist/build/schemas/durationValue.js +4 -7
- package/dist/build/schemas/fontFamilyToken.d.ts +5 -5
- package/dist/build/schemas/fontFamilyToken.js +13 -16
- package/dist/build/schemas/fontWeightToken.d.ts +5 -5
- package/dist/build/schemas/fontWeightToken.js +14 -17
- package/dist/build/schemas/fontWeightValue.js +4 -7
- package/dist/build/schemas/numberToken.d.ts +5 -5
- package/dist/build/schemas/numberToken.js +15 -18
- package/dist/build/schemas/referenceValue.js +4 -7
- package/dist/build/schemas/scopes.js +5 -10
- package/dist/build/schemas/shadowToken.d.ts +5 -5
- package/dist/build/schemas/shadowToken.js +23 -26
- package/dist/build/schemas/stringToken.d.ts +5 -5
- package/dist/build/schemas/stringToken.js +7 -10
- package/dist/build/schemas/tokenName.js +4 -7
- package/dist/build/schemas/tokenType.d.ts +2 -2
- package/dist/build/schemas/tokenType.js +2 -6
- package/dist/build/schemas/typographyToken.d.ts +5 -5
- package/dist/build/schemas/typographyToken.js +14 -17
- package/dist/build/schemas/validTokenType.js +9 -13
- package/dist/build/schemas/viewportRangeToken.d.ts +5 -5
- package/dist/build/schemas/viewportRangeToken.js +7 -10
- package/dist/build/transformers/borderToCss.d.ts +3 -3
- package/dist/build/transformers/borderToCss.js +16 -16
- package/dist/build/transformers/colorToHex.d.ts +2 -2
- package/dist/build/transformers/colorToHex.js +11 -13
- package/dist/build/transformers/colorToHexMix.d.ts +2 -2
- package/dist/build/transformers/colorToHexMix.js +10 -15
- package/dist/build/transformers/colorToRgbAlpha.d.ts +2 -2
- package/dist/build/transformers/colorToRgbAlpha.js +10 -12
- package/dist/build/transformers/colorToRgbaFloat.d.ts +2 -2
- package/dist/build/transformers/colorToRgbaFloat.js +24 -28
- package/dist/build/transformers/dimensionToPixelUnitless.d.ts +2 -2
- package/dist/build/transformers/dimensionToPixelUnitless.js +13 -14
- package/dist/build/transformers/dimensionToRem.d.ts +2 -2
- package/dist/build/transformers/dimensionToRem.js +12 -13
- package/dist/build/transformers/dimensionToRemPxArray.d.ts +2 -2
- package/dist/build/transformers/dimensionToRemPxArray.js +11 -12
- package/dist/build/transformers/durationToCss.d.ts +2 -2
- package/dist/build/transformers/durationToCss.js +9 -10
- package/dist/build/transformers/figmaAttributes.d.ts +2 -2
- package/dist/build/transformers/figmaAttributes.js +3 -5
- package/dist/build/transformers/floatToPixel.d.ts +4 -4
- package/dist/build/transformers/floatToPixel.js +12 -14
- package/dist/build/transformers/fontFamilyToCss.d.ts +2 -2
- package/dist/build/transformers/fontFamilyToCss.js +10 -13
- package/dist/build/transformers/fontFamilyToFigma.d.ts +3 -3
- package/dist/build/transformers/fontFamilyToFigma.js +15 -17
- package/dist/build/transformers/fontWeightToNumber.d.ts +2 -2
- package/dist/build/transformers/fontWeightToNumber.js +8 -11
- package/dist/build/transformers/index.d.ts +24 -24
- package/dist/build/transformers/index.js +24 -51
- package/dist/build/transformers/jsonDeprecated.d.ts +2 -2
- package/dist/build/transformers/jsonDeprecated.js +6 -8
- package/dist/build/transformers/namePathToCamelCase.d.ts +2 -2
- package/dist/build/transformers/namePathToCamelCase.js +5 -7
- package/dist/build/transformers/namePathToDotNotation.d.ts +2 -2
- package/dist/build/transformers/namePathToDotNotation.js +6 -8
- package/dist/build/transformers/namePathToFigma.d.ts +3 -3
- package/dist/build/transformers/namePathToFigma.js +5 -8
- package/dist/build/transformers/namePathToKebabCase.d.ts +2 -2
- package/dist/build/transformers/namePathToKebabCase.js +4 -6
- package/dist/build/transformers/namePathToPascalCase.d.ts +2 -2
- package/dist/build/transformers/namePathToPascalCase.js +5 -7
- package/dist/build/transformers/namePathToSlashNotation.d.ts +2 -2
- package/dist/build/transformers/namePathToSlashNotation.js +4 -6
- package/dist/build/transformers/shadowToCss.d.ts +2 -2
- package/dist/build/transformers/shadowToCss.js +14 -15
- package/dist/build/transformers/typographyToCss.d.ts +2 -2
- package/dist/build/transformers/typographyToCss.js +13 -15
- package/dist/build/transformers/utilities/alpha.d.ts +1 -1
- package/dist/build/transformers/utilities/alpha.js +4 -8
- package/dist/build/transformers/utilities/checkRequiredTokenProperties.js +1 -5
- package/dist/build/transformers/utilities/getTokenValue.d.ts +2 -2
- package/dist/build/transformers/utilities/getTokenValue.js +10 -12
- package/dist/build/transformers/utilities/hasSpaceInString.js +1 -5
- package/dist/build/transformers/utilities/hexToRgbaFloat.d.ts +1 -1
- package/dist/build/transformers/utilities/hexToRgbaFloat.js +1 -5
- package/dist/build/transformers/utilities/invalidTokenError.d.ts +1 -1
- package/dist/build/transformers/utilities/invalidTokenError.js +11 -10
- package/dist/build/transformers/utilities/isRgbaFloat.js +1 -5
- package/dist/build/transformers/utilities/mix.js +5 -7
- package/dist/build/transformers/utilities/rgbaFloatToHex.js +1 -5
- package/dist/build/types/Border.d.ts +5 -0
- package/dist/build/types/BorderTokenValue.d.ts +10 -0
- package/dist/build/types/ColorHex.d.ts +4 -0
- package/dist/build/types/PlatformInitializer.d.ts +11 -0
- package/dist/build/types/Shadow.d.ts +5 -0
- package/dist/build/types/ShadowTokenValue.d.ts +14 -0
- package/dist/build/types/SizeEm.d.ts +4 -0
- package/dist/build/types/SizePx.d.ts +4 -0
- package/dist/build/types/SizeRem.d.ts +4 -0
- package/dist/build/types/StyleDictionaryConfigGenerator.d.ts +15 -0
- package/dist/build/types/TokenBuildInput.d.ts +8 -0
- package/dist/build/types/TypographyTokenValue.d.ts +12 -0
- package/dist/build/types/w3cTransformedToken.d.ts +8 -0
- package/dist/build/utilities/copyFromDir.d.ts +2 -2
- package/dist/build/utilities/copyFromDir.js +7 -10
- package/dist/build/utilities/filterStringArray.js +1 -5
- package/dist/build/utilities/getFlag.js +1 -5
- package/dist/build/utilities/index.d.ts +9 -3
- package/dist/build/utilities/index.js +9 -9
- package/dist/build/utilities/joinFriendly.js +1 -5
- package/dist/build/utilities/schemaErrorMessage.js +1 -5
- package/dist/build/utilities/toCamelCase.js +5 -9
- package/dist/build/utilities/toPascalCase.js +5 -9
- package/dist/build/utilities/treeWalker.js +2 -6
- package/dist/build/utilities/upperCaseFirstCharacter.js +1 -5
- package/dist/css/functional/themes/dark-colorblind.css +4 -4
- package/dist/css/functional/themes/dark-high-contrast.css +20 -20
- package/dist/css/functional/themes/light-high-contrast.css +14 -14
- package/dist/css/functional/typography/typography.css +20 -20
- package/dist/css/primitives.css +20 -20
- package/dist/docs/base/size/size.json +76 -76
- package/dist/docs/base/typography/typography.json +16 -16
- package/dist/docs/functional/motion/motion.json +18 -18
- package/dist/docs/functional/size/border.json +56 -56
- package/dist/docs/functional/size/breakpoints.json +24 -24
- package/dist/docs/functional/size/size-coarse.json +12 -12
- package/dist/docs/functional/size/size-fine.json +12 -12
- package/dist/docs/functional/size/size.json +264 -264
- package/dist/docs/functional/size/viewport.json +24 -24
- package/dist/docs/functional/themes/dark-colorblind.json +2310 -3186
- package/dist/docs/functional/themes/dark-dimmed.json +2300 -2794
- package/dist/docs/functional/themes/dark-high-contrast.json +2520 -5038
- package/dist/docs/functional/themes/dark-tritanopia.json +2351 -3003
- package/dist/docs/functional/themes/dark.json +2270 -2270
- package/dist/docs/functional/themes/light-colorblind.json +2298 -3124
- package/dist/docs/functional/themes/light-high-contrast.json +2419 -4645
- package/dist/docs/functional/themes/light-tritanopia.json +2330 -2990
- package/dist/docs/functional/themes/light.json +2260 -2260
- package/dist/docs/functional/typography/typography.json +206 -206
- package/dist/figma/dimension/dimension.json +489 -489
- package/dist/figma/figma.json +11 -3
- package/dist/figma/scales/dark-dimmed.json +38 -38
- package/dist/figma/scales/dark-high-constrast.json +38 -38
- package/dist/figma/scales/dark.json +35 -35
- package/dist/figma/scales/light-high-constrast.json +40 -40
- package/dist/figma/scales/light.json +40 -40
- package/dist/figma/shadows/dark-colorblind.json +280 -280
- package/dist/figma/shadows/dark-dimmed.json +280 -280
- package/dist/figma/shadows/dark-high-contrast.json +280 -280
- package/dist/figma/shadows/dark-tritanopia.json +280 -280
- package/dist/figma/shadows/dark.json +280 -280
- package/dist/figma/shadows/light-colorblind.json +281 -281
- package/dist/figma/shadows/light-high-contrast.json +281 -281
- package/dist/figma/shadows/light-tritanopia.json +281 -281
- package/dist/figma/shadows/light.json +281 -281
- package/dist/figma/themes/dark-colorblind.json +4991 -5854
- package/dist/figma/themes/dark-dimmed.json +5314 -5799
- package/dist/figma/themes/dark-high-contrast.json +4210 -6679
- package/dist/figma/themes/dark-tritanopia.json +5165 -5817
- package/dist/figma/themes/dark.json +5534 -5537
- package/dist/figma/themes/light-colorblind.json +4857 -5669
- package/dist/figma/themes/light-high-contrast.json +4198 -6372
- package/dist/figma/themes/light-tritanopia.json +4901 -5529
- package/dist/figma/themes/light.json +5349 -5349
- package/dist/figma/typography/typography.json +112 -156
- package/dist/internalCss/dark-colorblind.css +4 -4
- package/dist/internalCss/dark-high-contrast.css +20 -20
- package/dist/internalCss/light-high-contrast.css +14 -14
- package/dist/styleLint/base/size/size.json +38 -38
- package/dist/styleLint/base/typography/typography.json +8 -8
- package/dist/styleLint/functional/motion/motion.json +12 -12
- package/dist/styleLint/functional/size/border.json +30 -30
- package/dist/styleLint/functional/size/breakpoints.json +12 -12
- package/dist/styleLint/functional/size/size-coarse.json +6 -6
- package/dist/styleLint/functional/size/size-fine.json +6 -6
- package/dist/styleLint/functional/size/size.json +132 -132
- package/dist/styleLint/functional/size/viewport.json +12 -12
- package/dist/styleLint/functional/themes/dark-colorblind.json +1171 -2047
- package/dist/styleLint/functional/themes/dark-dimmed.json +1160 -1654
- package/dist/styleLint/functional/themes/dark-high-contrast.json +1307 -3825
- package/dist/styleLint/functional/themes/dark-tritanopia.json +1232 -1884
- package/dist/styleLint/functional/themes/dark.json +1140 -1140
- package/dist/styleLint/functional/themes/light-colorblind.json +1198 -2024
- package/dist/styleLint/functional/themes/light-high-contrast.json +1270 -3496
- package/dist/styleLint/functional/themes/light-tritanopia.json +1205 -1865
- package/dist/styleLint/functional/themes/light.json +1130 -1130
- package/dist/styleLint/functional/typography/typography.json +114 -114
- package/package.json +19 -10
- package/src/tokens/functional/color/dark/overrides/dark.high-contrast.json5 +4 -4
- package/src/tokens/functional/color/dark/overrides/dark.protanopia-deuteranopia.json5 +6 -0
- package/src/tokens/functional/color/dark/overrides/dark.tritanopia.json5 +21 -3
- package/src/tokens/functional/color/dark/primitives-dark.json5 +3 -3
- package/src/tokens/functional/color/light/overrides/light.protanopia-deuteranopia.json5 +4 -1
- package/src/tokens/functional/color/light/overrides/light.tritanopia.json5 +4 -1
- package/src/tokens/functional/color/light/primitives-light.json5 +2 -2
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const schemaErrorMessage_1 = require("../utilities/schemaErrorMessage");
|
|
6
|
-
exports.tokenName = zod_1.z.string().refine(name => /(^[a-z0-9][A-Za-z0-9-]*$|^@$)/.test(name), name => ({
|
|
7
|
-
message: (0, schemaErrorMessage_1.schemaErrorMessage)(`Invalid token name: "${name}"`, 'Token name must be kebab-case or camelCase, and start with a lowercase letter or number and consist only of letters, numbers, and hyphens.'),
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { schemaErrorMessage } from '../utilities/index.js';
|
|
3
|
+
export const tokenName = z.string().refine(name => /(^[a-z0-9][A-Za-z0-9-]*$|^@$)/.test(name), name => ({
|
|
4
|
+
message: schemaErrorMessage(`Invalid token name: "${name}"`, 'Token name must be kebab-case or camelCase, and start with a lowercase letter or number and consist only of letters, numbers, and hyphens.'),
|
|
8
5
|
}));
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import type { TokenType } from './validTokenType';
|
|
3
|
-
export declare const tokenType: ($type: TokenType) => z.ZodLiteral<"string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "
|
|
2
|
+
import type { TokenType } from './validTokenType.js';
|
|
3
|
+
export declare const tokenType: ($type: TokenType) => z.ZodLiteral<"string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange">;
|
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.tokenType = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const tokenType = ($type) => zod_1.z.literal($type);
|
|
6
|
-
exports.tokenType = tokenType;
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const tokenType = ($type) => z.literal($type);
|
|
@@ -35,25 +35,25 @@ export declare const typographyToken: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
35
35
|
fontWeight: string | number;
|
|
36
36
|
lineHeight?: string | 0 | undefined;
|
|
37
37
|
}>, z.ZodEffects<z.ZodString, string, string>]>;
|
|
38
|
-
$type: z.ZodLiteral<"string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "
|
|
38
|
+
$type: z.ZodLiteral<"string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange">;
|
|
39
39
|
}>, "strict", z.ZodTypeAny, {
|
|
40
|
-
$type: "string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "shadow" | "typography" | "duration" | "custom-viewportRange";
|
|
41
40
|
$value: string | {
|
|
42
41
|
fontFamily: string;
|
|
43
42
|
fontSize: string | 0;
|
|
44
43
|
fontWeight: string | number;
|
|
45
44
|
lineHeight?: string | 0 | undefined;
|
|
46
45
|
};
|
|
47
|
-
|
|
46
|
+
$type: "string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange";
|
|
48
47
|
$description?: string | undefined;
|
|
48
|
+
deprecated?: string | boolean | undefined;
|
|
49
49
|
}, {
|
|
50
|
-
$type: "string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "shadow" | "typography" | "duration" | "custom-viewportRange";
|
|
51
50
|
$value: string | {
|
|
52
51
|
fontFamily: string;
|
|
53
52
|
fontSize: string | 0;
|
|
54
53
|
fontWeight: string | number;
|
|
55
54
|
lineHeight?: string | 0 | undefined;
|
|
56
55
|
};
|
|
57
|
-
|
|
56
|
+
$type: "string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange";
|
|
58
57
|
$description?: string | undefined;
|
|
58
|
+
deprecated?: string | boolean | undefined;
|
|
59
59
|
}>;
|
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
lineHeight: zod_1.z.union([dimensionValue_1.dimensionValue, referenceValue_1.referenceValue]).optional(),
|
|
13
|
-
fontWeight: zod_1.z.union([fontWeightValue_1.fontWeightValue, referenceValue_1.referenceValue]),
|
|
14
|
-
fontFamily: zod_1.z.union([zod_1.z.string().min(1), referenceValue_1.referenceValue]),
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { referenceValue } from './referenceValue.js';
|
|
3
|
+
import { dimensionValue } from './dimensionValue.js';
|
|
4
|
+
import { baseToken } from './baseToken.js';
|
|
5
|
+
import { fontWeightValue } from './fontWeightValue.js';
|
|
6
|
+
import { tokenType } from './tokenType.js';
|
|
7
|
+
export const typographyValue = z.object({
|
|
8
|
+
fontSize: z.union([dimensionValue, referenceValue]),
|
|
9
|
+
lineHeight: z.union([dimensionValue, referenceValue]).optional(),
|
|
10
|
+
fontWeight: z.union([fontWeightValue, referenceValue]),
|
|
11
|
+
fontFamily: z.union([z.string().min(1), referenceValue]),
|
|
15
12
|
});
|
|
16
|
-
|
|
13
|
+
export const typographyToken = baseToken
|
|
17
14
|
.extend({
|
|
18
|
-
$value:
|
|
19
|
-
$type:
|
|
15
|
+
$value: z.union([typographyValue, referenceValue]),
|
|
16
|
+
$type: tokenType('typography'),
|
|
20
17
|
})
|
|
21
18
|
.strict();
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.validateType = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const joinFriendly_1 = require("../utilities/joinFriendly");
|
|
6
|
-
const schemaErrorMessage_1 = require("../utilities/schemaErrorMessage");
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { joinFriendly, schemaErrorMessage } from '../utilities/index.js';
|
|
7
3
|
const validTypes = [
|
|
8
4
|
'color',
|
|
9
5
|
'typography',
|
|
@@ -19,16 +15,16 @@ const validTypes = [
|
|
|
19
15
|
];
|
|
20
16
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
21
17
|
// @ts-ignore: TODO: fix this
|
|
22
|
-
|
|
23
|
-
return
|
|
24
|
-
|
|
18
|
+
export const validateType = z.record(z.string(), z.lazy(() => {
|
|
19
|
+
return z.union([
|
|
20
|
+
z
|
|
25
21
|
.object({
|
|
26
|
-
$value:
|
|
27
|
-
$type:
|
|
28
|
-
message:
|
|
22
|
+
$value: z.any(),
|
|
23
|
+
$type: z.string().refine(type => validTypes.includes(type), val => ({
|
|
24
|
+
message: schemaErrorMessage(`Invalid token $type: "${val}"`, `Must be one of the following: ${joinFriendly([...validTypes], 'or')}`),
|
|
29
25
|
})),
|
|
30
26
|
})
|
|
31
27
|
.required(),
|
|
32
|
-
|
|
28
|
+
validateType,
|
|
33
29
|
]);
|
|
34
30
|
}));
|
|
@@ -4,15 +4,15 @@ export declare const viewportRangeToken: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
4
4
|
deprecated: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
|
|
5
5
|
}, {
|
|
6
6
|
$value: z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodString, string, string>]>;
|
|
7
|
-
$type: z.ZodLiteral<"string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "
|
|
7
|
+
$type: z.ZodLiteral<"string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange">;
|
|
8
8
|
}>, "strict", z.ZodTypeAny, {
|
|
9
|
-
$type: "string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "shadow" | "typography" | "duration" | "custom-viewportRange";
|
|
10
9
|
$value: string;
|
|
11
|
-
|
|
10
|
+
$type: "string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange";
|
|
12
11
|
$description?: string | undefined;
|
|
12
|
+
deprecated?: string | boolean | undefined;
|
|
13
13
|
}, {
|
|
14
|
-
$type: "string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "shadow" | "typography" | "duration" | "custom-viewportRange";
|
|
15
14
|
$value: string;
|
|
16
|
-
|
|
15
|
+
$type: "string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange";
|
|
17
16
|
$description?: string | undefined;
|
|
17
|
+
deprecated?: string | boolean | undefined;
|
|
18
18
|
}>;
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const referenceValue_1 = require("./referenceValue");
|
|
7
|
-
const tokenType_1 = require("./tokenType");
|
|
8
|
-
exports.viewportRangeToken = baseToken_1.baseToken
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { baseToken } from './baseToken.js';
|
|
3
|
+
import { referenceValue } from './referenceValue.js';
|
|
4
|
+
import { tokenType } from './tokenType.js';
|
|
5
|
+
export const viewportRangeToken = baseToken
|
|
9
6
|
.extend({
|
|
10
|
-
$value:
|
|
11
|
-
$type:
|
|
7
|
+
$value: z.union([z.string(), referenceValue]),
|
|
8
|
+
$type: tokenType('custom-viewportRange'),
|
|
12
9
|
})
|
|
13
10
|
.strict();
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Transform } from 'style-dictionary/types';
|
|
2
2
|
/**
|
|
3
3
|
* @description converts w3c border tokens in css border string
|
|
4
|
-
* @type
|
|
4
|
+
* @type valueTransformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
|
|
5
5
|
* @matcher matches all tokens of $type `border`
|
|
6
6
|
* @transformer returns css border `string`
|
|
7
7
|
*/
|
|
8
|
-
export declare const borderToCss:
|
|
8
|
+
export declare const borderToCss: Transform;
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.borderToCss = void 0;
|
|
4
|
-
const isBorder_1 = require("../filters/isBorder");
|
|
1
|
+
import { isBorder } from '../filters/isBorder.js';
|
|
5
2
|
/**
|
|
6
3
|
* checks if all required properties exist on shadow token
|
|
7
4
|
* @param object - BorderTokenValue
|
|
8
5
|
* @returns void or throws error
|
|
9
6
|
*/
|
|
10
7
|
const checkForBorderTokenProperties = (border) => {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
if (prop in border === false) {
|
|
14
|
-
throw new Error(`Missing propery: ${prop} on border token ${JSON.stringify(border)}`);
|
|
15
|
-
}
|
|
8
|
+
if ('color' in border && 'width' in border && 'style' in border) {
|
|
9
|
+
return true;
|
|
16
10
|
}
|
|
11
|
+
return false;
|
|
17
12
|
};
|
|
18
13
|
/**
|
|
19
14
|
* @description converts w3c border tokens in css border string
|
|
20
|
-
* @type
|
|
15
|
+
* @type valueTransformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
|
|
21
16
|
* @matcher matches all tokens of $type `border`
|
|
22
17
|
* @transformer returns css border `string`
|
|
23
18
|
*/
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
export const borderToCss = {
|
|
20
|
+
name: 'border/css',
|
|
21
|
+
type: 'value',
|
|
26
22
|
transitive: true,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
23
|
+
filter: isBorder,
|
|
24
|
+
transform: (token) => {
|
|
25
|
+
var _a;
|
|
26
|
+
const value = (_a = token.$value) !== null && _a !== void 0 ? _a : token.value;
|
|
31
27
|
// if value === string it was probably already transformed
|
|
32
28
|
if (typeof value === 'string') {
|
|
33
29
|
return value;
|
|
34
30
|
}
|
|
31
|
+
//
|
|
32
|
+
if (!checkForBorderTokenProperties(value)) {
|
|
33
|
+
throw new Error(`Invalid border token property ${JSON.stringify(value)}. Must be an object with color, width and style properties.`);
|
|
34
|
+
}
|
|
35
35
|
/* color | style | width */
|
|
36
36
|
return `${value.color} ${value.style} ${value.width}`;
|
|
37
37
|
},
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Transform } from 'style-dictionary/types';
|
|
2
2
|
/**
|
|
3
3
|
* @description converts color tokens value to `hex6` or `hex8`
|
|
4
4
|
* @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
|
|
5
5
|
* @matcher matches all tokens of $type `color`
|
|
6
6
|
* @transformer returns a `hex` string
|
|
7
7
|
*/
|
|
8
|
-
export declare const colorToHex:
|
|
8
|
+
export declare const colorToHex: Transform;
|
|
@@ -1,26 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const filters_1 = require("../filters");
|
|
6
|
-
const getTokenValue_1 = require("./utilities/getTokenValue");
|
|
7
|
-
const alpha_1 = require("./utilities/alpha");
|
|
1
|
+
import { toHex } from 'color2k';
|
|
2
|
+
import { isColor } from '../filters/index.js';
|
|
3
|
+
import { getTokenValue } from './utilities/getTokenValue.js';
|
|
4
|
+
import { alpha } from './utilities/alpha.js';
|
|
8
5
|
/**
|
|
9
6
|
* @description converts color tokens value to `hex6` or `hex8`
|
|
10
7
|
* @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
|
|
11
8
|
* @matcher matches all tokens of $type `color`
|
|
12
9
|
* @transformer returns a `hex` string
|
|
13
10
|
*/
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
export const colorToHex = {
|
|
12
|
+
name: 'color/hex',
|
|
13
|
+
type: 'value',
|
|
16
14
|
transitive: true,
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
filter: isColor,
|
|
16
|
+
transform: (token) => {
|
|
19
17
|
var _a, _b;
|
|
20
18
|
const alphaValue = (_a = token.alpha) !== null && _a !== void 0 ? _a : (_b = token.$extensions) === null || _b === void 0 ? void 0 : _b.alpha;
|
|
21
19
|
if (alphaValue === null || alphaValue === undefined) {
|
|
22
|
-
return
|
|
20
|
+
return toHex(getTokenValue(token));
|
|
23
21
|
}
|
|
24
|
-
return
|
|
22
|
+
return toHex(alpha(getTokenValue(token), alphaValue, token));
|
|
25
23
|
},
|
|
26
24
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Transform } from 'style-dictionary/types';
|
|
2
2
|
/**
|
|
3
3
|
* @description replaces tokens value with `hex8` color using the tokens `alpha` property to specify the value used for alpha
|
|
4
4
|
* @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
|
|
5
5
|
* @matcher matches all tokens of $type `color` with an `alpha` property
|
|
6
6
|
* @transformer returns `hex8` string
|
|
7
7
|
*/
|
|
8
|
-
export declare const colorToHexMix:
|
|
8
|
+
export declare const colorToHexMix: Transform;
|
|
@@ -1,25 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.colorToHexMix = void 0;
|
|
7
|
-
const color2k_1 = require("color2k");
|
|
8
|
-
const filters_1 = require("../filters");
|
|
9
|
-
const getTokenValue_1 = require("./utilities/getTokenValue");
|
|
10
|
-
const mix_1 = __importDefault(require("./utilities/mix"));
|
|
1
|
+
import { toHex } from 'color2k';
|
|
2
|
+
import { isColorWithMix } from '../filters/index.js';
|
|
3
|
+
import { getTokenValue } from './utilities/getTokenValue.js';
|
|
4
|
+
import mix from './utilities/mix.js';
|
|
11
5
|
/**
|
|
12
6
|
* @description replaces tokens value with `hex8` color using the tokens `alpha` property to specify the value used for alpha
|
|
13
7
|
* @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
|
|
14
8
|
* @matcher matches all tokens of $type `color` with an `alpha` property
|
|
15
9
|
* @transformer returns `hex8` string
|
|
16
10
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
export const colorToHexMix = {
|
|
12
|
+
name: 'color/hexMix',
|
|
13
|
+
type: 'value',
|
|
19
14
|
transitive: true,
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
filter: isColorWithMix,
|
|
16
|
+
transform: (token) => {
|
|
22
17
|
var _a, _b;
|
|
23
|
-
return
|
|
18
|
+
return toHex(mix(getTokenValue(token), ((_a = token.mix) === null || _a === void 0 ? void 0 : _a.color) || getTokenValue(token), ((_b = token.mix) === null || _b === void 0 ? void 0 : _b.weight) || 0));
|
|
24
19
|
},
|
|
25
20
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Transform } from 'style-dictionary/types';
|
|
2
2
|
/**
|
|
3
3
|
* @description replaces tokens value with `rgba` color using the tokens `alpha` property to specify the value used for alpha
|
|
4
4
|
* @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
|
|
5
5
|
* @matcher matches all tokens of $type `color` with an `alpha` property
|
|
6
6
|
* @transformer returns `rgba` string
|
|
7
7
|
*/
|
|
8
|
-
export declare const colorToRgbAlpha:
|
|
8
|
+
export declare const colorToRgbAlpha: Transform;
|
|
@@ -1,22 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const filters_1 = require("../filters");
|
|
5
|
-
const alpha_1 = require("./utilities/alpha");
|
|
6
|
-
const getTokenValue_1 = require("./utilities/getTokenValue");
|
|
1
|
+
import { isColorWithAlpha } from '../filters/index.js';
|
|
2
|
+
import { alpha } from './utilities/alpha.js';
|
|
3
|
+
import { getTokenValue } from './utilities/getTokenValue.js';
|
|
7
4
|
/**
|
|
8
5
|
* @description replaces tokens value with `rgba` color using the tokens `alpha` property to specify the value used for alpha
|
|
9
6
|
* @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
|
|
10
7
|
* @matcher matches all tokens of $type `color` with an `alpha` property
|
|
11
8
|
* @transformer returns `rgba` string
|
|
12
9
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
export const colorToRgbAlpha = {
|
|
11
|
+
name: 'color/rgbAlpha',
|
|
12
|
+
type: 'value',
|
|
15
13
|
transitive: true,
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
filter: isColorWithAlpha,
|
|
15
|
+
transform: (token) => {
|
|
18
16
|
if (token.alpha === null)
|
|
19
|
-
return
|
|
20
|
-
return
|
|
17
|
+
return getTokenValue(token);
|
|
18
|
+
return alpha(getTokenValue(token), token.alpha, token);
|
|
21
19
|
},
|
|
22
20
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Transform } from 'style-dictionary/types';
|
|
2
2
|
/**
|
|
3
3
|
* @description converts color tokens rgba float with values from 0 - 1
|
|
4
4
|
* @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
|
|
5
5
|
* @matcher matches all tokens of $type `color`
|
|
6
6
|
* @transformer returns a `rgb` float object
|
|
7
7
|
*/
|
|
8
|
-
export declare const colorToRgbaFloat:
|
|
8
|
+
export declare const colorToRgbaFloat: Transform;
|
|
@@ -1,34 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const getTokenValue_1 = require("./utilities/getTokenValue");
|
|
10
|
-
const rgbaFloatToHex_1 = require("./utilities/rgbaFloatToHex");
|
|
11
|
-
const mix_1 = __importDefault(require("./utilities/mix"));
|
|
12
|
-
const hexToRgbaFloat_1 = require("./utilities/hexToRgbaFloat");
|
|
13
|
-
const isRgbaFloat_1 = require("./utilities/isRgbaFloat");
|
|
14
|
-
const toRgbaFloat = (token, alpha) => {
|
|
1
|
+
import { toHex } from 'color2k';
|
|
2
|
+
import { isColor } from '../filters/index.js';
|
|
3
|
+
import { getTokenValue } from './utilities/getTokenValue.js';
|
|
4
|
+
import { rgbaFloatToHex } from './utilities/rgbaFloatToHex.js';
|
|
5
|
+
import mix from './utilities/mix.js';
|
|
6
|
+
import { hexToRgbaFloat } from './utilities/hexToRgbaFloat.js';
|
|
7
|
+
import { isRgbaFloat } from './utilities/isRgbaFloat.js';
|
|
8
|
+
const toRgbaFloat = (token, alpha = undefined) => {
|
|
15
9
|
var _a;
|
|
16
|
-
let tokenValue =
|
|
10
|
+
let tokenValue = getTokenValue(token);
|
|
17
11
|
let tokenMixColor = (_a = token.mix) === null || _a === void 0 ? void 0 : _a.color;
|
|
18
12
|
// get hex value from color string
|
|
19
|
-
if (
|
|
20
|
-
tokenValue =
|
|
13
|
+
if (isRgbaFloat(tokenValue)) {
|
|
14
|
+
tokenValue = rgbaFloatToHex(tokenValue, false);
|
|
21
15
|
}
|
|
22
|
-
if (tokenMixColor &&
|
|
23
|
-
tokenMixColor =
|
|
16
|
+
if (tokenMixColor && isRgbaFloat(tokenMixColor)) {
|
|
17
|
+
tokenMixColor = rgbaFloatToHex(tokenMixColor, false);
|
|
24
18
|
}
|
|
25
|
-
let hex =
|
|
19
|
+
let hex = toHex(tokenValue);
|
|
26
20
|
// mix color with mix color and weight
|
|
27
21
|
if (token.mix && token.mix.color && token.mix.weight) {
|
|
28
|
-
hex =
|
|
22
|
+
hex = toHex(mix(tokenValue, tokenMixColor, token.mix.weight));
|
|
29
23
|
}
|
|
30
24
|
// return color as RgbaFloat
|
|
31
|
-
return
|
|
25
|
+
return hexToRgbaFloat(hex, alpha);
|
|
32
26
|
};
|
|
33
27
|
/**
|
|
34
28
|
* @description converts color tokens rgba float with values from 0 - 1
|
|
@@ -36,14 +30,16 @@ const toRgbaFloat = (token, alpha) => {
|
|
|
36
30
|
* @matcher matches all tokens of $type `color`
|
|
37
31
|
* @transformer returns a `rgb` float object
|
|
38
32
|
*/
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
export const colorToRgbaFloat = {
|
|
34
|
+
name: 'color/rgbaFloat',
|
|
35
|
+
type: 'value',
|
|
41
36
|
transitive: true,
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
filter: isColor,
|
|
38
|
+
transform: (token) => {
|
|
39
|
+
const value = getTokenValue(token);
|
|
44
40
|
// skip if value is already rgb float
|
|
45
|
-
if (
|
|
46
|
-
return
|
|
41
|
+
if (isRgbaFloat(value) && !('mix' in token) && !('alpha' in token))
|
|
42
|
+
return value;
|
|
47
43
|
// convert hex or rgb values to rgba float
|
|
48
44
|
return toRgbaFloat(token, token.alpha);
|
|
49
45
|
},
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Transform } from 'style-dictionary/types';
|
|
2
2
|
/**
|
|
3
3
|
* @description converts dimension tokens value to pixel value without unit, ignores `em` as they are relative to the font size of the parent element
|
|
4
4
|
* @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
|
|
5
5
|
* @matcher matches all tokens of $type `dimension`
|
|
6
6
|
* @transformer returns a float number
|
|
7
7
|
*/
|
|
8
|
-
export declare const dimensionToPixelUnitless:
|
|
8
|
+
export declare const dimensionToPixelUnitless: Transform;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.dimensionToPixelUnitless = void 0;
|
|
4
|
-
const filters_1 = require("../filters");
|
|
1
|
+
import { isDimension } from '../filters/index.js';
|
|
5
2
|
/**
|
|
6
3
|
* @description base font size from options or 16
|
|
7
4
|
* @param options
|
|
@@ -26,25 +23,27 @@ const hasUnit = (value, unit) => {
|
|
|
26
23
|
* @matcher matches all tokens of $type `dimension`
|
|
27
24
|
* @transformer returns a float number
|
|
28
25
|
*/
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
export const dimensionToPixelUnitless = {
|
|
27
|
+
name: 'dimension/pixelUnitless',
|
|
28
|
+
type: 'value',
|
|
31
29
|
transitive: true,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
const
|
|
30
|
+
filter: isDimension,
|
|
31
|
+
transform: (token, config, options) => {
|
|
32
|
+
const valueProp = options.usesDtcg ? '$value' : 'value';
|
|
33
|
+
const baseFont = getBasePxFontSize(config);
|
|
34
|
+
const floatVal = parseFloat(token[valueProp]);
|
|
36
35
|
if (isNaN(floatVal)) {
|
|
37
|
-
throw new Error(`Invalid dimension token: '${token.
|
|
36
|
+
throw new Error(`Invalid dimension token: '${token.path.join('.')}: ${token[valueProp]}' is not valid and cannot be transform to 'float' \n`);
|
|
38
37
|
}
|
|
39
38
|
if (floatVal === 0) {
|
|
40
39
|
return 0;
|
|
41
40
|
}
|
|
42
|
-
if (hasUnit(token
|
|
41
|
+
if (hasUnit(token[valueProp], 'rem')) {
|
|
43
42
|
return floatVal * baseFont;
|
|
44
43
|
}
|
|
45
|
-
if (hasUnit(token
|
|
44
|
+
if (hasUnit(token[valueProp], 'px')) {
|
|
46
45
|
return floatVal;
|
|
47
46
|
}
|
|
48
|
-
return token
|
|
47
|
+
return token[valueProp];
|
|
49
48
|
},
|
|
50
49
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Transform } from 'style-dictionary/types';
|
|
2
2
|
/**
|
|
3
3
|
* @description converts dimension tokens value to `rem`, ignores `em` as they are relative to the font size of the parent element
|
|
4
4
|
* @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
|
|
5
5
|
* @matcher matches all tokens of $type `dimension`
|
|
6
6
|
* @transformer returns a `rem` string
|
|
7
7
|
*/
|
|
8
|
-
export declare const dimensionToRem:
|
|
8
|
+
export declare const dimensionToRem: Transform;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.dimensionToRem = void 0;
|
|
4
|
-
const filters_1 = require("../filters");
|
|
1
|
+
import { isDimension } from '../filters/index.js';
|
|
5
2
|
/**
|
|
6
3
|
* @description base font size from options or 16
|
|
7
4
|
* @param options
|
|
@@ -26,21 +23,23 @@ const hasUnit = (value, unit) => {
|
|
|
26
23
|
* @matcher matches all tokens of $type `dimension`
|
|
27
24
|
* @transformer returns a `rem` string
|
|
28
25
|
*/
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
export const dimensionToRem = {
|
|
27
|
+
name: 'dimension/rem',
|
|
28
|
+
type: 'value',
|
|
31
29
|
transitive: true,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
const
|
|
30
|
+
filter: isDimension,
|
|
31
|
+
transform: (token, config, options) => {
|
|
32
|
+
const valueProp = options.usesDtcg ? '$value' : 'value';
|
|
33
|
+
const baseFont = getBasePxFontSize(config);
|
|
34
|
+
const floatVal = parseFloat(token[valueProp]);
|
|
36
35
|
if (isNaN(floatVal)) {
|
|
37
|
-
throw new Error(`Invalid dimension token: '${token.name}: ${token
|
|
36
|
+
throw new Error(`Invalid dimension token: '${token.name}: ${token[valueProp]}' is not valid and cannot be transform to 'rem' \n`);
|
|
38
37
|
}
|
|
39
38
|
if (floatVal === 0) {
|
|
40
39
|
return '0';
|
|
41
40
|
}
|
|
42
|
-
if (hasUnit(token
|
|
43
|
-
return token
|
|
41
|
+
if (hasUnit(token[valueProp], 'rem') || hasUnit(token[valueProp], 'em')) {
|
|
42
|
+
return token[valueProp];
|
|
44
43
|
}
|
|
45
44
|
return `${floatVal / baseFont}rem`;
|
|
46
45
|
},
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Transform } from 'style-dictionary/types';
|
|
2
2
|
/**
|
|
3
3
|
* @description converts dimension tokens value to `rem`, ignores `em` as they are relative to the font size of the parent element
|
|
4
4
|
* @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
|
|
5
5
|
* @matcher matches all tokens of $type `dimension`
|
|
6
6
|
* @transformer returns an array with the `rem` and `pixel` string
|
|
7
7
|
*/
|
|
8
|
-
export declare const dimensionToRemPxArray:
|
|
8
|
+
export declare const dimensionToRemPxArray: Transform;
|