react-native-css 0.0.0-nightly.da5ce0f → 0.0.0-nightly.df32ce3
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/README.md +24 -0
- package/dist/commonjs/babel/helpers.js +7 -0
- package/dist/commonjs/babel/helpers.js.map +1 -1
- package/dist/commonjs/babel/import-plugin.js +20 -8
- package/dist/commonjs/babel/import-plugin.js.map +1 -1
- package/dist/commonjs/babel/react-native-web.js +17 -4
- package/dist/commonjs/babel/react-native-web.js.map +1 -1
- package/dist/commonjs/babel/react-native.js +9 -4
- package/dist/commonjs/babel/react-native.js.map +1 -1
- package/dist/commonjs/compiler/atRules.js +35 -0
- package/dist/commonjs/compiler/atRules.js.map +1 -1
- package/dist/commonjs/compiler/compiler.js +107 -32
- package/dist/commonjs/compiler/compiler.js.map +1 -1
- package/dist/commonjs/compiler/container-query.js +6 -1
- package/dist/commonjs/compiler/container-query.js.map +1 -1
- package/dist/commonjs/compiler/declarations.js +103 -62
- package/dist/commonjs/compiler/declarations.js.map +1 -1
- package/dist/commonjs/compiler/lightningcss-loader.js +11 -8
- package/dist/commonjs/compiler/lightningcss-loader.js.map +1 -1
- package/dist/commonjs/compiler/media-query.js +16 -6
- package/dist/commonjs/compiler/media-query.js.map +1 -1
- package/dist/commonjs/compiler/selector-builder.js +15 -4
- package/dist/commonjs/compiler/selector-builder.js.map +1 -1
- package/dist/commonjs/compiler/stylesheet.js +16 -3
- package/dist/commonjs/compiler/stylesheet.js.map +1 -1
- package/dist/commonjs/compiler/supports.js +1 -3
- package/dist/commonjs/compiler/supports.js.map +1 -1
- package/dist/commonjs/components/FlatList.js +1 -0
- package/dist/commonjs/components/FlatList.js.map +1 -1
- package/dist/commonjs/components/ImageBackground.js +2 -6
- package/dist/commonjs/components/ImageBackground.js.map +1 -1
- package/dist/commonjs/components/KeyboardAvoidingView.js +2 -3
- package/dist/commonjs/components/KeyboardAvoidingView.js.map +1 -1
- package/dist/commonjs/components/index.cjs +46 -1
- package/dist/commonjs/components/index.cjs.map +1 -1
- package/dist/commonjs/jest/index.js +1 -1
- package/dist/commonjs/jest/index.js.map +1 -1
- package/dist/commonjs/metro/cache-version.js +43 -0
- package/dist/commonjs/metro/cache-version.js.map +1 -0
- package/dist/commonjs/metro/index.js +2 -0
- package/dist/commonjs/metro/index.js.map +1 -1
- package/dist/commonjs/metro/metro-transformer.js +16 -3
- package/dist/commonjs/metro/metro-transformer.js.map +1 -1
- package/dist/commonjs/metro/typescript.js +26 -6
- package/dist/commonjs/metro/typescript.js.map +1 -1
- package/dist/commonjs/metro/warnings.js +135 -0
- package/dist/commonjs/metro/warnings.js.map +1 -0
- package/dist/commonjs/native/api.js +13 -9
- package/dist/commonjs/native/api.js.map +1 -1
- package/dist/commonjs/native/conditions/attributes.js +16 -9
- package/dist/commonjs/native/conditions/attributes.js.map +1 -1
- package/dist/commonjs/native/conditions/container-query.js +11 -11
- package/dist/commonjs/native/conditions/container-query.js.map +1 -1
- package/dist/commonjs/native/conditions/media-query.js +1 -1
- package/dist/commonjs/native/conditions/media-query.js.map +1 -1
- package/dist/commonjs/native/react/interaction.js +10 -5
- package/dist/commonjs/native/react/interaction.js.map +1 -1
- package/dist/commonjs/native/react/rules.js +12 -5
- package/dist/commonjs/native/react/rules.js.map +1 -1
- package/dist/commonjs/native/react/useNativeCss.js +60 -11
- package/dist/commonjs/native/react/useNativeCss.js.map +1 -1
- package/dist/commonjs/native/react/usePassthrough.js +5 -2
- package/dist/commonjs/native/react/usePassthrough.js.map +1 -1
- package/dist/commonjs/native/reactivity.js +61 -24
- package/dist/commonjs/native/reactivity.js.map +1 -1
- package/dist/commonjs/native/reanimated.js +15 -3
- package/dist/commonjs/native/reanimated.js.map +1 -1
- package/dist/commonjs/native/styles/functions/color-mix.js +43 -29
- package/dist/commonjs/native/styles/functions/color-mix.js.map +1 -1
- package/dist/commonjs/native/styles/functions/filters.js +18 -5
- package/dist/commonjs/native/styles/functions/filters.js.map +1 -1
- package/dist/commonjs/native/styles/functions/numeric-functions.js +4 -3
- package/dist/commonjs/native/styles/functions/numeric-functions.js.map +1 -1
- package/dist/commonjs/native/styles/functions/string-functions.js +16 -1
- package/dist/commonjs/native/styles/functions/string-functions.js.map +1 -1
- package/dist/commonjs/native/styles/functions/transform-functions.js +5 -4
- package/dist/commonjs/native/styles/functions/transform-functions.js.map +1 -1
- package/dist/commonjs/native/styles/index.js +140 -14
- package/dist/commonjs/native/styles/index.js.map +1 -1
- package/dist/commonjs/native/styles/resolve.js +10 -6
- package/dist/commonjs/native/styles/resolve.js.map +1 -1
- package/dist/commonjs/native/styles/scale-factor.js +13 -0
- package/dist/commonjs/native/styles/scale-factor.js.map +1 -0
- package/dist/commonjs/native/styles/shorthands/_handler.js +10 -0
- package/dist/commonjs/native/styles/shorthands/_handler.js.map +1 -1
- package/dist/commonjs/native/styles/shorthands/animation.js +6 -3
- package/dist/commonjs/native/styles/shorthands/animation.js.map +1 -1
- package/dist/commonjs/native/styles/shorthands/box-shadow.js +45 -12
- package/dist/commonjs/native/styles/shorthands/box-shadow.js.map +1 -1
- package/dist/commonjs/native/styles/shorthands/index.js +11 -0
- package/dist/commonjs/native/styles/shorthands/index.js.map +1 -1
- package/dist/commonjs/native/styles/shorthands/logical-border-width.js +22 -0
- package/dist/commonjs/native/styles/shorthands/logical-border-width.js.map +1 -0
- package/dist/commonjs/native/styles/variables.js +55 -43
- package/dist/commonjs/native/styles/variables.js.map +1 -1
- package/dist/commonjs/native-internal/root.js +18 -7
- package/dist/commonjs/native-internal/root.js.map +1 -1
- package/dist/commonjs/native-internal/style-collection.js +1 -1
- package/dist/commonjs/native-internal/style-collection.js.map +1 -1
- package/dist/commonjs/native-internal/variables.js +1 -1
- package/dist/commonjs/native-internal/variables.js.map +1 -1
- package/dist/commonjs/utilities/dot-notation.types.js +4 -0
- package/dist/commonjs/utilities/style-descriptor.js +4 -9
- package/dist/commonjs/utilities/style-descriptor.js.map +1 -1
- package/dist/commonjs/web/api.js +1 -1
- package/dist/commonjs/web/api.js.map +1 -1
- package/dist/commonjs/web/assign-style.js +4 -1
- package/dist/commonjs/web/assign-style.js.map +1 -1
- package/dist/module/babel/helpers.js +6 -0
- package/dist/module/babel/helpers.js.map +1 -1
- package/dist/module/babel/import-plugin.js +22 -10
- package/dist/module/babel/import-plugin.js.map +1 -1
- package/dist/module/babel/react-native-web.js +16 -4
- package/dist/module/babel/react-native-web.js.map +1 -1
- package/dist/module/babel/react-native.js +9 -4
- package/dist/module/babel/react-native.js.map +1 -1
- package/dist/module/compiler/atRules.js +33 -0
- package/dist/module/compiler/atRules.js.map +1 -1
- package/dist/module/compiler/compiler.js +109 -34
- package/dist/module/compiler/compiler.js.map +1 -1
- package/dist/module/compiler/compiler.types.js +2 -0
- package/dist/module/compiler/compiler.types.js.map +1 -1
- package/dist/module/compiler/container-query.js +6 -1
- package/dist/module/compiler/container-query.js.map +1 -1
- package/dist/module/compiler/declarations.js +103 -62
- package/dist/module/compiler/declarations.js.map +1 -1
- package/dist/module/compiler/lightningcss-loader.js +10 -8
- package/dist/module/compiler/lightningcss-loader.js.map +1 -1
- package/dist/module/compiler/media-query.js +16 -6
- package/dist/module/compiler/media-query.js.map +1 -1
- package/dist/module/compiler/selector-builder.js +15 -4
- package/dist/module/compiler/selector-builder.js.map +1 -1
- package/dist/module/compiler/stylesheet.js +16 -3
- package/dist/module/compiler/stylesheet.js.map +1 -1
- package/dist/module/compiler/supports.js +1 -3
- package/dist/module/compiler/supports.js.map +1 -1
- package/dist/module/components/FlatList.js +1 -0
- package/dist/module/components/FlatList.js.map +1 -1
- package/dist/module/components/ImageBackground.js +2 -6
- package/dist/module/components/ImageBackground.js.map +1 -1
- package/dist/module/components/KeyboardAvoidingView.js +2 -3
- package/dist/module/components/KeyboardAvoidingView.js.map +1 -1
- package/dist/module/components/index.cjs +46 -1
- package/dist/module/components/index.cjs.map +1 -1
- package/dist/module/jest/index.js +1 -1
- package/dist/module/jest/index.js.map +1 -1
- package/dist/module/metro/cache-version.js +39 -0
- package/dist/module/metro/cache-version.js.map +1 -0
- package/dist/module/metro/index.js +2 -0
- package/dist/module/metro/index.js.map +1 -1
- package/dist/module/metro/metro-transformer.js +16 -3
- package/dist/module/metro/metro-transformer.js.map +1 -1
- package/dist/module/metro/typescript.js +26 -6
- package/dist/module/metro/typescript.js.map +1 -1
- package/dist/module/metro/warnings.js +131 -0
- package/dist/module/metro/warnings.js.map +1 -0
- package/dist/module/native/api.js +15 -11
- package/dist/module/native/api.js.map +1 -1
- package/dist/module/native/conditions/attributes.js +16 -9
- package/dist/module/native/conditions/attributes.js.map +1 -1
- package/dist/module/native/conditions/container-query.js +11 -11
- package/dist/module/native/conditions/container-query.js.map +1 -1
- package/dist/module/native/conditions/media-query.js +1 -1
- package/dist/module/native/conditions/media-query.js.map +1 -1
- package/dist/module/native/react/interaction.js +10 -5
- package/dist/module/native/react/interaction.js.map +1 -1
- package/dist/module/native/react/rules.js +13 -6
- package/dist/module/native/react/rules.js.map +1 -1
- package/dist/module/native/react/useNativeCss.js +63 -14
- package/dist/module/native/react/useNativeCss.js.map +1 -1
- package/dist/module/native/react/usePassthrough.js +5 -2
- package/dist/module/native/react/usePassthrough.js.map +1 -1
- package/dist/module/native/reactivity.js +55 -22
- package/dist/module/native/reactivity.js.map +1 -1
- package/dist/module/native/reanimated.js +15 -3
- package/dist/module/native/reanimated.js.map +1 -1
- package/dist/module/native/styles/functions/color-mix.js +43 -29
- package/dist/module/native/styles/functions/color-mix.js.map +1 -1
- package/dist/module/native/styles/functions/filters.js +16 -4
- package/dist/module/native/styles/functions/filters.js.map +1 -1
- package/dist/module/native/styles/functions/numeric-functions.js +4 -3
- package/dist/module/native/styles/functions/numeric-functions.js.map +1 -1
- package/dist/module/native/styles/functions/string-functions.js +13 -0
- package/dist/module/native/styles/functions/string-functions.js.map +1 -1
- package/dist/module/native/styles/functions/transform-functions.js +5 -4
- package/dist/module/native/styles/functions/transform-functions.js.map +1 -1
- package/dist/module/native/styles/index.js +140 -14
- package/dist/module/native/styles/index.js.map +1 -1
- package/dist/module/native/styles/resolve.js +10 -6
- package/dist/module/native/styles/resolve.js.map +1 -1
- package/dist/module/native/styles/scale-factor.js +9 -0
- package/dist/module/native/styles/scale-factor.js.map +1 -0
- package/dist/module/native/styles/shorthands/_handler.js +11 -1
- package/dist/module/native/styles/shorthands/_handler.js.map +1 -1
- package/dist/module/native/styles/shorthands/animation.js +6 -3
- package/dist/module/native/styles/shorthands/animation.js.map +1 -1
- package/dist/module/native/styles/shorthands/box-shadow.js +46 -12
- package/dist/module/native/styles/shorthands/box-shadow.js.map +1 -1
- package/dist/module/native/styles/shorthands/index.js +1 -0
- package/dist/module/native/styles/shorthands/index.js.map +1 -1
- package/dist/module/native/styles/shorthands/logical-border-width.js +18 -0
- package/dist/module/native/styles/shorthands/logical-border-width.js.map +1 -0
- package/dist/module/native/styles/variables.js +55 -43
- package/dist/module/native/styles/variables.js.map +1 -1
- package/dist/module/native-internal/root.js +18 -7
- package/dist/module/native-internal/root.js.map +1 -1
- package/dist/module/native-internal/style-collection.js +1 -1
- package/dist/module/native-internal/style-collection.js.map +1 -1
- package/dist/module/native-internal/variables.js +2 -2
- package/dist/module/native-internal/variables.js.map +1 -1
- package/dist/module/utilities/dot-notation.types.js +2 -0
- package/dist/module/utilities/style-descriptor.js +4 -9
- package/dist/module/utilities/style-descriptor.js.map +1 -1
- package/dist/module/web/api.js +1 -1
- package/dist/module/web/api.js.map +1 -1
- package/dist/module/web/assign-style.js +4 -1
- package/dist/module/web/assign-style.js.map +1 -1
- package/dist/typescript/commonjs/src/babel/helpers.d.ts +2 -1
- package/dist/typescript/commonjs/src/babel/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/babel/import-plugin.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/babel/react-native-web.d.ts +2 -1
- package/dist/typescript/commonjs/src/babel/react-native-web.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/babel/react-native.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/compiler/atRules.d.ts +4 -1
- package/dist/typescript/commonjs/src/compiler/atRules.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/compiler/compiler.d.ts +1 -5
- package/dist/typescript/commonjs/src/compiler/compiler.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/compiler/compiler.types.d.ts +6 -0
- package/dist/typescript/commonjs/src/compiler/compiler.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/compiler/declarations.d.ts +2 -2
- package/dist/typescript/commonjs/src/compiler/declarations.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/compiler/lightningcss-loader.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/compiler/media-query.d.ts +1 -1
- package/dist/typescript/commonjs/src/compiler/media-query.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/compiler/selector-builder.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/compiler/stylesheet.d.ts +7 -8
- package/dist/typescript/commonjs/src/compiler/stylesheet.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/components/FlatList.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/components/ImageBackground.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/components/KeyboardAvoidingView.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/components/react-native-safe-area-context.native.d.ts +1 -1
- package/dist/typescript/commonjs/src/components/react-native-safe-area-context.native.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/jest/index.d.ts +2 -10
- package/dist/typescript/commonjs/src/jest/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/metro/cache-version.d.ts +8 -0
- package/dist/typescript/commonjs/src/metro/cache-version.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/metro/index.d.ts +4 -0
- package/dist/typescript/commonjs/src/metro/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/metro/metro-transformer.d.ts +9 -4
- package/dist/typescript/commonjs/src/metro/metro-transformer.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/metro/typescript.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/metro/warnings.d.ts +13 -0
- package/dist/typescript/commonjs/src/metro/warnings.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/native/api.d.ts +4 -8
- package/dist/typescript/commonjs/src/native/api.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/conditions/container-query.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/react/interaction.d.ts +1 -1
- package/dist/typescript/commonjs/src/native/react/interaction.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/react/rules.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/react/useNativeCss.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/react/usePassthrough.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/reactivity.d.ts +14 -3
- package/dist/typescript/commonjs/src/native/reactivity.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/reanimated.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/styles/functions/color-mix.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/styles/functions/filters.d.ts +2 -0
- package/dist/typescript/commonjs/src/native/styles/functions/filters.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/styles/functions/numeric-functions.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/styles/functions/string-functions.d.ts +2 -0
- package/dist/typescript/commonjs/src/native/styles/functions/string-functions.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/styles/functions/transform-functions.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/styles/index.d.ts +2 -2
- package/dist/typescript/commonjs/src/native/styles/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/styles/resolve.d.ts +1 -0
- package/dist/typescript/commonjs/src/native/styles/resolve.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/styles/scale-factor.d.ts +2 -0
- package/dist/typescript/commonjs/src/native/styles/scale-factor.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/native/styles/shorthands/_handler.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/styles/shorthands/animation.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/styles/shorthands/box-shadow.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/styles/shorthands/index.d.ts +1 -0
- package/dist/typescript/commonjs/src/native/styles/shorthands/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native/styles/shorthands/logical-border-width.d.ts +4 -0
- package/dist/typescript/commonjs/src/native/styles/shorthands/logical-border-width.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/native/styles/variables.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native-internal/root.d.ts +12 -0
- package/dist/typescript/commonjs/src/native-internal/root.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/native-internal/variables.d.ts +1 -1
- package/dist/typescript/commonjs/src/native-internal/variables.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/runtime.types.d.ts +11 -6
- package/dist/typescript/commonjs/src/runtime.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/utilities/dot-notation.types.d.ts +2 -1
- package/dist/typescript/commonjs/src/utilities/dot-notation.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/utilities/style-descriptor.d.ts +1 -1
- package/dist/typescript/commonjs/src/utilities/style-descriptor.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/web/api.d.ts +5 -5
- package/dist/typescript/commonjs/src/web/api.d.ts.map +1 -1
- package/dist/typescript/commonjs/src/web/assign-style.d.ts.map +1 -1
- package/dist/typescript/module/src/babel/helpers.d.ts +2 -1
- package/dist/typescript/module/src/babel/helpers.d.ts.map +1 -1
- package/dist/typescript/module/src/babel/import-plugin.d.ts +1 -1
- package/dist/typescript/module/src/babel/import-plugin.d.ts.map +1 -1
- package/dist/typescript/module/src/babel/react-native-web.d.ts +2 -1
- package/dist/typescript/module/src/babel/react-native-web.d.ts.map +1 -1
- package/dist/typescript/module/src/babel/react-native.d.ts.map +1 -1
- package/dist/typescript/module/src/compiler/atRules.d.ts +6 -3
- package/dist/typescript/module/src/compiler/atRules.d.ts.map +1 -1
- package/dist/typescript/module/src/compiler/compiler.d.ts +3 -7
- package/dist/typescript/module/src/compiler/compiler.d.ts.map +1 -1
- package/dist/typescript/module/src/compiler/compiler.types.d.ts +7 -1
- package/dist/typescript/module/src/compiler/compiler.types.d.ts.map +1 -1
- package/dist/typescript/module/src/compiler/container-query.d.ts +2 -2
- package/dist/typescript/module/src/compiler/container-query.d.ts.map +1 -1
- package/dist/typescript/module/src/compiler/declarations.d.ts +4 -4
- package/dist/typescript/module/src/compiler/declarations.d.ts.map +1 -1
- package/dist/typescript/module/src/compiler/index.d.ts +2 -2
- package/dist/typescript/module/src/compiler/index.d.ts.map +1 -1
- package/dist/typescript/module/src/compiler/inline-variables.d.ts +1 -1
- package/dist/typescript/module/src/compiler/inline-variables.d.ts.map +1 -1
- package/dist/typescript/module/src/compiler/keyframes.d.ts +2 -2
- package/dist/typescript/module/src/compiler/keyframes.d.ts.map +1 -1
- package/dist/typescript/module/src/compiler/lightningcss-loader.d.ts.map +1 -1
- package/dist/typescript/module/src/compiler/media-query.d.ts +3 -3
- package/dist/typescript/module/src/compiler/media-query.d.ts.map +1 -1
- package/dist/typescript/module/src/compiler/pseudo-elements.d.ts +1 -1
- package/dist/typescript/module/src/compiler/pseudo-elements.d.ts.map +1 -1
- package/dist/typescript/module/src/compiler/selector-builder.d.ts +1 -1
- package/dist/typescript/module/src/compiler/selector-builder.d.ts.map +1 -1
- package/dist/typescript/module/src/compiler/selectors.d.ts +2 -2
- package/dist/typescript/module/src/compiler/selectors.d.ts.map +1 -1
- package/dist/typescript/module/src/compiler/stylesheet.d.ts +7 -8
- package/dist/typescript/module/src/compiler/stylesheet.d.ts.map +1 -1
- package/dist/typescript/module/src/components/FlatList.d.ts.map +1 -1
- package/dist/typescript/module/src/components/ImageBackground.d.ts.map +1 -1
- package/dist/typescript/module/src/components/KeyboardAvoidingView.d.ts.map +1 -1
- package/dist/typescript/module/src/components/index.d.ts +16 -16
- package/dist/typescript/module/src/components/index.d.ts.map +1 -1
- package/dist/typescript/module/src/components/react-native-safe-area-context.native.d.ts +1 -1
- package/dist/typescript/module/src/components/react-native-safe-area-context.native.d.ts.map +1 -1
- package/dist/typescript/module/src/jest/index.d.ts +2 -10
- package/dist/typescript/module/src/jest/index.d.ts.map +1 -1
- package/dist/typescript/module/src/metro/cache-version.d.ts +8 -0
- package/dist/typescript/module/src/metro/cache-version.d.ts.map +1 -0
- package/dist/typescript/module/src/metro/index.d.ts +5 -1
- package/dist/typescript/module/src/metro/index.d.ts.map +1 -1
- package/dist/typescript/module/src/metro/metro-transformer.d.ts +10 -5
- package/dist/typescript/module/src/metro/metro-transformer.d.ts.map +1 -1
- package/dist/typescript/module/src/metro/typescript.d.ts.map +1 -1
- package/dist/typescript/module/src/metro/warnings.d.ts +13 -0
- package/dist/typescript/module/src/metro/warnings.d.ts.map +1 -0
- package/dist/typescript/module/src/native/api.d.ts +5 -9
- package/dist/typescript/module/src/native/api.d.ts.map +1 -1
- package/dist/typescript/module/src/native/conditions/attributes.d.ts +1 -1
- package/dist/typescript/module/src/native/conditions/attributes.d.ts.map +1 -1
- package/dist/typescript/module/src/native/conditions/container-query.d.ts +2 -2
- package/dist/typescript/module/src/native/conditions/container-query.d.ts.map +1 -1
- package/dist/typescript/module/src/native/conditions/guards.d.ts +2 -2
- package/dist/typescript/module/src/native/conditions/guards.d.ts.map +1 -1
- package/dist/typescript/module/src/native/conditions/index.d.ts +3 -3
- package/dist/typescript/module/src/native/conditions/index.d.ts.map +1 -1
- package/dist/typescript/module/src/native/conditions/media-query.d.ts +1 -1
- package/dist/typescript/module/src/native/conditions/media-query.d.ts.map +1 -1
- package/dist/typescript/module/src/native/index.d.ts +3 -3
- package/dist/typescript/module/src/native/index.d.ts.map +1 -1
- package/dist/typescript/module/src/native/react/interaction.d.ts +2 -2
- package/dist/typescript/module/src/native/react/interaction.d.ts.map +1 -1
- package/dist/typescript/module/src/native/react/rules.d.ts +2 -2
- package/dist/typescript/module/src/native/react/rules.d.ts.map +1 -1
- package/dist/typescript/module/src/native/react/useNativeCss.d.ts +4 -4
- package/dist/typescript/module/src/native/react/useNativeCss.d.ts.map +1 -1
- package/dist/typescript/module/src/native/react/usePassthrough.d.ts +1 -1
- package/dist/typescript/module/src/native/react/usePassthrough.d.ts.map +1 -1
- package/dist/typescript/module/src/native/reactivity.d.ts +14 -3
- package/dist/typescript/module/src/native/reactivity.d.ts.map +1 -1
- package/dist/typescript/module/src/native/reanimated.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/calculate-props.d.ts +2 -2
- package/dist/typescript/module/src/native/styles/calculate-props.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/functions/animation-timing.d.ts +1 -1
- package/dist/typescript/module/src/native/styles/functions/animation-timing.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/functions/calc.d.ts +1 -1
- package/dist/typescript/module/src/native/styles/functions/calc.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/functions/color-mix.d.ts +1 -1
- package/dist/typescript/module/src/native/styles/functions/color-mix.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/functions/filters.d.ts +3 -1
- package/dist/typescript/module/src/native/styles/functions/filters.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/functions/index.d.ts +8 -8
- package/dist/typescript/module/src/native/styles/functions/index.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/functions/numeric-functions.d.ts +1 -1
- package/dist/typescript/module/src/native/styles/functions/numeric-functions.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/functions/platform-functions.d.ts +1 -1
- package/dist/typescript/module/src/native/styles/functions/platform-functions.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/functions/string-functions.d.ts +3 -1
- package/dist/typescript/module/src/native/styles/functions/string-functions.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/functions/transform-functions.d.ts +1 -1
- package/dist/typescript/module/src/native/styles/functions/transform-functions.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/index.d.ts +7 -7
- package/dist/typescript/module/src/native/styles/index.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/line-height.d.ts +1 -1
- package/dist/typescript/module/src/native/styles/line-height.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/resolve.d.ts +4 -3
- package/dist/typescript/module/src/native/styles/resolve.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/scale-factor.d.ts +2 -0
- package/dist/typescript/module/src/native/styles/scale-factor.d.ts.map +1 -0
- package/dist/typescript/module/src/native/styles/shorthands/_handler.d.ts +1 -1
- package/dist/typescript/module/src/native/styles/shorthands/_handler.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/shorthands/animation.d.ts +2 -2
- package/dist/typescript/module/src/native/styles/shorthands/animation.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/shorthands/border.d.ts +1 -1
- package/dist/typescript/module/src/native/styles/shorthands/border.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/shorthands/box-shadow.d.ts +1 -1
- package/dist/typescript/module/src/native/styles/shorthands/box-shadow.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/shorthands/index.d.ts +6 -5
- package/dist/typescript/module/src/native/styles/shorthands/index.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/shorthands/logical-border-width.d.ts +4 -0
- package/dist/typescript/module/src/native/styles/shorthands/logical-border-width.d.ts.map +1 -0
- package/dist/typescript/module/src/native/styles/shorthands/text-shadow.d.ts +1 -1
- package/dist/typescript/module/src/native/styles/shorthands/text-shadow.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/shorthands/transform.d.ts +1 -1
- package/dist/typescript/module/src/native/styles/shorthands/transform.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/units.d.ts +1 -1
- package/dist/typescript/module/src/native/styles/units.d.ts.map +1 -1
- package/dist/typescript/module/src/native/styles/variables.d.ts +2 -2
- package/dist/typescript/module/src/native/styles/variables.d.ts.map +1 -1
- package/dist/typescript/module/src/native-internal/index.d.ts +3 -3
- package/dist/typescript/module/src/native-internal/index.d.ts.map +1 -1
- package/dist/typescript/module/src/native-internal/root.d.ts +13 -1
- package/dist/typescript/module/src/native-internal/root.d.ts.map +1 -1
- package/dist/typescript/module/src/native-internal/style-collection.d.ts +2 -2
- package/dist/typescript/module/src/native-internal/style-collection.d.ts.map +1 -1
- package/dist/typescript/module/src/native-internal/variables.d.ts +2 -2
- package/dist/typescript/module/src/native-internal/variables.d.ts.map +1 -1
- package/dist/typescript/module/src/runtime.d.ts +1 -1
- package/dist/typescript/module/src/runtime.d.ts.map +1 -1
- package/dist/typescript/module/src/runtime.native.d.ts +1 -1
- package/dist/typescript/module/src/runtime.native.d.ts.map +1 -1
- package/dist/typescript/module/src/runtime.types.d.ts +11 -6
- package/dist/typescript/module/src/runtime.types.d.ts.map +1 -1
- package/dist/typescript/module/src/utilities/dot-notation.types.d.ts +2 -1
- package/dist/typescript/module/src/utilities/dot-notation.types.d.ts.map +1 -1
- package/dist/typescript/module/src/utilities/index.d.ts +3 -3
- package/dist/typescript/module/src/utilities/index.d.ts.map +1 -1
- package/dist/typescript/module/src/utilities/specificity.d.ts +2 -2
- package/dist/typescript/module/src/utilities/specificity.d.ts.map +1 -1
- package/dist/typescript/module/src/utilities/style-descriptor.d.ts +1 -1
- package/dist/typescript/module/src/utilities/style-descriptor.d.ts.map +1 -1
- package/dist/typescript/module/src/web/api.d.ts +5 -5
- package/dist/typescript/module/src/web/api.d.ts.map +1 -1
- package/dist/typescript/module/src/web/assign-style.d.ts.map +1 -1
- package/dist/typescript/module/src/web/index.d.ts +3 -3
- package/dist/typescript/module/src/web/index.d.ts.map +1 -1
- package/node/babel.mjs +4 -0
- package/node/compiler.mjs +2 -0
- package/node/metro.mjs +2 -0
- package/package.json +65 -29
- package/src/babel/helpers.ts +8 -1
- package/src/babel/import-plugin.ts +31 -16
- package/src/babel/react-native-web.ts +32 -4
- package/src/babel/react-native.ts +9 -4
- package/src/compiler/atRules.ts +44 -0
- package/src/compiler/compiler.ts +159 -43
- package/src/compiler/compiler.types.ts +9 -0
- package/src/compiler/container-query.ts +8 -3
- package/src/compiler/declarations.ts +190 -101
- package/src/compiler/lightningcss-loader.ts +16 -15
- package/src/compiler/media-query.ts +20 -9
- package/src/compiler/selector-builder.ts +31 -4
- package/src/compiler/stylesheet.ts +23 -10
- package/src/compiler/supports.ts +1 -3
- package/src/components/FlatList.tsx +1 -0
- package/src/components/ImageBackground.tsx +2 -6
- package/src/components/KeyboardAvoidingView.tsx +2 -3
- package/src/components/index.cts +46 -1
- package/src/jest/index.ts +1 -1
- package/src/metro/cache-version.ts +48 -0
- package/src/metro/index.ts +7 -0
- package/src/metro/metro-transformer.ts +26 -8
- package/src/metro/typescript.ts +53 -6
- package/src/metro/warnings.ts +187 -0
- package/src/native/api.tsx +22 -17
- package/src/native/conditions/attributes.ts +26 -9
- package/src/native/conditions/container-query.ts +11 -9
- package/src/native/conditions/media-query.ts +1 -1
- package/src/native/react/interaction.ts +11 -6
- package/src/native/react/rules.ts +13 -5
- package/src/native/react/useNativeCss.ts +69 -14
- package/src/native/react/usePassthrough.ts +3 -2
- package/src/native/reactivity.ts +76 -24
- package/src/native/reanimated.ts +24 -5
- package/src/native/styles/functions/color-mix.ts +45 -39
- package/src/native/styles/functions/filters.ts +20 -6
- package/src/native/styles/functions/numeric-functions.ts +7 -6
- package/src/native/styles/functions/string-functions.ts +18 -0
- package/src/native/styles/functions/transform-functions.ts +5 -4
- package/src/native/styles/index.ts +146 -15
- package/src/native/styles/resolve.ts +15 -11
- package/src/native/styles/scale-factor.ts +6 -0
- package/src/native/styles/shorthands/_handler.ts +14 -1
- package/src/native/styles/shorthands/animation.ts +8 -2
- package/src/native/styles/shorthands/box-shadow.ts +50 -15
- package/src/native/styles/shorthands/index.ts +1 -0
- package/src/native/styles/shorthands/logical-border-width.ts +32 -0
- package/src/native/styles/variables.ts +48 -38
- package/src/native-internal/root.ts +40 -13
- package/src/native-internal/style-collection.ts +1 -1
- package/src/native-internal/variables.tsx +6 -4
- package/src/runtime.types.ts +17 -15
- package/src/utilities/dot-notation.types.ts +4 -3
- package/src/utilities/style-descriptor.ts +11 -16
- package/src/web/api.tsx +6 -11
- package/src/web/assign-style.ts +2 -1
- package/types.d.ts +0 -20
- package/dist/commonjs/compiler/inheritance.test.js +0 -78
- package/dist/commonjs/compiler/inheritance.test.js.map +0 -1
- package/dist/module/compiler/inheritance.test.js +0 -78
- package/dist/module/compiler/inheritance.test.js.map +0 -1
- package/dist/typescript/commonjs/.config/eslint.config.d.mts +0 -3
- package/dist/typescript/commonjs/.config/eslint.config.d.mts.map +0 -1
- package/dist/typescript/commonjs/eslint.config.d.mts +0 -2
- package/dist/typescript/commonjs/eslint.config.d.mts.map +0 -1
- package/dist/typescript/commonjs/example/app.config.d.ts +0 -4
- package/dist/typescript/commonjs/example/app.config.d.ts.map +0 -1
- package/dist/typescript/commonjs/example/index.d.ts +0 -2
- package/dist/typescript/commonjs/example/index.d.ts.map +0 -1
- package/dist/typescript/commonjs/example/metro.config.d.ts +0 -3
- package/dist/typescript/commonjs/example/metro.config.d.ts.map +0 -1
- package/dist/typescript/commonjs/example/postcss.config.d.mts +0 -7
- package/dist/typescript/commonjs/example/postcss.config.d.mts.map +0 -1
- package/dist/typescript/commonjs/example/src/App.d.ts +0 -3
- package/dist/typescript/commonjs/example/src/App.d.ts.map +0 -1
- package/dist/typescript/commonjs/src/compiler/inheritance.test.d.ts +0 -2
- package/dist/typescript/commonjs/src/compiler/inheritance.test.d.ts.map +0 -1
- package/dist/typescript/module/.config/eslint.config.d.mts +0 -3
- package/dist/typescript/module/.config/eslint.config.d.mts.map +0 -1
- package/dist/typescript/module/eslint.config.d.mts +0 -2
- package/dist/typescript/module/eslint.config.d.mts.map +0 -1
- package/dist/typescript/module/example/app.config.d.ts +0 -4
- package/dist/typescript/module/example/app.config.d.ts.map +0 -1
- package/dist/typescript/module/example/index.d.ts +0 -2
- package/dist/typescript/module/example/index.d.ts.map +0 -1
- package/dist/typescript/module/example/metro.config.d.ts +0 -3
- package/dist/typescript/module/example/metro.config.d.ts.map +0 -1
- package/dist/typescript/module/example/postcss.config.d.mts +0 -7
- package/dist/typescript/module/example/postcss.config.d.mts.map +0 -1
- package/dist/typescript/module/example/src/App.d.ts +0 -3
- package/dist/typescript/module/example/src/App.d.ts.map +0 -1
- package/dist/typescript/module/src/compiler/inheritance.test.d.ts +0 -2
- package/dist/typescript/module/src/compiler/inheritance.test.d.ts.map +0 -1
- package/src/compiler/inheritance.test.ts +0 -121
package/src/native/reactivity.ts
CHANGED
|
@@ -10,8 +10,12 @@ import {
|
|
|
10
10
|
import type { StyleDescriptor } from "react-native-css/compiler";
|
|
11
11
|
|
|
12
12
|
export type Effect = {
|
|
13
|
-
observers: Set<
|
|
13
|
+
observers: Set<Observable<any, any>>;
|
|
14
14
|
run(): void;
|
|
15
|
+
/** Dependencies recorded by the last cleanupEffect() */
|
|
16
|
+
dependencies?: Observable<any, any>[];
|
|
17
|
+
/** Dependency values recorded by the last cleanupEffect() */
|
|
18
|
+
snapshots?: [Observable<any, any>, unknown][];
|
|
15
19
|
};
|
|
16
20
|
|
|
17
21
|
export type Observable<Value, Arg = Value> = {
|
|
@@ -19,6 +23,7 @@ export type Observable<Value, Arg = Value> = {
|
|
|
19
23
|
get: (effect?: Effect) => Value;
|
|
20
24
|
set: (arg: Arg) => void;
|
|
21
25
|
run: () => void;
|
|
26
|
+
unsubscribe: (effect: Effect) => void;
|
|
22
27
|
};
|
|
23
28
|
type Read<Value, Arg> = (get: Getter, arg?: Arg) => Value;
|
|
24
29
|
export type Getter = <Value>(observable: Observable<Value, any>) => Value;
|
|
@@ -43,9 +48,10 @@ export function observable<Value, Arg = Value>(
|
|
|
43
48
|
|
|
44
49
|
const observers = new Set<Effect>();
|
|
45
50
|
const effect: Effect = {
|
|
46
|
-
observers,
|
|
51
|
+
observers: new Set(),
|
|
47
52
|
run: () => {
|
|
48
53
|
if (!isStatic) {
|
|
54
|
+
cleanupEffect(effect);
|
|
49
55
|
const nextValue = (init as Read<Value, Arg>)(getter, lastArg);
|
|
50
56
|
if (equality(value, nextValue)) {
|
|
51
57
|
return;
|
|
@@ -57,14 +63,19 @@ export function observable<Value, Arg = Value>(
|
|
|
57
63
|
},
|
|
58
64
|
};
|
|
59
65
|
|
|
60
|
-
const getter: Getter = (observable) =>
|
|
66
|
+
const getter: Getter = (observable) =>
|
|
67
|
+
observable.get(observers.size > 0 ? effect : undefined);
|
|
61
68
|
|
|
62
|
-
function get(
|
|
63
|
-
if (
|
|
64
|
-
observers.
|
|
69
|
+
function get(subscriber?: Effect) {
|
|
70
|
+
if (subscriber) {
|
|
71
|
+
if (observers.size === 0 && !isStatic) didInit = false;
|
|
72
|
+
observers.add(subscriber);
|
|
73
|
+
subscriber.observers.add(obs);
|
|
65
74
|
}
|
|
66
75
|
if (!didInit) {
|
|
67
|
-
|
|
76
|
+
cleanupEffect(effect);
|
|
77
|
+
value = (init as Read<Value, Arg>)(getter, lastArg);
|
|
78
|
+
didInit = observers.size > 0;
|
|
68
79
|
}
|
|
69
80
|
|
|
70
81
|
return value;
|
|
@@ -77,9 +88,10 @@ export function observable<Value, Arg = Value>(
|
|
|
77
88
|
}
|
|
78
89
|
value = arg as unknown as Value;
|
|
79
90
|
} else {
|
|
91
|
+
cleanupEffect(effect);
|
|
80
92
|
const nextValue = (init as Read<Value, Arg>)(getter, arg);
|
|
81
93
|
|
|
82
|
-
didInit =
|
|
94
|
+
didInit = observers.size > 0;
|
|
83
95
|
lastArg = arg;
|
|
84
96
|
|
|
85
97
|
if (equality(value, nextValue)) {
|
|
@@ -108,6 +120,13 @@ export function observable<Value, Arg = Value>(
|
|
|
108
120
|
get,
|
|
109
121
|
set,
|
|
110
122
|
run: effect.run,
|
|
123
|
+
unsubscribe(subscriber) {
|
|
124
|
+
if (observers.delete(subscriber) && observers.size === 0 && !isStatic) {
|
|
125
|
+
cleanupEffect(effect);
|
|
126
|
+
didInit = false;
|
|
127
|
+
}
|
|
128
|
+
subscriber.observers.delete(obs);
|
|
129
|
+
},
|
|
111
130
|
};
|
|
112
131
|
|
|
113
132
|
return obs;
|
|
@@ -115,10 +134,26 @@ export function observable<Value, Arg = Value>(
|
|
|
115
134
|
|
|
116
135
|
export function cleanupEffect(effect: Effect) {
|
|
117
136
|
if (!effect) return;
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
137
|
+
const dependencies = (effect.dependencies = Array.from(effect.observers));
|
|
138
|
+
// Snapshot before detaching so computed observables return cached values
|
|
139
|
+
effect.snapshots = dependencies.map(
|
|
140
|
+
(observable) =>
|
|
141
|
+
[observable, observable.get()] as [Observable<any, any>, unknown],
|
|
142
|
+
);
|
|
121
143
|
effect.observers.clear();
|
|
144
|
+
for (const dep of dependencies) {
|
|
145
|
+
dep.unsubscribe(effect);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/** Whether any of the effect's dependencies changed since cleanupEffect() */
|
|
150
|
+
export function hasChangedDependencies(effect: Effect): boolean {
|
|
151
|
+
const snapshots = effect.snapshots;
|
|
152
|
+
if (!snapshots) return false;
|
|
153
|
+
for (const [observable, value] of snapshots) {
|
|
154
|
+
if (!Object.is(observable.get(), value)) return true;
|
|
155
|
+
}
|
|
156
|
+
return false;
|
|
122
157
|
}
|
|
123
158
|
|
|
124
159
|
/** Family Helpers ************************************************************/
|
|
@@ -129,11 +164,9 @@ export function family<Key, Result = Key, Args extends any = void>(
|
|
|
129
164
|
const map = new Map<Key, Result>();
|
|
130
165
|
return Object.assign(
|
|
131
166
|
(key: Key, args: Args) => {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
map.set(key, value);
|
|
136
|
-
}
|
|
167
|
+
if (map.has(key)) return map.get(key)!;
|
|
168
|
+
const value = fn(key, args);
|
|
169
|
+
map.set(key, value);
|
|
137
170
|
return value;
|
|
138
171
|
},
|
|
139
172
|
{
|
|
@@ -166,11 +199,9 @@ export function weakFamily<Key extends WeakKey, Args = undefined, Result = Key>(
|
|
|
166
199
|
const map = new WeakMap<Key, Result>();
|
|
167
200
|
return Object.assign(
|
|
168
201
|
(key: Key, args: Args) => {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
map.set(key, value);
|
|
173
|
-
}
|
|
202
|
+
if (map.has(key)) return map.get(key)!;
|
|
203
|
+
const value = fn(key, args);
|
|
204
|
+
map.set(key, value);
|
|
174
205
|
return value;
|
|
175
206
|
},
|
|
176
207
|
{
|
|
@@ -186,6 +217,21 @@ export type VariableContextValue = Record<string, StyleDescriptor> & {
|
|
|
186
217
|
[VAR_SYMBOL]: true;
|
|
187
218
|
};
|
|
188
219
|
|
|
220
|
+
// Variable lookup is presence-keyed, so an entry with no value produces no key rather than one that stops the cascade
|
|
221
|
+
export function toVariableRecord(
|
|
222
|
+
variables: Record<string, StyleDescriptor>,
|
|
223
|
+
): Record<string, StyleDescriptor> {
|
|
224
|
+
const record: Record<string, StyleDescriptor> = {};
|
|
225
|
+
|
|
226
|
+
for (const [name, value] of Object.entries(variables)) {
|
|
227
|
+
if (value !== undefined) {
|
|
228
|
+
record[name.replace(/^--/, "")] = value;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
return record;
|
|
233
|
+
}
|
|
234
|
+
|
|
189
235
|
/** Pseudo Classes ************************************************************/
|
|
190
236
|
|
|
191
237
|
export const hoverFamily = weakFamily(() => observable(false));
|
|
@@ -216,14 +262,20 @@ Dimensions.addEventListener("change", ({ window }) => {
|
|
|
216
262
|
|
|
217
263
|
/** Color Scheme **************************************************************/
|
|
218
264
|
|
|
219
|
-
export const colorScheme = observable<ColorSchemeName>(
|
|
265
|
+
export const colorScheme = observable<ColorSchemeName | null | undefined>(
|
|
220
266
|
Appearance.getColorScheme(),
|
|
221
267
|
);
|
|
222
268
|
Appearance.addChangeListener((event) => colorScheme.set(event.colorScheme));
|
|
223
269
|
|
|
224
270
|
/** Containers ****************************************************************/
|
|
225
271
|
|
|
226
|
-
export type ContainerContextValue = Record<
|
|
272
|
+
export type ContainerContextValue = Record<
|
|
273
|
+
string,
|
|
274
|
+
{
|
|
275
|
+
key: WeakKey;
|
|
276
|
+
props: Record<string, unknown> | null | undefined;
|
|
277
|
+
}
|
|
278
|
+
>;
|
|
227
279
|
export const ContainerContext = createContext<ContainerContextValue>({});
|
|
228
280
|
|
|
229
281
|
export const containerLayoutFamily = weakFamily(() => {
|
|
@@ -243,6 +295,6 @@ export const containerWidthFamily = weakFamily((key) => {
|
|
|
243
295
|
|
|
244
296
|
export const containerHeightFamily = weakFamily((key) => {
|
|
245
297
|
return observable((read) => {
|
|
246
|
-
return read(containerLayoutFamily(key))?.
|
|
298
|
+
return read(containerLayoutFamily(key))?.height || 0;
|
|
247
299
|
});
|
|
248
300
|
});
|
package/src/native/reanimated.ts
CHANGED
|
@@ -11,11 +11,30 @@ export const animatedComponentFamily = weakFamily(
|
|
|
11
11
|
return component;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
)
|
|
14
|
+
// Reanimated 4.5 keeps the original component display name. Compare its
|
|
15
|
+
// public built-in components by identity instead of interpreting that name.
|
|
16
|
+
const reanimated =
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
18
|
+
require("react-native-reanimated") as typeof import("react-native-reanimated");
|
|
19
|
+
const animated = reanimated.default;
|
|
20
|
+
if (
|
|
21
|
+
[
|
|
22
|
+
animated.View,
|
|
23
|
+
animated.Text,
|
|
24
|
+
animated.Image,
|
|
25
|
+
animated.ScrollView,
|
|
26
|
+
animated.FlatList,
|
|
27
|
+
].some((value) => value === component)
|
|
28
|
+
) {
|
|
29
|
+
return component;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// This public constructor remains supported for arbitrary components; only
|
|
33
|
+
// its FlatList-specific overload is deprecated by Reanimated.
|
|
34
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
35
|
+
const createAnimatedComponent = reanimated.createAnimatedComponent as (
|
|
36
|
+
component: ComponentType,
|
|
37
|
+
) => ComponentType;
|
|
19
38
|
|
|
20
39
|
return createAnimatedComponent(component);
|
|
21
40
|
},
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
2
|
-
import type { PlainColorObject } from "colorjs.io";
|
|
3
1
|
import {
|
|
4
2
|
ColorSpace,
|
|
5
3
|
to as convert,
|
|
@@ -8,7 +6,6 @@ import {
|
|
|
8
6
|
P3,
|
|
9
7
|
parse,
|
|
10
8
|
sRGB,
|
|
11
|
-
type ColorConstructor,
|
|
12
9
|
} from "colorjs.io/fn";
|
|
13
10
|
|
|
14
11
|
import type { StyleFunctionResolver } from "../resolve";
|
|
@@ -18,49 +15,58 @@ ColorSpace.register(P3);
|
|
|
18
15
|
ColorSpace.register(OKLab);
|
|
19
16
|
|
|
20
17
|
export const colorMix: StyleFunctionResolver = (resolveValue, value) => {
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
if (!Array.isArray(args) || args.length < 3) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
18
|
+
const resolved = resolveValue(value[2]);
|
|
19
|
+
if (!Array.isArray(resolved)) return;
|
|
26
20
|
|
|
21
|
+
// Resolved descriptors may be cached and shared by another styled component.
|
|
22
|
+
const args: unknown[] = [...(resolved as unknown[])];
|
|
27
23
|
try {
|
|
28
24
|
const space = args.shift();
|
|
25
|
+
const leftValue = args.shift();
|
|
26
|
+
if (typeof space !== "string" || typeof leftValue !== "string") return;
|
|
27
|
+
ColorSpace.get(space);
|
|
28
|
+
const left = parse(leftValue);
|
|
29
|
+
const percentage = () => {
|
|
30
|
+
const next = args[0];
|
|
31
|
+
if (typeof next !== "string" || !next.endsWith("%")) return undefined;
|
|
32
|
+
args.shift();
|
|
33
|
+
return Number(next.slice(0, -1)) / 100;
|
|
34
|
+
};
|
|
35
|
+
let leftWeight = percentage();
|
|
36
|
+
const rightValue = args.shift();
|
|
37
|
+
if (typeof rightValue !== "string") return;
|
|
38
|
+
const right = parse(rightValue);
|
|
39
|
+
let rightWeight = percentage();
|
|
40
|
+
if (args.length) return;
|
|
29
41
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
next = args.shift();
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
if (next === undefined) {
|
|
42
|
-
if (left.spaceId !== "srgb") {
|
|
43
|
-
left = convert(left, "srgb");
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return `rgba(${(left.coords[0] ?? 0) * 255}, ${(left.coords[1] ?? 0) * 255}, ${(left.coords[2] ?? 0) * 255}, ${left.alpha})`;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (typeof next !== "string") {
|
|
42
|
+
// CSS Color 5: omitted weights are complementary, then both are normalized.
|
|
43
|
+
leftWeight ??= rightWeight === undefined ? 0.5 : 1 - rightWeight;
|
|
44
|
+
rightWeight ??= 1 - leftWeight;
|
|
45
|
+
if (
|
|
46
|
+
![leftWeight, rightWeight].every(
|
|
47
|
+
(weight) => Number.isFinite(weight) && weight >= 0 && weight <= 1,
|
|
48
|
+
)
|
|
49
|
+
)
|
|
50
50
|
return;
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
const sum = leftWeight + rightWeight;
|
|
52
|
+
if (sum === 0) return;
|
|
53
|
+
const alphaMultiplier = Math.min(sum, 1);
|
|
53
54
|
|
|
54
|
-
|
|
55
|
-
if (
|
|
56
|
-
|
|
55
|
+
let result;
|
|
56
|
+
if (right.alpha === 0 || left.alpha === 0) {
|
|
57
|
+
// A transparent endpoint contributes no premultiplied channels.
|
|
58
|
+
const source = right.alpha === 0 ? left : right;
|
|
59
|
+
const weight = right.alpha === 0 ? leftWeight : rightWeight;
|
|
60
|
+
result = convert(source, "srgb");
|
|
61
|
+
result.alpha = ((source.alpha ?? 1) * weight) / sum;
|
|
62
|
+
} else {
|
|
63
|
+
result = mix(left, right, rightWeight / sum, {
|
|
64
|
+
space,
|
|
65
|
+
outputSpace: "srgb",
|
|
66
|
+
premultiplied: true,
|
|
67
|
+
});
|
|
57
68
|
}
|
|
58
|
-
|
|
59
|
-
const result = mix(left, right, {
|
|
60
|
-
space,
|
|
61
|
-
outputSpace: "srgb",
|
|
62
|
-
});
|
|
63
|
-
|
|
69
|
+
result.alpha = (result.alpha ?? 1) * alphaMultiplier;
|
|
64
70
|
return `rgba(${(result.coords[0] ?? 0) * 255}, ${(result.coords[1] ?? 0) * 255}, ${(result.coords[2] ?? 0) * 255}, ${result.alpha})`;
|
|
65
71
|
} catch {
|
|
66
72
|
return;
|
|
@@ -62,22 +62,22 @@ export const saturate: StyleFunctionResolver = (resolveValue, value) => {
|
|
|
62
62
|
export const opacity: StyleFunctionResolver = (resolveValue, value) => {
|
|
63
63
|
const args = resolveValue(value[2]);
|
|
64
64
|
return {
|
|
65
|
-
|
|
65
|
+
opacity: (Array.isArray(args) ? args[0] : args) as unknown,
|
|
66
66
|
};
|
|
67
67
|
};
|
|
68
68
|
|
|
69
|
-
const color = ["color", "
|
|
69
|
+
const color = ["color", "color"] as const;
|
|
70
70
|
const offsetX = ["offsetX", "number"] as const;
|
|
71
71
|
const offsetY = ["offsetY", "number"] as const;
|
|
72
|
-
const
|
|
72
|
+
const standardDeviation = ["standardDeviation", "number"] as const;
|
|
73
73
|
|
|
74
74
|
const handler = shorthandHandler(
|
|
75
75
|
[
|
|
76
|
-
[offsetX, offsetY,
|
|
76
|
+
[offsetX, offsetY, standardDeviation, color],
|
|
77
77
|
[color, offsetX, offsetY],
|
|
78
|
-
[color, offsetX, offsetY,
|
|
78
|
+
[color, offsetX, offsetY, standardDeviation],
|
|
79
79
|
[offsetX, offsetY, color],
|
|
80
|
-
[offsetX, offsetY,
|
|
80
|
+
[offsetX, offsetY, standardDeviation, color],
|
|
81
81
|
],
|
|
82
82
|
[],
|
|
83
83
|
"object",
|
|
@@ -97,3 +97,17 @@ export const dropShadow: StyleFunctionResolver = (
|
|
|
97
97
|
}
|
|
98
98
|
: undefined;
|
|
99
99
|
};
|
|
100
|
+
|
|
101
|
+
/** CSS variables may expand to multiple filters; native filter arrays must be flat. */
|
|
102
|
+
export const filter: StyleFunctionResolver = (resolveValue, descriptor) => {
|
|
103
|
+
const value: unknown = resolveValue(descriptor[2]);
|
|
104
|
+
if (Array.isArray(value)) {
|
|
105
|
+
const filters: unknown[] = value.flat(Infinity);
|
|
106
|
+
return filters.filter(
|
|
107
|
+
(entry) => entry !== undefined && entry !== "initial",
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
if (value === undefined || value === "initial") return;
|
|
111
|
+
if (value === "none") return null;
|
|
112
|
+
return typeof value === "string" ? value : [value];
|
|
113
|
+
};
|
|
@@ -23,16 +23,17 @@ export const min: StyleFunctionResolver = (resolveValue, value) => {
|
|
|
23
23
|
export const clamp: StyleFunctionResolver = (resolveValue, value) => {
|
|
24
24
|
const args = resolveValue(value[2]);
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
if (!Array.isArray(args)) return;
|
|
27
|
+
|
|
28
|
+
const [minimum, preferred, maximum] = args as unknown[];
|
|
27
29
|
|
|
28
30
|
if (
|
|
29
|
-
|
|
30
|
-
typeof
|
|
31
|
-
typeof
|
|
32
|
-
typeof max !== "number"
|
|
31
|
+
typeof minimum !== "number" ||
|
|
32
|
+
typeof preferred !== "number" ||
|
|
33
|
+
typeof maximum !== "number"
|
|
33
34
|
) {
|
|
34
35
|
return;
|
|
35
36
|
}
|
|
36
37
|
|
|
37
|
-
return Math.
|
|
38
|
+
return Math.max(minimum, Math.min(preferred, maximum));
|
|
38
39
|
};
|
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
import type { StyleFunctionResolver } from "../resolve";
|
|
2
2
|
|
|
3
|
+
export const gradientPosition: StyleFunctionResolver = (
|
|
4
|
+
resolveValue,
|
|
5
|
+
value,
|
|
6
|
+
) => {
|
|
7
|
+
const position = resolveValue(value[2]);
|
|
8
|
+
return typeof position === "number" ? `${position}px` : position;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export const colorStop: StyleFunctionResolver = (resolveValue, value) => {
|
|
12
|
+
const args = resolveValue(value[2]);
|
|
13
|
+
if (!Array.isArray(args)) return args;
|
|
14
|
+
const [color, position] = args as unknown[];
|
|
15
|
+
if (typeof color !== "string") return;
|
|
16
|
+
if (position === undefined) return color;
|
|
17
|
+
if (typeof position !== "number" && typeof position !== "string") return;
|
|
18
|
+
return `${color} ${typeof position === "number" ? `${position}px` : position}`;
|
|
19
|
+
};
|
|
20
|
+
|
|
3
21
|
export const join: StyleFunctionResolver = (resolveValue, value) => {
|
|
4
22
|
const args = resolveValue(value[2]);
|
|
5
23
|
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { isStyleDescriptorArray } from "react-native-css/utilities";
|
|
2
2
|
|
|
3
3
|
import type { StyleFunctionResolver } from "../resolve";
|
|
4
|
+
import { scaleFactor } from "../scale-factor";
|
|
4
5
|
|
|
5
6
|
export const scale: StyleFunctionResolver = (resolveValue, descriptor) => {
|
|
6
7
|
const args = descriptor[2];
|
|
7
8
|
|
|
8
9
|
if (!isStyleDescriptorArray(args)) {
|
|
9
|
-
return { scale: resolveValue(args) };
|
|
10
|
+
return { scale: scaleFactor(resolveValue(args)) };
|
|
10
11
|
}
|
|
11
12
|
|
|
12
|
-
const x = resolveValue(args[0]);
|
|
13
|
-
const y = resolveValue(args[1]);
|
|
13
|
+
const x = scaleFactor(resolveValue(args[0]));
|
|
14
|
+
const y = scaleFactor(resolveValue(args[1]));
|
|
14
15
|
|
|
15
16
|
const isXValid = typeof x === "string" || typeof x === "number";
|
|
16
17
|
const isYValid = typeof y === "string" || typeof y === "number";
|
|
@@ -18,7 +19,7 @@ export const scale: StyleFunctionResolver = (resolveValue, descriptor) => {
|
|
|
18
19
|
if (isXValid && isYValid) {
|
|
19
20
|
return x === y ? { scale: x } : [{ scaleX: x }, { scaleY: y }];
|
|
20
21
|
} else if (isXValid) {
|
|
21
|
-
return {
|
|
22
|
+
return { scale: x };
|
|
22
23
|
} else if (isYValid) {
|
|
23
24
|
return { scaleY: y };
|
|
24
25
|
}
|