zyzz 0.0.0 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +380 -0
- package/dist/Config.d.ts +170 -0
- package/dist/Config.d.ts.map +1 -0
- package/dist/Config.js +249 -0
- package/dist/Config.js.map +1 -0
- package/dist/Props.d.ts +7 -0
- package/dist/Props.d.ts.map +1 -0
- package/dist/Props.js +3 -0
- package/dist/Props.js.map +1 -0
- package/dist/Style.d.ts +167 -0
- package/dist/Style.d.ts.map +1 -0
- package/dist/Style.js +284 -0
- package/dist/Style.js.map +1 -0
- package/dist/Theme.d.ts +154 -0
- package/dist/Theme.d.ts.map +1 -0
- package/dist/Theme.js +257 -0
- package/dist/Theme.js.map +1 -0
- package/dist/babel/NativeEdits.d.ts +8 -0
- package/dist/babel/NativeEdits.d.ts.map +1 -0
- package/dist/babel/NativeEdits.js +233 -0
- package/dist/babel/NativeEdits.js.map +1 -0
- package/dist/babel/NativeJsx.d.ts +10 -0
- package/dist/babel/NativeJsx.d.ts.map +1 -0
- package/dist/babel/NativeJsx.js +204 -0
- package/dist/babel/NativeJsx.js.map +1 -0
- package/dist/babel/index.d.ts +51 -0
- package/dist/babel/index.d.ts.map +1 -0
- package/dist/babel/index.js +220 -0
- package/dist/babel/index.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +178 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/compiler/Graph.d.ts +64 -0
- package/dist/compiler/Graph.d.ts.map +1 -0
- package/dist/compiler/Graph.js +1111 -0
- package/dist/compiler/Graph.js.map +1 -0
- package/dist/compiler/Native.d.ts +53 -0
- package/dist/compiler/Native.d.ts.map +1 -0
- package/dist/compiler/Native.js +617 -0
- package/dist/compiler/Native.js.map +1 -0
- package/dist/compiler/Source.d.ts +165 -0
- package/dist/compiler/Source.d.ts.map +1 -0
- package/dist/compiler/Source.js +990 -0
- package/dist/compiler/Source.js.map +1 -0
- package/dist/compiler/Transform.d.ts +57 -0
- package/dist/compiler/Transform.d.ts.map +1 -0
- package/dist/compiler/Transform.js +884 -0
- package/dist/compiler/Transform.js.map +1 -0
- package/dist/compiler/index.d.ts +13 -0
- package/dist/compiler/index.d.ts.map +1 -0
- package/dist/compiler/index.js +13 -0
- package/dist/compiler/index.js.map +1 -0
- package/dist/compiler/internal/Applications.d.ts +35 -0
- package/dist/compiler/internal/Applications.d.ts.map +1 -0
- package/dist/compiler/internal/Applications.js +248 -0
- package/dist/compiler/internal/Applications.js.map +1 -0
- package/dist/compiler/internal/AtRules.d.ts +8 -0
- package/dist/compiler/internal/AtRules.d.ts.map +1 -0
- package/dist/compiler/internal/AtRules.js +180 -0
- package/dist/compiler/internal/AtRules.js.map +1 -0
- package/dist/compiler/internal/Catalogs.d.ts +19 -0
- package/dist/compiler/internal/Catalogs.d.ts.map +1 -0
- package/dist/compiler/internal/Catalogs.js +68 -0
- package/dist/compiler/internal/Catalogs.js.map +1 -0
- package/dist/compiler/internal/ColorProfiles.d.ts +3 -0
- package/dist/compiler/internal/ColorProfiles.d.ts.map +1 -0
- package/dist/compiler/internal/ColorProfiles.js +84 -0
- package/dist/compiler/internal/ColorProfiles.js.map +1 -0
- package/dist/compiler/internal/CompositionBindings.d.ts +16 -0
- package/dist/compiler/internal/CompositionBindings.d.ts.map +1 -0
- package/dist/compiler/internal/CompositionBindings.js +89 -0
- package/dist/compiler/internal/CompositionBindings.js.map +1 -0
- package/dist/compiler/internal/Compositions.d.ts +32 -0
- package/dist/compiler/internal/Compositions.d.ts.map +1 -0
- package/dist/compiler/internal/Compositions.js +464 -0
- package/dist/compiler/internal/Compositions.js.map +1 -0
- package/dist/compiler/internal/Configurations.d.ts +21 -0
- package/dist/compiler/internal/Configurations.d.ts.map +1 -0
- package/dist/compiler/internal/Configurations.js +171 -0
- package/dist/compiler/internal/Configurations.js.map +1 -0
- package/dist/compiler/internal/Contract.d.ts +27 -0
- package/dist/compiler/internal/Contract.d.ts.map +1 -0
- package/dist/compiler/internal/Contract.js +600 -0
- package/dist/compiler/internal/Contract.js.map +1 -0
- package/dist/compiler/internal/Contributions.d.ts +54 -0
- package/dist/compiler/internal/Contributions.d.ts.map +1 -0
- package/dist/compiler/internal/Contributions.js +1109 -0
- package/dist/compiler/internal/Contributions.js.map +1 -0
- package/dist/compiler/internal/Descriptors.d.ts +15 -0
- package/dist/compiler/internal/Descriptors.d.ts.map +1 -0
- package/dist/compiler/internal/Descriptors.js +183 -0
- package/dist/compiler/internal/Descriptors.js.map +1 -0
- package/dist/compiler/internal/Dynamic.d.ts +14 -0
- package/dist/compiler/internal/Dynamic.d.ts.map +1 -0
- package/dist/compiler/internal/Dynamic.js +172 -0
- package/dist/compiler/internal/Dynamic.js.map +1 -0
- package/dist/compiler/internal/Edits.d.ts +12 -0
- package/dist/compiler/internal/Edits.d.ts.map +1 -0
- package/dist/compiler/internal/Edits.js +5 -0
- package/dist/compiler/internal/Edits.js.map +1 -0
- package/dist/compiler/internal/Expression.d.ts +12 -0
- package/dist/compiler/internal/Expression.d.ts.map +1 -0
- package/dist/compiler/internal/Expression.js +98 -0
- package/dist/compiler/internal/Expression.js.map +1 -0
- package/dist/compiler/internal/Functions.d.ts +5 -0
- package/dist/compiler/internal/Functions.d.ts.map +1 -0
- package/dist/compiler/internal/Functions.js +191 -0
- package/dist/compiler/internal/Functions.js.map +1 -0
- package/dist/compiler/internal/Identifiers.d.ts +9 -0
- package/dist/compiler/internal/Identifiers.d.ts.map +1 -0
- package/dist/compiler/internal/Identifiers.js +106 -0
- package/dist/compiler/internal/Identifiers.js.map +1 -0
- package/dist/compiler/internal/Keyframes.d.ts +5 -0
- package/dist/compiler/internal/Keyframes.d.ts.map +1 -0
- package/dist/compiler/internal/Keyframes.js +51 -0
- package/dist/compiler/internal/Keyframes.js.map +1 -0
- package/dist/compiler/internal/Namespaces.d.ts +17 -0
- package/dist/compiler/internal/Namespaces.d.ts.map +1 -0
- package/dist/compiler/internal/Namespaces.js +265 -0
- package/dist/compiler/internal/Namespaces.js.map +1 -0
- package/dist/compiler/internal/NativeBindings.d.ts +74 -0
- package/dist/compiler/internal/NativeBindings.d.ts.map +1 -0
- package/dist/compiler/internal/NativeBindings.js +117 -0
- package/dist/compiler/internal/NativeBindings.js.map +1 -0
- package/dist/compiler/internal/PackedStyles.d.ts +35 -0
- package/dist/compiler/internal/PackedStyles.d.ts.map +1 -0
- package/dist/compiler/internal/PackedStyles.js +345 -0
- package/dist/compiler/internal/PackedStyles.js.map +1 -0
- package/dist/compiler/internal/Properties.d.ts +5 -0
- package/dist/compiler/internal/Properties.d.ts.map +1 -0
- package/dist/compiler/internal/Properties.js +82 -0
- package/dist/compiler/internal/Properties.js.map +1 -0
- package/dist/compiler/internal/RecipeConditions.d.ts +41 -0
- package/dist/compiler/internal/RecipeConditions.d.ts.map +1 -0
- package/dist/compiler/internal/RecipeConditions.js +82 -0
- package/dist/compiler/internal/RecipeConditions.js.map +1 -0
- package/dist/compiler/internal/RecipePayloads.d.ts +31 -0
- package/dist/compiler/internal/RecipePayloads.d.ts.map +1 -0
- package/dist/compiler/internal/RecipePayloads.js +99 -0
- package/dist/compiler/internal/RecipePayloads.js.map +1 -0
- package/dist/compiler/internal/Recipes.d.ts +32 -0
- package/dist/compiler/internal/Recipes.d.ts.map +1 -0
- package/dist/compiler/internal/Recipes.js +339 -0
- package/dist/compiler/internal/Recipes.js.map +1 -0
- package/dist/compiler/internal/Relative.d.ts +19 -0
- package/dist/compiler/internal/Relative.d.ts.map +1 -0
- package/dist/compiler/internal/Relative.js +62 -0
- package/dist/compiler/internal/Relative.js.map +1 -0
- package/dist/compiler/internal/Scope.d.ts +10 -0
- package/dist/compiler/internal/Scope.d.ts.map +1 -0
- package/dist/compiler/internal/Scope.js +28 -0
- package/dist/compiler/internal/Scope.js.map +1 -0
- package/dist/compiler/internal/Selectors.d.ts +12 -0
- package/dist/compiler/internal/Selectors.d.ts.map +1 -0
- package/dist/compiler/internal/Selectors.js +265 -0
- package/dist/compiler/internal/Selectors.js.map +1 -0
- package/dist/compiler/internal/Static.d.ts +39 -0
- package/dist/compiler/internal/Static.d.ts.map +1 -0
- package/dist/compiler/internal/Static.js +532 -0
- package/dist/compiler/internal/Static.js.map +1 -0
- package/dist/compiler/internal/Stylesheets.d.ts +47 -0
- package/dist/compiler/internal/Stylesheets.d.ts.map +1 -0
- package/dist/compiler/internal/Stylesheets.js +272 -0
- package/dist/compiler/internal/Stylesheets.js.map +1 -0
- package/dist/compiler/internal/Syntax.d.ts +17 -0
- package/dist/compiler/internal/Syntax.d.ts.map +1 -0
- package/dist/compiler/internal/Syntax.js +19 -0
- package/dist/compiler/internal/Syntax.js.map +1 -0
- package/dist/compiler/internal/Themes.d.ts +158 -0
- package/dist/compiler/internal/Themes.d.ts.map +1 -0
- package/dist/compiler/internal/Themes.js +1169 -0
- package/dist/compiler/internal/Themes.js.map +1 -0
- package/dist/compiler/internal/Variables.d.ts +31 -0
- package/dist/compiler/internal/Variables.d.ts.map +1 -0
- package/dist/compiler/internal/Variables.js +376 -0
- package/dist/compiler/internal/Variables.js.map +1 -0
- package/dist/compiler/internal/ViewTransitions.d.ts +3 -0
- package/dist/compiler/internal/ViewTransitions.d.ts.map +1 -0
- package/dist/compiler/internal/ViewTransitions.js +68 -0
- package/dist/compiler/internal/ViewTransitions.js.map +1 -0
- package/dist/cx.d.ts +18 -0
- package/dist/cx.d.ts.map +1 -0
- package/dist/cx.js +60 -0
- package/dist/cx.js.map +1 -0
- package/dist/default.d.ts +2008 -0
- package/dist/default.d.ts.map +1 -0
- package/dist/default.js +243 -0
- package/dist/default.js.map +7 -0
- package/dist/default.js.zyzz.json +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/Authoring.d.ts +26 -0
- package/dist/internal/Authoring.d.ts.map +1 -0
- package/dist/internal/Authoring.js +134 -0
- package/dist/internal/Authoring.js.map +1 -0
- package/dist/internal/Binding.d.ts +64 -0
- package/dist/internal/Binding.d.ts.map +1 -0
- package/dist/internal/Binding.js +27 -0
- package/dist/internal/Binding.js.map +1 -0
- package/dist/internal/BindingDomains.d.ts +11 -0
- package/dist/internal/BindingDomains.d.ts.map +1 -0
- package/dist/internal/BindingDomains.js +459 -0
- package/dist/internal/BindingDomains.js.map +1 -0
- package/dist/internal/Cascade.d.ts +45 -0
- package/dist/internal/Cascade.d.ts.map +1 -0
- package/dist/internal/Cascade.js +165 -0
- package/dist/internal/Cascade.js.map +1 -0
- package/dist/internal/Compound.d.ts +132 -0
- package/dist/internal/Compound.d.ts.map +1 -0
- package/dist/internal/Compound.js +2 -0
- package/dist/internal/Compound.js.map +1 -0
- package/dist/internal/Condition.d.ts +33 -0
- package/dist/internal/Condition.d.ts.map +1 -0
- package/dist/internal/Condition.js +180 -0
- package/dist/internal/Condition.js.map +1 -0
- package/dist/internal/Corner.d.ts +9 -0
- package/dist/internal/Corner.d.ts.map +1 -0
- package/dist/internal/Corner.js +14 -0
- package/dist/internal/Corner.js.map +1 -0
- package/dist/internal/FunctionSyntax.d.ts +27 -0
- package/dist/internal/FunctionSyntax.d.ts.map +1 -0
- package/dist/internal/FunctionSyntax.js +91 -0
- package/dist/internal/FunctionSyntax.js.map +1 -0
- package/dist/internal/FunctionValue.d.ts +19 -0
- package/dist/internal/FunctionValue.d.ts.map +1 -0
- package/dist/internal/FunctionValue.js +2 -0
- package/dist/internal/FunctionValue.js.map +1 -0
- package/dist/internal/Geometry.d.ts +8 -0
- package/dist/internal/Geometry.d.ts.map +1 -0
- package/dist/internal/Geometry.js +2 -0
- package/dist/internal/Geometry.js.map +1 -0
- package/dist/internal/Grid.d.ts +15 -0
- package/dist/internal/Grid.d.ts.map +1 -0
- package/dist/internal/Grid.js +2 -0
- package/dist/internal/Grid.js.map +1 -0
- package/dist/internal/Identifier.d.ts +15 -0
- package/dist/internal/Identifier.d.ts.map +1 -0
- package/dist/internal/Identifier.js +2 -0
- package/dist/internal/Identifier.js.map +1 -0
- package/dist/internal/Identity.d.ts +16 -0
- package/dist/internal/Identity.d.ts.map +1 -0
- package/dist/internal/Identity.js +78 -0
- package/dist/internal/Identity.js.map +1 -0
- package/dist/internal/Lexical.d.ts +89 -0
- package/dist/internal/Lexical.d.ts.map +1 -0
- package/dist/internal/Lexical.js +15 -0
- package/dist/internal/Lexical.js.map +1 -0
- package/dist/internal/Literal.d.ts +3459 -0
- package/dist/internal/Literal.d.ts.map +1 -0
- package/dist/internal/Literal.js +3371 -0
- package/dist/internal/Literal.js.map +1 -0
- package/dist/internal/NativeProperties.d.ts +596 -0
- package/dist/internal/NativeProperties.d.ts.map +1 -0
- package/dist/internal/NativeProperties.js +2 -0
- package/dist/internal/NativeProperties.js.map +1 -0
- package/dist/internal/Numeric.d.ts +23 -0
- package/dist/internal/Numeric.d.ts.map +1 -0
- package/dist/internal/Numeric.js +2 -0
- package/dist/internal/Numeric.js.map +1 -0
- package/dist/internal/Query.d.ts +15 -0
- package/dist/internal/Query.d.ts.map +1 -0
- package/dist/internal/Query.js +58 -0
- package/dist/internal/Query.js.map +1 -0
- package/dist/internal/Recipe.d.ts +17 -0
- package/dist/internal/Recipe.d.ts.map +1 -0
- package/dist/internal/Recipe.js +2 -0
- package/dist/internal/Recipe.js.map +1 -0
- package/dist/internal/RuleReference.d.ts +23 -0
- package/dist/internal/RuleReference.d.ts.map +1 -0
- package/dist/internal/RuleReference.js +65 -0
- package/dist/internal/RuleReference.js.map +1 -0
- package/dist/internal/Scheme.d.ts +12 -0
- package/dist/internal/Scheme.d.ts.map +1 -0
- package/dist/internal/Scheme.js +16 -0
- package/dist/internal/Scheme.js.map +1 -0
- package/dist/internal/Shorthands.d.ts +20 -0
- package/dist/internal/Shorthands.d.ts.map +1 -0
- package/dist/internal/Shorthands.js +49 -0
- package/dist/internal/Shorthands.js.map +1 -0
- package/dist/internal/Targets.d.ts +43 -0
- package/dist/internal/Targets.d.ts.map +1 -0
- package/dist/internal/Targets.js +60 -0
- package/dist/internal/Targets.js.map +1 -0
- package/dist/internal/Token.d.ts +104 -0
- package/dist/internal/Token.d.ts.map +1 -0
- package/dist/internal/Token.js +162 -0
- package/dist/internal/Token.js.map +1 -0
- package/dist/internal/Tuple.d.ts +23 -0
- package/dist/internal/Tuple.d.ts.map +1 -0
- package/dist/internal/Tuple.js +2 -0
- package/dist/internal/Tuple.js.map +1 -0
- package/dist/internal/Value.d.ts +74 -0
- package/dist/internal/Value.d.ts.map +1 -0
- package/dist/internal/Value.js +60 -0
- package/dist/internal/Value.js.map +1 -0
- package/dist/metro/Graph.d.ts +8 -0
- package/dist/metro/Graph.d.ts.map +1 -0
- package/dist/metro/Graph.js +63 -0
- package/dist/metro/Graph.js.map +1 -0
- package/dist/metro/Watch.d.ts +21 -0
- package/dist/metro/Watch.d.ts.map +1 -0
- package/dist/metro/Watch.js +51 -0
- package/dist/metro/Watch.js.map +1 -0
- package/dist/metro/index.d.ts +30 -0
- package/dist/metro/index.d.ts.map +1 -0
- package/dist/metro/index.js +52 -0
- package/dist/metro/index.js.map +1 -0
- package/dist/metro/transformer.d.ts +21 -0
- package/dist/metro/transformer.d.ts.map +1 -0
- package/dist/metro/transformer.js +71 -0
- package/dist/metro/transformer.js.map +1 -0
- package/dist/next/index.d.ts +18 -0
- package/dist/next/index.d.ts.map +1 -0
- package/dist/next/index.js +92 -0
- package/dist/next/index.js.map +1 -0
- package/dist/next/loader.d.ts +16 -0
- package/dist/next/loader.d.ts.map +1 -0
- package/dist/next/loader.js +282 -0
- package/dist/next/loader.js.map +1 -0
- package/dist/node/Host.d.ts +80 -0
- package/dist/node/Host.d.ts.map +1 -0
- package/dist/node/Host.js +882 -0
- package/dist/node/Host.js.map +1 -0
- package/dist/node/index.d.ts +7 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +7 -0
- package/dist/node/index.js.map +1 -0
- package/dist/react-native/Host.d.ts +76 -0
- package/dist/react-native/Host.d.ts.map +1 -0
- package/dist/react-native/Host.js +209 -0
- package/dist/react-native/Host.js.map +1 -0
- package/dist/react-native/StyleSheet.d.ts +226 -0
- package/dist/react-native/StyleSheet.d.ts.map +1 -0
- package/dist/react-native/StyleSheet.js +606 -0
- package/dist/react-native/StyleSheet.js.map +1 -0
- package/dist/react-native/Variants.d.ts +38 -0
- package/dist/react-native/Variants.d.ts.map +1 -0
- package/dist/react-native/Variants.js +66 -0
- package/dist/react-native/Variants.js.map +1 -0
- package/dist/react-native/index.d.ts +8 -0
- package/dist/react-native/index.d.ts.map +1 -0
- package/dist/react-native/index.js +8 -0
- package/dist/react-native/index.js.map +1 -0
- package/dist/react-native/internal/Color.d.ts +7 -0
- package/dist/react-native/internal/Color.d.ts.map +1 -0
- package/dist/react-native/internal/Color.js +93 -0
- package/dist/react-native/internal/Color.js.map +1 -0
- package/dist/react-native/internal/NativeSchema.d.ts +5138 -0
- package/dist/react-native/internal/NativeSchema.d.ts.map +1 -0
- package/dist/react-native/internal/NativeSchema.js +3097 -0
- package/dist/react-native/internal/NativeSchema.js.map +1 -0
- package/dist/react-native/internal/Scalar.d.ts +95 -0
- package/dist/react-native/internal/Scalar.d.ts.map +1 -0
- package/dist/react-native/internal/Scalar.js +199 -0
- package/dist/react-native/internal/Scalar.js.map +1 -0
- package/dist/react-native/internal/Values.d.ts +5 -0
- package/dist/react-native/internal/Values.d.ts.map +1 -0
- package/dist/react-native/internal/Values.js +65 -0
- package/dist/react-native/internal/Values.js.map +1 -0
- package/dist/react-native/react.d.ts +22 -0
- package/dist/react-native/react.d.ts.map +1 -0
- package/dist/react-native/react.js +26 -0
- package/dist/react-native/react.js.map +1 -0
- package/dist/reset.css +244 -0
- package/dist/runtime/Appearance.d.ts +55 -0
- package/dist/runtime/Appearance.d.ts.map +1 -0
- package/dist/runtime/Appearance.js +84 -0
- package/dist/runtime/Appearance.js.map +1 -0
- package/dist/runtime/Composition.d.ts +46 -0
- package/dist/runtime/Composition.d.ts.map +1 -0
- package/dist/runtime/Composition.js +52 -0
- package/dist/runtime/Composition.js.map +1 -0
- package/dist/runtime/CompositionHtml.d.ts +15 -0
- package/dist/runtime/CompositionHtml.d.ts.map +1 -0
- package/dist/runtime/CompositionHtml.js +20 -0
- package/dist/runtime/CompositionHtml.js.map +1 -0
- package/dist/runtime/ConditionalRecipe.d.ts +30 -0
- package/dist/runtime/ConditionalRecipe.d.ts.map +1 -0
- package/dist/runtime/ConditionalRecipe.js +39 -0
- package/dist/runtime/ConditionalRecipe.js.map +1 -0
- package/dist/runtime/Dynamic.d.ts +19 -0
- package/dist/runtime/Dynamic.d.ts.map +1 -0
- package/dist/runtime/Dynamic.js +22 -0
- package/dist/runtime/Dynamic.js.map +1 -0
- package/dist/runtime/Html.d.ts +32 -0
- package/dist/runtime/Html.d.ts.map +1 -0
- package/dist/runtime/Html.js +63 -0
- package/dist/runtime/Html.js.map +1 -0
- package/dist/runtime/Native.d.ts +48 -0
- package/dist/runtime/Native.d.ts.map +1 -0
- package/dist/runtime/Native.js +78 -0
- package/dist/runtime/Native.js.map +1 -0
- package/dist/runtime/NativeContext.d.ts +17 -0
- package/dist/runtime/NativeContext.d.ts.map +1 -0
- package/dist/runtime/NativeContext.js +47 -0
- package/dist/runtime/NativeContext.js.map +1 -0
- package/dist/runtime/NativeDynamic.d.ts +47 -0
- package/dist/runtime/NativeDynamic.d.ts.map +1 -0
- package/dist/runtime/NativeDynamic.js +141 -0
- package/dist/runtime/NativeDynamic.js.map +1 -0
- package/dist/runtime/PayloadRecipe.d.ts +22 -0
- package/dist/runtime/PayloadRecipe.d.ts.map +1 -0
- package/dist/runtime/PayloadRecipe.js +59 -0
- package/dist/runtime/PayloadRecipe.js.map +1 -0
- package/dist/runtime/Props.d.ts +21 -0
- package/dist/runtime/Props.d.ts.map +1 -0
- package/dist/runtime/Props.js +17 -0
- package/dist/runtime/Props.js.map +1 -0
- package/dist/runtime/Recipe.d.ts +52 -0
- package/dist/runtime/Recipe.d.ts.map +1 -0
- package/dist/runtime/Recipe.js +30 -0
- package/dist/runtime/Recipe.js.map +1 -0
- package/dist/runtime/Selection.d.ts +31 -0
- package/dist/runtime/Selection.d.ts.map +1 -0
- package/dist/runtime/Selection.js +30 -0
- package/dist/runtime/Selection.js.map +1 -0
- package/dist/runtime/Variable.d.ts +6 -0
- package/dist/runtime/Variable.d.ts.map +1 -0
- package/dist/runtime/Variable.js +10 -0
- package/dist/runtime/Variable.js.map +1 -0
- package/dist/runtime/index.d.ts +33 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +33 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/styleFunction.d.ts +72 -0
- package/dist/styleFunction.d.ts.map +1 -0
- package/dist/styleFunction.js +18 -0
- package/dist/styleFunction.js.map +1 -0
- package/dist/themes/LICENSE.tailwind +21 -0
- package/dist/variable.d.ts +50 -0
- package/dist/variable.d.ts.map +1 -0
- package/dist/variable.js +20 -0
- package/dist/variable.js.map +1 -0
- package/dist/variants.d.ts +84 -0
- package/dist/variants.d.ts.map +1 -0
- package/dist/variants.js +21 -0
- package/dist/variants.js.map +1 -0
- package/dist/vite/index.d.ts +24 -0
- package/dist/vite/index.d.ts.map +1 -0
- package/dist/vite/index.js +1089 -0
- package/dist/vite/index.js.map +1 -0
- package/dist/web/Css.d.ts +81 -0
- package/dist/web/Css.d.ts.map +1 -0
- package/dist/web/Css.js +593 -0
- package/dist/web/Css.js.map +1 -0
- package/dist/web/colorProfile.d.ts +28 -0
- package/dist/web/colorProfile.d.ts.map +1 -0
- package/dist/web/colorProfile.js +8 -0
- package/dist/web/colorProfile.js.map +1 -0
- package/dist/web/counterStyle.d.ts +48 -0
- package/dist/web/counterStyle.d.ts.map +1 -0
- package/dist/web/counterStyle.js +8 -0
- package/dist/web/counterStyle.js.map +1 -0
- package/dist/web/cssFunction.d.ts +80 -0
- package/dist/web/cssFunction.d.ts.map +1 -0
- package/dist/web/cssFunction.js +18 -0
- package/dist/web/cssFunction.js.map +1 -0
- package/dist/web/customMedia.d.ts +12 -0
- package/dist/web/customMedia.d.ts.map +1 -0
- package/dist/web/customMedia.js +7 -0
- package/dist/web/customMedia.js.map +1 -0
- package/dist/web/fontFace.d.ts +26 -0
- package/dist/web/fontFace.d.ts.map +1 -0
- package/dist/web/fontFace.js +7 -0
- package/dist/web/fontFace.js.map +1 -0
- package/dist/web/fontFeatureValues.d.ts +40 -0
- package/dist/web/fontFeatureValues.d.ts.map +1 -0
- package/dist/web/fontFeatureValues.js +7 -0
- package/dist/web/fontFeatureValues.js.map +1 -0
- package/dist/web/fontPaletteValues.d.ts +21 -0
- package/dist/web/fontPaletteValues.d.ts.map +1 -0
- package/dist/web/fontPaletteValues.js +9 -0
- package/dist/web/fontPaletteValues.js.map +1 -0
- package/dist/web/global.d.ts +19 -0
- package/dist/web/global.d.ts.map +1 -0
- package/dist/web/global.js +6 -0
- package/dist/web/global.js.map +1 -0
- package/dist/web/importCss.d.ts +18 -0
- package/dist/web/importCss.d.ts.map +1 -0
- package/dist/web/importCss.js +7 -0
- package/dist/web/importCss.js.map +1 -0
- package/dist/web/index.d.ts +22 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +22 -0
- package/dist/web/index.js.map +1 -0
- package/dist/web/internal/Block.d.ts +18 -0
- package/dist/web/internal/Block.d.ts.map +1 -0
- package/dist/web/internal/Block.js +13 -0
- package/dist/web/internal/Block.js.map +1 -0
- package/dist/web/internal/ClassName.d.ts +19 -0
- package/dist/web/internal/ClassName.d.ts.map +1 -0
- package/dist/web/internal/ClassName.js +77 -0
- package/dist/web/internal/ClassName.js.map +1 -0
- package/dist/web/internal/Context.d.ts +11 -0
- package/dist/web/internal/Context.d.ts.map +1 -0
- package/dist/web/internal/Context.js +2 -0
- package/dist/web/internal/Context.js.map +1 -0
- package/dist/web/internal/Contributions.d.ts +70 -0
- package/dist/web/internal/Contributions.d.ts.map +1 -0
- package/dist/web/internal/Contributions.js +109 -0
- package/dist/web/internal/Contributions.js.map +1 -0
- package/dist/web/internal/Namespace.d.ts +13 -0
- package/dist/web/internal/Namespace.d.ts.map +1 -0
- package/dist/web/internal/Namespace.js +13 -0
- package/dist/web/internal/Namespace.js.map +1 -0
- package/dist/web/internal/Themes.d.ts +13 -0
- package/dist/web/internal/Themes.d.ts.map +1 -0
- package/dist/web/internal/Themes.js +96 -0
- package/dist/web/internal/Themes.js.map +1 -0
- package/dist/web/keyframes.d.ts +14 -0
- package/dist/web/keyframes.d.ts.map +1 -0
- package/dist/web/keyframes.js +8 -0
- package/dist/web/keyframes.js.map +1 -0
- package/dist/web/layers.d.ts +4 -0
- package/dist/web/layers.d.ts.map +1 -0
- package/dist/web/layers.js +7 -0
- package/dist/web/layers.js.map +1 -0
- package/dist/web/namespace.d.ts +14 -0
- package/dist/web/namespace.d.ts.map +1 -0
- package/dist/web/namespace.js +7 -0
- package/dist/web/namespace.js.map +1 -0
- package/dist/web/page.d.ts +38 -0
- package/dist/web/page.d.ts.map +1 -0
- package/dist/web/page.js +7 -0
- package/dist/web/page.js.map +1 -0
- package/dist/web/positionTry.d.ts +14 -0
- package/dist/web/positionTry.d.ts.map +1 -0
- package/dist/web/positionTry.js +9 -0
- package/dist/web/positionTry.js.map +1 -0
- package/dist/web/property.d.ts +24 -0
- package/dist/web/property.d.ts.map +1 -0
- package/dist/web/property.js +7 -0
- package/dist/web/property.js.map +1 -0
- package/dist/web/viewTransition.d.ts +29 -0
- package/dist/web/viewTransition.d.ts.map +1 -0
- package/dist/web/viewTransition.js +7 -0
- package/dist/web/viewTransition.js.map +1 -0
- package/package.json +136 -10
- package/src/Config.ts +690 -0
- package/src/Props.ts +8 -0
- package/src/Style.ts +748 -0
- package/src/Theme.ts +713 -0
- package/src/babel/NativeEdits.ts +273 -0
- package/src/babel/NativeJsx.ts +260 -0
- package/src/babel/index.ts +332 -0
- package/src/cli/index.ts +196 -0
- package/src/compiler/Graph.ts +1586 -0
- package/src/compiler/Native.ts +801 -0
- package/src/compiler/Source.ts +1550 -0
- package/src/compiler/Transform.ts +1235 -0
- package/src/compiler/index.ts +12 -0
- package/src/compiler/internal/Applications.ts +378 -0
- package/src/compiler/internal/AtRules.ts +202 -0
- package/src/compiler/internal/Catalogs.ts +114 -0
- package/src/compiler/internal/ColorProfiles.ts +93 -0
- package/src/compiler/internal/CompositionBindings.ts +120 -0
- package/src/compiler/internal/Compositions.ts +629 -0
- package/src/compiler/internal/Configurations.ts +244 -0
- package/src/compiler/internal/Contract.ts +846 -0
- package/src/compiler/internal/Contributions.ts +1507 -0
- package/src/compiler/internal/Descriptors.ts +238 -0
- package/src/compiler/internal/Dynamic.ts +266 -0
- package/src/compiler/internal/Edits.ts +13 -0
- package/src/compiler/internal/Expression.ts +135 -0
- package/src/compiler/internal/Functions.ts +206 -0
- package/src/compiler/internal/Identifiers.ts +124 -0
- package/src/compiler/internal/Keyframes.ts +62 -0
- package/src/compiler/internal/Namespaces.ts +296 -0
- package/src/compiler/internal/NativeBindings.ts +151 -0
- package/src/compiler/internal/PackedStyles.ts +464 -0
- package/src/compiler/internal/Properties.ts +121 -0
- package/src/compiler/internal/RecipeConditions.ts +139 -0
- package/src/compiler/internal/RecipePayloads.ts +132 -0
- package/src/compiler/internal/Recipes.ts +531 -0
- package/src/compiler/internal/Relative.ts +87 -0
- package/src/compiler/internal/Scope.ts +36 -0
- package/src/compiler/internal/Selectors.ts +334 -0
- package/src/compiler/internal/Static.ts +783 -0
- package/src/compiler/internal/Stylesheets.ts +361 -0
- package/src/compiler/internal/Syntax.ts +31 -0
- package/src/compiler/internal/Themes.ts +1794 -0
- package/src/compiler/internal/Variables.ts +497 -0
- package/src/compiler/internal/ViewTransitions.ts +82 -0
- package/src/cx.ts +98 -0
- package/src/default.ts +484 -0
- package/src/index.ts +20 -0
- package/src/internal/Authoring.ts +199 -0
- package/src/internal/Binding.ts +187 -0
- package/src/internal/BindingDomains.ts +458 -0
- package/src/internal/Cascade.ts +165 -0
- package/src/internal/Compound.ts +522 -0
- package/src/internal/Condition.ts +283 -0
- package/src/internal/Corner.ts +17 -0
- package/src/internal/FunctionSyntax.ts +271 -0
- package/src/internal/FunctionValue.ts +96 -0
- package/src/internal/Geometry.ts +30 -0
- package/src/internal/Grid.ts +67 -0
- package/src/internal/Identifier.ts +14 -0
- package/src/internal/Identity.ts +89 -0
- package/src/internal/Lexical.ts +202 -0
- package/src/internal/Literal.ts +3820 -0
- package/src/internal/NativeProperties.ts +936 -0
- package/src/internal/Numeric.ts +77 -0
- package/src/internal/Query.ts +87 -0
- package/src/internal/Recipe.ts +17 -0
- package/src/internal/RuleReference.ts +102 -0
- package/src/internal/Scheme.ts +20 -0
- package/src/internal/Shorthands.ts +120 -0
- package/src/internal/Targets.ts +162 -0
- package/src/internal/Token.ts +380 -0
- package/src/internal/Tuple.ts +29 -0
- package/src/internal/Value.ts +320 -0
- package/src/metro/Graph.ts +78 -0
- package/src/metro/Watch.ts +88 -0
- package/src/metro/index.ts +99 -0
- package/src/metro/transformer.ts +97 -0
- package/src/next/index.ts +114 -0
- package/src/next/loader.ts +369 -0
- package/src/node/Host.ts +1204 -0
- package/src/node/index.ts +6 -0
- package/src/react-native/Host.ts +289 -0
- package/src/react-native/StyleSheet.ts +1084 -0
- package/src/react-native/Variants.ts +122 -0
- package/src/react-native/index.ts +7 -0
- package/src/react-native/internal/Color.ts +110 -0
- package/src/react-native/internal/NativeSchema.ts +3096 -0
- package/src/react-native/internal/Scalar.ts +253 -0
- package/src/react-native/internal/Values.ts +87 -0
- package/src/react-native/react.ts +47 -0
- package/src/reset.css +244 -0
- package/src/runtime/Appearance.ts +155 -0
- package/src/runtime/Composition.ts +87 -0
- package/src/runtime/CompositionHtml.ts +38 -0
- package/src/runtime/ConditionalRecipe.ts +70 -0
- package/src/runtime/Dynamic.ts +51 -0
- package/src/runtime/Html.ts +91 -0
- package/src/runtime/Native.ts +144 -0
- package/src/runtime/NativeContext.ts +74 -0
- package/src/runtime/NativeDynamic.ts +246 -0
- package/src/runtime/PayloadRecipe.ts +96 -0
- package/src/runtime/Props.ts +33 -0
- package/src/runtime/Recipe.ts +74 -0
- package/src/runtime/Selection.ts +82 -0
- package/src/runtime/Variable.ts +15 -0
- package/src/runtime/index.ts +45 -0
- package/src/styleFunction.ts +138 -0
- package/src/themes/LICENSE.tailwind +21 -0
- package/src/variable.ts +105 -0
- package/src/variants.ts +218 -0
- package/src/vite/index.ts +1473 -0
- package/src/web/Css.ts +801 -0
- package/src/web/colorProfile.ts +60 -0
- package/src/web/counterStyle.ts +82 -0
- package/src/web/cssFunction.ts +181 -0
- package/src/web/customMedia.ts +16 -0
- package/src/web/fontFace.ts +41 -0
- package/src/web/fontFeatureValues.ts +79 -0
- package/src/web/fontPaletteValues.ts +42 -0
- package/src/web/global.ts +39 -0
- package/src/web/importCss.ts +23 -0
- package/src/web/index.ts +22 -0
- package/src/web/internal/Block.ts +29 -0
- package/src/web/internal/ClassName.ts +112 -0
- package/src/web/internal/Context.ts +16 -0
- package/src/web/internal/Contributions.ts +219 -0
- package/src/web/internal/Namespace.ts +21 -0
- package/src/web/internal/Themes.ts +133 -0
- package/src/web/keyframes.ts +43 -0
- package/src/web/layers.ts +6 -0
- package/src/web/namespace.ts +19 -0
- package/src/web/page.ts +140 -0
- package/src/web/positionTry.ts +71 -0
- package/src/web/property.ts +35 -0
- package/src/web/viewTransition.ts +89 -0
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Carries portable theme references and enforces their property domains.
|
|
3
|
+
* @module
|
|
4
|
+
*/
|
|
5
|
+
import type * as Binding from './Binding.js'
|
|
6
|
+
import type * as Query from './Query.js'
|
|
7
|
+
import type * as Shorthands from './Shorthands.js'
|
|
8
|
+
import type * as Theme from '../Theme.js'
|
|
9
|
+
import * as Literal from './Literal.js'
|
|
10
|
+
|
|
11
|
+
/** Checks a reference's property domain. */
|
|
12
|
+
export function accepts(
|
|
13
|
+
group: Group,
|
|
14
|
+
property: keyof Literal.Properties,
|
|
15
|
+
): boolean {
|
|
16
|
+
if (group === 'color') return Literal.rule(property)?.kind === 'color'
|
|
17
|
+
if (group === 'borderColor') return /^border.*Color$/.test(property)
|
|
18
|
+
if (group === 'borderRadius') return /^border.*Radius$/.test(property)
|
|
19
|
+
if (group === 'textColor') return property === 'color'
|
|
20
|
+
|
|
21
|
+
if (group === 'margin')
|
|
22
|
+
return property.startsWith('margin') && property !== 'marginTrim'
|
|
23
|
+
|
|
24
|
+
if (group === 'padding') return property.startsWith('padding')
|
|
25
|
+
if (group === 'spacing' && property === 'marginTrim') return false
|
|
26
|
+
|
|
27
|
+
if (group === 'spacing')
|
|
28
|
+
return (
|
|
29
|
+
/^(padding|margin|inset|scrollPadding)/.test(property) ||
|
|
30
|
+
[
|
|
31
|
+
'blockSize',
|
|
32
|
+
'bottom',
|
|
33
|
+
'columnGap',
|
|
34
|
+
'flexBasis',
|
|
35
|
+
'gap',
|
|
36
|
+
'height',
|
|
37
|
+
'inlineSize',
|
|
38
|
+
'left',
|
|
39
|
+
'maxBlockSize',
|
|
40
|
+
'maxHeight',
|
|
41
|
+
'maxInlineSize',
|
|
42
|
+
'maxWidth',
|
|
43
|
+
'minBlockSize',
|
|
44
|
+
'minHeight',
|
|
45
|
+
'minInlineSize',
|
|
46
|
+
'minWidth',
|
|
47
|
+
'right',
|
|
48
|
+
'rowGap',
|
|
49
|
+
'textDecorationThickness',
|
|
50
|
+
'textIndent',
|
|
51
|
+
'textUnderlineOffset',
|
|
52
|
+
'top',
|
|
53
|
+
'width',
|
|
54
|
+
].includes(property)
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
return group === property
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/** Rebinds validated scalar references to a explicitly owned contract identity. */
|
|
61
|
+
export function bind<tokens extends Theme.Tokens>(
|
|
62
|
+
original: Theme.Definition<tokens>,
|
|
63
|
+
contract: Contract,
|
|
64
|
+
): Theme.Definition<tokens> {
|
|
65
|
+
type Tree = { [key: string]: Reference | Tree }
|
|
66
|
+
|
|
67
|
+
function rebind(tree: Theme.References<Theme.Tokens>): Tree {
|
|
68
|
+
return Object.freeze(
|
|
69
|
+
Object.fromEntries(
|
|
70
|
+
Object.entries(tree).map(([key, value]) => [
|
|
71
|
+
key,
|
|
72
|
+
is(value)
|
|
73
|
+
? create({
|
|
74
|
+
contract,
|
|
75
|
+
group: value.group,
|
|
76
|
+
path: value.path,
|
|
77
|
+
value: value.value,
|
|
78
|
+
})
|
|
79
|
+
: rebind(value as Theme.References<Theme.Tokens>),
|
|
80
|
+
]),
|
|
81
|
+
),
|
|
82
|
+
)
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
const tokens = rebind(original.tokens)
|
|
86
|
+
|
|
87
|
+
return Object.freeze(
|
|
88
|
+
Object.defineProperty(
|
|
89
|
+
{
|
|
90
|
+
get className() {
|
|
91
|
+
return original.className
|
|
92
|
+
},
|
|
93
|
+
style: original.style,
|
|
94
|
+
tokens,
|
|
95
|
+
variants: original.variants,
|
|
96
|
+
vars: variables(tokens),
|
|
97
|
+
},
|
|
98
|
+
definition,
|
|
99
|
+
{ value: Object.freeze({ ...original[definition], contract }) },
|
|
100
|
+
),
|
|
101
|
+
) as Theme.Definition<tokens>
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/** Retains full scopes when styles may have been compiled in another graph. */
|
|
105
|
+
export const complete = Symbol('zyzz.contract.complete')
|
|
106
|
+
|
|
107
|
+
/** Opaque data shared by a definition and its compatible extensions. */
|
|
108
|
+
export type Contract = {
|
|
109
|
+
/** Web emission mode retained by configuration-bound theme handles. */
|
|
110
|
+
readonly cssOutput?: 'atomic' | 'grouped' | undefined
|
|
111
|
+
/** Configuration-local property aliases, inherited by bound handles. */
|
|
112
|
+
readonly shorthands?: Shorthands.Map | undefined
|
|
113
|
+
readonly [complete]?: boolean | undefined
|
|
114
|
+
readonly [identity]?: string | undefined
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/** Constructs a frozen reference without registering global state. */
|
|
118
|
+
export function create(options: Omit<Reference, typeof reference>): Reference {
|
|
119
|
+
return Object.freeze({ ...options, [reference]: true as const })
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/** Ordered web expression segments retain live references until CSS emission. */
|
|
123
|
+
export type Expression = {
|
|
124
|
+
/** Structured expression discriminator. */
|
|
125
|
+
readonly [expression]: true
|
|
126
|
+
/** Cooked text and live scalar theme references in authored order. */
|
|
127
|
+
readonly parts: readonly (string | Reference | Binding.Reference)[]
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/** Identifies structured web expressions independently of literal CSS text. */
|
|
131
|
+
export const expression = Symbol('zyzz.expression')
|
|
132
|
+
|
|
133
|
+
/** Recognizes compiler-owned expression data without invoking getters. */
|
|
134
|
+
export function isExpression(value: unknown): value is Expression {
|
|
135
|
+
return (
|
|
136
|
+
typeof value === 'object' &&
|
|
137
|
+
value !== null &&
|
|
138
|
+
Object.getOwnPropertyDescriptor(value, expression)?.value === true
|
|
139
|
+
)
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/** Builds an immutable expression from statically extracted segments. */
|
|
143
|
+
export function compose(
|
|
144
|
+
parts: readonly (string | Reference | Binding.Reference)[],
|
|
145
|
+
): Expression {
|
|
146
|
+
return Object.freeze({
|
|
147
|
+
[expression]: true as const,
|
|
148
|
+
parts: Object.freeze([...parts]),
|
|
149
|
+
})
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/** Marks web-only references distinctly from portable tokens. */
|
|
153
|
+
export const web = Symbol('zyzz.web.variable')
|
|
154
|
+
|
|
155
|
+
/** Web reference with the original token domain. */
|
|
156
|
+
export type Variable<group extends Group = Group> = Reference<group> & {
|
|
157
|
+
readonly [web]: true
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/** Replaces portable scalar leaves with web-only references. */
|
|
161
|
+
export type Variables<tree> =
|
|
162
|
+
tree extends Reference<infer group>
|
|
163
|
+
? Variable<group>
|
|
164
|
+
: { readonly [key in keyof tree]: Variables<tree[key]> }
|
|
165
|
+
|
|
166
|
+
/** Creates web-only reference leaves without changing contract identities. */
|
|
167
|
+
export function variables<tree>(tree: tree): Variables<tree> {
|
|
168
|
+
if (is(tree))
|
|
169
|
+
return Object.freeze({
|
|
170
|
+
...tree,
|
|
171
|
+
[web]: true as const,
|
|
172
|
+
}) as unknown as Variables<tree>
|
|
173
|
+
|
|
174
|
+
return Object.freeze(
|
|
175
|
+
Object.fromEntries(
|
|
176
|
+
Object.entries(tree as object).map(([key, value]) => [
|
|
177
|
+
key,
|
|
178
|
+
variables(value),
|
|
179
|
+
]),
|
|
180
|
+
),
|
|
181
|
+
) as Variables<tree>
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/** Internal definition metadata; never enumerable consumer output. */
|
|
185
|
+
export const definition = Symbol('zyzz.theme')
|
|
186
|
+
|
|
187
|
+
/** Supported scalar token groups. */
|
|
188
|
+
export type Group =
|
|
189
|
+
| 'backgroundColor'
|
|
190
|
+
| 'borderColor'
|
|
191
|
+
| 'borderRadius'
|
|
192
|
+
| 'color'
|
|
193
|
+
| 'margin'
|
|
194
|
+
| 'padding'
|
|
195
|
+
| 'spacing'
|
|
196
|
+
| 'fontFamily'
|
|
197
|
+
| 'fontSize'
|
|
198
|
+
| 'fontWeight'
|
|
199
|
+
| 'letterSpacing'
|
|
200
|
+
| 'lineHeight'
|
|
201
|
+
| 'textColor'
|
|
202
|
+
|
|
203
|
+
/** Stable package/module/binding identity supplied by source adapters. */
|
|
204
|
+
export const identity = Symbol('zyzz.contract.identity')
|
|
205
|
+
|
|
206
|
+
/** Recognizes references without invoking getters on untrusted style values. */
|
|
207
|
+
export function is(value: unknown): value is Reference {
|
|
208
|
+
if (
|
|
209
|
+
typeof value !== 'object' ||
|
|
210
|
+
value === null ||
|
|
211
|
+
Object.getOwnPropertyDescriptor(value, reference)?.value !== true
|
|
212
|
+
)
|
|
213
|
+
return false
|
|
214
|
+
|
|
215
|
+
if (!Object.isFrozen(value)) return false
|
|
216
|
+
|
|
217
|
+
const fields = Object.getOwnPropertyDescriptors(value)
|
|
218
|
+
|
|
219
|
+
return ['contract', 'group', 'path', 'value'].every(
|
|
220
|
+
(key) => fields[key] && 'value' in fields[key]!,
|
|
221
|
+
)
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/** Immutable theme data carried directly by each definition. */
|
|
225
|
+
export type Metadata = {
|
|
226
|
+
readonly queries?: Query.Metadata | undefined
|
|
227
|
+
readonly contract: Contract
|
|
228
|
+
readonly values: Readonly<Record<string, Value>>
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/** Inferred shorthand names whose leaves belong to a property's domain. */
|
|
232
|
+
export type Names<tokens, property extends keyof Literal.Properties> = {
|
|
233
|
+
[group in Extract<keyof tokens, Group>]: property extends Properties<group>
|
|
234
|
+
? Paths<NonNullable<tokens[group]>>
|
|
235
|
+
: never
|
|
236
|
+
}[Extract<keyof tokens, Group>]
|
|
237
|
+
|
|
238
|
+
type Paths<tree> = [tree] extends [never]
|
|
239
|
+
? never
|
|
240
|
+
: string extends keyof tree
|
|
241
|
+
? string
|
|
242
|
+
: {
|
|
243
|
+
[key in Extract<keyof tree, number | string>]: NonNullable<
|
|
244
|
+
tree[key]
|
|
245
|
+
> extends Value
|
|
246
|
+
?
|
|
247
|
+
| key
|
|
248
|
+
| `${key}`
|
|
249
|
+
| (key extends `${infer numericKey extends number}`
|
|
250
|
+
? `${numericKey}` extends key
|
|
251
|
+
? numericKey
|
|
252
|
+
: never
|
|
253
|
+
: never)
|
|
254
|
+
: `${key}.${Paths<NonNullable<tree[key]>>}`
|
|
255
|
+
}[Extract<keyof tree, number | string>]
|
|
256
|
+
|
|
257
|
+
/** Property domains accepted by each token group. */
|
|
258
|
+
export type Properties<group extends Group> = group extends 'margin' | 'padding'
|
|
259
|
+
? Exclude<
|
|
260
|
+
Extract<keyof Literal.Properties, `${group}${string}`>,
|
|
261
|
+
'marginTrim'
|
|
262
|
+
>
|
|
263
|
+
: group extends 'spacing'
|
|
264
|
+
? Extract<
|
|
265
|
+
keyof Literal.Properties,
|
|
266
|
+
| `blockSize`
|
|
267
|
+
| `bottom`
|
|
268
|
+
| `columnGap`
|
|
269
|
+
| `flexBasis`
|
|
270
|
+
| `gap`
|
|
271
|
+
| `height`
|
|
272
|
+
| `inlineSize`
|
|
273
|
+
| `inset${string}`
|
|
274
|
+
| `left`
|
|
275
|
+
| Exclude<
|
|
276
|
+
Extract<keyof Literal.Properties, `margin${string}`>,
|
|
277
|
+
'marginTrim'
|
|
278
|
+
>
|
|
279
|
+
| `maxBlockSize`
|
|
280
|
+
| `maxHeight`
|
|
281
|
+
| `maxInlineSize`
|
|
282
|
+
| `maxWidth`
|
|
283
|
+
| `minBlockSize`
|
|
284
|
+
| `minHeight`
|
|
285
|
+
| `minInlineSize`
|
|
286
|
+
| `minWidth`
|
|
287
|
+
| `padding${string}`
|
|
288
|
+
| `right`
|
|
289
|
+
| `rowGap`
|
|
290
|
+
| `scrollPadding${string}`
|
|
291
|
+
| `textDecorationThickness`
|
|
292
|
+
| `textIndent`
|
|
293
|
+
| `textUnderlineOffset`
|
|
294
|
+
| `top`
|
|
295
|
+
| `width`
|
|
296
|
+
>
|
|
297
|
+
: group extends 'textColor'
|
|
298
|
+
? 'color'
|
|
299
|
+
: group extends 'color'
|
|
300
|
+
? {
|
|
301
|
+
[property in keyof typeof Literal.rules]: (typeof Literal.rules)[property] extends {
|
|
302
|
+
kind: 'color'
|
|
303
|
+
}
|
|
304
|
+
? property
|
|
305
|
+
: never
|
|
306
|
+
}[keyof typeof Literal.rules]
|
|
307
|
+
: group extends 'borderColor'
|
|
308
|
+
? Extract<keyof Literal.Properties, `border${string}Color`>
|
|
309
|
+
: group extends 'borderRadius'
|
|
310
|
+
? Extract<keyof Literal.Properties, `border${string}Radius`>
|
|
311
|
+
: group
|
|
312
|
+
|
|
313
|
+
/** Immutable portable reference retaining its defining fallback. */
|
|
314
|
+
export type Reference<group extends Group = Group> = {
|
|
315
|
+
readonly [reference]: true
|
|
316
|
+
readonly contract: Contract
|
|
317
|
+
readonly group: group
|
|
318
|
+
readonly path: string
|
|
319
|
+
readonly value: Value
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
const reference = Symbol('zyzz.token')
|
|
323
|
+
|
|
324
|
+
/** Resolves shorthand tokens with literal precedence, with specific colors first. */
|
|
325
|
+
export function resolve(value: unknown, options: resolve.Options): unknown {
|
|
326
|
+
if (
|
|
327
|
+
(typeof value !== 'string' && typeof value !== 'number') ||
|
|
328
|
+
Literal.isLiteral(options.property, value)
|
|
329
|
+
)
|
|
330
|
+
return value
|
|
331
|
+
|
|
332
|
+
const data = Object.getOwnPropertyDescriptor(options.theme, definition)
|
|
333
|
+
?.value as Metadata | undefined
|
|
334
|
+
if (!data) throw new Error('Expected a theme definition.')
|
|
335
|
+
|
|
336
|
+
// Specific groups precede shared colors regardless of authored group order.
|
|
337
|
+
for (const group of [
|
|
338
|
+
'backgroundColor',
|
|
339
|
+
'borderColor',
|
|
340
|
+
'borderRadius',
|
|
341
|
+
'margin',
|
|
342
|
+
'padding',
|
|
343
|
+
'spacing',
|
|
344
|
+
'fontFamily',
|
|
345
|
+
'fontSize',
|
|
346
|
+
'fontWeight',
|
|
347
|
+
'letterSpacing',
|
|
348
|
+
'lineHeight',
|
|
349
|
+
'textColor',
|
|
350
|
+
'color',
|
|
351
|
+
] as const) {
|
|
352
|
+
if (!accepts(group, options.property)) continue
|
|
353
|
+
|
|
354
|
+
const path = `${group}.${value}`
|
|
355
|
+
if (Object.hasOwn(data.values, path))
|
|
356
|
+
return create({
|
|
357
|
+
contract: data.contract,
|
|
358
|
+
group,
|
|
359
|
+
path,
|
|
360
|
+
value: data.values[path]!,
|
|
361
|
+
})
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
return value
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
/** Input contract for theme token resolution. */
|
|
368
|
+
export declare namespace resolve {
|
|
369
|
+
/** Property domain and immutable theme metadata supplied by style validation. */
|
|
370
|
+
type Options = {
|
|
371
|
+
readonly property: keyof Literal.Properties
|
|
372
|
+
readonly theme: object
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
/** Scalar values retained for each rendering target. */
|
|
377
|
+
export type Value =
|
|
378
|
+
| number
|
|
379
|
+
| string
|
|
380
|
+
| { readonly dark: string; readonly light: string }
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** Describes property value domains. @module */
|
|
2
|
+
/** Rules supplied by the owning property map. */
|
|
3
|
+
export type Options = {
|
|
4
|
+
/** Allowed component domains. */
|
|
5
|
+
readonly atoms: readonly (
|
|
6
|
+
| 'color'
|
|
7
|
+
| 'integer'
|
|
8
|
+
| 'length'
|
|
9
|
+
| 'number'
|
|
10
|
+
| 'percentage'
|
|
11
|
+
| 'time'
|
|
12
|
+
)[]
|
|
13
|
+
/** Keywords allowed as individual components. */
|
|
14
|
+
readonly keywords?: readonly string[]
|
|
15
|
+
/** Optional marker accepted at most once. */
|
|
16
|
+
readonly marker?: 'fill'
|
|
17
|
+
/** Whether a marker must follow the numeric components. */
|
|
18
|
+
readonly markerPosition?: 'any' | 'last'
|
|
19
|
+
/** Maximum component count. */
|
|
20
|
+
readonly max: number
|
|
21
|
+
/** Minimum component count. */
|
|
22
|
+
readonly min: 1 | 2
|
|
23
|
+
/** Whether literal numeric components can be negative. */
|
|
24
|
+
readonly negative: boolean
|
|
25
|
+
/** Optional keyword prefix for each component. */
|
|
26
|
+
readonly prefixes?: readonly string[]
|
|
27
|
+
/** Keywords that must form the entire declaration. */
|
|
28
|
+
readonly standalone?: readonly string[]
|
|
29
|
+
}
|