react-native-unistyles 3.0.0-alpha.42 → 3.0.0-alpha.44
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/lib/commonjs/components/Pressable.js +15 -5
 - package/lib/commonjs/components/Pressable.js.map +1 -1
 - package/lib/commonjs/components/Pressable.web.js +35 -17
 - package/lib/commonjs/components/Pressable.web.js.map +1 -1
 - package/lib/commonjs/web/create.js +6 -1
 - package/lib/commonjs/web/create.js.map +1 -1
 - package/lib/commonjs/web/shadowRegistry.js +49 -48
 - package/lib/commonjs/web/shadowRegistry.js.map +1 -1
 - package/lib/commonjs/web/{variants/getVariants.js → variants.js} +2 -2
 - package/lib/commonjs/web/variants.js.map +1 -0
 - package/lib/module/components/Pressable.js +15 -5
 - package/lib/module/components/Pressable.js.map +1 -1
 - package/lib/module/components/Pressable.web.js +35 -17
 - package/lib/module/components/Pressable.web.js.map +1 -1
 - package/lib/module/web/create.js +7 -2
 - package/lib/module/web/create.js.map +1 -1
 - package/lib/module/web/shadowRegistry.js +49 -48
 - package/lib/module/web/shadowRegistry.js.map +1 -1
 - package/lib/module/web/{variants/getVariants.js → variants.js} +2 -2
 - package/lib/module/web/variants.js.map +1 -0
 - package/lib/typescript/src/components/Pressable.d.ts +2 -1
 - package/lib/typescript/src/components/Pressable.d.ts.map +1 -1
 - package/lib/typescript/src/components/Pressable.web.d.ts +2 -1
 - package/lib/typescript/src/components/Pressable.web.d.ts.map +1 -1
 - package/lib/typescript/src/web/create.d.ts.map +1 -1
 - package/lib/typescript/src/web/shadowRegistry.d.ts +1 -1
 - package/lib/typescript/src/web/{variants/getVariants.d.ts → variants.d.ts} +2 -2
 - package/lib/typescript/src/web/variants.d.ts.map +1 -0
 - package/package.json +1 -1
 - package/plugin/index.js +1 -1
 - package/plugin/ref.js +1 -1
 - package/plugin/style.js +282 -99
 - package/plugin/stylesheet.js +1 -1
 - package/src/components/Pressable.tsx +24 -7
 - package/src/components/Pressable.web.tsx +54 -28
 - package/src/web/create.ts +7 -2
 - package/src/web/shadowRegistry.ts +47 -47
 - package/src/web/{variants/getVariants.ts → variants.ts} +2 -2
 - package/lib/commonjs/web/variants/getVariants.js.map +0 -1
 - package/lib/commonjs/web/variants/index.js +0 -28
 - package/lib/commonjs/web/variants/index.js.map +0 -1
 - package/lib/commonjs/web/variants/useVariants.js +0 -59
 - package/lib/commonjs/web/variants/useVariants.js.map +0 -1
 - package/lib/module/web/variants/getVariants.js.map +0 -1
 - package/lib/module/web/variants/index.js +0 -5
 - package/lib/module/web/variants/index.js.map +0 -1
 - package/lib/module/web/variants/useVariants.js +0 -54
 - package/lib/module/web/variants/useVariants.js.map +0 -1
 - package/lib/typescript/src/web/variants/getVariants.d.ts.map +0 -1
 - package/lib/typescript/src/web/variants/index.d.ts +0 -3
 - package/lib/typescript/src/web/variants/index.d.ts.map +0 -1
 - package/lib/typescript/src/web/variants/useVariants.d.ts +0 -3
 - package/lib/typescript/src/web/variants/useVariants.d.ts.map +0 -1
 - package/src/web/variants/index.ts +0 -2
 - package/src/web/variants/useVariants.ts +0 -65
 
| 
         @@ -9,9 +9,11 @@ type WebPressableState = { 
     | 
|
| 
       9 
9 
     | 
    
         
             
                focused: boolean
         
     | 
| 
       10 
10 
     | 
    
         
             
            }
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
      
 12 
     | 
    
         
            +
            type WebPressableStyle = ((state: WebPressableState) => ViewStyle) | ViewStyle
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
       12 
14 
     | 
    
         
             
            type PressableProps = Props & {
         
     | 
| 
       13 
15 
     | 
    
         
             
                variants?: Record<string, string | boolean>
         
     | 
| 
       14 
     | 
    
         
            -
                style?:  
     | 
| 
      
 16 
     | 
    
         
            +
                style?: WebPressableStyle,
         
     | 
| 
       15 
17 
     | 
    
         
             
            }
         
     | 
| 
       16 
18 
     | 
    
         | 
| 
       17 
