@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,20 +3,22 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: !0
9
- });
10
- },
11
- __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
13
14
  get: () => from[key],
14
15
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
16
  });
16
- return to;
17
- };
17
+ }
18
+ return to;
19
+ };
18
20
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
- value: !0
21
+ value: true
20
22
  }), mod);
21
23
  var useThemeState_exports = {};
22
24
  __export(useThemeState_exports, {
@@ -28,107 +30,163 @@ __export(useThemeState_exports, {
28
30
  useThemeState: () => useThemeState
29
31
  });
30
32
  module.exports = __toCommonJS(useThemeState_exports);
31
- var import_constants = require("@hanzogui/constants"),
32
- import_constants2 = require("@hanzogui/constants"),
33
- import_react = require("react"),
34
- import_config = require("../config.cjs"),
35
- import_constants3 = require("../constants/constants.cjs");
36
- const ThemeStateContext = (0, import_react.createContext)(""),
37
- allListeners = /* @__PURE__ */new Map(),
38
- listenersByParent = {},
39
- HasRenderedOnce = /* @__PURE__ */new WeakMap(),
40
- HadTheme = /* @__PURE__ */new WeakMap(),
41
- PendingUpdate = /* @__PURE__ */new Map(),
42
- states = /* @__PURE__ */new Map(),
43
- localStates = /* @__PURE__ */new Map();
44
- let shouldForce = !1;
33
+ var import_constants = require("@hanzogui/constants");
34
+ var import_constants2 = require("@hanzogui/constants");
35
+ var import_react = require("react");
36
+ var import_config = require("../config.cjs");
37
+ var import_constants3 = require("../constants/constants.cjs");
38
+ const ThemeStateContext = (0, import_react.createContext)("");
39
+ const allListeners = /* @__PURE__ */new Map();
40
+ const listenersByParent = {};
41
+ const HasRenderedOnce = /* @__PURE__ */new WeakMap();
42
+ const HadTheme = /* @__PURE__ */new WeakMap();
43
+ const PendingUpdate = /* @__PURE__ */new Map();
44
+ const states = /* @__PURE__ */new Map();
45
+ const localStates = /* @__PURE__ */new Map();
46
+ let shouldForce = false;
45
47
  const forceUpdateThemes = () => {
46
- cacheVersion++, shouldForce = !0, allListeners.forEach(cb => cb());
47
- },
48
- getThemeState = id => states.get(id);
48
+ cacheVersion++;
49
+ shouldForce = true;
50
+ allListeners.forEach(cb => cb());
51
+ shouldForce = false;
52
+ };
53
+ const getThemeState = id => states.get(id);
49
54
  let cacheVersion = 0;
50
55
  const themeNameCache = /* @__PURE__ */new Map();
51
- let themeNameCacheVer = -1,
52
- themes = null,
53
- rootThemeState = null;
56
+ let themeNameCacheVer = -1;
57
+ let themes = null;
58
+ let rootThemeState = null;
54
59
  const getRootThemeState = () => rootThemeState;
55
- const useThemeState = (props, isRoot = !1, keys, schemeKeys) => {
56
- "use no memo";
60
+ const useThemeState = (props, isRoot = false, keys, schemeKeys) => {
61
+ "use no memo";
57
62
 
58
- const {
59
- disable
60
- } = props,
61
- parentId = (0, import_react.useContext)(ThemeStateContext);
62
- if (!parentId && !isRoot) throw new Error(process.env.NODE_ENV === "development" ? `${import_constants3.MISSING_THEME_MESSAGE}
63
+ const {
64
+ disable
65
+ } = props;
66
+ const parentId = (0, import_react.useContext)(ThemeStateContext);
67
+ if (!parentId && !isRoot) {
68
+ throw new Error(process.env.NODE_ENV === "development" ? `${import_constants3.MISSING_THEME_MESSAGE}
63
69
 
64
70
  Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? ` (component: ${props.componentName})` : ""}, but no parent theme context was found (parentId: ${parentId}).` : import_constants3.MISSING_THEME_MESSAGE);
65
- if (disable) return states.get(parentId) || {
71
+ }
72
+ if (disable) {
73
+ return states.get(parentId) || {
66
74
  id: "",
67
75
  name: "light",
68
76
  theme: (0, import_config.getConfig)().themes.light
69
77
  // inverses: 0,
70
78
  };
71
- const id = (0, import_react.useId)(),
72
- subscribe = (0, import_react.useCallback)(cb => (listenersByParent[parentId] = listenersByParent[parentId] || /* @__PURE__ */new Set(), listenersByParent[parentId].add(id), allListeners.set(id, () => {
73
- PendingUpdate.set(id, shouldForce ? "force" : !0), cb();
74
- }), () => {
75
- allListeners.delete(id), listenersByParent[parentId].delete(id), localStates.delete(id), states.delete(id), PendingUpdate.delete(id);
76
- }), [id, parentId]),
77
- propsKey = getPropsKey(props),
78
- getSnapshot = () => {
79
- let local = localStates.get(id);
80
- const parentState = states.get(parentId);
81
- if (local && !PendingUpdate.has(id) && parentState && local._parentName === parentState.name && local._propsKey === propsKey) return local;
82
- const isSchemeOnlyChange = !1,
83
- keysSize = keys?.current?.size ?? 0,
84
- allKeysSchemeOptimized = (schemeKeys?.current?.size ?? 0) === keysSize && keysSize > 0,
85
- canSkipForSchemeChange = isSchemeOnlyChange && allKeysSchemeOptimized,
86
- needsUpdate = props.passThrough ? !1 : isRoot || props.name === "light" || props.name === "dark" || props.name === null ? !0 : HasRenderedOnce.get(keys) ? canSkipForSchemeChange ? !1 : keys?.current?.size ? !0 : props.needsUpdate?.() : !0,
87
- [rerender, next] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));
88
- return PendingUpdate.delete(id), (!local || rerender) && (local = {
89
- ...next
90
- }, localStates.set(id, local)), process.env.NODE_ENV === "development" && props.debug === "verbose" && (console.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, ">", next.name), console.info({
91
- props,
92
- propsKey,
93
- isRoot,
94
- parentId,
95
- local,
96
- next,
97
- needsUpdate,
98
- isSchemeOnlyChange,
99
- allKeysSchemeOptimized,
100
- canSkipForSchemeChange
101
- }), console.groupEnd()), next !== local && (Object.assign(local, next), local.id = id), local._parentName = parentState?.name, local._propsKey = propsKey, states.set(id, next), local;
102
- };
103
- process.env.NODE_ENV === "development" && globalThis.time && globalThis.time`theme-prep-uses`;
104
- const state = (0, import_react.useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);
105
- return (0, import_constants2.useIsomorphicLayoutEffect)(() => {
106
- if (!HasRenderedOnce.get(keys)) {
107
- HasRenderedOnce.set(keys, !0);
108
- return;
79
+ }
80
+ const id = (0, import_react.useId)();
81
+ const subscribe = (0, import_react.useCallback)(cb => {
82
+ listenersByParent[parentId] = listenersByParent[parentId] || /* @__PURE__ */new Set();
83
+ listenersByParent[parentId].add(id);
84
+ allListeners.set(id, () => {
85
+ PendingUpdate.set(id, shouldForce ? "force" : true);
86
+ cb();
87
+ });
88
+ return () => {
89
+ allListeners.delete(id);
90
+ listenersByParent[parentId].delete(id);
91
+ localStates.delete(id);
92
+ states.delete(id);
93
+ PendingUpdate.delete(id);
94
+ };
95
+ }, [id, parentId]);
96
+ const propsKey = getPropsKey(props);
97
+ const getSnapshot = () => {
98
+ let local = localStates.get(id);
99
+ const parentState = states.get(parentId);
100
+ if (local && !PendingUpdate.has(id)) {
101
+ if (parentState && local._parentName === parentState.name && local._propsKey === propsKey) {
102
+ return local;
109
103
  }
110
- if (!propsKey) {
111
- HadTheme.get(keys) && scheduleUpdate(id), HadTheme.set(keys, !1);
112
- return;
104
+ }
105
+ const isSchemeOnlyChange = false;
106
+ const keysSize = keys?.current?.size ?? 0;
107
+ const schemeKeysSize = schemeKeys?.current?.size ?? 0;
108
+ const allKeysSchemeOptimized = schemeKeysSize === keysSize && keysSize > 0;
109
+ const canSkipForSchemeChange = isSchemeOnlyChange && allKeysSchemeOptimized;
110
+ const needsUpdate = props.passThrough ? false : isRoot || props.name === "light" || props.name === "dark" || props.name === null ? true : !HasRenderedOnce.get(keys) ? true : canSkipForSchemeChange ? false : keys?.current?.size ? true : props.needsUpdate?.();
111
+ const [rerender, next] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));
112
+ PendingUpdate.delete(id);
113
+ if (!local || rerender) {
114
+ local = {
115
+ ...next
116
+ };
117
+ localStates.set(id, local);
118
+ }
119
+ if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
120
+ console.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, ">", next.name);
121
+ console.info({
122
+ props,
123
+ propsKey,
124
+ isRoot,
125
+ parentId,
126
+ local,
127
+ next,
128
+ needsUpdate,
129
+ isSchemeOnlyChange,
130
+ allKeysSchemeOptimized,
131
+ canSkipForSchemeChange
132
+ });
133
+ console.groupEnd();
134
+ }
135
+ if (next !== local) {
136
+ Object.assign(local, next);
137
+ local.id = id;
138
+ }
139
+ ;
140
+ local._parentName = parentState?.name;
141
+ local._propsKey = propsKey;
142
+ states.set(id, next);
143
+ return local;
144
+ };
145
+ if (process.env.NODE_ENV === "development" && globalThis.time) globalThis.time`theme-prep-uses`;
146
+ const state = (0, import_react.useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);
147
+ (0, import_constants2.useIsomorphicLayoutEffect)(() => {
148
+ if (!HasRenderedOnce.get(keys)) {
149
+ HasRenderedOnce.set(keys, true);
150
+ return;
151
+ }
152
+ if (!propsKey) {
153
+ if (HadTheme.get(keys)) {
154
+ scheduleUpdate(id);
113
155
  }
114
- process.env.NODE_ENV === "development" && props.debug === "verbose" && console.warn(` \xB7 useTheme(${id}) scheduleUpdate`, propsKey, states.get(id)?.name), scheduleUpdate(id), HadTheme.set(keys, !0);
115
- }, [keys, propsKey]), state;
116
- },
117
- getNextState = (lastState, props, propsKey, isRoot = !1, id, parentId, needsUpdate, pendingUpdate) => {
118
- const {
119
- debug
120
- } = props,
121
- parentState = states.get(parentId);
122
- if (props.passThrough) return [!1, lastState || parentState || {
156
+ HadTheme.set(keys, false);
157
+ return;
158
+ }
159
+ if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
160
+ console.warn(` \xB7 useTheme(${id}) scheduleUpdate`, propsKey, states.get(id)?.name);
161
+ }
162
+ scheduleUpdate(id);
163
+ HadTheme.set(keys, true);
164
+ }, [keys, propsKey]);
165
+ return state;
166
+ };
167
+ const getNextState = (lastState, props, propsKey, isRoot = false, id, parentId, needsUpdate, pendingUpdate) => {
168
+ const {
169
+ debug
170
+ } = props;
171
+ const parentState = states.get(parentId);
172
+ if (props.passThrough) {
173
+ return [false, lastState || parentState || {
123
174
  name: ""
124
175
  }];
125
- themes || (themes = (0, import_config.getConfig)().themes);
126
- const name = !propsKey && (!lastState || !lastState?.isNew) ? null : getNewThemeName(parentState?.name, props, pendingUpdate === "force" ? !0 : !!needsUpdate),
127
- isSameAsParent = parentState && (!name || name === parentState.name),
128
- shouldRerender = !!(pendingUpdate === "force" || needsUpdate && (pendingUpdate || lastState?.name !== parentState?.name));
129
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
130
- const message = ` \xB7 useTheme(${id}) getNextState => ${name} needsUpdate ${needsUpdate} shouldRerender ${shouldRerender}`;
131
- console.groupCollapsed(message), console.trace({
176
+ }
177
+ if (!themes) {
178
+ themes = (0, import_config.getConfig)().themes;
179
+ }
180
+ const name = !propsKey && (!lastState || !lastState?.isNew) ? null : getNewThemeName(parentState?.name, props, pendingUpdate === "force" ? true : !!needsUpdate);
181
+ const isSameAsParent = parentState && (!name || name === parentState.name);
182
+ const shouldRerender = Boolean(pendingUpdate === "force" || needsUpdate && (pendingUpdate || lastState?.name !== parentState?.name));
183
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
184
+ const message = ` \xB7 useTheme(${id}) getNextState => ${name} needsUpdate ${needsUpdate} shouldRerender ${shouldRerender}`;
185
+ if (false) {
186
+ console.info(message);
187
+ } else {
188
+ console.groupCollapsed(message);
189
+ console.trace({
132
190
  name,
133
191
  lastState,
134
192
  parentState,
@@ -136,53 +194,87 @@ Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? `
136
194
  propsKey,
137
195
  id,
138
196
  isSameAsParent
139
- }), console.groupEnd();
197
+ });
198
+ console.groupEnd();
140
199
  }
