@hanzogui/web 3.0.6 → 4.4.0

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 (789) hide show
  1. package/dist/cjs/Gui.cjs +57 -53
  2. package/dist/cjs/Gui.native.js +95 -79
  3. package/dist/cjs/Gui.native.js.map +1 -1
  4. package/dist/cjs/_withStableStyle.cjs +52 -42
  5. package/dist/cjs/_withStableStyle.native.js +64 -59
  6. package/dist/cjs/_withStableStyle.native.js.map +1 -1
  7. package/dist/cjs/animationDriverTypes.test-d.cjs +34 -17
  8. package/dist/cjs/animationDriverTypes.test-d.native.js +34 -17
  9. package/dist/cjs/animationDriverTypes.test-d.native.js.map +1 -1
  10. package/dist/cjs/config.cjs +128 -77
  11. package/dist/cjs/config.native.js +150 -108
  12. package/dist/cjs/config.native.js.map +1 -1
  13. package/dist/cjs/constants/accessibilityDirectMap.cjs +17 -15
  14. package/dist/cjs/constants/accessibilityDirectMap.native.js +17 -15
  15. package/dist/cjs/constants/accessibilityDirectMap.native.js.map +1 -1
  16. package/dist/cjs/constants/constants.cjs +18 -16
  17. package/dist/cjs/constants/constants.native.js +18 -16
  18. package/dist/cjs/constants/constants.native.js.map +1 -1
  19. package/dist/cjs/constants/isDevTools.cjs +18 -14
  20. package/dist/cjs/constants/isDevTools.native.js +18 -14
  21. package/dist/cjs/constants/isDevTools.native.js.map +1 -1
  22. package/dist/cjs/contexts/ComponentContext.cjs +24 -20
  23. package/dist/cjs/contexts/ComponentContext.native.js +25 -23
  24. package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
  25. package/dist/cjs/contexts/GroupContext.cjs +12 -10
  26. package/dist/cjs/contexts/GroupContext.native.js +14 -12
  27. package/dist/cjs/contexts/GroupContext.native.js.map +1 -1
  28. package/dist/cjs/createComponent.cjs +1147 -653
  29. package/dist/cjs/createComponent.native.js +1209 -682
  30. package/dist/cjs/createComponent.native.js.map +1 -1
  31. package/dist/cjs/createFont.cjs +33 -27
  32. package/dist/cjs/createFont.native.js +35 -32
  33. package/dist/cjs/createFont.native.js.map +1 -1
  34. package/dist/cjs/createGui.cjs +177 -128
  35. package/dist/cjs/createGui.native.js +220 -167
  36. package/dist/cjs/createGui.native.js.map +1 -1
  37. package/dist/cjs/createShorthands.cjs +12 -10
  38. package/dist/cjs/createShorthands.native.js +12 -10
  39. package/dist/cjs/createShorthands.native.js.map +1 -1
  40. package/dist/cjs/createTokens.cjs +13 -11
  41. package/dist/cjs/createTokens.native.js +14 -12
  42. package/dist/cjs/createTokens.native.js.map +1 -1
  43. package/dist/cjs/createVariable.cjs +58 -32
  44. package/dist/cjs/createVariable.native.js +68 -43
  45. package/dist/cjs/createVariable.native.js.map +1 -1
  46. package/dist/cjs/createVariables.cjs +55 -49
  47. package/dist/cjs/createVariables.native.js +57 -51
  48. package/dist/cjs/createVariables.native.js.map +1 -1
  49. package/dist/cjs/defaultComponentState.cjs +29 -27
  50. package/dist/cjs/defaultComponentState.native.js +29 -27
  51. package/dist/cjs/defaultComponentState.native.js.map +1 -1
  52. package/dist/cjs/eventHandling.cjs +15 -13
  53. package/dist/cjs/eventHandling.native.js +128 -87
  54. package/dist/cjs/eventHandling.native.js.map +1 -1
  55. package/dist/cjs/helpers/consoleLog.native.js +14 -12
  56. package/dist/cjs/helpers/consoleLog.native.js.map +1 -1
  57. package/dist/cjs/helpers/createDesignSystem.cjs +93 -76
  58. package/dist/cjs/helpers/createDesignSystem.native.js +178 -106
  59. package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
  60. package/dist/cjs/helpers/createMediaStyle.cjs +87 -60
  61. package/dist/cjs/helpers/createMediaStyle.native.js +93 -67
  62. package/dist/cjs/helpers/createMediaStyle.native.js.map +1 -1
  63. package/dist/cjs/helpers/createStyledContext.cjs +80 -61
  64. package/dist/cjs/helpers/createStyledContext.native.js +89 -73
  65. package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
  66. package/dist/cjs/helpers/defaultAnimationDriver.cjs +29 -26
  67. package/dist/cjs/helpers/defaultAnimationDriver.native.js +45 -40
  68. package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
  69. package/dist/cjs/helpers/defaultOffset.cjs +12 -10
  70. package/dist/cjs/helpers/defaultOffset.native.js +12 -10
  71. package/dist/cjs/helpers/defaultOffset.native.js.map +1 -1
  72. package/dist/cjs/helpers/expandStyle.cjs +109 -44
  73. package/dist/cjs/helpers/expandStyle.native.js +130 -88
  74. package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
  75. package/dist/cjs/helpers/expandStyles.cjs +37 -23
  76. package/dist/cjs/helpers/expandStyles.native.js +36 -24
  77. package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
  78. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +108 -70
  79. package/dist/cjs/helpers/getCSSStylesAtomic.native.js +17 -15
  80. package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -1
  81. package/dist/cjs/helpers/getDefaultProps.cjs +24 -19
  82. package/dist/cjs/helpers/getDefaultProps.native.js +27 -22
  83. package/dist/cjs/helpers/getDefaultProps.native.js.map +1 -1
  84. package/dist/cjs/helpers/getDynamicVal.cjs +32 -27
  85. package/dist/cjs/helpers/getDynamicVal.native.js +37 -32
  86. package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
  87. package/dist/cjs/helpers/getExpandedShorthands.cjs +15 -11
  88. package/dist/cjs/helpers/getExpandedShorthands.native.js +17 -13
  89. package/dist/cjs/helpers/getExpandedShorthands.native.js.map +1 -1
  90. package/dist/cjs/helpers/getFontLanguage.cjs +12 -10
  91. package/dist/cjs/helpers/getFontLanguage.native.js +12 -10
  92. package/dist/cjs/helpers/getFontLanguage.native.js.map +1 -1
  93. package/dist/cjs/helpers/getGroupPropParts.cjs +27 -18
  94. package/dist/cjs/helpers/getGroupPropParts.native.js +28 -19
  95. package/dist/cjs/helpers/getGroupPropParts.native.js.map +1 -1
  96. package/dist/cjs/helpers/getShorthandValue.cjs +16 -11
  97. package/dist/cjs/helpers/getShorthandValue.native.js +19 -17
  98. package/dist/cjs/helpers/getShorthandValue.native.js.map +1 -1
  99. package/dist/cjs/helpers/getSplitStyles.cjs +982 -455
  100. package/dist/cjs/helpers/getSplitStyles.native.js +1139 -572
  101. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  102. package/dist/cjs/helpers/getThemeCSSRules.cjs +103 -89
  103. package/dist/cjs/helpers/getThemeCSSRules.native.js +12 -10
  104. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +1 -1
  105. package/dist/cjs/helpers/getTokenForKey.cjs +114 -45
  106. package/dist/cjs/helpers/getTokenForKey.native.js +126 -66
  107. package/dist/cjs/helpers/getTokenForKey.native.js.map +1 -1
  108. package/dist/cjs/helpers/getVariantExtras.cjs +56 -44
  109. package/dist/cjs/helpers/getVariantExtras.native.js +56 -44
  110. package/dist/cjs/helpers/getVariantExtras.native.js.map +1 -1
  111. package/dist/cjs/helpers/insertStyleRule.cjs +168 -82
  112. package/dist/cjs/helpers/insertStyleRule.native.js +303 -195
  113. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  114. package/dist/cjs/helpers/isActivePlatform.cjs +33 -14
  115. package/dist/cjs/helpers/isActivePlatform.native.js +33 -14
  116. package/dist/cjs/helpers/isActivePlatform.native.js.map +1 -1
  117. package/dist/cjs/helpers/isActiveTheme.cjs +14 -11
  118. package/dist/cjs/helpers/isActiveTheme.native.js +14 -11
  119. package/dist/cjs/helpers/isActiveTheme.native.js.map +1 -1
  120. package/dist/cjs/helpers/isGuiComponent.cjs +14 -12
  121. package/dist/cjs/helpers/isGuiComponent.native.js +14 -12
  122. package/dist/cjs/helpers/isGuiComponent.native.js.map +1 -1
  123. package/dist/cjs/helpers/isGuiElement.cjs +29 -25
  124. package/dist/cjs/helpers/isGuiElement.native.js +29 -27
  125. package/dist/cjs/helpers/isGuiElement.native.js.map +1 -1
  126. package/dist/cjs/helpers/isObj.cjs +13 -11
  127. package/dist/cjs/helpers/isObj.native.js +14 -12
  128. package/dist/cjs/helpers/isObj.native.js.map +1 -1
  129. package/dist/cjs/helpers/log.cjs +21 -17
  130. package/dist/cjs/helpers/log.native.js +25 -19
  131. package/dist/cjs/helpers/log.native.js.map +1 -1
  132. package/dist/cjs/helpers/mainThreadPressEvents.cjs +13 -11
  133. package/dist/cjs/helpers/mainThreadPressEvents.native.js +111 -26
  134. package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
  135. package/dist/cjs/helpers/matchMedia.cjs +15 -13
  136. package/dist/cjs/helpers/matchMedia.native.js +34 -19
  137. package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
  138. package/dist/cjs/helpers/mediaObjectToString.cjs +30 -14
  139. package/dist/cjs/helpers/mediaObjectToString.native.js +28 -14
  140. package/dist/cjs/helpers/mediaObjectToString.native.js.map +1 -1
  141. package/dist/cjs/helpers/mediaState.cjs +21 -17
  142. package/dist/cjs/helpers/mediaState.native.js +30 -26
  143. package/dist/cjs/helpers/mediaState.native.js.map +1 -1
  144. package/dist/cjs/helpers/mergeProps.cjs +54 -30
  145. package/dist/cjs/helpers/mergeProps.native.js +55 -30
  146. package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
  147. package/dist/cjs/helpers/mergeRenderElementProps.cjs +14 -11
  148. package/dist/cjs/helpers/mergeRenderElementProps.native.js +14 -11
  149. package/dist/cjs/helpers/mergeRenderElementProps.native.js.map +1 -1
  150. package/dist/cjs/helpers/mergeSlotStyleProps.cjs +31 -18
  151. package/dist/cjs/helpers/mergeSlotStyleProps.native.js +32 -19
  152. package/dist/cjs/helpers/mergeSlotStyleProps.native.js.map +1 -1
  153. package/dist/cjs/helpers/mergeVariants.cjs +28 -16
  154. package/dist/cjs/helpers/mergeVariants.native.js +30 -18
  155. package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
  156. package/dist/cjs/helpers/nativeOnlyProps.cjs +12 -10
  157. package/dist/cjs/helpers/nativeOnlyProps.native.js +12 -10
  158. package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
  159. package/dist/cjs/helpers/normalizeColor.cjs +29 -17
  160. package/dist/cjs/helpers/normalizeColor.native.js +33 -30
  161. package/dist/cjs/helpers/normalizeColor.native.js.map +1 -1
  162. package/dist/cjs/helpers/normalizeShadow.cjs +12 -10
  163. package/dist/cjs/helpers/normalizeShadow.native.js +25 -23
  164. package/dist/cjs/helpers/normalizeShadow.native.js.map +1 -1
  165. package/dist/cjs/helpers/normalizeStyle.cjs +27 -20
  166. package/dist/cjs/helpers/normalizeStyle.native.js +34 -28
  167. package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
  168. package/dist/cjs/helpers/normalizeStylePropKeys.cjs +12 -10
  169. package/dist/cjs/helpers/normalizeStylePropKeys.native.js +22 -20
  170. package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +1 -1
  171. package/dist/cjs/helpers/normalizeValueWithProperty.cjs +33 -17
  172. package/dist/cjs/helpers/normalizeValueWithProperty.native.js +34 -18
  173. package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
  174. package/dist/cjs/helpers/objectIdentityKey.cjs +19 -12
  175. package/dist/cjs/helpers/objectIdentityKey.native.js +22 -15
  176. package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
  177. package/dist/cjs/helpers/parseBorderShorthand.cjs +15 -11
  178. package/dist/cjs/helpers/parseBorderShorthand.native.js +52 -24
  179. package/dist/cjs/helpers/parseBorderShorthand.native.js.map +1 -1
  180. package/dist/cjs/helpers/parseNativeStyle.cjs +81 -47
  181. package/dist/cjs/helpers/parseNativeStyle.native.js +129 -90
  182. package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -1
  183. package/dist/cjs/helpers/parseOutlineShorthand.cjs +15 -11
  184. package/dist/cjs/helpers/parseOutlineShorthand.native.js +46 -24
  185. package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -1
  186. package/dist/cjs/helpers/platformResolveValue.cjs +16 -11
  187. package/dist/cjs/helpers/platformResolveValue.native.js +48 -36
  188. package/dist/cjs/helpers/platformResolveValue.native.js.map +1 -1
  189. package/dist/cjs/helpers/pointerEvents.cjs +12 -10
  190. package/dist/cjs/helpers/pointerEvents.native.js +124 -89
  191. package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
  192. package/dist/cjs/helpers/propMapper.cjs +257 -130
  193. package/dist/cjs/helpers/propMapper.native.js +341 -228
  194. package/dist/cjs/helpers/propMapper.native.js.map +1 -1
  195. package/dist/cjs/helpers/proxyThemeToParents.cjs +33 -19
  196. package/dist/cjs/helpers/proxyThemeToParents.native.js +84 -55
  197. package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
  198. package/dist/cjs/helpers/proxyThemeVariables.cjs +13 -11
  199. package/dist/cjs/helpers/proxyThemeVariables.native.js +13 -11
  200. package/dist/cjs/helpers/proxyThemeVariables.native.js.map +1 -1
  201. package/dist/cjs/helpers/pseudoDescriptors.cjs +60 -58
  202. package/dist/cjs/helpers/pseudoDescriptors.native.js +60 -58
  203. package/dist/cjs/helpers/pseudoDescriptors.native.js.map +1 -1
  204. package/dist/cjs/helpers/pseudoTransitions.cjs +50 -32
  205. package/dist/cjs/helpers/pseudoTransitions.native.js +52 -36
  206. package/dist/cjs/helpers/pseudoTransitions.native.js.map +1 -1
  207. package/dist/cjs/helpers/registerCSSVariable.cjs +55 -38
  208. package/dist/cjs/helpers/registerCSSVariable.native.js +60 -45
  209. package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -1
  210. package/dist/cjs/helpers/resolveAnimationDriver.cjs +20 -11
  211. package/dist/cjs/helpers/resolveAnimationDriver.native.js +20 -11
  212. package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -1
  213. package/dist/cjs/helpers/resolveCompoundTokens.cjs +21 -17
  214. package/dist/cjs/helpers/resolveCompoundTokens.native.js +24 -20
  215. package/dist/cjs/helpers/resolveCompoundTokens.native.js.map +1 -1
  216. package/dist/cjs/helpers/resolveRem.cjs +13 -11
  217. package/dist/cjs/helpers/resolveRem.native.js +31 -22
  218. package/dist/cjs/helpers/resolveRem.native.js.map +1 -1
  219. package/dist/cjs/helpers/resolveSafeArea.cjs +12 -10
  220. package/dist/cjs/helpers/resolveSafeArea.native.js +18 -14
  221. package/dist/cjs/helpers/resolveSafeArea.native.js.map +1 -1
  222. package/dist/cjs/helpers/setElementProps.cjs +12 -10
  223. package/dist/cjs/helpers/setElementProps.native.js +19 -13
  224. package/dist/cjs/helpers/setElementProps.native.js.map +1 -1
  225. package/dist/cjs/helpers/skipProps.cjs +23 -14
  226. package/dist/cjs/helpers/skipProps.native.js +39 -30
  227. package/dist/cjs/helpers/skipProps.native.js.map +1 -1
  228. package/dist/cjs/helpers/sortString.cjs +12 -10
  229. package/dist/cjs/helpers/sortString.native.js +12 -10
  230. package/dist/cjs/helpers/sortString.native.js.map +1 -1
  231. package/dist/cjs/helpers/subscribeToContextGroup.cjs +83 -55
  232. package/dist/cjs/helpers/subscribeToContextGroup.native.js +118 -92
  233. package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
  234. package/dist/cjs/helpers/themeable.cjs +75 -48
  235. package/dist/cjs/helpers/themeable.native.js +96 -70
  236. package/dist/cjs/helpers/themeable.native.js.map +1 -1
  237. package/dist/cjs/helpers/themes.cjs +27 -19
  238. package/dist/cjs/helpers/themes.native.js +27 -19
  239. package/dist/cjs/helpers/themes.native.js.map +1 -1
  240. package/dist/cjs/helpers/timer.cjs +13 -11
  241. package/dist/cjs/helpers/timer.native.js +13 -11
  242. package/dist/cjs/helpers/timer.native.js.map +1 -1
  243. package/dist/cjs/helpers/transformsToString.cjs +18 -13
  244. package/dist/cjs/helpers/transformsToString.native.js +18 -13
  245. package/dist/cjs/helpers/transformsToString.native.js.map +1 -1
  246. package/dist/cjs/helpers/useRenderElement.cjs +41 -25
  247. package/dist/cjs/helpers/useRenderElement.native.js +42 -26
  248. package/dist/cjs/helpers/useRenderElement.native.js.map +1 -1
  249. package/dist/cjs/helpers/webPropsToSkip.cjs +12 -10
  250. package/dist/cjs/helpers/webPropsToSkip.native.js +60 -58
  251. package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -1
  252. package/dist/cjs/helpers/wrapStyleTags.cjs +29 -24
  253. package/dist/cjs/helpers/wrapStyleTags.native.js +34 -13
  254. package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
  255. package/dist/cjs/hooks/doesRootSchemeMatchSystem.cjs +13 -11
  256. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js +14 -12
  257. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
  258. package/dist/cjs/hooks/getThemeProxied.cjs +89 -27
  259. package/dist/cjs/hooks/getThemeProxied.native.js +95 -60
  260. package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
  261. package/dist/cjs/hooks/useComponentState.cjs +137 -86
  262. package/dist/cjs/hooks/useComponentState.native.js +141 -97
  263. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  264. package/dist/cjs/hooks/useDisableSSR.cjs +12 -10
  265. package/dist/cjs/hooks/useDisableSSR.native.js +13 -11
  266. package/dist/cjs/hooks/useDisableSSR.native.js.map +1 -1
  267. package/dist/cjs/hooks/useIsTouchDevice.cjs +17 -13
  268. package/dist/cjs/hooks/useIsTouchDevice.native.js +17 -15
  269. package/dist/cjs/hooks/useIsTouchDevice.native.js.map +1 -1
  270. package/dist/cjs/hooks/useMedia.cjs +151 -93
  271. package/dist/cjs/hooks/useMedia.native.js +162 -108
  272. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  273. package/dist/cjs/hooks/useProps.cjs +83 -77
  274. package/dist/cjs/hooks/useProps.native.js +85 -79
  275. package/dist/cjs/hooks/useProps.native.js.map +1 -1
  276. package/dist/cjs/hooks/useTheme.cjs +38 -27
  277. package/dist/cjs/hooks/useTheme.native.js +39 -31
  278. package/dist/cjs/hooks/useTheme.native.js.map +1 -1
  279. package/dist/cjs/hooks/useThemeName.cjs +20 -18
  280. package/dist/cjs/hooks/useThemeName.native.js +24 -22
  281. package/dist/cjs/hooks/useThemeName.native.js.map +1 -1
  282. package/dist/cjs/hooks/useThemeState.cjs +297 -177
  283. package/dist/cjs/hooks/useThemeState.native.js +378 -245
  284. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  285. package/dist/cjs/index.cjs +20 -18
  286. package/dist/cjs/index.native.js +20 -18
  287. package/dist/cjs/index.native.js.map +1 -1
  288. package/dist/cjs/inject-styles.cjs +27 -22
  289. package/dist/cjs/inject-styles.native.js +28 -23
  290. package/dist/cjs/inject-styles.native.js.map +1 -1
  291. package/dist/cjs/insertFont.cjs +49 -31
  292. package/dist/cjs/insertFont.native.js +54 -33
  293. package/dist/cjs/insertFont.native.js.map +1 -1
  294. package/dist/cjs/interfaces/CSSColorNames.cjs +7 -5
  295. package/dist/cjs/interfaces/CSSColorNames.native.js +7 -5
  296. package/dist/cjs/interfaces/CSSColorNames.native.js.map +1 -1
  297. package/dist/cjs/interfaces/GetRef.cjs +7 -5
  298. package/dist/cjs/interfaces/GetRef.native.js +7 -5
  299. package/dist/cjs/interfaces/GetRef.native.js.map +1 -1
  300. package/dist/cjs/interfaces/GuiComponentEvents.cjs +7 -5
  301. package/dist/cjs/interfaces/GuiComponentEvents.native.js +7 -5
  302. package/dist/cjs/interfaces/GuiComponentEvents.native.js.map +1 -1
  303. package/dist/cjs/interfaces/GuiComponentPropsBaseBase.cjs +7 -5
  304. package/dist/cjs/interfaces/GuiComponentPropsBaseBase.native.js +7 -5
  305. package/dist/cjs/interfaces/GuiComponentPropsBaseBase.native.js.map +1 -1
  306. package/dist/cjs/interfaces/RNExclusiveTypes.cjs +7 -5
  307. package/dist/cjs/interfaces/RNExclusiveTypes.native.js +7 -5
  308. package/dist/cjs/interfaces/RNExclusiveTypes.native.js.map +1 -1
  309. package/dist/cjs/setupHooks.cjs +12 -10
  310. package/dist/cjs/setupHooks.native.js +12 -10
  311. package/dist/cjs/setupHooks.native.js.map +1 -1
  312. package/dist/cjs/setupReactNative.cjs +45 -18
  313. package/dist/cjs/setupReactNative.native.js +44 -19
  314. package/dist/cjs/setupReactNative.native.js.map +1 -1
  315. package/dist/cjs/styled.cjs +121 -77
  316. package/dist/cjs/styled.native.js +125 -87
  317. package/dist/cjs/styled.native.js.map +1 -1
  318. package/dist/cjs/styledHtml.test-d.cjs +58 -27
  319. package/dist/cjs/styledHtml.test-d.native.js +58 -27
  320. package/dist/cjs/styledHtml.test-d.native.js.map +1 -1
  321. package/dist/cjs/type-utils.cjs +7 -5
  322. package/dist/cjs/type-utils.native.js +7 -5
  323. package/dist/cjs/type-utils.native.js.map +1 -1
  324. package/dist/cjs/types.cjs +7 -5
  325. package/dist/cjs/types.native.js +7 -5
  326. package/dist/cjs/types.native.js.map +1 -1
  327. package/dist/cjs/views/Configuration.cjs +28 -26
  328. package/dist/cjs/views/Configuration.native.js +39 -37
  329. package/dist/cjs/views/Configuration.native.js.map +1 -1
  330. package/dist/cjs/views/FontLanguage.cjs +22 -18
  331. package/dist/cjs/views/FontLanguage.native.js +34 -32
  332. package/dist/cjs/views/FontLanguage.native.js.map +1 -1
  333. package/dist/cjs/views/GuiProvider.cjs +54 -43
  334. package/dist/cjs/views/GuiProvider.native.js +68 -58
  335. package/dist/cjs/views/GuiProvider.native.js.map +1 -1
  336. package/dist/cjs/views/GuiRoot.cjs +45 -34
  337. package/dist/cjs/views/GuiRoot.native.js +12 -10
  338. package/dist/cjs/views/GuiRoot.native.js.map +1 -1
  339. package/dist/cjs/views/Slot.cjs +55 -37
  340. package/dist/cjs/views/Slot.native.js +57 -41
  341. package/dist/cjs/views/Slot.native.js.map +1 -1
  342. package/dist/cjs/views/Text.cjs +41 -31
  343. package/dist/cjs/views/Text.native.js +40 -32
  344. package/dist/cjs/views/Text.native.js.map +1 -1
  345. package/dist/cjs/views/Theme.cjs +137 -101
  346. package/dist/cjs/views/Theme.native.js +147 -114
  347. package/dist/cjs/views/Theme.native.js.map +1 -1
  348. package/dist/cjs/views/ThemeDebug.cjs +39 -18
  349. package/dist/cjs/views/ThemeDebug.native.js +13 -11
  350. package/dist/cjs/views/ThemeDebug.native.js.map +1 -1
  351. package/dist/cjs/views/ThemeProvider.cjs +29 -24
  352. package/dist/cjs/views/ThemeProvider.native.js +42 -29
  353. package/dist/cjs/views/ThemeProvider.native.js.map +1 -1
  354. package/dist/cjs/views/View.cjs +15 -13
  355. package/dist/cjs/views/View.native.js +18 -16
  356. package/dist/cjs/views/View.native.js.map +1 -1
  357. package/dist/esm/Gui.mjs +29 -27
  358. package/dist/esm/Gui.mjs.map +1 -1
  359. package/dist/esm/Gui.native.js +67 -53
  360. package/dist/esm/Gui.native.js.map +1 -1
  361. package/dist/esm/_withStableStyle.mjs +22 -14
  362. package/dist/esm/_withStableStyle.mjs.map +1 -1
  363. package/dist/esm/_withStableStyle.native.js +26 -23
  364. package/dist/esm/_withStableStyle.native.js.map +1 -1
  365. package/dist/esm/animationDriverTypes.test-d.mjs +34 -17
  366. package/dist/esm/animationDriverTypes.test-d.mjs.map +1 -1
  367. package/dist/esm/animationDriverTypes.test-d.native.js +34 -17
  368. package/dist/esm/animationDriverTypes.test-d.native.js.map +1 -1
  369. package/dist/esm/config.mjs +114 -65
  370. package/dist/esm/config.mjs.map +1 -1
  371. package/dist/esm/config.native.js +136 -96
  372. package/dist/esm/config.native.js.map +1 -1
  373. package/dist/esm/constants/accessibilityDirectMap.mjs +5 -5
  374. package/dist/esm/constants/accessibilityDirectMap.mjs.map +1 -1
  375. package/dist/esm/constants/accessibilityDirectMap.native.js +5 -5
  376. package/dist/esm/constants/accessibilityDirectMap.native.js.map +1 -1
  377. package/dist/esm/constants/constants.mjs +6 -6
  378. package/dist/esm/constants/constants.mjs.map +1 -1
  379. package/dist/esm/constants/constants.native.js +6 -6
  380. package/dist/esm/constants/constants.native.js.map +1 -1
  381. package/dist/esm/constants/isDevTools.mjs +6 -4
  382. package/dist/esm/constants/isDevTools.mjs.map +1 -1
  383. package/dist/esm/constants/isDevTools.native.js +6 -4
  384. package/dist/esm/constants/isDevTools.native.js.map +1 -1
  385. package/dist/esm/contexts/ComponentContext.mjs +10 -8
  386. package/dist/esm/contexts/ComponentContext.mjs.map +1 -1
  387. package/dist/esm/contexts/ComponentContext.native.js +10 -10
  388. package/dist/esm/contexts/ComponentContext.native.js.map +1 -1
  389. package/dist/esm/createComponent.mjs +1090 -598
  390. package/dist/esm/createComponent.mjs.map +1 -1
  391. package/dist/esm/createComponent.native.js +1156 -630
  392. package/dist/esm/createComponent.native.js.map +1 -1
  393. package/dist/esm/createFont.mjs +21 -17
  394. package/dist/esm/createFont.mjs.map +1 -1
  395. package/dist/esm/createFont.native.js +23 -22
  396. package/dist/esm/createFont.native.js.map +1 -1
  397. package/dist/esm/createGui.mjs +154 -107
  398. package/dist/esm/createGui.mjs.map +1 -1
  399. package/dist/esm/createGui.native.js +197 -146
  400. package/dist/esm/createGui.native.js.map +1 -1
  401. package/dist/esm/createTokens.mjs +1 -1
  402. package/dist/esm/createTokens.mjs.map +1 -1
  403. package/dist/esm/createTokens.native.js +2 -2
  404. package/dist/esm/createTokens.native.js.map +1 -1
  405. package/dist/esm/createVariable.mjs +43 -19
  406. package/dist/esm/createVariable.mjs.map +1 -1
  407. package/dist/esm/createVariable.native.js +53 -30
  408. package/dist/esm/createVariable.native.js.map +1 -1
  409. package/dist/esm/createVariables.mjs +40 -36
  410. package/dist/esm/createVariables.mjs.map +1 -1
  411. package/dist/esm/createVariables.native.js +42 -38
  412. package/dist/esm/createVariables.native.js.map +1 -1
  413. package/dist/esm/defaultComponentState.mjs +17 -17
  414. package/dist/esm/defaultComponentState.mjs.map +1 -1
  415. package/dist/esm/defaultComponentState.native.js +17 -17
  416. package/dist/esm/defaultComponentState.native.js.map +1 -1
  417. package/dist/esm/eventHandling.mjs +3 -3
  418. package/dist/esm/eventHandling.mjs.map +1 -1
  419. package/dist/esm/eventHandling.native.js +100 -61
  420. package/dist/esm/eventHandling.native.js.map +1 -1
  421. package/dist/esm/helpers/consoleLog.native.js +2 -2
  422. package/dist/esm/helpers/consoleLog.native.js.map +1 -1
  423. package/dist/esm/helpers/createDesignSystem.mjs +76 -61
  424. package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
  425. package/dist/esm/helpers/createDesignSystem.native.js +163 -92
  426. package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
  427. package/dist/esm/helpers/createMediaStyle.mjs +72 -47
  428. package/dist/esm/helpers/createMediaStyle.mjs.map +1 -1
  429. package/dist/esm/helpers/createMediaStyle.native.js +78 -54
  430. package/dist/esm/helpers/createMediaStyle.native.js.map +1 -1
  431. package/dist/esm/helpers/createStyledContext.mjs +52 -35
  432. package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
  433. package/dist/esm/helpers/createStyledContext.native.js +56 -42
  434. package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
  435. package/dist/esm/helpers/defaultAnimationDriver.mjs +17 -16
  436. package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -1
  437. package/dist/esm/helpers/defaultAnimationDriver.native.js +33 -30
  438. package/dist/esm/helpers/defaultAnimationDriver.native.js.map +1 -1
  439. package/dist/esm/helpers/expandStyle.mjs +93 -30
  440. package/dist/esm/helpers/expandStyle.mjs.map +1 -1
  441. package/dist/esm/helpers/expandStyle.native.js +110 -69
  442. package/dist/esm/helpers/expandStyle.native.js.map +1 -1
  443. package/dist/esm/helpers/expandStyles.mjs +23 -11
  444. package/dist/esm/helpers/expandStyles.mjs.map +1 -1
  445. package/dist/esm/helpers/expandStyles.native.js +22 -12
  446. package/dist/esm/helpers/expandStyles.native.js.map +1 -1
  447. package/dist/esm/helpers/getCSSStylesAtomic.mjs +88 -52
  448. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
  449. package/dist/esm/helpers/getCSSStylesAtomic.native.js +5 -5
  450. package/dist/esm/helpers/getCSSStylesAtomic.native.js.map +1 -1
  451. package/dist/esm/helpers/getDefaultProps.mjs +12 -9
  452. package/dist/esm/helpers/getDefaultProps.mjs.map +1 -1
  453. package/dist/esm/helpers/getDefaultProps.native.js +14 -11
  454. package/dist/esm/helpers/getDefaultProps.native.js.map +1 -1
  455. package/dist/esm/helpers/getDynamicVal.mjs +20 -17
  456. package/dist/esm/helpers/getDynamicVal.mjs.map +1 -1
  457. package/dist/esm/helpers/getDynamicVal.native.js +25 -22
  458. package/dist/esm/helpers/getDynamicVal.native.js.map +1 -1
  459. package/dist/esm/helpers/getExpandedShorthands.mjs +3 -1
  460. package/dist/esm/helpers/getExpandedShorthands.mjs.map +1 -1
  461. package/dist/esm/helpers/getExpandedShorthands.native.js +5 -3
  462. package/dist/esm/helpers/getExpandedShorthands.native.js.map +1 -1
  463. package/dist/esm/helpers/getGroupPropParts.mjs +13 -6
  464. package/dist/esm/helpers/getGroupPropParts.mjs.map +1 -1
  465. package/dist/esm/helpers/getGroupPropParts.native.js +14 -7
  466. package/dist/esm/helpers/getGroupPropParts.native.js.map +1 -1
  467. package/dist/esm/helpers/getShorthandValue.mjs +4 -1
  468. package/dist/esm/helpers/getShorthandValue.mjs.map +1 -1
  469. package/dist/esm/helpers/getShorthandValue.native.js +6 -6
  470. package/dist/esm/helpers/getShorthandValue.native.js.map +1 -1
  471. package/dist/esm/helpers/getSplitStyles.mjs +938 -413
  472. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  473. package/dist/esm/helpers/getSplitStyles.native.js +1097 -531
  474. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  475. package/dist/esm/helpers/getThemeCSSRules.mjs +85 -73
  476. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
  477. package/dist/esm/helpers/getTokenForKey.mjs +97 -30
  478. package/dist/esm/helpers/getTokenForKey.mjs.map +1 -1
  479. package/dist/esm/helpers/getTokenForKey.native.js +108 -50
  480. package/dist/esm/helpers/getTokenForKey.native.js.map +1 -1
  481. package/dist/esm/helpers/getVariantExtras.mjs +42 -32
  482. package/dist/esm/helpers/getVariantExtras.mjs.map +1 -1
  483. package/dist/esm/helpers/getVariantExtras.native.js +42 -32
  484. package/dist/esm/helpers/getVariantExtras.native.js.map +1 -1
  485. package/dist/esm/helpers/insertStyleRule.mjs +154 -70
  486. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  487. package/dist/esm/helpers/insertStyleRule.native.js +289 -183
  488. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  489. package/dist/esm/helpers/isActivePlatform.mjs +22 -6
  490. package/dist/esm/helpers/isActivePlatform.mjs.map +1 -1
  491. package/dist/esm/helpers/isActivePlatform.native.js +22 -6
  492. package/dist/esm/helpers/isActivePlatform.native.js.map +1 -1
  493. package/dist/esm/helpers/isActiveTheme.mjs +2 -1
  494. package/dist/esm/helpers/isActiveTheme.mjs.map +1 -1
  495. package/dist/esm/helpers/isActiveTheme.native.js +2 -1
  496. package/dist/esm/helpers/isActiveTheme.native.js.map +1 -1
  497. package/dist/esm/helpers/isGuiComponent.mjs +2 -2
  498. package/dist/esm/helpers/isGuiComponent.mjs.map +1 -1
  499. package/dist/esm/helpers/isGuiComponent.native.js +2 -2
  500. package/dist/esm/helpers/isGuiComponent.native.js.map +1 -1
  501. package/dist/esm/helpers/isGuiElement.mjs +3 -1
  502. package/dist/esm/helpers/isGuiElement.mjs.map +1 -1
  503. package/dist/esm/helpers/isGuiElement.native.js.map +1 -1
  504. package/dist/esm/helpers/isObj.mjs +1 -1
  505. package/dist/esm/helpers/isObj.mjs.map +1 -1
  506. package/dist/esm/helpers/isObj.native.js +2 -2
  507. package/dist/esm/helpers/log.mjs +9 -7
  508. package/dist/esm/helpers/log.mjs.map +1 -1
  509. package/dist/esm/helpers/log.native.js +13 -9
  510. package/dist/esm/helpers/log.native.js.map +1 -1
  511. package/dist/esm/helpers/mainThreadPressEvents.mjs +1 -1
  512. package/dist/esm/helpers/mainThreadPressEvents.mjs.map +1 -1
  513. package/dist/esm/helpers/mainThreadPressEvents.native.js +99 -16
  514. package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
  515. package/dist/esm/helpers/matchMedia.mjs +3 -3
  516. package/dist/esm/helpers/matchMedia.mjs.map +1 -1
  517. package/dist/esm/helpers/matchMedia.native.js +22 -9
  518. package/dist/esm/helpers/matchMedia.native.js.map +1 -1
  519. package/dist/esm/helpers/mediaObjectToString.mjs +18 -4
  520. package/dist/esm/helpers/mediaObjectToString.mjs.map +1 -1
  521. package/dist/esm/helpers/mediaObjectToString.native.js +16 -4
  522. package/dist/esm/helpers/mediaObjectToString.native.js.map +1 -1
  523. package/dist/esm/helpers/mediaState.mjs +9 -7
  524. package/dist/esm/helpers/mediaState.mjs.map +1 -1
  525. package/dist/esm/helpers/mediaState.native.js +18 -16
  526. package/dist/esm/helpers/mediaState.native.js.map +1 -1
  527. package/dist/esm/helpers/mergeProps.mjs +42 -20
  528. package/dist/esm/helpers/mergeProps.mjs.map +1 -1
  529. package/dist/esm/helpers/mergeProps.native.js +43 -20
  530. package/dist/esm/helpers/mergeProps.native.js.map +1 -1
  531. package/dist/esm/helpers/mergeRenderElementProps.mjs +2 -1
  532. package/dist/esm/helpers/mergeRenderElementProps.mjs.map +1 -1
  533. package/dist/esm/helpers/mergeRenderElementProps.native.js +2 -1
  534. package/dist/esm/helpers/mergeRenderElementProps.native.js.map +1 -1
  535. package/dist/esm/helpers/mergeSlotStyleProps.mjs +17 -6
  536. package/dist/esm/helpers/mergeSlotStyleProps.mjs.map +1 -1
  537. package/dist/esm/helpers/mergeSlotStyleProps.native.js +17 -6
  538. package/dist/esm/helpers/mergeSlotStyleProps.native.js.map +1 -1
  539. package/dist/esm/helpers/mergeVariants.mjs +16 -6
  540. package/dist/esm/helpers/mergeVariants.mjs.map +1 -1
  541. package/dist/esm/helpers/mergeVariants.native.js +18 -8
  542. package/dist/esm/helpers/mergeVariants.native.js.map +1 -1
  543. package/dist/esm/helpers/normalizeColor.mjs +17 -7
  544. package/dist/esm/helpers/normalizeColor.mjs.map +1 -1
  545. package/dist/esm/helpers/normalizeColor.native.js +18 -17
  546. package/dist/esm/helpers/normalizeColor.native.js.map +1 -1
  547. package/dist/esm/helpers/normalizeShadow.native.js +11 -11
  548. package/dist/esm/helpers/normalizeShadow.native.js.map +1 -1
  549. package/dist/esm/helpers/normalizeStyle.mjs +10 -5
  550. package/dist/esm/helpers/normalizeStyle.mjs.map +1 -1
  551. package/dist/esm/helpers/normalizeStyle.native.js +17 -13
  552. package/dist/esm/helpers/normalizeStyle.native.js.map +1 -1
  553. package/dist/esm/helpers/normalizeStylePropKeys.native.js +10 -10
  554. package/dist/esm/helpers/normalizeValueWithProperty.mjs +19 -5
  555. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
  556. package/dist/esm/helpers/normalizeValueWithProperty.native.js +20 -6
  557. package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -1
  558. package/dist/esm/helpers/objectIdentityKey.mjs +7 -2
  559. package/dist/esm/helpers/objectIdentityKey.mjs.map +1 -1
  560. package/dist/esm/helpers/objectIdentityKey.native.js +10 -5
  561. package/dist/esm/helpers/objectIdentityKey.native.js.map +1 -1
  562. package/dist/esm/helpers/parseBorderShorthand.mjs +3 -1
  563. package/dist/esm/helpers/parseBorderShorthand.mjs.map +1 -1
  564. package/dist/esm/helpers/parseBorderShorthand.native.js +40 -14
  565. package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -1
  566. package/dist/esm/helpers/parseNativeStyle.mjs +69 -37
  567. package/dist/esm/helpers/parseNativeStyle.mjs.map +1 -1
  568. package/dist/esm/helpers/parseNativeStyle.native.js +117 -80
  569. package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -1
  570. package/dist/esm/helpers/parseOutlineShorthand.mjs +3 -1
  571. package/dist/esm/helpers/parseOutlineShorthand.mjs.map +1 -1
  572. package/dist/esm/helpers/parseOutlineShorthand.native.js +34 -14
  573. package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -1
  574. package/dist/esm/helpers/platformResolveValue.mjs +4 -1
  575. package/dist/esm/helpers/platformResolveValue.mjs.map +1 -1
  576. package/dist/esm/helpers/platformResolveValue.native.js +34 -24
  577. package/dist/esm/helpers/platformResolveValue.native.js.map +1 -1
  578. package/dist/esm/helpers/pointerEvents.native.js +110 -77
  579. package/dist/esm/helpers/pointerEvents.native.js.map +1 -1
  580. package/dist/esm/helpers/propMapper.mjs +232 -107
  581. package/dist/esm/helpers/propMapper.mjs.map +1 -1
  582. package/dist/esm/helpers/propMapper.native.js +316 -205
  583. package/dist/esm/helpers/propMapper.native.js.map +1 -1
  584. package/dist/esm/helpers/proxyThemeToParents.mjs +21 -9
  585. package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
  586. package/dist/esm/helpers/proxyThemeToParents.native.js +72 -45
  587. package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -1
  588. package/dist/esm/helpers/proxyThemeVariables.mjs +1 -1
  589. package/dist/esm/helpers/proxyThemeVariables.mjs.map +1 -1
  590. package/dist/esm/helpers/proxyThemeVariables.native.js +1 -1
  591. package/dist/esm/helpers/pseudoDescriptors.mjs +48 -48
  592. package/dist/esm/helpers/pseudoDescriptors.mjs.map +1 -1
  593. package/dist/esm/helpers/pseudoDescriptors.native.js +48 -48
  594. package/dist/esm/helpers/pseudoDescriptors.native.js.map +1 -1
  595. package/dist/esm/helpers/pseudoTransitions.mjs +38 -22
  596. package/dist/esm/helpers/pseudoTransitions.mjs.map +1 -1
  597. package/dist/esm/helpers/pseudoTransitions.native.js +40 -26
  598. package/dist/esm/helpers/pseudoTransitions.native.js.map +1 -1
  599. package/dist/esm/helpers/registerCSSVariable.mjs +42 -27
  600. package/dist/esm/helpers/registerCSSVariable.mjs.map +1 -1
  601. package/dist/esm/helpers/registerCSSVariable.native.js +46 -33
  602. package/dist/esm/helpers/registerCSSVariable.native.js.map +1 -1
  603. package/dist/esm/helpers/resolveAnimationDriver.mjs +8 -1
  604. package/dist/esm/helpers/resolveAnimationDriver.mjs.map +1 -1
  605. package/dist/esm/helpers/resolveAnimationDriver.native.js +8 -1
  606. package/dist/esm/helpers/resolveAnimationDriver.native.js.map +1 -1
  607. package/dist/esm/helpers/resolveCompoundTokens.mjs +9 -7
  608. package/dist/esm/helpers/resolveCompoundTokens.mjs.map +1 -1
  609. package/dist/esm/helpers/resolveCompoundTokens.native.js +9 -7
  610. package/dist/esm/helpers/resolveCompoundTokens.native.js.map +1 -1
  611. package/dist/esm/helpers/resolveRem.mjs +1 -1
  612. package/dist/esm/helpers/resolveRem.mjs.map +1 -1
  613. package/dist/esm/helpers/resolveRem.native.js +16 -9
  614. package/dist/esm/helpers/resolveRem.native.js.map +1 -1
  615. package/dist/esm/helpers/resolveSafeArea.native.js +6 -4
  616. package/dist/esm/helpers/resolveSafeArea.native.js.map +1 -1
  617. package/dist/esm/helpers/setElementProps.native.js +7 -3
  618. package/dist/esm/helpers/setElementProps.native.js.map +1 -1
  619. package/dist/esm/helpers/skipProps.mjs +9 -2
  620. package/dist/esm/helpers/skipProps.mjs.map +1 -1
  621. package/dist/esm/helpers/skipProps.native.js +10 -2
  622. package/dist/esm/helpers/skipProps.native.js.map +1 -1
  623. package/dist/esm/helpers/subscribeToContextGroup.mjs +68 -42
  624. package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
  625. package/dist/esm/helpers/subscribeToContextGroup.native.js +103 -79
  626. package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
  627. package/dist/esm/helpers/themeable.mjs +45 -20
  628. package/dist/esm/helpers/themeable.mjs.map +1 -1
  629. package/dist/esm/helpers/themeable.native.js +68 -44
  630. package/dist/esm/helpers/themeable.native.js.map +1 -1
  631. package/dist/esm/helpers/themes.mjs +15 -9
  632. package/dist/esm/helpers/themes.mjs.map +1 -1
  633. package/dist/esm/helpers/themes.native.js +15 -9
  634. package/dist/esm/helpers/themes.native.js.map +1 -1
  635. package/dist/esm/helpers/timer.mjs +1 -1
  636. package/dist/esm/helpers/timer.native.js +1 -1
  637. package/dist/esm/helpers/transformsToString.mjs +6 -3
  638. package/dist/esm/helpers/transformsToString.mjs.map +1 -1
  639. package/dist/esm/helpers/transformsToString.native.js +6 -3
  640. package/dist/esm/helpers/transformsToString.native.js.map +1 -1
  641. package/dist/esm/helpers/useRenderElement.mjs +26 -12
  642. package/dist/esm/helpers/useRenderElement.mjs.map +1 -1
  643. package/dist/esm/helpers/useRenderElement.native.js +27 -13
  644. package/dist/esm/helpers/useRenderElement.native.js.map +1 -1
  645. package/dist/esm/helpers/webPropsToSkip.native.js +46 -46
  646. package/dist/esm/helpers/webPropsToSkip.native.js.map +1 -1
  647. package/dist/esm/helpers/wrapStyleTags.mjs +15 -12
  648. package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
  649. package/dist/esm/helpers/wrapStyleTags.native.js +22 -1
  650. package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -1
  651. package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs +1 -1
  652. package/dist/esm/hooks/getThemeProxied.mjs +72 -12
  653. package/dist/esm/hooks/getThemeProxied.mjs.map +1 -1
  654. package/dist/esm/hooks/getThemeProxied.native.js +78 -45
  655. package/dist/esm/hooks/getThemeProxied.native.js.map +1 -1
  656. package/dist/esm/hooks/useComponentState.mjs +117 -68
  657. package/dist/esm/hooks/useComponentState.mjs.map +1 -1
  658. package/dist/esm/hooks/useComponentState.native.js +121 -79
  659. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  660. package/dist/esm/hooks/useDisableSSR.native.js +1 -1
  661. package/dist/esm/hooks/useDisableSSR.native.js.map +1 -1
  662. package/dist/esm/hooks/useIsTouchDevice.mjs +3 -1
  663. package/dist/esm/hooks/useIsTouchDevice.mjs.map +1 -1
  664. package/dist/esm/hooks/useIsTouchDevice.native.js +1 -1
  665. package/dist/esm/hooks/useIsTouchDevice.native.js.map +1 -1
  666. package/dist/esm/hooks/useMedia.mjs +131 -75
  667. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  668. package/dist/esm/hooks/useMedia.native.js +142 -90
  669. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  670. package/dist/esm/hooks/useProps.mjs +47 -43
  671. package/dist/esm/hooks/useProps.mjs.map +1 -1
  672. package/dist/esm/hooks/useProps.native.js +49 -45
  673. package/dist/esm/hooks/useProps.native.js.map +1 -1
  674. package/dist/esm/hooks/useTheme.mjs +23 -14
  675. package/dist/esm/hooks/useTheme.mjs.map +1 -1
  676. package/dist/esm/hooks/useTheme.native.js +24 -18
  677. package/dist/esm/hooks/useTheme.native.js.map +1 -1
  678. package/dist/esm/hooks/useThemeName.mjs +8 -8
  679. package/dist/esm/hooks/useThemeName.mjs.map +1 -1
  680. package/dist/esm/hooks/useThemeName.native.js +10 -10
  681. package/dist/esm/hooks/useThemeName.native.js.map +1 -1
  682. package/dist/esm/hooks/useThemeState.mjs +280 -162
  683. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  684. package/dist/esm/hooks/useThemeState.native.js +361 -230
  685. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  686. package/dist/esm/inject-styles.mjs +15 -12
  687. package/dist/esm/inject-styles.mjs.map +1 -1
  688. package/dist/esm/inject-styles.native.js +16 -13
  689. package/dist/esm/inject-styles.native.js.map +1 -1
  690. package/dist/esm/insertFont.mjs +32 -16
  691. package/dist/esm/insertFont.mjs.map +1 -1
  692. package/dist/esm/insertFont.native.js +38 -18
  693. package/dist/esm/insertFont.native.js.map +1 -1
  694. package/dist/esm/setupReactNative.mjs +33 -8
  695. package/dist/esm/setupReactNative.mjs.map +1 -1
  696. package/dist/esm/setupReactNative.native.js +32 -9
  697. package/dist/esm/setupReactNative.native.js.map +1 -1
  698. package/dist/esm/styled.mjs +106 -64
  699. package/dist/esm/styled.mjs.map +1 -1
  700. package/dist/esm/styled.native.js +109 -73
  701. package/dist/esm/styled.native.js.map +1 -1
  702. package/dist/esm/styledHtml.test-d.mjs +56 -25
  703. package/dist/esm/styledHtml.test-d.mjs.map +1 -1
  704. package/dist/esm/styledHtml.test-d.native.js +56 -25
  705. package/dist/esm/styledHtml.test-d.native.js.map +1 -1
  706. package/dist/esm/views/Configuration.native.js +2 -2
  707. package/dist/esm/views/Configuration.native.js.map +1 -1
  708. package/dist/esm/views/FontLanguage.mjs +10 -8
  709. package/dist/esm/views/FontLanguage.mjs.map +1 -1
  710. package/dist/esm/views/FontLanguage.native.js +7 -7
  711. package/dist/esm/views/FontLanguage.native.js.map +1 -1
  712. package/dist/esm/views/GuiProvider.mjs +19 -10
  713. package/dist/esm/views/GuiProvider.mjs.map +1 -1
  714. package/dist/esm/views/GuiProvider.native.js +33 -24
  715. package/dist/esm/views/GuiProvider.native.js.map +1 -1
  716. package/dist/esm/views/GuiRoot.mjs +17 -8
  717. package/dist/esm/views/GuiRoot.mjs.map +1 -1
  718. package/dist/esm/views/Slot.mjs +38 -22
  719. package/dist/esm/views/Slot.mjs.map +1 -1
  720. package/dist/esm/views/Slot.native.js +40 -26
  721. package/dist/esm/views/Slot.native.js.map +1 -1
  722. package/dist/esm/views/Text.mjs +27 -19
  723. package/dist/esm/views/Text.mjs.map +1 -1
  724. package/dist/esm/views/Text.native.js +26 -20
  725. package/dist/esm/views/Text.native.js.map +1 -1
  726. package/dist/esm/views/Theme.mjs +106 -72
  727. package/dist/esm/views/Theme.mjs.map +1 -1
  728. package/dist/esm/views/Theme.native.js +112 -81
  729. package/dist/esm/views/Theme.native.js.map +1 -1
  730. package/dist/esm/views/ThemeDebug.mjs +22 -3
  731. package/dist/esm/views/ThemeDebug.mjs.map +1 -1
  732. package/dist/esm/views/ThemeDebug.native.js +1 -1
  733. package/dist/esm/views/ThemeDebug.native.js.map +1 -1
  734. package/dist/esm/views/ThemeProvider.mjs +11 -8
  735. package/dist/esm/views/ThemeProvider.mjs.map +1 -1
  736. package/dist/esm/views/ThemeProvider.native.js +15 -2
  737. package/dist/esm/views/ThemeProvider.native.js.map +1 -1
  738. package/dist/esm/views/View.mjs +1 -1
  739. package/dist/esm/views/View.native.js +1 -1
  740. package/package.json +13 -13
  741. package/src/_withStableStyle.tsx +32 -25
  742. package/src/config.ts +1 -1
  743. package/src/constants/constants.ts +2 -2
  744. package/src/createComponent.tsx +69 -30
  745. package/src/createGui.ts +20 -12
  746. package/src/createTokens.ts +1 -1
  747. package/src/createVariable.ts +1 -1
  748. package/src/eventHandling.native.ts +33 -11
  749. package/src/eventHandling.ts +4 -2
  750. package/src/helpers/createDesignSystem.ts +5 -5
  751. package/src/helpers/defaultAnimationDriver.tsx +1 -0
  752. package/src/helpers/expandStyle.ts +2 -2
  753. package/src/helpers/expandStyles.ts +1 -1
  754. package/src/helpers/getSplitStyles.tsx +131 -30
  755. package/src/helpers/getThemeCSSRules.ts +6 -6
  756. package/src/helpers/getTokenForKey.ts +6 -6
  757. package/src/helpers/insertStyleRule.tsx +12 -12
  758. package/src/helpers/isActivePlatform.ts +33 -4
  759. package/src/helpers/log.ts +1 -1
  760. package/src/helpers/mainThreadPressEvents.native.ts +122 -26
  761. package/src/helpers/mainThreadPressEvents.ts +2 -1
  762. package/src/helpers/parseNativeStyle.ts +1 -1
  763. package/src/helpers/propMapper.ts +4 -4
  764. package/src/helpers/registerCSSVariable.ts +3 -3
  765. package/src/helpers/skipProps.ts +3 -3
  766. package/src/helpers/useRenderElement.tsx +1 -4
  767. package/src/helpers/wrapStyleTags.tsx +1 -1
  768. package/src/hooks/getThemeProxied.ts +1 -1
  769. package/src/hooks/useTheme.tsx +2 -2
  770. package/src/hooks/useThemeState.ts +3 -2
  771. package/src/insertFont.ts +2 -2
  772. package/src/interfaces/GuiComponentPropsBaseBase.tsx +1 -1
  773. package/src/setupReactNative.ts +1 -1
  774. package/src/styled.tsx +1 -1
  775. package/src/types.tsx +33 -25
  776. package/src/views/GuiProvider.tsx +1 -1
  777. package/src/views/Text.tsx +4 -3
  778. package/src/views/ThemeProvider.tsx +1 -1
  779. package/types/_withStableStyle.d.ts +1 -2
  780. package/types/eventHandling.d.ts +2 -2
  781. package/types/eventHandling.native.d.ts +3 -3
  782. package/types/helpers/isActivePlatform.d.ts +14 -0
  783. package/types/helpers/mainThreadPressEvents.d.ts +1 -1
  784. package/types/helpers/mainThreadPressEvents.native.d.ts +5 -6
  785. package/types/helpers/parseNativeStyle.d.ts +1 -1
  786. package/types/helpers/skipProps.d.ts +1 -1
  787. package/types/interfaces/GuiComponentPropsBaseBase.d.ts +1 -1
  788. package/types/styled.d.ts +1 -1
  789. package/types/types.d.ts +24 -17