19 
     | 
    
         
             
            const initialState: WebPressableState = {
         
     | 
| 
         @@ -29,8 +31,46 @@ const events = { 
     | 
|
| 
       29 
31 
     | 
    
         
             
                'blur': { focused: false }
         
     | 
| 
       30 
32 
     | 
    
         
             
            } satisfies Partial<Record<keyof HTMLElementEventMap, Partial<WebPressableState>>>
         
     | 
| 
       31 
33 
     | 
    
         | 
| 
      
 34 
     | 
    
         
            +
            type UpdateStylesProps = {
         
     | 
| 
      
 35 
     | 
    
         
            +
                ref: View | null,
         
     | 
| 
      
 36 
     | 
    
         
            +
                style: WebPressableStyle,
         
     | 
| 
      
 37 
     | 
    
         
            +
                variants?: Record<string, string | boolean>,
         
     | 
| 
      
 38 
     | 
    
         
            +
                state: WebPressableState
         
     | 
| 
      
 39 
     | 
    
         
            +
            }
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            const isFunctionWithBoundArgs = (fn: any): fn is Function & { getBoundArgs: Function } => {
         
     | 
| 
      
 42 
     | 
    
         
            +
                return typeof fn === 'function' && 'getBoundArgs' in fn
         
     | 
| 
      
 43 
     | 
    
         
            +
            }
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
            const extractFunctionArgs = (styleResult: any) => {
         
     | 
| 
      
 46 
     | 
    
         
            +
                return isFunctionWithBoundArgs(styleResult)
         
     | 
| 
      
 47 
     | 
    
         
            +
                    ? [styleResult.getBoundArgs()]
         
     | 
| 
      
 48 
     | 
    
         
            +
                    : Array.isArray(styleResult)
         
     | 
| 
      
 49 
     | 
    
         
            +
                        ? styleResult.map(style => isFunctionWithBoundArgs(style) ? style.getBoundArgs() : [])
         
     | 
| 
      
 50 
     | 
    
         
            +
                        : []
         
     | 
| 
      
 51 
     | 
    
         
            +
            }
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
            const extractStyleResult = (style: any) => {
         
     | 
| 
      
 54 
     | 
    
         
            +
                return typeof style === 'function'
         
     | 
| 
      
 55 
     | 
    
         
            +
                    ? [style()]
         
     | 
| 
      
 56 
     | 
    
         
            +
                    : Array.isArray(style)
         
     | 
| 
      
 57 
     | 
    
         
            +
                        ? style.map(style => typeof style === 'function' ? style() : style)
         
     | 
| 
      
 58 
     | 
    
         
            +
                        : [style]
         
     | 
| 
      
 59 
     | 
    
         
            +
            }
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
            const updateStyles = ({ ref, style, variants, state }: UpdateStylesProps) => {
         
     | 
| 
      
 62 
     | 
    
         
            +
                const styleResult = typeof style === 'function'
         
     | 
| 
      
 63 
     | 
    
         
            +
                    ? style(state)
         
     | 
| 
      
 64 
     | 
    
         
            +
                    : style
         
     | 
| 
      
 65 
     | 
    
         
            +
                const fnArgs = extractFunctionArgs(styleResult)
         
     | 
| 
      
 66 
     | 
    
         
            +
                const extractedResult = extractStyleResult(styleResult)
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
      
 68 
     | 
    
         
            +
                // @ts-expect-error - this is hidden from TS
         
     | 
| 
      
 69 
     | 
    
         
            +
                UnistylesShadowRegistry.add(ref, extractedResult, variants, fnArgs)
         
     | 
| 
      
 70 
     | 
    
         
            +
            }
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
       32 
72 
     | 
    
         
             
            export const Pressable = forwardRef<View, PressableProps>(({ variants, style, ...props }, passedRef) => {
         
     | 
| 
       33 
     | 
    
         
            -
                const storedRef = useRef<View | null>()
         
     | 
| 
      
 73 
     | 
    
         
            +
                const storedRef = useRef<View | null>(null)
         
     | 
| 
       34 
74 
     | 
    
         
             
                const state = useRef<WebPressableState>(initialState)
         
     | 
| 
       35 
75 
     | 
    
         
             
                const styleRef = useRef(style)
         
     | 
| 
       36 
76 
     | 
    
         | 
| 
         @@ -42,19 +82,12 @@ export const Pressable = forwardRef<View, PressableProps>(({ variants, style, .. 
     | 
|
| 
       42 
82 
     | 
    
         
             
                    const handler = (newState: Partial<WebPressableState>) => () => {
         
     | 
| 
       43 
83 
     | 
    
         
             
                        state.current = { ...state.current, ...newState }
         
     | 
| 
       44 
84 
     | 
    
         | 
| 
       45 
     | 
    
         
            -
                         
     | 
| 
       46 
     | 
    
         
            -
                             
     | 
| 
       47 
     | 
    
         
            -
                            : styleRef.current
         
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
                             
     | 
| 
       50 
     | 
    
         
            -
             
     | 
| 
       51 
     | 
    
         
            -
                            : []
         
     | 
| 
       52 
     | 
    
         
            -
                        const extractedResult = typeof styleResult === 'function'
         
     | 
| 
       53 
     | 
    
         
            -
                            ? (styleResult as Function)()
         
     | 
| 
       54 
     | 
    
         
            -
                            : styleResult
         
     | 
| 
       55 
     | 
    
         
            -
             
     | 
| 
       56 
     | 
    
         
            -
                        // @ts-expect-error - this is hidden from TS
         
     | 
| 
       57 
     | 
    
         
            -
                        UnistylesShadowRegistry.add(storedRef.current, [extractedResult], variants, [fnArgs])
         
     | 
| 
      
 85 
     | 
    
         
            +
                        updateStyles({
         
     | 
| 
      
 86 
     | 
    
         
            +
                            ref: storedRef.current,
         
     | 
| 
      
 87 
     | 
    
         
            +
                            style: styleRef.current as WebPressableStyle,
         
     | 
| 
      
 88 
     | 
    
         
            +
                            variants,
         
     | 
| 
      
 89 
     | 
    
         
            +
                            state: state.current
         
     | 
| 
      
 90 
     | 
    
         
            +
                        })
         
     | 
| 
       58 
91 
     | 
    
         
             
                    }
         
     | 
| 
       59 
92 
     | 
    
         | 
| 
       60 
93 
     | 
    
         
             
                    if (!storedRef.current) {
         
     | 
| 
         @@ -80,23 +113,16 @@ export const Pressable = forwardRef<View, PressableProps>(({ variants, style, .. 
     | 
|
| 
       80 
113 
     | 
    
         
             
                        {...props}
         
     | 
| 
       81 
114 
     | 
    
         
             
                        ref={ref => {
         
     | 
| 
       82 
115 
     | 
    
         
             
                            storedRef.current = ref
         
     | 
| 
       83 
     | 
    
         
            -
                             
     | 
| 
       84 
     | 
    
         
            -
                                 
     | 
| 
       85 
     | 
    
         
            -
                                : style
         
     | 
| 
       86 
     | 
    
         
            -
             
     | 
| 
       87 
     | 
    
         
            -
                                 
     | 
| 
       88 
     | 
    
         
            -
             
     | 
| 
       89 
     | 
    
         
            -
                                : []
         
     | 
| 
       90 
     | 
    
         
            -
                            const extractedResult = typeof styleResult === 'function'
         
     | 
| 
       91 
     | 
    
         
            -
                                ? (styleResult as Function)()
         
     | 
| 
       92 
     | 
    
         
            -
                                : styleResult
         
     | 
| 
      
 116 
     | 
    
         
            +
                            updateStyles({
         
     | 
| 
      
 117 
     | 
    
         
            +
                                ref,
         
     | 
| 
      
 118 
     | 
    
         
            +
                                style: style as WebPressableStyle,
         
     | 
| 
      
 119 
     | 
    
         
            +
                                variants,
         
     | 
| 
      
 120 
     | 
    
         
            +
                                state: initialState
         
     | 
| 
      
 121 
     | 
    
         
            +
                            })
         
     | 
| 
       93 
122 
     | 
    
         | 
| 
       94 
123 
     | 
    
         
             
                            if (typeof passedRef === 'object' && passedRef !== null) {
         
     | 
| 
       95 
124 
     | 
    
         
             
                                passedRef.current = ref
         
     | 
| 
       96 
125 
     | 
    
         
             
                            }
         
     | 
| 
       97 
     | 
    
         
            -
             
     | 
| 
       98 
     | 
    
         
            -
                            // @ts-expect-error - this is hidden from TS
         
     | 
| 
       99 
     | 
    
         
            -
                            UnistylesShadowRegistry.add(ref, [extractedResult], variants, [fnArgs])
         
     | 
| 
       100 
126 
     | 
    
         
             
                        }}
         
     | 
| 
       101 
127 
     | 
    
         
             
                    />
         
     | 
| 
       102 
128 
     | 
    
         
             
                )
         
     | 
    
        package/src/web/create.ts
    CHANGED
    
    | 
         @@ -3,7 +3,7 @@ import type { StyleSheetWithSuperPowers, StyleSheet } from '../types/stylesheet' 
     | 
|
| 
       3 
3 
     | 
    
         
             
            import { assignSecrets, reduceObject, getStyles, error } from './utils'
         
     | 
| 
       4 
4 
     | 
    
         
             
            import { deepMergeObjects } from '../utils'
         
     | 
| 
       5 
5 
     | 
    
         
             
            import { UnistylesRuntime } from './runtime'
         
     | 
| 
       6 
     | 
    
         
            -
            import {  
     | 
| 
      
 6 
     | 
    
         
            +
            import { getVariants } from './variants'
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
            export const create = (stylesheet: StyleSheetWithSuperPowers<StyleSheet>, id?: string) => {
         
     | 
| 
       9 
9 
     | 
    
         
             
                if (!id) {
         
     | 
| 
         @@ -46,7 +46,12 @@ export const create = (stylesheet: StyleSheetWithSuperPowers<StyleSheet>, id?: s 
     | 
|
| 
       46 
46 
     | 
    
         
             
                }) as ReactNativeStyleSheet<StyleSheet>
         
     | 
| 
       47 
47 
     | 
    
         | 
| 
       48 
48 
     | 
    
         
             
                // Inject useVariants hook to styles
         
     | 
| 
       49 
     | 
    
         
            -
                 
     | 
| 
      
 49 
     | 
    
         
            +
                Object.defineProperty(styles, 'useVariants', {
         
     | 
| 
      
 50 
     | 
    
         
            +
                    value: (variants: Record<string, string | boolean>) => {
         
     | 
| 
      
 51 
     | 
    
         
            +
                        Object.entries(variants).forEach(([key, value]) => selectedVariants.set(key, value))
         
     | 
| 
      
 52 
     | 
    
         
            +
                    },
         
     | 
| 
      
 53 
     | 
    
         
            +
                    configurable: false,
         
     | 
| 
      
 54 
     | 
    
         
            +
                })
         
     | 
| 
       50 
55 
     | 
    
         | 
| 
       51 
56 
     | 
    
         
             
                return styles
         
     | 
| 
       52 
57 
     | 
    
         
             
            }
         
     | 
| 
         @@ -21,17 +21,15 @@ class UnistylesShadowRegistryBuilder { 
     | 
|
| 
       21 
21 
     | 
    
         
             
                private hashMap = new Map<HTMLElement, string>()
         
     | 
| 
       22 
22 
     | 
    
         
             
                private classNamesMap = new Map<HTMLElement, Array<string>>()
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
     | 
    
         
            -
                add = (ref: any,  
     | 
| 
       25 
     | 
    
         
            -
                    //  
     | 
| 
       26 
     | 
    
         
            -
                    if (! 
     | 
| 
      
 24 
     | 
    
         
            +
                add = (ref: any, styles: Array<Style>, _variants: Record<string, any> | undefined, _args: Array<Array<any>>) => {
         
     | 
| 
      
 25 
     | 
    
         
            +
                    // Styles are not provided
         
     | 
| 
      
 26 
     | 
    
         
            +
                    if (!styles) {
         
     | 
| 
       27 
27 
     | 
    
         
             
                        return
         
     | 
| 
       28 
28 
     | 
    
         
             
                    }
         
     | 
| 
       29 
29 
     | 
    
         | 
| 
       30 
30 
     | 
    
         
             
                    // Ref is unmounted, remove style tags from the document
         
     | 
| 
       31 
31 
     | 
    
         
             
                    if (ref === null) {
         
     | 
| 
       32 
     | 
    
         
            -
                         
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
                        secrets.forEach(({ __uni__refs }) => {
         
     | 
| 
      
 32 
     | 
    
         
            +
                        extractSecrets(styles).forEach(({ __uni__refs }) => {
         
     | 
| 
       35 
33 
     | 
    
         
             
                            __uni__refs.forEach(ref => {
         
     | 
| 
       36 
34 
     | 
    
         
             
                                if (isInDocument(ref)) {
         
     | 
| 
       37 
35 
     | 
    
         
             
                                    return
         
     | 
| 
         @@ -55,56 +53,58 @@ class UnistylesShadowRegistryBuilder { 
     | 
|
| 
       55 
53 
     | 
    
         
             
                        return
         
     | 
| 
       56 
54 
     | 
    
         
             
                    }
         
     | 
| 
       57 
55 
     | 
    
         | 
| 
       58 
     | 
    
         
            -
                    const  
     | 
| 
       59 
     | 
    
         
            -
             
     | 
| 
       60 
     | 
    
         
            -
                    // No unistyles
         
     | 
| 
       61 
     | 
    
         
            -
                    if (styles.length === 0) {
         
     | 
| 
       62 
     | 
    
         
            -
                        return
         
     | 
| 
       63 
     | 
    
         
            -
                    }
         
     | 
| 
      
 56 
     | 
    
         
            +
                    const parsedStyles = styles.flatMap((style, styleIndex) => {
         
     | 
| 
      
 57 
     | 
    
         
            +
                        const secrets = extractSecrets(style)
         
     | 
| 
       64 
58 
     | 
    
         | 
| 
       65 
     | 
    
         
            -
             
     | 
| 
       66 
     | 
    
         
            -
                         
     | 
| 
       67 
     | 
    
         
            -
             
     | 
| 
       68 
     | 
    
         
            -
                        const style = newComputedStylesheet[__uni__key] as (UnistylesValues | ((...args: any) => UnistylesValues))
         
     | 
| 
       69 
     | 
    
         
            -
                        const variants = _variants && Object.keys(_variants).length > 0 ? _variants : __uni__variants
         
     | 
| 
       70 
     | 
    
         
            -
                        const args = _args[styleIndex] ? _args[styleIndex] : __uni__args
         
     | 
| 
       71 
     | 
    
         
            -
                        const result = typeof style === 'function'
         
     | 
| 
       72 
     | 
    
         
            -
                            ? style(...args)
         
     | 
| 
       73 
     | 
    
         
            -
                            : style
         
     | 
| 
       74 
     | 
    
         
            -
                        const { variantsResult } = Object.fromEntries(getVariants({ variantsResult: result }, variants))
         
     | 
| 
       75 
     | 
    
         
            -
                        const resultWithVariants = deepMergeObjects(result, variantsResult ?? {})
         
     | 
| 
       76 
     | 
    
         
            -
                        const dependencies = extractUnistyleDependencies(resultWithVariants)
         
     | 
| 
       77 
     | 
    
         
            -
             
     | 
| 
       78 
     | 
    
         
            -
                        if (typeof __uni__stylesheet === 'function') {
         
     | 
| 
       79 
     | 
    
         
            -
                            // Add dependencies from dynamic styles to stylesheet
         
     | 
| 
       80 
     | 
    
         
            -
                            UnistylesRegistry.addDependenciesToStylesheet(__uni__stylesheet, dependencies)
         
     | 
| 
      
 59 
     | 
    
         
            +
                        // Regular style
         
     | 
| 
      
 60 
     | 
    
         
            +
                        if (secrets.length === 0) {
         
     | 
| 
      
 61 
     | 
    
         
            +
                            return style as UnistylesValues
         
     | 
| 
       81 
62 
     | 
    
         
             
                        }
         
     | 
| 
       82 
63 
     | 
    
         | 
| 
       83 
     | 
    
         
            -
                         
     | 
| 
      
 64 
     | 
    
         
            +
                        return secrets.map(secret => {
         
     | 
| 
      
 65 
     | 
    
         
            +
                            const { __uni__key, __uni__stylesheet, __uni__variants, __uni__args = [], __uni__refs } = secret
         
     | 
| 
      
 66 
     | 
    
         
            +
                            const newComputedStylesheet = UnistylesRegistry.getComputedStylesheet(__uni__stylesheet)
         
     | 
| 
      
 67 
     | 
    
         
            +
                            const style = newComputedStylesheet[__uni__key] as (UnistylesValues | ((...args: any) => UnistylesValues))
         
     | 
| 
      
 68 
     | 
    
         
            +
                            const variants = _variants && Object.keys(_variants).length > 0 ? _variants : __uni__variants
         
     | 
| 
      
 69 
     | 
    
         
            +
                            const args = _args[styleIndex] && _args[styleIndex].length > 0 ? _args[styleIndex] : __uni__args
         
     | 
| 
      
 70 
     | 
    
         
            +
                            const result = typeof style === 'function'
         
     | 
| 
      
 71 
     | 
    
         
            +
                                ? style(...args)
         
     | 
| 
      
 72 
     | 
    
         
            +
                                : style
         
     | 
| 
      
 73 
     | 
    
         
            +
                            const { variantsResult } = Object.fromEntries(getVariants({ variantsResult: result }, variants))
         
     | 
| 
      
 74 
     | 
    
         
            +
                            const resultWithVariants = deepMergeObjects(result, variantsResult ?? {})
         
     | 
| 
      
 75 
     | 
    
         
            +
                            const dependencies = extractUnistyleDependencies(resultWithVariants)
         
     | 
| 
      
 76 
     | 
    
         
            +
                
         
     | 
| 
      
 77 
     | 
    
         
            +
                            if (typeof __uni__stylesheet === 'function') {
         
     | 
| 
      
 78 
     | 
    
         
            +
                                // Add dependencies from dynamic styles to stylesheet
         
     | 
| 
      
 79 
     | 
    
         
            +
                                UnistylesRegistry.addDependenciesToStylesheet(__uni__stylesheet, dependencies)
         
     | 
| 
      
 80 
     | 
    
         
            +
                            }
         
     | 
| 
       84 
81 
     | 
    
         | 
| 
       85 
     | 
    
         
            -
             
     | 
| 
       86 
     | 
    
         
            -
                            const hash = this.hashMap.get(ref)
         
     | 
| 
      
 82 
     | 
    
         
            +
                            __uni__refs.add(ref)
         
     | 
| 
       87 
83 
     | 
    
         | 
| 
       88 
     | 
    
         
            -
                             
     | 
| 
       89 
     | 
    
         
            -
             
     | 
| 
       90 
     | 
    
         
            -
                                dispose()
         
     | 
| 
      
 84 
     | 
    
         
            +
                            const dispose = UnistylesListener.addListeners(extractUnistyleDependencies(resultWithVariants), () => {
         
     | 
| 
      
 85 
     | 
    
         
            +
                                const hash = this.hashMap.get(ref)
         
     | 
| 
       91 
86 
     | 
    
         | 
| 
       92 
     | 
    
         
            -
                                 
     | 
| 
       93 
     | 
    
         
            -
             
     | 
| 
      
 87 
     | 
    
         
            +
                                // Dispose listener if there is no hash
         
     | 
| 
      
 88 
     | 
    
         
            +
                                if (!hash) {
         
     | 
| 
      
 89 
     | 
    
         
            +
                                    dispose()
         
     | 
| 
       94 
90 
     | 
    
         | 
| 
       95 
     | 
    
         
            -
             
     | 
| 
       96 
     | 
    
         
            -
             
     | 
| 
       97 
     | 
    
         
            -
                            const result = typeof newValue === 'function'
         
     | 
| 
       98 
     | 
    
         
            -
                                ? newValue(...args)
         
     | 
| 
       99 
     | 
    
         
            -
                                : newValue
         
     | 
| 
       100 
     | 
    
         
            -
                            const { variantsResult } = Object.fromEntries(getVariants({ variantsResult: result }, variants))
         
     | 
| 
       101 
     | 
    
         
            -
                            const resultWithVariants = deepMergeObjects(result, variantsResult ?? {})
         
     | 
| 
      
 91 
     | 
    
         
            +
                                    return
         
     | 
| 
      
 92 
     | 
    
         
            +
                                }
         
     | 
| 
       102 
93 
     | 
    
         | 
| 
       103 
     | 
    
         
            -
             
     | 
| 
       104 
     | 
    
         
            -
             
     | 
| 
      
 94 
     | 
    
         
            +
                                const newComputedStyleSheet = UnistylesRegistry.getComputedStylesheet(__uni__stylesheet)
         
     | 
| 
      
 95 
     | 
    
         
            +
                                const newValue = newComputedStyleSheet[__uni__key] as (UnistylesValues | ((...args: any) => UnistylesValues))
         
     | 
| 
      
 96 
     | 
    
         
            +
                                const result = typeof newValue === 'function'
         
     | 
| 
      
 97 
     | 
    
         
            +
                                    ? newValue(...args)
         
     | 
| 
      
 98 
     | 
    
         
            +
                                    : newValue
         
     | 
| 
      
 99 
     | 
    
         
            +
                                const { variantsResult } = Object.fromEntries(getVariants({ variantsResult: result }, variants))
         
     | 
| 
      
 100 
     | 
    
         
            +
                                const resultWithVariants = deepMergeObjects(result, variantsResult ?? {})
         
     | 
| 
      
 101 
     | 
    
         
            +
             
     | 
| 
      
 102 
     | 
    
         
            +
                                UnistylesRegistry.applyStyles(hash, convertUnistyles(resultWithVariants))
         
     | 
| 
      
 103 
     | 
    
         
            +
                            })
         
     | 
| 
       105 
104 
     | 
    
         | 
| 
       106 
     | 
    
         
            -
             
     | 
| 
       107 
     | 
    
         
            -
             
     | 
| 
      
 105 
     | 
    
         
            +
                            return resultWithVariants as UnistylesValues
         
     | 
| 
      
 106 
     | 
    
         
            +
                        })
         
     | 
| 
      
 107 
     | 
    
         
            +
                    })
         
     | 
| 
       108 
108 
     | 
    
         
             
                    const combinedStyles = deepMergeObjects(...parsedStyles)
         
     | 
| 
       109 
109 
     | 
    
         
             
                    const oldStyles = this.resultsMap.get(ref)
         
     | 
| 
       110 
110 
     | 
    
         | 
| 
         @@ -1,5 +1,5 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            import type { ReactNativeStyleSheet, StyleSheet } from ' 
     | 
| 
       2 
     | 
    
         
            -
            import { deepMergeObjects } from ' 
     | 
| 
      
 1 
     | 
    
         
            +
            import type { ReactNativeStyleSheet, StyleSheet } from '../types'
         
     | 
| 
      
 2 
     | 
    
         
            +
            import { deepMergeObjects } from '../utils'
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
4 
     | 
    
         
             
            type StylesWithVariants = {
         
     | 
| 
       5 
5 
     | 
    
         
             
                variants: Record<string, any>,
         
     | 
| 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"names":["_utils","require","hasVariants","value","getVariants","styles","selectedVariants","Object","entries","filter","_key","variants","keys","some","variant","map","key","compoundVariants","variantStyles","flatMap","selectedVariant","selectedVariantStyles","default","compoundVariantStyles","compoundVariant","conditions","String","mergedVariantStyles","deepMergeObjects","exports"],"sourceRoot":"../../../../src","sources":["web/variants/getVariants.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAQA,MAAMC,WAAW,GAAsBC,KAAkB,IAAgD,UAAU,IAAIA,KAAK,CAAC,CAAC,CAAC;AAExH,MAAMC,WAAW,GAAGA,CAACC,MAAyC,EAAEC,gBAAqC,KAAK;EAC7G,OAAOC,MAAM,CAACC,OAAO,CAACH,MAAM,CAAC,CACxBI,MAAM,CAACP,WAAW,CAAC,CACnBO,MAAM,CAAC,CAAC,CAACC,IAAI,EAAE;IAAEC;EAAS,CAAC,CAAC,KAAKJ,MAAM,CAACK,IAAI,CAACD,QAAQ,CAAC,CAACE,IAAI,CAACC,OAAO,IAAIA,OAAO,IAAIH,QAAQ,CAAC,CAAC,CAC5FI,GAAG,CAAC,CAAC,CAACC,GAAG,EAAE;IAAEL,QAAQ;IAAEM,gBAAgB,GAAG;EAAG,CAAC,CAAC,KAAK;IACjD,MAAMC,aAAa,GAAGX,MAAM,CAACC,OAAO,CAACG,QAAQ,CAAC,CAACQ,OAAO,CAAC,CAAC,CAACL,OAAO,EAAET,MAAM,CAAC,KAAK;MAC1E,MAAMe,eAAe,GAAGd,gBAAgB,CAACQ,OAAO,CAAC;MACjD,MAAMO,qBAAqB,GAAGhB,MAAM,CAACe,eAAe,CAAC,IAAIf,MAAM,CAACiB,OAAO;MAEvE,IAAI,CAACD,qBAAqB,EAAE;QACxB,OAAO,EAAE;MACb;MAEA,OAAOA,qBAAqB;IAChC,CAAC,CAAC;IAEF,MAAME,qBAAqB,GAAGN,gBAAgB,CAACE,OAAO,CAACK,eAAe,IAAI;MACtE,MAAM;QAAEnB,MAAM;QAAE,GAAGoB;MAAW,CAAC,GAAGD,eAAe;MAEjD,IAAIjB,MAAM,CAACC,OAAO,CAACiB,UAAU,CAAC,CAACZ,IAAI,CAAC,CAAC,CAACC,OAAO,EAAEX,KAAK,CAAC,KAAKuB,MAAM,CAACpB,gBAAgB,CAACQ,OAAO,CAAC,CAAC,KAAKY,MAAM,CAACvB,KAAK,CAAC,CAAC,EAAE;QAC5G,OAAO,EAAE;MACb;MAEA,OAAOE,MAAM;IACjB,CAAC,CAAC;IAEF,MAAMsB,mBAAmB,GAAG,IAAAC,uBAAgB,EAAC,GAAGV,aAAa,EAAE,GAAGK,qBAAqB,CAAC;IAExF,OAAO,CAACP,GAAG,EAAEW,mBAAmB,CAAC;EACrC,CAAC,CAAC;AACV,CAAC;AAAAE,OAAA,CAAAzB,WAAA,GAAAA,WAAA","ignoreList":[]}
         
     | 
| 
         @@ -1,28 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            "use strict";
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            Object.defineProperty(exports, "__esModule", {
         
     | 
| 
       4 
     | 
    
         
            -
              value: true
         
     | 
| 
       5 
     | 
    
         
            -
            });
         
     | 
| 
       6 
     | 
    
         
            -
            var _useVariants = require("./useVariants");
         
     | 
| 
       7 
     | 
    
         
            -
            Object.keys(_useVariants).forEach(function (key) {
         
     | 
| 
       8 
     | 
    
         
            -
              if (key === "default" || key === "__esModule") return;
         
     | 
| 
       9 
     | 
    
         
            -
              if (key in exports && exports[key] === _useVariants[key]) return;
         
     | 
| 
       10 
     | 
    
         
            -
              Object.defineProperty(exports, key, {
         
     | 
| 
       11 
     | 
    
         
            -
                enumerable: true,
         
     | 
| 
       12 
     | 
    
         
            -
                get: function () {
         
     | 
| 
       13 
     | 
    
         
            -
                  return _useVariants[key];
         
     | 
| 
       14 
     | 
    
         
            -
                }
         
     | 
| 
       15 
     | 
    
         
            -
              });
         
     | 
| 
       16 
     | 
    
         
            -
            });
         
     | 
| 
       17 
     | 
    
         
            -
            var _getVariants = require("./getVariants");
         
     | 
| 
       18 
     | 
    
         
            -
            Object.keys(_getVariants).forEach(function (key) {
         
     | 
| 
       19 
     | 
    
         
            -
              if (key === "default" || key === "__esModule") return;
         
     | 
| 
       20 
     | 
    
         
            -
              if (key in exports && exports[key] === _getVariants[key]) return;
         
     | 
| 
       21 
     | 
    
         
            -
              Object.defineProperty(exports, key, {
         
     | 
| 
       22 
     | 
    
         
            -
                enumerable: true,
         
     | 
| 
       23 
     | 
    
         
            -
                get: function () {
         
     | 
| 
       24 
     | 
    
         
            -
                  return _getVariants[key];
         
     | 
| 
       25 
     | 
    
         
            -
                }
         
     | 
| 
       26 
     | 
    
         
            -
              });
         
     | 
| 
       27 
     | 
    
         
            -
            });
         
     | 
| 
       28 
     | 
    
         
            -
            //# sourceMappingURL=index.js.map
         
     | 
| 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"names":["_useVariants","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_getVariants"],"sourceRoot":"../../../../src","sources":["web/variants/index.ts"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,YAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,YAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,YAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,YAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
         
     | 
| 
         @@ -1,59 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            "use strict";
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            Object.defineProperty(exports, "__esModule", {
         
     | 
| 
       4 
     | 
    
         
            -
              value: true
         
     | 
| 
       5 
     | 
    
         
            -
            });
         
     | 
| 
       6 
     | 
    
         
            -
            exports.createUseVariants = void 0;
         
     | 
| 
       7 
     | 
    
         
            -
            var _react = require("react");
         
     | 
| 
       8 
     | 
    
         
            -
            var _utils = require("../utils");
         
     | 
| 
       9 
     | 
    
         
            -
            var _getVariants = require("./getVariants");
         
     | 
| 
       10 
     | 
    
         
            -
            const createUseVariants = (styles, setSelectedVariants) => {
         
     | 
| 
       11 
     | 
    
         
            -
              const useVariants = selectedVariants => {
         
     | 
| 
       12 
     | 
    
         
            -
                const [selectedVariantStylesMap] = (0, _react.useState)(() => new Map());
         
     | 
| 
       13 
     | 
    
         
            -
                const lastSelectedVariantsRef = (0, _react.useRef)();
         
     | 
| 
       14 
     | 
    
         
            -
                // Variable that determines if variants have changed, and we need to recalculate styles
         
     | 
| 
       15 
     | 
    
         
            -
                const variantsChanged = !(0, _utils.equal)(lastSelectedVariantsRef.current, selectedVariants);
         
     | 
| 
       16 
     | 
    
         
            -
                if (variantsChanged) {
         
     | 
| 
       17 
     | 
    
         
            -
                  lastSelectedVariantsRef.current = selectedVariants;
         
     | 
| 
       18 
     | 
    
         
            -
                  setSelectedVariants(selectedVariants);
         
     | 
| 
       19 
     | 
    
         
            -
                }
         
     | 
| 
       20 
     | 
    
         
            -
                const combinedVariantStyles = (0, _react.useMemo)(() => {
         
     | 
| 
       21 
     | 
    
         
            -
                  const result = (0, _getVariants.getVariants)(styles, selectedVariants);
         
     | 
| 
       22 
     | 
    
         
            -
                  result.forEach(([key, value]) => {
         
     | 
| 
       23 
     | 
    
         
            -
                    selectedVariantStylesMap.set(key, value);
         
     | 
| 
       24 
     | 
    
         
            -
                  });
         
     | 
| 
       25 
     | 
    
         
            -
                  return result;
         
     | 
| 
       26 
     | 
    
         
            -
                }, [lastSelectedVariantsRef.current]);
         
     | 
| 
       27 
     | 
    
         
            -
                combinedVariantStyles.forEach(([key]) => {
         
     | 
| 
       28 
     | 
    
         
            -
                  const styleEntry = styles[key];
         
     | 
| 
       29 
     | 
    
         
            -
                  if (!styleEntry) {
         
     | 
| 
       30 
     | 
    
         
            -
                    return;
         
     | 
| 
       31 
     | 
    
         
            -
                  }
         
     | 
| 
       32 
     | 
    
         
            -
                  const selectedVariantStyles = selectedVariantStylesMap.get(key);
         
     | 
| 
       33 
     | 
    
         
            -
                  Object.defineProperties(styleEntry, (0, _utils.reduceObject)(selectedVariantStyles ?? {}, value => ({
         
     | 
| 
       34 
     | 
    
         
            -
                    value,
         
     | 
| 
       35 
     | 
    
         
            -
                    enumerable: false,
         
     | 
| 
       36 
     | 
    
         
            -
                    configurable: true
         
     | 
| 
       37 
     | 
    
         
            -
                  })));
         
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
                  // Add __uni__variants to static styles
         
     | 
| 
       40 
     | 
    
         
            -
                  Object.keys(styleEntry).forEach(key => {
         
     | 
| 
       41 
     | 
    
         
            -
                    if (!key.startsWith('__uni__secrets__')) {
         
     | 
| 
       42 
     | 
    
         
            -
                      return;
         
     | 
| 
       43 
     | 
    
         
            -
                    }
         
     | 
| 
       44 
     | 
    
         
            -
                    const secret = (0, _utils.keyInObject)(styleEntry, key) ? styleEntry[key] : undefined;
         
     | 
| 
       45 
     | 
    
         
            -
                    if (!secret) {
         
     | 
| 
       46 
     | 
    
         
            -
                      return;
         
     | 
| 
       47 
     | 
    
         
            -
                    }
         
     | 
| 
       48 
     | 
    
         
            -
                    Object.defineProperty(secret, '__uni__variants', {
         
     | 
| 
       49 
     | 
    
         
            -
                      value: selectedVariants
         
     | 
| 
       50 
     | 
    
         
            -
                    });
         
     | 
| 
       51 
     | 
    
         
            -
                  });
         
     | 
| 
       52 
     | 
    
         
            -
                });
         
     | 
| 
       53 
     | 
    
         
            -
              };
         
     | 
| 
       54 
     | 
    
         
            -
              Object.defineProperty(styles, 'useVariants', {
         
     | 
| 
       55 
     | 
    
         
            -
                value: useVariants
         
     | 
| 
       56 
     | 
    
         
            -
              });
         
     | 
| 
       57 
     | 
    
         
            -
            };
         
     | 
| 
       58 
     | 
    
         
            -
            exports.createUseVariants = createUseVariants;
         
     | 
| 
       59 
     | 
    
         
            -
            //# sourceMappingURL=useVariants.js.map
         
     | 
| 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"names":["_react","require","_utils","_getVariants","createUseVariants","styles","setSelectedVariants","useVariants","selectedVariants","selectedVariantStylesMap","useState","Map","lastSelectedVariantsRef","useRef","variantsChanged","equal","current","combinedVariantStyles","useMemo","result","getVariants","forEach","key","value","set","styleEntry","selectedVariantStyles","get","Object","defineProperties","reduceObject","enumerable","configurable","keys","startsWith","secret","keyInObject","undefined","defineProperty","exports"],"sourceRoot":"../../../../src","sources":["web/variants/useVariants.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAEO,MAAMG,iBAAiB,GAAGA,CAACC,MAAyC,EAAEC,mBAA4D,KAAK;EAC1I,MAAMC,WAAW,GAAIC,gBAAqC,IAAK;IAC3D,MAAM,CAACC,wBAAwB,CAAC,GAAG,IAAAC,eAAQ,EAAC,MAAM,IAAIC,GAAG,CAA8B,CAAC,CAAC;IACzF,MAAMC,uBAAuB,GAAG,IAAAC,aAAM,EAAsB,CAAC;IAC7D;IACA,MAAMC,eAAe,GAAG,CAAC,IAAAC,YAAK,EAACH,uBAAuB,CAACI,OAAO,EAAER,gBAAgB,CAAC;IAEjF,IAAIM,eAAe,EAAE;MACjBF,uBAAuB,CAACI,OAAO,GAAGR,gBAAgB;MAClDF,mBAAmB,CAACE,gBAAgB,CAAC;IACzC;IAEA,MAAMS,qBAAqB,GAAG,IAAAC,cAAO,EAAC,MAAM;MACxC,MAAMC,MAAM,GAAG,IAAAC,wBAAW,EAACf,MAAM,EAAEG,gBAAgB,CAAC;MAEpDW,MAAM,CAACE,OAAO,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;QAC7Bd,wBAAwB,CAACe,GAAG,CAACF,GAAG,EAAEC,KAAK,CAAC;MAC5C,CAAC,CAAC;MAEF,OAAOJ,MAAM;IACjB,CAAC,EAAE,CAACP,uBAAuB,CAACI,OAAO,CAAC,CAAC;IAErCC,qBAAqB,CAACI,OAAO,CAAC,CAAC,CAACC,GAAG,CAAC,KAAK;MACrC,MAAMG,UAAU,GAAGpB,MAAM,CAACiB,GAAG,CAAC;MAE9B,IAAI,CAACG,UAAU,EAAE;QACb;MACJ;MAEA,MAAMC,qBAAqB,GAAGjB,wBAAwB,CAACkB,GAAG,CAACL,GAAG,CAAC;MAE/DM,MAAM,CAACC,gBAAgB,CAACJ,UAAU,EAAE,IAAAK,mBAAY,EAACJ,qBAAqB,IAAI,CAAC,CAAC,EAAEH,KAAK,KAAK;QACpFA,KAAK;QACLQ,UAAU,EAAE,KAAK;QACjBC,YAAY,EAAE;MAClB,CAAC,CAAC,CAAC,CAAC;;MAEJ;MACAJ,MAAM,CAACK,IAAI,CAACR,UAAU,CAAC,CAACJ,OAAO,CAACC,GAAG,IAAI;QACnC,IAAI,CAACA,GAAG,CAACY,UAAU,CAAC,kBAAkB,CAAC,EAAE;UACrC;QACJ;QAEA,MAAMC,MAAM,GAAG,IAAAC,kBAAW,EAACX,UAAU,EAAEH,GAAG,CAAC,GAAGG,UAAU,CAACH,GAAG,CAAC,GAAGe,SAAS;QAEzE,IAAI,CAACF,MAAM,EAAE;UACT;QACJ;QAEAP,MAAM,CAACU,cAAc,CAACH,MAAM,EAAE,iBAAiB,EAAE;UAC7CZ,KAAK,EAAEf;QACX,CAAC,CAAC;MACN,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC;EAEDoB,MAAM,CAACU,cAAc,CAACjC,MAAM,EAAE,aAAa,EAAE;IACzCkB,KAAK,EAAEhB;EACX,CAAC,CAAC;AACN,CAAC;AAAAgC,OAAA,CAAAnC,iBAAA,GAAAA,iBAAA","ignoreList":[]}
         
     | 
| 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"names":["deepMergeObjects","hasVariants","value","getVariants","styles","selectedVariants","Object","entries","filter","_key","variants","keys","some","variant","map","key","compoundVariants","variantStyles","flatMap","selectedVariant","selectedVariantStyles","default","compoundVariantStyles","compoundVariant","conditions","String","mergedVariantStyles"],"sourceRoot":"../../../../src","sources":["web/variants/getVariants.ts"],"mappings":";;AACA,SAASA,gBAAgB,QAAQ,aAAa;AAQ9C,MAAMC,WAAW,GAAsBC,KAAkB,IAAgD,UAAU,IAAIA,KAAK,CAAC,CAAC,CAAC;AAE/H,OAAO,MAAMC,WAAW,GAAGA,CAACC,MAAyC,EAAEC,gBAAqC,KAAK;EAC7G,OAAOC,MAAM,CAACC,OAAO,CAACH,MAAM,CAAC,CACxBI,MAAM,CAACP,WAAW,CAAC,CACnBO,MAAM,CAAC,CAAC,CAACC,IAAI,EAAE;IAAEC;EAAS,CAAC,CAAC,KAAKJ,MAAM,CAACK,IAAI,CAACD,QAAQ,CAAC,CAACE,IAAI,CAACC,OAAO,IAAIA,OAAO,IAAIH,QAAQ,CAAC,CAAC,CAC5FI,GAAG,CAAC,CAAC,CAACC,GAAG,EAAE;IAAEL,QAAQ;IAAEM,gBAAgB,GAAG;EAAG,CAAC,CAAC,KAAK;IACjD,MAAMC,aAAa,GAAGX,MAAM,CAACC,OAAO,CAACG,QAAQ,CAAC,CAACQ,OAAO,CAAC,CAAC,CAACL,OAAO,EAAET,MAAM,CAAC,KAAK;MAC1E,MAAMe,eAAe,GAAGd,gBAAgB,CAACQ,OAAO,CAAC;MACjD,MAAMO,qBAAqB,GAAGhB,MAAM,CAACe,eAAe,CAAC,IAAIf,MAAM,CAACiB,OAAO;MAEvE,IAAI,CAACD,qBAAqB,EAAE;QACxB,OAAO,EAAE;MACb;MAEA,OAAOA,qBAAqB;IAChC,CAAC,CAAC;IAEF,MAAME,qBAAqB,GAAGN,gBAAgB,CAACE,OAAO,CAACK,eAAe,IAAI;MACtE,MAAM;QAAEnB,MAAM;QAAE,GAAGoB;MAAW,CAAC,GAAGD,eAAe;MAEjD,IAAIjB,MAAM,CAACC,OAAO,CAACiB,UAAU,CAAC,CAACZ,IAAI,CAAC,CAAC,CAACC,OAAO,EAAEX,KAAK,CAAC,KAAKuB,MAAM,CAACpB,gBAAgB,CAACQ,OAAO,CAAC,CAAC,KAAKY,MAAM,CAACvB,KAAK,CAAC,CAAC,EAAE;QAC5G,OAAO,EAAE;MACb;MAEA,OAAOE,MAAM;IACjB,CAAC,CAAC;IAEF,MAAMsB,mBAAmB,GAAG1B,gBAAgB,CAAC,GAAGiB,aAAa,EAAE,GAAGK,qBAAqB,CAAC;IAExF,OAAO,CAACP,GAAG,EAAEW,mBAAmB,CAAC;EACrC,CAAC,CAAC;AACV,CAAC","ignoreList":[]}
         
     | 
| 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["web/variants/index.ts"],"mappings":";;AAAA,cAAc,eAAe;AAC7B,cAAc,eAAe","ignoreList":[]}
         
     | 
| 
         @@ -1,54 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            "use strict";
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            import { useMemo, useRef, useState } from 'react';
         
     | 
| 
       4 
     | 
    
         
            -
            import { equal, keyInObject, reduceObject } from '../utils';
         
     | 
| 
       5 
     | 
    
         
            -
            import { getVariants } from './getVariants';
         
     | 
| 
       6 
     | 
    
         
            -
            export const createUseVariants = (styles, setSelectedVariants) => {
         
     | 
| 
       7 
     | 
    
         
            -
              const useVariants = selectedVariants => {
         
     | 
| 
       8 
     | 
    
         
            -
                const [selectedVariantStylesMap] = useState(() => new Map());
         
     | 
| 
       9 
     | 
    
         
            -
                const lastSelectedVariantsRef = useRef();
         
     | 
| 
       10 
     | 
    
         
            -
                // Variable that determines if variants have changed, and we need to recalculate styles
         
     | 
| 
       11 
     | 
    
         
            -
                const variantsChanged = !equal(lastSelectedVariantsRef.current, selectedVariants);
         
     | 
| 
       12 
     | 
    
         
            -
                if (variantsChanged) {
         
     | 
| 
       13 
     | 
    
         
            -
                  lastSelectedVariantsRef.current = selectedVariants;
         
     | 
| 
       14 
     | 
    
         
            -
                  setSelectedVariants(selectedVariants);
         
     | 
| 
       15 
     | 
    
         
            -
                }
         
     | 
| 
       16 
     | 
    
         
            -
                const combinedVariantStyles = useMemo(() => {
         
     | 
| 
       17 
     | 
    
         
            -
                  const result = getVariants(styles, selectedVariants);
         
     | 
| 
       18 
     | 
    
         
            -
                  result.forEach(([key, value]) => {
         
     | 
| 
       19 
     | 
    
         
            -
                    selectedVariantStylesMap.set(key, value);
         
     | 
| 
       20 
     | 
    
         
            -
                  });
         
     | 
| 
       21 
     | 
    
         
            -
                  return result;
         
     | 
| 
       22 
     | 
    
         
            -
                }, [lastSelectedVariantsRef.current]);
         
     | 
| 
       23 
     | 
    
         
            -
                combinedVariantStyles.forEach(([key]) => {
         
     | 
| 
       24 
     | 
    
         
            -
                  const styleEntry = styles[key];
         
     | 
| 
       25 
     | 
    
         
            -
                  if (!styleEntry) {
         
     | 
| 
       26 
     | 
    
         
            -
                    return;
         
     | 
| 
       27 
     | 
    
         
            -
                  }
         
     | 
| 
       28 
     | 
    
         
            -
                  const selectedVariantStyles = selectedVariantStylesMap.get(key);
         
     | 
| 
       29 
     | 
    
         
            -
                  Object.defineProperties(styleEntry, reduceObject(selectedVariantStyles ?? {}, value => ({
         
     | 
| 
       30 
     | 
    
         
            -
                    value,
         
     | 
| 
       31 
     | 
    
         
            -
                    enumerable: false,
         
     | 
| 
       32 
     | 
    
         
            -
                    configurable: true
         
     | 
| 
       33 
     | 
    
         
            -
                  })));
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
                  // Add __uni__variants to static styles
         
     | 
| 
       36 
     | 
    
         
            -
                  Object.keys(styleEntry).forEach(key => {
         
     | 
| 
       37 
     | 
    
         
            -
                    if (!key.startsWith('__uni__secrets__')) {
         
     | 
| 
       38 
     | 
    
         
            -
                      return;
         
     | 
| 
       39 
     | 
    
         
            -
                    }
         
     | 
| 
       40 
     | 
    
         
            -
                    const secret = keyInObject(styleEntry, key) ? styleEntry[key] : undefined;
         
     | 
| 
       41 
     | 
    
         
            -
                    if (!secret) {
         
     | 
| 
       42 
     | 
    
         
            -
                      return;
         
     | 
| 
       43 
     | 
    
         
            -
                    }
         
     | 
| 
       44 
     | 
    
         
            -
                    Object.defineProperty(secret, '__uni__variants', {
         
     | 
| 
       45 
     | 
    
         
            -
                      value: selectedVariants
         
     | 
| 
       46 
     | 
    
         
            -
                    });
         
     | 
| 
       47 
     | 
    
         
            -
                  });
         
     | 
| 
       48 
     | 
    
         
            -
                });
         
     | 
| 
       49 
     | 
    
         
            -
              };
         
     | 
| 
       50 
     | 
    
         
            -
              Object.defineProperty(styles, 'useVariants', {
         
     | 
| 
       51 
     | 
    
         
            -
                value: useVariants
         
     | 
| 
       52 
     | 
    
         
            -
              });
         
     | 
| 
       53 
     | 
    
         
            -
            };
         
     | 
| 
       54 
     | 
    
         
            -
            //# sourceMappingURL=useVariants.js.map
         
     | 
| 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"names":["useMemo","useRef","useState","equal","keyInObject","reduceObject","getVariants","createUseVariants","styles","setSelectedVariants","useVariants","selectedVariants","selectedVariantStylesMap","Map","lastSelectedVariantsRef","variantsChanged","current","combinedVariantStyles","result","forEach","key","value","set","styleEntry","selectedVariantStyles","get","Object","defineProperties","enumerable","configurable","keys","startsWith","secret","undefined","defineProperty"],"sourceRoot":"../../../../src","sources":["web/variants/useVariants.ts"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAEjD,SAASC,KAAK,EAAEC,WAAW,EAAEC,YAAY,QAAQ,UAAU;AAC3D,SAASC,WAAW,QAAQ,eAAe;AAE3C,OAAO,MAAMC,iBAAiB,GAAGA,CAACC,MAAyC,EAAEC,mBAA4D,KAAK;EAC1I,MAAMC,WAAW,GAAIC,gBAAqC,IAAK;IAC3D,MAAM,CAACC,wBAAwB,CAAC,GAAGV,QAAQ,CAAC,MAAM,IAAIW,GAAG,CAA8B,CAAC,CAAC;IACzF,MAAMC,uBAAuB,GAAGb,MAAM,CAAsB,CAAC;IAC7D;IACA,MAAMc,eAAe,GAAG,CAACZ,KAAK,CAACW,uBAAuB,CAACE,OAAO,EAAEL,gBAAgB,CAAC;IAEjF,IAAII,eAAe,EAAE;MACjBD,uBAAuB,CAACE,OAAO,GAAGL,gBAAgB;MAClDF,mBAAmB,CAACE,gBAAgB,CAAC;IACzC;IAEA,MAAMM,qBAAqB,GAAGjB,OAAO,CAAC,MAAM;MACxC,MAAMkB,MAAM,GAAGZ,WAAW,CAACE,MAAM,EAAEG,gBAAgB,CAAC;MAEpDO,MAAM,CAACC,OAAO,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;QAC7BT,wBAAwB,CAACU,GAAG,CAACF,GAAG,EAAEC,KAAK,CAAC;MAC5C,CAAC,CAAC;MAEF,OAAOH,MAAM;IACjB,CAAC,EAAE,CAACJ,uBAAuB,CAACE,OAAO,CAAC,CAAC;IAErCC,qBAAqB,CAACE,OAAO,CAAC,CAAC,CAACC,GAAG,CAAC,KAAK;MACrC,MAAMG,UAAU,GAAGf,MAAM,CAACY,GAAG,CAAC;MAE9B,IAAI,CAACG,UAAU,EAAE;QACb;MACJ;MAEA,MAAMC,qBAAqB,GAAGZ,wBAAwB,CAACa,GAAG,CAACL,GAAG,CAAC;MAE/DM,MAAM,CAACC,gBAAgB,CAACJ,UAAU,EAAElB,YAAY,CAACmB,qBAAqB,IAAI,CAAC,CAAC,EAAEH,KAAK,KAAK;QACpFA,KAAK;QACLO,UAAU,EAAE,KAAK;QACjBC,YAAY,EAAE;MAClB,CAAC,CAAC,CAAC,CAAC;;MAEJ;MACAH,MAAM,CAACI,IAAI,CAACP,UAAU,CAAC,CAACJ,OAAO,CAACC,GAAG,IAAI;QACnC,IAAI,CAACA,GAAG,CAACW,UAAU,CAAC,kBAAkB,CAAC,EAAE;UACrC;QACJ;QAEA,MAAMC,MAAM,GAAG5B,WAAW,CAACmB,UAAU,EAAEH,GAAG,CAAC,GAAGG,UAAU,CAACH,GAAG,CAAC,GAAGa,SAAS;QAEzE,IAAI,CAACD,MAAM,EAAE;UACT;QACJ;QAEAN,MAAM,CAACQ,cAAc,CAACF,MAAM,EAAE,iBAAiB,EAAE;UAC7CX,KAAK,EAAEV;QACX,CAAC,CAAC;MACN,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC;EAEDe,MAAM,CAACQ,cAAc,CAAC1B,MAAM,EAAE,aAAa,EAAE;IACzCa,KAAK,EAAEX;EACX,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
         
     | 
| 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"getVariants.d.ts","sourceRoot":"","sources":["../../../../../src/web/variants/getVariants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAWpE,eAAO,MAAM,WAAW,WAAY,qBAAqB,CAAC,UAAU,CAAC,oBAAoB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,+BA8B3G,CAAA"}
         
     | 
| 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/web/variants/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA"}
         
     | 
| 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"useVariants.d.ts","sourceRoot":"","sources":["../../../../../src/web/variants/useVariants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAIpE,eAAO,MAAM,iBAAiB,WAAY,qBAAqB,CAAC,UAAU,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,SA2DxI,CAAA"}
         
     | 
| 
         @@ -1,65 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            import { useMemo, useRef, useState } from 'react'
         
     | 
| 
       2 
     | 
    
         
            -
            import type { ReactNativeStyleSheet, StyleSheet } from '../../types'
         
     | 
| 
       3 
     | 
    
         
            -
            import { equal, keyInObject, reduceObject } from '../utils'
         
     | 
| 
       4 
     | 
    
         
            -
            import { getVariants } from './getVariants'
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            export const createUseVariants = (styles: ReactNativeStyleSheet<StyleSheet>, setSelectedVariants: (variants: Record<string, any>) => void) => {
         
     | 
| 
       7 
     | 
    
         
            -
                const useVariants = (selectedVariants: Record<string, any>) => {
         
     | 
| 
       8 
     | 
    
         
            -
                    const [selectedVariantStylesMap] = useState(() => new Map<string, Record<string, any>>())
         
     | 
| 
       9 
     | 
    
         
            -
                    const lastSelectedVariantsRef = useRef<Record<string, any>>()
         
     | 
| 
       10 
     | 
    
         
            -
                    // Variable that determines if variants have changed, and we need to recalculate styles
         
     | 
| 
       11 
     | 
    
         
            -
                    const variantsChanged = !equal(lastSelectedVariantsRef.current, selectedVariants)
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
                    if (variantsChanged) {
         
     | 
| 
       14 
     | 
    
         
            -
                        lastSelectedVariantsRef.current = selectedVariants
         
     | 
| 
       15 
     | 
    
         
            -
                        setSelectedVariants(selectedVariants)
         
     | 
| 
       16 
     | 
    
         
            -
                    }
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
                    const combinedVariantStyles = useMemo(() => {
         
     | 
| 
       19 
     | 
    
         
            -
                        const result = getVariants(styles, selectedVariants)
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
                        result.forEach(([key, value]) => {
         
     | 
| 
       22 
     | 
    
         
            -
                            selectedVariantStylesMap.set(key, value)
         
     | 
| 
       23 
     | 
    
         
            -
                        })
         
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
                        return result
         
     | 
| 
       26 
     | 
    
         
            -
                    }, [lastSelectedVariantsRef.current])
         
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
                    combinedVariantStyles.forEach(([key]) => {
         
     | 
| 
       29 
     | 
    
         
            -
                        const styleEntry = styles[key]
         
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
                        if (!styleEntry) {
         
     | 
| 
       32 
     | 
    
         
            -
                            return
         
     | 
| 
       33 
     | 
    
         
            -
                        }
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
                        const selectedVariantStyles = selectedVariantStylesMap.get(key)
         
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
                        Object.defineProperties(styleEntry, reduceObject(selectedVariantStyles ?? {}, value => ({
         
     | 
| 
       38 
     | 
    
         
            -
                            value,
         
     | 
| 
       39 
     | 
    
         
            -
                            enumerable: false,
         
     | 
| 
       40 
     | 
    
         
            -
                            configurable: true
         
     | 
| 
       41 
     | 
    
         
            -
                        })))
         
     | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
                        // Add __uni__variants to static styles
         
     | 
| 
       44 
     | 
    
         
            -
                        Object.keys(styleEntry).forEach(key => {
         
     | 
| 
       45 
     | 
    
         
            -
                            if (!key.startsWith('__uni__secrets__')) {
         
     | 
| 
       46 
     | 
    
         
            -
                                return
         
     | 
| 
       47 
     | 
    
         
            -
                            }
         
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
                            const secret = keyInObject(styleEntry, key) ? styleEntry[key] : undefined
         
     | 
| 
       50 
     | 
    
         
            -
             
     | 
| 
       51 
     | 
    
         
            -
                            if (!secret) {
         
     | 
| 
       52 
     | 
    
         
            -
                                return
         
     | 
| 
       53 
     | 
    
         
            -
                            }
         
     | 
| 
       54 
     | 
    
         
            -
             
     | 
| 
       55 
     | 
    
         
            -
                            Object.defineProperty(secret, '__uni__variants', {
         
     | 
| 
       56 
     | 
    
         
            -
                                value: selectedVariants
         
     | 
| 
       57 
     | 
    
         
            -
                            })
         
     | 
| 
       58 
     | 
    
         
            -
                        })
         
     | 
| 
       59 
     | 
    
         
            -
                    })
         
     | 
| 
       60 
     | 
    
         
            -
                }
         
     | 
| 
       61 
     | 
    
         
            -
             
     | 
| 
       62 
     | 
    
         
            -
                Object.defineProperty(styles, 'useVariants', {
         
     | 
| 
       63 
     | 
    
         
            -
                    value: useVariants
         
     | 
| 
       64 
     | 
    
         
            -
                })
         
     | 
| 
       65 
     | 
    
         
            -
            }
         
     |