141
- if (isSameAsParent) return !shouldRerender && lastState && lastState.name === parentState.name ? [!1, lastState] : [shouldRerender, {
200
+ }
201
+ if (isSameAsParent) {
202
+ if (!shouldRerender && lastState && lastState.name === parentState.name) {
203
+ return [false, lastState];
204
+ }
205
+ return [shouldRerender, {
142
206
  ...parentState,
143
- isNew: !1
207
+ isNew: false
144
208
  }];
145
- if (!name) {
146
- const next = lastState ?? parentState;
147
- if (!next) throw new Error(process.env.NODE_ENV === "development" ? `${import_constants3.MISSING_THEME_MESSAGE}
209
+ }
210
+ if (!name) {
211
+ const next = lastState ?? parentState;
212
+ if (!next) {
213
+ throw new Error(process.env.NODE_ENV === "development" ? `${import_constants3.MISSING_THEME_MESSAGE}
148
214
 
149
215
  Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? ` (component: ${props.componentName})` : ""}, but no theme state was resolved (parentId: ${parentId}, id: ${id}).` : import_constants3.MISSING_THEME_MESSAGE);
150
- return shouldRerender ? [!0, {
151
- ...(parentState || lastState)
152
- }] : [!1, next];
153
216
  }
154
- const scheme = getScheme(name),
155
- isInverse = parentState && scheme !== parentState.scheme,
156
- nextState = {
157
- id,
158
- name,
159
- theme: themes[name],
160
- scheme,
161
- parentId,
162
- parentName: parentState?.name,
163
- // inverses,
164
- isInverse,
165
- isNew: !0
217
+ if (shouldRerender) {
218
+ const updated = {
219
+ ...(parentState || lastState)
166
220
  };
167
- if (isRoot && (rootThemeState = nextState), pendingUpdate !== "force" && lastState && lastState.name === name) return [!1, nextState];
168
- const shouldAvoidRerender = pendingUpdate !== "force" && lastState && !needsUpdate && nextState.name === lastState.name;
169
- return process.env.NODE_ENV === "development" && debug === "verbose" && (console.groupCollapsed(` \xB7 useTheme(${id}) \u23ED\uFE0F ${name} shouldAvoidRerender: ${shouldAvoidRerender}`), console.info({
221
+ return [true, updated];
222
+ }
223
+ return [false, next];
224
+ }
225
+ const scheme = getScheme(name);
226
+ const isInverse = parentState && scheme !== parentState.scheme;
227
+ const nextState = {
228
+ id,
229
+ name,
230
+ theme: themes[name],
231
+ scheme,
232
+ parentId,
233
+ parentName: parentState?.name,
234
+ // inverses,
235
+ isInverse,
236
+ isNew: true
237
+ };
238
+ if (isRoot) {
239
+ rootThemeState = nextState;
240
+ }
241
+ if (pendingUpdate !== "force" && lastState && lastState.name === name) {
242
+ return [false, nextState];
243
+ }
244
+ const shouldAvoidRerender = pendingUpdate !== "force" && lastState && !needsUpdate && nextState.name === lastState.name;
245
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
246
+ console.groupCollapsed(` \xB7 useTheme(${id}) \u23ED\uFE0F ${name} shouldAvoidRerender: ${shouldAvoidRerender}`);
247
+ console.info({
170
248
  lastState,
171
249
  needsUpdate,
172
250
  nextState,
173
251
  pendingUpdate
174
- }), console.groupEnd()), shouldAvoidRerender ? [!1, nextState] : [!0, nextState];
175
- };
252
+ });
253
+ console.groupEnd();
254
+ }
255
+ if (shouldAvoidRerender) {
256
+ return [false, nextState];
257
+ }
258
+ return [true, nextState];
259
+ };
176
260
  function scheduleUpdate(id) {
177
- const queue = [id],
178
- visited = /* @__PURE__ */new Set();
179
- for (; queue.length;) {
180
- const parent = queue.shift(),
181
- children = listenersByParent[parent];
182
- if (children) for (const childId of children) visited.has(childId) || (visited.add(childId), queue.push(childId));
261
+ const queue = [id];
262
+ const visited = /* @__PURE__ */new Set();
263
+ while (queue.length) {
264
+ const parent = queue.shift();
265
+ const children = listenersByParent[parent];
266
+ if (children) {
267
+ for (const childId of children) {
268
+ if (!visited.has(childId)) {
269
+ visited.add(childId);
270
+ queue.push(childId);
271
+ }
272
+ }
273
+ }
183
274
  }
184
275
  visited.forEach(childId => {
185
- allListeners.get(childId)?.();
276
+ const cb = allListeners.get(childId);
277
+ cb?.();
186
278
  });
187
279
  }
188
280
  const validSchemes = {
@@ -192,15 +284,20 @@ const validSchemes = {
192
284
  function getScheme(name) {
193
285
  return validSchemes[name.split("_")[0]];
194
286
  }
195
- function getNewThemeName(parentName = "", props, forceUpdate = !1) {
287
+ function getNewThemeName(parentName = "", props, forceUpdate = false) {
196
288
  const {
197
- name,
198
- reset
199
- } = props,
200
- componentName = props.unstyled ? void 0 : props.componentName;
201
- if (name && reset) throw new Error(process.env.NODE_ENV === "production" ? "\u274C004" : "Cannot reset and set a new name at the same time.");
289
+ name,
290
+ reset
291
+ } = props;
292
+ const componentName = props.unstyled ? void 0 : props.componentName;
293
+ if (name && reset) {
294
+ throw new Error(process.env.NODE_ENV === "production" ? `\u274C004` : "Cannot reset and set a new name at the same time.");
295
+ }
202
296
  const cacheKey = `${parentName}|${name || ""}|${componentName || ""}|${reset ? 1 : 0}|${forceUpdate ? 1 : 0}`;
203
- if (themeNameCacheVer !== cacheVersion) themeNameCache.clear(), themeNameCacheVer = cacheVersion;else {
297
+ if (themeNameCacheVer !== cacheVersion) {
298
+ themeNameCache.clear();
299
+ themeNameCacheVer = cacheVersion;
300
+ } else {
204
301
  const cached = themeNameCache.get(cacheKey);
205
302
  if (cached !== void 0) return cached;
206
303
  }
@@ -208,67 +305,90 @@ function getNewThemeName(parentName = "", props, forceUpdate = !1) {
208
305
  themes: themes2
209
306
  } = (0, import_config.getConfig)();
210
307
  if (reset) {
211
- if (parentName === "light" || parentName === "dark") {
308
+ const isSchemeOnly = parentName === "light" || parentName === "dark";
309
+ if (isSchemeOnly) {
212
310
  const result2 = parentName === "light" ? "dark" : "light";
213
- return themeNameCache.set(cacheKey, result2), result2;
311
+ themeNameCache.set(cacheKey, result2);
312
+ return result2;
214
313
  }
215
- const lastPartIndex = parentName.lastIndexOf("_"),
216
- name2 = lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex),
217
- scheme = parentName.slice(0, lastPartIndex),
218
- result = themes2[name2] ? name2 : scheme;
219
- return themeNameCache.set(cacheKey, result), result;
314
+ const lastPartIndex = parentName.lastIndexOf("_");
315
+ const name2 = lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex);
316
+ const scheme = parentName.slice(0, lastPartIndex);
317
+ const result = themes2[name2] ? name2 : scheme;
318
+ themeNameCache.set(cacheKey, result);
319
+ return result;
320
+ }
321
+ const parentParts = parentName.split("_");
322
+ const lastName = parentParts[parentParts.length - 1];
323
+ if (lastName && lastName[0].toLowerCase() !== lastName[0]) {
324
+ parentParts.pop();
220
325
  }
221
- const parentParts = parentName.split("_"),
222
- lastName = parentParts[parentParts.length - 1];
223
- lastName && lastName[0].toLowerCase() !== lastName[0] && parentParts.pop();
224
326
  const subNames = [name && componentName ? `${name}_${componentName}` : void 0, name, componentName].filter(Boolean);
225
327
  let found = null;
226
328
  if (name) {
227
329
  const nameHasScheme = getScheme(name);
228
330
  if (nameHasScheme) {
229
- for (const subName of subNames) if (subName in themes2) {
230
- found = subName;
231
- break;
331
+ for (const subName of subNames) {
332
+ if (subName in themes2) {
333
+ found = subName;
334
+ break;
335
+ }
232
336
  }
233
337
  }
234
- if (!found && !nameHasScheme && getScheme(parentName)) {
235
- const potentialBases = [];
236
- for (let i = parentParts.length; i >= 1; i--) potentialBases.push(parentParts.slice(0, i).join("_"));
237
- outer: for (const base of potentialBases) {
238
- const candidates = [componentName ? `${base}_${name}_${componentName}` : void 0, `${base}_${name}`].filter(Boolean);
239
- for (const potential of candidates) if (potential in themes2) {
240
- found = potential;
241
- break outer;
338
+ if (!found && !nameHasScheme) {
339
+ const parentScheme = getScheme(parentName);
340
+ if (parentScheme) {
341
+ const potentialBases = [];
342
+ for (let i = parentParts.length; i >= 1; i--) {
343
+ potentialBases.push(parentParts.slice(0, i).join("_"));
344
+ }
345
+ outer: for (const base of potentialBases) {
346
+ const candidates = [componentName ? `${base}_${name}_${componentName}` : void 0, `${base}_${name}`].filter(Boolean);
347
+ for (const potential of candidates) {
348
+ if (potential in themes2) {
349
+ found = potential;
350
+ break outer;
351
+ }
352
+ }
242
353
  }
243
354
  }
244
355
  }
245
356
  }
246
- if (!found) if (!name && componentName) {
247
- const potential = `${parentParts.join("_")}_${componentName}`;
248
- potential in themes2 && (found = potential);
249
- } else {
250
- const max = parentParts.length;
251
- for (let i = 0; i <= max; i++) {
252
- const base = (i === 0 ? parentParts : parentParts.slice(0, -i)).join("_");
253
- for (const subName of subNames) {
254
- const potential = base ? `${base}_${subName}` : subName;
255
- if (potential in themes2) {
256
- found = potential;
257
- break;
357
+ if (!found) {
358
+ if (!name && componentName) {
359
+ const potential = `${parentParts.join("_")}_${componentName}`;
360
+ if (potential in themes2) {
361
+ found = potential;
362
+ }
363
+ } else {
364
+ const max = parentParts.length;
365
+ for (let i = 0; i <= max; i++) {
366
+ const base = (i === 0 ? parentParts : parentParts.slice(0, -i)).join("_");
367
+ for (const subName of subNames) {
368
+ const potential = base ? `${base}_${subName}` : subName;
369
+ if (potential in themes2) {
370
+ found = potential;
371
+ break;
372
+ }
258
373
  }
374
+ if (found) break;
259
375
  }
260
- if (found) break;
261
376
  }
262
377
  }
263
- return !forceUpdate && found === parentName &&
378
+ if (!forceUpdate && found === parentName &&
264
379
  // if its a scheme only sub-theme, we always consider it "new" because it likely inverses
265
380
  // and we want to avoid reparenting
266
- !validSchemes[found] ? (themeNameCache.set(cacheKey, null), null) : (themeNameCache.set(cacheKey, found), found);
381
+ !validSchemes[found]) {
382
+ themeNameCache.set(cacheKey, null);
383
+ return null;
384
+ }
385
+ themeNameCache.set(cacheKey, found);
386
+ return found;
267
387
  }
268
388
  const getPropsKey = ({
269
- name,
270
- reset,
271
- forceClassName,
272
- componentName
273
- }) => `${name || ""}${reset || ""}${forceClassName || ""}${componentName || ""}`,
274
- hasThemeUpdatingProps = props => "name" in props || "reset" in props || "forceClassName" in props;
389
+ name,
390
+ reset,
391
+ forceClassName,
392
+ componentName
393
+ }) => `${name || ""}${reset || ""}${forceClassName || ""}${componentName || ""}`;
394
+ const hasThemeUpdatingProps = props => "name" in props || "reset" in props || "forceClassName" in props;