@@ -3,7 +3,7 @@ import { StyleObjectIdentifier, StyleObjectProperty, StyleObjectPseudo, StyleObj
3
3
  import React from "react";
4
4
  import { getConfig } from "../config.mjs";
5
5
  import { isDevTools } from "../constants/isDevTools.mjs";
6
- import { getMediaImportanceIfMoreImportant, getMediaKey, mediaKeyMatch } from "../hooks/useMedia.mjs";
6
+ import { getMediaImportanceIfMoreImportant, getMediaKey, getMediaKeyImportance, mediaKeyMatch } from "../hooks/useMedia.mjs";
7
7
  import { mediaState as globalMediaState, mediaQueryConfig } from "./mediaState.mjs";
8
8
  import { createMediaStyle } from "./createMediaStyle.mjs";
9
9
  import { fixStyles } from "./expandStyles.mjs";
@@ -11,66 +11,74 @@ import { getCSSStylesAtomic, getStyleAtomic, styleToCSS } from "./getCSSStylesAt
11
11
  import { getDefaultProps } from "./getDefaultProps.mjs";
12
12
  import { getGroupPropParts } from "./getGroupPropParts.mjs";
13
13
  import { insertStyleRules, shouldInsertStyleRules, updateRules } from "./insertStyleRule.mjs";
14
- import { isActivePlatform } from "./isActivePlatform.mjs";
14
+ import { isActivePlatform, getPlatformSpecificityBump } from "./isActivePlatform.mjs";
15
15
  import { isActiveTheme } from "./isActiveTheme.mjs";
16
16
  import { log } from "./log.mjs";
17
17
  import { normalizeValueWithProperty } from "./normalizeValueWithProperty.mjs";
18
18
  import { propMapper } from "./propMapper.mjs";
19
- import { pseudoDescriptors, pseudoPriorities } from "./pseudoDescriptors.mjs";
19
+ import { pseudoDescriptors, pseudoPriorities, defaultMediaImportance } from "./pseudoDescriptors.mjs";
20
20
  import { skipProps } from "./skipProps.mjs";
21
21
  import { sortString } from "./sortString.mjs";
22
22
  import { transformsToString } from "./transformsToString.mjs";
23
23
  let conf;
24
- const styleOriginalValues = /* @__PURE__ */new WeakMap(),
25
- PROP_SPLIT = "-";
24
+ const styleOriginalValues = /* @__PURE__ */new WeakMap();
25
+ const PROP_SPLIT = "-";
26
26
  function normalizeGroupKey(key, groupContext) {
27
- const parts = key.split("-"),
28
- plen = parts.length;
27
+ const parts = key.split("-");
28
+ const plen = parts.length;
29
29
  if (
30
30
  // check if its actually a simple group selector to avoid breaking selectors
31
31
  plen === 2 || plen === 3 && pseudoPriorities[parts[parts.length - 1]]) {
32
32
  const name = parts[1];
33
- if (name !== "true" && groupContext && !groupContext[name]) return key.replace("$group-", "$group-true-");
33
+ if (name !== "true" && groupContext && !groupContext[name]) {
34
+ return key.replace("$group-", "$group-true-");
35
+ }
34
36
  }
35
37
  return key;
36
38
  }
37
39
  function isValidStyleKey(key, validStyles, accept) {
38
- return key in validStyles ? !0 : accept && key in accept;
40
+ return key in validStyles ? true : accept && key in accept;
39
41
  }
40
42
  const getSplitStyles = (props, staticConfig, theme, themeName, componentState, styleProps, parentSplitStyles, componentContext, groupContext, elementType, startedUnhydrated, debug, animationDriver) => {
41
43
  conf = conf || getConfig();
42
44
  const driver = animationDriver || componentContext?.animationDriver || conf.animations;
43
- if (props.passThrough) return null;
44
- isWeb && styleProps.isAnimated && driver?.isReactNative && !styleProps.noNormalize && (styleProps.noNormalize = "values");
45
+ if (props.passThrough) {
46
+ return null;
47
+ }
48
+ if (isWeb && styleProps.isAnimated && driver?.isReactNative && !styleProps.noNormalize) {
49
+ styleProps.noNormalize = "values";
50
+ }
45
51
  const {
46
- shorthands
47
- } = conf,
48
- {
49
- isHOC,
50
- isText,
51
- isInput,
52
- variants,
53
- isReactNative,
54
- inlineProps,
55
- inlineWhenUnflattened,
56
- parentStaticConfig,
57
- acceptsClassName
58
- } = staticConfig,
59
- viewProps = {},
60
- mediaState = styleProps.mediaState || globalMediaState,
61
- shouldDoClasses = acceptsClassName && isWeb && !styleProps.noClass,
62
- rulesToInsert = {},
63
- classNames = {};
64
- let space = props.space,
65
- pseudos = null,
66
- hasMedia = !1,
67
- dynamicThemeAccess,
68
- pseudoGroups,
69
- mediaGroups,
70
- className = props.className || "",
71
- mediaStylesSeen = 0;
52
+ shorthands
53
+ } = conf;
54
+ const {
55
+ isHOC,
56
+ isText,
57
+ isInput,
58
+ variants,
59
+ isReactNative,
60
+ inlineProps,
61
+ inlineWhenUnflattened,
62
+ parentStaticConfig,
63
+ acceptsClassName
64
+ } = staticConfig;
65
+ const viewProps = {};
66
+ const mediaState = styleProps.mediaState || globalMediaState;
67
+ const shouldDoClasses = acceptsClassName && isWeb && !styleProps.noClass;
68
+ const rulesToInsert = false ? void 0 : {};
69
+ const classNames = {};
70
+ let space = props.space;
71
+ let pseudos = null;
72
+ let hasMedia = false;
73
+ let dynamicThemeAccess;
74
+ let pseudoGroups;
75
+ let mediaGroups;
76
+ let className = props.className || "";
77
+ let mediaStylesSeen = 0;
72
78
  const validStyles = staticConfig.validStyles || (staticConfig.isText || staticConfig.isInput ? stylePropsText : validStylesView);
73
- process.env.NODE_ENV === "development" && (debug === "profile" || globalThis.time) && time`split-styles-setup`;
79
+ if (process.env.NODE_ENV === "development" && (debug === "profile" || globalThis.time)) {
80
+ time`split-styles-setup`;
81
+ }
74
82
  const styleState = {
75
83
  classNames,
76
84
  conf,
@@ -91,189 +99,340 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
91
99
  const {
92
100
  fallbackProps
93
101
  } = styleProps;
94
- fallbackProps && (styleState.props = new Proxy(props, {
95
- get(_, key, val) {
96
- return Reflect.has(props, key) ? Reflect.get(props, key) : Reflect.get(fallbackProps, key);
97
- }
98
- }));
102
+ if (fallbackProps) {
103
+ styleState.props = new Proxy(props, {
104
+ get(_, key, val) {
105
+ if (!Reflect.has(props, key)) {
106
+ return Reflect.get(fallbackProps, key);
107
+ }
108
+ return Reflect.get(props, key);
109
+ }
110
+ });
111
+ }
99
112
  }
100
- process.env.NODE_ENV === "development" && (debug === "profile" || globalThis.time) && time`style-state`, process.env.NODE_ENV === "development" && debug === "verbose" && isClient && isDevTools && (console.groupCollapsed("\u{1F539} getSplitStyles \u{1F447}"), log({
101
- props,
102
- staticConfig,
103
- shouldDoClasses,
104
- styleProps,
105
- rulesToInsert,
106
- componentState,
107
- styleState,
108
- theme: {
109
- ...theme
113
+ if (process.env.NODE_ENV === "development" && (debug === "profile" || globalThis.time)) {
114
+ time`style-state`;
115
+ }
116
+ if (process.env.NODE_ENV === "development" && debug === "verbose" && isClient) {
117
+ if (isDevTools) {
118
+ console.groupCollapsed("\u{1F539} getSplitStyles \u{1F447}");
119
+ log({
120
+ props,
121
+ staticConfig,
122
+ shouldDoClasses,
123
+ styleProps,
124
+ rulesToInsert,
125
+ componentState,
126
+ styleState,
127
+ theme: {
128
+ ...theme
129
+ }
130
+ });
110
131
  }
111
- }));
132
+ }
133
+ const {
134
+ asChild
135
+ } = props;
136
+ const {
137
+ accept
138
+ } = staticConfig;
112
139
  const {
113
- asChild
114
- } = props,
115
- {
116
- accept
117
- } = staticConfig,
118
- {
119
- noSkip,
120
- disableExpandShorthands,
121
- noExpand,
122
- styledContext
123
- } = styleProps,
124
- {
125
- webContainerType
126
- } = conf.settings,
127
- parentVariants = parentStaticConfig?.variants;
140
+ noSkip,
141
+ disableExpandShorthands,
142
+ noExpand,
143
+ styledContext
144
+ } = styleProps;
145
+ const {
146
+ webContainerType
147
+ } = conf.settings;
148
+ const parentVariants = parentStaticConfig?.variants;
128
149
  for (const keyOg in props) {
129
- let keyInit = keyOg,
130
- valInit = props[keyInit];
150
+ let keyInit = keyOg;
151
+ let valInit = props[keyInit];
131
152
  if (keyInit === "children") {
132
153
  viewProps[keyInit] = valInit;
133
154
  continue;
134
155
  }
135
- if (process.env.NODE_ENV === "development" && (debug === "profile" || globalThis.time) && time`before-prop-${keyInit}`, process.env.NODE_ENV === "test" && keyInit === "jestAnimatedStyle") continue;
156
+ if (process.env.NODE_ENV === "development" && (debug === "profile" || globalThis.time)) {
157
+ time`before-prop-${keyInit}`;
158
+ }
159
+ if (process.env.NODE_ENV === "test" && keyInit === "jestAnimatedStyle") {
160
+ continue;
161
+ }
136
162
  if (accept) {
137
163
  const accepted = accept[keyInit];
138
- if ((accepted === "style" || accepted === "textStyle") && valInit && typeof valInit == "object") {
164
+ if ((accepted === "style" || accepted === "textStyle") && valInit && typeof valInit === "object") {
139
165
  viewProps[keyInit] = getSubStyle(styleState, keyInit, valInit, styleProps.noClass);
140
166
  continue;
141
167
  }
142
168
  }
143
- if (disableExpandShorthands || keyInit in shorthands && (keyInit = shorthands[keyInit]), keyInit === "className") continue;
169
+ if (!disableExpandShorthands) {
170
+ if (keyInit in shorthands) {
171
+ keyInit = shorthands[keyInit];
172
+ }
173
+ }
174
+ if (keyInit === "className") continue;
144
175
  if (asChild) {
145
176
  const defaults = getDefaultProps(staticConfig);
146
177
  if (defaults) {
147
178
  const defaultVal = defaults[keyOg] ?? defaults[keyInit];
148
- if (defaultVal !== void 0 && valInit === defaultVal) continue;
179
+ if (defaultVal !== void 0 && valInit === defaultVal) {
180
+ continue;
181
+ }
149
182
  }
150
183
  }
151
184
  if (keyInit in skipProps && !noSkip && !isHOC) {
152
185
  if (keyInit === "group") {
153
- const identifier = `t_group_${valInit}`,
154
- containerCSS = ["continer", void 0, identifier, void 0, [`.${identifier} { container-name: ${valInit}; container-type: ${webContainerType || "inline-size"}; }`]];
155
- addStyleToInsertRules(rulesToInsert, containerCSS);
186
+ if (true) {
187
+ const identifier = `t_group_${valInit}`;
188
+ const containerType = webContainerType || "inline-size";
189
+ const containerCSS = ["container", void 0, identifier, void 0, [`.${identifier} { container-name: ${valInit}; container-type: ${containerType}; }`]];
190
+ addStyleToInsertRules(rulesToInsert, containerCSS);
191
+ }
192
+ }
193
+ if (keyInit === "transition" && typeof valInit === "string" && !driver?.animations?.[valInit]) {} else {
194
+ continue;
156
195
  }
157
- continue;
158
196
  }
159
197
  let isValidStyleKeyInit = isValidStyleKey(keyInit, validStyles, accept);
160
- if (staticConfig.isReactNative && keyInit.startsWith("data-")) {
161
- keyInit = keyInit.replace("data-", ""), viewProps.dataSet ||= {}, viewProps.dataSet[keyInit] = valInit;
162
- continue;
163
- }
164
- if (!noExpand) {
165
- if (keyInit === "disabled" && valInit === !0 && (viewProps["aria-disabled"] = !0, (elementType === "button" || elementType === "form" || elementType === "input" || elementType === "select" || elementType === "textarea") && (viewProps.disabled = !0), !variants?.disabled)) continue;
166
- if (keyInit === "testID") {
167
- isReactNative ? viewProps.testID = valInit : (viewProps["data-testid"] = valInit, styleProps.isAnimated && driver?.isReactNative && (viewProps.testID = valInit));
198
+ if (true) {
199
+ if (staticConfig.isReactNative && keyInit.startsWith("data-")) {
200
+ keyInit = keyInit.replace("data-", "");
201
+ viewProps["dataSet"] ||= {};
202
+ viewProps["dataSet"][keyInit] = valInit;
168
203
  continue;
169
204
  }
170
- if (keyInit === "id") {
171
- viewProps.id = valInit;
172
- continue;
205
+ }
206
+ if (false) {
207
+ if (!isValidStyleKeyInit) {
208
+ if (!isAndroid) {
209
+ if (keyInit === "elevationAndroid") continue;
210
+ }
211
+ if (keyInit === "userSelect") {
212
+ keyInit = "selectable";
213
+ valInit = valInit !== "none";
214
+ } else if (keyInit.startsWith("data-")) {
215
+ continue;
216
+ }
217
+ }
218
+ }
219
+ if (true) {
220
+ if (!noExpand) {
221
+ if (keyInit === "disabled" && valInit === true) {
222
+ viewProps["aria-disabled"] = true;
223
+ if (elementType === "button" || elementType === "form" || elementType === "input" || elementType === "select" || elementType === "textarea") {
224
+ viewProps.disabled = true;
225
+ }
226
+ if (!variants?.disabled) {
227
+ continue;
228
+ }
229
+ }
230
+ if (keyInit === "testID") {
231
+ if (isReactNative) {
232
+ viewProps.testID = valInit;
233
+ } else {
234
+ viewProps["data-testid"] = valInit;
235
+ if (styleProps.isAnimated && driver?.isReactNative) {
236
+ viewProps.testID = valInit;
237
+ }
238
+ }
239
+ continue;
240
+ }
241
+ if (keyInit === "id") {
242
+ viewProps.id = valInit;
243
+ continue;
244
+ }
173
245
  }
174
246
  }
175
247
  let isVariant = !isValidStyleKeyInit && variants && keyInit in variants;
176
248
  const isStyleLikeKey = isValidStyleKeyInit || isVariant;
177
- let isPseudo = keyInit in validPseudoKeys,
178
- isMedia = !isStyleLikeKey && !isPseudo ? getMediaKey(keyInit) : !1,
179
- isMediaOrPseudo = !!(isMedia || isPseudo);
180
- isMediaOrPseudo && isMedia === "group" && (keyInit = normalizeGroupKey(keyInit, groupContext));
249
+ let isPseudo = keyInit in validPseudoKeys;
250
+ let isMedia = !isStyleLikeKey && !isPseudo ? getMediaKey(keyInit) : false;
251
+ let isMediaOrPseudo = Boolean(isMedia || isPseudo);
252
+ if (isMediaOrPseudo && isMedia === "group") {
253
+ keyInit = normalizeGroupKey(keyInit, groupContext);
254
+ }
181
255
  const isStyleProp = isValidStyleKeyInit || isMediaOrPseudo || isVariant && !noExpand;
182
- if (isStyleProp && (asChild === "except-style" || asChild === "except-style-web")) continue;
183
- const shouldPassProp = !isStyleProp && isHOC ||
184
- // is in parent variants
185
- isHOC && parentVariants && keyInit in parentVariants || inlineProps?.has(keyInit),
186
- parentVariant = parentVariants?.[keyInit],
187
- isHOCShouldPassThrough = !!(isHOC && (isValidStyleKeyInit || isMediaOrPseudo || parentVariant || keyInit in skipProps)),
188
- shouldPassThrough = shouldPassProp || isHOCShouldPassThrough;
189
- if (process.env.NODE_ENV === "development" && debug === "verbose" && (console.groupCollapsed(` \u{1F511} ${keyOg}${keyInit !== keyOg ? ` (shorthand for ${keyInit})` : ""} ${shouldPassThrough ? "(pass)" : ""}`), log({
190
- isVariant,
191
- valInit,
192
- shouldPassProp
193
- }), isClient && log({
194
- variants,
195
- variant: variants?.[keyInit],
196
- isVariant,
197
- isHOCShouldPassThrough,
198
- usedKeys: {
199
- ...styleState.usedKeys
200
- },
201
- parentStaticConfig
202
- })), shouldPassThrough && (passDownProp(viewProps, keyInit, valInit, isMediaOrPseudo), process.env.NODE_ENV === "development" && debug === "verbose" && console.groupEnd(), !isVariant)) continue;
203
- if (!noSkip && keyInit in skipProps) {
204
- process.env.NODE_ENV === "development" && debug === "verbose" && console.groupEnd();
256
+ if (isStyleProp && (asChild === "except-style" || asChild === "except-style-web")) {
205
257
  continue;
206
258
  }
207
- (isText || isInput) && valInit && (keyInit === "fontFamily" || keyInit === shorthands.fontFamily) && valInit in conf.fontsParsed && (styleState.fontFamily = valInit);
259
+ const shouldPassProp = !isStyleProp && isHOC ||
260
+ // is in parent variants
261
+ isHOC && parentVariants && keyInit in parentVariants || inlineProps?.has(keyInit);
262
+ const parentVariant = parentVariants?.[keyInit];
263
+ const isHOCShouldPassThrough = Boolean(isHOC && (isValidStyleKeyInit || isMediaOrPseudo || parentVariant || keyInit in skipProps));
264
+ const shouldPassThrough = shouldPassProp || isHOCShouldPassThrough;
265
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
266
+ console.groupCollapsed(` \u{1F511} ${keyOg}${keyInit !== keyOg ? ` (shorthand for ${keyInit})` : ""} ${shouldPassThrough ? "(pass)" : ""}`);
267
+ log({
268
+ isVariant,
269
+ valInit,
270
+ shouldPassProp
271
+ });
272
+ if (isClient) {
273
+ log({
274
+ variants,
275
+ variant: variants?.[keyInit],
276
+ isVariant,
277
+ isHOCShouldPassThrough,
278
+ usedKeys: {
279
+ ...styleState.usedKeys
280
+ },
281
+ parentStaticConfig
282
+ });
283
+ }
284
+ }
285
+ if (shouldPassThrough) {
286
+ passDownProp(viewProps, keyInit, valInit, isMediaOrPseudo);
287
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
288
+ console.groupEnd();
289
+ }
290
+ if (!isVariant) {
291
+ continue;
292
+ }
293
+ }
294
+ if (!noSkip) {
295
+ if (keyInit in skipProps && !(keyInit === "transition" && typeof valInit === "string" && !driver?.animations?.[valInit])) {
296
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
297
+ console.groupEnd();
298
+ }
299
+ continue;
300
+ }
301
+ }
302
+ if (isText || isInput) {
303
+ if (valInit && (keyInit === "fontFamily" || keyInit === shorthands["fontFamily"]) && valInit in conf.fontsParsed) {
304
+ styleState.fontFamily = valInit;
305
+ }
306
+ }
208
307
  const disablePropMap = isMediaOrPseudo || !isStyleLikeKey;
209
- if (propMapper(keyInit, valInit, styleState, disablePropMap, (key, val, originalVal) => {
308
+ propMapper(keyInit, valInit, styleState, disablePropMap, (key, val, originalVal) => {
210
309
  const isStyledContextProp = styledContext && key in styledContext;
211
310
  if (!isHOC && disablePropMap && !isStyledContextProp && !isMediaOrPseudo) {
212
311
  viewProps[key] = val;
213
312
  return;
214
313
  }
215
- if (process.env.NODE_ENV === "development" && debug === "verbose" && (console.groupCollapsed(" \u{1F4A0} expanded", keyInit, "=>", key), log(val), console.groupEnd()), val == null) return;
216
- if (!isHOC && isValidStyleKey(key, validStyles, accept)) {
217
- mergeStyle(styleState, key, val, 1, !1, originalVal);
314
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
315
+ console.groupCollapsed(" \u{1F4A0} expanded", keyInit, "=>", key);
316
+ log(val);
317
+ console.groupEnd();
318
+ }
319
+ if (val == null) return;
320
+ if (false) {
321
+ if (key === "pointerEvents") {
322
+ viewProps[key] = val;
323
+ return;
324
+ }
325
+ }
326
+ if (!isHOC && isValidStyleKey(key, validStyles, accept) || false) {
327
+ mergeStyle(styleState, key, val, 1, false, originalVal);
218
328
  return;
219
329
  }
220
- if (isPseudo = key in validPseudoKeys, isMedia = isPseudo ? !1 : getMediaKey(key), isMediaOrPseudo = !!(isMedia || isPseudo), isVariant = variants && key in variants, isMedia === "group" && (key = normalizeGroupKey(key, groupContext)), (inlineProps?.has(key) || process.env.IS_STATIC === "is_static" && inlineWhenUnflattened?.has(key)) && (viewProps[key] = props[key] ?? val), styleProps.noExpand && isPseudo || isHOC && (isMediaOrPseudo || parentStaticConfig?.variants?.[keyInit])) {
221
- passDownProp(viewProps, key, val, isMediaOrPseudo), process.env.NODE_ENV === "development" && debug === "verbose" && (console.groupCollapsed(` - passing down prop ${key}`), log({
222
- val,
223
- after: {
224
- ...viewProps[key]
225
- }
226
- }), console.groupEnd());
330
+ isPseudo = key in validPseudoKeys;
331
+ isMedia = isPseudo ? false : getMediaKey(key);
332
+ isMediaOrPseudo = Boolean(isMedia || isPseudo);
333
+ isVariant = variants && key in variants;
334
+ if (isMedia === "group") {
335
+ key = normalizeGroupKey(key, groupContext);
336
+ }
337
+ if (inlineProps?.has(key) || process.env.IS_STATIC === "is_static" && inlineWhenUnflattened?.has(key)) {
338
+ viewProps[key] = props[key] ?? val;
339
+ }
340
+ const shouldPassThrough2 = styleProps.noExpand && isPseudo || isHOC && (isMediaOrPseudo || parentStaticConfig?.variants?.[keyInit]);
341
+ if (shouldPassThrough2) {
342
+ passDownProp(viewProps, key, val, isMediaOrPseudo);
343
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
344
+ console.groupCollapsed(` - passing down prop ${key}`);
345
+ log({
346
+ val,
347
+ after: {
348
+ ...viewProps[key]
349
+ }
350
+ });
351
+ console.groupEnd();
352
+ }
227
353
  return;
228
354
  }
229
355
  if (isPseudo) {
230
356
  if (!val) return;
231
- const pseudoStyleObject = getSubStyle(styleState, key, val, styleProps.noClass && process.env.IS_STATIC !== "is_static");
232
- if ((!shouldDoClasses || process.env.IS_STATIC === "is_static") && (pseudos ||= {}, pseudos[key] ||= {}, process.env.IS_STATIC === "is_static")) {
233
- Object.assign(pseudos[key], pseudoStyleObject);
357
+ const pseudoStyleObject = getSubStyle(styleState, key, val, styleProps.noClass && !(process.env.IS_STATIC === "is_static"));
358
+ if (!shouldDoClasses || process.env.IS_STATIC === "is_static") {
359
+ pseudos ||= {};
360
+ pseudos[key] ||= {};
361
+ if (process.env.IS_STATIC === "is_static") {
362
+ Object.assign(pseudos[key], pseudoStyleObject);
363
+ return;
364
+ }
365
+ }
366
+ const descriptor = pseudoDescriptors[key];
367
+ const isEnter = key === "enterStyle";
368
+ const isExit = key === "exitStyle";
369
+ if (!descriptor) {
234
370
  return;
235
371
  }
236
- const descriptor = pseudoDescriptors[key],
237
- isEnter = key === "enterStyle",
238
- isExit = key === "exitStyle";
239
- if (!descriptor) return;
240
372
  if (shouldDoClasses && !isExit) {
241
373
  const pseudoStyles = getStyleAtomic(pseudoStyleObject, descriptor);
242
- process.env.NODE_ENV === "development" && debug === "verbose" && console.info("pseudo:", key, pseudoStyleObject, pseudoStyles);
374
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
375
+ console.info("pseudo:", key, pseudoStyleObject, pseudoStyles);
376
+ }
243
377
  for (const psuedoStyle of pseudoStyles) {
244
378
  const fullKey = `${psuedoStyle[StyleObjectProperty]}${PROP_SPLIT}${descriptor.name}`;
245
- addStyleToInsertRules(rulesToInsert, psuedoStyle), classNames[fullKey] = psuedoStyle[StyleObjectIdentifier];
379
+ addStyleToInsertRules(rulesToInsert, psuedoStyle);
380
+ classNames[fullKey] = psuedoStyle[StyleObjectIdentifier];
246
381
  }
247
382
  }
248
383
  if (!shouldDoClasses || isExit || isEnter) {
249
384
  const descriptorKey = descriptor.stateKey || descriptor.name;
250
- let isDisabled = componentState[descriptorKey] === !1;
251
- isExit && (isDisabled = !styleProps.isExiting), isEnter && componentState.unmounted === !1 && (isDisabled = !0), process.env.NODE_ENV === "development" && debug === "verbose" && (console.groupCollapsed("pseudo", key, {
252
- isDisabled
253
- }), log({
254
- pseudoStyleObject,
255
- isDisabled,
256
- descriptor,
257
- componentState
258
- }), console.groupEnd());
259
- const importance = descriptor.priority,
260
- pseudoOriginalValues = styleOriginalValues.get(pseudoStyleObject);
385
+ let isDisabled = componentState[descriptorKey] === false;
386
+ if (isExit) {
387
+ isDisabled = !styleProps.isExiting;
388
+ }
389
+ if (isEnter && componentState.unmounted === false) {
390
+ isDisabled = true;
391
+ }
392
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
393
+ console.groupCollapsed("pseudo", key, {
394
+ isDisabled
395
+ });
396
+ log({
397
+ pseudoStyleObject,
398
+ isDisabled,
399
+ descriptor,
400
+ componentState
401
+ });
402
+ console.groupEnd();
403
+ }
404
+ const importance = descriptor.priority;
405
+ const pseudoOriginalValues = styleOriginalValues.get(pseudoStyleObject);
261
406
  for (const pkey in pseudoStyleObject) {
262
407
  const val2 = pseudoStyleObject[pkey];
263
- if (isDisabled) applyDefaultStyle(pkey, styleState);else {
264
- const curImportance = styleState.usedKeys[pkey] || 0,
265
- shouldMerge = importance >= curImportance;
266
- shouldMerge && (process.env.IS_STATIC === "is_static" && (pseudos ||= {}, pseudos[key] ||= {}, pseudos[key][pkey] = val2), mergeStyle(styleState, pkey, val2, importance, !1, pseudoOriginalValues?.[pkey])), process.env.NODE_ENV === "development" && debug === "verbose" && log(" subKey", pkey, shouldMerge, {
267
- importance,
268
- curImportance,
269
- pkey,
270
- val: val2
271
- });
408
+ if (isDisabled) {
409
+ applyDefaultStyle(pkey, styleState);
410
+ } else {
411
+ const curImportance = styleState.usedKeys[pkey] || 0;
412
+ const shouldMerge = importance >= curImportance;
413
+ if (shouldMerge) {
414
+ if (process.env.IS_STATIC === "is_static") {
415
+ pseudos ||= {};
416
+ pseudos[key] ||= {};
417
+ pseudos[key][pkey] = val2;
418
+ }
419
+ mergeStyle(styleState, pkey, val2, importance, false, pseudoOriginalValues?.[pkey]);
420
+ }
421
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
422
+ log(" subKey", pkey, shouldMerge, {
423
+ importance,
424
+ curImportance,
425
+ pkey,
426
+ val: val2
427
+ });
428
+ }
272
429
  }
273
430
  }
274
- if (!isDisabled) for (const key2 in val) {
275
- const k = shorthands[key2] || key2;
276
- styleState.usedKeys[k] = Math.max(importance, styleState.usedKeys[k] || 0);
431
+ if (!isDisabled) {
432
+ for (const key2 in val) {
433
+ const k = shorthands[key2] || key2;
434
+ styleState.usedKeys[k] = Math.max(importance, styleState.usedKeys[k] || 0);
435
+ }
277
436
  }
278
437
  }
279
438
  return;
@@ -281,378 +440,744 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
281
440
  if (isMedia) {
282
441
  if (!val) return;
283
442
  const mediaKeyShort = key.slice(isMedia == "theme" ? 7 : 1);
284
- if (hasMedia ||= !0, (val.space || !shouldDoClasses || styleProps.willBeAnimated) && ((!hasMedia || typeof hasMedia == "boolean") && (hasMedia = /* @__PURE__ */new Set()), hasMedia.add(mediaKeyShort)), isMedia === "platform" && !isActivePlatform(key)) return;
285
- process.env.NODE_ENV === "development" && debug === "verbose" && log(` \u{1F4FA} ${key}`, {
286
- key,
287
- val,
288
- props,
289
- shouldDoClasses,
290
- acceptsClassName,
291
- componentState,
292
- mediaState
293
- });
443
+ hasMedia ||= true;
444
+ const hasSpace = val["space"];
445
+ if (hasSpace || !shouldDoClasses || styleProps.willBeAnimated) {
446
+ if (!hasMedia || typeof hasMedia === "boolean") {
447
+ hasMedia = /* @__PURE__ */new Set();
448
+ }
449
+ hasMedia.add(mediaKeyShort);
450
+ }
451
+ if (isMedia === "platform") {
452
+ if (!isActivePlatform(key)) {
453
+ return;
454
+ }
455
+ }
456
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
457
+ log(` \u{1F4FA} ${key}`, {
458
+ key,
459
+ val,
460
+ props,
461
+ shouldDoClasses,
462
+ acceptsClassName,
463
+ componentState,
464
+ mediaState
465
+ });
466
+ }
294
467
  const priority = mediaStylesSeen;
295
- if (mediaStylesSeen += 1, shouldDoClasses) {
296
- const mediaStyle = getSubStyle(styleState, key, val, !1),
297
- mediaStyles = getCSSStylesAtomic(mediaStyle);
468
+ mediaStylesSeen += 1;
469
+ if (shouldDoClasses) {
470
+ const mediaStyle = getSubStyle(styleState, key, val, false);
471
+ const mediaStyles = getCSSStylesAtomic(mediaStyle);
298
472
  for (const style of mediaStyles) {
299
- const property = style[StyleObjectProperty],
300
- isSubStyle = property[0] === "$";
301
- if (isSubStyle && !isActivePlatform(property)) continue;
302
- const out = createMediaStyle(style, mediaKeyShort, mediaQueryConfig, isMedia, !1, priority);
303
- process.env.NODE_ENV === "development" && debug === "verbose" && log("\u{1F4FA} media style:", out);
304
- const subKey = isSubStyle ? style[2] : "",
305
- fullKey = `${style[StyleObjectProperty]}${subKey}${PROP_SPLIT}${mediaKeyShort}${style[StyleObjectPseudo] || ""}`;
306
- addStyleToInsertRules(rulesToInsert, out), classNames[fullKey] = out[StyleObjectIdentifier];
473
+ const property = style[StyleObjectProperty];
474
+ const isSubStyle = property[0] === "$";
475
+ if (isSubStyle && !isActivePlatform(property)) {
476
+ continue;
477
+ }
478
+ const out = createMediaStyle(style, mediaKeyShort, mediaQueryConfig, isMedia, false, priority);
479
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
480
+ log(`\u{1F4FA} media style:`, out);
481
+ }
482
+ const subKey = isSubStyle ? style[2] : "";
483
+ const fullKey = `${style[StyleObjectProperty]}${subKey}${PROP_SPLIT}${mediaKeyShort}${style[StyleObjectPseudo] || ""}`;
484
+ addStyleToInsertRules(rulesToInsert, out);
485
+ classNames[fullKey] = out[StyleObjectIdentifier];
307
486
  }
308
487
  } else {
309
488
  let mergeMediaStyle = function (key2, val2, originalVal2) {
310
- styleState.style ||= {}, mergeMediaByImportance(styleState, mediaKeyShort, key2, val2, mediaState[mediaKeyShort], importanceBump, debug, originalVal2) && key2 === "fontFamily" && (styleState.fontFamily = mediaStyle.fontFamily);
489
+ if (process.env.TAMAGUI_TARGET === "native") {
490
+ if (!isValidStyleKey(key2, validStyles, accept)) {
491
+ viewProps[key2] = val2;
492
+ return;
493
+ }
494
+ }
495
+ styleState.style ||= {};
496
+ const didMerge = mergeMediaByImportance(styleState, mediaKeyShort, key2, val2, mediaState[mediaKeyShort], importanceBump, debug, originalVal2);
497
+ if (didMerge && key2 === "fontFamily") {
498
+ styleState.fontFamily = mediaStyle.fontFamily;
499
+ }
311
500
  };
312
- const isThemeMedia = isMedia === "theme",
313
- isGroupMedia = isMedia === "group";
314
- if (!isThemeMedia && !(isMedia === "platform") && !isGroupMedia) {
501
+ const isThemeMedia = isMedia === "theme";
502
+ const isGroupMedia = isMedia === "group";
503
+ const isPlatformMedia = isMedia === "platform";
504
+ if (!isThemeMedia && !isPlatformMedia && !isGroupMedia) {
315
505
  if (!mediaState[mediaKeyShort]) {
316
- process.env.NODE_ENV === "development" && debug === "verbose" && log(` \u{1F4FA} \u274C DISABLED ${mediaKeyShort}`);
506
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
507
+ log(` \u{1F4FA} \u274C DISABLED ${mediaKeyShort}`);
508
+ }
317
509
  return;
318
510
  }
319
- process.env.NODE_ENV === "development" && debug === "verbose" && log(` \u{1F4FA} \u2705 ENABLED ${mediaKeyShort}`);
511
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
512
+ log(` \u{1F4FA} \u2705 ENABLED ${mediaKeyShort}`);
513
+ }
320
514
  }
321
- const mediaStyle = getSubStyle(styleState, key, val, !0);
515
+ const mediaStyle = getSubStyle(styleState, key, val, true);
322
516
  let importanceBump = 0;
323
517
  if (isThemeMedia) {
324
- if (dynamicThemeAccess = !0, !(themeName === mediaKeyShort || themeName.startsWith(mediaKeyShort))) return;
518
+ if (false) {
519
+ styleState.style ||= {};
520
+ const scheme = mediaKeyShort;
521
+ const oppositeScheme = getOppositeScheme(mediaKeyShort);
522
+ const themeOriginalValues = styleOriginalValues.get(mediaStyle);
523
+ const isCurrentScheme = themeName === scheme || themeName.startsWith(scheme);
524
+ for (const subKey in mediaStyle) {
525
+ const val2 = extractValueFromDynamic(mediaStyle[subKey], scheme);
526
+ const existing = styleState.style[subKey];
527
+ if (!isColorStyleKey(subKey)) {
528
+ dynamicThemeAccess = true;
529
+ if (isCurrentScheme) {
530
+ mediaStyle[subKey] = val2;
531
+ } else {
532
+ delete mediaStyle[subKey];
533
+ }
534
+ continue;
535
+ }
536
+ if (existing?.dynamic) {
537
+ existing.dynamic[scheme] = val2;
538
+ mediaStyle[subKey] = existing;
539
+ } else {
540
+ const oppositeVal = extractValueFromDynamic(existing, oppositeScheme);
541
+ mediaStyle[subKey] = getDynamicVal({
542
+ scheme,
543
+ val: val2,
544
+ oppositeVal
545
+ });
546
+ mergeStyle(styleState, subKey, mediaStyle[subKey], priority, false, themeOriginalValues?.[subKey]);
547
+ }
548
+ }
549
+ } else {
550
+ dynamicThemeAccess = true;
551
+ if (!(themeName === mediaKeyShort || themeName.startsWith(mediaKeyShort))) {
552
+ return;
553
+ }
554
+ }
325
555
  } else if (isGroupMedia) {
326
- const groupInfo = getGroupPropParts(mediaKeyShort),
327
- groupName = groupInfo.name,
328
- groupState = groupContext?.[groupName]?.state,
329
- groupPseudoKey = groupInfo.pseudo,
330
- groupMediaKey = groupInfo.media;
556
+ const groupInfo = getGroupPropParts(mediaKeyShort);
557
+ const groupName = groupInfo.name;
558
+ const groupState = groupContext?.[groupName]?.state;
559
+ const groupPseudoKey = groupInfo.pseudo;
560
+ const groupMediaKey = groupInfo.media;
331
561
  if (!groupState) {
332
- process.env.NODE_ENV === "development" && debug && log(`No parent with group prop, skipping styles: ${groupName}`), pseudoGroups ||= /* @__PURE__ */new Set();
562
+ if (process.env.NODE_ENV === "development" && debug) {
563
+ log(`No parent with group prop, skipping styles: ${groupName}`);
564
+ }
565
+ pseudoGroups ||= /* @__PURE__ */new Set();
333
566
  return;
334
567
  }
335
568
  const componentGroupState = componentState.group?.[groupName];
336
569
  if (groupMediaKey) {
337
- mediaGroups ||= /* @__PURE__ */new Set(), mediaGroups.add(groupMediaKey);
570
+ mediaGroups ||= /* @__PURE__ */new Set();
571
+ mediaGroups.add(groupMediaKey);
338
572
  const mediaState2 = componentGroupState?.media;
339
573
  let isActive = mediaState2?.[groupMediaKey];
340
- if (!mediaState2 && groupState.layout && (isActive = mediaKeyMatch(groupMediaKey, groupState.layout)), process.env.NODE_ENV === "development" && debug === "verbose" && log(` \u{1F3D8}\uFE0F GROUP media ${groupMediaKey} active? ${isActive}`, {
341
- ...mediaState2,
342
- usedKeys: {
343
- ...styleState.usedKeys
574
+ if (!mediaState2 && groupState.layout) {
575
+ isActive = mediaKeyMatch(groupMediaKey, groupState.layout);
576
+ }
577
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
578
+ log(` \u{1F3D8}\uFE0F GROUP media ${groupMediaKey} active? ${isActive}`, {
579
+ ...mediaState2,
580
+ usedKeys: {
581
+ ...styleState.usedKeys
582
+ }
583
+ });
584
+ }
585
+ if (!isActive) {
586
+ for (const pkey in mediaStyle) {
587
+ applyDefaultStyle(pkey, styleState);
344
588
  }
345
- }), !isActive) {
346
- for (const pkey in mediaStyle) applyDefaultStyle(pkey, styleState);
347
589
  return;
348
590
  }
349
591
  importanceBump = 2;
350
592
  }
351
593
  if (groupPseudoKey) {
352
- pseudoGroups ||= /* @__PURE__ */new Set(), pseudoGroups.add(groupName);
594
+ pseudoGroups ||= /* @__PURE__ */new Set();
595
+ pseudoGroups.add(groupName);
353
596
  const componentGroupPseudoState = (componentGroupState ||
354
- // fallback to context initially
355
- groupContext?.[groupName].state)?.pseudo,
356
- isActive = componentGroupPseudoState?.[groupPseudoKey],
357
- priority2 = pseudoPriorities[groupPseudoKey];
358
- if (process.env.NODE_ENV === "development" && debug === "verbose" && log(` \u{1F3D8}\uFE0F GROUP pseudo ${groupMediaKey} active? ${isActive}, priority ${priority2}`, {
359
- componentGroupPseudoState: {
360
- ...componentGroupPseudoState
361
- },
362
- usedKeys: {
363
- ...styleState.usedKeys
597
+ // fallback to context initially
598
+ groupContext?.[groupName].state)?.pseudo;
599
+ const isActive = componentGroupPseudoState?.[groupPseudoKey];
600
+ const priority2 = pseudoPriorities[groupPseudoKey];
601
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
602
+ log(` \u{1F3D8}\uFE0F GROUP pseudo ${groupMediaKey} active? ${isActive}, priority ${priority2}`, {
603
+ componentGroupPseudoState: {
604
+ ...componentGroupPseudoState
605
+ },
606
+ usedKeys: {
607
+ ...styleState.usedKeys
608
+ }
609
+ });
610
+ }
611
+ if (!isActive) {
612
+ for (const pkey in mediaStyle) {
613
+ applyDefaultStyle(pkey, styleState);
364
614
  }
365
- }), !isActive) {
366
- for (const pkey in mediaStyle) applyDefaultStyle(pkey, styleState);
367
615
  return;
368
616
  }
369
617
  importanceBump = priority2;
370
618
  }
619
+ } else if (isPlatformMedia) {
620
+ importanceBump = getPlatformSpecificityBump(mediaKeyShort);
371
621
  }
372
622
  const mediaOriginalValues = styleOriginalValues.get(mediaStyle);
373
- isGroupMedia && mediaStyle.transition && (styleState.pseudoTransitions ||= {}, styleState.pseudoTransitions[`$${mediaKeyShort}`] = mediaStyle.transition);
374
- for (const subKey in mediaStyle) if (subKey !== "space") if (subKey[0] === "$") {
375
- if (!isActivePlatform(subKey) || !isActiveTheme(subKey, themeName)) continue;
376
- const subOriginalValues = styleOriginalValues.get(mediaStyle[subKey]);
377
- for (const subSubKey in mediaStyle[subKey]) mergeMediaStyle(subSubKey, mediaStyle[subKey][subSubKey], subOriginalValues?.[subSubKey]);
378
- } else mergeMediaStyle(subKey, mediaStyle[subKey], mediaOriginalValues?.[subKey]);
623
+ if (isGroupMedia && mediaStyle.transition) {
624
+ styleState.pseudoTransitions ||= {};
625
+ styleState.pseudoTransitions[`$${mediaKeyShort}`] = mediaStyle.transition;
626
+ }
627
+ for (const subKey in mediaStyle) {
628
+ if (subKey === "space") {
629
+ continue;
630
+ }
631
+ if (subKey[0] === "$") {
632
+ const subMediaType = getMediaKey(subKey);
633
+ if (subMediaType === "platform") {
634
+ if (!isActivePlatform(subKey)) continue;
635
+ } else if (subMediaType === "theme") {
636
+ if (!isActiveTheme(subKey, themeName)) continue;
637
+ } else if (subMediaType === true) {
638
+ const subKeyShort = subKey.slice(1);
639
+ if (!mediaState[subKeyShort]) continue;
640
+ }
641
+ const nestedVal = mediaStyle[subKey];
642
+ const subOriginalValues = styleOriginalValues.get(nestedVal);
643
+ const isSizeMediaKey = !!mediaState[mediaKeyShort];
644
+ const outerBase = isSizeMediaKey ? getMediaKeyImportance(mediaKeyShort) : defaultMediaImportance;
645
+ let innerBase;
646
+ if (subMediaType === "platform") {
647
+ innerBase = defaultMediaImportance + getPlatformSpecificityBump(subKey.slice(1));
648
+ } else if (subMediaType === true) {
649
+ innerBase = getMediaKeyImportance(subKey.slice(1));
650
+ } else {
651
+ innerBase = defaultMediaImportance;
652
+ }
653
+ const nestedImportance = outerBase + importanceBump + innerBase + 1;
654
+ for (const subSubKey in nestedVal) {
655
+ const expandedKey = shorthands[subSubKey] || subSubKey;
656
+ const {
657
+ usedKeys
658
+ } = styleState;
659
+ if (usedKeys[expandedKey] && usedKeys[expandedKey] > nestedImportance) {
660
+ continue;
661
+ }
662
+ styleState.style ||= {};
663
+ mergeStyle(styleState, expandedKey, nestedVal[subSubKey], nestedImportance, false, subOriginalValues?.[subSubKey]);
664
+ if (expandedKey === "fontFamily") {
665
+ styleState.fontFamily = nestedVal[subSubKey];
666
+ }
667
+ }
668
+ } else {
669
+ mergeMediaStyle(subKey, mediaStyle[subKey], mediaOriginalValues?.[subKey]);
670
+ }
671
+ }
379
672
  }
380
673
  return;
381
674
  }
382
675
  if (!isVariant) {
383
- if (isStyledContextProp) return;
676
+ if (isStyledContextProp) {
677
+ return;
678
+ }
384
679
  viewProps[key] = val;
385
680
  }
386
- }), process.env.NODE_ENV === "development" && debug === "verbose") {
681
+ });
682
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
387
683
  try {
388
- log(" \u2714\uFE0F expand complete", keyInit), log("style", {
684
+ log(` \u2714\uFE0F expand complete`, keyInit);
685
+ log("style", {
389
686
  ...styleState.style
390
- }), log("viewProps", {
687
+ });
688
+ log("viewProps", {
391
689
  ...viewProps
392
- }), log("transforms", {
690
+ });
691
+ log("transforms", {
393
692
  ...styleState.flatTransforms
394
693
  });
395
694
  } catch {}
396
695
  console.groupEnd();
397
696
  }
398
697
  }
399
- if (process.env.NODE_ENV === "development" && (debug === "profile" || globalThis.time) && time`split-styles-propsend`, !(styleProps.noNormalize === !1) && (styleState.style && (fixStyles(styleState.style), !styleProps.noExpand && !styleProps.noMergeStyle && isWeb && (!isReactNative || driver?.inputStyle !== "css") && styleToCSS(styleState.style)), styleState.flatTransforms && (styleState.style ||= {}, mergeFlatTransforms(styleState.style, styleState.flatTransforms)), parentSplitStyles)) {
400
- if (shouldDoClasses) for (const key in parentSplitStyles.classNames) {
401
- const val = parentSplitStyles.classNames[key];
402
- styleState.style && key in styleState.style || key in classNames || (classNames[key] = val);
403
- }
404
- if (!shouldDoClasses) for (const key in parentSplitStyles.style) key in classNames || styleState.style && key in styleState.style || (styleState.style ||= {}, styleState.style[key] = parentSplitStyles.style[key]);
698
+ if (process.env.NODE_ENV === "development" && (debug === "profile" || globalThis.time)) {
699
+ time`split-styles-propsend`;
405
700
  }
406
- if (!styleProps.noNormalize && !staticConfig.isReactNative && !staticConfig.isHOC && (!styleProps.isAnimated || driver?.inputStyle === "css") && Array.isArray(styleState.style?.transform) && (styleState.style.transform = transformsToString(styleState.style.transform)), !styleProps.noMergeStyle && styleState.style && shouldDoClasses) {
407
- let retainedStyles,
408
- shouldRetain = !1;
409
- if (!styleState.style.$$css) {
410
- const atomic = getCSSStylesAtomic(styleState.style);
411
- for (const atomicStyle of atomic) {
412
- const [key, value, identifier] = atomicStyle,
413
- isAnimatedAndTransitionOnly = styleProps.isAnimated && styleProps.noClass && props.animateOnly?.includes(key),
414
- nonAnimatedTransitionOnly = !isAnimatedAndTransitionOnly && !styleProps.isAnimated && isClient && driver?.outputStyle === "css" && props.animateOnly?.includes(key);
415
- isAnimatedAndTransitionOnly ? (retainedStyles ||= {}, retainedStyles[key] = styleState.style[key]) : nonAnimatedTransitionOnly ? (retainedStyles ||= {}, retainedStyles[key] = value, shouldRetain = !0) : (addStyleToInsertRules(rulesToInsert, atomicStyle), classNames[key] = identifier);
701
+ const avoidNormalize = styleProps.noNormalize === false;
702
+ if (!avoidNormalize) {
703
+ if (styleState.style) {
704
+ fixStyles(styleState.style);
705
+ if (!styleProps.noExpand && !styleProps.noMergeStyle) {
706
+ if (isWeb && (isReactNative ? driver?.inputStyle !== "css" : true)) {
707
+ styleToCSS(styleState.style);
708
+ }
709
+ }
710
+ }
711
+ if (styleState.flatTransforms) {
712
+ styleState.style ||= {};
713
+ mergeFlatTransforms(styleState.style, styleState.flatTransforms);
714
+ }
715
+ if (parentSplitStyles) {
716
+ if (true) {
717
+ if (shouldDoClasses) {
718
+ for (const key in parentSplitStyles.classNames) {
719
+ const val = parentSplitStyles.classNames[key];
720
+ if (styleState.style && key in styleState.style || key in classNames) continue;
721
+ classNames[key] = val;
722
+ }
723
+ }
416
724
  }
417
- process.env.NODE_ENV === "development" && props.debug === "verbose" && (console.groupCollapsed("\u{1F539} getSplitStyles final style object"), console.info(styleState.style), console.info("retainedStyles", retainedStyles), console.groupEnd()), (shouldRetain || process.env.IS_STATIC !== "is_static") && (styleState.style = retainedStyles || {});
725
+ if (!shouldDoClasses) {
726
+ for (const key in parentSplitStyles.style) {
727
+ if (key in classNames || styleState.style && key in styleState.style) continue;
728
+ styleState.style ||= {};
729
+ styleState.style[key] = parentSplitStyles.style[key];
730
+ }
731
+ }
732
+ }
733
+ }
734
+ if (true) {
735
+ const shouldStringifyTransforms = !styleProps.noNormalize && !staticConfig.isReactNative && !staticConfig.isHOC && (!styleProps.isAnimated || driver?.inputStyle === "css");
736
+ if (shouldStringifyTransforms && Array.isArray(styleState.style?.transform)) {
737
+ styleState.style.transform = transformsToString(styleState.style.transform);
418
738
  }
419
739
  }
420
- if (!styleProps.noMergeStyle && styleState.style && !shouldDoClasses && styleProps.isAnimated && !driver?.isReactNative && !styleState.style.$$css) {
421
- const toConvert = {};
422
- let hasProps = !1;
423
- const animateOnly = props.animateOnly;
424
- for (const key in styleState.style) key in nonAnimatableStyleProps && (toConvert[key] = styleState.style[key], delete styleState.style[key], hasProps = !0);
425
- if (hasProps) {
426
- const atomic = getCSSStylesAtomic(toConvert);
427
- for (const atomicStyle of atomic) addStyleToInsertRules(rulesToInsert, atomicStyle), classNames[atomicStyle[StyleObjectProperty]] = atomicStyle[StyleObjectIdentifier];
740
+ if (true) {
741
+ if (!styleProps.noMergeStyle && styleState.style && shouldDoClasses) {
742
+ let retainedStyles;
743
+ let shouldRetain = false;
744
+ if (styleState.style["$$css"]) {} else {
745
+ const atomic = getCSSStylesAtomic(styleState.style);
746
+ for (const atomicStyle of atomic) {
747
+ const [key, value, identifier] = atomicStyle;
748
+ const isAnimatedAndTransitionOnly = styleProps.isAnimated && styleProps.noClass && props.animateOnly?.includes(key);
749
+ const nonAnimatedTransitionOnly = !isAnimatedAndTransitionOnly && !styleProps.isAnimated && isClient && driver?.outputStyle === "css" && props.animateOnly?.includes(key);
750
+ if (isAnimatedAndTransitionOnly) {
751
+ retainedStyles ||= {};
752
+ retainedStyles[key] = styleState.style[key];
753
+ } else if (nonAnimatedTransitionOnly) {
754
+ retainedStyles ||= {};
755
+ retainedStyles[key] = value;
756
+ shouldRetain = true;
757
+ } else {
758
+ addStyleToInsertRules(rulesToInsert, atomicStyle);
759
+ classNames[key] = identifier;
760
+ }
761
+ }
762
+ if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
763
+ console.groupCollapsed(`\u{1F539} getSplitStyles final style object`);
764
+ console.info(styleState.style);
765
+ console.info(`retainedStyles`, retainedStyles);
766
+ console.groupEnd();
767
+ }
768
+ if (shouldRetain || !(process.env.IS_STATIC === "is_static")) {
769
+ styleState.style = retainedStyles || {};
770
+ }
771
+ }
772
+ }
773
+ if (!styleProps.noMergeStyle && styleState.style && !shouldDoClasses && styleProps.isAnimated && !driver?.isReactNative) {
774
+ if (!styleState.style["$$css"]) {
775
+ const toConvert = {};
776
+ let hasProps = false;
777
+ const animateOnly = props.animateOnly;
778
+ for (const key in styleState.style) {
779
+ if (key in nonAnimatableStyleProps) {
780
+ toConvert[key] = styleState.style[key];
781
+ delete styleState.style[key];
782
+ hasProps = true;
783
+ }
784
+ }
785
+ if (hasProps) {
786
+ const atomic = getCSSStylesAtomic(toConvert);
787
+ for (const atomicStyle of atomic) {
788
+ addStyleToInsertRules(rulesToInsert, atomicStyle);
789
+ classNames[atomicStyle[StyleObjectProperty]] = atomicStyle[StyleObjectIdentifier];
790
+ }
791
+ }
792
+ }
428
793
  }
429
794
  }
430
795
  const styleProp = props.style;
431
- if (!styleProps.noMergeStyle && styleProp) if (isHOC) viewProps.style = normalizeStyle(styleProp);else {
432
- const isArray = Array.isArray(styleProp),
433
- len = isArray ? styleProp.length : 1;
434
- for (let i = 0; i < len; i++) {
435
- const style = isArray ? styleProp[i] : styleProp;
436
- style && (style.$$css ? Object.assign(styleState.classNames, style) : (styleState.style ||= {}, Object.assign(styleState.style, normalizeStyle(style))));
796
+ if (!styleProps.noMergeStyle && styleProp) {
797
+ if (isHOC) {
798
+ viewProps.style = normalizeStyle(styleProp);
799
+ } else {
800
+ const isArray = Array.isArray(styleProp);
801
+ const len = isArray ? styleProp.length : 1;
802
+ for (let i = 0; i < len; i++) {
803
+ const style = isArray ? styleProp[i] : styleProp;
804
+ if (style) {
805
+ if (style["$$css"]) {
806
+ Object.assign(styleState.classNames, style);
807
+ } else {
808
+ styleState.style ||= {};
809
+ Object.assign(styleState.style, normalizeStyle(style));
810
+ }
811
+ }
812
+ }
437
813
  }
438
814
  }
439
- process.env.NODE_ENV === "development" && (debug === "profile" || globalThis.time) && time`split-styles-pre-result`;
440
- const result = {
441
- hasMedia,
442
- fontFamily: styleState.fontFamily,
443
- viewProps,
444
- style: styleState.style,
445
- pseudos,
446
- classNames,
447
- rulesToInsert,
448
- dynamicThemeAccess,
449
- pseudoGroups,
450
- mediaGroups,
451
- overriddenContextProps: styleState.overriddenContextProps,
452
- pseudoTransitions: styleState.pseudoTransitions
453
- },
454
- asChildExceptStyleLike = asChild === "except-style" || asChild === "except-style-web";
455
- if (!styleProps.noMergeStyle && !asChildExceptStyleLike) {
815
+ if (false) {
816
+ if (viewProps.tabIndex === 0) {
817
+ viewProps.accessible ??= true;
818
+ }
456
819
  const style = styleState.style;
457
- {
458
- let fontFamily = isText || isInput ? styleState.fontFamily : null;
459
- fontFamily && fontFamily[0] === "$" && (fontFamily = fontFamily.slice(1));
460
- const fontFamilyClassName = fontFamily ? `font_${fontFamily}` : "",
461
- groupClassName = props.group ? `t_group_${props.group}` : "",
462
- componentNameFinal = props.componentName || staticConfig.componentName,
463
- componentNameClassName = props.asChild || !componentNameFinal || componentNameFinal === "Text" ? "" : `is_${componentNameFinal}`;
464
- let classList = [];
465
- componentNameClassName && classList.push(componentNameClassName), isText ? classList.push("is_Text") : classList.push("is_View"), fontFamilyClassName && classList.push(fontFamilyClassName), classNames && classList.push(Object.values(classNames).join(" ")), groupClassName && classList.push(groupClassName), props.className && classList.push(props.className);
466
- const finalClassName = classList.join(" "),
467
- needsCssStyles = isReactNative || styleProps.isAnimated && driver?.isReactNative;
468
- if (styleProps.isAnimated && driver?.inputStyle === "css") viewProps.className = finalClassName, style && (viewProps.style = style);else if (needsCssStyles) {
469
- let cnStyles;
470
- for (const name of finalClassName.split(" ")) cnStyles ||= {
471
- $$css: !0
472
- }, cnStyles[name] = name;
473
- viewProps.style = cnStyles ? [...(Array.isArray(style) ? style : [style]), cnStyles] : [style];
474
- } else finalClassName && (viewProps.className = finalClassName), style && (viewProps.style = style);
475
- }
476
- }
477
- if (process.env.NODE_ENV === "development" && debug === "verbose" && isClient && isDevTools) {
478
- console.groupEnd(), console.groupCollapsed("\u{1F539} getSplitStyles ===>");
479
- try {
480
- const logs = {
481
- ...result,
482
- className,
483
- componentState,
484
- viewProps,
485
- rulesToInsert,
486
- parentSplitStyles
487
- };
488
- for (const key in logs) log(key, logs[key]);
489
- } catch {}
490
- console.groupEnd();
820
+ if (style?.fontFamily) {
821
+ const faceInfo = getFont(style.fontFamily)?.face;
822
+ if (faceInfo) {
823
+ const overrideFace = faceInfo[style.fontWeight]?.[style.fontStyle || "normal"]?.val;
824
+ if (overrideFace) {
825
+ style.fontFamily = overrideFace;
826
+ styleState.fontFamily = overrideFace;
827
+ delete style.fontWeight;
828
+ delete style.fontStyle;
829
+ }
830
+ }
831
+ if (process.env.NODE_ENV === "development" && debug && debug !== "profile") {
832
+ log(`Found fontFamily native: ${style.fontFamily}`, faceInfo);
833
+ }
834
+ }
835
+ }
836
+ if (process.env.NODE_ENV === "development" && (debug === "profile" || globalThis.time)) {
837
+ time`split-styles-pre-result`;
838
+ }
839
+ const result = {
840
+ hasMedia,
841
+ fontFamily: styleState.fontFamily,
842
+ viewProps,
843
+ style: styleState.style,
844
+ pseudos,
845
+ classNames,
846
+ rulesToInsert,
847
+ dynamicThemeAccess,
848
+ pseudoGroups,
849
+ mediaGroups,
850
+ overriddenContextProps: styleState.overriddenContextProps,
851
+ pseudoTransitions: styleState.pseudoTransitions
852
+ };
853
+ const asChildExceptStyleLike = asChild === "except-style" || asChild === "except-style-web";
854
+ if (!styleProps.noMergeStyle) {
855
+ if (!asChildExceptStyleLike) {
856
+ const style = styleState.style;
857
+ if (true) {
858
+ let fontFamily = isText || isInput ? styleState.fontFamily : null;
859
+ if (fontFamily && fontFamily[0] === "$") {
860
+ fontFamily = fontFamily.slice(1);
861
+ }
862
+ const fontFamilyClassName = fontFamily ? `font_${fontFamily}` : "";
863
+ const groupClassName = props.group ? `t_group_${props.group}` : "";
864
+ const componentNameFinal = props.componentName || staticConfig.componentName;
865
+ const componentNameClassName = props.asChild || !componentNameFinal || componentNameFinal === "Text" ? "" : `is_${componentNameFinal}`;
866
+ let classList = [];
867
+ if (componentNameClassName) classList.push(componentNameClassName);
868
+ if (!isText) classList.push("is_View");else classList.push("is_Text");
869
+ if (fontFamilyClassName) classList.push(fontFamilyClassName);
870
+ if (classNames) classList.push(Object.values(classNames).join(" "));
871
+ if (groupClassName) classList.push(groupClassName);
872
+ if (props.className) classList.push(props.className);
873
+ const finalClassName = classList.join(" ");
874
+ const needsCssStyles = isReactNative || styleProps.isAnimated && driver?.isReactNative;
875
+ if (styleProps.isAnimated && driver?.inputStyle === "css") {
876
+ viewProps.className = finalClassName;
877
+ if (style) {
878
+ viewProps.style = style;
879
+ }
880
+ } else if (needsCssStyles) {
881
+ let cnStyles;
882
+ for (const name of finalClassName.split(" ")) {
883
+ cnStyles ||= {
884
+ $$css: true
885
+ };
886
+ cnStyles[name] = name;
887
+ }
888
+ viewProps.style = cnStyles ? [...(Array.isArray(style) ? style : [style]), cnStyles] : [style];
889
+ } else {
890
+ if (finalClassName) {
891
+ viewProps.className = finalClassName;
892
+ }
893
+ if (style) {
894
+ viewProps.style = style;
895
+ }
896
+ }
897
+ } else {
898
+ if (style) {
899
+ viewProps.style = style;
900
+ }
901
+ }
902
+ }
491
903
  }
492
- return process.env.NODE_ENV === "development" && (debug === "profile" || globalThis.time) && time`split-styles-done`, result;
904
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
905
+ if (isClient && isDevTools) {
906
+ console.groupEnd();
907
+ console.groupCollapsed("\u{1F539} getSplitStyles ===>");
908
+ try {
909
+ const logs = {
910
+ ...result,
911
+ className,
912
+ componentState,
913
+ viewProps,
914
+ rulesToInsert,
915
+ parentSplitStyles
916
+ };
917
+ for (const key in logs) {
918
+ log(key, logs[key]);
919
+ }
920
+ } catch {}
921
+ console.groupEnd();
922
+ }
923
+ }
924
+ if (process.env.NODE_ENV === "development" && (debug === "profile" || globalThis.time)) {
925
+ time`split-styles-done`;
926
+ }
927
+ return result;
493
928
  };
494
929
  function mergeFlatTransforms(target, flatTransforms) {
495
930
  Object.entries(flatTransforms).sort(([a], [b]) => sortString(a, b)).forEach(([key, val]) => {
496
- mergeTransform(target, key, val, !0);
931
+ mergeTransform(target, key, val, true);
497
932
  });
498
933
  }
499
- function mergeStyle(styleState, key, val, importance, disableNormalize = !1, originalVal) {
934
+ function mergeStyle(styleState, key, val, importance, disableNormalize = false, originalVal) {
500
935
  const {
501
936
  viewProps,
502
937
  styleProps,
503
938
  staticConfig,
504
939
  usedKeys
505
940
  } = styleState;
506
- if ((usedKeys[key] || 0) > importance) return;
941
+ const existingImportance = usedKeys[key] || 0;
942
+ if (existingImportance > importance) {
943
+ return;
944
+ }
507
945
  const contextProps = staticConfig.context?.props || staticConfig.parentStaticConfig?.context?.props;
508
946
  if (contextProps && key in contextProps) {
509
947
  styleState.overriddenContextProps ||= {};
510
948
  const originalFromState = styleState.originalContextPropValues?.[key];
511
949
  styleState.overriddenContextProps[key] = originalVal ?? originalFromState ?? val;
512
950
  }
513
- if (key in stylePropsTransform) styleState.flatTransforms ||= {}, usedKeys[key] = importance, styleState.flatTransforms[key] = val;else {
514
- const out = isWeb && !disableNormalize && !styleProps.noNormalize ? normalizeValueWithProperty(val, key) : val;
951
+ if (key in stylePropsTransform) {
952
+ styleState.flatTransforms ||= {};
953
+ usedKeys[key] = importance;
954
+ styleState.flatTransforms[key] = val;
955
+ } else {
956
+ const shouldNormalize = isWeb && !disableNormalize && !styleProps.noNormalize;
957
+ const out = shouldNormalize ? normalizeValueWithProperty(val, key) : val;
958
+ if (
515
959
  // accept is for props not styles
516
- staticConfig.accept && key in staticConfig.accept ? viewProps[key] = out : (styleState.style ||= {}, usedKeys[key] = importance, styleState.style[key] =
517
- // if you dont do this you'll be passing props.transform arrays directly here and then mutating them
518
- // if theres any flatTransforms later, causing issues (mutating props is bad, in strict mode styles get borked)
519
- key === "transform" && Array.isArray(out) ? [...out] : out);
960
+ staticConfig.accept && key in staticConfig.accept) {
961
+ viewProps[key] = out;
962
+ } else {
963
+ styleState.style ||= {};
964
+ usedKeys[key] = importance;
965
+ styleState.style[key] =
966
+ // if you dont do this you'll be passing props.transform arrays directly here and then mutating them
967
+ // if theres any flatTransforms later, causing issues (mutating props is bad, in strict mode styles get borked)
968
+ key === "transform" && Array.isArray(out) ? [...out] : out;
969
+ }
520
970
  }
521
971
  }
522
972
  const getSubStyle = (styleState, subKey, styleIn, avoidMergeTransform) => {
523
- const {
524
- staticConfig,
525
- conf: conf2,
526
- styleProps
527
- } = styleState,
528
- styleOut = {};
529
- let originalValues;
530
- for (let key in styleIn) {
531
- const val = styleIn[key];
532
- if (key = conf2.shorthands[key] || key, key === "transition") {
533
- styleState.pseudoTransitions ||= {}, styleState.pseudoTransitions[subKey] = val;
534
- const driver = styleState.animationDriver;
535
- if (driver?.outputStyle === "css") {
536
- const animationConfig = driver.animations?.[val];
537
- if (animationConfig) {
538
- const important = subKey[0] === "$" ? " !important" : "";
539
- styleOut.transition = `all ${animationConfig}${important}`;
540
- }
973
+ const {
974
+ staticConfig,
975
+ conf: conf2,
976
+ styleProps
977
+ } = styleState;
978
+ const styleOut = {};
979
+ let originalValues;
980
+ for (let key in styleIn) {
981
+ const val = styleIn[key];
982
+ key = conf2.shorthands[key] || key;
983
+ if (key === "transition") {
984
+ styleState.pseudoTransitions ||= {};
985
+ styleState.pseudoTransitions[subKey] = val;
986
+ const driver = styleState.animationDriver;
987
+ if (driver?.outputStyle === "css") {
988
+ const animationConfig = driver.animations?.[val];
989
+ if (animationConfig) {
990
+ const important = subKey[0] === "$" ? " !important" : "";
991
+ styleOut["transition"] = `all ${animationConfig}${important}`;
541
992
  }
542
- continue;
543
993
  }
544
- !staticConfig.isHOC && key in skipProps && !styleProps.noSkip || propMapper(key, val, styleState, !1, (skey, sval, originalVal) => {
545
- originalVal !== void 0 && (originalValues ||= {}, originalValues[skey] = originalVal), skey in validPseudoKeys && (sval = getSubStyle(styleState, skey, sval, avoidMergeTransform)), !avoidMergeTransform && skey in stylePropsTransform ? mergeTransform(styleOut, skey, sval) : styleOut[skey] = styleProps.noNormalize ? sval : normalizeValueWithProperty(sval, key);
546
- });
994
+ if (!styleOut["transition"] && typeof val === "string" && !driver?.animations?.[val]) {
995
+ styleOut["transition"] = val;
996
+ }
997
+ continue;
547
998
  }
548
- if (!avoidMergeTransform) {
549
- const parentTransform = styleState.style?.transform,
550
- flatTransforms = styleState.flatTransforms,
551
- styleOutTransform = styleOut.transform;
552
- if (Array.isArray(styleOutTransform) && styleOutTransform.length) {
553
- const len = styleOutTransform.length;
554
- if (Array.isArray(parentTransform)) {
555
- const merged = [];
556
- outer: for (let i = 0; i < parentTransform.length; i++) {
557
- const pt = parentTransform[i];
558
- for (const pk in pt) {
559
- for (let j = 0; j < len; j++) for (const sk in styleOutTransform[j]) {
999
+ const shouldSkip = !staticConfig.isHOC && key in skipProps && !styleProps.noSkip;
1000
+ if (shouldSkip) {
1001
+ continue;
1002
+ }
1003
+ propMapper(key, val, styleState, false, (skey, sval, originalVal) => {
1004
+ if (originalVal !== void 0) {
1005
+ originalValues ||= {};
1006
+ originalValues[skey] = originalVal;
1007
+ }
1008
+ if (skey in validPseudoKeys) {
1009
+ sval = getSubStyle(styleState, skey, sval, avoidMergeTransform);
1010
+ }
1011
+ if (!avoidMergeTransform && skey in stylePropsTransform) {
1012
+ mergeTransform(styleOut, skey, sval);
1013
+ } else {
1014
+ styleOut[skey] = styleProps.noNormalize ? sval : normalizeValueWithProperty(sval, key);
1015
+ }
1016
+ });
1017
+ }
1018
+ if (!avoidMergeTransform) {
1019
+ const parentTransform = styleState.style?.transform;
1020
+ const flatTransforms = styleState.flatTransforms;
1021
+ const styleOutTransform = styleOut.transform;
1022
+ if (Array.isArray(styleOutTransform) && styleOutTransform.length) {
1023
+ const len = styleOutTransform.length;
1024
+ if (Array.isArray(parentTransform)) {
1025
+ const merged = [];
1026
+ outer: for (let i = 0; i < parentTransform.length; i++) {
1027
+ const pt = parentTransform[i];
1028
+ for (const pk in pt) {
1029
+ for (let j = 0; j < len; j++) {
1030
+ for (const sk in styleOutTransform[j]) {
560
1031
  if (pk === sk) continue outer;
561
1032
  break;
562
1033
  }
563
- merged.push(pt);
564
- break;
565
1034
  }
1035
+ merged.push(pt);
1036
+ break;
566
1037
  }
567
- for (let i = 0; i < len; i++) merged.push(styleOutTransform[i]);
568
- styleOut.transform = merged;
569
1038
  }
570
- if (flatTransforms) outer: for (const fk in flatTransforms) {
1039
+ for (let i = 0; i < len; i++) merged.push(styleOutTransform[i]);
1040
+ styleOut.transform = merged;
1041
+ }
1042
+ if (flatTransforms) {
1043
+ outer: for (const fk in flatTransforms) {
571
1044
  const ck = fk === "x" ? "translateX" : fk === "y" ? "translateY" : fk;
572
- for (let j = 0; j < len; j++) for (const sk in styleOutTransform[j]) {
573
- if (ck === sk) continue outer;
574
- break;
1045
+ for (let j = 0; j < len; j++) {
1046
+ for (const sk in styleOutTransform[j]) {
1047
+ if (ck === sk) continue outer;
1048
+ break;
1049
+ }
575
1050
  }
576
1051
  mergeTransform(styleOut, fk, flatTransforms[fk]);
577
1052
  }
578
- } else flatTransforms && mergeFlatTransforms(styleOut, flatTransforms);
1053
+ }
1054
+ } else if (flatTransforms) {
1055
+ mergeFlatTransforms(styleOut, flatTransforms);
579
1056
  }
580
- return styleProps.noNormalize || fixStyles(styleOut), originalValues && styleOriginalValues.set(styleOut, originalValues), styleOut;
581
- },
582
- useInsertEffectCompat = isWeb ? React.useInsertionEffect || useIsomorphicLayoutEffect : () => {},
583
- useSplitStyles = (a, b, c, d, e, f, g, h, i, j, k, l, m) => {
584
- "use no memo";
1057
+ }
1058
+ if (!styleProps.noNormalize) {
1059
+ fixStyles(styleOut);
1060
+ }
1061
+ if (originalValues) {
1062
+ styleOriginalValues.set(styleOut, originalValues);
1063
+ }
1064
+ return styleOut;
1065
+ };
1066
+ const useInsertEffectCompat = isWeb ? React.useInsertionEffect || useIsomorphicLayoutEffect : () => {};
1067
+ const useSplitStyles = (a, b, c, d, e, f, g, h, i, j, k, l, m) => {
1068
+ "use no memo";
585
1069
 
586
- const res = getSplitStyles(a, b, c, d, e, f, g, h, i, j, k, l, m);
587
- return useInsertEffectCompat(() => {
588
- res && insertStyleRules(res.rulesToInsert);
589
- }, [res?.rulesToInsert]), res;
590
- };
1070
+ const res = getSplitStyles(a, b, c, d, e, f, g, h, i, j, k, l, m);
1071
+ if (true) {
1072
+ useInsertEffectCompat(() => {
1073
+ if (res) {
1074
+ insertStyleRules(res.rulesToInsert);
1075
+ }
1076
+ }, [res?.rulesToInsert]);
1077
+ }
1078
+ return res;
1079
+ };
591
1080
  function addStyleToInsertRules(rulesToInsert, styleObject) {
592
- {
1081
+ if (true) {
593
1082
  const identifier = styleObject[StyleObjectIdentifier];
594
- shouldInsertStyleRules(identifier) && (updateRules(identifier, styleObject[StyleObjectRules]), rulesToInsert[identifier] = styleObject);
1083
+ if (shouldInsertStyleRules(identifier)) {
1084
+ updateRules(identifier, styleObject[StyleObjectRules]);
1085
+ rulesToInsert[identifier] = styleObject;
1086
+ }
595
1087
  }
596
1088
  }
597
- const defaultColor = process.env.HANZO_GUI_DEFAULT_COLOR || "rgba(0,0,0,0)",
598
- animatableDefaults = {
599
- ...Object.fromEntries(Object.entries(tokenCategories.color).map(([k, v]) => [k, defaultColor])),
600
- opacity: 1,
601
- scale: 1,
602
- scaleX: 1,
603
- scaleY: 1,
604
- rotate: "0deg",
605
- rotateX: "0deg",
606
- rotateY: "0deg",
607
- rotateZ: "0deg",
608
- skewX: "0deg",
609
- skewY: "0deg",
610
- x: 0,
611
- y: 0,
612
- borderRadius: 0
613
- },
614
- mergeTransform = (obj, key, val, backwards = !1) => {
615
- typeof obj.transform != "string" && (obj.transform ||= [], obj.transform[backwards ? "unshift" : "push"]({
616
- [mapTransformKeys[key] || key]: val
617
- }));
618
- },
619
- mapTransformKeys = {
620
- x: "translateX",
621
- y: "translateY"
622
- };
623
- function passDownProp(viewProps, key, val, shouldMergeObject = !1) {
1089
+ const defaultColor = process.env.GUI_DEFAULT_COLOR || "rgba(0,0,0,0)";
1090
+ const animatableDefaults = {
1091
+ ...Object.fromEntries(Object.entries(tokenCategories.color).map(([k, v]) => [k, defaultColor])),
1092
+ opacity: 1,
1093
+ scale: 1,
1094
+ scaleX: 1,
1095
+ scaleY: 1,
1096
+ rotate: "0deg",
1097
+ rotateX: "0deg",
1098
+ rotateY: "0deg",
1099
+ rotateZ: "0deg",
1100
+ skewX: "0deg",
1101
+ skewY: "0deg",
1102
+ x: 0,
1103
+ y: 0,
1104
+ borderRadius: 0
1105
+ };
1106
+ const mergeTransform = (obj, key, val, backwards = false) => {
1107
+ if (typeof obj.transform === "string") {
1108
+ return;
1109
+ }
1110
+ obj.transform ||= [];
1111
+ obj.transform[backwards ? "unshift" : "push"]({
1112
+ [mapTransformKeys[key] || key]: val
1113
+ });
1114
+ };
1115
+ const mapTransformKeys = {
1116
+ x: "translateX",
1117
+ y: "translateY"
1118
+ };
1119
+ function passDownProp(viewProps, key, val, shouldMergeObject = false) {
624
1120
  if (shouldMergeObject) {
625
1121
  const next = {
626
1122
  ...viewProps[key],
627
1123
  ...val
628
1124
  };
629
- delete viewProps[key], viewProps[key] = next;
630
- } else viewProps[key] = val;
1125
+ delete viewProps[key];
1126
+ viewProps[key] = next;
1127
+ } else {
1128
+ viewProps[key] = val;
1129
+ }
631
1130
  }
632
1131
  function mergeMediaByImportance(styleState, mediaKey, key, value, isSizeMedia, importanceBump, debugProp, originalVal) {
633
1132
  const usedKeys = styleState.usedKeys;
634
1133
  let importance = getMediaImportanceIfMoreImportant(mediaKey, key, styleState, isSizeMedia);
635
- if (importanceBump && (importance = (importance || 0) + importanceBump), process.env.NODE_ENV === "development" && debugProp === "verbose" && log(`mergeMediaByImportance ${key} importance usedKey ${usedKeys[key]} next ${importance}`), importance === null) return !1;
1134
+ if (importanceBump) {
1135
+ const bumpedImportance = defaultMediaImportance + importanceBump;
1136
+ importance = !usedKeys[key] || bumpedImportance > usedKeys[key] ? bumpedImportance : null;
1137
+ }
1138
+ if (process.env.NODE_ENV === "development" && debugProp === "verbose") {
1139
+ log(`mergeMediaByImportance ${key} importance usedKey ${usedKeys[key]} next ${importance}`);
1140
+ }
1141
+ if (importance === null) {
1142
+ return false;
1143
+ }
636
1144
  if (key in pseudoDescriptors) {
637
- const descriptor = pseudoDescriptors[key],
638
- descriptorKey = descriptor.stateKey || descriptor.name;
639
- if (styleState.componentState[descriptorKey] === !1) return !1;
1145
+ const descriptor = pseudoDescriptors[key];
1146
+ const descriptorKey = descriptor.stateKey || descriptor.name;
1147
+ const isDisabled = styleState.componentState[descriptorKey] === false;
1148
+ if (isDisabled) {
1149
+ return false;
1150
+ }
640
1151
  const pseudoOriginalValues = styleOriginalValues.get(value);
641
- for (const subKey in value) mergeStyle(styleState, subKey, value[subKey], importance, !1, pseudoOriginalValues?.[subKey]);
642
- } else mergeStyle(styleState, key, value, importance, !1, originalVal);
643
- return !0;
1152
+ for (const subKey in value) {
1153
+ mergeStyle(styleState, subKey, value[subKey], importance, false, pseudoOriginalValues?.[subKey]);
1154
+ }
1155
+ } else {
1156
+ mergeStyle(styleState, key, value, importance, false, originalVal);
1157
+ }
1158
+ return true;
644
1159
  }
645
1160
  function normalizeStyle(style) {
646
1161
  const out = {};
647
1162
  for (const key in style) {
648
1163
  const val = style[key];
649
- key in stylePropsTransform ? mergeTransform(out, key, val) : out[key] = normalizeValueWithProperty(val, key);
1164
+ if (key in stylePropsTransform) {
1165
+ mergeTransform(out, key, val);
1166
+ } else {
1167
+ out[key] = normalizeValueWithProperty(val, key);
1168
+ }
1169
+ }
1170
+ if (isWeb && Array.isArray(out.transform)) {
1171
+ out.transform = transformsToString(out.transform);
650
1172
  }
651
- return isWeb && Array.isArray(out.transform) && (out.transform = transformsToString(out.transform)), fixStyles(out), out;
1173
+ fixStyles(out);
1174
+ return out;
652
1175
  }
653
1176
  function applyDefaultStyle(pkey, styleState) {
654
1177
  const defaultValues = animatableDefaults[pkey];
655
- defaultValues != null && !(pkey in styleState.usedKeys) && (!styleState.style || !(pkey in styleState.style)) && mergeStyle(styleState, pkey, defaultValues, 1);
1178
+ if (defaultValues != null && !(pkey in styleState.usedKeys) && (!styleState.style || !(pkey in styleState.style))) {
1179
+ mergeStyle(styleState, pkey, defaultValues, 1);
1180
+ }
656
1181
  }
657
1182
  export { PROP_SPLIT, getSplitStyles, getSubStyle, styleOriginalValues, useSplitStyles };
658
1183
  //# sourceMappingURL=getSplitStyles.mjs.map