@lmb-it/kitsconcerto-native 0.1.289 → 0.1.290

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.
Files changed (254) hide show
  1. package/apps/mobile/src/Core/Dropdown/index.cjs +1 -0
  2. package/apps/mobile/src/Core/Dropdown/index.cjs.map +1 -1
  3. package/apps/mobile/src/Core/Dropdown/index.js +1 -0
  4. package/apps/mobile/src/Core/Dropdown/index.js.map +1 -1
  5. package/apps/mobile/src/Core/Trees/components/CoreToolbar.cjs +1 -0
  6. package/apps/mobile/src/Core/Trees/components/CoreToolbar.cjs.map +1 -1
  7. package/apps/mobile/src/Core/Trees/components/CoreToolbar.js +1 -0
  8. package/apps/mobile/src/Core/Trees/components/CoreToolbar.js.map +1 -1
  9. package/apps/mobile/src/Factory/ResponsiveElement.cjs +1 -0
  10. package/apps/mobile/src/Factory/ResponsiveElement.cjs.map +1 -1
  11. package/apps/mobile/src/Factory/ResponsiveElement.js +1 -0
  12. package/apps/mobile/src/Factory/ResponsiveElement.js.map +1 -1
  13. package/apps/mobile/src/Factory/helpers/cssVarMap.cjs +1 -0
  14. package/apps/mobile/src/Factory/helpers/cssVarMap.cjs.map +1 -1
  15. package/apps/mobile/src/Factory/helpers/cssVarMap.js +1 -0
  16. package/apps/mobile/src/Factory/helpers/cssVarMap.js.map +1 -1
  17. package/apps/mobile/src/Factory/helpers/style.cjs +1 -0
  18. package/apps/mobile/src/Factory/helpers/style.cjs.map +1 -1
  19. package/apps/mobile/src/Factory/helpers/style.js +1 -0
  20. package/apps/mobile/src/Factory/helpers/style.js.map +1 -1
  21. package/apps/mobile/src/Factory/useSeparator.cjs +1 -0
  22. package/apps/mobile/src/Factory/useSeparator.cjs.map +1 -1
  23. package/apps/mobile/src/Factory/useSeparator.js +1 -0
  24. package/apps/mobile/src/Factory/useSeparator.js.map +1 -1
  25. package/components/Accordion/accordion.cjs +1 -0
  26. package/components/Accordion/accordion.cjs.map +1 -1
  27. package/components/Accordion/accordion.js +1 -0
  28. package/components/Accordion/accordion.js.map +1 -1
  29. package/components/Badge/index.cjs +1 -0
  30. package/components/Badge/index.cjs.map +1 -1
  31. package/components/Badge/index.js +1 -0
  32. package/components/Badge/index.js.map +1 -1
  33. package/components/BottomTabBar/index.cjs +1 -0
  34. package/components/BottomTabBar/index.cjs.map +1 -1
  35. package/components/BottomTabBar/index.js +1 -0
  36. package/components/BottomTabBar/index.js.map +1 -1
  37. package/components/Button/Button.cjs +1 -0
  38. package/components/Button/Button.cjs.map +1 -1
  39. package/components/Button/Button.js +1 -0
  40. package/components/Button/Button.js.map +1 -1
  41. package/components/MessageComposer/index.cjs +1 -0
  42. package/components/MessageComposer/index.cjs.map +1 -1
  43. package/components/MessageComposer/index.js +1 -0
  44. package/components/MessageComposer/index.js.map +1 -1
  45. package/components/SegmentedControl/index.cjs +1 -0
  46. package/components/SegmentedControl/index.cjs.map +1 -1
  47. package/components/SegmentedControl/index.js +1 -0
  48. package/components/SegmentedControl/index.js.map +1 -1
  49. package/components/SkeletonText/index.cjs +1 -0
  50. package/components/SkeletonText/index.cjs.map +1 -1
  51. package/components/SkeletonText/index.js +1 -0
  52. package/components/SkeletonText/index.js.map +1 -1
  53. package/components/Tabs/index.cjs +3 -2
  54. package/components/Tabs/index.cjs.map +1 -1
  55. package/components/Tabs/index.js +3 -2
  56. package/components/Tabs/index.js.map +1 -1
  57. package/contexts/Locale/index.cjs +1 -0
  58. package/contexts/Locale/index.cjs.map +1 -1
  59. package/contexts/Locale/index.js +1 -0
  60. package/contexts/Locale/index.js.map +1 -1
  61. package/contexts/Main/index.cjs +1 -0
  62. package/contexts/Main/index.cjs.map +1 -1
  63. package/contexts/Main/index.js +1 -0
  64. package/contexts/Main/index.js.map +1 -1
  65. package/contexts/Theme/index.cjs +1 -0
  66. package/contexts/Theme/index.cjs.map +1 -1
  67. package/contexts/Theme/index.js +1 -0
  68. package/contexts/Theme/index.js.map +1 -1
  69. package/data/DataView/Pagination/index.cjs +1 -0
  70. package/data/DataView/Pagination/index.cjs.map +1 -1
  71. package/data/DataView/Pagination/index.js +1 -0
  72. package/data/DataView/Pagination/index.js.map +1 -1
  73. package/data/TreeView/index.cjs +1 -0
  74. package/data/TreeView/index.cjs.map +1 -1
  75. package/data/TreeView/index.js +1 -0
  76. package/data/TreeView/index.js.map +1 -1
  77. package/form/controls/Checkbox/checkbox.cjs +1 -0
  78. package/form/controls/Checkbox/checkbox.cjs.map +1 -1
  79. package/form/controls/Checkbox/checkbox.js +1 -0
  80. package/form/controls/Checkbox/checkbox.js.map +1 -1
  81. package/form/controls/RadioButton/radiobutton.cjs +1 -0
  82. package/form/controls/RadioButton/radiobutton.cjs.map +1 -1
  83. package/form/controls/RadioButton/radiobutton.js +1 -0
  84. package/form/controls/RadioButton/radiobutton.js.map +1 -1
  85. package/form/controls/SelectButton/index.cjs +1 -0
  86. package/form/controls/SelectButton/index.cjs.map +1 -1
  87. package/form/controls/SelectButton/index.js +1 -0
  88. package/form/controls/SelectButton/index.js.map +1 -1
  89. package/form/controls/TriStateCheckbox/index.cjs +1 -0
  90. package/form/controls/TriStateCheckbox/index.cjs.map +1 -1
  91. package/form/controls/TriStateCheckbox/index.js +1 -0
  92. package/form/controls/TriStateCheckbox/index.js.map +1 -1
  93. package/form/file-pickers/MainUploader/index.cjs +1 -0
  94. package/form/file-pickers/MainUploader/index.cjs.map +1 -1
  95. package/form/file-pickers/MainUploader/index.js +1 -0
  96. package/form/file-pickers/MainUploader/index.js.map +1 -1
  97. package/form/helpers/ErrorMessage/errormessage.cjs +1 -0
  98. package/form/helpers/ErrorMessage/errormessage.cjs.map +1 -1
  99. package/form/helpers/ErrorMessage/errormessage.js +1 -0
  100. package/form/helpers/ErrorMessage/errormessage.js.map +1 -1
  101. package/form/helpers/FormContainer/index.cjs +1 -0
  102. package/form/helpers/FormContainer/index.cjs.map +1 -1
  103. package/form/helpers/FormContainer/index.js +1 -0
  104. package/form/helpers/FormContainer/index.js.map +1 -1
  105. package/form/helpers/Label/label.cjs +1 -0
  106. package/form/helpers/Label/label.cjs.map +1 -1
  107. package/form/helpers/Label/label.js +1 -0
  108. package/form/helpers/Label/label.js.map +1 -1
  109. package/form/inputs/InputMask/index.cjs +1 -0
  110. package/form/inputs/InputMask/index.cjs.map +1 -1
  111. package/form/inputs/InputMask/index.js +1 -0
  112. package/form/inputs/InputMask/index.js.map +1 -1
  113. package/form/inputs/InputNumber/index.cjs +1 -0
  114. package/form/inputs/InputNumber/index.cjs.map +1 -1
  115. package/form/inputs/InputNumber/index.js +1 -0
  116. package/form/inputs/InputNumber/index.js.map +1 -1
  117. package/form/inputs/InputPassword/index.cjs +1 -0
  118. package/form/inputs/InputPassword/index.cjs.map +1 -1
  119. package/form/inputs/InputPassword/index.js +1 -0
  120. package/form/inputs/InputPassword/index.js.map +1 -1
  121. package/form/inputs/InputSwitch/index.cjs +1 -0
  122. package/form/inputs/InputSwitch/index.cjs.map +1 -1
  123. package/form/inputs/InputSwitch/index.js +1 -0
  124. package/form/inputs/InputSwitch/index.js.map +1 -1
  125. package/form/inputs/InputText/index.cjs +1 -0
  126. package/form/inputs/InputText/index.cjs.map +1 -1
  127. package/form/inputs/InputText/index.js +1 -0
  128. package/form/inputs/InputText/index.js.map +1 -1
  129. package/form/inputs/InputTextarea/index.cjs +1 -0
  130. package/form/inputs/InputTextarea/index.cjs.map +1 -1
  131. package/form/inputs/InputTextarea/index.js +1 -0
  132. package/form/inputs/InputTextarea/index.js.map +1 -1
  133. package/form/inputs/PhoneInput/index.cjs +1 -0
  134. package/form/inputs/PhoneInput/index.cjs.map +1 -1
  135. package/form/inputs/PhoneInput/index.js +1 -0
  136. package/form/inputs/PhoneInput/index.js.map +1 -1
  137. package/form/inputs/RadiusPicker/components/NumericRadiusInput.cjs +1 -0
  138. package/form/inputs/RadiusPicker/components/NumericRadiusInput.cjs.map +1 -1
  139. package/form/inputs/RadiusPicker/components/NumericRadiusInput.js +1 -0
  140. package/form/inputs/RadiusPicker/components/NumericRadiusInput.js.map +1 -1
  141. package/form/selects/AutoComplete/index.cjs +1 -0
  142. package/form/selects/AutoComplete/index.cjs.map +1 -1
  143. package/form/selects/AutoComplete/index.js +1 -0
  144. package/form/selects/AutoComplete/index.js.map +1 -1
  145. package/form/selects/Dropdown/index.cjs +1 -0
  146. package/form/selects/Dropdown/index.cjs.map +1 -1
  147. package/form/selects/Dropdown/index.js +1 -0
  148. package/form/selects/Dropdown/index.js.map +1 -1
  149. package/form/selects/ListBox/index.cjs +1 -0
  150. package/form/selects/ListBox/index.cjs.map +1 -1
  151. package/form/selects/ListBox/index.js +1 -0
  152. package/form/selects/ListBox/index.js.map +1 -1
  153. package/form/selects/MultiSelect/index.cjs +1 -0
  154. package/form/selects/MultiSelect/index.cjs.map +1 -1
  155. package/form/selects/MultiSelect/index.js +1 -0
  156. package/form/selects/MultiSelect/index.js.map +1 -1
  157. package/form/selects/TreeSelect/index.cjs +1 -0
  158. package/form/selects/TreeSelect/index.cjs.map +1 -1
  159. package/form/selects/TreeSelect/index.js +1 -0
  160. package/form/selects/TreeSelect/index.js.map +1 -1
  161. package/form/selects/helpers/SelectPopupOverlay.cjs +1 -0
  162. package/form/selects/helpers/SelectPopupOverlay.cjs.map +1 -1
  163. package/form/selects/helpers/SelectPopupOverlay.js +1 -0
  164. package/form/selects/helpers/SelectPopupOverlay.js.map +1 -1
  165. package/form-renderer/components/layout/FieldWrapper.cjs +1 -0
  166. package/form-renderer/components/layout/FieldWrapper.cjs.map +1 -1
  167. package/form-renderer/components/layout/FieldWrapper.js +1 -0
  168. package/form-renderer/components/layout/FieldWrapper.js.map +1 -1
  169. package/hooks/shadowPresets.cjs +1 -0
  170. package/hooks/shadowPresets.cjs.map +1 -1
  171. package/hooks/shadowPresets.js +1 -0
  172. package/hooks/shadowPresets.js.map +1 -1
  173. package/hooks/useFocusStyles.cjs +1 -0
  174. package/hooks/useFocusStyles.cjs.map +1 -1
  175. package/hooks/useFocusStyles.js +1 -0
  176. package/hooks/useFocusStyles.js.map +1 -1
  177. package/index.cjs +2 -0
  178. package/index.cjs.map +1 -1
  179. package/index.d.ts +35 -3
  180. package/index.js +1 -0
  181. package/index.js.map +1 -1
  182. package/layout/Center/index.cjs +1 -0
  183. package/layout/Center/index.cjs.map +1 -1
  184. package/layout/Center/index.js +1 -0
  185. package/layout/Center/index.js.map +1 -1
  186. package/layout/Container/container.cjs +1 -0
  187. package/layout/Container/container.cjs.map +1 -1
  188. package/layout/Container/container.js +1 -0
  189. package/layout/Container/container.js.map +1 -1
  190. package/layout/Flex/index.cjs +1 -0
  191. package/layout/Flex/index.cjs.map +1 -1
  192. package/layout/Flex/index.js +1 -0
  193. package/layout/Flex/index.js.map +1 -1
  194. package/layout/HStack/index.cjs +1 -0
  195. package/layout/HStack/index.cjs.map +1 -1
  196. package/layout/HStack/index.js +1 -0
  197. package/layout/HStack/index.js.map +1 -1
  198. package/layout/List/index.cjs +1 -0
  199. package/layout/List/index.cjs.map +1 -1
  200. package/layout/List/index.js +1 -0
  201. package/layout/List/index.js.map +1 -1
  202. package/layout/ListItem/index.cjs +1 -0
  203. package/layout/ListItem/index.cjs.map +1 -1
  204. package/layout/ListItem/index.js +1 -0
  205. package/layout/ListItem/index.js.map +1 -1
  206. package/layout/ScrollView/index.cjs +1 -0
  207. package/layout/ScrollView/index.cjs.map +1 -1
  208. package/layout/ScrollView/index.js +1 -0
  209. package/layout/ScrollView/index.js.map +1 -1
  210. package/layout/VStack/index.cjs +1 -0
  211. package/layout/VStack/index.cjs.map +1 -1
  212. package/layout/VStack/index.js +1 -0
  213. package/layout/VStack/index.js.map +1 -1
  214. package/package.json +1 -1
  215. package/packages/types/src/Theme/resolvers.cjs +2 -55
  216. package/packages/types/src/Theme/resolvers.cjs.map +1 -1
  217. package/packages/types/src/Theme/resolvers.js +2 -55
  218. package/packages/types/src/Theme/resolvers.js.map +1 -1
  219. package/packages/types/src/Theme/semanticTokenNames.cjs +64 -0
  220. package/packages/types/src/Theme/semanticTokenNames.cjs.map +1 -0
  221. package/packages/types/src/Theme/semanticTokenNames.js +62 -0
  222. package/packages/types/src/Theme/semanticTokenNames.js.map +1 -0
  223. package/primitives/Box/index.cjs +1 -0
  224. package/primitives/Box/index.cjs.map +1 -1
  225. package/primitives/Box/index.js +1 -0
  226. package/primitives/Box/index.js.map +1 -1
  227. package/primitives/Card/index.cjs +1 -0
  228. package/primitives/Card/index.cjs.map +1 -1
  229. package/primitives/Card/index.js +1 -0
  230. package/primitives/Card/index.js.map +1 -1
  231. package/primitives/Divider/index.cjs +1 -0
  232. package/primitives/Divider/index.cjs.map +1 -1
  233. package/primitives/Divider/index.js +1 -0
  234. package/primitives/Divider/index.js.map +1 -1
  235. package/primitives/Heading/index.cjs +1 -0
  236. package/primitives/Heading/index.cjs.map +1 -1
  237. package/primitives/Heading/index.js +1 -0
  238. package/primitives/Heading/index.js.map +1 -1
  239. package/primitives/Image/index.cjs +1 -0
  240. package/primitives/Image/index.cjs.map +1 -1
  241. package/primitives/Image/index.js +1 -0
  242. package/primitives/Image/index.js.map +1 -1
  243. package/primitives/Skeleton/index.cjs +1 -0
  244. package/primitives/Skeleton/index.cjs.map +1 -1
  245. package/primitives/Skeleton/index.js +1 -0
  246. package/primitives/Skeleton/index.js.map +1 -1
  247. package/primitives/Svg/index.cjs +1 -0
  248. package/primitives/Svg/index.cjs.map +1 -1
  249. package/primitives/Svg/index.js +1 -0
  250. package/primitives/Svg/index.js.map +1 -1
  251. package/primitives/Text/index.cjs +1 -0
  252. package/primitives/Text/index.cjs.map +1 -1
  253. package/primitives/Text/index.js +1 -0
  254. package/primitives/Text/index.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ResponsiveElement.js","sources":["../../../../../../../../apps/mobile/src/Factory/ResponsiveElement.tsx"],"sourcesContent":["import React, {useMemo,} from 'react';\nimport {GestureResponderEvent, Pressable as RNPressable, ScrollView, TouchableOpacity, View} from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport type {IResponsiveElement} from '@lmb-it/kitsconcerto-types';\nimport {\n Box,\n Card,\n Center,\n Grid,\n GridItem,\n Heading,\n HStack,\n Image,\n Skeleton,\n Text,\n VStack\n} from '@lmb-it/kitsconcertomobile';\nimport {style} from './helpers/style';\nimport {useStyleContext} from './DimensionsContext';\nimport {enteringPresets, exitingPresets} from './animationPresets';\nimport {useKitsTheme} from '@lmb-it/kitsconcerto/contexts/Theme';\n\n\nconst COMPONENT_MAP: Record<string, React.ElementType<any>> = {\n Svg: View,\n List: View,\n ListItem: View,\n a: RNPressable,\n Pressable: RNPressable,\n Box,\n Image,\n Grid,\n GridItem,\n Card,\n Text,\n Heading,\n Center,\n Skeleton,\n HStack, VStack,\n ScrollView: ScrollView,\n};\n\n\n\nconst ResponsiveElement = <T,>({\n additionalStyles = {},\n additionalClasses, // ignored in native\n nativeProps,\n cssProps,\n children,\n as,\n scrollable,\n entering,\n exiting,\n ref, // directly available in React 19+\n }: React.PropsWithChildren<IResponsiveElement<T>> & { ref?: React.Ref<any> }) => {\n\n const styleCtx = useStyleContext();\n const {colorMode} = useKitsTheme();\n const combinedStyles = useMemo(() => {\n // KitsConcerto resolves `additionalStyles` (theme / component defaults)\n // and `cssProps` (CSS-prop pipeline like `bgColor`, `p`, `fontSize`)\n // into a single RN style object via `style(...)`.\n //\n // The consumer's `style` prop is then appended AS-IS — RN's own\n // style cascade flattens any shape (plain object, StyleSheet-created\n // numeric ID, or nested array) and applies it last so user-supplied\n // overrides win. Spreading `...nativeProps.style` into an object here\n // silently drops non-object values (numbers spread to nothing, arrays\n // spread numeric indices instead of merging styles).\n const base = style({ ...additionalStyles, ...cssProps }, styleCtx);\n return nativeProps?.style ? [base, nativeProps.style] : [base];\n }, [cssProps, additionalStyles, nativeProps?.style, styleCtx, colorMode]);\n\n const Component = as\n ? COMPONENT_MAP[as] || View\n : View;\n\n\n\n const isText = (typeof children === 'string' || typeof children === 'number') && (as !== 'Heading' && as !== 'Text')\n\n const hasAnimation = !!(entering || exiting);\n\n // Read animation duration/delay from cssProps (they flow through useSeparator)\n const animationDuration = cssProps?.animationDuration as number | undefined;\n const animationDelay = cssProps?.animationDelay as number | undefined;\n\n const enteringAnim = useMemo(() => {\n if (!entering) return undefined;\n let anim: any = enteringPresets[entering];\n if (animationDuration != null) anim = anim.duration(animationDuration);\n if (animationDelay != null) anim = anim.delay(animationDelay);\n return anim;\n }, [entering, animationDuration, animationDelay]);\n\n const exitingAnim = useMemo(() => {\n if (!exiting) return undefined;\n let anim: any = exitingPresets[exiting];\n if (animationDuration != null) anim = anim.duration(animationDuration);\n if (animationDelay != null) anim = anim.delay(animationDelay);\n return anim;\n }, [exiting, animationDuration, animationDelay]);\n\n /* ---- Press handling for non-Button components ---- */\n const pressHandler = ('onClick' in nativeProps ? nativeProps?.onClick : 'onPress' in nativeProps ? nativeProps?.onPress : null) as ((event: GestureResponderEvent) => void) | null;\n const hasPressHandler = typeof pressHandler === 'function';\n const isButton = as === 'Pressable' || as === 'a';\n const isImage = as === 'Image';\n\n // Strip onClick/onPress from nativeProps — View/Image don't support them\n const cleanedNativeProps = useMemo(() => {\n if (!hasPressHandler || isButton) return nativeProps;\n if (!nativeProps) return nativeProps;\n const {onClick, onPress, ...rest} = nativeProps as any;\n return rest;\n }, [nativeProps, hasPressHandler, isButton]);\n\n const touchFill = {width: '100%' as const, height: '100%' as const};\n\n let content: React.ReactElement;\n\n if (hasPressHandler && pressHandler && !isButton) {\n if (isImage) {\n // Image: wrap externally so the whole image area is tappable\n content = (\n <TouchableOpacity activeOpacity={0.7} onPress={pressHandler}>\n <Component ref={ref} {...cleanedNativeProps} style={combinedStyles} className={additionalClasses}/>\n </TouchableOpacity>\n );\n } else {\n // Box, VStack, HStack, Center, Text, etc.: inject TouchableOpacity as child\n content = (\n <TouchableOpacity activeOpacity={0.7} onPress={pressHandler} style={combinedStyles}>\n <Component\n ref={ref}\n {...cleanedNativeProps}\n // `combinedStyles` is an array — use array-spread rather than\n // object-spread. Object-spreading an array produces `{0: ..., 1: ...}`\n // garbage and RN's renderer ignores it.\n style={[...combinedStyles, {borderWidth: 0}]}\n className={additionalClasses}>\n {isText ? <Text>{children}</Text> : children}\n </Component>\n </TouchableOpacity>\n );\n }\n } else {\n content = (\n <Component ref={ref} {...nativeProps} style={combinedStyles} className={additionalClasses}>\n {isText ? <Text>{children}</Text> : children}\n </Component>\n );\n }\n\n if (scrollable) {\n return <ScrollView horizontal={as === 'HStack'}>{content}</ScrollView>;\n }\n\n if (hasAnimation) {\n return (\n <Animated.View entering={enteringAnim} exiting={exitingAnim}>\n {content}\n </Animated.View>\n );\n }\n\n return content;\n}\n\nexport default ResponsiveElement;\n"],"names":["RNPressable"],"mappings":"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"}
1
+ {"version":3,"file":"ResponsiveElement.js","sources":["../../../../../../../../apps/mobile/src/Factory/ResponsiveElement.tsx"],"sourcesContent":["import React, {useMemo,} from 'react';\nimport {GestureResponderEvent, Pressable as RNPressable, ScrollView, TouchableOpacity, View} from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport type {IResponsiveElement} from '@lmb-it/kitsconcerto-types';\nimport {\n Box,\n Card,\n Center,\n Grid,\n GridItem,\n Heading,\n HStack,\n Image,\n Skeleton,\n Text,\n VStack\n} from '@lmb-it/kitsconcertomobile';\nimport {style} from './helpers/style';\nimport {useStyleContext} from './DimensionsContext';\nimport {enteringPresets, exitingPresets} from './animationPresets';\nimport {useKitsTheme} from '@lmb-it/kitsconcerto/contexts/Theme';\n\n\nconst COMPONENT_MAP: Record<string, React.ElementType<any>> = {\n Svg: View,\n List: View,\n ListItem: View,\n a: RNPressable,\n Pressable: RNPressable,\n Box,\n Image,\n Grid,\n GridItem,\n Card,\n Text,\n Heading,\n Center,\n Skeleton,\n HStack, VStack,\n ScrollView: ScrollView,\n};\n\n\n\nconst ResponsiveElement = <T,>({\n additionalStyles = {},\n additionalClasses, // ignored in native\n nativeProps,\n cssProps,\n children,\n as,\n scrollable,\n entering,\n exiting,\n ref, // directly available in React 19+\n }: React.PropsWithChildren<IResponsiveElement<T>> & { ref?: React.Ref<any> }) => {\n\n const styleCtx = useStyleContext();\n const {colorMode} = useKitsTheme();\n const combinedStyles = useMemo(() => {\n // KitsConcerto resolves `additionalStyles` (theme / component defaults)\n // and `cssProps` (CSS-prop pipeline like `bgColor`, `p`, `fontSize`)\n // into a single RN style object via `style(...)`.\n //\n // The consumer's `style` prop is then appended AS-IS — RN's own\n // style cascade flattens any shape (plain object, StyleSheet-created\n // numeric ID, or nested array) and applies it last so user-supplied\n // overrides win. Spreading `...nativeProps.style` into an object here\n // silently drops non-object values (numbers spread to nothing, arrays\n // spread numeric indices instead of merging styles).\n const base = style({ ...additionalStyles, ...cssProps }, styleCtx);\n return nativeProps?.style ? [base, nativeProps.style] : [base];\n }, [cssProps, additionalStyles, nativeProps?.style, styleCtx, colorMode]);\n\n const Component = as\n ? COMPONENT_MAP[as] || View\n : View;\n\n\n\n const isText = (typeof children === 'string' || typeof children === 'number') && (as !== 'Heading' && as !== 'Text')\n\n const hasAnimation = !!(entering || exiting);\n\n // Read animation duration/delay from cssProps (they flow through useSeparator)\n const animationDuration = cssProps?.animationDuration as number | undefined;\n const animationDelay = cssProps?.animationDelay as number | undefined;\n\n const enteringAnim = useMemo(() => {\n if (!entering) return undefined;\n let anim: any = enteringPresets[entering];\n if (animationDuration != null) anim = anim.duration(animationDuration);\n if (animationDelay != null) anim = anim.delay(animationDelay);\n return anim;\n }, [entering, animationDuration, animationDelay]);\n\n const exitingAnim = useMemo(() => {\n if (!exiting) return undefined;\n let anim: any = exitingPresets[exiting];\n if (animationDuration != null) anim = anim.duration(animationDuration);\n if (animationDelay != null) anim = anim.delay(animationDelay);\n return anim;\n }, [exiting, animationDuration, animationDelay]);\n\n /* ---- Press handling for non-Button components ---- */\n const pressHandler = ('onClick' in nativeProps ? nativeProps?.onClick : 'onPress' in nativeProps ? nativeProps?.onPress : null) as ((event: GestureResponderEvent) => void) | null;\n const hasPressHandler = typeof pressHandler === 'function';\n const isButton = as === 'Pressable' || as === 'a';\n const isImage = as === 'Image';\n\n // Strip onClick/onPress from nativeProps — View/Image don't support them\n const cleanedNativeProps = useMemo(() => {\n if (!hasPressHandler || isButton) return nativeProps;\n if (!nativeProps) return nativeProps;\n const {onClick, onPress, ...rest} = nativeProps as any;\n return rest;\n }, [nativeProps, hasPressHandler, isButton]);\n\n const touchFill = {width: '100%' as const, height: '100%' as const};\n\n let content: React.ReactElement;\n\n if (hasPressHandler && pressHandler && !isButton) {\n if (isImage) {\n // Image: wrap externally so the whole image area is tappable\n content = (\n <TouchableOpacity activeOpacity={0.7} onPress={pressHandler}>\n <Component ref={ref} {...cleanedNativeProps} style={combinedStyles} className={additionalClasses}/>\n </TouchableOpacity>\n );\n } else {\n // Box, VStack, HStack, Center, Text, etc.: inject TouchableOpacity as child\n content = (\n <TouchableOpacity activeOpacity={0.7} onPress={pressHandler} style={combinedStyles}>\n <Component\n ref={ref}\n {...cleanedNativeProps}\n // `combinedStyles` is an array — use array-spread rather than\n // object-spread. Object-spreading an array produces `{0: ..., 1: ...}`\n // garbage and RN's renderer ignores it.\n style={[...combinedStyles, {borderWidth: 0}]}\n className={additionalClasses}>\n {isText ? <Text>{children}</Text> : children}\n </Component>\n </TouchableOpacity>\n );\n }\n } else {\n content = (\n <Component ref={ref} {...nativeProps} style={combinedStyles} className={additionalClasses}>\n {isText ? <Text>{children}</Text> : children}\n </Component>\n );\n }\n\n if (scrollable) {\n return <ScrollView horizontal={as === 'HStack'}>{content}</ScrollView>;\n }\n\n if (hasAnimation) {\n return (\n <Animated.View entering={enteringAnim} exiting={exitingAnim}>\n {content}\n </Animated.View>\n );\n }\n\n return content;\n}\n\nexport default ResponsiveElement;\n"],"names":["RNPressable"],"mappings":"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"}
@@ -8,6 +8,7 @@ require('yup');
8
8
  require('../../../../../packages/types/src/Css/map/index.cjs');
9
9
  require('../../../../../packages/types/src/Theme/shadows.cjs');
10
10
  require('../../../../../packages/types/src/Theme/defaultTheme.cjs');
11
+ require('../../../../../packages/types/src/Theme/resolvers.cjs');
11
12
  var alphaColors = require('../../../../../packages/types/src/Theme/alphaColors.cjs');
12
13
 
13
14
  const CSS_VAR_MAP = {
@@ -1 +1 @@
1
- {"version":3,"file":"cssVarMap.cjs","sources":["../../../../../../../../../apps/mobile/src/Factory/helpers/cssVarMap.ts"],"sourcesContent":["import {ALPHA_COLOR_VARS} from '@lmb-it/kitsconcerto-types';\n\n/**\n * Maps CSS variable names (stripped of var() wrapper) to resolved native color values.\n * Derived from apps/mobile/primeflex.js — the authoritative color source for native.\n *\n * Usage: when `toNativeValue()` encounters `var(--xyz)`, it strips `var()` and\n * looks up `--xyz` in this map. If found, returns the resolved value.\n */\nexport const CSS_VAR_MAP: Record<string, string> = {\n // ── Primary ───────────────────────────────────────────────────────\n '--primary-color': '#3B82F6',\n '--primary': '#3B82F6',\n '--primary-reverse': '#FFFFFF',\n\n // ── Surface (backgrounds / cards / overlays) ──────────────────────\n '--surface-ground': '#F9FAFB',\n '--surface-section': '#F3F4F6',\n '--surface-card': '#E5E7EB',\n '--surface-overlay': '#D1D5DB',\n '--surface-hover': '#9CA3AF',\n '--surface-border': '#E5E7EB',\n '--surface-0': '#F9FAFB',\n '--surface-50': '#F9FAFB',\n '--surface-100': '#F3F4F6',\n '--surface-200': '#E5E7EB',\n '--surface-300': '#D1D5DB',\n '--surface-400': '#9CA3AF',\n '--surface-500': '#6B7280',\n '--surface-600': '#4B5563',\n '--surface-700': '#374151',\n '--surface-800': '#1F2937',\n '--surface-900': '#111827',\n '--surface-f': '#F9FAFB',\n\n // ── Text colors ───────────────────────────────────────────────────\n '--text-color': '#111827',\n '--text-color-secondary': '#6B7280',\n '--text-0': '#F9FAFB',\n '--text-50': '#F9FAFB',\n '--text-100': '#F3F4F6',\n '--text-200': '#E5E7EB',\n '--text-300': '#D1D5DB',\n '--text-400': '#9CA3AF',\n '--text-500': '#6B7280',\n '--text-600': '#4B5563',\n '--text-700': '#374151',\n '--text-800': '#1F2937',\n '--text-900': '#111827',\n\n // ── Blue ──────────────────────────────────────────────────────────\n '--blue-50': '#3B82F60D',\n '--blue-100': '#3B82F61A',\n '--blue-200': '#3B82F633',\n '--blue-300': '#3B82F64D',\n '--blue-400': '#3B82F666',\n '--blue-500': '#3B82F6',\n '--blue-600': '#3B82F699',\n '--blue-700': '#3B82F6B3',\n '--blue-800': '#3B82F6CC',\n '--blue-900': '#3B82F6E6',\n\n // ── Green ─────────────────────────────────────────────────────────\n '--green-50': '#22C55E0D',\n '--green-100': '#22C55E1A',\n '--green-200': '#22C55E33',\n '--green-300': '#22C55E4D',\n '--green-400': '#22C55E66',\n '--green-500': '#22C55E',\n '--green-600': '#22C55E99',\n '--green-700': '#22C55EB3',\n '--green-800': '#22C55ECC',\n '--green-900': '#22C55EE6',\n\n // ── Yellow ────────────────────────────────────────────────────────\n '--yellow-50': '#EAB3080D',\n '--yellow-100': '#EAB3081A',\n '--yellow-200': '#EAB30833',\n '--yellow-300': '#EAB3084D',\n '--yellow-400': '#EAB30866',\n '--yellow-500': '#EAB308',\n '--yellow-600': '#EAB30899',\n '--yellow-700': '#EAB308B3',\n '--yellow-800': '#EAB308CC',\n '--yellow-900': '#EAB308E6',\n\n // ── Red ───────────────────────────────────────────────────────────\n '--red-50': '#EF44440D',\n '--red-100': '#EF44441A',\n '--red-200': '#EF444433',\n '--red-300': '#EF44444D',\n '--red-400': '#EF444466',\n '--red-500': '#EF4444',\n '--red-600': '#EF444499',\n '--red-700': '#EF4444B3',\n '--red-800': '#EF4444CC',\n '--red-900': '#EF4444E6',\n\n // ── Gray ──────────────────────────────────────────────────────────\n '--gray-50': '#9CA3AF0D',\n '--gray-100': '#9CA3AF1A',\n '--gray-200': '#9CA3AF33',\n '--gray-300': '#9CA3AF4D',\n '--gray-400': '#9CA3AF66',\n '--gray-500': '#9CA3AF',\n '--gray-600': '#9CA3AF99',\n '--gray-700': '#9CA3AFB3',\n '--gray-800': '#9CA3AFCC',\n '--gray-900': '#9CA3AFE6',\n\n // ── Purple ────────────────────────────────────────────────────────\n '--purple-50': '#8B5CF60D',\n '--purple-100': '#8B5CF61A',\n '--purple-200': '#8B5CF633',\n '--purple-300': '#8B5CF64D',\n '--purple-400': '#8B5CF666',\n '--purple-500': '#8B5CF6',\n '--purple-600': '#8B5CF699',\n '--purple-700': '#8B5CF6B3',\n '--purple-800': '#8B5CF6CC',\n '--purple-900': '#8B5CF6E6',\n\n // ── Orange ────────────────────────────────────────────────────────\n '--orange-50': '#F973160D',\n '--orange-100': '#F973161A',\n '--orange-200': '#F9731633',\n '--orange-300': '#F973164D',\n '--orange-400': '#F9731666',\n '--orange-500': '#F97316',\n '--orange-600': '#F9731699',\n '--orange-700': '#F97316B3',\n '--orange-800': '#F97316CC',\n '--orange-900': '#F97316E6',\n\n // ── Teal ──────────────────────────────────────────────────────────\n '--teal-50': '#14B8A60D',\n '--teal-100': '#14B8A61A',\n '--teal-200': '#14B8A633',\n '--teal-300': '#14B8A64D',\n '--teal-400': '#14B8A666',\n '--teal-500': '#14B8A6',\n '--teal-600': '#14B8A699',\n '--teal-700': '#14B8A6B3',\n '--teal-800': '#14B8A6CC',\n '--teal-900': '#14B8A6E6',\n\n // ── Pink ──────────────────────────────────────────────────────────\n '--pink-50': '#EC48990D',\n '--pink-100': '#EC48991A',\n '--pink-200': '#EC489933',\n '--pink-300': '#EC48994D',\n '--pink-400': '#EC489966',\n '--pink-500': '#EC4899',\n '--pink-600': '#EC489999',\n '--pink-700': '#EC4899B3',\n '--pink-800': '#EC4899CC',\n '--pink-900': '#EC4899E6',\n\n // ── Alpha overlay families (white-alpha-* / black-alpha-*) ────────\n // LITERAL rgba, identical in light and dark. Kept in sync with the\n // single source of truth (ALPHA_COLOR_VARS in @lmb-it/kitsconcerto-types),\n // spread below so this static fallback resolves them even before the\n // KitsThemeProvider installs the dynamic color map.\n ...ALPHA_COLOR_VARS,\n\n // ── Special values ────────────────────────────────────────────────\n '--white': '#FFFFFF',\n '--black': '#000000',\n '--font-family': 'System',\n};\n"],"names":["ALPHA_COLOR_VARS"],"mappings":"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"}
1
+ {"version":3,"file":"cssVarMap.cjs","sources":["../../../../../../../../../apps/mobile/src/Factory/helpers/cssVarMap.ts"],"sourcesContent":["import {ALPHA_COLOR_VARS} from '@lmb-it/kitsconcerto-types';\n\n/**\n * Maps CSS variable names (stripped of var() wrapper) to resolved native color values.\n * Derived from apps/mobile/primeflex.js — the authoritative color source for native.\n *\n * Usage: when `toNativeValue()` encounters `var(--xyz)`, it strips `var()` and\n * looks up `--xyz` in this map. If found, returns the resolved value.\n */\nexport const CSS_VAR_MAP: Record<string, string> = {\n // ── Primary ───────────────────────────────────────────────────────\n '--primary-color': '#3B82F6',\n '--primary': '#3B82F6',\n '--primary-reverse': '#FFFFFF',\n\n // ── Surface (backgrounds / cards / overlays) ──────────────────────\n '--surface-ground': '#F9FAFB',\n '--surface-section': '#F3F4F6',\n '--surface-card': '#E5E7EB',\n '--surface-overlay': '#D1D5DB',\n '--surface-hover': '#9CA3AF',\n '--surface-border': '#E5E7EB',\n '--surface-0': '#F9FAFB',\n '--surface-50': '#F9FAFB',\n '--surface-100': '#F3F4F6',\n '--surface-200': '#E5E7EB',\n '--surface-300': '#D1D5DB',\n '--surface-400': '#9CA3AF',\n '--surface-500': '#6B7280',\n '--surface-600': '#4B5563',\n '--surface-700': '#374151',\n '--surface-800': '#1F2937',\n '--surface-900': '#111827',\n '--surface-f': '#F9FAFB',\n\n // ── Text colors ───────────────────────────────────────────────────\n '--text-color': '#111827',\n '--text-color-secondary': '#6B7280',\n '--text-0': '#F9FAFB',\n '--text-50': '#F9FAFB',\n '--text-100': '#F3F4F6',\n '--text-200': '#E5E7EB',\n '--text-300': '#D1D5DB',\n '--text-400': '#9CA3AF',\n '--text-500': '#6B7280',\n '--text-600': '#4B5563',\n '--text-700': '#374151',\n '--text-800': '#1F2937',\n '--text-900': '#111827',\n\n // ── Blue ──────────────────────────────────────────────────────────\n '--blue-50': '#3B82F60D',\n '--blue-100': '#3B82F61A',\n '--blue-200': '#3B82F633',\n '--blue-300': '#3B82F64D',\n '--blue-400': '#3B82F666',\n '--blue-500': '#3B82F6',\n '--blue-600': '#3B82F699',\n '--blue-700': '#3B82F6B3',\n '--blue-800': '#3B82F6CC',\n '--blue-900': '#3B82F6E6',\n\n // ── Green ─────────────────────────────────────────────────────────\n '--green-50': '#22C55E0D',\n '--green-100': '#22C55E1A',\n '--green-200': '#22C55E33',\n '--green-300': '#22C55E4D',\n '--green-400': '#22C55E66',\n '--green-500': '#22C55E',\n '--green-600': '#22C55E99',\n '--green-700': '#22C55EB3',\n '--green-800': '#22C55ECC',\n '--green-900': '#22C55EE6',\n\n // ── Yellow ────────────────────────────────────────────────────────\n '--yellow-50': '#EAB3080D',\n '--yellow-100': '#EAB3081A',\n '--yellow-200': '#EAB30833',\n '--yellow-300': '#EAB3084D',\n '--yellow-400': '#EAB30866',\n '--yellow-500': '#EAB308',\n '--yellow-600': '#EAB30899',\n '--yellow-700': '#EAB308B3',\n '--yellow-800': '#EAB308CC',\n '--yellow-900': '#EAB308E6',\n\n // ── Red ───────────────────────────────────────────────────────────\n '--red-50': '#EF44440D',\n '--red-100': '#EF44441A',\n '--red-200': '#EF444433',\n '--red-300': '#EF44444D',\n '--red-400': '#EF444466',\n '--red-500': '#EF4444',\n '--red-600': '#EF444499',\n '--red-700': '#EF4444B3',\n '--red-800': '#EF4444CC',\n '--red-900': '#EF4444E6',\n\n // ── Gray ──────────────────────────────────────────────────────────\n '--gray-50': '#9CA3AF0D',\n '--gray-100': '#9CA3AF1A',\n '--gray-200': '#9CA3AF33',\n '--gray-300': '#9CA3AF4D',\n '--gray-400': '#9CA3AF66',\n '--gray-500': '#9CA3AF',\n '--gray-600': '#9CA3AF99',\n '--gray-700': '#9CA3AFB3',\n '--gray-800': '#9CA3AFCC',\n '--gray-900': '#9CA3AFE6',\n\n // ── Purple ────────────────────────────────────────────────────────\n '--purple-50': '#8B5CF60D',\n '--purple-100': '#8B5CF61A',\n '--purple-200': '#8B5CF633',\n '--purple-300': '#8B5CF64D',\n '--purple-400': '#8B5CF666',\n '--purple-500': '#8B5CF6',\n '--purple-600': '#8B5CF699',\n '--purple-700': '#8B5CF6B3',\n '--purple-800': '#8B5CF6CC',\n '--purple-900': '#8B5CF6E6',\n\n // ── Orange ────────────────────────────────────────────────────────\n '--orange-50': '#F973160D',\n '--orange-100': '#F973161A',\n '--orange-200': '#F9731633',\n '--orange-300': '#F973164D',\n '--orange-400': '#F9731666',\n '--orange-500': '#F97316',\n '--orange-600': '#F9731699',\n '--orange-700': '#F97316B3',\n '--orange-800': '#F97316CC',\n '--orange-900': '#F97316E6',\n\n // ── Teal ──────────────────────────────────────────────────────────\n '--teal-50': '#14B8A60D',\n '--teal-100': '#14B8A61A',\n '--teal-200': '#14B8A633',\n '--teal-300': '#14B8A64D',\n '--teal-400': '#14B8A666',\n '--teal-500': '#14B8A6',\n '--teal-600': '#14B8A699',\n '--teal-700': '#14B8A6B3',\n '--teal-800': '#14B8A6CC',\n '--teal-900': '#14B8A6E6',\n\n // ── Pink ──────────────────────────────────────────────────────────\n '--pink-50': '#EC48990D',\n '--pink-100': '#EC48991A',\n '--pink-200': '#EC489933',\n '--pink-300': '#EC48994D',\n '--pink-400': '#EC489966',\n '--pink-500': '#EC4899',\n '--pink-600': '#EC489999',\n '--pink-700': '#EC4899B3',\n '--pink-800': '#EC4899CC',\n '--pink-900': '#EC4899E6',\n\n // ── Alpha overlay families (white-alpha-* / black-alpha-*) ────────\n // LITERAL rgba, identical in light and dark. Kept in sync with the\n // single source of truth (ALPHA_COLOR_VARS in @lmb-it/kitsconcerto-types),\n // spread below so this static fallback resolves them even before the\n // KitsThemeProvider installs the dynamic color map.\n ...ALPHA_COLOR_VARS,\n\n // ── Special values ────────────────────────────────────────────────\n '--white': '#FFFFFF',\n '--black': '#000000',\n '--font-family': 'System',\n};\n"],"names":["ALPHA_COLOR_VARS"],"mappings":"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"}
@@ -6,6 +6,7 @@ import 'yup';
6
6
  import '../../../../../packages/types/src/Css/map/index.js';
7
7
  import '../../../../../packages/types/src/Theme/shadows.js';
8
8
  import '../../../../../packages/types/src/Theme/defaultTheme.js';
9
+ import '../../../../../packages/types/src/Theme/resolvers.js';
9
10
  import { ALPHA_COLOR_VARS } from '../../../../../packages/types/src/Theme/alphaColors.js';
10
11
 
11
12
  const CSS_VAR_MAP = {
@@ -1 +1 @@
1
- {"version":3,"file":"cssVarMap.js","sources":["../../../../../../../../../apps/mobile/src/Factory/helpers/cssVarMap.ts"],"sourcesContent":["import {ALPHA_COLOR_VARS} from '@lmb-it/kitsconcerto-types';\n\n/**\n * Maps CSS variable names (stripped of var() wrapper) to resolved native color values.\n * Derived from apps/mobile/primeflex.js — the authoritative color source for native.\n *\n * Usage: when `toNativeValue()` encounters `var(--xyz)`, it strips `var()` and\n * looks up `--xyz` in this map. If found, returns the resolved value.\n */\nexport const CSS_VAR_MAP: Record<string, string> = {\n // ── Primary ───────────────────────────────────────────────────────\n '--primary-color': '#3B82F6',\n '--primary': '#3B82F6',\n '--primary-reverse': '#FFFFFF',\n\n // ── Surface (backgrounds / cards / overlays) ──────────────────────\n '--surface-ground': '#F9FAFB',\n '--surface-section': '#F3F4F6',\n '--surface-card': '#E5E7EB',\n '--surface-overlay': '#D1D5DB',\n '--surface-hover': '#9CA3AF',\n '--surface-border': '#E5E7EB',\n '--surface-0': '#F9FAFB',\n '--surface-50': '#F9FAFB',\n '--surface-100': '#F3F4F6',\n '--surface-200': '#E5E7EB',\n '--surface-300': '#D1D5DB',\n '--surface-400': '#9CA3AF',\n '--surface-500': '#6B7280',\n '--surface-600': '#4B5563',\n '--surface-700': '#374151',\n '--surface-800': '#1F2937',\n '--surface-900': '#111827',\n '--surface-f': '#F9FAFB',\n\n // ── Text colors ───────────────────────────────────────────────────\n '--text-color': '#111827',\n '--text-color-secondary': '#6B7280',\n '--text-0': '#F9FAFB',\n '--text-50': '#F9FAFB',\n '--text-100': '#F3F4F6',\n '--text-200': '#E5E7EB',\n '--text-300': '#D1D5DB',\n '--text-400': '#9CA3AF',\n '--text-500': '#6B7280',\n '--text-600': '#4B5563',\n '--text-700': '#374151',\n '--text-800': '#1F2937',\n '--text-900': '#111827',\n\n // ── Blue ──────────────────────────────────────────────────────────\n '--blue-50': '#3B82F60D',\n '--blue-100': '#3B82F61A',\n '--blue-200': '#3B82F633',\n '--blue-300': '#3B82F64D',\n '--blue-400': '#3B82F666',\n '--blue-500': '#3B82F6',\n '--blue-600': '#3B82F699',\n '--blue-700': '#3B82F6B3',\n '--blue-800': '#3B82F6CC',\n '--blue-900': '#3B82F6E6',\n\n // ── Green ─────────────────────────────────────────────────────────\n '--green-50': '#22C55E0D',\n '--green-100': '#22C55E1A',\n '--green-200': '#22C55E33',\n '--green-300': '#22C55E4D',\n '--green-400': '#22C55E66',\n '--green-500': '#22C55E',\n '--green-600': '#22C55E99',\n '--green-700': '#22C55EB3',\n '--green-800': '#22C55ECC',\n '--green-900': '#22C55EE6',\n\n // ── Yellow ────────────────────────────────────────────────────────\n '--yellow-50': '#EAB3080D',\n '--yellow-100': '#EAB3081A',\n '--yellow-200': '#EAB30833',\n '--yellow-300': '#EAB3084D',\n '--yellow-400': '#EAB30866',\n '--yellow-500': '#EAB308',\n '--yellow-600': '#EAB30899',\n '--yellow-700': '#EAB308B3',\n '--yellow-800': '#EAB308CC',\n '--yellow-900': '#EAB308E6',\n\n // ── Red ───────────────────────────────────────────────────────────\n '--red-50': '#EF44440D',\n '--red-100': '#EF44441A',\n '--red-200': '#EF444433',\n '--red-300': '#EF44444D',\n '--red-400': '#EF444466',\n '--red-500': '#EF4444',\n '--red-600': '#EF444499',\n '--red-700': '#EF4444B3',\n '--red-800': '#EF4444CC',\n '--red-900': '#EF4444E6',\n\n // ── Gray ──────────────────────────────────────────────────────────\n '--gray-50': '#9CA3AF0D',\n '--gray-100': '#9CA3AF1A',\n '--gray-200': '#9CA3AF33',\n '--gray-300': '#9CA3AF4D',\n '--gray-400': '#9CA3AF66',\n '--gray-500': '#9CA3AF',\n '--gray-600': '#9CA3AF99',\n '--gray-700': '#9CA3AFB3',\n '--gray-800': '#9CA3AFCC',\n '--gray-900': '#9CA3AFE6',\n\n // ── Purple ────────────────────────────────────────────────────────\n '--purple-50': '#8B5CF60D',\n '--purple-100': '#8B5CF61A',\n '--purple-200': '#8B5CF633',\n '--purple-300': '#8B5CF64D',\n '--purple-400': '#8B5CF666',\n '--purple-500': '#8B5CF6',\n '--purple-600': '#8B5CF699',\n '--purple-700': '#8B5CF6B3',\n '--purple-800': '#8B5CF6CC',\n '--purple-900': '#8B5CF6E6',\n\n // ── Orange ────────────────────────────────────────────────────────\n '--orange-50': '#F973160D',\n '--orange-100': '#F973161A',\n '--orange-200': '#F9731633',\n '--orange-300': '#F973164D',\n '--orange-400': '#F9731666',\n '--orange-500': '#F97316',\n '--orange-600': '#F9731699',\n '--orange-700': '#F97316B3',\n '--orange-800': '#F97316CC',\n '--orange-900': '#F97316E6',\n\n // ── Teal ──────────────────────────────────────────────────────────\n '--teal-50': '#14B8A60D',\n '--teal-100': '#14B8A61A',\n '--teal-200': '#14B8A633',\n '--teal-300': '#14B8A64D',\n '--teal-400': '#14B8A666',\n '--teal-500': '#14B8A6',\n '--teal-600': '#14B8A699',\n '--teal-700': '#14B8A6B3',\n '--teal-800': '#14B8A6CC',\n '--teal-900': '#14B8A6E6',\n\n // ── Pink ──────────────────────────────────────────────────────────\n '--pink-50': '#EC48990D',\n '--pink-100': '#EC48991A',\n '--pink-200': '#EC489933',\n '--pink-300': '#EC48994D',\n '--pink-400': '#EC489966',\n '--pink-500': '#EC4899',\n '--pink-600': '#EC489999',\n '--pink-700': '#EC4899B3',\n '--pink-800': '#EC4899CC',\n '--pink-900': '#EC4899E6',\n\n // ── Alpha overlay families (white-alpha-* / black-alpha-*) ────────\n // LITERAL rgba, identical in light and dark. Kept in sync with the\n // single source of truth (ALPHA_COLOR_VARS in @lmb-it/kitsconcerto-types),\n // spread below so this static fallback resolves them even before the\n // KitsThemeProvider installs the dynamic color map.\n ...ALPHA_COLOR_VARS,\n\n // ── Special values ────────────────────────────────────────────────\n '--white': '#FFFFFF',\n '--black': '#000000',\n '--font-family': 'System',\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cssVarMap.js","sources":["../../../../../../../../../apps/mobile/src/Factory/helpers/cssVarMap.ts"],"sourcesContent":["import {ALPHA_COLOR_VARS} from '@lmb-it/kitsconcerto-types';\n\n/**\n * Maps CSS variable names (stripped of var() wrapper) to resolved native color values.\n * Derived from apps/mobile/primeflex.js — the authoritative color source for native.\n *\n * Usage: when `toNativeValue()` encounters `var(--xyz)`, it strips `var()` and\n * looks up `--xyz` in this map. If found, returns the resolved value.\n */\nexport const CSS_VAR_MAP: Record<string, string> = {\n // ── Primary ───────────────────────────────────────────────────────\n '--primary-color': '#3B82F6',\n '--primary': '#3B82F6',\n '--primary-reverse': '#FFFFFF',\n\n // ── Surface (backgrounds / cards / overlays) ──────────────────────\n '--surface-ground': '#F9FAFB',\n '--surface-section': '#F3F4F6',\n '--surface-card': '#E5E7EB',\n '--surface-overlay': '#D1D5DB',\n '--surface-hover': '#9CA3AF',\n '--surface-border': '#E5E7EB',\n '--surface-0': '#F9FAFB',\n '--surface-50': '#F9FAFB',\n '--surface-100': '#F3F4F6',\n '--surface-200': '#E5E7EB',\n '--surface-300': '#D1D5DB',\n '--surface-400': '#9CA3AF',\n '--surface-500': '#6B7280',\n '--surface-600': '#4B5563',\n '--surface-700': '#374151',\n '--surface-800': '#1F2937',\n '--surface-900': '#111827',\n '--surface-f': '#F9FAFB',\n\n // ── Text colors ───────────────────────────────────────────────────\n '--text-color': '#111827',\n '--text-color-secondary': '#6B7280',\n '--text-0': '#F9FAFB',\n '--text-50': '#F9FAFB',\n '--text-100': '#F3F4F6',\n '--text-200': '#E5E7EB',\n '--text-300': '#D1D5DB',\n '--text-400': '#9CA3AF',\n '--text-500': '#6B7280',\n '--text-600': '#4B5563',\n '--text-700': '#374151',\n '--text-800': '#1F2937',\n '--text-900': '#111827',\n\n // ── Blue ──────────────────────────────────────────────────────────\n '--blue-50': '#3B82F60D',\n '--blue-100': '#3B82F61A',\n '--blue-200': '#3B82F633',\n '--blue-300': '#3B82F64D',\n '--blue-400': '#3B82F666',\n '--blue-500': '#3B82F6',\n '--blue-600': '#3B82F699',\n '--blue-700': '#3B82F6B3',\n '--blue-800': '#3B82F6CC',\n '--blue-900': '#3B82F6E6',\n\n // ── Green ─────────────────────────────────────────────────────────\n '--green-50': '#22C55E0D',\n '--green-100': '#22C55E1A',\n '--green-200': '#22C55E33',\n '--green-300': '#22C55E4D',\n '--green-400': '#22C55E66',\n '--green-500': '#22C55E',\n '--green-600': '#22C55E99',\n '--green-700': '#22C55EB3',\n '--green-800': '#22C55ECC',\n '--green-900': '#22C55EE6',\n\n // ── Yellow ────────────────────────────────────────────────────────\n '--yellow-50': '#EAB3080D',\n '--yellow-100': '#EAB3081A',\n '--yellow-200': '#EAB30833',\n '--yellow-300': '#EAB3084D',\n '--yellow-400': '#EAB30866',\n '--yellow-500': '#EAB308',\n '--yellow-600': '#EAB30899',\n '--yellow-700': '#EAB308B3',\n '--yellow-800': '#EAB308CC',\n '--yellow-900': '#EAB308E6',\n\n // ── Red ───────────────────────────────────────────────────────────\n '--red-50': '#EF44440D',\n '--red-100': '#EF44441A',\n '--red-200': '#EF444433',\n '--red-300': '#EF44444D',\n '--red-400': '#EF444466',\n '--red-500': '#EF4444',\n '--red-600': '#EF444499',\n '--red-700': '#EF4444B3',\n '--red-800': '#EF4444CC',\n '--red-900': '#EF4444E6',\n\n // ── Gray ──────────────────────────────────────────────────────────\n '--gray-50': '#9CA3AF0D',\n '--gray-100': '#9CA3AF1A',\n '--gray-200': '#9CA3AF33',\n '--gray-300': '#9CA3AF4D',\n '--gray-400': '#9CA3AF66',\n '--gray-500': '#9CA3AF',\n '--gray-600': '#9CA3AF99',\n '--gray-700': '#9CA3AFB3',\n '--gray-800': '#9CA3AFCC',\n '--gray-900': '#9CA3AFE6',\n\n // ── Purple ────────────────────────────────────────────────────────\n '--purple-50': '#8B5CF60D',\n '--purple-100': '#8B5CF61A',\n '--purple-200': '#8B5CF633',\n '--purple-300': '#8B5CF64D',\n '--purple-400': '#8B5CF666',\n '--purple-500': '#8B5CF6',\n '--purple-600': '#8B5CF699',\n '--purple-700': '#8B5CF6B3',\n '--purple-800': '#8B5CF6CC',\n '--purple-900': '#8B5CF6E6',\n\n // ── Orange ────────────────────────────────────────────────────────\n '--orange-50': '#F973160D',\n '--orange-100': '#F973161A',\n '--orange-200': '#F9731633',\n '--orange-300': '#F973164D',\n '--orange-400': '#F9731666',\n '--orange-500': '#F97316',\n '--orange-600': '#F9731699',\n '--orange-700': '#F97316B3',\n '--orange-800': '#F97316CC',\n '--orange-900': '#F97316E6',\n\n // ── Teal ──────────────────────────────────────────────────────────\n '--teal-50': '#14B8A60D',\n '--teal-100': '#14B8A61A',\n '--teal-200': '#14B8A633',\n '--teal-300': '#14B8A64D',\n '--teal-400': '#14B8A666',\n '--teal-500': '#14B8A6',\n '--teal-600': '#14B8A699',\n '--teal-700': '#14B8A6B3',\n '--teal-800': '#14B8A6CC',\n '--teal-900': '#14B8A6E6',\n\n // ── Pink ──────────────────────────────────────────────────────────\n '--pink-50': '#EC48990D',\n '--pink-100': '#EC48991A',\n '--pink-200': '#EC489933',\n '--pink-300': '#EC48994D',\n '--pink-400': '#EC489966',\n '--pink-500': '#EC4899',\n '--pink-600': '#EC489999',\n '--pink-700': '#EC4899B3',\n '--pink-800': '#EC4899CC',\n '--pink-900': '#EC4899E6',\n\n // ── Alpha overlay families (white-alpha-* / black-alpha-*) ────────\n // LITERAL rgba, identical in light and dark. Kept in sync with the\n // single source of truth (ALPHA_COLOR_VARS in @lmb-it/kitsconcerto-types),\n // spread below so this static fallback resolves them even before the\n // KitsThemeProvider installs the dynamic color map.\n ...ALPHA_COLOR_VARS,\n\n // ── Special values ────────────────────────────────────────────────\n '--white': '#FFFFFF',\n '--black': '#000000',\n '--font-family': 'System',\n};\n"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ var index_native = require('../../../../../packages/types/src/Css/map/index.cjs'
10
10
  var index_native$1 = require('../../../../../packages/types/src/Css/constants/breakpoints/index.cjs');
11
11
  var shadows = require('../../../../../packages/types/src/Theme/shadows.cjs');
12
12
  require('../../../../../packages/types/src/Theme/defaultTheme.cjs');
13
+ require('../../../../../packages/types/src/Theme/resolvers.cjs');
13
14
  require('../../../../../packages/types/src/Theme/alphaColors.cjs');
14
15
  var cssVarMap = require('./cssVarMap.cjs');
15
16
 
@@ -1 +1 @@
1
- {"version":3,"file":"style.cjs","sources":["../../../../../../../../../apps/mobile/src/Factory/helpers/style.ts"],"sourcesContent":["import { Dimensions, Platform, type ViewStyle } from 'react-native';\nimport { breakpoints, expandShadowNative, isShadowPreset, type IStyleClasses, mapCssProperties } from '@lmb-it/kitsconcerto-types';\nimport { CSS_VAR_MAP } from './cssVarMap';\n\n// Dynamic color map — defaults to static CSS_VAR_MAP, overridden by KitsThemeProvider\nlet _activeColorMap: Record<string, string> = CSS_VAR_MAP;\n\n/** Sets the active color map (called by KitsThemeProvider on native) */\nexport function setActiveColorMap(map: Record<string, string>) {\n _activeColorMap = map;\n}\n\n/** Returns the active color map */\nexport function getActiveColorMap(): Record<string, string> {\n return _activeColorMap;\n}\n\nexport type StyleContext = {\n platform: 'ios' | 'android';\n width: number;\n height: number;\n orientation: 'portrait' | 'landscape';\n device: 'phone' | 'tablet';\n breakpoint: keyof typeof breakpoints;\n};\n\n/**\n * Strips the `var()` wrapper from a CSS variable string.\n * e.g. `var(--primary-500)` → `--primary-500`\n */\nexport const normalizeColor = (color: string): string => {\n const match = color.match(/^var\\((--[^)]+)\\)$/);\n return match ? match[1]! : color;\n};\n\n/**\n * Resolves a CSS variable `var(--xyz)` to its native hex value via the active color map.\n * Non-variable strings are returned unchanged.\n */\nexport function resolveCssVar(value: string): string {\n const varMatch = value.match(/^var\\(\\s*(--[^)]+)\\s*\\)$/);\n if (!varMatch) return value;\n const varName = varMatch[1]!;\n const resolved = _activeColorMap[varName] ?? CSS_VAR_MAP[varName];\n if (resolved != null) return resolved;\n if (__DEV__) warnUnresolvedToken(value);\n return value;\n}\n\n// ── Dev-only unresolved-token warning ──────────────────────────────────────\n// Surfaces the silent-failure class where a token is advertised by the type\n// system (ColorValue, $-prefix tokens, …) but the active theme never builds\n// it, so RN receives the raw string and renders nothing. Deduped per token\n// per session; zero cost in production (guarded by __DEV__, which bundlers\n// strip). Never changes the returned value — callers see identical behavior.\nconst _warnedTokens = new Set<string>();\n\nfunction warnUnresolvedToken(token: string): void {\n if (_warnedTokens.has(token)) return;\n _warnedTokens.add(token);\n // eslint-disable-next-line no-console\n console.warn(`[KitsConcerto] Unresolved theme token: \"${token}\"`);\n}\n\n// Only warn for strings that clearly *intended* to be a token — otherwise\n// `toNativeValue` (which runs this on every style string) would warn on plain\n// CSS keywords like 'flex-start', 'row-reverse', '50%'. `var(--x)` is handled\n// by resolveCssVar, not here.\nfunction looksLikeUnresolvedToken(v: string): boolean {\n return (\n /^[a-zA-Z]+\\.\\d+$/.test(v) || // dot-notation: blue.500\n v.startsWith('$') || // $spacing.4, $radii.lg\n /-alpha-\\d+$/.test(v) // white-alpha-60 / black-alpha-90\n );\n}\n\n/**\n * Resolves theme tokens (dot-notation, semantic, $-prefixed) to native values.\n * - 'blue.500' → lookup --kits-blue-500 in color map\n * - 'primary' → lookup --kits-primary in color map\n * - '$spacing.4' → '1rem' (then further converted by toNativeValue)\n */\nexport function resolveThemeTokenForNative(value: string): string {\n // Dot-notation: blue.500\n const dotMatch = value.match(/^([a-zA-Z]+)\\.(\\d+)$/);\n if (dotMatch) {\n const varName = `--kits-${dotMatch[1]}-${dotMatch[2]}`;\n return _activeColorMap[varName] ?? value;\n }\n\n // $-prefixed tokens: $spacing.4, $radii.lg, etc.\n if (value.startsWith('$')) {\n const dotIdx = value.indexOf('.');\n if (dotIdx > 1) {\n const category = value.substring(1, dotIdx);\n const key = value.substring(dotIdx + 1);\n switch (category) {\n case 'spacing': {\n const varName = `--kits-space-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n case 'radii': {\n const varName = `--kits-radii-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n case 'shadows': {\n const varName = `--kits-shadow-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n case 'fontSizes': {\n const varName = `--kits-fontSize-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n case 'fonts': {\n const varName = `--kits-font-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n }\n }\n }\n\n // Semantic tokens: 'primary', 'danger', etc.\n // Also resolves alpha families ('white-alpha-60' → '--kits-white-alpha-60',\n // built into the color map from ALPHA_COLOR_VARS on both platforms).\n const semanticVarName = `--kits-${value}`;\n if (_activeColorMap[semanticVarName]) {\n return _activeColorMap[semanticVarName]!;\n }\n\n // Unresolved token-shaped string: surface it in dev, return unchanged.\n if (__DEV__ && looksLikeUnresolvedToken(value)) warnUnresolvedToken(value);\n\n return value;\n}\nexport function createStyleContext(): StyleContext {\n const { width, height } = Dimensions.get('window');\n\n const orientation = width > height ? 'landscape' : 'portrait';\n const device = Math.min(width, height) >= 768 ? 'tablet' : 'phone';\n\n return {\n platform: Platform.OS as 'ios' | 'android',\n width,\n height,\n orientation,\n device,\n breakpoint: getCurrentBreakpoint(width),\n };\n}\nexport const getCurrentBreakpoint = (\n width: number\n): keyof typeof breakpoints => {\n const entries = Object.entries(breakpoints)\n .sort((a, b) => b[1] - a[1]);\n\n for (const [key, value] of entries) {\n if (width >= value) return key as keyof typeof breakpoints;\n }\n return 'base';\n};\n\nconst breakpointOrder: (keyof typeof breakpoints)[] = [\n 'base',\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n 'xxl',\n 'xxxl',\n];\n\n// ---------------------------------------------------------------------------\n// CSS unit → React Native value conversion\n// RN only accepts numbers (dp) or percentage strings for most layout props.\n// 1rem = 16dp baseline, 1em = 16dp baseline, px is stripped to a number.\n// Percentages (e.g. \"50%\") are passed through — RN supports them for dimensions.\n// CSS variables var(--*) are resolved via CSS_VAR_MAP to their native values.\n// ---------------------------------------------------------------------------\nexport function toNativeValue(value: any): any {\n if (typeof value !== 'string') return value;\n if (value === '0') return 0;\n\n // Theme token resolution: 'blue.500', 'primary', '$spacing.4',\n // 'on-primary', 'surface-subtle', and any other consumer-declared\n // semantic token.\n //\n // We try resolution UNCONDITIONALLY on every string value — the old\n // `isThemeToken(value)` gate only recognised the 15 built-in semantic\n // names hardcoded in the types package, so consumer-extended tokens\n // (registered via `extendTheme({ semanticTokens: {...} })`) silently\n // fell through to RN as raw strings and rendered as invalid colors.\n //\n // `resolveThemeTokenForNative` is a safe no-op when the input isn't\n // in the active color map: it returns the input unchanged, so CSS\n // keywords like 'flex-start' / 'row-reverse' / 'space-between' and\n // layout strings pass through without side effects.\n const resolvedToken = resolveThemeTokenForNative(value);\n if (resolvedToken !== value) return toNativeValue(resolvedToken);\n\n // CSS variable resolution: var(--xyz) → resolved hex color or value\n if (value.startsWith('var(')) {\n const resolved = resolveCssVar(value);\n // If resolution returned something different, recurse (it might be a rem value etc.)\n return resolved !== value ? toNativeValue(resolved) : value;\n }\n\n // rem → number (1rem = 16dp)\n const remMatch = value.match(/^(-?\\d*\\.?\\d+)rem$/);\n if (remMatch) return parseFloat(remMatch[1]!) * 16;\n\n // em → number (1em = 16dp baseline)\n const emMatch = value.match(/^(-?\\d*\\.?\\d+)em$/);\n if (emMatch) return parseFloat(emMatch[1]!) * 16;\n\n // px → number\n const pxMatch = value.match(/^(-?\\d*\\.?\\d+)px$/);\n if (pxMatch) return parseFloat(pxMatch[1]!);\n\n // pc (pica) → number (1pc = 12pt = 16dp)\n const pcMatch = value.match(/^(-?\\d*\\.?\\d+)pc$/);\n if (pcMatch) return parseFloat(pcMatch[1]!) * 16;\n\n // pure number string → number\n const numMatch = value.match(/^(-?\\d*\\.?\\d+)$/);\n if (numMatch) return parseFloat(numMatch[1]!);\n\n // Percentage strings, keywords, colors — pass through\n return value;\n}\n\ntype ParsedBorder = {\n borderWidth?: number;\n borderStyle?: 'solid' | 'dotted' | 'dashed';\n borderColor?: string;\n};\n\nconst BORDER_STYLES = [\"solid\", \"dashed\", \"dotted\", \"double\", \"groove\", \"ridge\", \"inset\", \"outset\"];\n\n// Extract numeric border width, with rem/em/px unit conversion\nfunction extractBorderWidth(part: string): number | undefined {\n // rem\n const remMatch = part.match(/^(\\d+(\\.\\d+)?)rem$/);\n if (remMatch) return parseFloat(remMatch[1]!) * 16;\n // em\n const emMatch = part.match(/^(\\d+(\\.\\d+)?)em$/);\n if (emMatch) return parseFloat(emMatch[1]!) * 16;\n // px or bare number\n const match = part.match(/^(\\d+(\\.\\d+)?)(px)?$/);\n if (!match) return undefined;\n const n = Number(match[1]);\n return Number.isFinite(n) ? n : undefined;\n}\n\nconst parseBorder = (value: string): ParsedBorder => {\n if (!value || typeof value !== \"string\") return {};\n\n const parts = value.trim().split(/\\s+/);\n\n let borderWidth: number | undefined;\n let borderStyle: \"solid\" | \"dotted\" | \"dashed\" | undefined;\n let borderColor: string | undefined;\n\n for (const part of parts) {\n // Detect width (e.g., \"1px\", \"2rem\", \"0.5em\", \"0\", \"5\", etc.)\n if (!borderWidth && /^(\\d+(\\.\\d+)?(px|em|rem|%)?)$/.test(part)) {\n const extracted = extractBorderWidth(part);\n if (extracted !== undefined) {\n borderWidth = extracted;\n continue;\n }\n continue;\n }\n\n // Detect style\n if (!borderStyle && BORDER_STYLES.includes(part)) {\n borderStyle = part as \"solid\" | \"dotted\" | \"dashed\";\n continue;\n }\n\n // Detect color (hex, rgb, rgba, hsl, named colors — not CSS vars)\n if (\n !borderColor &&\n (/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(part) ||\n /^rgb(a)?\\(/.test(part) ||\n /^hsl(a)?\\(/.test(part) ||\n /^[a-zA-Z]+$/.test(part))\n ) {\n borderColor = part;\n }\n }\n\n return { borderWidth, borderStyle, borderColor };\n};\n\nconst isPrimitive = (v: any) =>\n typeof v === 'number' || typeof v === 'string';\n\nexport function resolveResponsiveValue<T>(\n input: any,\n ctx: StyleContext\n): T | undefined {\n\n // 1. Direct value\n if (input == null || isPrimitive(input)) {\n return input as T;\n }\n\n // 2. Array syntax — cascade like CSS: find the last defined value at or\n // before the current breakpoint index, matching web's min-width cascade.\n if (Array.isArray(input)) {\n const index = breakpointOrder.indexOf(ctx.breakpoint);\n for (let i = index; i >= 0; i--) {\n const val = input[i];\n if (val !== null && val !== undefined) return val as T;\n }\n return undefined;\n }\n\n // 3. Platform\n if (ctx.platform in input) {\n return resolveResponsiveValue(input[ctx.platform], ctx);\n }\n\n // 4. Device\n if (ctx.device in input) {\n return resolveResponsiveValue(input[ctx.device], ctx);\n }\n\n // 5. Orientation\n if (ctx.orientation in input) {\n return resolveResponsiveValue(input[ctx.orientation], ctx);\n }\n\n // 6. Breakpoints (fallback chain)\n for (\n let i = breakpointOrder.indexOf(ctx.breakpoint);\n i >= 0;\n i--\n ) {\n const bp = breakpointOrder[i];\n if (bp && bp in input) return input[bp];\n }\n\n return undefined;\n}\n\nconst resolveSizing = (value: any, key: string, ctx: StyleContext) => {\n if (value === 'full') return '100%';\n if (value === 'screen') {\n const isH = key === 'h' || key === 'height' || key === 'minH' || key === 'maxH';\n return isH ? ctx.height : ctx.width;\n }\n return toNativeValue(value);\n};\n\nconst parseBorderSide = (resolved: string, side: string): Record<string, any> => {\n const parsed = parseBorder(resolved);\n const styles: Record<string, any> = {};\n if (parsed.borderWidth !== undefined) styles[`${side}Width`] = parsed.borderWidth;\n if (parsed.borderColor) styles[`${side}Color`] = parsed.borderColor;\n if (parsed.borderStyle) styles[`${side}Style`] = parsed.borderStyle;\n return styles;\n};\n\nexport const style = (props: IStyleClasses, externalCtx?: StyleContext) => {\n const ctx = externalCtx ?? createStyleContext();\n const finalStyles: Partial<ViewStyle> = {};\n const transforms: { [key: string]: any }[] = [];\n const apply = (key: string, value: any) => {\n const mapped = mapCssProperties[key];\n if (!mapped) return;\n const converted = toNativeValue(value);\n (finalStyles as Record<string, any>)[mapped] = converted;\n };\n\n Object.entries(props).forEach(([key, val]) => {\n if (val === undefined || key.startsWith('_')) return;\n\n const resolved = resolveResponsiveValue<any>(val, ctx);\n if (resolved === undefined) return;\n\n switch (key) {\n // Margin shorthands\n case 'mx':\n finalStyles.marginLeft = toNativeValue(resolved);\n finalStyles.marginRight = toNativeValue(resolved);\n break;\n case 'my':\n finalStyles.marginTop = toNativeValue(resolved);\n finalStyles.marginBottom = toNativeValue(resolved);\n break;\n\n // Padding shorthands\n case 'px':\n finalStyles.paddingLeft = toNativeValue(resolved);\n finalStyles.paddingRight = toNativeValue(resolved);\n break;\n case 'py':\n finalStyles.paddingTop = toNativeValue(resolved);\n finalStyles.paddingBottom = toNativeValue(resolved);\n break;\n\n // Sizing with \"full\"/\"screen\" support\n case 'w':\n case 'width':\n finalStyles.width = resolveSizing(resolved, key, ctx);\n break;\n case 'h':\n case 'height':\n finalStyles.height = resolveSizing(resolved, key, ctx);\n break;\n case 'minW':\n case 'minWidth':\n finalStyles.minWidth = resolveSizing(resolved, key, ctx);\n break;\n case 'maxW':\n case 'maxWidth':\n finalStyles.maxWidth = resolveSizing(resolved, key, ctx);\n break;\n case 'minH':\n case 'minHeight':\n finalStyles.minHeight = resolveSizing(resolved, key, ctx);\n break;\n case 'maxH':\n case 'maxHeight':\n finalStyles.maxHeight = resolveSizing(resolved, key, ctx);\n break;\n\n // Opacity normalization (0-100 -> 0-1)\n case 'opacity':\n finalStyles.opacity = typeof resolved === 'number' ? resolved / 100 : resolved;\n break;\n\n // Border shorthand\n case 'border':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorder(resolved));\n }\n break;\n // Border side-specific\n case 'borderTop':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderTop'));\n }\n break;\n case 'borderBottom':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderBottom'));\n }\n break;\n case 'borderLeft':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderLeft'));\n }\n break;\n case 'borderRight':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderRight'));\n }\n break;\n // Border X/Y shorthands\n case 'borderX':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderLeft'));\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderRight'));\n }\n break;\n case 'borderY':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderTop'));\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderBottom'));\n }\n break;\n\n // Border radius shorthands\n case 'borderRadiusTop':\n finalStyles.borderTopLeftRadius = toNativeValue(resolved);\n finalStyles.borderTopRightRadius = toNativeValue(resolved);\n break;\n case 'borderRadiusBottom':\n finalStyles.borderBottomLeftRadius = toNativeValue(resolved);\n finalStyles.borderBottomRightRadius = toNativeValue(resolved);\n break;\n case 'borderRadiusLeft':\n finalStyles.borderTopLeftRadius = toNativeValue(resolved);\n finalStyles.borderBottomLeftRadius = toNativeValue(resolved);\n break;\n case 'borderRadiusRight':\n finalStyles.borderTopRightRadius = toNativeValue(resolved);\n finalStyles.borderBottomRightRadius = toNativeValue(resolved);\n break;\n\n // Transform props -> RN transform array\n case 'translateX':\n transforms.push({ translateX: typeof resolved === 'string' ? parseFloat(resolved) || 0 : resolved });\n break;\n case 'translateY':\n transforms.push({ translateY: typeof resolved === 'string' ? parseFloat(resolved) || 0 : resolved });\n break;\n case 'rotate':\n transforms.push({ rotate: typeof resolved === 'number' ? `${resolved}deg` : resolved });\n break;\n\n // Cross-platform shadow preset → native shadow props (shadowColor /\n // shadowOffset / shadowOpacity / shadowRadius / elevation). The scale is\n // published by the native KitsThemeProvider from `theme.shadows`.\n case 'shadow':\n if (typeof resolved === 'string' && isShadowPreset(resolved)) {\n Object.assign(finalStyles, expandShadowNative(resolved));\n }\n break;\n\n default:\n apply(key, resolved);\n break;\n }\n });\n\n if (transforms.length > 0) {\n finalStyles.transform = transforms as any;\n }\n\n return finalStyles;\n};\n"],"names":["CSS_VAR_MAP","Dimensions","Platform","breakpoints","mapCssProperties","isShadowPreset","expandShadowNative"],"mappings":";;;;;;;;;;;;;;;AAKA,IAAI,eAAA,GAA0CA,qBAAA;AAGvC,SAAS,kBAAkB,GAAA,EAA6B;AAC7D,EAAA,eAAA,GAAkB,GAAA;AACpB;AA6BO,SAAS,cAAc,KAAA,EAAuB;AACnD,EAAA,MAAM,QAAA,GAAW,KAAA,CAAM,KAAA,CAAM,0BAA0B,CAAA;AACvD,EAAA,IAAI,CAAC,UAAU,OAAO,KAAA;AACtB,EAAA,MAAM,OAAA,GAAU,SAAS,CAAC,CAAA;AAC1B,EAAA,MAAM,QAAA,GAAW,eAAA,CAAgB,OAAO,CAAA,IAAKA,sBAAY,OAAO,CAAA;AAChE,EAAA,IAAI,QAAA,IAAY,MAAM,OAAO,QAAA;AAC7B,EAAA,IAAI,OAAA,sBAA6B,KAAK,CAAA;AACtC,EAAA,OAAO,KAAA;AACT;AAQA,MAAM,aAAA,uBAAoB,GAAA,EAAY;AAEtC,SAAS,oBAAoB,KAAA,EAAqB;AAChD,EAAA,IAAI,aAAA,CAAc,GAAA,CAAI,KAAK,CAAA,EAAG;AAC9B,EAAA,aAAA,CAAc,IAAI,KAAK,CAAA;AAEvB,EAAA,OAAA,CAAQ,IAAA,CAAK,CAAA,wCAAA,EAA2C,KAAK,CAAA,CAAA,CAAG,CAAA;AAClE;AAMA,SAAS,yBAAyB,CAAA,EAAoB;AACpD,EAAA,OACE,kBAAA,CAAmB,KAAK,CAAC,CAAA;AAAA,EACzB,CAAA,CAAE,WAAW,GAAG,CAAA;AAAA,EAChB,aAAA,CAAc,KAAK,CAAC,CAAA;AAExB;AAQO,SAAS,2BAA2B,KAAA,EAAuB;AAEhE,EAAA,MAAM,QAAA,GAAW,KAAA,CAAM,KAAA,CAAM,sBAAsB,CAAA;AACnD,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,MAAM,OAAA,GAAU,UAAU,QAAA,CAAS,CAAC,CAAC,CAAA,CAAA,EAAI,QAAA,CAAS,CAAC,CAAC,CAAA,CAAA;AACpD,IAAA,OAAO,eAAA,CAAgB,OAAO,CAAA,IAAK,KAAA;AAAA,EACrC;AAGA,EAAA,IAAI,KAAA,CAAM,UAAA,CAAW,GAAG,CAAA,EAAG;AACzB,IAAA,MAAM,MAAA,GAAS,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA;AAChC,IAAA,IAAI,SAAS,CAAA,EAAG;AACd,MAAA,MAAM,QAAA,GAAW,KAAA,CAAM,SAAA,CAAU,CAAA,EAAG,MAAM,CAAA;AAC1C,MAAA,MAAM,GAAA,GAAM,KAAA,CAAM,SAAA,CAAU,MAAA,GAAS,CAAC,CAAA;AACtC,MAAA,QAAQ,QAAA;AAAU,QAChB,KAAK,SAAA,EAAW;AACd,UAAA,MAAM,OAAA,GAAU,gBAAgB,GAAG,CAAA,CAAA;AACnC,UAAA,OAAO,eAAA,CAAgB,OAAO,CAAA,IAAK,KAAA;AAAA,QACrC;AAAA,QACA,KAAK,OAAA,EAAS;AACZ,UAAA,MAAM,OAAA,GAAU,gBAAgB,GAAG,CAAA,CAAA;AACnC,UAAA,OAAO,eAAA,CAAgB,OAAO,CAAA,IAAK,KAAA;AAAA,QACrC;AAAA,QACA,KAAK,SAAA,EAAW;AACd,UAAA,MAAM,OAAA,GAAU,iBAAiB,GAAG,CAAA,CAAA;AACpC,UAAA,OAAO,eAAA,CAAgB,OAAO,CAAA,IAAK,KAAA;AAAA,QACrC;AAAA,QACA,KAAK,WAAA,EAAa;AAChB,UAAA,MAAM,OAAA,GAAU,mBAAmB,GAAG,CAAA,CAAA;AACtC,UAAA,OAAO,eAAA,CAAgB,OAAO,CAAA,IAAK,KAAA;AAAA,QACrC;AAAA,QACA,KAAK,OAAA,EAAS;AACZ,UAAA,MAAM,OAAA,GAAU,eAAe,GAAG,CAAA,CAAA;AAClC,UAAA,OAAO,eAAA,CAAgB,OAAO,CAAA,IAAK,KAAA;AAAA,QACrC;AAAA;AACF,IACF;AAAA,EACF;AAKA,EAAA,MAAM,eAAA,GAAkB,UAAU,KAAK,CAAA,CAAA;AACvC,EAAA,IAAI,eAAA,CAAgB,eAAe,CAAA,EAAG;AACpC,IAAA,OAAO,gBAAgB,eAAe,CAAA;AAAA,EACxC;AAGA,EAAA,IAAI,OAAA,IAAW,wBAAA,CAAyB,KAAK,CAAA,sBAAuB,KAAK,CAAA;AAEzE,EAAA,OAAO,KAAA;AACT;AACO,SAAS,kBAAA,GAAmC;AACjD,EAAA,MAAM,EAAE,KAAA,EAAO,MAAA,EAAO,GAAIC,sBAAA,CAAW,IAAI,QAAQ,CAAA;AAEjD,EAAA,MAAM,WAAA,GAAc,KAAA,GAAQ,MAAA,GAAS,WAAA,GAAc,UAAA;AACnD,EAAA,MAAM,SAAS,IAAA,CAAK,GAAA,CAAI,OAAO,MAAM,CAAA,IAAK,MAAM,QAAA,GAAW,OAAA;AAE3D,EAAA,OAAO;AAAA,IACL,UAAUC,oBAAA,CAAS,EAAA;AAAA,IACnB,KAAA;AAAA,IACA,MAAA;AAAA,IACA,WAAA;AAAA,IACA,MAAA;AAAA,IACA,UAAA,EAAY,qBAAqB,KAAK;AAAA,GACxC;AACF;AACO,MAAM,oBAAA,GAAuB,CAClC,KAAA,KAC6B;AAC7B,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,OAAA,CAAQC,0BAAW,EACvC,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA,KAAM,CAAA,CAAE,CAAC,CAAA,GAAI,CAAA,CAAE,CAAC,CAAC,CAAA;AAE7B,EAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,CAAA,IAAK,OAAA,EAAS;AAClC,IAAA,IAAI,KAAA,IAAS,OAAO,OAAO,GAAA;AAAA,EAC7B;AACA,EAAA,OAAO,MAAA;AACT;AAEA,MAAM,eAAA,GAAgD;AAAA,EACpD,MAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA;AASO,SAAS,cAAc,KAAA,EAAiB;AAC7C,EAAA,IAAI,OAAO,KAAA,KAAU,QAAA,EAAU,OAAO,KAAA;AACtC,EAAA,IAAI,KAAA,KAAU,KAAK,OAAO,CAAA;AAgB1B,EAAA,MAAM,aAAA,GAAgB,2BAA2B,KAAK,CAAA;AACtD,EAAA,IAAI,aAAA,KAAkB,KAAA,EAAO,OAAO,aAAA,CAAc,aAAa,CAAA;AAG/D,EAAA,IAAI,KAAA,CAAM,UAAA,CAAW,MAAM,CAAA,EAAG;AAC5B,IAAA,MAAM,QAAA,GAAW,cAAc,KAAK,CAAA;AAEpC,IAAA,OAAO,QAAA,KAAa,KAAA,GAAQ,aAAA,CAAc,QAAQ,CAAA,GAAI,KAAA;AAAA,EACxD;AAGA,EAAA,MAAM,QAAA,GAAW,KAAA,CAAM,KAAA,CAAM,oBAAoB,CAAA;AACjD,EAAA,IAAI,UAAU,OAAO,UAAA,CAAW,QAAA,CAAS,CAAC,CAAE,CAAA,GAAI,EAAA;AAGhD,EAAA,MAAM,OAAA,GAAU,KAAA,CAAM,KAAA,CAAM,mBAAmB,CAAA;AAC/C,EAAA,IAAI,SAAS,OAAO,UAAA,CAAW,OAAA,CAAQ,CAAC,CAAE,CAAA,GAAI,EAAA;AAG9C,EAAA,MAAM,OAAA,GAAU,KAAA,CAAM,KAAA,CAAM,mBAAmB,CAAA;AAC/C,EAAA,IAAI,OAAA,EAAS,OAAO,UAAA,CAAW,OAAA,CAAQ,CAAC,CAAE,CAAA;AAG1C,EAAA,MAAM,OAAA,GAAU,KAAA,CAAM,KAAA,CAAM,mBAAmB,CAAA;AAC/C,EAAA,IAAI,SAAS,OAAO,UAAA,CAAW,OAAA,CAAQ,CAAC,CAAE,CAAA,GAAI,EAAA;AAG9C,EAAA,MAAM,QAAA,GAAW,KAAA,CAAM,KAAA,CAAM,iBAAiB,CAAA;AAC9C,EAAA,IAAI,QAAA,EAAU,OAAO,UAAA,CAAW,QAAA,CAAS,CAAC,CAAE,CAAA;AAG5C,EAAA,OAAO,KAAA;AACT;AAQA,MAAM,aAAA,GAAgB,CAAC,OAAA,EAAS,QAAA,EAAU,UAAU,QAAA,EAAU,QAAA,EAAU,OAAA,EAAS,OAAA,EAAS,QAAQ,CAAA;AAGlG,SAAS,mBAAmB,IAAA,EAAkC;AAE5D,EAAA,MAAM,QAAA,GAAW,IAAA,CAAK,KAAA,CAAM,oBAAoB,CAAA;AAChD,EAAA,IAAI,UAAU,OAAO,UAAA,CAAW,QAAA,CAAS,CAAC,CAAE,CAAA,GAAI,EAAA;AAEhD,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,KAAA,CAAM,mBAAmB,CAAA;AAC9C,EAAA,IAAI,SAAS,OAAO,UAAA,CAAW,OAAA,CAAQ,CAAC,CAAE,CAAA,GAAI,EAAA;AAE9C,EAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,KAAA,CAAM,sBAAsB,CAAA;AAC/C,EAAA,IAAI,CAAC,OAAO,OAAO,MAAA;AACnB,EAAA,MAAM,CAAA,GAAI,MAAA,CAAO,KAAA,CAAM,CAAC,CAAC,CAAA;AACzB,EAAA,OAAO,MAAA,CAAO,QAAA,CAAS,CAAC,CAAA,GAAI,CAAA,GAAI,MAAA;AAClC;AAEA,MAAM,WAAA,GAAc,CAAC,KAAA,KAAgC;AACnD,EAAA,IAAI,CAAC,KAAA,IAAS,OAAO,KAAA,KAAU,QAAA,SAAiB,EAAC;AAEjD,EAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,IAAA,EAAK,CAAE,MAAM,KAAK,CAAA;AAEtC,EAAA,IAAI,WAAA;AACJ,EAAA,IAAI,WAAA;AACJ,EAAA,IAAI,WAAA;AAEJ,EAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AAExB,IAAA,IAAI,CAAC,WAAA,IAAe,+BAAA,CAAgC,IAAA,CAAK,IAAI,CAAA,EAAG;AAC9D,MAAA,MAAM,SAAA,GAAY,mBAAmB,IAAI,CAAA;AACzC,MAAA,IAAI,cAAc,MAAA,EAAW;AAC3B,QAAA,WAAA,GAAc,SAAA;AACd,QAAA;AAAA,MACF;AACA,MAAA;AAAA,IACF;AAGA,IAAA,IAAI,CAAC,WAAA,IAAe,aAAA,CAAc,QAAA,CAAS,IAAI,CAAA,EAAG;AAChD,MAAA,WAAA,GAAc,IAAA;AACd,MAAA;AAAA,IACF;AAGA,IAAA,IACE,CAAC,WAAA,KACA,2CAAA,CAA4C,IAAA,CAAK,IAAI,KACpD,YAAA,CAAa,IAAA,CAAK,IAAI,CAAA,IACtB,aAAa,IAAA,CAAK,IAAI,KACtB,aAAA,CAAc,IAAA,CAAK,IAAI,CAAA,CAAA,EACzB;AACA,MAAA,WAAA,GAAc,IAAA;AAAA,IAChB;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,WAAA,EAAa,WAAA,EAAa,WAAA,EAAY;AACjD,CAAA;AAEA,MAAM,cAAc,CAAC,CAAA,KACnB,OAAO,CAAA,KAAM,QAAA,IAAY,OAAO,CAAA,KAAM,QAAA;AAEjC,SAAS,sBAAA,CACd,OACA,GAAA,EACe;AAGf,EAAA,IAAI,KAAA,IAAS,IAAA,IAAQ,WAAA,CAAY,KAAK,CAAA,EAAG;AACvC,IAAA,OAAO,KAAA;AAAA,EACT;AAIA,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACxB,IAAA,MAAM,KAAA,GAAQ,eAAA,CAAgB,OAAA,CAAQ,GAAA,CAAI,UAAU,CAAA;AACpD,IAAA,KAAA,IAAS,CAAA,GAAI,KAAA,EAAO,CAAA,IAAK,CAAA,EAAG,CAAA,EAAA,EAAK;AAC/B,MAAA,MAAM,GAAA,GAAM,MAAM,CAAC,CAAA;AACnB,MAAA,IAAI,GAAA,KAAQ,IAAA,IAAQ,GAAA,KAAQ,MAAA,EAAW,OAAO,GAAA;AAAA,IAChD;AACA,IAAA,OAAO,MAAA;AAAA,EACT;AAGA,EAAA,IAAI,GAAA,CAAI,YAAY,KAAA,EAAO;AACzB,IAAA,OAAO,sBAAA,CAAuB,KAAA,CAAM,GAAA,CAAI,QAAQ,GAAG,GAAG,CAAA;AAAA,EACxD;AAGA,EAAA,IAAI,GAAA,CAAI,UAAU,KAAA,EAAO;AACvB,IAAA,OAAO,sBAAA,CAAuB,KAAA,CAAM,GAAA,CAAI,MAAM,GAAG,GAAG,CAAA;AAAA,EACtD;AAGA,EAAA,IAAI,GAAA,CAAI,eAAe,KAAA,EAAO;AAC5B,IAAA,OAAO,sBAAA,CAAuB,KAAA,CAAM,GAAA,CAAI,WAAW,GAAG,GAAG,CAAA;AAAA,EAC3D;AAGA,EAAA,KAAA,IACM,CAAA,GAAI,gBAAgB,OAAA,CAAQ,GAAA,CAAI,UAAU,CAAA,EAC9C,CAAA,IAAK,GACL,CAAA,EAAA,EACA;AACA,IAAA,MAAM,EAAA,GAAK,gBAAgB,CAAC,CAAA;AAC5B,IAAA,IAAI,EAAA,IAAM,EAAA,IAAM,KAAA,EAAO,OAAO,MAAM,EAAE,CAAA;AAAA,EACxC;AAEA,EAAA,OAAO,MAAA;AACT;AAEA,MAAM,aAAA,GAAgB,CAAC,KAAA,EAAY,GAAA,EAAa,GAAA,KAAsB;AACpE,EAAA,IAAI,KAAA,KAAU,QAAQ,OAAO,MAAA;AAC7B,EAAA,IAAI,UAAU,QAAA,EAAU;AACtB,IAAA,MAAM,MAAM,GAAA,KAAQ,GAAA,IAAO,QAAQ,QAAA,IAAY,GAAA,KAAQ,UAAU,GAAA,KAAQ,MAAA;AACzE,IAAA,OAAO,GAAA,GAAM,GAAA,CAAI,MAAA,GAAS,GAAA,CAAI,KAAA;AAAA,EAChC;AACA,EAAA,OAAO,cAAc,KAAK,CAAA;AAC5B,CAAA;AAEA,MAAM,eAAA,GAAkB,CAAC,QAAA,EAAkB,IAAA,KAAsC;AAC/E,EAAA,MAAM,MAAA,GAAS,YAAY,QAAQ,CAAA;AACnC,EAAA,MAAM,SAA8B,EAAC;AACrC,EAAA,IAAI,MAAA,CAAO,gBAAgB,MAAA,EAAW,MAAA,CAAO,GAAG,IAAI,CAAA,KAAA,CAAO,IAAI,MAAA,CAAO,WAAA;AACtE,EAAA,IAAI,OAAO,WAAA,EAAa,MAAA,CAAO,GAAG,IAAI,CAAA,KAAA,CAAO,IAAI,MAAA,CAAO,WAAA;AACxD,EAAA,IAAI,OAAO,WAAA,EAAa,MAAA,CAAO,GAAG,IAAI,CAAA,KAAA,CAAO,IAAI,MAAA,CAAO,WAAA;AACxD,EAAA,OAAO,MAAA;AACT,CAAA;AAEO,MAAM,KAAA,GAAQ,CAAC,KAAA,EAAsB,WAAA,KAA+B;AACzE,EAAA,MAAM,GAAA,GAAM,eAAe,kBAAA,EAAmB;AAC9C,EAAA,MAAM,cAAkC,EAAC;AACzC,EAAA,MAAM,aAAuC,EAAC;AAC9C,EAAA,MAAM,KAAA,GAAQ,CAAC,GAAA,EAAa,KAAA,KAAe;AACzC,IAAA,MAAM,MAAA,GAASC,qBAAiB,GAAG,CAAA;AACnC,IAAA,IAAI,CAAC,MAAA,EAAQ;AACb,IAAA,MAAM,SAAA,GAAY,cAAc,KAAK,CAAA;AACrC,IAAC,WAAA,CAAoC,MAAM,CAAA,GAAI,SAAA;AAAA,EACjD,CAAA;AAEA,EAAA,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAC,GAAA,EAAK,GAAG,CAAA,KAAM;AAC5C,IAAA,IAAI,GAAA,KAAQ,MAAA,IAAa,GAAA,CAAI,UAAA,CAAW,GAAG,CAAA,EAAG;AAE9C,IAAA,MAAM,QAAA,GAAW,sBAAA,CAA4B,GAAA,EAAK,GAAG,CAAA;AACrD,IAAA,IAAI,aAAa,MAAA,EAAW;AAE5B,IAAA,QAAQ,GAAA;AAAK;AAAA,MAEX,KAAK,IAAA;AACH,QAAA,WAAA,CAAY,UAAA,GAAa,cAAc,QAAQ,CAAA;AAC/C,QAAA,WAAA,CAAY,WAAA,GAAc,cAAc,QAAQ,CAAA;AAChD,QAAA;AAAA,MACF,KAAK,IAAA;AACH,QAAA,WAAA,CAAY,SAAA,GAAY,cAAc,QAAQ,CAAA;AAC9C,QAAA,WAAA,CAAY,YAAA,GAAe,cAAc,QAAQ,CAAA;AACjD,QAAA;AAAA;AAAA,MAGF,KAAK,IAAA;AACH,QAAA,WAAA,CAAY,WAAA,GAAc,cAAc,QAAQ,CAAA;AAChD,QAAA,WAAA,CAAY,YAAA,GAAe,cAAc,QAAQ,CAAA;AACjD,QAAA;AAAA,MACF,KAAK,IAAA;AACH,QAAA,WAAA,CAAY,UAAA,GAAa,cAAc,QAAQ,CAAA;AAC/C,QAAA,WAAA,CAAY,aAAA,GAAgB,cAAc,QAAQ,CAAA;AAClD,QAAA;AAAA;AAAA,MAGF,KAAK,GAAA;AAAA,MACL,KAAK,OAAA;AACH,QAAA,WAAA,CAAY,KAAA,GAAQ,aAAA,CAAc,QAAA,EAAU,GAAA,EAAK,GAAG,CAAA;AACpD,QAAA;AAAA,MACF,KAAK,GAAA;AAAA,MACL,KAAK,QAAA;AACH,QAAA,WAAA,CAAY,MAAA,GAAS,aAAA,CAAc,QAAA,EAAU,GAAA,EAAK,GAAG,CAAA;AACrD,QAAA;AAAA,MACF,KAAK,MAAA;AAAA,MACL,KAAK,UAAA;AACH,QAAA,WAAA,CAAY,QAAA,GAAW,aAAA,CAAc,QAAA,EAAU,GAAA,EAAK,GAAG,CAAA;AACvD,QAAA;AAAA,MACF,KAAK,MAAA;AAAA,MACL,KAAK,UAAA;AACH,QAAA,WAAA,CAAY,QAAA,GAAW,aAAA,CAAc,QAAA,EAAU,GAAA,EAAK,GAAG,CAAA;AACvD,QAAA;AAAA,MACF,KAAK,MAAA;AAAA,MACL,KAAK,WAAA;AACH,QAAA,WAAA,CAAY,SAAA,GAAY,aAAA,CAAc,QAAA,EAAU,GAAA,EAAK,GAAG,CAAA;AACxD,QAAA;AAAA,MACF,KAAK,MAAA;AAAA,MACL,KAAK,WAAA;AACH,QAAA,WAAA,CAAY,SAAA,GAAY,aAAA,CAAc,QAAA,EAAU,GAAA,EAAK,GAAG,CAAA;AACxD,QAAA;AAAA;AAAA,MAGF,KAAK,SAAA;AACH,QAAA,WAAA,CAAY,OAAA,GAAU,OAAO,QAAA,KAAa,QAAA,GAAW,WAAW,GAAA,GAAM,QAAA;AACtE,QAAA;AAAA;AAAA,MAGF,KAAK,QAAA;AACH,QAAA,IAAI,OAAO,aAAa,QAAA,EAAU;AAChC,UAAA,MAAA,CAAO,MAAA,CAAO,WAAA,EAAa,WAAA,CAAY,QAAQ,CAAC,CAAA;AAAA,QAClD;AACA,QAAA;AAAA;AAAA,MAEF,KAAK,WAAA;AACH,QAAA,IAAI,OAAO,aAAa,QAAA,EAAU;AAChC,UAAA,MAAA,CAAO,MAAA,CAAO,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAU,WAAW,CAAC,CAAA;AAAA,QACnE;AACA,QAAA;AAAA,MACF,KAAK,cAAA;AACH,QAAA,IAAI,OAAO,aAAa,QAAA,EAAU;AAChC,UAAA,MAAA,CAAO,MAAA,CAAO,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAU,cAAc,CAAC,CAAA;AAAA,QACtE;AACA,QAAA;AAAA,MACF,KAAK,YAAA;AACH,QAAA,IAAI,OAAO,aAAa,QAAA,EAAU;AAChC,UAAA,MAAA,CAAO,MAAA,CAAO,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAU,YAAY,CAAC,CAAA;AAAA,QACpE;AACA,QAAA;AAAA,MACF,KAAK,aAAA;AACH,QAAA,IAAI,OAAO,aAAa,QAAA,EAAU;AAChC,UAAA,MAAA,CAAO,MAAA,CAAO,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAU,aAAa,CAAC,CAAA;AAAA,QACrE;AACA,QAAA;AAAA;AAAA,MAEF,KAAK,SAAA;AACH,QAAA,IAAI,OAAO,aAAa,QAAA,EAAU;AAChC,UAAA,MAAA,CAAO,MAAA,CAAO,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAU,YAAY,CAAC,CAAA;AAClE,UAAA,MAAA,CAAO,MAAA,CAAO,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAU,aAAa,CAAC,CAAA;AAAA,QACrE;AACA,QAAA;AAAA,MACF,KAAK,SAAA;AACH,QAAA,IAAI,OAAO,aAAa,QAAA,EAAU;AAChC,UAAA,MAAA,CAAO,MAAA,CAAO,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAU,WAAW,CAAC,CAAA;AACjE,UAAA,MAAA,CAAO,MAAA,CAAO,WAAA,EAAa,eAAA,CAAgB,QAAA,EAAU,cAAc,CAAC,CAAA;AAAA,QACtE;AACA,QAAA;AAAA;AAAA,MAGF,KAAK,iBAAA;AACH,QAAA,WAAA,CAAY,mBAAA,GAAsB,cAAc,QAAQ,CAAA;AACxD,QAAA,WAAA,CAAY,oBAAA,GAAuB,cAAc,QAAQ,CAAA;AACzD,QAAA;AAAA,MACF,KAAK,oBAAA;AACH,QAAA,WAAA,CAAY,sBAAA,GAAyB,cAAc,QAAQ,CAAA;AAC3D,QAAA,WAAA,CAAY,uBAAA,GAA0B,cAAc,QAAQ,CAAA;AAC5D,QAAA;AAAA,MACF,KAAK,kBAAA;AACH,QAAA,WAAA,CAAY,mBAAA,GAAsB,cAAc,QAAQ,CAAA;AACxD,QAAA,WAAA,CAAY,sBAAA,GAAyB,cAAc,QAAQ,CAAA;AAC3D,QAAA;AAAA,MACF,KAAK,mBAAA;AACH,QAAA,WAAA,CAAY,oBAAA,GAAuB,cAAc,QAAQ,CAAA;AACzD,QAAA,WAAA,CAAY,uBAAA,GAA0B,cAAc,QAAQ,CAAA;AAC5D,QAAA;AAAA;AAAA,MAGF,KAAK,YAAA;AACH,QAAA,UAAA,CAAW,IAAA,CAAK,EAAE,UAAA,EAAY,OAAO,QAAA,KAAa,QAAA,GAAW,UAAA,CAAW,QAAQ,CAAA,IAAK,CAAA,GAAI,QAAA,EAAU,CAAA;AACnG,QAAA;AAAA,MACF,KAAK,YAAA;AACH,QAAA,UAAA,CAAW,IAAA,CAAK,EAAE,UAAA,EAAY,OAAO,QAAA,KAAa,QAAA,GAAW,UAAA,CAAW,QAAQ,CAAA,IAAK,CAAA,GAAI,QAAA,EAAU,CAAA;AACnG,QAAA;AAAA,MACF,KAAK,QAAA;AACH,QAAA,UAAA,CAAW,IAAA,CAAK,EAAE,MAAA,EAAQ,OAAO,QAAA,KAAa,WAAW,CAAA,EAAG,QAAQ,CAAA,GAAA,CAAA,GAAQ,QAAA,EAAU,CAAA;AACtF,QAAA;AAAA;AAAA;AAAA;AAAA,MAKF,KAAK,QAAA;AACH,QAAA,IAAI,OAAO,QAAA,KAAa,QAAA,IAAYC,sBAAA,CAAe,QAAQ,CAAA,EAAG;AAC5D,UAAA,MAAA,CAAO,MAAA,CAAO,WAAA,EAAaC,0BAAA,CAAmB,QAAQ,CAAC,CAAA;AAAA,QACzD;AACA,QAAA;AAAA,MAEF;AACE,QAAA,KAAA,CAAM,KAAK,QAAQ,CAAA;AACnB,QAAA;AAAA;AACJ,EACF,CAAC,CAAA;AAED,EAAA,IAAI,UAAA,CAAW,SAAS,CAAA,EAAG;AACzB,IAAA,WAAA,CAAY,SAAA,GAAY,UAAA;AAAA,EAC1B;AAEA,EAAA,OAAO,WAAA;AACT;;;;;;;;;;;"}
1
+ {"version":3,"file":"style.cjs","sources":["../../../../../../../../../apps/mobile/src/Factory/helpers/style.ts"],"sourcesContent":["import { Dimensions, Platform, type ViewStyle } from 'react-native';\nimport { breakpoints, expandShadowNative, isShadowPreset, type IStyleClasses, mapCssProperties } from '@lmb-it/kitsconcerto-types';\nimport { CSS_VAR_MAP } from './cssVarMap';\n\n// Dynamic color map — defaults to static CSS_VAR_MAP, overridden by KitsThemeProvider\nlet _activeColorMap: Record<string, string> = CSS_VAR_MAP;\n\n/** Sets the active color map (called by KitsThemeProvider on native) */\nexport function setActiveColorMap(map: Record<string, string>) {\n _activeColorMap = map;\n}\n\n/** Returns the active color map */\nexport function getActiveColorMap(): Record<string, string> {\n return _activeColorMap;\n}\n\nexport type StyleContext = {\n platform: 'ios' | 'android';\n width: number;\n height: number;\n orientation: 'portrait' | 'landscape';\n device: 'phone' | 'tablet';\n breakpoint: keyof typeof breakpoints;\n};\n\n/**\n * Strips the `var()` wrapper from a CSS variable string.\n * e.g. `var(--primary-500)` → `--primary-500`\n */\nexport const normalizeColor = (color: string): string => {\n const match = color.match(/^var\\((--[^)]+)\\)$/);\n return match ? match[1]! : color;\n};\n\n/**\n * Resolves a CSS variable `var(--xyz)` to its native hex value via the active color map.\n * Non-variable strings are returned unchanged.\n */\nexport function resolveCssVar(value: string): string {\n const varMatch = value.match(/^var\\(\\s*(--[^)]+)\\s*\\)$/);\n if (!varMatch) return value;\n const varName = varMatch[1]!;\n const resolved = _activeColorMap[varName] ?? CSS_VAR_MAP[varName];\n if (resolved != null) return resolved;\n if (__DEV__) warnUnresolvedToken(value);\n return value;\n}\n\n// ── Dev-only unresolved-token warning ──────────────────────────────────────\n// Surfaces the silent-failure class where a token is advertised by the type\n// system (ColorValue, $-prefix tokens, …) but the active theme never builds\n// it, so RN receives the raw string and renders nothing. Deduped per token\n// per session; zero cost in production (guarded by __DEV__, which bundlers\n// strip). Never changes the returned value — callers see identical behavior.\nconst _warnedTokens = new Set<string>();\n\nfunction warnUnresolvedToken(token: string): void {\n if (_warnedTokens.has(token)) return;\n _warnedTokens.add(token);\n // eslint-disable-next-line no-console\n console.warn(`[KitsConcerto] Unresolved theme token: \"${token}\"`);\n}\n\n// Only warn for strings that clearly *intended* to be a token — otherwise\n// `toNativeValue` (which runs this on every style string) would warn on plain\n// CSS keywords like 'flex-start', 'row-reverse', '50%'. `var(--x)` is handled\n// by resolveCssVar, not here.\nfunction looksLikeUnresolvedToken(v: string): boolean {\n return (\n /^[a-zA-Z]+\\.\\d+$/.test(v) || // dot-notation: blue.500\n v.startsWith('$') || // $spacing.4, $radii.lg\n /-alpha-\\d+$/.test(v) // white-alpha-60 / black-alpha-90\n );\n}\n\n/**\n * Resolves theme tokens (dot-notation, semantic, $-prefixed) to native values.\n * - 'blue.500' → lookup --kits-blue-500 in color map\n * - 'primary' → lookup --kits-primary in color map\n * - '$spacing.4' → '1rem' (then further converted by toNativeValue)\n */\nexport function resolveThemeTokenForNative(value: string): string {\n // Dot-notation: blue.500\n const dotMatch = value.match(/^([a-zA-Z]+)\\.(\\d+)$/);\n if (dotMatch) {\n const varName = `--kits-${dotMatch[1]}-${dotMatch[2]}`;\n return _activeColorMap[varName] ?? value;\n }\n\n // $-prefixed tokens: $spacing.4, $radii.lg, etc.\n if (value.startsWith('$')) {\n const dotIdx = value.indexOf('.');\n if (dotIdx > 1) {\n const category = value.substring(1, dotIdx);\n const key = value.substring(dotIdx + 1);\n switch (category) {\n case 'spacing': {\n const varName = `--kits-space-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n case 'radii': {\n const varName = `--kits-radii-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n case 'shadows': {\n const varName = `--kits-shadow-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n case 'fontSizes': {\n const varName = `--kits-fontSize-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n case 'fonts': {\n const varName = `--kits-font-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n }\n }\n }\n\n // Semantic tokens: 'primary', 'danger', etc.\n // Also resolves alpha families ('white-alpha-60' → '--kits-white-alpha-60',\n // built into the color map from ALPHA_COLOR_VARS on both platforms).\n const semanticVarName = `--kits-${value}`;\n if (_activeColorMap[semanticVarName]) {\n return _activeColorMap[semanticVarName]!;\n }\n\n // Unresolved token-shaped string: surface it in dev, return unchanged.\n if (__DEV__ && looksLikeUnresolvedToken(value)) warnUnresolvedToken(value);\n\n return value;\n}\nexport function createStyleContext(): StyleContext {\n const { width, height } = Dimensions.get('window');\n\n const orientation = width > height ? 'landscape' : 'portrait';\n const device = Math.min(width, height) >= 768 ? 'tablet' : 'phone';\n\n return {\n platform: Platform.OS as 'ios' | 'android',\n width,\n height,\n orientation,\n device,\n breakpoint: getCurrentBreakpoint(width),\n };\n}\nexport const getCurrentBreakpoint = (\n width: number\n): keyof typeof breakpoints => {\n const entries = Object.entries(breakpoints)\n .sort((a, b) => b[1] - a[1]);\n\n for (const [key, value] of entries) {\n if (width >= value) return key as keyof typeof breakpoints;\n }\n return 'base';\n};\n\nconst breakpointOrder: (keyof typeof breakpoints)[] = [\n 'base',\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n 'xxl',\n 'xxxl',\n];\n\n// ---------------------------------------------------------------------------\n// CSS unit → React Native value conversion\n// RN only accepts numbers (dp) or percentage strings for most layout props.\n// 1rem = 16dp baseline, 1em = 16dp baseline, px is stripped to a number.\n// Percentages (e.g. \"50%\") are passed through — RN supports them for dimensions.\n// CSS variables var(--*) are resolved via CSS_VAR_MAP to their native values.\n// ---------------------------------------------------------------------------\nexport function toNativeValue(value: any): any {\n if (typeof value !== 'string') return value;\n if (value === '0') return 0;\n\n // Theme token resolution: 'blue.500', 'primary', '$spacing.4',\n // 'on-primary', 'surface-subtle', and any other consumer-declared\n // semantic token.\n //\n // We try resolution UNCONDITIONALLY on every string value — the old\n // `isThemeToken(value)` gate only recognised the 15 built-in semantic\n // names hardcoded in the types package, so consumer-extended tokens\n // (registered via `extendTheme({ semanticTokens: {...} })`) silently\n // fell through to RN as raw strings and rendered as invalid colors.\n //\n // `resolveThemeTokenForNative` is a safe no-op when the input isn't\n // in the active color map: it returns the input unchanged, so CSS\n // keywords like 'flex-start' / 'row-reverse' / 'space-between' and\n // layout strings pass through without side effects.\n const resolvedToken = resolveThemeTokenForNative(value);\n if (resolvedToken !== value) return toNativeValue(resolvedToken);\n\n // CSS variable resolution: var(--xyz) → resolved hex color or value\n if (value.startsWith('var(')) {\n const resolved = resolveCssVar(value);\n // If resolution returned something different, recurse (it might be a rem value etc.)\n return resolved !== value ? toNativeValue(resolved) : value;\n }\n\n // rem → number (1rem = 16dp)\n const remMatch = value.match(/^(-?\\d*\\.?\\d+)rem$/);\n if (remMatch) return parseFloat(remMatch[1]!) * 16;\n\n // em → number (1em = 16dp baseline)\n const emMatch = value.match(/^(-?\\d*\\.?\\d+)em$/);\n if (emMatch) return parseFloat(emMatch[1]!) * 16;\n\n // px → number\n const pxMatch = value.match(/^(-?\\d*\\.?\\d+)px$/);\n if (pxMatch) return parseFloat(pxMatch[1]!);\n\n // pc (pica) → number (1pc = 12pt = 16dp)\n const pcMatch = value.match(/^(-?\\d*\\.?\\d+)pc$/);\n if (pcMatch) return parseFloat(pcMatch[1]!) * 16;\n\n // pure number string → number\n const numMatch = value.match(/^(-?\\d*\\.?\\d+)$/);\n if (numMatch) return parseFloat(numMatch[1]!);\n\n // Percentage strings, keywords, colors — pass through\n return value;\n}\n\ntype ParsedBorder = {\n borderWidth?: number;\n borderStyle?: 'solid' | 'dotted' | 'dashed';\n borderColor?: string;\n};\n\nconst BORDER_STYLES = [\"solid\", \"dashed\", \"dotted\", \"double\", \"groove\", \"ridge\", \"inset\", \"outset\"];\n\n// Extract numeric border width, with rem/em/px unit conversion\nfunction extractBorderWidth(part: string): number | undefined {\n // rem\n const remMatch = part.match(/^(\\d+(\\.\\d+)?)rem$/);\n if (remMatch) return parseFloat(remMatch[1]!) * 16;\n // em\n const emMatch = part.match(/^(\\d+(\\.\\d+)?)em$/);\n if (emMatch) return parseFloat(emMatch[1]!) * 16;\n // px or bare number\n const match = part.match(/^(\\d+(\\.\\d+)?)(px)?$/);\n if (!match) return undefined;\n const n = Number(match[1]);\n return Number.isFinite(n) ? n : undefined;\n}\n\nconst parseBorder = (value: string): ParsedBorder => {\n if (!value || typeof value !== \"string\") return {};\n\n const parts = value.trim().split(/\\s+/);\n\n let borderWidth: number | undefined;\n let borderStyle: \"solid\" | \"dotted\" | \"dashed\" | undefined;\n let borderColor: string | undefined;\n\n for (const part of parts) {\n // Detect width (e.g., \"1px\", \"2rem\", \"0.5em\", \"0\", \"5\", etc.)\n if (!borderWidth && /^(\\d+(\\.\\d+)?(px|em|rem|%)?)$/.test(part)) {\n const extracted = extractBorderWidth(part);\n if (extracted !== undefined) {\n borderWidth = extracted;\n continue;\n }\n continue;\n }\n\n // Detect style\n if (!borderStyle && BORDER_STYLES.includes(part)) {\n borderStyle = part as \"solid\" | \"dotted\" | \"dashed\";\n continue;\n }\n\n // Detect color (hex, rgb, rgba, hsl, named colors — not CSS vars)\n if (\n !borderColor &&\n (/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(part) ||\n /^rgb(a)?\\(/.test(part) ||\n /^hsl(a)?\\(/.test(part) ||\n /^[a-zA-Z]+$/.test(part))\n ) {\n borderColor = part;\n }\n }\n\n return { borderWidth, borderStyle, borderColor };\n};\n\nconst isPrimitive = (v: any) =>\n typeof v === 'number' || typeof v === 'string';\n\nexport function resolveResponsiveValue<T>(\n input: any,\n ctx: StyleContext\n): T | undefined {\n\n // 1. Direct value\n if (input == null || isPrimitive(input)) {\n return input as T;\n }\n\n // 2. Array syntax — cascade like CSS: find the last defined value at or\n // before the current breakpoint index, matching web's min-width cascade.\n if (Array.isArray(input)) {\n const index = breakpointOrder.indexOf(ctx.breakpoint);\n for (let i = index; i >= 0; i--) {\n const val = input[i];\n if (val !== null && val !== undefined) return val as T;\n }\n return undefined;\n }\n\n // 3. Platform\n if (ctx.platform in input) {\n return resolveResponsiveValue(input[ctx.platform], ctx);\n }\n\n // 4. Device\n if (ctx.device in input) {\n return resolveResponsiveValue(input[ctx.device], ctx);\n }\n\n // 5. Orientation\n if (ctx.orientation in input) {\n return resolveResponsiveValue(input[ctx.orientation], ctx);\n }\n\n // 6. Breakpoints (fallback chain)\n for (\n let i = breakpointOrder.indexOf(ctx.breakpoint);\n i >= 0;\n i--\n ) {\n const bp = breakpointOrder[i];\n if (bp && bp in input) return input[bp];\n }\n\n return undefined;\n}\n\nconst resolveSizing = (value: any, key: string, ctx: StyleContext) => {\n if (value === 'full') return '100%';\n if (value === 'screen') {\n const isH = key === 'h' || key === 'height' || key === 'minH' || key === 'maxH';\n return isH ? ctx.height : ctx.width;\n }\n return toNativeValue(value);\n};\n\nconst parseBorderSide = (resolved: string, side: string): Record<string, any> => {\n const parsed = parseBorder(resolved);\n const styles: Record<string, any> = {};\n if (parsed.borderWidth !== undefined) styles[`${side}Width`] = parsed.borderWidth;\n if (parsed.borderColor) styles[`${side}Color`] = parsed.borderColor;\n if (parsed.borderStyle) styles[`${side}Style`] = parsed.borderStyle;\n return styles;\n};\n\nexport const style = (props: IStyleClasses, externalCtx?: StyleContext) => {\n const ctx = externalCtx ?? createStyleContext();\n const finalStyles: Partial<ViewStyle> = {};\n const transforms: { [key: string]: any }[] = [];\n const apply = (key: string, value: any) => {\n const mapped = mapCssProperties[key];\n if (!mapped) return;\n const converted = toNativeValue(value);\n (finalStyles as Record<string, any>)[mapped] = converted;\n };\n\n Object.entries(props).forEach(([key, val]) => {\n if (val === undefined || key.startsWith('_')) return;\n\n const resolved = resolveResponsiveValue<any>(val, ctx);\n if (resolved === undefined) return;\n\n switch (key) {\n // Margin shorthands\n case 'mx':\n finalStyles.marginLeft = toNativeValue(resolved);\n finalStyles.marginRight = toNativeValue(resolved);\n break;\n case 'my':\n finalStyles.marginTop = toNativeValue(resolved);\n finalStyles.marginBottom = toNativeValue(resolved);\n break;\n\n // Padding shorthands\n case 'px':\n finalStyles.paddingLeft = toNativeValue(resolved);\n finalStyles.paddingRight = toNativeValue(resolved);\n break;\n case 'py':\n finalStyles.paddingTop = toNativeValue(resolved);\n finalStyles.paddingBottom = toNativeValue(resolved);\n break;\n\n // Sizing with \"full\"/\"screen\" support\n case 'w':\n case 'width':\n finalStyles.width = resolveSizing(resolved, key, ctx);\n break;\n case 'h':\n case 'height':\n finalStyles.height = resolveSizing(resolved, key, ctx);\n break;\n case 'minW':\n case 'minWidth':\n finalStyles.minWidth = resolveSizing(resolved, key, ctx);\n break;\n case 'maxW':\n case 'maxWidth':\n finalStyles.maxWidth = resolveSizing(resolved, key, ctx);\n break;\n case 'minH':\n case 'minHeight':\n finalStyles.minHeight = resolveSizing(resolved, key, ctx);\n break;\n case 'maxH':\n case 'maxHeight':\n finalStyles.maxHeight = resolveSizing(resolved, key, ctx);\n break;\n\n // Opacity normalization (0-100 -> 0-1)\n case 'opacity':\n finalStyles.opacity = typeof resolved === 'number' ? resolved / 100 : resolved;\n break;\n\n // Border shorthand\n case 'border':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorder(resolved));\n }\n break;\n // Border side-specific\n case 'borderTop':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderTop'));\n }\n break;\n case 'borderBottom':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderBottom'));\n }\n break;\n case 'borderLeft':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderLeft'));\n }\n break;\n case 'borderRight':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderRight'));\n }\n break;\n // Border X/Y shorthands\n case 'borderX':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderLeft'));\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderRight'));\n }\n break;\n case 'borderY':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderTop'));\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderBottom'));\n }\n break;\n\n // Border radius shorthands\n case 'borderRadiusTop':\n finalStyles.borderTopLeftRadius = toNativeValue(resolved);\n finalStyles.borderTopRightRadius = toNativeValue(resolved);\n break;\n case 'borderRadiusBottom':\n finalStyles.borderBottomLeftRadius = toNativeValue(resolved);\n finalStyles.borderBottomRightRadius = toNativeValue(resolved);\n break;\n case 'borderRadiusLeft':\n finalStyles.borderTopLeftRadius = toNativeValue(resolved);\n finalStyles.borderBottomLeftRadius = toNativeValue(resolved);\n break;\n case 'borderRadiusRight':\n finalStyles.borderTopRightRadius = toNativeValue(resolved);\n finalStyles.borderBottomRightRadius = toNativeValue(resolved);\n break;\n\n // Transform props -> RN transform array\n case 'translateX':\n transforms.push({ translateX: typeof resolved === 'string' ? parseFloat(resolved) || 0 : resolved });\n break;\n case 'translateY':\n transforms.push({ translateY: typeof resolved === 'string' ? parseFloat(resolved) || 0 : resolved });\n break;\n case 'rotate':\n transforms.push({ rotate: typeof resolved === 'number' ? `${resolved}deg` : resolved });\n break;\n\n // Cross-platform shadow preset → native shadow props (shadowColor /\n // shadowOffset / shadowOpacity / shadowRadius / elevation). The scale is\n // published by the native KitsThemeProvider from `theme.shadows`.\n case 'shadow':\n if (typeof resolved === 'string' && isShadowPreset(resolved)) {\n Object.assign(finalStyles, expandShadowNative(resolved));\n }\n break;\n\n default:\n apply(key, resolved);\n break;\n }\n });\n\n if (transforms.length > 0) {\n finalStyles.transform = transforms as any;\n }\n\n return finalStyles;\n};\n"],"names":["CSS_VAR_MAP","Dimensions","Platform","breakpoints","mapCssProperties","isShadowPreset","expandShadowNative"],"mappings":"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"}
@@ -8,6 +8,7 @@ import allProperties from '../../../../../packages/types/src/Css/map/index.js';
8
8
  import { breakpoints } from '../../../../../packages/types/src/Css/constants/breakpoints/index.js';
9
9
  import { isShadowPreset, expandShadowNative } from '../../../../../packages/types/src/Theme/shadows.js';
10
10
  import '../../../../../packages/types/src/Theme/defaultTheme.js';
11
+ import '../../../../../packages/types/src/Theme/resolvers.js';
11
12
  import '../../../../../packages/types/src/Theme/alphaColors.js';
12
13
  import { CSS_VAR_MAP } from './cssVarMap.js';
13
14
 
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sources":["../../../../../../../../../apps/mobile/src/Factory/helpers/style.ts"],"sourcesContent":["import { Dimensions, Platform, type ViewStyle } from 'react-native';\nimport { breakpoints, expandShadowNative, isShadowPreset, type IStyleClasses, mapCssProperties } from '@lmb-it/kitsconcerto-types';\nimport { CSS_VAR_MAP } from './cssVarMap';\n\n// Dynamic color map — defaults to static CSS_VAR_MAP, overridden by KitsThemeProvider\nlet _activeColorMap: Record<string, string> = CSS_VAR_MAP;\n\n/** Sets the active color map (called by KitsThemeProvider on native) */\nexport function setActiveColorMap(map: Record<string, string>) {\n _activeColorMap = map;\n}\n\n/** Returns the active color map */\nexport function getActiveColorMap(): Record<string, string> {\n return _activeColorMap;\n}\n\nexport type StyleContext = {\n platform: 'ios' | 'android';\n width: number;\n height: number;\n orientation: 'portrait' | 'landscape';\n device: 'phone' | 'tablet';\n breakpoint: keyof typeof breakpoints;\n};\n\n/**\n * Strips the `var()` wrapper from a CSS variable string.\n * e.g. `var(--primary-500)` → `--primary-500`\n */\nexport const normalizeColor = (color: string): string => {\n const match = color.match(/^var\\((--[^)]+)\\)$/);\n return match ? match[1]! : color;\n};\n\n/**\n * Resolves a CSS variable `var(--xyz)` to its native hex value via the active color map.\n * Non-variable strings are returned unchanged.\n */\nexport function resolveCssVar(value: string): string {\n const varMatch = value.match(/^var\\(\\s*(--[^)]+)\\s*\\)$/);\n if (!varMatch) return value;\n const varName = varMatch[1]!;\n const resolved = _activeColorMap[varName] ?? CSS_VAR_MAP[varName];\n if (resolved != null) return resolved;\n if (__DEV__) warnUnresolvedToken(value);\n return value;\n}\n\n// ── Dev-only unresolved-token warning ──────────────────────────────────────\n// Surfaces the silent-failure class where a token is advertised by the type\n// system (ColorValue, $-prefix tokens, …) but the active theme never builds\n// it, so RN receives the raw string and renders nothing. Deduped per token\n// per session; zero cost in production (guarded by __DEV__, which bundlers\n// strip). Never changes the returned value — callers see identical behavior.\nconst _warnedTokens = new Set<string>();\n\nfunction warnUnresolvedToken(token: string): void {\n if (_warnedTokens.has(token)) return;\n _warnedTokens.add(token);\n // eslint-disable-next-line no-console\n console.warn(`[KitsConcerto] Unresolved theme token: \"${token}\"`);\n}\n\n// Only warn for strings that clearly *intended* to be a token — otherwise\n// `toNativeValue` (which runs this on every style string) would warn on plain\n// CSS keywords like 'flex-start', 'row-reverse', '50%'. `var(--x)` is handled\n// by resolveCssVar, not here.\nfunction looksLikeUnresolvedToken(v: string): boolean {\n return (\n /^[a-zA-Z]+\\.\\d+$/.test(v) || // dot-notation: blue.500\n v.startsWith('$') || // $spacing.4, $radii.lg\n /-alpha-\\d+$/.test(v) // white-alpha-60 / black-alpha-90\n );\n}\n\n/**\n * Resolves theme tokens (dot-notation, semantic, $-prefixed) to native values.\n * - 'blue.500' → lookup --kits-blue-500 in color map\n * - 'primary' → lookup --kits-primary in color map\n * - '$spacing.4' → '1rem' (then further converted by toNativeValue)\n */\nexport function resolveThemeTokenForNative(value: string): string {\n // Dot-notation: blue.500\n const dotMatch = value.match(/^([a-zA-Z]+)\\.(\\d+)$/);\n if (dotMatch) {\n const varName = `--kits-${dotMatch[1]}-${dotMatch[2]}`;\n return _activeColorMap[varName] ?? value;\n }\n\n // $-prefixed tokens: $spacing.4, $radii.lg, etc.\n if (value.startsWith('$')) {\n const dotIdx = value.indexOf('.');\n if (dotIdx > 1) {\n const category = value.substring(1, dotIdx);\n const key = value.substring(dotIdx + 1);\n switch (category) {\n case 'spacing': {\n const varName = `--kits-space-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n case 'radii': {\n const varName = `--kits-radii-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n case 'shadows': {\n const varName = `--kits-shadow-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n case 'fontSizes': {\n const varName = `--kits-fontSize-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n case 'fonts': {\n const varName = `--kits-font-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n }\n }\n }\n\n // Semantic tokens: 'primary', 'danger', etc.\n // Also resolves alpha families ('white-alpha-60' → '--kits-white-alpha-60',\n // built into the color map from ALPHA_COLOR_VARS on both platforms).\n const semanticVarName = `--kits-${value}`;\n if (_activeColorMap[semanticVarName]) {\n return _activeColorMap[semanticVarName]!;\n }\n\n // Unresolved token-shaped string: surface it in dev, return unchanged.\n if (__DEV__ && looksLikeUnresolvedToken(value)) warnUnresolvedToken(value);\n\n return value;\n}\nexport function createStyleContext(): StyleContext {\n const { width, height } = Dimensions.get('window');\n\n const orientation = width > height ? 'landscape' : 'portrait';\n const device = Math.min(width, height) >= 768 ? 'tablet' : 'phone';\n\n return {\n platform: Platform.OS as 'ios' | 'android',\n width,\n height,\n orientation,\n device,\n breakpoint: getCurrentBreakpoint(width),\n };\n}\nexport const getCurrentBreakpoint = (\n width: number\n): keyof typeof breakpoints => {\n const entries = Object.entries(breakpoints)\n .sort((a, b) => b[1] - a[1]);\n\n for (const [key, value] of entries) {\n if (width >= value) return key as keyof typeof breakpoints;\n }\n return 'base';\n};\n\nconst breakpointOrder: (keyof typeof breakpoints)[] = [\n 'base',\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n 'xxl',\n 'xxxl',\n];\n\n// ---------------------------------------------------------------------------\n// CSS unit → React Native value conversion\n// RN only accepts numbers (dp) or percentage strings for most layout props.\n// 1rem = 16dp baseline, 1em = 16dp baseline, px is stripped to a number.\n// Percentages (e.g. \"50%\") are passed through — RN supports them for dimensions.\n// CSS variables var(--*) are resolved via CSS_VAR_MAP to their native values.\n// ---------------------------------------------------------------------------\nexport function toNativeValue(value: any): any {\n if (typeof value !== 'string') return value;\n if (value === '0') return 0;\n\n // Theme token resolution: 'blue.500', 'primary', '$spacing.4',\n // 'on-primary', 'surface-subtle', and any other consumer-declared\n // semantic token.\n //\n // We try resolution UNCONDITIONALLY on every string value — the old\n // `isThemeToken(value)` gate only recognised the 15 built-in semantic\n // names hardcoded in the types package, so consumer-extended tokens\n // (registered via `extendTheme({ semanticTokens: {...} })`) silently\n // fell through to RN as raw strings and rendered as invalid colors.\n //\n // `resolveThemeTokenForNative` is a safe no-op when the input isn't\n // in the active color map: it returns the input unchanged, so CSS\n // keywords like 'flex-start' / 'row-reverse' / 'space-between' and\n // layout strings pass through without side effects.\n const resolvedToken = resolveThemeTokenForNative(value);\n if (resolvedToken !== value) return toNativeValue(resolvedToken);\n\n // CSS variable resolution: var(--xyz) → resolved hex color or value\n if (value.startsWith('var(')) {\n const resolved = resolveCssVar(value);\n // If resolution returned something different, recurse (it might be a rem value etc.)\n return resolved !== value ? toNativeValue(resolved) : value;\n }\n\n // rem → number (1rem = 16dp)\n const remMatch = value.match(/^(-?\\d*\\.?\\d+)rem$/);\n if (remMatch) return parseFloat(remMatch[1]!) * 16;\n\n // em → number (1em = 16dp baseline)\n const emMatch = value.match(/^(-?\\d*\\.?\\d+)em$/);\n if (emMatch) return parseFloat(emMatch[1]!) * 16;\n\n // px → number\n const pxMatch = value.match(/^(-?\\d*\\.?\\d+)px$/);\n if (pxMatch) return parseFloat(pxMatch[1]!);\n\n // pc (pica) → number (1pc = 12pt = 16dp)\n const pcMatch = value.match(/^(-?\\d*\\.?\\d+)pc$/);\n if (pcMatch) return parseFloat(pcMatch[1]!) * 16;\n\n // pure number string → number\n const numMatch = value.match(/^(-?\\d*\\.?\\d+)$/);\n if (numMatch) return parseFloat(numMatch[1]!);\n\n // Percentage strings, keywords, colors — pass through\n return value;\n}\n\ntype ParsedBorder = {\n borderWidth?: number;\n borderStyle?: 'solid' | 'dotted' | 'dashed';\n borderColor?: string;\n};\n\nconst BORDER_STYLES = [\"solid\", \"dashed\", \"dotted\", \"double\", \"groove\", \"ridge\", \"inset\", \"outset\"];\n\n// Extract numeric border width, with rem/em/px unit conversion\nfunction extractBorderWidth(part: string): number | undefined {\n // rem\n const remMatch = part.match(/^(\\d+(\\.\\d+)?)rem$/);\n if (remMatch) return parseFloat(remMatch[1]!) * 16;\n // em\n const emMatch = part.match(/^(\\d+(\\.\\d+)?)em$/);\n if (emMatch) return parseFloat(emMatch[1]!) * 16;\n // px or bare number\n const match = part.match(/^(\\d+(\\.\\d+)?)(px)?$/);\n if (!match) return undefined;\n const n = Number(match[1]);\n return Number.isFinite(n) ? n : undefined;\n}\n\nconst parseBorder = (value: string): ParsedBorder => {\n if (!value || typeof value !== \"string\") return {};\n\n const parts = value.trim().split(/\\s+/);\n\n let borderWidth: number | undefined;\n let borderStyle: \"solid\" | \"dotted\" | \"dashed\" | undefined;\n let borderColor: string | undefined;\n\n for (const part of parts) {\n // Detect width (e.g., \"1px\", \"2rem\", \"0.5em\", \"0\", \"5\", etc.)\n if (!borderWidth && /^(\\d+(\\.\\d+)?(px|em|rem|%)?)$/.test(part)) {\n const extracted = extractBorderWidth(part);\n if (extracted !== undefined) {\n borderWidth = extracted;\n continue;\n }\n continue;\n }\n\n // Detect style\n if (!borderStyle && BORDER_STYLES.includes(part)) {\n borderStyle = part as \"solid\" | \"dotted\" | \"dashed\";\n continue;\n }\n\n // Detect color (hex, rgb, rgba, hsl, named colors — not CSS vars)\n if (\n !borderColor &&\n (/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(part) ||\n /^rgb(a)?\\(/.test(part) ||\n /^hsl(a)?\\(/.test(part) ||\n /^[a-zA-Z]+$/.test(part))\n ) {\n borderColor = part;\n }\n }\n\n return { borderWidth, borderStyle, borderColor };\n};\n\nconst isPrimitive = (v: any) =>\n typeof v === 'number' || typeof v === 'string';\n\nexport function resolveResponsiveValue<T>(\n input: any,\n ctx: StyleContext\n): T | undefined {\n\n // 1. Direct value\n if (input == null || isPrimitive(input)) {\n return input as T;\n }\n\n // 2. Array syntax — cascade like CSS: find the last defined value at or\n // before the current breakpoint index, matching web's min-width cascade.\n if (Array.isArray(input)) {\n const index = breakpointOrder.indexOf(ctx.breakpoint);\n for (let i = index; i >= 0; i--) {\n const val = input[i];\n if (val !== null && val !== undefined) return val as T;\n }\n return undefined;\n }\n\n // 3. Platform\n if (ctx.platform in input) {\n return resolveResponsiveValue(input[ctx.platform], ctx);\n }\n\n // 4. Device\n if (ctx.device in input) {\n return resolveResponsiveValue(input[ctx.device], ctx);\n }\n\n // 5. Orientation\n if (ctx.orientation in input) {\n return resolveResponsiveValue(input[ctx.orientation], ctx);\n }\n\n // 6. Breakpoints (fallback chain)\n for (\n let i = breakpointOrder.indexOf(ctx.breakpoint);\n i >= 0;\n i--\n ) {\n const bp = breakpointOrder[i];\n if (bp && bp in input) return input[bp];\n }\n\n return undefined;\n}\n\nconst resolveSizing = (value: any, key: string, ctx: StyleContext) => {\n if (value === 'full') return '100%';\n if (value === 'screen') {\n const isH = key === 'h' || key === 'height' || key === 'minH' || key === 'maxH';\n return isH ? ctx.height : ctx.width;\n }\n return toNativeValue(value);\n};\n\nconst parseBorderSide = (resolved: string, side: string): Record<string, any> => {\n const parsed = parseBorder(resolved);\n const styles: Record<string, any> = {};\n if (parsed.borderWidth !== undefined) styles[`${side}Width`] = parsed.borderWidth;\n if (parsed.borderColor) styles[`${side}Color`] = parsed.borderColor;\n if (parsed.borderStyle) styles[`${side}Style`] = parsed.borderStyle;\n return styles;\n};\n\nexport const style = (props: IStyleClasses, externalCtx?: StyleContext) => {\n const ctx = externalCtx ?? createStyleContext();\n const finalStyles: Partial<ViewStyle> = {};\n const transforms: { [key: string]: any }[] = [];\n const apply = (key: string, value: any) => {\n const mapped = mapCssProperties[key];\n if (!mapped) return;\n const converted = toNativeValue(value);\n (finalStyles as Record<string, any>)[mapped] = converted;\n };\n\n Object.entries(props).forEach(([key, val]) => {\n if (val === undefined || key.startsWith('_')) return;\n\n const resolved = resolveResponsiveValue<any>(val, ctx);\n if (resolved === undefined) return;\n\n switch (key) {\n // Margin shorthands\n case 'mx':\n finalStyles.marginLeft = toNativeValue(resolved);\n finalStyles.marginRight = toNativeValue(resolved);\n break;\n case 'my':\n finalStyles.marginTop = toNativeValue(resolved);\n finalStyles.marginBottom = toNativeValue(resolved);\n break;\n\n // Padding shorthands\n case 'px':\n finalStyles.paddingLeft = toNativeValue(resolved);\n finalStyles.paddingRight = toNativeValue(resolved);\n break;\n case 'py':\n finalStyles.paddingTop = toNativeValue(resolved);\n finalStyles.paddingBottom = toNativeValue(resolved);\n break;\n\n // Sizing with \"full\"/\"screen\" support\n case 'w':\n case 'width':\n finalStyles.width = resolveSizing(resolved, key, ctx);\n break;\n case 'h':\n case 'height':\n finalStyles.height = resolveSizing(resolved, key, ctx);\n break;\n case 'minW':\n case 'minWidth':\n finalStyles.minWidth = resolveSizing(resolved, key, ctx);\n break;\n case 'maxW':\n case 'maxWidth':\n finalStyles.maxWidth = resolveSizing(resolved, key, ctx);\n break;\n case 'minH':\n case 'minHeight':\n finalStyles.minHeight = resolveSizing(resolved, key, ctx);\n break;\n case 'maxH':\n case 'maxHeight':\n finalStyles.maxHeight = resolveSizing(resolved, key, ctx);\n break;\n\n // Opacity normalization (0-100 -> 0-1)\n case 'opacity':\n finalStyles.opacity = typeof resolved === 'number' ? resolved / 100 : resolved;\n break;\n\n // Border shorthand\n case 'border':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorder(resolved));\n }\n break;\n // Border side-specific\n case 'borderTop':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderTop'));\n }\n break;\n case 'borderBottom':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderBottom'));\n }\n break;\n case 'borderLeft':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderLeft'));\n }\n break;\n case 'borderRight':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderRight'));\n }\n break;\n // Border X/Y shorthands\n case 'borderX':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderLeft'));\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderRight'));\n }\n break;\n case 'borderY':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderTop'));\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderBottom'));\n }\n break;\n\n // Border radius shorthands\n case 'borderRadiusTop':\n finalStyles.borderTopLeftRadius = toNativeValue(resolved);\n finalStyles.borderTopRightRadius = toNativeValue(resolved);\n break;\n case 'borderRadiusBottom':\n finalStyles.borderBottomLeftRadius = toNativeValue(resolved);\n finalStyles.borderBottomRightRadius = toNativeValue(resolved);\n break;\n case 'borderRadiusLeft':\n finalStyles.borderTopLeftRadius = toNativeValue(resolved);\n finalStyles.borderBottomLeftRadius = toNativeValue(resolved);\n break;\n case 'borderRadiusRight':\n finalStyles.borderTopRightRadius = toNativeValue(resolved);\n finalStyles.borderBottomRightRadius = toNativeValue(resolved);\n break;\n\n // Transform props -> RN transform array\n case 'translateX':\n transforms.push({ translateX: typeof resolved === 'string' ? parseFloat(resolved) || 0 : resolved });\n break;\n case 'translateY':\n transforms.push({ translateY: typeof resolved === 'string' ? parseFloat(resolved) || 0 : resolved });\n break;\n case 'rotate':\n transforms.push({ rotate: typeof resolved === 'number' ? `${resolved}deg` : resolved });\n break;\n\n // Cross-platform shadow preset → native shadow props (shadowColor /\n // shadowOffset / shadowOpacity / shadowRadius / elevation). The scale is\n // published by the native KitsThemeProvider from `theme.shadows`.\n case 'shadow':\n if (typeof resolved === 'string' && isShadowPreset(resolved)) {\n Object.assign(finalStyles, expandShadowNative(resolved));\n }\n break;\n\n default:\n apply(key, resolved);\n break;\n }\n });\n\n if (transforms.length > 0) {\n finalStyles.transform = transforms as any;\n }\n\n return finalStyles;\n};\n"],"names":["mapCssProperties"],"mappings":"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"}
1
+ {"version":3,"file":"style.js","sources":["../../../../../../../../../apps/mobile/src/Factory/helpers/style.ts"],"sourcesContent":["import { Dimensions, Platform, type ViewStyle } from 'react-native';\nimport { breakpoints, expandShadowNative, isShadowPreset, type IStyleClasses, mapCssProperties } from '@lmb-it/kitsconcerto-types';\nimport { CSS_VAR_MAP } from './cssVarMap';\n\n// Dynamic color map — defaults to static CSS_VAR_MAP, overridden by KitsThemeProvider\nlet _activeColorMap: Record<string, string> = CSS_VAR_MAP;\n\n/** Sets the active color map (called by KitsThemeProvider on native) */\nexport function setActiveColorMap(map: Record<string, string>) {\n _activeColorMap = map;\n}\n\n/** Returns the active color map */\nexport function getActiveColorMap(): Record<string, string> {\n return _activeColorMap;\n}\n\nexport type StyleContext = {\n platform: 'ios' | 'android';\n width: number;\n height: number;\n orientation: 'portrait' | 'landscape';\n device: 'phone' | 'tablet';\n breakpoint: keyof typeof breakpoints;\n};\n\n/**\n * Strips the `var()` wrapper from a CSS variable string.\n * e.g. `var(--primary-500)` → `--primary-500`\n */\nexport const normalizeColor = (color: string): string => {\n const match = color.match(/^var\\((--[^)]+)\\)$/);\n return match ? match[1]! : color;\n};\n\n/**\n * Resolves a CSS variable `var(--xyz)` to its native hex value via the active color map.\n * Non-variable strings are returned unchanged.\n */\nexport function resolveCssVar(value: string): string {\n const varMatch = value.match(/^var\\(\\s*(--[^)]+)\\s*\\)$/);\n if (!varMatch) return value;\n const varName = varMatch[1]!;\n const resolved = _activeColorMap[varName] ?? CSS_VAR_MAP[varName];\n if (resolved != null) return resolved;\n if (__DEV__) warnUnresolvedToken(value);\n return value;\n}\n\n// ── Dev-only unresolved-token warning ──────────────────────────────────────\n// Surfaces the silent-failure class where a token is advertised by the type\n// system (ColorValue, $-prefix tokens, …) but the active theme never builds\n// it, so RN receives the raw string and renders nothing. Deduped per token\n// per session; zero cost in production (guarded by __DEV__, which bundlers\n// strip). Never changes the returned value — callers see identical behavior.\nconst _warnedTokens = new Set<string>();\n\nfunction warnUnresolvedToken(token: string): void {\n if (_warnedTokens.has(token)) return;\n _warnedTokens.add(token);\n // eslint-disable-next-line no-console\n console.warn(`[KitsConcerto] Unresolved theme token: \"${token}\"`);\n}\n\n// Only warn for strings that clearly *intended* to be a token — otherwise\n// `toNativeValue` (which runs this on every style string) would warn on plain\n// CSS keywords like 'flex-start', 'row-reverse', '50%'. `var(--x)` is handled\n// by resolveCssVar, not here.\nfunction looksLikeUnresolvedToken(v: string): boolean {\n return (\n /^[a-zA-Z]+\\.\\d+$/.test(v) || // dot-notation: blue.500\n v.startsWith('$') || // $spacing.4, $radii.lg\n /-alpha-\\d+$/.test(v) // white-alpha-60 / black-alpha-90\n );\n}\n\n/**\n * Resolves theme tokens (dot-notation, semantic, $-prefixed) to native values.\n * - 'blue.500' → lookup --kits-blue-500 in color map\n * - 'primary' → lookup --kits-primary in color map\n * - '$spacing.4' → '1rem' (then further converted by toNativeValue)\n */\nexport function resolveThemeTokenForNative(value: string): string {\n // Dot-notation: blue.500\n const dotMatch = value.match(/^([a-zA-Z]+)\\.(\\d+)$/);\n if (dotMatch) {\n const varName = `--kits-${dotMatch[1]}-${dotMatch[2]}`;\n return _activeColorMap[varName] ?? value;\n }\n\n // $-prefixed tokens: $spacing.4, $radii.lg, etc.\n if (value.startsWith('$')) {\n const dotIdx = value.indexOf('.');\n if (dotIdx > 1) {\n const category = value.substring(1, dotIdx);\n const key = value.substring(dotIdx + 1);\n switch (category) {\n case 'spacing': {\n const varName = `--kits-space-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n case 'radii': {\n const varName = `--kits-radii-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n case 'shadows': {\n const varName = `--kits-shadow-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n case 'fontSizes': {\n const varName = `--kits-fontSize-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n case 'fonts': {\n const varName = `--kits-font-${key}`;\n return _activeColorMap[varName] ?? value;\n }\n }\n }\n }\n\n // Semantic tokens: 'primary', 'danger', etc.\n // Also resolves alpha families ('white-alpha-60' → '--kits-white-alpha-60',\n // built into the color map from ALPHA_COLOR_VARS on both platforms).\n const semanticVarName = `--kits-${value}`;\n if (_activeColorMap[semanticVarName]) {\n return _activeColorMap[semanticVarName]!;\n }\n\n // Unresolved token-shaped string: surface it in dev, return unchanged.\n if (__DEV__ && looksLikeUnresolvedToken(value)) warnUnresolvedToken(value);\n\n return value;\n}\nexport function createStyleContext(): StyleContext {\n const { width, height } = Dimensions.get('window');\n\n const orientation = width > height ? 'landscape' : 'portrait';\n const device = Math.min(width, height) >= 768 ? 'tablet' : 'phone';\n\n return {\n platform: Platform.OS as 'ios' | 'android',\n width,\n height,\n orientation,\n device,\n breakpoint: getCurrentBreakpoint(width),\n };\n}\nexport const getCurrentBreakpoint = (\n width: number\n): keyof typeof breakpoints => {\n const entries = Object.entries(breakpoints)\n .sort((a, b) => b[1] - a[1]);\n\n for (const [key, value] of entries) {\n if (width >= value) return key as keyof typeof breakpoints;\n }\n return 'base';\n};\n\nconst breakpointOrder: (keyof typeof breakpoints)[] = [\n 'base',\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n 'xxl',\n 'xxxl',\n];\n\n// ---------------------------------------------------------------------------\n// CSS unit → React Native value conversion\n// RN only accepts numbers (dp) or percentage strings for most layout props.\n// 1rem = 16dp baseline, 1em = 16dp baseline, px is stripped to a number.\n// Percentages (e.g. \"50%\") are passed through — RN supports them for dimensions.\n// CSS variables var(--*) are resolved via CSS_VAR_MAP to their native values.\n// ---------------------------------------------------------------------------\nexport function toNativeValue(value: any): any {\n if (typeof value !== 'string') return value;\n if (value === '0') return 0;\n\n // Theme token resolution: 'blue.500', 'primary', '$spacing.4',\n // 'on-primary', 'surface-subtle', and any other consumer-declared\n // semantic token.\n //\n // We try resolution UNCONDITIONALLY on every string value — the old\n // `isThemeToken(value)` gate only recognised the 15 built-in semantic\n // names hardcoded in the types package, so consumer-extended tokens\n // (registered via `extendTheme({ semanticTokens: {...} })`) silently\n // fell through to RN as raw strings and rendered as invalid colors.\n //\n // `resolveThemeTokenForNative` is a safe no-op when the input isn't\n // in the active color map: it returns the input unchanged, so CSS\n // keywords like 'flex-start' / 'row-reverse' / 'space-between' and\n // layout strings pass through without side effects.\n const resolvedToken = resolveThemeTokenForNative(value);\n if (resolvedToken !== value) return toNativeValue(resolvedToken);\n\n // CSS variable resolution: var(--xyz) → resolved hex color or value\n if (value.startsWith('var(')) {\n const resolved = resolveCssVar(value);\n // If resolution returned something different, recurse (it might be a rem value etc.)\n return resolved !== value ? toNativeValue(resolved) : value;\n }\n\n // rem → number (1rem = 16dp)\n const remMatch = value.match(/^(-?\\d*\\.?\\d+)rem$/);\n if (remMatch) return parseFloat(remMatch[1]!) * 16;\n\n // em → number (1em = 16dp baseline)\n const emMatch = value.match(/^(-?\\d*\\.?\\d+)em$/);\n if (emMatch) return parseFloat(emMatch[1]!) * 16;\n\n // px → number\n const pxMatch = value.match(/^(-?\\d*\\.?\\d+)px$/);\n if (pxMatch) return parseFloat(pxMatch[1]!);\n\n // pc (pica) → number (1pc = 12pt = 16dp)\n const pcMatch = value.match(/^(-?\\d*\\.?\\d+)pc$/);\n if (pcMatch) return parseFloat(pcMatch[1]!) * 16;\n\n // pure number string → number\n const numMatch = value.match(/^(-?\\d*\\.?\\d+)$/);\n if (numMatch) return parseFloat(numMatch[1]!);\n\n // Percentage strings, keywords, colors — pass through\n return value;\n}\n\ntype ParsedBorder = {\n borderWidth?: number;\n borderStyle?: 'solid' | 'dotted' | 'dashed';\n borderColor?: string;\n};\n\nconst BORDER_STYLES = [\"solid\", \"dashed\", \"dotted\", \"double\", \"groove\", \"ridge\", \"inset\", \"outset\"];\n\n// Extract numeric border width, with rem/em/px unit conversion\nfunction extractBorderWidth(part: string): number | undefined {\n // rem\n const remMatch = part.match(/^(\\d+(\\.\\d+)?)rem$/);\n if (remMatch) return parseFloat(remMatch[1]!) * 16;\n // em\n const emMatch = part.match(/^(\\d+(\\.\\d+)?)em$/);\n if (emMatch) return parseFloat(emMatch[1]!) * 16;\n // px or bare number\n const match = part.match(/^(\\d+(\\.\\d+)?)(px)?$/);\n if (!match) return undefined;\n const n = Number(match[1]);\n return Number.isFinite(n) ? n : undefined;\n}\n\nconst parseBorder = (value: string): ParsedBorder => {\n if (!value || typeof value !== \"string\") return {};\n\n const parts = value.trim().split(/\\s+/);\n\n let borderWidth: number | undefined;\n let borderStyle: \"solid\" | \"dotted\" | \"dashed\" | undefined;\n let borderColor: string | undefined;\n\n for (const part of parts) {\n // Detect width (e.g., \"1px\", \"2rem\", \"0.5em\", \"0\", \"5\", etc.)\n if (!borderWidth && /^(\\d+(\\.\\d+)?(px|em|rem|%)?)$/.test(part)) {\n const extracted = extractBorderWidth(part);\n if (extracted !== undefined) {\n borderWidth = extracted;\n continue;\n }\n continue;\n }\n\n // Detect style\n if (!borderStyle && BORDER_STYLES.includes(part)) {\n borderStyle = part as \"solid\" | \"dotted\" | \"dashed\";\n continue;\n }\n\n // Detect color (hex, rgb, rgba, hsl, named colors — not CSS vars)\n if (\n !borderColor &&\n (/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(part) ||\n /^rgb(a)?\\(/.test(part) ||\n /^hsl(a)?\\(/.test(part) ||\n /^[a-zA-Z]+$/.test(part))\n ) {\n borderColor = part;\n }\n }\n\n return { borderWidth, borderStyle, borderColor };\n};\n\nconst isPrimitive = (v: any) =>\n typeof v === 'number' || typeof v === 'string';\n\nexport function resolveResponsiveValue<T>(\n input: any,\n ctx: StyleContext\n): T | undefined {\n\n // 1. Direct value\n if (input == null || isPrimitive(input)) {\n return input as T;\n }\n\n // 2. Array syntax — cascade like CSS: find the last defined value at or\n // before the current breakpoint index, matching web's min-width cascade.\n if (Array.isArray(input)) {\n const index = breakpointOrder.indexOf(ctx.breakpoint);\n for (let i = index; i >= 0; i--) {\n const val = input[i];\n if (val !== null && val !== undefined) return val as T;\n }\n return undefined;\n }\n\n // 3. Platform\n if (ctx.platform in input) {\n return resolveResponsiveValue(input[ctx.platform], ctx);\n }\n\n // 4. Device\n if (ctx.device in input) {\n return resolveResponsiveValue(input[ctx.device], ctx);\n }\n\n // 5. Orientation\n if (ctx.orientation in input) {\n return resolveResponsiveValue(input[ctx.orientation], ctx);\n }\n\n // 6. Breakpoints (fallback chain)\n for (\n let i = breakpointOrder.indexOf(ctx.breakpoint);\n i >= 0;\n i--\n ) {\n const bp = breakpointOrder[i];\n if (bp && bp in input) return input[bp];\n }\n\n return undefined;\n}\n\nconst resolveSizing = (value: any, key: string, ctx: StyleContext) => {\n if (value === 'full') return '100%';\n if (value === 'screen') {\n const isH = key === 'h' || key === 'height' || key === 'minH' || key === 'maxH';\n return isH ? ctx.height : ctx.width;\n }\n return toNativeValue(value);\n};\n\nconst parseBorderSide = (resolved: string, side: string): Record<string, any> => {\n const parsed = parseBorder(resolved);\n const styles: Record<string, any> = {};\n if (parsed.borderWidth !== undefined) styles[`${side}Width`] = parsed.borderWidth;\n if (parsed.borderColor) styles[`${side}Color`] = parsed.borderColor;\n if (parsed.borderStyle) styles[`${side}Style`] = parsed.borderStyle;\n return styles;\n};\n\nexport const style = (props: IStyleClasses, externalCtx?: StyleContext) => {\n const ctx = externalCtx ?? createStyleContext();\n const finalStyles: Partial<ViewStyle> = {};\n const transforms: { [key: string]: any }[] = [];\n const apply = (key: string, value: any) => {\n const mapped = mapCssProperties[key];\n if (!mapped) return;\n const converted = toNativeValue(value);\n (finalStyles as Record<string, any>)[mapped] = converted;\n };\n\n Object.entries(props).forEach(([key, val]) => {\n if (val === undefined || key.startsWith('_')) return;\n\n const resolved = resolveResponsiveValue<any>(val, ctx);\n if (resolved === undefined) return;\n\n switch (key) {\n // Margin shorthands\n case 'mx':\n finalStyles.marginLeft = toNativeValue(resolved);\n finalStyles.marginRight = toNativeValue(resolved);\n break;\n case 'my':\n finalStyles.marginTop = toNativeValue(resolved);\n finalStyles.marginBottom = toNativeValue(resolved);\n break;\n\n // Padding shorthands\n case 'px':\n finalStyles.paddingLeft = toNativeValue(resolved);\n finalStyles.paddingRight = toNativeValue(resolved);\n break;\n case 'py':\n finalStyles.paddingTop = toNativeValue(resolved);\n finalStyles.paddingBottom = toNativeValue(resolved);\n break;\n\n // Sizing with \"full\"/\"screen\" support\n case 'w':\n case 'width':\n finalStyles.width = resolveSizing(resolved, key, ctx);\n break;\n case 'h':\n case 'height':\n finalStyles.height = resolveSizing(resolved, key, ctx);\n break;\n case 'minW':\n case 'minWidth':\n finalStyles.minWidth = resolveSizing(resolved, key, ctx);\n break;\n case 'maxW':\n case 'maxWidth':\n finalStyles.maxWidth = resolveSizing(resolved, key, ctx);\n break;\n case 'minH':\n case 'minHeight':\n finalStyles.minHeight = resolveSizing(resolved, key, ctx);\n break;\n case 'maxH':\n case 'maxHeight':\n finalStyles.maxHeight = resolveSizing(resolved, key, ctx);\n break;\n\n // Opacity normalization (0-100 -> 0-1)\n case 'opacity':\n finalStyles.opacity = typeof resolved === 'number' ? resolved / 100 : resolved;\n break;\n\n // Border shorthand\n case 'border':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorder(resolved));\n }\n break;\n // Border side-specific\n case 'borderTop':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderTop'));\n }\n break;\n case 'borderBottom':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderBottom'));\n }\n break;\n case 'borderLeft':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderLeft'));\n }\n break;\n case 'borderRight':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderRight'));\n }\n break;\n // Border X/Y shorthands\n case 'borderX':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderLeft'));\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderRight'));\n }\n break;\n case 'borderY':\n if (typeof resolved === 'string') {\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderTop'));\n Object.assign(finalStyles, parseBorderSide(resolved, 'borderBottom'));\n }\n break;\n\n // Border radius shorthands\n case 'borderRadiusTop':\n finalStyles.borderTopLeftRadius = toNativeValue(resolved);\n finalStyles.borderTopRightRadius = toNativeValue(resolved);\n break;\n case 'borderRadiusBottom':\n finalStyles.borderBottomLeftRadius = toNativeValue(resolved);\n finalStyles.borderBottomRightRadius = toNativeValue(resolved);\n break;\n case 'borderRadiusLeft':\n finalStyles.borderTopLeftRadius = toNativeValue(resolved);\n finalStyles.borderBottomLeftRadius = toNativeValue(resolved);\n break;\n case 'borderRadiusRight':\n finalStyles.borderTopRightRadius = toNativeValue(resolved);\n finalStyles.borderBottomRightRadius = toNativeValue(resolved);\n break;\n\n // Transform props -> RN transform array\n case 'translateX':\n transforms.push({ translateX: typeof resolved === 'string' ? parseFloat(resolved) || 0 : resolved });\n break;\n case 'translateY':\n transforms.push({ translateY: typeof resolved === 'string' ? parseFloat(resolved) || 0 : resolved });\n break;\n case 'rotate':\n transforms.push({ rotate: typeof resolved === 'number' ? `${resolved}deg` : resolved });\n break;\n\n // Cross-platform shadow preset → native shadow props (shadowColor /\n // shadowOffset / shadowOpacity / shadowRadius / elevation). The scale is\n // published by the native KitsThemeProvider from `theme.shadows`.\n case 'shadow':\n if (typeof resolved === 'string' && isShadowPreset(resolved)) {\n Object.assign(finalStyles, expandShadowNative(resolved));\n }\n break;\n\n default:\n apply(key, resolved);\n break;\n }\n });\n\n if (transforms.length > 0) {\n finalStyles.transform = transforms as any;\n }\n\n return finalStyles;\n};\n"],"names":["mapCssProperties"],"mappings":"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"}
@@ -10,6 +10,7 @@ require('yup');
10
10
  var index_native = require('../../../../packages/types/src/Css/map/index.cjs');
11
11
  require('../../../../packages/types/src/Theme/shadows.cjs');
12
12
  require('../../../../packages/types/src/Theme/defaultTheme.cjs');
13
+ require('../../../../packages/types/src/Theme/resolvers.cjs');
13
14
  require('../../../../packages/types/src/Theme/alphaColors.cjs');
14
15
 
15
16
  const split = (props) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useSeparator.cjs","sources":["../../../../../../../../apps/mobile/src/Factory/useSeparator.ts"],"sourcesContent":["import { type IStyleClasses, mapCssProperties } from \"@lmb-it/kitsconcerto-types\";\n\nexport interface IUseSeparator<T> {\n cssProps: IStyleClasses;\n nativeProps: T;\n}\n\n/**\n * Split incoming props into styling-related props (cssProps)\n * and component-specific props (nativeProps).\n */\nexport const split = <T extends Record<string, any>>(props: Record<string, any>): IUseSeparator<T> => {\n const cssProps: IStyleClasses = {} as IStyleClasses;\n const nativeProps = {} as T;\n\n for (const key in props) {\n if (key in mapCssProperties) {\n (cssProps as any)[key] = props[key];\n } else {\n (nativeProps as any)[key] = props[key];\n }\n }\n\n return { cssProps, nativeProps };\n};\n\n/**\n * Main hook: returns separated cssProps and nativeProps\n */\nexport const useSeparator = <T extends Record<string, any>>(props: Record<string, any>): IUseSeparator<T> => {\n return split<T>(props);\n};\n\nexport default useSeparator;\n"],"names":["mapCssProperties"],"mappings":";;;;;;;;;;;;;;AAWO,MAAM,KAAA,GAAQ,CAAgC,KAAA,KAAiD;AACpG,EAAA,MAAM,WAA0B,EAAC;AACjC,EAAA,MAAM,cAAc,EAAC;AAErB,EAAA,KAAA,MAAW,OAAO,KAAA,EAAO;AACvB,IAAA,IAAI,OAAOA,oBAAA,EAAkB;AAC3B,MAAC,QAAA,CAAiB,GAAG,CAAA,GAAI,KAAA,CAAM,GAAG,CAAA;AAAA,IACpC,CAAA,MAAO;AACL,MAAC,WAAA,CAAoB,GAAG,CAAA,GAAI,KAAA,CAAM,GAAG,CAAA;AAAA,IACvC;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,UAAU,WAAA,EAAY;AACjC;AAKO,MAAM,YAAA,GAAe,CAAgC,KAAA,KAAiD;AAC3G,EAAA,OAAO,MAAS,KAAK,CAAA;AACvB;;;;;;"}
1
+ {"version":3,"file":"useSeparator.cjs","sources":["../../../../../../../../apps/mobile/src/Factory/useSeparator.ts"],"sourcesContent":["import { type IStyleClasses, mapCssProperties } from \"@lmb-it/kitsconcerto-types\";\n\nexport interface IUseSeparator<T> {\n cssProps: IStyleClasses;\n nativeProps: T;\n}\n\n/**\n * Split incoming props into styling-related props (cssProps)\n * and component-specific props (nativeProps).\n */\nexport const split = <T extends Record<string, any>>(props: Record<string, any>): IUseSeparator<T> => {\n const cssProps: IStyleClasses = {} as IStyleClasses;\n const nativeProps = {} as T;\n\n for (const key in props) {\n if (key in mapCssProperties) {\n (cssProps as any)[key] = props[key];\n } else {\n (nativeProps as any)[key] = props[key];\n }\n }\n\n return { cssProps, nativeProps };\n};\n\n/**\n * Main hook: returns separated cssProps and nativeProps\n */\nexport const useSeparator = <T extends Record<string, any>>(props: Record<string, any>): IUseSeparator<T> => {\n return split<T>(props);\n};\n\nexport default useSeparator;\n"],"names":["mapCssProperties"],"mappings":";;;;;;;;;;;;;;;AAWO,MAAM,KAAA,GAAQ,CAAgC,KAAA,KAAiD;AACpG,EAAA,MAAM,WAA0B,EAAC;AACjC,EAAA,MAAM,cAAc,EAAC;AAErB,EAAA,KAAA,MAAW,OAAO,KAAA,EAAO;AACvB,IAAA,IAAI,OAAOA,oBAAA,EAAkB;AAC3B,MAAC,QAAA,CAAiB,GAAG,CAAA,GAAI,KAAA,CAAM,GAAG,CAAA;AAAA,IACpC,CAAA,MAAO;AACL,MAAC,WAAA,CAAoB,GAAG,CAAA,GAAI,KAAA,CAAM,GAAG,CAAA;AAAA,IACvC;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,UAAU,WAAA,EAAY;AACjC;AAKO,MAAM,YAAA,GAAe,CAAgC,KAAA,KAAiD;AAC3G,EAAA,OAAO,MAAS,KAAK,CAAA;AACvB;;;;;;"}
@@ -6,6 +6,7 @@ import 'yup';
6
6
  import allProperties from '../../../../packages/types/src/Css/map/index.js';
7
7
  import '../../../../packages/types/src/Theme/shadows.js';
8
8
  import '../../../../packages/types/src/Theme/defaultTheme.js';
9
+ import '../../../../packages/types/src/Theme/resolvers.js';
9
10
  import '../../../../packages/types/src/Theme/alphaColors.js';
10
11
 
11
12
  const split = (props) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useSeparator.js","sources":["../../../../../../../../apps/mobile/src/Factory/useSeparator.ts"],"sourcesContent":["import { type IStyleClasses, mapCssProperties } from \"@lmb-it/kitsconcerto-types\";\n\nexport interface IUseSeparator<T> {\n cssProps: IStyleClasses;\n nativeProps: T;\n}\n\n/**\n * Split incoming props into styling-related props (cssProps)\n * and component-specific props (nativeProps).\n */\nexport const split = <T extends Record<string, any>>(props: Record<string, any>): IUseSeparator<T> => {\n const cssProps: IStyleClasses = {} as IStyleClasses;\n const nativeProps = {} as T;\n\n for (const key in props) {\n if (key in mapCssProperties) {\n (cssProps as any)[key] = props[key];\n } else {\n (nativeProps as any)[key] = props[key];\n }\n }\n\n return { cssProps, nativeProps };\n};\n\n/**\n * Main hook: returns separated cssProps and nativeProps\n */\nexport const useSeparator = <T extends Record<string, any>>(props: Record<string, any>): IUseSeparator<T> => {\n return split<T>(props);\n};\n\nexport default useSeparator;\n"],"names":["mapCssProperties"],"mappings":";;;;;;;;;;AAWO,MAAM,KAAA,GAAQ,CAAgC,KAAA,KAAiD;AACpG,EAAA,MAAM,WAA0B,EAAC;AACjC,EAAA,MAAM,cAAc,EAAC;AAErB,EAAA,KAAA,MAAW,OAAO,KAAA,EAAO;AACvB,IAAA,IAAI,OAAOA,aAAA,EAAkB;AAC3B,MAAC,QAAA,CAAiB,GAAG,CAAA,GAAI,KAAA,CAAM,GAAG,CAAA;AAAA,IACpC,CAAA,MAAO;AACL,MAAC,WAAA,CAAoB,GAAG,CAAA,GAAI,KAAA,CAAM,GAAG,CAAA;AAAA,IACvC;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,UAAU,WAAA,EAAY;AACjC;AAKO,MAAM,YAAA,GAAe,CAAgC,KAAA,KAAiD;AAC3G,EAAA,OAAO,MAAS,KAAK,CAAA;AACvB;;;;"}
1
+ {"version":3,"file":"useSeparator.js","sources":["../../../../../../../../apps/mobile/src/Factory/useSeparator.ts"],"sourcesContent":["import { type IStyleClasses, mapCssProperties } from \"@lmb-it/kitsconcerto-types\";\n\nexport interface IUseSeparator<T> {\n cssProps: IStyleClasses;\n nativeProps: T;\n}\n\n/**\n * Split incoming props into styling-related props (cssProps)\n * and component-specific props (nativeProps).\n */\nexport const split = <T extends Record<string, any>>(props: Record<string, any>): IUseSeparator<T> => {\n const cssProps: IStyleClasses = {} as IStyleClasses;\n const nativeProps = {} as T;\n\n for (const key in props) {\n if (key in mapCssProperties) {\n (cssProps as any)[key] = props[key];\n } else {\n (nativeProps as any)[key] = props[key];\n }\n }\n\n return { cssProps, nativeProps };\n};\n\n/**\n * Main hook: returns separated cssProps and nativeProps\n */\nexport const useSeparator = <T extends Record<string, any>>(props: Record<string, any>): IUseSeparator<T> => {\n return split<T>(props);\n};\n\nexport default useSeparator;\n"],"names":["mapCssProperties"],"mappings":";;;;;;;;;;;AAWO,MAAM,KAAA,GAAQ,CAAgC,KAAA,KAAiD;AACpG,EAAA,MAAM,WAA0B,EAAC;AACjC,EAAA,MAAM,cAAc,EAAC;AAErB,EAAA,KAAA,MAAW,OAAO,KAAA,EAAO;AACvB,IAAA,IAAI,OAAOA,aAAA,EAAkB;AAC3B,MAAC,QAAA,CAAiB,GAAG,CAAA,GAAI,KAAA,CAAM,GAAG,CAAA;AAAA,IACpC,CAAA,MAAO;AACL,MAAC,WAAA,CAAoB,GAAG,CAAA,GAAI,KAAA,CAAM,GAAG,CAAA;AAAA,IACvC;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,UAAU,WAAA,EAAY;AACjC;AAKO,MAAM,YAAA,GAAe,CAAgC,KAAA,KAAiD;AAC3G,EAAA,OAAO,MAAS,KAAK,CAAA;AACvB;;;;"}