@tamagui/style-grammar 0.0.0-bootstrap.0 → 3.0.0-beta.643.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/LICENSE +21 -0
- package/README.md +33 -1
- package/dist/cjs/backgroundFamily.cjs +176 -0
- package/dist/cjs/backgroundFamily.native.cjs +195 -0
- package/dist/cjs/backgroundFamily.native.js +197 -0
- package/dist/cjs/backgroundFamily.native.js.map +1 -0
- package/dist/cjs/borderFamily.cjs +169 -0
- package/dist/cjs/borderFamily.native.cjs +247 -0
- package/dist/cjs/borderFamily.native.js +249 -0
- package/dist/cjs/borderFamily.native.js.map +1 -0
- package/dist/cjs/candidate.cjs +608 -0
- package/dist/cjs/candidate.native.cjs +821 -0
- package/dist/cjs/candidate.native.js +823 -0
- package/dist/cjs/candidate.native.js.map +1 -0
- package/dist/cjs/candidateTarget.cjs +50 -0
- package/dist/cjs/candidateTarget.native.cjs +88 -0
- package/dist/cjs/candidateTarget.native.js +90 -0
- package/dist/cjs/candidateTarget.native.js.map +1 -0
- package/dist/cjs/clauseCapability.cjs +130 -0
- package/dist/cjs/clauseCapability.native.cjs +152 -0
- package/dist/cjs/clauseCapability.native.js +154 -0
- package/dist/cjs/clauseCapability.native.js.map +1 -0
- package/dist/cjs/clausePrecedence.cjs +153 -0
- package/dist/cjs/clausePrecedence.native.cjs +204 -0
- package/dist/cjs/clausePrecedence.native.js +206 -0
- package/dist/cjs/clausePrecedence.native.js.map +1 -0
- package/dist/cjs/clauseSources.cjs +47 -0
- package/dist/cjs/clauseSources.native.cjs +49 -0
- package/dist/cjs/clauseSources.native.js +51 -0
- package/dist/cjs/clauseSources.native.js.map +1 -0
- package/dist/cjs/config.cjs +130 -0
- package/dist/cjs/config.native.cjs +185 -0
- package/dist/cjs/config.native.js +187 -0
- package/dist/cjs/config.native.js.map +1 -0
- package/dist/cjs/evaluateProgram.cjs +65 -0
- package/dist/cjs/evaluateProgram.native.cjs +70 -0
- package/dist/cjs/evaluateProgram.native.js +72 -0
- package/dist/cjs/evaluateProgram.native.js.map +1 -0
- package/dist/cjs/fontShorthand.cjs +207 -0
- package/dist/cjs/fontShorthand.native.cjs +260 -0
- package/dist/cjs/fontShorthand.native.js +262 -0
- package/dist/cjs/fontShorthand.native.js.map +1 -0
- package/dist/cjs/geometricShorthand.cjs +122 -0
- package/dist/cjs/geometricShorthand.native.cjs +128 -0
- package/dist/cjs/geometricShorthand.native.js +130 -0
- package/dist/cjs/geometricShorthand.native.js.map +1 -0
- package/dist/cjs/index.cjs +19 -0
- package/dist/cjs/index.native.cjs +21 -0
- package/dist/cjs/index.native.js +23 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/lowerProgram.cjs +205 -0
- package/dist/cjs/lowerProgram.native.cjs +257 -0
- package/dist/cjs/lowerProgram.native.js +259 -0
- package/dist/cjs/lowerProgram.native.js.map +1 -0
- package/dist/cjs/mergeFlatValues.cjs +50 -0
- package/dist/cjs/mergeFlatValues.native.cjs +71 -0
- package/dist/cjs/mergeFlatValues.native.js +73 -0
- package/dist/cjs/mergeFlatValues.native.js.map +1 -0
- package/dist/cjs/modifierRegistry.cjs +246 -0
- package/dist/cjs/modifierRegistry.native.cjs +426 -0
- package/dist/cjs/modifierRegistry.native.js +428 -0
- package/dist/cjs/modifierRegistry.native.js.map +1 -0
- package/dist/cjs/payloadShape.cjs +69 -0
- package/dist/cjs/payloadShape.native.cjs +71 -0
- package/dist/cjs/payloadShape.native.js +73 -0
- package/dist/cjs/payloadShape.native.js.map +1 -0
- package/dist/cjs/programEligibility.cjs +46 -0
- package/dist/cjs/programEligibility.native.cjs +48 -0
- package/dist/cjs/programEligibility.native.js +50 -0
- package/dist/cjs/programEligibility.native.js.map +1 -0
- package/dist/cjs/programHash.cjs +86 -0
- package/dist/cjs/programHash.native.cjs +106 -0
- package/dist/cjs/programHash.native.js +108 -0
- package/dist/cjs/programHash.native.js.map +1 -0
- package/dist/cjs/programs.cjs +128 -0
- package/dist/cjs/programs.native.cjs +220 -0
- package/dist/cjs/programs.native.js +222 -0
- package/dist/cjs/programs.native.js.map +1 -0
- package/dist/cjs/registry.cjs +629 -0
- package/dist/cjs/registry.native.cjs +635 -0
- package/dist/cjs/registry.native.js +637 -0
- package/dist/cjs/registry.native.js.map +1 -0
- package/dist/cjs/resolvePayload.cjs +296 -0
- package/dist/cjs/resolvePayload.native.cjs +302 -0
- package/dist/cjs/resolvePayload.native.js +304 -0
- package/dist/cjs/resolvePayload.native.js.map +1 -0
- package/dist/cjs/runtime.cjs +50 -0
- package/dist/cjs/runtime.native.cjs +52 -0
- package/dist/cjs/runtime.native.js +54 -0
- package/dist/cjs/runtime.native.js.map +1 -0
- package/dist/cjs/safeAreaVariables.cjs +42 -0
- package/dist/cjs/safeAreaVariables.native.cjs +44 -0
- package/dist/cjs/safeAreaVariables.native.js +46 -0
- package/dist/cjs/safeAreaVariables.native.js.map +1 -0
- package/dist/cjs/scanFlatValue.cjs +181 -0
- package/dist/cjs/scanFlatValue.native.cjs +183 -0
- package/dist/cjs/scanFlatValue.native.js +185 -0
- package/dist/cjs/scanFlatValue.native.js.map +1 -0
- package/dist/cjs/serializePayload.cjs +149 -0
- package/dist/cjs/serializePayload.native.cjs +187 -0
- package/dist/cjs/serializePayload.native.js +189 -0
- package/dist/cjs/serializePayload.native.js.map +1 -0
- package/dist/cjs/stateModifiers.cjs +43 -0
- package/dist/cjs/stateModifiers.native.cjs +45 -0
- package/dist/cjs/stateModifiers.native.js +47 -0
- package/dist/cjs/stateModifiers.native.js.map +1 -0
- package/dist/cjs/states.cjs +97 -0
- package/dist/cjs/states.native.cjs +131 -0
- package/dist/cjs/states.native.js +133 -0
- package/dist/cjs/states.native.js.map +1 -0
- package/dist/cjs/table.cjs +54 -0
- package/dist/cjs/table.native.cjs +135 -0
- package/dist/cjs/table.native.js +137 -0
- package/dist/cjs/table.native.js.map +1 -0
- package/dist/cjs/textDecorationFamily.cjs +129 -0
- package/dist/cjs/textDecorationFamily.native.cjs +199 -0
- package/dist/cjs/textDecorationFamily.native.js +201 -0
- package/dist/cjs/textDecorationFamily.native.js.map +1 -0
- package/dist/cjs/tooling.cjs +26 -0
- package/dist/cjs/tooling.native.cjs +28 -0
- package/dist/cjs/tooling.native.js +30 -0
- package/dist/cjs/tooling.native.js.map +1 -0
- package/dist/cjs/toolingAnnotations.cjs +105 -0
- package/dist/cjs/toolingAnnotations.native.cjs +133 -0
- package/dist/cjs/toolingAnnotations.native.js +135 -0
- package/dist/cjs/toolingAnnotations.native.js.map +1 -0
- package/dist/cjs/toolingDiagnostics.cjs +459 -0
- package/dist/cjs/toolingDiagnostics.native.cjs +788 -0
- package/dist/cjs/toolingDiagnostics.native.js +790 -0
- package/dist/cjs/toolingDiagnostics.native.js.map +1 -0
- package/dist/cjs/toolingRegistry.cjs +159 -0
- package/dist/cjs/toolingRegistry.native.cjs +164 -0
- package/dist/cjs/toolingRegistry.native.js +166 -0
- package/dist/cjs/toolingRegistry.native.js.map +1 -0
- package/dist/cjs/transformFamily.cjs +425 -0
- package/dist/cjs/transformFamily.native.cjs +517 -0
- package/dist/cjs/transformFamily.native.js +519 -0
- package/dist/cjs/transformFamily.native.js.map +1 -0
- package/dist/cjs/transition.cjs +459 -0
- package/dist/cjs/transition.native.cjs +499 -0
- package/dist/cjs/transition.native.js +501 -0
- package/dist/cjs/transition.native.js.map +1 -0
- package/dist/cjs/transitionAlign.cjs +115 -0
- package/dist/cjs/transitionAlign.native.cjs +154 -0
- package/dist/cjs/transitionAlign.native.js +156 -0
- package/dist/cjs/transitionAlign.native.js.map +1 -0
- package/dist/cjs/transitionLegacy.cjs +217 -0
- package/dist/cjs/transitionLegacy.native.cjs +260 -0
- package/dist/cjs/transitionLegacy.native.js +262 -0
- package/dist/cjs/transitionLegacy.native.js.map +1 -0
- package/dist/cjs/transitionNative.cjs +281 -0
- package/dist/cjs/transitionNative.native.cjs +285 -0
- package/dist/cjs/transitionNative.native.js +287 -0
- package/dist/cjs/transitionNative.native.js.map +1 -0
- package/dist/cjs/unitlessNumbers.cjs +86 -0
- package/dist/cjs/unitlessNumbers.native.cjs +106 -0
- package/dist/cjs/unitlessNumbers.native.js +108 -0
- package/dist/cjs/unitlessNumbers.native.js.map +1 -0
- package/dist/cjs/v6ThemeNames.cjs +47 -0
- package/dist/cjs/v6ThemeNames.native.cjs +53 -0
- package/dist/cjs/v6ThemeNames.native.js +55 -0
- package/dist/cjs/v6ThemeNames.native.js.map +1 -0
- package/dist/cjs/valueParser.cjs +148 -0
- package/dist/cjs/valueParser.native.cjs +150 -0
- package/dist/cjs/valueParser.native.js +152 -0
- package/dist/cjs/valueParser.native.js.map +1 -0
- package/dist/cjs/valueTypes.cjs +38 -0
- package/dist/cjs/valueTypes.native.cjs +40 -0
- package/dist/cjs/valueTypes.native.js +42 -0
- package/dist/cjs/valueTypes.native.js.map +1 -0
- package/dist/esm/backgroundFamily.mjs +150 -0
- package/dist/esm/backgroundFamily.mjs.map +1 -0
- package/dist/esm/backgroundFamily.native.js +167 -0
- package/dist/esm/backgroundFamily.native.js.map +1 -0
- package/dist/esm/borderFamily.mjs +146 -0
- package/dist/esm/borderFamily.mjs.map +1 -0
- package/dist/esm/borderFamily.native.js +222 -0
- package/dist/esm/borderFamily.native.js.map +1 -0
- package/dist/esm/candidate.mjs +581 -0
- package/dist/esm/candidate.mjs.map +1 -0
- package/dist/esm/candidate.native.js +792 -0
- package/dist/esm/candidate.native.js.map +1 -0
- package/dist/esm/candidateTarget.mjs +29 -0
- package/dist/esm/candidateTarget.mjs.map +1 -0
- package/dist/esm/candidateTarget.native.js +65 -0
- package/dist/esm/candidateTarget.native.js.map +1 -0
- package/dist/esm/clauseCapability.mjs +107 -0
- package/dist/esm/clauseCapability.mjs.map +1 -0
- package/dist/esm/clauseCapability.native.js +127 -0
- package/dist/esm/clauseCapability.native.js.map +1 -0
- package/dist/esm/clausePrecedence.mjs +121 -0
- package/dist/esm/clausePrecedence.mjs.map +1 -0
- package/dist/esm/clausePrecedence.native.js +170 -0
- package/dist/esm/clausePrecedence.native.js.map +1 -0
- package/dist/esm/clauseSources.mjs +23 -0
- package/dist/esm/clauseSources.mjs.map +1 -0
- package/dist/esm/clauseSources.native.js +23 -0
- package/dist/esm/clauseSources.native.js.map +1 -0
- package/dist/esm/config.mjs +103 -0
- package/dist/esm/config.mjs.map +1 -0
- package/dist/esm/config.native.js +156 -0
- package/dist/esm/config.native.js.map +1 -0
- package/dist/esm/evaluateProgram.mjs +45 -0
- package/dist/esm/evaluateProgram.mjs.map +1 -0
- package/dist/esm/evaluateProgram.native.js +48 -0
- package/dist/esm/evaluateProgram.native.js.map +1 -0
- package/dist/esm/fontShorthand.mjs +184 -0
- package/dist/esm/fontShorthand.mjs.map +1 -0
- package/dist/esm/fontShorthand.native.js +235 -0
- package/dist/esm/fontShorthand.native.js.map +1 -0
- package/dist/esm/geometricShorthand.mjs +102 -0
- package/dist/esm/geometricShorthand.mjs.map +1 -0
- package/dist/esm/geometricShorthand.native.js +106 -0
- package/dist/esm/geometricShorthand.native.js.map +1 -0
- package/dist/esm/index.mjs +1 -0
- package/dist/esm/index.native.js +1 -0
- package/dist/esm/lowerProgram.mjs +182 -0
- package/dist/esm/lowerProgram.mjs.map +1 -0
- package/dist/esm/lowerProgram.native.js +232 -0
- package/dist/esm/lowerProgram.native.js.map +1 -0
- package/dist/esm/mergeFlatValues.mjs +27 -0
- package/dist/esm/mergeFlatValues.mjs.map +1 -0
- package/dist/esm/mergeFlatValues.native.js +46 -0
- package/dist/esm/mergeFlatValues.native.js.map +1 -0
- package/dist/esm/modifierRegistry.mjs +219 -0
- package/dist/esm/modifierRegistry.mjs.map +1 -0
- package/dist/esm/modifierRegistry.native.js +397 -0
- package/dist/esm/modifierRegistry.native.js.map +1 -0
- package/dist/esm/payloadShape.mjs +49 -0
- package/dist/esm/payloadShape.mjs.map +1 -0
- package/dist/esm/payloadShape.native.js +49 -0
- package/dist/esm/payloadShape.native.js.map +1 -0
- package/dist/esm/programEligibility.mjs +22 -0
- package/dist/esm/programEligibility.mjs.map +1 -0
- package/dist/esm/programEligibility.native.js +22 -0
- package/dist/esm/programEligibility.native.js.map +1 -0
- package/dist/esm/programHash.mjs +62 -0
- package/dist/esm/programHash.mjs.map +1 -0
- package/dist/esm/programHash.native.js +80 -0
- package/dist/esm/programHash.native.js.map +1 -0
- package/dist/esm/programs.mjs +103 -0
- package/dist/esm/programs.mjs.map +1 -0
- package/dist/esm/programs.native.js +193 -0
- package/dist/esm/programs.native.js.map +1 -0
- package/dist/esm/registry.mjs +595 -0
- package/dist/esm/registry.mjs.map +1 -0
- package/dist/esm/registry.native.js +599 -0
- package/dist/esm/registry.native.js.map +1 -0
- package/dist/esm/resolvePayload.mjs +273 -0
- package/dist/esm/resolvePayload.mjs.map +1 -0
- package/dist/esm/resolvePayload.native.js +277 -0
- package/dist/esm/resolvePayload.native.js.map +1 -0
- package/dist/esm/runtime.mjs +63 -0
- package/dist/esm/runtime.native.js +63 -0
- package/dist/esm/safeAreaVariables.mjs +18 -0
- package/dist/esm/safeAreaVariables.mjs.map +1 -0
- package/dist/esm/safeAreaVariables.native.js +18 -0
- package/dist/esm/safeAreaVariables.native.js.map +1 -0
- package/dist/esm/scanFlatValue.mjs +160 -0
- package/dist/esm/scanFlatValue.mjs.map +1 -0
- package/dist/esm/scanFlatValue.native.js +160 -0
- package/dist/esm/scanFlatValue.native.js.map +1 -0
- package/dist/esm/serializePayload.mjs +125 -0
- package/dist/esm/serializePayload.mjs.map +1 -0
- package/dist/esm/serializePayload.native.js +161 -0
- package/dist/esm/serializePayload.native.js.map +1 -0
- package/dist/esm/stateModifiers.mjs +19 -0
- package/dist/esm/stateModifiers.mjs.map +1 -0
- package/dist/esm/stateModifiers.native.js +19 -0
- package/dist/esm/stateModifiers.native.js.map +1 -0
- package/dist/esm/states.mjs +69 -0
- package/dist/esm/states.mjs.map +1 -0
- package/dist/esm/states.native.js +101 -0
- package/dist/esm/states.native.js.map +1 -0
- package/dist/esm/table.mjs +31 -0
- package/dist/esm/table.mjs.map +1 -0
- package/dist/esm/table.native.js +110 -0
- package/dist/esm/table.native.js.map +1 -0
- package/dist/esm/textDecorationFamily.mjs +106 -0
- package/dist/esm/textDecorationFamily.mjs.map +1 -0
- package/dist/esm/textDecorationFamily.native.js +174 -0
- package/dist/esm/textDecorationFamily.native.js.map +1 -0
- package/dist/esm/tooling.mjs +15 -0
- package/dist/esm/tooling.native.js +15 -0
- package/dist/esm/toolingAnnotations.mjs +85 -0
- package/dist/esm/toolingAnnotations.mjs.map +1 -0
- package/dist/esm/toolingAnnotations.native.js +111 -0
- package/dist/esm/toolingAnnotations.native.js.map +1 -0
- package/dist/esm/toolingDiagnostics.mjs +428 -0
- package/dist/esm/toolingDiagnostics.mjs.map +1 -0
- package/dist/esm/toolingDiagnostics.native.js +755 -0
- package/dist/esm/toolingDiagnostics.native.js.map +1 -0
- package/dist/esm/toolingRegistry.mjs +135 -0
- package/dist/esm/toolingRegistry.mjs.map +1 -0
- package/dist/esm/toolingRegistry.native.js +138 -0
- package/dist/esm/toolingRegistry.native.js.map +1 -0
- package/dist/esm/transformFamily.mjs +392 -0
- package/dist/esm/transformFamily.mjs.map +1 -0
- package/dist/esm/transformFamily.native.js +482 -0
- package/dist/esm/transformFamily.native.js.map +1 -0
- package/dist/esm/transition.mjs +434 -0
- package/dist/esm/transition.mjs.map +1 -0
- package/dist/esm/transition.native.js +472 -0
- package/dist/esm/transition.native.js.map +1 -0
- package/dist/esm/transitionAlign.mjs +95 -0
- package/dist/esm/transitionAlign.mjs.map +1 -0
- package/dist/esm/transitionAlign.native.js +132 -0
- package/dist/esm/transitionAlign.native.js.map +1 -0
- package/dist/esm/transitionLegacy.mjs +197 -0
- package/dist/esm/transitionLegacy.mjs.map +1 -0
- package/dist/esm/transitionLegacy.native.js +238 -0
- package/dist/esm/transitionLegacy.native.js.map +1 -0
- package/dist/esm/transitionNative.mjs +257 -0
- package/dist/esm/transitionNative.mjs.map +1 -0
- package/dist/esm/transitionNative.native.js +259 -0
- package/dist/esm/transitionNative.native.js.map +1 -0
- package/dist/esm/unitlessNumbers.mjs +65 -0
- package/dist/esm/unitlessNumbers.mjs.map +1 -0
- package/dist/esm/unitlessNumbers.native.js +83 -0
- package/dist/esm/unitlessNumbers.native.js.map +1 -0
- package/dist/esm/v6ThemeNames.mjs +23 -0
- package/dist/esm/v6ThemeNames.mjs.map +1 -0
- package/dist/esm/v6ThemeNames.native.js +27 -0
- package/dist/esm/v6ThemeNames.native.js.map +1 -0
- package/dist/esm/valueParser.mjs +125 -0
- package/dist/esm/valueParser.mjs.map +1 -0
- package/dist/esm/valueParser.native.js +125 -0
- package/dist/esm/valueParser.native.js.map +1 -0
- package/dist/esm/valueTypes.mjs +14 -0
- package/dist/esm/valueTypes.mjs.map +1 -0
- package/dist/esm/valueTypes.native.js +14 -0
- package/dist/esm/valueTypes.native.js.map +1 -0
- package/package.json +98 -4
- package/src/backgroundFamily.ts +182 -0
- package/src/borderFamily.ts +172 -0
- package/src/candidate.ts +691 -0
- package/src/candidateTarget.ts +67 -0
- package/src/clauseCapability.ts +209 -0
- package/src/clausePrecedence.ts +198 -0
- package/src/clauseSources.ts +29 -0
- package/src/config.ts +169 -0
- package/src/evaluateProgram.ts +91 -0
- package/src/fontShorthand.ts +177 -0
- package/src/geometricShorthand.ts +105 -0
- package/src/index.ts +1 -0
- package/src/lowerProgram.ts +398 -0
- package/src/modifierRegistry.ts +340 -0
- package/src/payloadShape.ts +92 -0
- package/src/programEligibility.ts +46 -0
- package/src/programHash.ts +128 -0
- package/src/programs.ts +95 -0
- package/src/registry.ts +367 -0
- package/src/resolvePayload.ts +480 -0
- package/src/runtime.ts +32 -0
- package/src/safeAreaVariables.ts +19 -0
- package/src/scanFlatValue.ts +327 -0
- package/src/serializePayload.ts +199 -0
- package/src/stateModifiers.ts +36 -0
- package/src/states.ts +128 -0
- package/src/table.ts +47 -0
- package/src/textDecorationFamily.ts +119 -0
- package/src/tooling.ts +8 -0
- package/src/toolingAnnotations.ts +151 -0
- package/src/toolingDiagnostics.ts +735 -0
- package/src/toolingRegistry.ts +130 -0
- package/src/transformFamily.ts +590 -0
- package/src/transition.ts +553 -0
- package/src/transitionAlign.ts +165 -0
- package/src/transitionLegacy.ts +237 -0
- package/src/transitionNative.ts +357 -0
- package/src/unitlessNumbers.ts +61 -0
- package/src/v6ThemeNames.ts +40 -0
- package/src/valueParser.ts +193 -0
- package/src/valueTypes.ts +136 -0
- package/types/backgroundFamily.d.ts +17 -0
- package/types/backgroundFamily.d.ts.map +11 -0
- package/types/borderFamily.d.ts +23 -0
- package/types/borderFamily.d.ts.map +11 -0
- package/types/candidate.d.ts +52 -0
- package/types/candidate.d.ts.map +11 -0
- package/types/candidateTarget.d.ts +32 -0
- package/types/candidateTarget.d.ts.map +11 -0
- package/types/clauseCapability.d.ts +69 -0
- package/types/clauseCapability.d.ts.map +11 -0
- package/types/clausePrecedence.d.ts +30 -0
- package/types/clausePrecedence.d.ts.map +11 -0
- package/types/clauseSources.d.ts +12 -0
- package/types/clauseSources.d.ts.map +11 -0
- package/types/config.d.ts +44 -0
- package/types/config.d.ts.map +11 -0
- package/types/evaluateProgram.d.ts +27 -0
- package/types/evaluateProgram.d.ts.map +11 -0
- package/types/fontShorthand.d.ts +25 -0
- package/types/fontShorthand.d.ts.map +11 -0
- package/types/geometricShorthand.d.ts +21 -0
- package/types/geometricShorthand.d.ts.map +11 -0
- package/types/index.d.ts +3 -0
- package/types/index.d.ts.map +11 -0
- package/types/lowerProgram.d.ts +73 -0
- package/types/lowerProgram.d.ts.map +11 -0
- package/types/mergeFlatValues.d.ts +14 -0
- package/types/mergeFlatValues.d.ts.map +11 -0
- package/types/modifierRegistry.d.ts +70 -0
- package/types/modifierRegistry.d.ts.map +11 -0
- package/types/payloadShape.d.ts +15 -0
- package/types/payloadShape.d.ts.map +11 -0
- package/types/programEligibility.d.ts +23 -0
- package/types/programEligibility.d.ts.map +11 -0
- package/types/programHash.d.ts +20 -0
- package/types/programHash.d.ts.map +11 -0
- package/types/programs.d.ts +18 -0
- package/types/programs.d.ts.map +11 -0
- package/types/registry.d.ts +24 -0
- package/types/registry.d.ts.map +11 -0
- package/types/resolvePayload.d.ts +75 -0
- package/types/resolvePayload.d.ts.map +11 -0
- package/types/runtime.d.ts +34 -0
- package/types/runtime.d.ts.map +11 -0
- package/types/safeAreaVariables.d.ts +5 -0
- package/types/safeAreaVariables.d.ts.map +11 -0
- package/types/scanFlatValue.d.ts +29 -0
- package/types/scanFlatValue.d.ts.map +11 -0
- package/types/serializePayload.d.ts +13 -0
- package/types/serializePayload.d.ts.map +11 -0
- package/types/stateModifiers.d.ts +14 -0
- package/types/stateModifiers.d.ts.map +11 -0
- package/types/states.d.ts +22 -0
- package/types/states.d.ts.map +11 -0
- package/types/table.d.ts +4 -0
- package/types/table.d.ts.map +11 -0
- package/types/textDecorationFamily.d.ts +23 -0
- package/types/textDecorationFamily.d.ts.map +11 -0
- package/types/tooling.d.ts +10 -0
- package/types/tooling.d.ts.map +11 -0
- package/types/toolingAnnotations.d.ts +29 -0
- package/types/toolingAnnotations.d.ts.map +11 -0
- package/types/toolingDiagnostics.d.ts +114 -0
- package/types/toolingDiagnostics.d.ts.map +11 -0
- package/types/toolingRegistry.d.ts +10 -0
- package/types/toolingRegistry.d.ts.map +11 -0
- package/types/transformFamily.d.ts +83 -0
- package/types/transformFamily.d.ts.map +11 -0
- package/types/transition.d.ts +65 -0
- package/types/transition.d.ts.map +11 -0
- package/types/transitionAlign.d.ts +15 -0
- package/types/transitionAlign.d.ts.map +11 -0
- package/types/transitionLegacy.d.ts +9 -0
- package/types/transitionLegacy.d.ts.map +11 -0
- package/types/transitionNative.d.ts +41 -0
- package/types/transitionNative.d.ts.map +11 -0
- package/types/unitlessNumbers.d.ts +3 -0
- package/types/unitlessNumbers.d.ts.map +11 -0
- package/types/v6ThemeNames.d.ts +7 -0
- package/types/v6ThemeNames.d.ts.map +11 -0
- package/types/valueParser.d.ts +36 -0
- package/types/valueParser.d.ts.map +11 -0
- package/types/valueTypes.d.ts +66 -0
- package/types/valueTypes.d.ts.map +11 -0
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
const bothPlatforms = ["android", "ios"];
|
|
2
|
+
const iosPlatform = ["ios"];
|
|
3
|
+
const nativeTransitionCapabilities = [
|
|
4
|
+
{
|
|
5
|
+
properties: [
|
|
6
|
+
"opacity",
|
|
7
|
+
"transform",
|
|
8
|
+
"x",
|
|
9
|
+
"y",
|
|
10
|
+
"rotate",
|
|
11
|
+
"scale",
|
|
12
|
+
"filter"
|
|
13
|
+
],
|
|
14
|
+
minimumReactNativeMinor: 82,
|
|
15
|
+
platforms: bothPlatforms,
|
|
16
|
+
interpolation: "continuous",
|
|
17
|
+
note: "baseline native-driver properties; filter animation landed in RN 0.82"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
properties: [
|
|
21
|
+
"backgroundColor",
|
|
22
|
+
"borderRadius",
|
|
23
|
+
"borderTopLeftRadius",
|
|
24
|
+
"borderTopRightRadius",
|
|
25
|
+
"borderBottomRightRadius",
|
|
26
|
+
"borderBottomLeftRadius",
|
|
27
|
+
"boxShadow",
|
|
28
|
+
"outlineColor",
|
|
29
|
+
"outlineOffset",
|
|
30
|
+
"outlineWidth",
|
|
31
|
+
"transformOrigin",
|
|
32
|
+
"zIndex"
|
|
33
|
+
],
|
|
34
|
+
minimumReactNativeMinor: 84,
|
|
35
|
+
platforms: bothPlatforms,
|
|
36
|
+
interpolation: "continuous",
|
|
37
|
+
note: "continuous properties explicitly recorded for the RN 0.84 backend"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
properties: [
|
|
41
|
+
"backfaceVisibility",
|
|
42
|
+
"isolation",
|
|
43
|
+
"mixBlendMode",
|
|
44
|
+
"outlineStyle",
|
|
45
|
+
"overflow",
|
|
46
|
+
"pointerEvents",
|
|
47
|
+
"position"
|
|
48
|
+
],
|
|
49
|
+
minimumReactNativeMinor: 84,
|
|
50
|
+
platforms: bothPlatforms,
|
|
51
|
+
interpolation: "discrete",
|
|
52
|
+
note: "the RN 0.84 backend can set these values, but native has no CSS allow-discrete transition semantics"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
properties: ["cursor"],
|
|
56
|
+
minimumReactNativeMinor: 84,
|
|
57
|
+
platforms: iosPlatform,
|
|
58
|
+
interpolation: "discrete",
|
|
59
|
+
note: "cursor is limited to auto and pointer on iOS 17 or newer"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
properties: ["width"],
|
|
63
|
+
minimumReactNativeMinor: 85,
|
|
64
|
+
platforms: bothPlatforms,
|
|
65
|
+
interpolation: "continuous",
|
|
66
|
+
note: "layout animation explicitly verified for the RN 0.85 shared backend"
|
|
67
|
+
}
|
|
68
|
+
];
|
|
69
|
+
function capabilityFor(property) {
|
|
70
|
+
for (let index = 0; index < nativeTransitionCapabilities.length; index++) {
|
|
71
|
+
const capability = nativeTransitionCapabilities[index];
|
|
72
|
+
for (let propertyIndex = 0; propertyIndex < capability.properties.length; propertyIndex++) {
|
|
73
|
+
if (capability.properties[propertyIndex] === property) return capability;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return void 0;
|
|
77
|
+
}
|
|
78
|
+
const baseFilterFunctions = /* @__PURE__ */ new Set(["brightness", "opacity"]);
|
|
79
|
+
const expandedAndroidFilterFunctions = /* @__PURE__ */ new Set([
|
|
80
|
+
"blur",
|
|
81
|
+
"contrast",
|
|
82
|
+
"drop-shadow",
|
|
83
|
+
"grayscale",
|
|
84
|
+
"hue-rotate",
|
|
85
|
+
"saturate"
|
|
86
|
+
]);
|
|
87
|
+
const filterFunctionPattern = /([a-z-]+)\s*\(/g;
|
|
88
|
+
function appendDiagnostics(target, source) {
|
|
89
|
+
for (let index = 0; index < source.length; index++) target.push(source[index]);
|
|
90
|
+
}
|
|
91
|
+
function validateFilter(value, target) {
|
|
92
|
+
filterFunctionPattern.lastIndex = 0;
|
|
93
|
+
for (let match = filterFunctionPattern.exec(value); match; match = filterFunctionPattern.exec(value)) {
|
|
94
|
+
const name = match[1];
|
|
95
|
+
if (baseFilterFunctions.has(name)) continue;
|
|
96
|
+
if (target.platform === "ios") {
|
|
97
|
+
return {
|
|
98
|
+
code: "native-transition-filter",
|
|
99
|
+
property: "filter",
|
|
100
|
+
message: `filter function "${name}()" is not supported on iOS`
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
if (!expandedAndroidFilterFunctions.has(name)) {
|
|
104
|
+
return {
|
|
105
|
+
code: "native-transition-filter",
|
|
106
|
+
property: "filter",
|
|
107
|
+
message: `filter function "${name}()" is not supported on Android`
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
if (target.reactNativeMinor < 83) {
|
|
111
|
+
return {
|
|
112
|
+
code: "native-transition-filter",
|
|
113
|
+
property: "filter",
|
|
114
|
+
message: `filter function "${name}()" requires React Native 0.83 or newer`
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
if ((target.androidApi ?? 0) < 31) {
|
|
118
|
+
return {
|
|
119
|
+
code: "native-transition-filter",
|
|
120
|
+
property: "filter",
|
|
121
|
+
message: "expanded filter functions require Android API 31 or newer"
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return void 0;
|
|
126
|
+
}
|
|
127
|
+
function validateProperty(property, target, transitionedValues) {
|
|
128
|
+
const diagnostics = [];
|
|
129
|
+
if (property.startsWith("--")) {
|
|
130
|
+
diagnostics.push({
|
|
131
|
+
code: "native-transition-property",
|
|
132
|
+
property,
|
|
133
|
+
message: "CSS custom properties are not supported on native"
|
|
134
|
+
});
|
|
135
|
+
return diagnostics;
|
|
136
|
+
}
|
|
137
|
+
const capability = capabilityFor(property);
|
|
138
|
+
if (!capability) {
|
|
139
|
+
diagnostics.push({
|
|
140
|
+
code: "native-transition-property",
|
|
141
|
+
property,
|
|
142
|
+
message: `"${property}" transitions are not supported on native`
|
|
143
|
+
});
|
|
144
|
+
return diagnostics;
|
|
145
|
+
}
|
|
146
|
+
if (!capability.platforms.includes(target.platform)) {
|
|
147
|
+
diagnostics.push({
|
|
148
|
+
code: "native-transition-property",
|
|
149
|
+
property,
|
|
150
|
+
message: `"${property}" transitions are not supported on ${target.platform}`
|
|
151
|
+
});
|
|
152
|
+
return diagnostics;
|
|
153
|
+
}
|
|
154
|
+
if (target.reactNativeMinor < capability.minimumReactNativeMinor) {
|
|
155
|
+
diagnostics.push({
|
|
156
|
+
code: "native-transition-property",
|
|
157
|
+
property,
|
|
158
|
+
message: `"${property}" transitions require React Native 0.${capability.minimumReactNativeMinor} or newer`
|
|
159
|
+
});
|
|
160
|
+
return diagnostics;
|
|
161
|
+
}
|
|
162
|
+
if (capability.interpolation === "discrete") {
|
|
163
|
+
diagnostics.push({
|
|
164
|
+
code: "native-transition-property",
|
|
165
|
+
property,
|
|
166
|
+
message: `"${property}" is discrete and native has no allow-discrete transition semantics`
|
|
167
|
+
});
|
|
168
|
+
return diagnostics;
|
|
169
|
+
}
|
|
170
|
+
if (property === "filter") {
|
|
171
|
+
const value = transitionedValues.filter;
|
|
172
|
+
if (value === void 0) {
|
|
173
|
+
diagnostics.push({
|
|
174
|
+
code: "native-transition-filter",
|
|
175
|
+
property,
|
|
176
|
+
message: "filter transition validation requires the resolved destination value"
|
|
177
|
+
});
|
|
178
|
+
return diagnostics;
|
|
179
|
+
}
|
|
180
|
+
const diagnostic = validateFilter(value, target);
|
|
181
|
+
if (diagnostic) diagnostics.push(diagnostic);
|
|
182
|
+
}
|
|
183
|
+
return diagnostics;
|
|
184
|
+
}
|
|
185
|
+
function validateEntry(entry, target, transitionedValues) {
|
|
186
|
+
const diagnostics = [];
|
|
187
|
+
if (entry.property === "none") return diagnostics;
|
|
188
|
+
if (entry.behavior === "allow-discrete") {
|
|
189
|
+
diagnostics.push({
|
|
190
|
+
code: "native-transition-behavior",
|
|
191
|
+
property: entry.property,
|
|
192
|
+
message: "allow-discrete transition behavior is not supported on native"
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
if (entry.timing.type === "css") {
|
|
196
|
+
if (/^(?:steps|linear)\(/.test(entry.timing.timingFunction) || entry.timing.timingFunction === "step-start" || entry.timing.timingFunction === "step-end") {
|
|
197
|
+
diagnostics.push({
|
|
198
|
+
code: "native-transition-timing",
|
|
199
|
+
property: entry.property,
|
|
200
|
+
message: `timing function "${entry.timing.timingFunction}" is not supported on native`
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
if (Number.parseFloat(entry.delay) < 0) {
|
|
205
|
+
diagnostics.push({
|
|
206
|
+
code: "native-transition-delay",
|
|
207
|
+
property: entry.property,
|
|
208
|
+
message: `negative transition delay "${entry.delay}" is not supported on native`
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
if (entry.property !== "all") {
|
|
212
|
+
appendDiagnostics(diagnostics, validateProperty(entry.property, target, transitionedValues));
|
|
213
|
+
return diagnostics;
|
|
214
|
+
}
|
|
215
|
+
let hasProperty = false;
|
|
216
|
+
for (const property in transitionedValues) {
|
|
217
|
+
if (!Object.prototype.hasOwnProperty.call(transitionedValues, property)) continue;
|
|
218
|
+
hasProperty = true;
|
|
219
|
+
appendDiagnostics(diagnostics, validateProperty(property, target, transitionedValues));
|
|
220
|
+
}
|
|
221
|
+
if (!hasProperty) {
|
|
222
|
+
diagnostics.push({
|
|
223
|
+
code: "native-transition-property",
|
|
224
|
+
property: "all",
|
|
225
|
+
message: "\"all\" transition validation requires the concrete changed native properties"
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
return diagnostics;
|
|
229
|
+
}
|
|
230
|
+
function validateNativeTransition(transition, target, transitionedValues = {}) {
|
|
231
|
+
if (transition.kind === "global") {
|
|
232
|
+
return {
|
|
233
|
+
ok: false,
|
|
234
|
+
diagnostics: [{
|
|
235
|
+
code: "native-transition-css-global",
|
|
236
|
+
message: `CSS-wide value "${transition.value}" is not supported on native`
|
|
237
|
+
}]
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
const diagnostics = [];
|
|
241
|
+
if (transition.enter) {
|
|
242
|
+
appendDiagnostics(diagnostics, validateEntry(transition.enter, target, transitionedValues));
|
|
243
|
+
}
|
|
244
|
+
if (transition.exit) {
|
|
245
|
+
appendDiagnostics(diagnostics, validateEntry(transition.exit, target, transitionedValues));
|
|
246
|
+
}
|
|
247
|
+
for (let index = 0; index < transition.entries.length; index++) {
|
|
248
|
+
appendDiagnostics(diagnostics, validateEntry(transition.entries[index], target, transitionedValues));
|
|
249
|
+
}
|
|
250
|
+
return diagnostics.length ? {
|
|
251
|
+
ok: false,
|
|
252
|
+
diagnostics
|
|
253
|
+
} : { ok: true };
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
export { nativeTransitionCapabilities, validateNativeTransition };
|
|
257
|
+
//# sourceMappingURL=transitionNative.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transitionNative.js","names":[],"sources":["esm/transitionNative.js"],"sourcesContent":["const bothPlatforms = [\"android\", \"ios\"];\nconst iosPlatform = [\"ios\"];\nconst nativeTransitionCapabilities = [\n {\n properties: [\"opacity\", \"transform\", \"x\", \"y\", \"rotate\", \"scale\", \"filter\"],\n minimumReactNativeMinor: 82,\n platforms: bothPlatforms,\n interpolation: \"continuous\",\n note: \"baseline native-driver properties; filter animation landed in RN 0.82\"\n },\n {\n properties: [\n \"backgroundColor\",\n \"borderRadius\",\n \"borderTopLeftRadius\",\n \"borderTopRightRadius\",\n \"borderBottomRightRadius\",\n \"borderBottomLeftRadius\",\n \"boxShadow\",\n \"outlineColor\",\n \"outlineOffset\",\n \"outlineWidth\",\n \"transformOrigin\",\n \"zIndex\"\n ],\n minimumReactNativeMinor: 84,\n platforms: bothPlatforms,\n interpolation: \"continuous\",\n note: \"continuous properties explicitly recorded for the RN 0.84 backend\"\n },\n {\n properties: [\n \"backfaceVisibility\",\n \"isolation\",\n \"mixBlendMode\",\n \"outlineStyle\",\n \"overflow\",\n \"pointerEvents\",\n \"position\"\n ],\n minimumReactNativeMinor: 84,\n platforms: bothPlatforms,\n interpolation: \"discrete\",\n note: \"the RN 0.84 backend can set these values, but native has no CSS allow-discrete transition semantics\"\n },\n {\n properties: [\"cursor\"],\n minimumReactNativeMinor: 84,\n platforms: iosPlatform,\n interpolation: \"discrete\",\n note: \"cursor is limited to auto and pointer on iOS 17 or newer\"\n },\n {\n // the capability survey verifies width as the representative RN 0.85\n // layout animation. Keep the matrix conservative until the rest of the\n // layout property set has matching source evidence.\n properties: [\"width\"],\n minimumReactNativeMinor: 85,\n platforms: bothPlatforms,\n interpolation: \"continuous\",\n note: \"layout animation explicitly verified for the RN 0.85 shared backend\"\n }\n];\nfunction capabilityFor(property) {\n for (let index = 0; index < nativeTransitionCapabilities.length; index++) {\n const capability = nativeTransitionCapabilities[index];\n for (let propertyIndex = 0; propertyIndex < capability.properties.length; propertyIndex++) {\n if (capability.properties[propertyIndex] === property) return capability;\n }\n }\n return void 0;\n}\nconst baseFilterFunctions = /* @__PURE__ */ new Set([\"brightness\", \"opacity\"]);\nconst expandedAndroidFilterFunctions = /* @__PURE__ */ new Set([\n \"blur\",\n \"contrast\",\n \"drop-shadow\",\n \"grayscale\",\n \"hue-rotate\",\n \"saturate\"\n]);\nconst filterFunctionPattern = /([a-z-]+)\\s*\\(/g;\nfunction appendDiagnostics(target, source) {\n for (let index = 0; index < source.length; index++) target.push(source[index]);\n}\nfunction validateFilter(value, target) {\n filterFunctionPattern.lastIndex = 0;\n for (let match = filterFunctionPattern.exec(value); match; match = filterFunctionPattern.exec(value)) {\n const name = match[1];\n if (baseFilterFunctions.has(name)) continue;\n if (target.platform === \"ios\") {\n return {\n code: \"native-transition-filter\",\n property: \"filter\",\n message: `filter function \"${name}()\" is not supported on iOS`\n };\n }\n if (!expandedAndroidFilterFunctions.has(name)) {\n return {\n code: \"native-transition-filter\",\n property: \"filter\",\n message: `filter function \"${name}()\" is not supported on Android`\n };\n }\n if (target.reactNativeMinor < 83) {\n return {\n code: \"native-transition-filter\",\n property: \"filter\",\n message: `filter function \"${name}()\" requires React Native 0.83 or newer`\n };\n }\n if ((target.androidApi ?? 0) < 31) {\n return {\n code: \"native-transition-filter\",\n property: \"filter\",\n message: \"expanded filter functions require Android API 31 or newer\"\n };\n }\n }\n return void 0;\n}\nfunction validateProperty(property, target, transitionedValues) {\n const diagnostics = [];\n if (property.startsWith(\"--\")) {\n diagnostics.push({\n code: \"native-transition-property\",\n property,\n message: \"CSS custom properties are not supported on native\"\n });\n return diagnostics;\n }\n const capability = capabilityFor(property);\n if (!capability) {\n diagnostics.push({\n code: \"native-transition-property\",\n property,\n message: `\"${property}\" transitions are not supported on native`\n });\n return diagnostics;\n }\n if (!capability.platforms.includes(target.platform)) {\n diagnostics.push({\n code: \"native-transition-property\",\n property,\n message: `\"${property}\" transitions are not supported on ${target.platform}`\n });\n return diagnostics;\n }\n if (target.reactNativeMinor < capability.minimumReactNativeMinor) {\n diagnostics.push({\n code: \"native-transition-property\",\n property,\n message: `\"${property}\" transitions require React Native 0.${capability.minimumReactNativeMinor} or newer`\n });\n return diagnostics;\n }\n if (capability.interpolation === \"discrete\") {\n diagnostics.push({\n code: \"native-transition-property\",\n property,\n message: `\"${property}\" is discrete and native has no allow-discrete transition semantics`\n });\n return diagnostics;\n }\n if (property === \"filter\") {\n const value = transitionedValues.filter;\n if (value === void 0) {\n diagnostics.push({\n code: \"native-transition-filter\",\n property,\n message: \"filter transition validation requires the resolved destination value\"\n });\n return diagnostics;\n }\n const diagnostic = validateFilter(value, target);\n if (diagnostic) diagnostics.push(diagnostic);\n }\n return diagnostics;\n}\nfunction validateEntry(entry, target, transitionedValues) {\n const diagnostics = [];\n if (entry.property === \"none\") return diagnostics;\n if (entry.behavior === \"allow-discrete\") {\n diagnostics.push({\n code: \"native-transition-behavior\",\n property: entry.property,\n message: \"allow-discrete transition behavior is not supported on native\"\n });\n }\n if (entry.timing.type === \"css\") {\n if (/^(?:steps|linear)\\(/.test(entry.timing.timingFunction) || entry.timing.timingFunction === \"step-start\" || entry.timing.timingFunction === \"step-end\") {\n diagnostics.push({\n code: \"native-transition-timing\",\n property: entry.property,\n message: `timing function \"${entry.timing.timingFunction}\" is not supported on native`\n });\n }\n }\n if (Number.parseFloat(entry.delay) < 0) {\n diagnostics.push({\n code: \"native-transition-delay\",\n property: entry.property,\n message: `negative transition delay \"${entry.delay}\" is not supported on native`\n });\n }\n if (entry.property !== \"all\") {\n appendDiagnostics(\n diagnostics,\n validateProperty(entry.property, target, transitionedValues)\n );\n return diagnostics;\n }\n let hasProperty = false;\n for (const property in transitionedValues) {\n if (!Object.prototype.hasOwnProperty.call(transitionedValues, property)) continue;\n hasProperty = true;\n appendDiagnostics(diagnostics, validateProperty(property, target, transitionedValues));\n }\n if (!hasProperty) {\n diagnostics.push({\n code: \"native-transition-property\",\n property: \"all\",\n message: '\"all\" transition validation requires the concrete changed native properties'\n });\n }\n return diagnostics;\n}\nfunction validateNativeTransition(transition, target, transitionedValues = {}) {\n if (transition.kind === \"global\") {\n return {\n ok: false,\n diagnostics: [\n {\n code: \"native-transition-css-global\",\n message: `CSS-wide value \"${transition.value}\" is not supported on native`\n }\n ]\n };\n }\n const diagnostics = [];\n if (transition.enter) {\n appendDiagnostics(\n diagnostics,\n validateEntry(transition.enter, target, transitionedValues)\n );\n }\n if (transition.exit) {\n appendDiagnostics(\n diagnostics,\n validateEntry(transition.exit, target, transitionedValues)\n );\n }\n for (let index = 0; index < transition.entries.length; index++) {\n appendDiagnostics(\n diagnostics,\n validateEntry(transition.entries[index], target, transitionedValues)\n );\n }\n return diagnostics.length ? { ok: false, diagnostics } : { ok: true };\n}\nexport {\n nativeTransitionCapabilities,\n validateNativeTransition\n};\n//# sourceMappingURL=transitionNative.js.map\n"],"mappings":"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"}
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
var bothPlatforms = ["android", "ios"];
|
|
2
|
+
var iosPlatform = ["ios"];
|
|
3
|
+
var nativeTransitionCapabilities = [
|
|
4
|
+
{
|
|
5
|
+
properties: [
|
|
6
|
+
"opacity",
|
|
7
|
+
"transform",
|
|
8
|
+
"x",
|
|
9
|
+
"y",
|
|
10
|
+
"rotate",
|
|
11
|
+
"scale",
|
|
12
|
+
"filter"
|
|
13
|
+
],
|
|
14
|
+
minimumReactNativeMinor: 82,
|
|
15
|
+
platforms: bothPlatforms,
|
|
16
|
+
interpolation: "continuous",
|
|
17
|
+
note: "baseline native-driver properties; filter animation landed in RN 0.82"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
properties: [
|
|
21
|
+
"backgroundColor",
|
|
22
|
+
"borderRadius",
|
|
23
|
+
"borderTopLeftRadius",
|
|
24
|
+
"borderTopRightRadius",
|
|
25
|
+
"borderBottomRightRadius",
|
|
26
|
+
"borderBottomLeftRadius",
|
|
27
|
+
"boxShadow",
|
|
28
|
+
"outlineColor",
|
|
29
|
+
"outlineOffset",
|
|
30
|
+
"outlineWidth",
|
|
31
|
+
"transformOrigin",
|
|
32
|
+
"zIndex"
|
|
33
|
+
],
|
|
34
|
+
minimumReactNativeMinor: 84,
|
|
35
|
+
platforms: bothPlatforms,
|
|
36
|
+
interpolation: "continuous",
|
|
37
|
+
note: "continuous properties explicitly recorded for the RN 0.84 backend"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
properties: [
|
|
41
|
+
"backfaceVisibility",
|
|
42
|
+
"isolation",
|
|
43
|
+
"mixBlendMode",
|
|
44
|
+
"outlineStyle",
|
|
45
|
+
"overflow",
|
|
46
|
+
"pointerEvents",
|
|
47
|
+
"position"
|
|
48
|
+
],
|
|
49
|
+
minimumReactNativeMinor: 84,
|
|
50
|
+
platforms: bothPlatforms,
|
|
51
|
+
interpolation: "discrete",
|
|
52
|
+
note: "the RN 0.84 backend can set these values, but native has no CSS allow-discrete transition semantics"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
properties: ["cursor"],
|
|
56
|
+
minimumReactNativeMinor: 84,
|
|
57
|
+
platforms: iosPlatform,
|
|
58
|
+
interpolation: "discrete",
|
|
59
|
+
note: "cursor is limited to auto and pointer on iOS 17 or newer"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
properties: ["width"],
|
|
63
|
+
minimumReactNativeMinor: 85,
|
|
64
|
+
platforms: bothPlatforms,
|
|
65
|
+
interpolation: "continuous",
|
|
66
|
+
note: "layout animation explicitly verified for the RN 0.85 shared backend"
|
|
67
|
+
}
|
|
68
|
+
];
|
|
69
|
+
function capabilityFor(property) {
|
|
70
|
+
for (var index = 0; index < nativeTransitionCapabilities.length; index++) {
|
|
71
|
+
var capability = nativeTransitionCapabilities[index];
|
|
72
|
+
for (var propertyIndex = 0; propertyIndex < capability.properties.length; propertyIndex++) {
|
|
73
|
+
if (capability.properties[propertyIndex] === property) return capability;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return void 0;
|
|
77
|
+
}
|
|
78
|
+
var baseFilterFunctions = /* @__PURE__ */ new Set(["brightness", "opacity"]);
|
|
79
|
+
var expandedAndroidFilterFunctions = /* @__PURE__ */ new Set([
|
|
80
|
+
"blur",
|
|
81
|
+
"contrast",
|
|
82
|
+
"drop-shadow",
|
|
83
|
+
"grayscale",
|
|
84
|
+
"hue-rotate",
|
|
85
|
+
"saturate"
|
|
86
|
+
]);
|
|
87
|
+
var filterFunctionPattern = /([a-z-]+)\s*\(/g;
|
|
88
|
+
function appendDiagnostics(target, source) {
|
|
89
|
+
for (var index = 0; index < source.length; index++) target.push(source[index]);
|
|
90
|
+
}
|
|
91
|
+
function validateFilter(value, target) {
|
|
92
|
+
filterFunctionPattern.lastIndex = 0;
|
|
93
|
+
for (var match = filterFunctionPattern.exec(value); match; match = filterFunctionPattern.exec(value)) {
|
|
94
|
+
var name = match[1];
|
|
95
|
+
if (baseFilterFunctions.has(name)) continue;
|
|
96
|
+
if (target.platform === "ios") {
|
|
97
|
+
return {
|
|
98
|
+
code: "native-transition-filter",
|
|
99
|
+
property: "filter",
|
|
100
|
+
message: `filter function "${name}()" is not supported on iOS`
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
if (!expandedAndroidFilterFunctions.has(name)) {
|
|
104
|
+
return {
|
|
105
|
+
code: "native-transition-filter",
|
|
106
|
+
property: "filter",
|
|
107
|
+
message: `filter function "${name}()" is not supported on Android`
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
if (target.reactNativeMinor < 83) {
|
|
111
|
+
return {
|
|
112
|
+
code: "native-transition-filter",
|
|
113
|
+
property: "filter",
|
|
114
|
+
message: `filter function "${name}()" requires React Native 0.83 or newer`
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
var _target_androidApi;
|
|
118
|
+
if (((_target_androidApi = target.androidApi) !== null && _target_androidApi !== void 0 ? _target_androidApi : 0) < 31) {
|
|
119
|
+
return {
|
|
120
|
+
code: "native-transition-filter",
|
|
121
|
+
property: "filter",
|
|
122
|
+
message: "expanded filter functions require Android API 31 or newer"
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return void 0;
|
|
127
|
+
}
|
|
128
|
+
function validateProperty(property, target, transitionedValues) {
|
|
129
|
+
var diagnostics = [];
|
|
130
|
+
if (property.startsWith("--")) {
|
|
131
|
+
diagnostics.push({
|
|
132
|
+
code: "native-transition-property",
|
|
133
|
+
property,
|
|
134
|
+
message: "CSS custom properties are not supported on native"
|
|
135
|
+
});
|
|
136
|
+
return diagnostics;
|
|
137
|
+
}
|
|
138
|
+
var capability = capabilityFor(property);
|
|
139
|
+
if (!capability) {
|
|
140
|
+
diagnostics.push({
|
|
141
|
+
code: "native-transition-property",
|
|
142
|
+
property,
|
|
143
|
+
message: `"${property}" transitions are not supported on native`
|
|
144
|
+
});
|
|
145
|
+
return diagnostics;
|
|
146
|
+
}
|
|
147
|
+
if (!capability.platforms.includes(target.platform)) {
|
|
148
|
+
diagnostics.push({
|
|
149
|
+
code: "native-transition-property",
|
|
150
|
+
property,
|
|
151
|
+
message: `"${property}" transitions are not supported on ${target.platform}`
|
|
152
|
+
});
|
|
153
|
+
return diagnostics;
|
|
154
|
+
}
|
|
155
|
+
if (target.reactNativeMinor < capability.minimumReactNativeMinor) {
|
|
156
|
+
diagnostics.push({
|
|
157
|
+
code: "native-transition-property",
|
|
158
|
+
property,
|
|
159
|
+
message: `"${property}" transitions require React Native 0.${capability.minimumReactNativeMinor} or newer`
|
|
160
|
+
});
|
|
161
|
+
return diagnostics;
|
|
162
|
+
}
|
|
163
|
+
if (capability.interpolation === "discrete") {
|
|
164
|
+
diagnostics.push({
|
|
165
|
+
code: "native-transition-property",
|
|
166
|
+
property,
|
|
167
|
+
message: `"${property}" is discrete and native has no allow-discrete transition semantics`
|
|
168
|
+
});
|
|
169
|
+
return diagnostics;
|
|
170
|
+
}
|
|
171
|
+
if (property === "filter") {
|
|
172
|
+
var value = transitionedValues.filter;
|
|
173
|
+
if (value === void 0) {
|
|
174
|
+
diagnostics.push({
|
|
175
|
+
code: "native-transition-filter",
|
|
176
|
+
property,
|
|
177
|
+
message: "filter transition validation requires the resolved destination value"
|
|
178
|
+
});
|
|
179
|
+
return diagnostics;
|
|
180
|
+
}
|
|
181
|
+
var diagnostic = validateFilter(value, target);
|
|
182
|
+
if (diagnostic) diagnostics.push(diagnostic);
|
|
183
|
+
}
|
|
184
|
+
return diagnostics;
|
|
185
|
+
}
|
|
186
|
+
function validateEntry(entry, target, transitionedValues) {
|
|
187
|
+
var diagnostics = [];
|
|
188
|
+
if (entry.property === "none") return diagnostics;
|
|
189
|
+
if (entry.behavior === "allow-discrete") {
|
|
190
|
+
diagnostics.push({
|
|
191
|
+
code: "native-transition-behavior",
|
|
192
|
+
property: entry.property,
|
|
193
|
+
message: "allow-discrete transition behavior is not supported on native"
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
if (entry.timing.type === "css") {
|
|
197
|
+
if (/^(?:steps|linear)\(/.test(entry.timing.timingFunction) || entry.timing.timingFunction === "step-start" || entry.timing.timingFunction === "step-end") {
|
|
198
|
+
diagnostics.push({
|
|
199
|
+
code: "native-transition-timing",
|
|
200
|
+
property: entry.property,
|
|
201
|
+
message: `timing function "${entry.timing.timingFunction}" is not supported on native`
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
if (Number.parseFloat(entry.delay) < 0) {
|
|
206
|
+
diagnostics.push({
|
|
207
|
+
code: "native-transition-delay",
|
|
208
|
+
property: entry.property,
|
|
209
|
+
message: `negative transition delay "${entry.delay}" is not supported on native`
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
if (entry.property !== "all") {
|
|
213
|
+
appendDiagnostics(diagnostics, validateProperty(entry.property, target, transitionedValues));
|
|
214
|
+
return diagnostics;
|
|
215
|
+
}
|
|
216
|
+
var hasProperty = false;
|
|
217
|
+
for (var property in transitionedValues) {
|
|
218
|
+
if (!Object.prototype.hasOwnProperty.call(transitionedValues, property)) continue;
|
|
219
|
+
hasProperty = true;
|
|
220
|
+
appendDiagnostics(diagnostics, validateProperty(property, target, transitionedValues));
|
|
221
|
+
}
|
|
222
|
+
if (!hasProperty) {
|
|
223
|
+
diagnostics.push({
|
|
224
|
+
code: "native-transition-property",
|
|
225
|
+
property: "all",
|
|
226
|
+
message: "\"all\" transition validation requires the concrete changed native properties"
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
return diagnostics;
|
|
230
|
+
}
|
|
231
|
+
function validateNativeTransition(transition, target) {
|
|
232
|
+
var transitionedValues = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
233
|
+
if (transition.kind === "global") {
|
|
234
|
+
return {
|
|
235
|
+
ok: false,
|
|
236
|
+
diagnostics: [{
|
|
237
|
+
code: "native-transition-css-global",
|
|
238
|
+
message: `CSS-wide value "${transition.value}" is not supported on native`
|
|
239
|
+
}]
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
var diagnostics = [];
|
|
243
|
+
if (transition.enter) {
|
|
244
|
+
appendDiagnostics(diagnostics, validateEntry(transition.enter, target, transitionedValues));
|
|
245
|
+
}
|
|
246
|
+
if (transition.exit) {
|
|
247
|
+
appendDiagnostics(diagnostics, validateEntry(transition.exit, target, transitionedValues));
|
|
248
|
+
}
|
|
249
|
+
for (var index = 0; index < transition.entries.length; index++) {
|
|
250
|
+
appendDiagnostics(diagnostics, validateEntry(transition.entries[index], target, transitionedValues));
|
|
251
|
+
}
|
|
252
|
+
return diagnostics.length ? {
|
|
253
|
+
ok: false,
|
|
254
|
+
diagnostics
|
|
255
|
+
} : { ok: true };
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
export { nativeTransitionCapabilities, validateNativeTransition };
|
|
259
|
+
//# sourceMappingURL=transitionNative.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transitionNative.native.js","names":[],"sources":["esm/transitionNative.native.js"],"sourcesContent":["var bothPlatforms = [\n \"android\",\n \"ios\"\n];\nvar iosPlatform = [\n \"ios\"\n];\nvar nativeTransitionCapabilities = [\n {\n properties: [\n \"opacity\",\n \"transform\",\n \"x\",\n \"y\",\n \"rotate\",\n \"scale\",\n \"filter\"\n ],\n minimumReactNativeMinor: 82,\n platforms: bothPlatforms,\n interpolation: \"continuous\",\n note: \"baseline native-driver properties; filter animation landed in RN 0.82\"\n },\n {\n properties: [\n \"backgroundColor\",\n \"borderRadius\",\n \"borderTopLeftRadius\",\n \"borderTopRightRadius\",\n \"borderBottomRightRadius\",\n \"borderBottomLeftRadius\",\n \"boxShadow\",\n \"outlineColor\",\n \"outlineOffset\",\n \"outlineWidth\",\n \"transformOrigin\",\n \"zIndex\"\n ],\n minimumReactNativeMinor: 84,\n platforms: bothPlatforms,\n interpolation: \"continuous\",\n note: \"continuous properties explicitly recorded for the RN 0.84 backend\"\n },\n {\n properties: [\n \"backfaceVisibility\",\n \"isolation\",\n \"mixBlendMode\",\n \"outlineStyle\",\n \"overflow\",\n \"pointerEvents\",\n \"position\"\n ],\n minimumReactNativeMinor: 84,\n platforms: bothPlatforms,\n interpolation: \"discrete\",\n note: \"the RN 0.84 backend can set these values, but native has no CSS allow-discrete transition semantics\"\n },\n {\n properties: [\n \"cursor\"\n ],\n minimumReactNativeMinor: 84,\n platforms: iosPlatform,\n interpolation: \"discrete\",\n note: \"cursor is limited to auto and pointer on iOS 17 or newer\"\n },\n {\n // the capability survey verifies width as the representative RN 0.85\n // layout animation. Keep the matrix conservative until the rest of the\n // layout property set has matching source evidence.\n properties: [\n \"width\"\n ],\n minimumReactNativeMinor: 85,\n platforms: bothPlatforms,\n interpolation: \"continuous\",\n note: \"layout animation explicitly verified for the RN 0.85 shared backend\"\n }\n];\nfunction capabilityFor(property) {\n for (var index = 0; index < nativeTransitionCapabilities.length; index++) {\n var capability = nativeTransitionCapabilities[index];\n for (var propertyIndex = 0; propertyIndex < capability.properties.length; propertyIndex++) {\n if (capability.properties[propertyIndex] === property) return capability;\n }\n }\n return void 0;\n}\nvar baseFilterFunctions = /* @__PURE__ */ new Set([\n \"brightness\",\n \"opacity\"\n]);\nvar expandedAndroidFilterFunctions = /* @__PURE__ */ new Set([\n \"blur\",\n \"contrast\",\n \"drop-shadow\",\n \"grayscale\",\n \"hue-rotate\",\n \"saturate\"\n]);\nvar filterFunctionPattern = /([a-z-]+)\\s*\\(/g;\nfunction appendDiagnostics(target, source) {\n for (var index = 0; index < source.length; index++) target.push(source[index]);\n}\nfunction validateFilter(value, target) {\n filterFunctionPattern.lastIndex = 0;\n for (var match = filterFunctionPattern.exec(value); match; match = filterFunctionPattern.exec(value)) {\n var name = match[1];\n if (baseFilterFunctions.has(name)) continue;\n if (target.platform === \"ios\") {\n return {\n code: \"native-transition-filter\",\n property: \"filter\",\n message: `filter function \"${name}()\" is not supported on iOS`\n };\n }\n if (!expandedAndroidFilterFunctions.has(name)) {\n return {\n code: \"native-transition-filter\",\n property: \"filter\",\n message: `filter function \"${name}()\" is not supported on Android`\n };\n }\n if (target.reactNativeMinor < 83) {\n return {\n code: \"native-transition-filter\",\n property: \"filter\",\n message: `filter function \"${name}()\" requires React Native 0.83 or newer`\n };\n }\n var _target_androidApi;\n if (((_target_androidApi = target.androidApi) !== null && _target_androidApi !== void 0 ? _target_androidApi : 0) < 31) {\n return {\n code: \"native-transition-filter\",\n property: \"filter\",\n message: \"expanded filter functions require Android API 31 or newer\"\n };\n }\n }\n return void 0;\n}\nfunction validateProperty(property, target, transitionedValues) {\n var diagnostics = [];\n if (property.startsWith(\"--\")) {\n diagnostics.push({\n code: \"native-transition-property\",\n property,\n message: \"CSS custom properties are not supported on native\"\n });\n return diagnostics;\n }\n var capability = capabilityFor(property);\n if (!capability) {\n diagnostics.push({\n code: \"native-transition-property\",\n property,\n message: `\"${property}\" transitions are not supported on native`\n });\n return diagnostics;\n }\n if (!capability.platforms.includes(target.platform)) {\n diagnostics.push({\n code: \"native-transition-property\",\n property,\n message: `\"${property}\" transitions are not supported on ${target.platform}`\n });\n return diagnostics;\n }\n if (target.reactNativeMinor < capability.minimumReactNativeMinor) {\n diagnostics.push({\n code: \"native-transition-property\",\n property,\n message: `\"${property}\" transitions require React Native 0.${capability.minimumReactNativeMinor} or newer`\n });\n return diagnostics;\n }\n if (capability.interpolation === \"discrete\") {\n diagnostics.push({\n code: \"native-transition-property\",\n property,\n message: `\"${property}\" is discrete and native has no allow-discrete transition semantics`\n });\n return diagnostics;\n }\n if (property === \"filter\") {\n var value = transitionedValues.filter;\n if (value === void 0) {\n diagnostics.push({\n code: \"native-transition-filter\",\n property,\n message: \"filter transition validation requires the resolved destination value\"\n });\n return diagnostics;\n }\n var diagnostic = validateFilter(value, target);\n if (diagnostic) diagnostics.push(diagnostic);\n }\n return diagnostics;\n}\nfunction validateEntry(entry, target, transitionedValues) {\n var diagnostics = [];\n if (entry.property === \"none\") return diagnostics;\n if (entry.behavior === \"allow-discrete\") {\n diagnostics.push({\n code: \"native-transition-behavior\",\n property: entry.property,\n message: \"allow-discrete transition behavior is not supported on native\"\n });\n }\n if (entry.timing.type === \"css\") {\n if (/^(?:steps|linear)\\(/.test(entry.timing.timingFunction) || entry.timing.timingFunction === \"step-start\" || entry.timing.timingFunction === \"step-end\") {\n diagnostics.push({\n code: \"native-transition-timing\",\n property: entry.property,\n message: `timing function \"${entry.timing.timingFunction}\" is not supported on native`\n });\n }\n }\n if (Number.parseFloat(entry.delay) < 0) {\n diagnostics.push({\n code: \"native-transition-delay\",\n property: entry.property,\n message: `negative transition delay \"${entry.delay}\" is not supported on native`\n });\n }\n if (entry.property !== \"all\") {\n appendDiagnostics(diagnostics, validateProperty(entry.property, target, transitionedValues));\n return diagnostics;\n }\n var hasProperty = false;\n for (var property in transitionedValues) {\n if (!Object.prototype.hasOwnProperty.call(transitionedValues, property)) continue;\n hasProperty = true;\n appendDiagnostics(diagnostics, validateProperty(property, target, transitionedValues));\n }\n if (!hasProperty) {\n diagnostics.push({\n code: \"native-transition-property\",\n property: \"all\",\n message: '\"all\" transition validation requires the concrete changed native properties'\n });\n }\n return diagnostics;\n}\nfunction validateNativeTransition(transition, target) {\n var transitionedValues = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n if (transition.kind === \"global\") {\n return {\n ok: false,\n diagnostics: [\n {\n code: \"native-transition-css-global\",\n message: `CSS-wide value \"${transition.value}\" is not supported on native`\n }\n ]\n };\n }\n var diagnostics = [];\n if (transition.enter) {\n appendDiagnostics(diagnostics, validateEntry(transition.enter, target, transitionedValues));\n }\n if (transition.exit) {\n appendDiagnostics(diagnostics, validateEntry(transition.exit, target, transitionedValues));\n }\n for (var index = 0; index < transition.entries.length; index++) {\n appendDiagnostics(diagnostics, validateEntry(transition.entries[index], target, transitionedValues));\n }\n return diagnostics.length ? {\n ok: false,\n diagnostics\n } : {\n ok: true\n };\n}\nexport {\n nativeTransitionCapabilities,\n validateNativeTransition\n};\n//# sourceMappingURL=transitionNative.js.map\n"],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
const unitlessNumberPropertyNames = [
|
|
2
|
+
"animationIterationCount",
|
|
3
|
+
"aspectRatio",
|
|
4
|
+
"borderImageOutset",
|
|
5
|
+
"borderImageSlice",
|
|
6
|
+
"borderImageWidth",
|
|
7
|
+
"boxFlex",
|
|
8
|
+
"boxFlexGroup",
|
|
9
|
+
"boxOrdinalGroup",
|
|
10
|
+
"columnCount",
|
|
11
|
+
"flex",
|
|
12
|
+
"flexGrow",
|
|
13
|
+
"flexOrder",
|
|
14
|
+
"flexPositive",
|
|
15
|
+
"flexShrink",
|
|
16
|
+
"flexNegative",
|
|
17
|
+
"fontWeight",
|
|
18
|
+
"gap",
|
|
19
|
+
"columnGap",
|
|
20
|
+
"rowGap",
|
|
21
|
+
"gridRow",
|
|
22
|
+
"gridRowEnd",
|
|
23
|
+
"gridRowGap",
|
|
24
|
+
"gridRowStart",
|
|
25
|
+
"gridColumn",
|
|
26
|
+
"gridColumnEnd",
|
|
27
|
+
"gridColumnGap",
|
|
28
|
+
"gridColumnStart",
|
|
29
|
+
"lineClamp",
|
|
30
|
+
"opacity",
|
|
31
|
+
"order",
|
|
32
|
+
"orphans",
|
|
33
|
+
"tabSize",
|
|
34
|
+
"widows",
|
|
35
|
+
"zIndex",
|
|
36
|
+
"zoom",
|
|
37
|
+
"fillOpacity",
|
|
38
|
+
"floodOpacity",
|
|
39
|
+
"stopOpacity",
|
|
40
|
+
"strokeDasharray",
|
|
41
|
+
"strokeDashoffset",
|
|
42
|
+
"strokeMiterlimit",
|
|
43
|
+
"strokeOpacity",
|
|
44
|
+
"strokeWidth",
|
|
45
|
+
"scale",
|
|
46
|
+
"scaleX",
|
|
47
|
+
"scaleY",
|
|
48
|
+
"scaleZ",
|
|
49
|
+
"shadowOpacity"
|
|
50
|
+
];
|
|
51
|
+
const unitlessNumbers = new Set(unitlessNumberPropertyNames);
|
|
52
|
+
for (const prefix of [
|
|
53
|
+
"ms",
|
|
54
|
+
"Moz",
|
|
55
|
+
"O",
|
|
56
|
+
"Webkit"
|
|
57
|
+
]) {
|
|
58
|
+
for (const property of unitlessNumberPropertyNames) {
|
|
59
|
+
unitlessNumbers.add(prefix + property[0].toUpperCase() + property.slice(1));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const unitlessNumberProperties = unitlessNumbers;
|
|
63
|
+
|
|
64
|
+
export { unitlessNumberProperties };
|
|
65
|
+
//# sourceMappingURL=unitlessNumbers.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unitlessNumbers.js","names":[],"sources":["esm/unitlessNumbers.js"],"sourcesContent":["const unitlessNumberPropertyNames = [\n \"animationIterationCount\",\n \"aspectRatio\",\n \"borderImageOutset\",\n \"borderImageSlice\",\n \"borderImageWidth\",\n \"boxFlex\",\n \"boxFlexGroup\",\n \"boxOrdinalGroup\",\n \"columnCount\",\n \"flex\",\n \"flexGrow\",\n \"flexOrder\",\n \"flexPositive\",\n \"flexShrink\",\n \"flexNegative\",\n \"fontWeight\",\n \"gap\",\n \"columnGap\",\n \"rowGap\",\n \"gridRow\",\n \"gridRowEnd\",\n \"gridRowGap\",\n \"gridRowStart\",\n \"gridColumn\",\n \"gridColumnEnd\",\n \"gridColumnGap\",\n \"gridColumnStart\",\n \"lineClamp\",\n \"opacity\",\n \"order\",\n \"orphans\",\n \"tabSize\",\n \"widows\",\n \"zIndex\",\n \"zoom\",\n \"fillOpacity\",\n \"floodOpacity\",\n \"stopOpacity\",\n \"strokeDasharray\",\n \"strokeDashoffset\",\n \"strokeMiterlimit\",\n \"strokeOpacity\",\n \"strokeWidth\",\n \"scale\",\n \"scaleX\",\n \"scaleY\",\n \"scaleZ\",\n \"shadowOpacity\"\n];\nconst unitlessNumbers = new Set(unitlessNumberPropertyNames);\nfor (const prefix of [\"ms\", \"Moz\", \"O\", \"Webkit\"]) {\n for (const property of unitlessNumberPropertyNames) {\n unitlessNumbers.add(prefix + property[0].toUpperCase() + property.slice(1));\n }\n}\nconst unitlessNumberProperties = unitlessNumbers;\nexport {\n unitlessNumberProperties\n};\n//# sourceMappingURL=unitlessNumbers.js.map\n"],"mappings":";AAAA,MAAM,8BAA8B;CAClC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AACA,MAAM,kBAAkB,IAAI,IAAI,2BAA2B;AAC3D,KAAK,MAAM,UAAU;CAAC;CAAM;CAAO;CAAK;AAAQ,GAAG;CACjD,KAAK,MAAM,YAAY,6BAA6B;EAClD,gBAAgB,IAAI,SAAS,SAAS,GAAG,YAAY,IAAI,SAAS,MAAM,CAAC,CAAC;CAC5E;AACF;AACA,MAAM,2BAA2B"}
|