@canonical/terrazzo-plugin-css 0.3.3 → 0.4.1
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/esm/build/buildModifiers.js +114 -0
- package/dist/esm/build/buildModifiers.js.map +1 -0
- package/dist/esm/build/buildPrimitive.js +78 -0
- package/dist/esm/build/buildPrimitive.js.map +1 -0
- package/dist/esm/build/buildTheme.js +95 -0
- package/dist/esm/build/buildTheme.js.map +1 -0
- package/dist/esm/build/buildTypography.js +78 -0
- package/dist/esm/build/buildTypography.js.map +1 -0
- package/dist/esm/build/filterExtensions.js +21 -0
- package/dist/esm/build/filterExtensions.js.map +1 -0
- package/dist/esm/css-ast/addDeclUnique.js +7 -0
- package/dist/esm/css-ast/addDeclUnique.js.map +1 -0
- package/dist/esm/css-ast/decl.js +4 -0
- package/dist/esm/css-ast/decl.js.map +1 -0
- package/dist/esm/css-ast/hasDecl.js +4 -0
- package/dist/esm/css-ast/hasDecl.js.map +1 -0
- package/dist/esm/plugin/src/artifact/classifyTier.js +7 -0
- package/dist/esm/plugin/src/artifact/classifyTier.js.map +1 -0
- package/dist/esm/plugin/src/artifact/index.js +5 -0
- package/dist/esm/plugin/src/artifact/index.js.map +1 -0
- package/dist/esm/plugin/src/artifact/makeArtifactToken.js +36 -0
- package/dist/esm/plugin/src/artifact/makeArtifactToken.js.map +1 -0
- package/dist/esm/plugin/src/artifact/makeDerivedArtifactToken.js +29 -0
- package/dist/esm/plugin/src/artifact/makeDerivedArtifactToken.js.map +1 -0
- package/dist/esm/plugin/src/artifact/serializeArtifact.js +4 -0
- package/dist/esm/plugin/src/artifact/serializeArtifact.js.map +1 -0
- package/dist/esm/plugin/src/artifact/types.js +2 -0
- package/dist/esm/plugin/src/artifact/types.js.map +1 -0
- package/dist/esm/plugin/src/build/annotation.js +70 -0
- package/dist/esm/plugin/src/build/annotation.js.map +1 -0
- package/dist/esm/plugin/src/build/buildModifiers.js +114 -0
- package/dist/esm/plugin/src/build/buildModifiers.js.map +1 -0
- package/dist/esm/plugin/src/build/buildPrimitive.js +78 -0
- package/dist/esm/plugin/src/build/buildPrimitive.js.map +1 -0
- package/dist/esm/plugin/src/build/buildStates.js +66 -0
- package/dist/esm/plugin/src/build/buildStates.js.map +1 -0
- package/dist/esm/plugin/src/build/buildTheme.js +95 -0
- package/dist/esm/plugin/src/build/buildTheme.js.map +1 -0
- package/dist/esm/plugin/src/build/buildTypography.js +78 -0
- package/dist/esm/plugin/src/build/buildTypography.js.map +1 -0
- package/dist/esm/plugin/src/build/builders/buildDescriptionLookup.js +11 -0
- package/dist/esm/plugin/src/build/builders/buildDescriptionLookup.js.map +1 -0
- package/dist/esm/plugin/src/build/builders/buildFallbackChain.js +22 -0
- package/dist/esm/plugin/src/build/builders/buildFallbackChain.js.map +1 -0
- package/dist/esm/plugin/src/build/builders/buildModifierFamily.js +41 -0
- package/dist/esm/plugin/src/build/builders/buildModifierFamily.js.map +1 -0
- package/dist/esm/plugin/src/build/builders/buildModifiers.js +2 -0
- package/dist/esm/plugin/src/build/builders/buildModifiers.js.map +1 -0
- package/dist/esm/plugin/src/build/builders/buildPrimitive.js +2 -0
- package/dist/esm/plugin/src/build/builders/buildPrimitive.js.map +1 -0
- package/dist/esm/plugin/src/build/builders/buildSetsPrimitive.js +58 -0
- package/dist/esm/plugin/src/build/builders/buildSetsPrimitive.js.map +1 -0
- package/dist/esm/plugin/src/build/builders/buildSetsSemantic.js +9 -0
- package/dist/esm/plugin/src/build/builders/buildSetsSemantic.js.map +1 -0
- package/dist/esm/plugin/src/build/builders/buildStates.js +47 -0
- package/dist/esm/plugin/src/build/builders/buildStates.js.map +1 -0
- package/dist/esm/plugin/src/build/builders/buildSurfaces.js +42 -0
- package/dist/esm/plugin/src/build/builders/buildSurfaces.js.map +1 -0
- package/dist/esm/plugin/src/build/builders/buildTheme.js +97 -0
- package/dist/esm/plugin/src/build/builders/buildTheme.js.map +1 -0
- package/dist/esm/plugin/src/build/builders/buildTypography.js +42 -0
- package/dist/esm/plugin/src/build/builders/buildTypography.js.map +1 -0
- package/dist/esm/plugin/src/build/builders/convertCssValueToString.js +12 -0
- package/dist/esm/plugin/src/build/builders/convertCssValueToString.js.map +1 -0
- package/dist/esm/plugin/src/build/builders/emitTypographyDecls.js +37 -0
- package/dist/esm/plugin/src/build/builders/emitTypographyDecls.js.map +1 -0
- package/dist/esm/plugin/src/build/builders/index.js +16 -0
- package/dist/esm/plugin/src/build/builders/index.js.map +1 -0
- package/dist/esm/plugin/src/build/classification.js +27 -0
- package/dist/esm/plugin/src/build/classification.js.map +1 -0
- package/dist/esm/plugin/src/build/computeDeltas.js +73 -0
- package/dist/esm/plugin/src/build/computeDeltas.js.map +1 -0
- package/dist/esm/plugin/src/build/constants/format.js +3 -0
- package/dist/esm/plugin/src/build/constants/format.js.map +1 -0
- package/dist/esm/plugin/src/build/constants/header.js +3 -0
- package/dist/esm/plugin/src/build/constants/header.js.map +1 -0
- package/dist/esm/plugin/src/build/constants/interactiveRoles.js +88 -0
- package/dist/esm/plugin/src/build/constants/interactiveRoles.js.map +1 -0
- package/dist/esm/plugin/src/build/constants/surfaceSelectorMap.js +7 -0
- package/dist/esm/plugin/src/build/constants/surfaceSelectorMap.js.map +1 -0
- package/dist/esm/plugin/src/build/context.js +2 -0
- package/dist/esm/plugin/src/build/context.js.map +1 -0
- package/dist/esm/plugin/src/build/deltas.js +178 -0
- package/dist/esm/plugin/src/build/deltas.js.map +1 -0
- package/dist/esm/plugin/src/build/extractOklchL.js +13 -0
- package/dist/esm/plugin/src/build/extractOklchL.js.map +1 -0
- package/dist/esm/plugin/src/build/formatDelta.js +5 -0
- package/dist/esm/plugin/src/build/formatDelta.js.map +1 -0
- package/dist/esm/plugin/src/build/index.js +14 -0
- package/dist/esm/plugin/src/build/index.js.map +1 -0
- package/dist/esm/plugin/src/build/interactiveRoles.js +88 -0
- package/dist/esm/plugin/src/build/interactiveRoles.js.map +1 -0
- package/dist/esm/plugin/src/build/modifierIo.js +105 -0
- package/dist/esm/plugin/src/build/modifierIo.js.map +1 -0
- package/dist/esm/plugin/src/build/recoverPrimitiveRef.js +26 -0
- package/dist/esm/plugin/src/build/recoverPrimitiveRef.js.map +1 -0
- package/dist/esm/plugin/src/build/shims.js +9 -0
- package/dist/esm/plugin/src/build/shims.js.map +1 -0
- package/dist/esm/plugin/src/build/types.js +2 -0
- package/dist/esm/plugin/src/build/types.js.map +1 -0
- package/dist/esm/plugin/src/css-ast/addDeclarationUnique.js +7 -0
- package/dist/esm/plugin/src/css-ast/addDeclarationUnique.js.map +1 -0
- package/dist/esm/plugin/src/css-ast/createDeclaration.js +4 -0
- package/dist/esm/plugin/src/css-ast/createDeclaration.js.map +1 -0
- package/dist/esm/plugin/src/css-ast/decl.js +4 -0
- package/dist/esm/plugin/src/css-ast/decl.js.map +1 -0
- package/dist/esm/plugin/src/css-ast/declaration.js +4 -0
- package/dist/esm/plugin/src/css-ast/declaration.js.map +1 -0
- package/dist/esm/plugin/src/css-ast/hasDeclaration.js +4 -0
- package/dist/esm/plugin/src/css-ast/hasDeclaration.js.map +1 -0
- package/dist/esm/plugin/src/css-ast/index.js +7 -0
- package/dist/esm/plugin/src/css-ast/index.js.map +1 -0
- package/dist/esm/plugin/src/css-ast/printNode.js +28 -0
- package/dist/esm/plugin/src/css-ast/printNode.js.map +1 -0
- package/dist/esm/plugin/src/css-ast/printRules.js +13 -0
- package/dist/esm/plugin/src/css-ast/printRules.js.map +1 -0
- package/dist/esm/plugin/src/css-ast/rule.js +4 -0
- package/dist/esm/plugin/src/css-ast/rule.js.map +1 -0
- package/dist/esm/plugin/src/css-ast/types.js +2 -0
- package/dist/esm/plugin/src/css-ast/types.js.map +1 -0
- package/dist/esm/plugin/src/index.js +14 -0
- package/dist/esm/plugin/src/index.js.map +1 -0
- package/dist/esm/plugin/src/layers/index.js +3 -0
- package/dist/esm/plugin/src/layers/index.js.map +1 -0
- package/dist/esm/plugin/src/layers/resolveLayerConfig.js +10 -0
- package/dist/esm/plugin/src/layers/resolveLayerConfig.js.map +1 -0
- package/dist/esm/plugin/src/layers/types.js +2 -0
- package/dist/esm/plugin/src/layers/types.js.map +1 -0
- package/dist/esm/plugin/src/layers/wrapInLayer.js +14 -0
- package/dist/esm/plugin/src/layers/wrapInLayer.js.map +1 -0
- package/dist/esm/plugin/src/light-dark/buildLightDarkDeclarations.js +14 -0
- package/dist/esm/plugin/src/light-dark/buildLightDarkDeclarations.js.map +1 -0
- package/dist/esm/plugin/src/light-dark/index.js +3 -0
- package/dist/esm/plugin/src/light-dark/index.js.map +1 -0
- package/dist/esm/plugin/src/light-dark/types.js +2 -0
- package/dist/esm/plugin/src/light-dark/types.js.map +1 -0
- package/dist/esm/plugin/src/light-dark/wrapLightDark.js +13 -0
- package/dist/esm/plugin/src/light-dark/wrapLightDark.js.map +1 -0
- package/dist/esm/plugin/src/modifiers/buildModifierContextCSS.js +11 -0
- package/dist/esm/plugin/src/modifiers/buildModifierContextCSS.js.map +1 -0
- package/dist/esm/plugin/src/modifiers/computeModifierContext.js +75 -0
- package/dist/esm/plugin/src/modifiers/computeModifierContext.js.map +1 -0
- package/dist/esm/plugin/src/modifiers/getAliasTarget.js +4 -0
- package/dist/esm/plugin/src/modifiers/getAliasTarget.js.map +1 -0
- package/dist/esm/plugin/src/modifiers/index.js +4 -0
- package/dist/esm/plugin/src/modifiers/index.js.map +1 -0
- package/dist/esm/plugin/src/modifiers/types.js +2 -0
- package/dist/esm/plugin/src/modifiers/types.js.map +1 -0
- package/dist/esm/plugin/src/naming.js +28 -0
- package/dist/esm/plugin/src/naming.js.map +1 -0
- package/dist/esm/plugin/src/plugin/canonicalPlugin.js +132 -0
- package/dist/esm/plugin/src/plugin/canonicalPlugin.js.map +1 -0
- package/dist/esm/plugin/src/plugin/index.js +6 -0
- package/dist/esm/plugin/src/plugin/index.js.map +1 -0
- package/dist/esm/plugin/src/plugin/types.js +2 -0
- package/dist/esm/plugin/src/plugin/types.js.map +1 -0
- package/dist/esm/plugin/src/plugin.js +134 -0
- package/dist/esm/plugin/src/plugin.js.map +1 -0
- package/dist/esm/plugin/src/types.js +8 -0
- package/dist/esm/plugin/src/types.js.map +1 -0
- package/dist/esm/types/src/artifact/types.js +34 -0
- package/dist/esm/types/src/artifact/types.js.map +1 -0
- package/dist/esm/types/src/index.js +2 -0
- package/dist/esm/types/src/index.js.map +1 -0
- package/dist/types/build/buildModifiers.d.ts +19 -0
- package/dist/types/build/buildModifiers.d.ts.map +1 -0
- package/dist/types/build/buildPrimitive.d.ts +15 -0
- package/dist/types/build/buildPrimitive.d.ts.map +1 -0
- package/dist/types/build/buildTheme.d.ts +4 -0
- package/dist/types/build/buildTheme.d.ts.map +1 -0
- package/dist/types/build/buildTypography.d.ts +5 -0
- package/dist/types/build/buildTypography.d.ts.map +1 -0
- package/dist/types/build/filterExtensions.d.ts +9 -0
- package/dist/types/build/filterExtensions.d.ts.map +1 -0
- package/dist/types/css-ast/addDeclUnique.d.ts +4 -0
- package/dist/types/css-ast/addDeclUnique.d.ts.map +1 -0
- package/dist/types/css-ast/decl.d.ts +4 -0
- package/dist/types/css-ast/decl.d.ts.map +1 -0
- package/dist/types/css-ast/hasDecl.d.ts +4 -0
- package/dist/types/css-ast/hasDecl.d.ts.map +1 -0
- package/dist/types/plugin/src/artifact/classifyTier.d.ts +10 -0
- package/dist/types/plugin/src/artifact/classifyTier.d.ts.map +1 -0
- package/dist/types/plugin/src/artifact/index.d.ts +5 -0
- package/dist/types/plugin/src/artifact/index.d.ts.map +1 -0
- package/dist/types/plugin/src/artifact/makeArtifactToken.d.ts +6 -0
- package/dist/types/plugin/src/artifact/makeArtifactToken.d.ts.map +1 -0
- package/dist/types/plugin/src/artifact/makeDerivedArtifactToken.d.ts +6 -0
- package/dist/types/plugin/src/artifact/makeDerivedArtifactToken.d.ts.map +1 -0
- package/dist/types/plugin/src/artifact/serializeArtifact.d.ts +6 -0
- package/dist/types/plugin/src/artifact/serializeArtifact.d.ts.map +1 -0
- package/dist/types/plugin/src/artifact/types.d.ts +28 -0
- package/dist/types/plugin/src/artifact/types.d.ts.map +1 -0
- package/dist/types/plugin/src/build/annotation.d.ts +14 -0
- package/dist/types/plugin/src/build/annotation.d.ts.map +1 -0
- package/dist/types/plugin/src/build/buildModifiers.d.ts +19 -0
- package/dist/types/plugin/src/build/buildModifiers.d.ts.map +1 -0
- package/dist/types/plugin/src/build/buildPrimitive.d.ts +15 -0
- package/dist/types/plugin/src/build/buildPrimitive.d.ts.map +1 -0
- package/dist/types/plugin/src/build/buildStates.d.ts +11 -0
- package/dist/types/plugin/src/build/buildStates.d.ts.map +1 -0
- package/dist/types/plugin/src/build/buildTheme.d.ts +4 -0
- package/dist/types/plugin/src/build/buildTheme.d.ts.map +1 -0
- package/dist/types/plugin/src/build/buildTypography.d.ts +5 -0
- package/dist/types/plugin/src/build/buildTypography.d.ts.map +1 -0
- package/dist/types/plugin/src/build/builders/buildDescriptionLookup.d.ts +3 -0
- package/dist/types/plugin/src/build/builders/buildDescriptionLookup.d.ts.map +1 -0
- package/dist/types/plugin/src/build/builders/buildFallbackChain.d.ts +8 -0
- package/dist/types/plugin/src/build/builders/buildFallbackChain.d.ts.map +1 -0
- package/dist/types/plugin/src/build/builders/buildModifierFamily.d.ts +6 -0
- package/dist/types/plugin/src/build/builders/buildModifierFamily.d.ts.map +1 -0
- package/dist/types/plugin/src/build/builders/buildModifiers.d.ts +3 -0
- package/dist/types/plugin/src/build/builders/buildModifiers.d.ts.map +1 -0
- package/dist/types/plugin/src/build/builders/buildPrimitive.d.ts +3 -0
- package/dist/types/plugin/src/build/builders/buildPrimitive.d.ts.map +1 -0
- package/dist/types/plugin/src/build/builders/buildSetsPrimitive.d.ts +6 -0
- package/dist/types/plugin/src/build/builders/buildSetsPrimitive.d.ts.map +1 -0
- package/dist/types/plugin/src/build/builders/buildSetsSemantic.d.ts +5 -0
- package/dist/types/plugin/src/build/builders/buildSetsSemantic.d.ts.map +1 -0
- package/dist/types/plugin/src/build/builders/buildStates.d.ts +6 -0
- package/dist/types/plugin/src/build/builders/buildStates.d.ts.map +1 -0
- package/dist/types/plugin/src/build/builders/buildSurfaces.d.ts +6 -0
- package/dist/types/plugin/src/build/builders/buildSurfaces.d.ts.map +1 -0
- package/dist/types/plugin/src/build/builders/buildTheme.d.ts +6 -0
- package/dist/types/plugin/src/build/builders/buildTheme.d.ts.map +1 -0
- package/dist/types/plugin/src/build/builders/buildTypography.d.ts +9 -0
- package/dist/types/plugin/src/build/builders/buildTypography.d.ts.map +1 -0
- package/dist/types/plugin/src/build/builders/convertCssValueToString.d.ts +6 -0
- package/dist/types/plugin/src/build/builders/convertCssValueToString.d.ts.map +1 -0
- package/dist/types/plugin/src/build/builders/emitTypographyDecls.d.ts +5 -0
- package/dist/types/plugin/src/build/builders/emitTypographyDecls.d.ts.map +1 -0
- package/dist/types/plugin/src/build/builders/index.d.ts +16 -0
- package/dist/types/plugin/src/build/builders/index.d.ts.map +1 -0
- package/dist/types/plugin/src/build/classification.d.ts +13 -0
- package/dist/types/plugin/src/build/classification.d.ts.map +1 -0
- package/dist/types/plugin/src/build/computeDeltas.d.ts +17 -0
- package/dist/types/plugin/src/build/computeDeltas.d.ts.map +1 -0
- package/dist/types/plugin/src/build/constants/format.d.ts +3 -0
- package/dist/types/plugin/src/build/constants/format.d.ts.map +1 -0
- package/dist/types/plugin/src/build/constants/header.d.ts +3 -0
- package/dist/types/plugin/src/build/constants/header.d.ts.map +1 -0
- package/dist/types/plugin/src/build/constants/interactiveRoles.d.ts +4 -0
- package/dist/types/plugin/src/build/constants/interactiveRoles.d.ts.map +1 -0
- package/dist/types/plugin/src/build/constants/surfaceSelectorMap.d.ts +3 -0
- package/dist/types/plugin/src/build/constants/surfaceSelectorMap.d.ts.map +1 -0
- package/dist/types/plugin/src/build/context.d.ts +30 -0
- package/dist/types/plugin/src/build/context.d.ts.map +1 -0
- package/dist/types/plugin/src/build/deltas.d.ts +27 -0
- package/dist/types/plugin/src/build/deltas.d.ts.map +1 -0
- package/dist/types/plugin/src/build/extractOklchL.d.ts +2 -0
- package/dist/types/plugin/src/build/extractOklchL.d.ts.map +1 -0
- package/dist/types/plugin/src/build/formatDelta.d.ts +2 -0
- package/dist/types/plugin/src/build/formatDelta.d.ts.map +1 -0
- package/dist/types/plugin/src/build/index.d.ts +17 -0
- package/dist/types/plugin/src/build/index.d.ts.map +1 -0
- package/dist/types/plugin/src/build/interactiveRoles.d.ts +4 -0
- package/dist/types/plugin/src/build/interactiveRoles.d.ts.map +1 -0
- package/dist/types/plugin/src/build/modifierIo.d.ts +40 -0
- package/dist/types/plugin/src/build/modifierIo.d.ts.map +1 -0
- package/dist/types/plugin/src/build/recoverPrimitiveRef.d.ts +17 -0
- package/dist/types/plugin/src/build/recoverPrimitiveRef.d.ts.map +1 -0
- package/dist/types/plugin/src/build/shims.d.ts +57 -0
- package/dist/types/plugin/src/build/shims.d.ts.map +1 -0
- package/dist/types/plugin/src/build/types.d.ts +51 -0
- package/dist/types/plugin/src/build/types.d.ts.map +1 -0
- package/dist/types/plugin/src/css-ast/addDeclarationUnique.d.ts +3 -0
- package/dist/types/plugin/src/css-ast/addDeclarationUnique.d.ts.map +1 -0
- package/dist/types/plugin/src/css-ast/createDeclaration.d.ts +4 -0
- package/dist/types/plugin/src/css-ast/createDeclaration.d.ts.map +1 -0
- package/dist/types/plugin/src/css-ast/decl.d.ts +4 -0
- package/dist/types/plugin/src/css-ast/decl.d.ts.map +1 -0
- package/dist/types/plugin/src/css-ast/declaration.d.ts +4 -0
- package/dist/types/plugin/src/css-ast/declaration.d.ts.map +1 -0
- package/dist/types/plugin/src/css-ast/hasDeclaration.d.ts +3 -0
- package/dist/types/plugin/src/css-ast/hasDeclaration.d.ts.map +1 -0
- package/dist/types/plugin/src/css-ast/index.d.ts +7 -0
- package/dist/types/plugin/src/css-ast/index.d.ts.map +1 -0
- package/dist/types/plugin/src/css-ast/printNode.d.ts +7 -0
- package/dist/types/plugin/src/css-ast/printNode.d.ts.map +1 -0
- package/dist/types/plugin/src/css-ast/printRules.d.ts +4 -0
- package/dist/types/plugin/src/css-ast/printRules.d.ts.map +1 -0
- package/dist/types/plugin/src/css-ast/rule.d.ts +4 -0
- package/dist/types/plugin/src/css-ast/rule.d.ts.map +1 -0
- package/dist/types/plugin/src/css-ast/types.d.ts +21 -0
- package/dist/types/plugin/src/css-ast/types.d.ts.map +1 -0
- package/dist/types/plugin/src/index.d.ts +15 -0
- package/dist/types/plugin/src/index.d.ts.map +1 -0
- package/dist/types/plugin/src/layers/index.d.ts +3 -0
- package/dist/types/plugin/src/layers/index.d.ts.map +1 -0
- package/dist/types/plugin/src/layers/resolveLayerConfig.d.ts +6 -0
- package/dist/types/plugin/src/layers/resolveLayerConfig.d.ts.map +1 -0
- package/dist/types/plugin/src/layers/types.d.ts +19 -0
- package/dist/types/plugin/src/layers/types.d.ts.map +1 -0
- package/dist/types/plugin/src/layers/wrapInLayer.d.ts +3 -0
- package/dist/types/plugin/src/layers/wrapInLayer.d.ts.map +1 -0
- package/dist/types/plugin/src/light-dark/buildLightDarkDeclarations.d.ts +3 -0
- package/dist/types/plugin/src/light-dark/buildLightDarkDeclarations.d.ts.map +1 -0
- package/dist/types/plugin/src/light-dark/index.d.ts +3 -0
- package/dist/types/plugin/src/light-dark/index.d.ts.map +1 -0
- package/dist/types/plugin/src/light-dark/types.d.ts +50 -0
- package/dist/types/plugin/src/light-dark/types.d.ts.map +1 -0
- package/dist/types/plugin/src/light-dark/wrapLightDark.d.ts +8 -0
- package/dist/types/plugin/src/light-dark/wrapLightDark.d.ts.map +1 -0
- package/dist/types/plugin/src/modifiers/buildModifierContextCSS.d.ts +3 -0
- package/dist/types/plugin/src/modifiers/buildModifierContextCSS.d.ts.map +1 -0
- package/dist/types/plugin/src/modifiers/computeModifierContext.d.ts +3 -0
- package/dist/types/plugin/src/modifiers/computeModifierContext.d.ts.map +1 -0
- package/dist/types/plugin/src/modifiers/getAliasTarget.d.ts +6 -0
- package/dist/types/plugin/src/modifiers/getAliasTarget.d.ts.map +1 -0
- package/dist/types/plugin/src/modifiers/index.d.ts +4 -0
- package/dist/types/plugin/src/modifiers/index.d.ts.map +1 -0
- package/dist/types/plugin/src/modifiers/types.d.ts +42 -0
- package/dist/types/plugin/src/modifiers/types.d.ts.map +1 -0
- package/dist/types/plugin/src/naming.d.ts +19 -0
- package/dist/types/plugin/src/naming.d.ts.map +1 -0
- package/dist/types/plugin/src/plugin/canonicalPlugin.d.ts +18 -0
- package/dist/types/plugin/src/plugin/canonicalPlugin.d.ts.map +1 -0
- package/dist/types/plugin/src/plugin/index.d.ts +7 -0
- package/dist/types/plugin/src/plugin/index.d.ts.map +1 -0
- package/dist/types/plugin/src/plugin/types.d.ts +36 -0
- package/dist/types/plugin/src/plugin/types.d.ts.map +1 -0
- package/dist/types/plugin/src/plugin.d.ts +18 -0
- package/dist/types/plugin/src/plugin.d.ts.map +1 -0
- package/dist/types/plugin/src/types.d.ts +188 -0
- package/dist/types/plugin/src/types.d.ts.map +1 -0
- package/dist/types/types/src/artifact/types.d.ts +152 -0
- package/dist/types/types/src/artifact/types.d.ts.map +1 -0
- package/dist/types/types/src/index.d.ts +3 -0
- package/dist/types/types/src/index.d.ts.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build helpers for modifiers.{family}.css and modifiers.surfaces.css.
|
|
3
|
+
*/
|
|
4
|
+
import { makeDerivedArtifactToken } from "../artifact/index.js";
|
|
5
|
+
import { printRules } from "../css-ast/index.js";
|
|
6
|
+
import { wrapInLayer } from "../layers/index.js";
|
|
7
|
+
import { buildModifierContextCSS, computeModifierContext, } from "../modifiers/index.js";
|
|
8
|
+
import { convertTokenIdToCssVar, prefixVar } from "../naming.js";
|
|
9
|
+
import { HEADER } from "./buildPrimitive.js";
|
|
10
|
+
import { loadModifierData } from "./modifierIo.js";
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
// Description lookup helper
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
/**
|
|
15
|
+
* Build a map from channel CSS variable to description.
|
|
16
|
+
*
|
|
17
|
+
* Converts token IDs (e.g. `color.foreground.primary`) into their
|
|
18
|
+
* channel CSS var form (e.g. `--modifier-color-foreground-primary`)
|
|
19
|
+
* and maps each to its description.
|
|
20
|
+
*/
|
|
21
|
+
export function buildDescriptionLookup(descriptions, prefix) {
|
|
22
|
+
const lookup = {};
|
|
23
|
+
for (const [tokenId, desc] of Object.entries(descriptions)) {
|
|
24
|
+
const channelVar = prefixVar(convertTokenIdToCssVar(tokenId), prefix);
|
|
25
|
+
lookup[channelVar] = desc;
|
|
26
|
+
}
|
|
27
|
+
return lookup;
|
|
28
|
+
}
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
// Surface selector map
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
/**
|
|
33
|
+
* Surface selector compounding: map resolver context names to compound
|
|
34
|
+
* `.surface` descendant selectors based on depth.
|
|
35
|
+
*/
|
|
36
|
+
export const SURFACE_SELECTOR_MAP = {
|
|
37
|
+
layer1: ".surface",
|
|
38
|
+
layer2: ".surface .surface",
|
|
39
|
+
layer3: ".surface .surface .surface",
|
|
40
|
+
};
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
// Family build
|
|
43
|
+
// ---------------------------------------------------------------------------
|
|
44
|
+
/** @note Mutates `artifact`, calls `outputFile` and `loadModifierData` (file I/O). */
|
|
45
|
+
export function buildFamily(family, resolver, layers, artifact, outputFile, tokensDir) {
|
|
46
|
+
const baseTokens = resolver.apply({});
|
|
47
|
+
const modifiers = resolver.source?.modifiers;
|
|
48
|
+
const familyMod = modifiers?.[family];
|
|
49
|
+
if (!familyMod?.contexts)
|
|
50
|
+
return;
|
|
51
|
+
const allNodes = [];
|
|
52
|
+
for (const context of Object.keys(familyMod.contexts)) {
|
|
53
|
+
if (context === "none")
|
|
54
|
+
continue; // skip the empty default context
|
|
55
|
+
const { aliases: aliasMap, descriptions } = loadModifierData(tokensDir, family, context);
|
|
56
|
+
const overlayTokens = resolver.apply({ [family]: context });
|
|
57
|
+
// Build channel-var → description lookup
|
|
58
|
+
const descByChannelVar = buildDescriptionLookup(descriptions, "modifier");
|
|
59
|
+
const ctx = computeModifierContext(family, context, baseTokens, overlayTokens, "modifier", aliasMap);
|
|
60
|
+
const nodes = buildModifierContextCSS(ctx);
|
|
61
|
+
allNodes.push(...nodes);
|
|
62
|
+
// Register channel declarations in artifact
|
|
63
|
+
for (const d of ctx.declarations) {
|
|
64
|
+
artifact[d.property] = makeDerivedArtifactToken({
|
|
65
|
+
cssVar: d.property,
|
|
66
|
+
type: "color",
|
|
67
|
+
tier: "semantic",
|
|
68
|
+
cssOutputFile: `modifiers.${family}.css`,
|
|
69
|
+
derivedFrom: d.value.replace(/^var\(/, "").replace(/\)$/, ""),
|
|
70
|
+
derivation: "channel-modifier",
|
|
71
|
+
description: descByChannelVar[d.property],
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const wrapped = wrapInLayer(layers.modifiers, allNodes);
|
|
76
|
+
outputFile(`modifiers.${family}.css`, `${HEADER}\n${printRules(wrapped)}\n`);
|
|
77
|
+
}
|
|
78
|
+
// ---------------------------------------------------------------------------
|
|
79
|
+
// Surfaces build
|
|
80
|
+
// ---------------------------------------------------------------------------
|
|
81
|
+
/** @note Mutates `artifact`, calls `outputFile` and `loadModifierData` (file I/O). */
|
|
82
|
+
export function buildSurfaces(resolver, layers, artifact, outputFile, tokensDir) {
|
|
83
|
+
const baseTokens = resolver.apply({});
|
|
84
|
+
const modifiers = resolver.source?.modifiers;
|
|
85
|
+
const surfaceMod = modifiers?.surface;
|
|
86
|
+
if (!surfaceMod?.contexts)
|
|
87
|
+
return;
|
|
88
|
+
const allNodes = [];
|
|
89
|
+
for (const context of Object.keys(surfaceMod.contexts)) {
|
|
90
|
+
if (context === "none")
|
|
91
|
+
continue; // skip the empty default context
|
|
92
|
+
const { aliases: aliasMap, descriptions } = loadModifierData(tokensDir, "surface", context);
|
|
93
|
+
const overlayTokens = resolver.apply({ surface: context });
|
|
94
|
+
// Build channel-var → description lookup
|
|
95
|
+
const descByChannelVar = buildDescriptionLookup(descriptions, "surface");
|
|
96
|
+
const ctx = computeModifierContext("surface", context, baseTokens, overlayTokens, "surface", aliasMap, SURFACE_SELECTOR_MAP[context]);
|
|
97
|
+
const nodes = buildModifierContextCSS(ctx);
|
|
98
|
+
allNodes.push(...nodes);
|
|
99
|
+
for (const d of ctx.declarations) {
|
|
100
|
+
artifact[d.property] = makeDerivedArtifactToken({
|
|
101
|
+
cssVar: d.property,
|
|
102
|
+
type: "color",
|
|
103
|
+
tier: "semantic",
|
|
104
|
+
cssOutputFile: "modifiers.surfaces.css",
|
|
105
|
+
derivedFrom: d.value.replace(/^var\(/, "").replace(/\)$/, ""),
|
|
106
|
+
derivation: "channel-surface",
|
|
107
|
+
description: descByChannelVar[d.property],
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
const wrapped = wrapInLayer(layers.surfaces, allNodes);
|
|
112
|
+
outputFile("modifiers.surfaces.css", `${HEADER}\n${printRules(wrapped)}\n`);
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=buildModifiers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildModifiers.js","sourceRoot":"","sources":["../../../src/build/buildModifiers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { makeArtifactToken } from "../artifact/index.js";
|
|
2
|
+
import { createDecl, createRule, printRules } from "../css-ast/index.js";
|
|
3
|
+
import { wrapInLayer } from "../layers/index.js";
|
|
4
|
+
import { convertTokenIdToCssVar } from "../naming.js";
|
|
5
|
+
import { isPrimitive } from "./classification.js";
|
|
6
|
+
/** Plugin output format identifier. */
|
|
7
|
+
const FORMAT = "canonical-css";
|
|
8
|
+
const HEADER = "/* Generated by @canonical/terrazzo-plugin-css. DO NOT EDIT. */";
|
|
9
|
+
/**
|
|
10
|
+
* Convert a Terrazzo CSS value (string or multi-value record) to a plain string.
|
|
11
|
+
* Returns `null` for multi-value composites (typography).
|
|
12
|
+
*/
|
|
13
|
+
export function convertCssValueToString(val) {
|
|
14
|
+
if (typeof val === "string")
|
|
15
|
+
return val;
|
|
16
|
+
if ("." in val)
|
|
17
|
+
return val["."]; // WideGamutColorValue sRGB fallback
|
|
18
|
+
return null; // multi-value (typography)
|
|
19
|
+
}
|
|
20
|
+
/** @note Mutates `artifact`, calls `outputFile`. */
|
|
21
|
+
export function buildSetsPrimitive(getTransforms, layers, artifact, outputFile) {
|
|
22
|
+
const transforms = getTransforms({ format: FORMAT });
|
|
23
|
+
const nodes = [];
|
|
24
|
+
for (const t of transforms) {
|
|
25
|
+
if (!isPrimitive(t.id))
|
|
26
|
+
continue;
|
|
27
|
+
if (t.id.startsWith("number."))
|
|
28
|
+
continue;
|
|
29
|
+
// Skip dark / per-product permutations — only use the base
|
|
30
|
+
if (t.input &&
|
|
31
|
+
Object.keys(t.input).some((k) => k === "theme" && t.input[k] !== "light"))
|
|
32
|
+
continue;
|
|
33
|
+
if (t.input && "typography" in t.input && t.input.typography !== "global")
|
|
34
|
+
continue;
|
|
35
|
+
const cssVar = t.localID ?? convertTokenIdToCssVar(t.id);
|
|
36
|
+
if (t.type === "SINGLE_VALUE") {
|
|
37
|
+
nodes.push(createDecl(cssVar, t.value));
|
|
38
|
+
artifact[cssVar] = makeArtifactToken({
|
|
39
|
+
cssVar,
|
|
40
|
+
id: t.id,
|
|
41
|
+
type: t.token.$type ?? "unknown",
|
|
42
|
+
tier: "primitive",
|
|
43
|
+
cssOutputFile: "sets.primitive.css",
|
|
44
|
+
description: t.token.$description,
|
|
45
|
+
valueLight: t.value,
|
|
46
|
+
valueDark: t.value,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
// Multi-value — emit each sub-property
|
|
51
|
+
for (const [suffix, val] of Object.entries(t.value)) {
|
|
52
|
+
const subVar = `${cssVar}-${suffix}`;
|
|
53
|
+
nodes.push(createDecl(subVar, val));
|
|
54
|
+
artifact[subVar] = makeArtifactToken({
|
|
55
|
+
cssVar: subVar,
|
|
56
|
+
id: `${t.id}.${suffix}`,
|
|
57
|
+
type: t.token.$type ?? "unknown",
|
|
58
|
+
tier: "primitive",
|
|
59
|
+
cssOutputFile: "sets.primitive.css",
|
|
60
|
+
description: t.token.$description,
|
|
61
|
+
valueLight: val,
|
|
62
|
+
valueDark: val,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const wrapped = wrapInLayer(layers.tokens, [createRule([":root"], nodes)]);
|
|
68
|
+
outputFile("sets.primitive.css", `${HEADER}\n${printRules(wrapped)}\n`);
|
|
69
|
+
}
|
|
70
|
+
/** @note Calls `outputFile`. */
|
|
71
|
+
export function buildSetsSemantic(_layers, outputFile) {
|
|
72
|
+
// In V2, most semantic tokens come via modifier contexts (theme, typography).
|
|
73
|
+
// This file may be empty. Emit a comment-only placeholder.
|
|
74
|
+
const comment = "/* sets.semantic.css — no mode-invariant semantic tokens in V2. */";
|
|
75
|
+
outputFile("sets.semantic.css", `${HEADER}\n${comment}\n`);
|
|
76
|
+
}
|
|
77
|
+
export { FORMAT, HEADER };
|
|
78
|
+
//# sourceMappingURL=buildPrimitive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildPrimitive.js","sourceRoot":"","sources":["../../../src/build/buildPrimitive.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build helper for modifiers.theme.css — light-dark colour tokens and deltas.
|
|
3
|
+
*/
|
|
4
|
+
import { makeArtifactToken } from "../artifact/index.js";
|
|
5
|
+
import { createDecl, createRule, printRules } from "../css-ast/index.js";
|
|
6
|
+
import { wrapInLayer } from "../layers/index.js";
|
|
7
|
+
import { buildLightDarkDeclarations } from "../light-dark/index.js";
|
|
8
|
+
import { convertTokenIdToCssVar } from "../naming.js";
|
|
9
|
+
import { FORMAT, HEADER } from "./buildPrimitive.js";
|
|
10
|
+
import { isSemanticColor } from "./classification.js";
|
|
11
|
+
import { computeDeltas } from "./deltas.js";
|
|
12
|
+
import { recoverPrimitiveRef } from "./recoverPrimitiveRef.js";
|
|
13
|
+
/** @note Mutates `artifact`, calls `outputFile`. */
|
|
14
|
+
export function buildTheme(tokens, getTransforms, resolver, layers, artifact, outputFile) {
|
|
15
|
+
// Collect base (light) and dark transforms for colour tokens
|
|
16
|
+
const baseTransforms = getTransforms({ format: FORMAT });
|
|
17
|
+
const darkTransforms = getTransforms({
|
|
18
|
+
format: FORMAT,
|
|
19
|
+
input: { theme: "dark" },
|
|
20
|
+
});
|
|
21
|
+
// Index dark transforms by token ID
|
|
22
|
+
const darkById = new Map();
|
|
23
|
+
for (const t of darkTransforms) {
|
|
24
|
+
if (t.type !== "SINGLE_VALUE")
|
|
25
|
+
continue;
|
|
26
|
+
darkById.set(t.id, t.value);
|
|
27
|
+
}
|
|
28
|
+
// Build a reverse index: resolved literal value → primitive var name.
|
|
29
|
+
// When a semantic token resolves to the same literal as a primitive,
|
|
30
|
+
// we emit var(--primitive) instead of the raw oklch value.
|
|
31
|
+
const primitiveByValue = new Map();
|
|
32
|
+
for (const [cssVar, entry] of Object.entries(artifact)) {
|
|
33
|
+
if (entry.tier === "primitive" &&
|
|
34
|
+
entry.type === "color" &&
|
|
35
|
+
entry.valueLight) {
|
|
36
|
+
if (!primitiveByValue.has(entry.valueLight)) {
|
|
37
|
+
primitiveByValue.set(entry.valueLight, cssVar);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// Build light-dark pairs for semantic colour tokens
|
|
42
|
+
const pairs = [];
|
|
43
|
+
const seenIds = new Set();
|
|
44
|
+
for (const t of baseTransforms) {
|
|
45
|
+
if (!isSemanticColor(t.id))
|
|
46
|
+
continue;
|
|
47
|
+
if (t.type !== "SINGLE_VALUE")
|
|
48
|
+
continue;
|
|
49
|
+
if (seenIds.has(t.id))
|
|
50
|
+
continue;
|
|
51
|
+
seenIds.add(t.id);
|
|
52
|
+
const cssVar = t.localID ?? convertTokenIdToCssVar(t.id);
|
|
53
|
+
const rawLight = t.value;
|
|
54
|
+
const rawDark = darkById.get(t.id) ?? rawLight;
|
|
55
|
+
// Recover var() references to primitives
|
|
56
|
+
const lightVal = recoverPrimitiveRef(rawLight, cssVar, primitiveByValue);
|
|
57
|
+
const darkVal = recoverPrimitiveRef(rawDark, cssVar, primitiveByValue);
|
|
58
|
+
pairs.push({ property: cssVar, light: lightVal, dark: darkVal });
|
|
59
|
+
artifact[cssVar] = makeArtifactToken({
|
|
60
|
+
cssVar,
|
|
61
|
+
id: t.id,
|
|
62
|
+
type: "color",
|
|
63
|
+
tier: "semantic",
|
|
64
|
+
cssOutputFile: "modifiers.theme.css",
|
|
65
|
+
description: t.token.$description,
|
|
66
|
+
valueLight: lightVal,
|
|
67
|
+
valueDark: darkVal,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
// Build CSS
|
|
71
|
+
const themeDecls = buildLightDarkDeclarations(pairs);
|
|
72
|
+
// Compute NativeState deltas (task 2.9)
|
|
73
|
+
const { lightDeltaDecls, darkDeltaDecls } = computeDeltas(tokens, resolver, artifact);
|
|
74
|
+
// Assemble :root block
|
|
75
|
+
const rootNodes = [
|
|
76
|
+
createDecl("color-scheme", "light dark"),
|
|
77
|
+
...themeDecls,
|
|
78
|
+
...lightDeltaDecls,
|
|
79
|
+
];
|
|
80
|
+
const rootRule = createRule([":root"], rootNodes);
|
|
81
|
+
// Override selectors
|
|
82
|
+
const lightOverride = createRule([".light"], [createDecl("color-scheme", "light")]);
|
|
83
|
+
const darkOverride = createRule([".dark"], [createDecl("color-scheme", "dark"), ...darkDeltaDecls]);
|
|
84
|
+
const mediaQuery = createRule(["@media (prefers-color-scheme: dark)"], [
|
|
85
|
+
createRule([":root"], [createDecl("color-scheme", "dark"), ...darkDeltaDecls]),
|
|
86
|
+
]);
|
|
87
|
+
const wrapped = wrapInLayer(layers.modifiers, [
|
|
88
|
+
rootRule,
|
|
89
|
+
lightOverride,
|
|
90
|
+
darkOverride,
|
|
91
|
+
mediaQuery,
|
|
92
|
+
]);
|
|
93
|
+
outputFile("modifiers.theme.css", `${HEADER}\n${printRules(wrapped)}\n`);
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=buildTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildTheme.js","sourceRoot":"","sources":["../../../src/build/buildTheme.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build helper for modifiers.typography.css — base + per-product typography.
|
|
3
|
+
*/
|
|
4
|
+
import { makeArtifactToken } from "../artifact/index.js";
|
|
5
|
+
import { createDecl, createRule, printRules } from "../css-ast/index.js";
|
|
6
|
+
import { wrapInLayer } from "../layers/index.js";
|
|
7
|
+
import { convertTokenIdToCssVar } from "../naming.js";
|
|
8
|
+
import { FORMAT, HEADER } from "./buildPrimitive.js";
|
|
9
|
+
import { isSemanticTypography } from "./classification.js";
|
|
10
|
+
/** @note Mutates `artifact`, calls `outputFile`. */
|
|
11
|
+
export function buildTypography(getTransforms, layers, artifact, outputFile) {
|
|
12
|
+
const allNodes = [];
|
|
13
|
+
// Base (global) typography → :root
|
|
14
|
+
const baseTransforms = getTransforms({ format: FORMAT });
|
|
15
|
+
const rootDecls = [];
|
|
16
|
+
const seenIds = new Set();
|
|
17
|
+
for (const t of baseTransforms) {
|
|
18
|
+
if (!isSemanticTypography(t.id))
|
|
19
|
+
continue;
|
|
20
|
+
if (seenIds.has(t.id))
|
|
21
|
+
continue;
|
|
22
|
+
seenIds.add(t.id);
|
|
23
|
+
emitTypographyDecls(t, rootDecls, artifact, "modifiers.typography.css");
|
|
24
|
+
}
|
|
25
|
+
allNodes.push(createRule([":root"], rootDecls));
|
|
26
|
+
// Per-product contexts → class selectors
|
|
27
|
+
for (const ctx of ["apps", "docs", "sites"]) {
|
|
28
|
+
const contextTransforms = getTransforms({
|
|
29
|
+
format: FORMAT,
|
|
30
|
+
input: { typography: ctx },
|
|
31
|
+
});
|
|
32
|
+
const contextDecls = [];
|
|
33
|
+
for (const t of contextTransforms) {
|
|
34
|
+
if (!isSemanticTypography(t.id))
|
|
35
|
+
continue;
|
|
36
|
+
emitTypographyDecls(t, contextDecls, artifact, "modifiers.typography.css");
|
|
37
|
+
}
|
|
38
|
+
if (contextDecls.length > 0) {
|
|
39
|
+
allNodes.push(createRule([`.${ctx}`], contextDecls));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const wrapped = wrapInLayer(layers.modifiers, allNodes);
|
|
43
|
+
outputFile("modifiers.typography.css", `${HEADER}\n${printRules(wrapped)}\n`);
|
|
44
|
+
}
|
|
45
|
+
export function emitTypographyDecls(t, decls, artifact, outputFile) {
|
|
46
|
+
const cssVar = t.localID ?? convertTokenIdToCssVar(t.id);
|
|
47
|
+
if (t.type === "SINGLE_VALUE") {
|
|
48
|
+
decls.push(createDecl(cssVar, t.value));
|
|
49
|
+
artifact[cssVar] = makeArtifactToken({
|
|
50
|
+
cssVar,
|
|
51
|
+
id: t.id,
|
|
52
|
+
type: t.token.$type ?? "unknown",
|
|
53
|
+
tier: "semantic",
|
|
54
|
+
cssOutputFile: outputFile,
|
|
55
|
+
description: t.token.$description,
|
|
56
|
+
valueLight: t.value,
|
|
57
|
+
valueDark: t.value,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
// Multi-value: typography composite → individual sub-properties
|
|
62
|
+
for (const [suffix, val] of Object.entries(t.value)) {
|
|
63
|
+
const subVar = `${cssVar}-${suffix}`;
|
|
64
|
+
decls.push(createDecl(subVar, val));
|
|
65
|
+
artifact[subVar] = makeArtifactToken({
|
|
66
|
+
cssVar: subVar,
|
|
67
|
+
id: `${t.id}.${suffix}`,
|
|
68
|
+
type: t.token.$type ?? "unknown",
|
|
69
|
+
tier: "semantic",
|
|
70
|
+
cssOutputFile: outputFile,
|
|
71
|
+
description: t.token.$description,
|
|
72
|
+
valueLight: val,
|
|
73
|
+
valueDark: val,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=buildTypography.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildTypography.js","sourceRoot":"","sources":["../../../src/build/buildTypography.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filter DTCG $extensions: strip internal `com.canonical.*` keys,
|
|
3
|
+
* returning only third-party / user-defined extensions for artifact output.
|
|
4
|
+
*
|
|
5
|
+
* Returns `undefined` when no passthrough keys remain, so callers can
|
|
6
|
+
* use it directly in the spread-based construction without adding empty objects.
|
|
7
|
+
*/
|
|
8
|
+
export function filterExtensions(raw) {
|
|
9
|
+
if (!raw)
|
|
10
|
+
return undefined;
|
|
11
|
+
const result = {};
|
|
12
|
+
let hasKeys = false;
|
|
13
|
+
for (const [key, value] of Object.entries(raw)) {
|
|
14
|
+
if (!key.startsWith("com.canonical.")) {
|
|
15
|
+
result[key] = value;
|
|
16
|
+
hasKeys = true;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return hasKeys ? result : undefined;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=filterExtensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterExtensions.js","sourceRoot":"","sources":["../../../src/build/filterExtensions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,GAAwC;IAExC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAE3B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACpB,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addDeclUnique.js","sourceRoot":"","sources":["../../../src/css-ast/addDeclUnique.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,IAAe,EACf,WAA2B;IAE3B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decl.js","sourceRoot":"","sources":["../../../src/css-ast/decl.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,QAAgB,EAChB,KAAa,EACb,OAAgB;IAEhB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hasDecl.js","sourceRoot":"","sources":["../../../src/css-ast/hasDecl.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,IAAe,EAAE,QAAgB;IAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classifyTier.js","sourceRoot":"","sources":["../../../../../src/artifact/classifyTier.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,QAAgB,EAChB,OAA2B;IAE3B,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as classifyTier } from "./classifyTier.js";
|
|
2
|
+
export { default as makeArtifactToken } from "./makeArtifactToken.js";
|
|
3
|
+
export { default as makeDerivedArtifactToken } from "./makeDerivedArtifactToken.js";
|
|
4
|
+
export { default as serializeArtifact } from "./serializeArtifact.js";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/artifact/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export default function makeArtifactToken(params) {
|
|
2
|
+
const isPaired = params.valueLight !== undefined &&
|
|
3
|
+
params.valueDark !== undefined &&
|
|
4
|
+
params.valueLight !== params.valueDark;
|
|
5
|
+
const token = {
|
|
6
|
+
cssVar: params.cssVar,
|
|
7
|
+
id: params.id,
|
|
8
|
+
type: params.type,
|
|
9
|
+
tier: params.tier,
|
|
10
|
+
isPaired,
|
|
11
|
+
cssOutputFile: params.cssOutputFile,
|
|
12
|
+
};
|
|
13
|
+
if (params.description !== undefined) {
|
|
14
|
+
token.description = params.description;
|
|
15
|
+
}
|
|
16
|
+
if (params.declarations !== undefined && params.declarations.length > 0) {
|
|
17
|
+
token.declarations = params.declarations;
|
|
18
|
+
}
|
|
19
|
+
if (params.aliasChain !== undefined) {
|
|
20
|
+
token.aliasChain = params.aliasChain;
|
|
21
|
+
}
|
|
22
|
+
if (params.valueLight !== undefined) {
|
|
23
|
+
token.valueLight = params.valueLight;
|
|
24
|
+
}
|
|
25
|
+
if (params.valueDark !== undefined) {
|
|
26
|
+
token.valueDark = params.valueDark;
|
|
27
|
+
}
|
|
28
|
+
if (params.sourceFile !== undefined) {
|
|
29
|
+
token.sourceFile = params.sourceFile;
|
|
30
|
+
}
|
|
31
|
+
if (params.sourceLine !== undefined) {
|
|
32
|
+
token.sourceLine = params.sourceLine;
|
|
33
|
+
}
|
|
34
|
+
return token;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=makeArtifactToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makeArtifactToken.js","sourceRoot":"","sources":["../../../../../src/artifact/makeArtifactToken.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,MAAyB;IAEzB,MAAM,QAAQ,GACZ,MAAM,CAAC,UAAU,KAAK,SAAS;QAC/B,MAAM,CAAC,SAAS,KAAK,SAAS;QAC9B,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,SAAS,CAAC;IAEzC,MAAM,KAAK,GAAkB;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ;QACR,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC;IAEF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACrC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACzC,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxE,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC3C,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACrC,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export default function makeDerivedArtifactToken(params) {
|
|
2
|
+
const isPaired = params.valueLight !== undefined &&
|
|
3
|
+
params.valueDark !== undefined &&
|
|
4
|
+
params.valueLight !== params.valueDark;
|
|
5
|
+
const token = {
|
|
6
|
+
cssVar: params.cssVar,
|
|
7
|
+
id: null,
|
|
8
|
+
type: params.type,
|
|
9
|
+
tier: params.tier,
|
|
10
|
+
isPaired,
|
|
11
|
+
cssOutputFile: params.cssOutputFile,
|
|
12
|
+
derivedFrom: params.derivedFrom,
|
|
13
|
+
derivation: params.derivation,
|
|
14
|
+
};
|
|
15
|
+
if (params.description !== undefined) {
|
|
16
|
+
token.description = params.description;
|
|
17
|
+
}
|
|
18
|
+
if (params.declarations !== undefined && params.declarations.length > 0) {
|
|
19
|
+
token.declarations = params.declarations;
|
|
20
|
+
}
|
|
21
|
+
if (params.valueLight !== undefined) {
|
|
22
|
+
token.valueLight = params.valueLight;
|
|
23
|
+
}
|
|
24
|
+
if (params.valueDark !== undefined) {
|
|
25
|
+
token.valueDark = params.valueDark;
|
|
26
|
+
}
|
|
27
|
+
return token;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=makeDerivedArtifactToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makeDerivedArtifactToken.js","sourceRoot":"","sources":["../../../../../src/artifact/makeDerivedArtifactToken.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,MAAgC;IAEhC,MAAM,QAAQ,GACZ,MAAM,CAAC,UAAU,KAAK,SAAS;QAC/B,MAAM,CAAC,SAAS,KAAK,SAAS;QAC9B,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,SAAS,CAAC;IAEzC,MAAM,KAAK,GAAkB;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ;QACR,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;IAEF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACrC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACzC,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxE,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC3C,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializeArtifact.js","sourceRoot":"","sources":["../../../../../src/artifact/serializeArtifact.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,QAAkB;IAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/artifact/types.ts"],"names":[],"mappings":""}
|