@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
@@ -2,507 +2,792 @@ var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf,
6
- __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: !0
11
- });
12
- },
13
- __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
16
  get: () => from[key],
16
17
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
18
  });
18
- return to;
19
- };
19
+ }
20
+ return to;
21
+ };
20
22
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
- value: mod,
27
- enumerable: !0
28
- }) : target, mod)),
29
- __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
30
- value: !0
31
- }), mod);
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: true
30
+ }) : target, mod));
31
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: true
33
+ }), mod);
32
34
  var createComponent_exports = {};
33
35
  __export(createComponent_exports, {
34
36
  componentSetStates: () => componentSetStates,
35
37
  createComponent: () => createComponent
36
38
  });
37
39
  module.exports = __toCommonJS(createComponent_exports);
38
- var import_compose_refs = require("@hanzogui/compose-refs"),
39
- import_constants = require("@hanzogui/constants"),
40
- import_native = require("@hanzogui/native"),
41
- import_helpers = require("@hanzogui/helpers"),
42
- import_is_equal_shallow = require("@hanzogui/is-equal-shallow"),
43
- import_react = __toESM(require("react"), 1),
44
- import_config = require("./config.cjs"),
45
- import_isDevTools = require("./constants/isDevTools.cjs"),
46
- import_ComponentContext = require("./contexts/ComponentContext.cjs"),
47
- import_GroupContext = require("./contexts/GroupContext.cjs"),
48
- import_createVariable = require("./createVariable.cjs"),
49
- import_defaultComponentState = require("./defaultComponentState.cjs"),
50
- import_eventHandling = require("./eventHandling.cjs"),
51
- import_getDefaultProps = require("./helpers/getDefaultProps.cjs"),
52
- import_resolveAnimationDriver = require("./helpers/resolveAnimationDriver.cjs"),
53
- import_getSplitStyles = require("./helpers/getSplitStyles.cjs"),
54
- import_log = require("./helpers/log.cjs"),
55
- import_mergeProps = require("./helpers/mergeProps.cjs"),
56
- import_mergeRenderElementProps = require("./helpers/mergeRenderElementProps.cjs"),
57
- import_objectIdentityKey = require("./helpers/objectIdentityKey.cjs"),
58
- import_pointerEvents = require("./helpers/pointerEvents.cjs"),
59
- import_pseudoTransitions = require("./helpers/pseudoTransitions.cjs"),
60
- import_setElementProps = require("./helpers/setElementProps.cjs"),
61
- import_subscribeToContextGroup = require("./helpers/subscribeToContextGroup.cjs"),
62
- import_themeable = require("./helpers/themeable.cjs"),
63
- import_wrapStyleTags = require("./helpers/wrapStyleTags.cjs"),
64
- import_useComponentState = require("./hooks/useComponentState.cjs"),
65
- import_useMedia = require("./hooks/useMedia.cjs"),
66
- import_useTheme = require("./hooks/useTheme.cjs"),
67
- import_setupHooks = require("./setupHooks.cjs"),
68
- import_Slot = require("./views/Slot.cjs"),
69
- import_Theme = require("./views/Theme.cjs"),
70
- import_jsx_runtime = require("react/jsx-runtime");
71
- let time, debugKeyListeners, startVisualizer;
72
- const componentSetStates = /* @__PURE__ */new Set(),
73
- avoidReRenderKeys = /* @__PURE__ */new Set(["hover", "press", "pressIn", "group", "focus", "focusWithin", "media", "group"]);
74
- if (typeof window < "u") {
40
+ var import_compose_refs = require("@hanzogui/compose-refs");
41
+ var import_constants = require("@hanzogui/constants");
42
+ var import_native = require("@hanzogui/native");
43
+ var import_helpers = require("@hanzogui/helpers");
44
+ var import_is_equal_shallow = require("@hanzogui/is-equal-shallow");
45
+ var import_react = __toESM(require("react"), 1);
46
+ var import_config = require("./config.cjs");
47
+ var import_isDevTools = require("./constants/isDevTools.cjs");
48
+ var import_ComponentContext = require("./contexts/ComponentContext.cjs");
49
+ var import_GroupContext = require("./contexts/GroupContext.cjs");
50
+ var import_createVariable = require("./createVariable.cjs");
51
+ var import_defaultComponentState = require("./defaultComponentState.cjs");
52
+ var import_eventHandling = require("./eventHandling.cjs");
53
+ var import_getDefaultProps = require("./helpers/getDefaultProps.cjs");
54
+ var import_resolveAnimationDriver = require("./helpers/resolveAnimationDriver.cjs");
55
+ var import_getSplitStyles = require("./helpers/getSplitStyles.cjs");
56
+ var import_log = require("./helpers/log.cjs");
57
+ var import_mergeProps = require("./helpers/mergeProps.cjs");
58
+ var import_mergeRenderElementProps = require("./helpers/mergeRenderElementProps.cjs");
59
+ var import_objectIdentityKey = require("./helpers/objectIdentityKey.cjs");
60
+ var import_pointerEvents = require("./helpers/pointerEvents.cjs");
61
+ var import_pseudoTransitions = require("./helpers/pseudoTransitions.cjs");
62
+ var import_setElementProps = require("./helpers/setElementProps.cjs");
63
+ var import_subscribeToContextGroup = require("./helpers/subscribeToContextGroup.cjs");
64
+ var import_themeable = require("./helpers/themeable.cjs");
65
+ var import_wrapStyleTags = require("./helpers/wrapStyleTags.cjs");
66
+ var import_useComponentState = require("./hooks/useComponentState.cjs");
67
+ var import_useMedia = require("./hooks/useMedia.cjs");
68
+ var import_useTheme = require("./hooks/useTheme.cjs");
69
+ var import_setupHooks = require("./setupHooks.cjs");
70
+ var import_Slot = require("./views/Slot.cjs");
71
+ var import_Theme = require("./views/Theme.cjs");
72
+ var import_jsx_runtime = require("react/jsx-runtime");
73
+ let time;
74
+ let debugKeyListeners;
75
+ let startVisualizer;
76
+ const componentSetStates = /* @__PURE__ */new Set();
77
+ const avoidReRenderKeys = /* @__PURE__ */new Set(["hover", "press", "pressIn", "group", "focus", "focusWithin", "media", "group"]);
78
+ if (typeof window !== "undefined") {
75
79
  const cancelPresses = () => {
76
- componentSetStates.forEach(setState => setState(prev => prev.press || prev.pressIn ? {
77
- ...prev,
78
- press: !1,
79
- pressIn: !1
80
- } : prev)), componentSetStates.clear();
81
- },
82
- cancelTouches = () => {
83
- componentSetStates.forEach(setState => setState(prev => prev.press || prev.pressIn || prev.hover ? {
84
- ...prev,
85
- press: !1,
86
- pressIn: !1,
87
- hover: !1
88
- } : prev)), componentSetStates.clear();
89
- };
90
- addEventListener("mouseup", cancelPresses), addEventListener("touchend", cancelTouches), addEventListener("touchcancel", cancelTouches), process.env.NODE_ENV === "development" && (startVisualizer = () => {
91
- const devVisualizerConfig = import_config.devConfig?.visualizer;
92
- if (devVisualizerConfig && !globalThis.__guiDevVisualizer) {
93
- let show = function (val) {
94
- clearTimeout(tm), isShowing = val, debugKeyListeners?.forEach(l => l(val)), !val && resizeListener && (window.removeEventListener("resize", resizeListener), resizeListener = null);
95
- },
96
- cancelShow = function () {
97
- clearTimeout(tm), resizeListener && (window.removeEventListener("resize", resizeListener), resizeListener = null);
80
+ componentSetStates.forEach(setState => setState(prev => {
81
+ if (prev.press || prev.pressIn) {
82
+ return {
83
+ ...prev,
84
+ press: false,
85
+ pressIn: false
98
86
  };
99
- globalThis.__guiDevVisualizer = !0, debugKeyListeners = /* @__PURE__ */new Set();
100
- let tm,
101
- isShowing = !1,
102
- resizeListener = null;
103
- const options = {
104
- key: "Alt",
105
- delay: 800,
106
- ...(typeof devVisualizerConfig == "object" ? devVisualizerConfig : {})
107
- };
108
- window.addEventListener("blur", () => {
109
- show(!1);
110
- }), window.addEventListener("keydown", ({
111
- key,
112
- metaKey,
113
- defaultPrevented
114
- }) => {
115
- clearTimeout(tm), !defaultPrevented && (metaKey || key === options.key && (resizeListener || (resizeListener = () => cancelShow(), window.addEventListener("resize", resizeListener)), tm = setTimeout(() => {
116
- show(!0);
117
- }, options.delay)));
118
- }), window.addEventListener("keyup", ({
119
- defaultPrevented
120
- }) => {
121
- defaultPrevented || (cancelShow(), isShowing && show(!1));
122
- });
87
+ }
88
+ return prev;
89
+ }));
90
+ componentSetStates.clear();
91
+ };
92
+ const cancelTouches = () => {
93
+ componentSetStates.forEach(setState => setState(prev => {
94
+ if (prev.press || prev.pressIn || prev.hover) {
95
+ return {
96
+ ...prev,
97
+ press: false,
98
+ pressIn: false,
99
+ hover: false
100
+ };
101
+ }
102
+ return prev;
103
+ }));
104
+ componentSetStates.clear();
105
+ };
106
+ addEventListener("mouseup", cancelPresses);
107
+ addEventListener("touchend", cancelTouches);
108
+ addEventListener("touchcancel", cancelTouches);
109
+ if (process.env.NODE_ENV === "development") {
110
+ startVisualizer = () => {
111
+ const devVisualizerConfig = import_config.devConfig?.visualizer;
112
+ if (devVisualizerConfig && !globalThis.__guiDevVisualizer) {
113
+ let show = function (val) {
114
+ clearTimeout(tm);
115
+ isShowing = val;
116
+ debugKeyListeners?.forEach(l => l(val));
117
+ if (!val && resizeListener) {
118
+ window.removeEventListener("resize", resizeListener);
119
+ resizeListener = null;
120
+ }
121
+ },
122
+ cancelShow = function () {
123
+ clearTimeout(tm);
124
+ if (resizeListener) {
125
+ window.removeEventListener("resize", resizeListener);
126
+ resizeListener = null;
127
+ }
128
+ };
129
+ globalThis.__guiDevVisualizer = true;
130
+ debugKeyListeners = /* @__PURE__ */new Set();
131
+ let tm;
132
+ let isShowing = false;
133
+ let resizeListener = null;
134
+ const options = {
135
+ key: "Alt",
136
+ delay: 800,
137
+ ...(typeof devVisualizerConfig === "object" ? devVisualizerConfig : {})
138
+ };
139
+ window.addEventListener("blur", () => {
140
+ show(false);
141
+ });
142
+ window.addEventListener("keydown", ({
143
+ key,
144
+ metaKey,
145
+ defaultPrevented
146
+ }) => {
147
+ clearTimeout(tm);
148
+ if (defaultPrevented) return;
149
+ if (metaKey) return;
150
+ if (key === options.key) {
151
+ if (!resizeListener) {
152
+ resizeListener = () => cancelShow();
153
+ window.addEventListener("resize", resizeListener);
154
+ }
155
+ tm = setTimeout(() => {
156
+ show(true);
157
+ }, options.delay);
158
+ }
159
+ });
160
+ window.addEventListener("keyup", ({
161
+ defaultPrevented
162
+ }) => {
163
+ if (defaultPrevented) return;
164
+ cancelShow();
165
+ if (isShowing) {
166
+ show(false);
167
+ }
168
+ });
169
+ }
170
+ };
171
+ }
172
+ }
173
+ let BaseText;
174
+ let BaseView;
175
+ const lastInteractionWasKeyboard = {
176
+ value: false
177
+ };
178
+ const lastInteractionWasTouch = {
179
+ value: false
180
+ };
181
+ if (import_constants.isWeb && typeof document !== "undefined") {
182
+ document.addEventListener("keydown", () => {
183
+ if (!lastInteractionWasKeyboard.value) {
184
+ lastInteractionWasKeyboard.value = true;
185
+ }
186
+ });
187
+ document.addEventListener("mousedown", () => {
188
+ if (lastInteractionWasKeyboard.value) {
189
+ lastInteractionWasKeyboard.value = false;
123
190
  }
124
191
  });
192
+ document.addEventListener("mousemove", () => {
193
+ if (lastInteractionWasKeyboard.value) {
194
+ lastInteractionWasKeyboard.value = false;
195
+ }
196
+ lastInteractionWasTouch.value = false;
197
+ });
198
+ document.addEventListener("touchstart", () => {
199
+ lastInteractionWasTouch.value = true;
200
+ });
125
201
  }
126
- let BaseText, BaseView;
127
- const lastInteractionWasKeyboard = {
128
- value: !1
129
- },
130
- lastInteractionWasTouch = {
131
- value: !1
132
- };
133
- import_constants.isWeb && typeof document < "u" && (document.addEventListener("keydown", () => {
134
- lastInteractionWasKeyboard.value || (lastInteractionWasKeyboard.value = !0);
135
- }), document.addEventListener("mousedown", () => {
136
- lastInteractionWasKeyboard.value && (lastInteractionWasKeyboard.value = !1);
137
- }), document.addEventListener("mousemove", () => {
138
- lastInteractionWasKeyboard.value && (lastInteractionWasKeyboard.value = !1), lastInteractionWasTouch.value = !1;
139
- }), document.addEventListener("touchstart", () => {
140
- lastInteractionWasTouch.value = !0;
141
- }));
142
202
  function createComponent(staticConfig) {
143
203
  let config = null;
144
204
  const {
145
- Component,
146
- isText,
147
- isHOC
148
- } = staticConfig,
149
- component = import_react.default.forwardRef((propsIn, forwardedRef) => {
150
- "use no memo";
205
+ Component,
206
+ isText,
207
+ isHOC
208
+ } = staticConfig;
209
+ const component = import_react.default.forwardRef((propsIn, forwardedRef) => {
210
+ "use no memo";
151
211
 
152
- config = config || (0, import_config.getConfig)();
153
- const internalID = process.env.NODE_ENV === "development" ? import_react.default.useId() : "";
154
- process.env.NODE_ENV === "development" && startVisualizer && (startVisualizer(), startVisualizer = void 0), process.env.NODE_ENV === "test" && propsIn["data-test-renders"] && (propsIn["data-test-renders"].current = propsIn["data-test-renders"].current ?? 0, propsIn["data-test-renders"].current += 1);
155
- const {
156
- context,
157
- isReactNative
158
- } = staticConfig,
159
- debugProp = propsIn.debug,
160
- styledContextValue = context ? import_react.default.useContext(context) : void 0;
161
- let overriddenContextProps = null;
162
- const componentContext = import_react.default.useContext(import_ComponentContext.ComponentContext),
163
- hasTextAncestor = !!(import_constants.isWeb && isText && componentContext.inText),
164
- isInsideNativeMenu = !1;
165
- !process.env.HANZO_GUI_IS_CORE_NODE && process.env.NODE_ENV === "development" && debugProp === "profile" && !time && (time = require("@hanzogui/timer").timer().start(), globalThis.time = time), process.env.NODE_ENV === "development" && !time && globalThis.time && (time = globalThis.time), process.env.NODE_ENV === "development" && time && time`non-gui time (ignore)`;
166
- let props = propsIn;
167
- const componentName = props.componentName || staticConfig.componentName,
168
- defaultProps = (0, import_getDefaultProps.getDefaultProps)(staticConfig, props.componentName),
169
- [nextProps, overrides] = (0, import_mergeProps.mergeComponentProps)(defaultProps, styledContextValue, propsIn);
170
- props = nextProps, overriddenContextProps = overrides, process.env.NODE_ENV === "development" && import_constants.isClient && import_react.default.useEffect(() => {
171
- let node,
172
- overlay = null;
212
+ config = config || (0, import_config.getConfig)();
213
+ const internalID = process.env.NODE_ENV === "development" ? import_react.default.useId() : "";
214
+ if (process.env.NODE_ENV === "development") {
215
+ if (startVisualizer) {
216
+ startVisualizer();
217
+ startVisualizer = void 0;
218
+ }
219
+ }
220
+ if (false) {
221
+ if (!hasSetupBaseViews) {
222
+ hasSetupBaseViews = true;
223
+ const baseViews = import_setupHooks.hooks.getBaseViews?.();
224
+ if (baseViews) {
225
+ BaseText = baseViews.Text;
226
+ BaseView = baseViews.View;
227
+ }
228
+ }
229
+ }
230
+ if (process.env.NODE_ENV === "test") {
231
+ if (propsIn["data-test-renders"]) {
232
+ propsIn["data-test-renders"]["current"] = propsIn["data-test-renders"]["current"] ?? 0;
233
+ propsIn["data-test-renders"]["current"] += 1;
234
+ }
235
+ }
236
+ const {
237
+ context,
238
+ isReactNative
239
+ } = staticConfig;
240
+ const debugProp = propsIn["debug"];
241
+ const styledContextValue = context ? import_react.default.useContext(context) : void 0;
242
+ let overriddenContextProps = null;
243
+ const componentContext = import_react.default.useContext(import_ComponentContext.ComponentContext);
244
+ const hasTextAncestor = !!(import_constants.isWeb && isText ? componentContext.inText : false);
245
+ const isInsideNativeMenu = false ? import_react.default.useContext(NativeMenuContext) : false;
246
+ if (!process.env.GUI_IS_CORE_NODE && process.env.NODE_ENV === "development" && debugProp === "profile" && !time) {
247
+ const timer = require("@hanzogui/timer").timer();
248
+ time = timer.start();
249
+ globalThis["time"] = time;
250
+ }
251
+ if (process.env.NODE_ENV === "development" && !time && globalThis.time) {
252
+ time = globalThis.time;
253
+ }
254
+ if (process.env.NODE_ENV === "development" && time) time`non-tamagui time (ignore)`;
255
+ let props = propsIn;
256
+ const componentName = props.componentName || staticConfig.componentName;
257
+ const defaultProps = (0, import_getDefaultProps.getDefaultProps)(staticConfig, props.componentName);
258
+ const [nextProps, overrides] = (0, import_mergeProps.mergeComponentProps)(defaultProps, styledContextValue, propsIn);
259
+ props = nextProps;
260
+ overriddenContextProps = overrides;
261
+ if (process.env.NODE_ENV === "development" && import_constants.isClient) {
262
+ import_react.default.useEffect(() => {
263
+ let node;
264
+ let overlay = null;
173
265
  const remove = () => {
174
- if (overlay) try {
175
- overlay.parentNode?.removeChild(overlay), overlay = null;
266
+ if (overlay) {
267
+ try {
268
+ overlay.parentNode?.removeChild(overlay);
269
+ overlay = null;
176
270
  } catch {}
177
- },
178
- debugVisualizerHandler = (show = !1) => {
179
- if (node = stateRef.current.host, !!node) if (show) {
180
- overlay || (overlay = document.createElement("span"), overlay.style.inset = "0px", overlay.style.zIndex = "1000000", overlay.style.position = "absolute", overlay.style.borderColor = "red", overlay.style.borderWidth = "1px", overlay.style.borderStyle = "dotted");
181
- const dataAt = node.getAttribute("data-at") || "",
182
- dataIn = node.getAttribute("data-in") || "",
183
- tooltip = document.createElement("span");
184
- tooltip.style.position = "absolute", tooltip.style.top = "0px", tooltip.style.left = "0px", tooltip.style.padding = "3px", tooltip.style.background = "rgba(0,0,0,0.75)", tooltip.style.color = "rgba(255,255,255,1)", tooltip.style.fontSize = "12px", tooltip.style.lineHeight = "12px", tooltip.style.fontFamily = "monospace", tooltip.innerText = `${componentName || ""} ${dataAt} ${dataIn}`.trim(), overlay.appendChild(tooltip), node.appendChild(overlay);
185
- } else remove();
186
- };
187
- return debugKeyListeners = debugKeyListeners || /* @__PURE__ */new Set(), debugKeyListeners.add(debugVisualizerHandler), () => {
188
- remove(), debugKeyListeners?.delete(debugVisualizerHandler);
271
+ }
272
+ };
273
+ const debugVisualizerHandler = (show = false) => {
274
+ node = stateRef.current.host;
275
+ if (!node) return;
276
+ if (show) {
277
+ if (!overlay) {
278
+ overlay = document.createElement("span");
279
+ overlay.style.inset = "0px";
280
+ overlay.style.zIndex = "1000000";
281
+ overlay.style.position = "absolute";
282
+ overlay.style.borderColor = "red";
283
+ overlay.style.borderWidth = "1px";
284
+ overlay.style.borderStyle = "dotted";
285
+ }
286
+ const dataAt = node.getAttribute("data-at") || "";
287
+ const dataIn = node.getAttribute("data-in") || "";
288
+ const tooltip = document.createElement("span");
289
+ tooltip.style.position = "absolute";
290
+ tooltip.style.top = "0px";
291
+ tooltip.style.left = "0px";
292
+ tooltip.style.padding = "3px";
293
+ tooltip.style.background = "rgba(0,0,0,0.75)";
294
+ tooltip.style.color = "rgba(255,255,255,1)";
295
+ tooltip.style.fontSize = "12px";
296
+ tooltip.style.lineHeight = "12px";
297
+ tooltip.style.fontFamily = "monospace";
298
+ tooltip.innerText = `${componentName || ""} ${dataAt} ${dataIn}`.trim();
299
+ overlay.appendChild(tooltip);
300
+ node.appendChild(overlay);
301
+ } else {
302
+ remove();
303
+ }
304
+ };
305
+ debugKeyListeners = debugKeyListeners || /* @__PURE__ */new Set();
306
+ debugKeyListeners.add(debugVisualizerHandler);
307
+ return () => {
308
+ remove();
309
+ debugKeyListeners?.delete(debugVisualizerHandler);
189
310
  };
190
311
  }, [componentName]);
191
- const groupContextParent = import_react.default.useContext(import_GroupContext.GroupContext),
192
- animationDriver = props.animatedBy && config ? config.animationDrivers ? config.animationDrivers[props.animatedBy] ?? config.animations : props.animatedBy === "default" ? config.animations : null : (0, import_resolveAnimationDriver.resolveAnimationDriver)(componentContext.animationDriver) ?? (0, import_resolveAnimationDriver.resolveAnimationDriver)(config?.animations) ?? null,
193
- useAnimations = animationDriver?.useAnimations,
194
- componentState = (0, import_useComponentState.useComponentState)(props, animationDriver?.isStub ? null : animationDriver, staticConfig, config),
195
- {
196
- disabled,
197
- groupName,
198
- hasAnimationProp,
199
- hasEnterStyle,
200
- isAnimated,
201
- isExiting,
202
- isHydrated,
203
- presence,
204
- presenceState,
205
- setState,
206
- noClass,
207
- state,
208
- stateRef,
209
- inputStyle,
210
- outputStyle,
211
- willBeAnimated,
212
- willBeAnimatedClient,
213
- startedUnhydrated
214
- } = componentState;
215
- hasAnimationProp && animationDriver?.avoidReRenders && (0, import_constants.useIsomorphicLayoutEffect)(() => {
312
+ }
313
+ const groupContextParent = import_react.default.useContext(import_GroupContext.GroupContext);
314
+ const animationDriver = (() => {
315
+ if (props.animatedBy && config) {
316
+ if (config.animationDrivers) {
317
+ return config.animationDrivers[props.animatedBy] ?? config.animations;
318
+ }
319
+ return props.animatedBy === "default" ? config.animations : null;
320
+ }
321
+ return (0, import_resolveAnimationDriver.resolveAnimationDriver)(componentContext.animationDriver) ?? (0, import_resolveAnimationDriver.resolveAnimationDriver)(config?.animations) ?? null;
322
+ })();
323
+ const useAnimations = animationDriver?.useAnimations;
324
+ const componentState = (0, import_useComponentState.useComponentState)(props, animationDriver?.isStub ? null : animationDriver, staticConfig, config);
325
+ const {
326
+ disabled,
327
+ groupName,
328
+ hasAnimationProp,
329
+ hasEnterStyle,
330
+ isAnimated,
331
+ isExiting,
332
+ isHydrated,
333
+ presence,
334
+ presenceState,
335
+ setState,
336
+ noClass,
337
+ state,
338
+ stateRef,
339
+ inputStyle,
340
+ outputStyle,
341
+ willBeAnimated,
342
+ willBeAnimatedClient,
343
+ startedUnhydrated
344
+ } = componentState;
345
+ if (hasAnimationProp && animationDriver?.avoidReRenders) {
346
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
216
347
  const pendingState = stateRef.current.nextState;
217
- pendingState && (stateRef.current.nextState = void 0, componentState.setStateShallow(pendingState));
348
+ if (pendingState) {
349
+ stateRef.current.nextState = void 0;
350
+ componentState.setStateShallow(pendingState);
351
+ }
218
352
  });
219
- const allGroupContexts = (0, import_react.useMemo)(() => {
220
- if (!groupName || props.passThrough) return groupContextParent;
221
- const listeners = /* @__PURE__ */new Set();
222
- return stateRef.current.group?.listeners?.clear(), stateRef.current.group = {
223
- listeners,
224
- emit(state2) {
225
- listeners.forEach(l => l(state2));
226
- },
227
- subscribe(cb) {
228
- return listeners.add(cb), listeners.size === 1 && setStateShallow({
229
- hasDynGroupChildren: !0
230
- }), () => {
231
- listeners.delete(cb), listeners.size === 0 && setStateShallow({
232
- hasDynGroupChildren: !1
233
- });
234
- };
353
+ }
354
+ const allGroupContexts = (0, import_react.useMemo)(() => {
355
+ if (!groupName || props.passThrough) {
356
+ return groupContextParent;
357
+ }
358
+ const listeners = /* @__PURE__ */new Set();
359
+ stateRef.current.group?.listeners?.clear();
360
+ stateRef.current.group = {
361
+ listeners,
362
+ emit(state2) {
363
+ listeners.forEach(l => l(state2));
364
+ },
365
+ subscribe(cb) {
366
+ listeners.add(cb);
367
+ if (listeners.size === 1) {
368
+ setStateShallow({
369
+ hasDynGroupChildren: true
370
+ });
235
371
  }
236
- }, {
237
- ...groupContextParent,
238
- [groupName]: {
239
- state: {
240
- pseudo: import_defaultComponentState.defaultComponentStateMounted
241
- },
242
- subscribe: listener => {
243
- const dispose = stateRef.current.group?.subscribe(listener);
244
- return () => {
245
- dispose?.();
246
- };
372
+ return () => {
373
+ listeners.delete(cb);
374
+ if (listeners.size === 0) {
375
+ setStateShallow({
376
+ hasDynGroupChildren: false
377
+ });
247
378
  }
379
+ };
380
+ }
381
+ };
382
+ return {
383
+ ...groupContextParent,
384
+ [groupName]: {
385
+ state: {
386
+ pseudo: import_defaultComponentState.defaultComponentStateMounted
387
+ },
388
+ subscribe: listener => {
389
+ const dispose = stateRef.current.group?.subscribe(listener);
390
+ return () => {
391
+ dispose?.();
392
+ };
248
393
  }
249
- };
250
- }, [stateRef, groupName, groupContextParent]);
251
- let setStateShallow = componentState.setStateShallow;
252
- process.env.NODE_ENV === "development" && time && time`use-state`;
253
- const renderProp = props.render,
254
- element = import_constants.isWeb && (!Component || typeof Component == "string") && renderProp || Component,
255
- BaseComponent = isText ? BaseText || element || "span" : BaseView || element || (hasTextAncestor ? "span" : "div");
256
- let elementType = BaseComponent;
257
- animationDriver && isAnimated && animationDriver.needsCustomComponent && (elementType = animationDriver[isText ? "Text" : "View"] || elementType);
258
- const disableTheme = props["data-disable-theme"] || isHOC;
259
- process.env.NODE_ENV === "development" && time && time`theme-props`;
260
- const themeStateProps = {
261
- componentName,
262
- disable: disableTheme,
263
- shallow: props.themeShallow,
264
- debug: debugProp,
265
- unstyled: props.unstyled
394
+ }
266
395
  };
267
- if ("theme" in props && (themeStateProps.name = props.theme), themeStateProps.needsUpdate = () => !!stateRef.current.isListeningToTheme, process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile") {
268
- const name = `${componentName || Component?.displayName || Component?.name || "[Unnamed Component]"}`,
269
- type = (hasEnterStyle ? "(hasEnter)" : " ") + (isAnimated ? "(animated)" : " ") + (isReactNative ? "(rnw)" : " ") + (noClass ? "(noClass)" : " ") + (state.press || state.pressIn ? "(PRESSED)" : " ") + (state.hover ? "(HOVERED)" : " ") + (state.focus ? "(FOCUSED)" : " ") + (state.focusWithin ? "(WITHIN FOCUSED)" : " ") + (presenceState?.isPresent === !1 ? "(EXIT)" : ""),
270
- dataIs = propsIn["data-is"] || "",
271
- banner = `<${name} /> ${internalID} ${dataIs ? ` ${dataIs}` : ""} ${type.trim()} (hydrated: ${isHydrated}) (unmounted: ${state.unmounted})`,
272
- ch = propsIn.children;
273
- let childLog = typeof ch == "string" ? ch.length > 4 ? ch.slice(0, 4) + "..." : ch : "";
274
- childLog.length && (childLog = `(children: ${childLog})`), import_constants.isWeb ? (console.info(`%c ${banner}`, "background: green; color: white;"), import_constants.isServer ? (0, import_log.log)({
275
- noClass,
276
- isAnimated,
277
- isWeb: import_constants.isWeb,
278
- inputStyle
279
- }) : (console.groupEnd(), console.groupCollapsed(`${childLog} [inspect props, state, context \u{1F447}]`), (0, import_log.log)("props in:", propsIn), (0, import_log.log)("final props:", props, Object.keys(props)), (0, import_log.log)({
280
- state,
281
- staticConfig,
282
- elementType,
283
- themeStateProps
284
- }), (0, import_log.log)({
285
- context,
286
- overriddenContextProps,
287
- componentContext
288
- }), (0, import_log.log)({
289
- presence,
290
- isAnimated,
291
- isHOC,
292
- hasAnimationProp,
293
- useAnimations
294
- }), console.groupEnd())) : (console.info(`
396
+ }, [stateRef, groupName, groupContextParent]);
397
+ let setStateShallow = componentState.setStateShallow;
398
+ if (process.env.NODE_ENV === "development" && time) time`use-state`;
399
+ const renderProp = props.render;
400
+ const isRenderString = !Component || typeof Component === "string";
401
+ const element = import_constants.isWeb ? isRenderString ? renderProp || Component : Component : Component;
402
+ const BaseTextComponent = BaseText || element || "span";
403
+ const BaseViewComponent = BaseView || element || (hasTextAncestor ? "span" : "div");
404
+ const BaseComponent = isText ? BaseTextComponent : BaseViewComponent;
405
+ let elementType = BaseComponent;
406
+ const isAnimatedCustomComponent = animationDriver && isAnimated && animationDriver.needsCustomComponent;
407
+ if (isAnimatedCustomComponent) {
408
+ elementType = animationDriver[isText ? "Text" : "View"] || elementType;
409
+ }
410
+ const disableThemeProp = false ? false : props["data-disable-theme"];
411
+ const disableTheme = disableThemeProp || isHOC;
412
+ if (process.env.NODE_ENV === "development" && time) time`theme-props`;
413
+ const themeStateProps = {
414
+ componentName,
415
+ disable: disableTheme,
416
+ shallow: props.themeShallow,
417
+ debug: debugProp,
418
+ unstyled: props.unstyled
419
+ };
420
+ if ("theme" in props) {
421
+ themeStateProps.name = props.theme;
422
+ }
423
+ themeStateProps.needsUpdate = () => !!stateRef.current.isListeningToTheme;
424
+ if (false) {
425
+ themeStateProps.deopt = willBeAnimated;
426
+ }
427
+ if (process.env.NODE_ENV === "development") {
428
+ if (debugProp && debugProp !== "profile") {
429
+ const name = `${componentName || Component?.displayName || Component?.name || "[Unnamed Component]"}`;
430
+ const type = (hasEnterStyle ? "(hasEnter)" : " ") + (isAnimated ? "(animated)" : " ") + (isReactNative ? "(rnw)" : " ") + (noClass ? "(noClass)" : " ") + (state.press || state.pressIn ? "(PRESSED)" : " ") + (state.hover ? "(HOVERED)" : " ") + (state.focus ? "(FOCUSED)" : " ") + (state.focusWithin ? "(WITHIN FOCUSED)" : " ") + (presenceState?.isPresent === false ? "(EXIT)" : "");
431
+ const dataIs = propsIn["data-is"] || "";
432
+ const banner = `<${name} /> ${internalID} ${dataIs ? ` ${dataIs}` : ""} ${type.trim()} (hydrated: ${isHydrated}) (unmounted: ${state.unmounted})`;
433
+ const ch = propsIn.children;
434
+ let childLog = typeof ch === "string" ? ch.length > 4 ? ch.slice(0, 4) + "..." : ch : "";
435
+ if (childLog.length) {
436
+ childLog = `(children: ${childLog})`;
437
+ }
438
+ if (import_constants.isWeb) {
439
+ console.info(`%c ${banner}`, "background: green; color: white;");
440
+ if (import_constants.isServer) {
441
+ (0, import_log.log)({
442
+ noClass,
443
+ isAnimated,
444
+ isWeb: import_constants.isWeb,
445
+ inputStyle
446
+ });
447
+ } else {
448
+ console.groupEnd();
449
+ console.groupCollapsed(`${childLog} [inspect props, state, context \u{1F447}]`);
450
+ (0, import_log.log)("props in:", propsIn);
451
+ (0, import_log.log)("final props:", props, Object.keys(props));
452
+ (0, import_log.log)({
453
+ state,
454
+ staticConfig,
455
+ elementType,
456
+ themeStateProps
457
+ });
458
+ (0, import_log.log)({
459
+ context,
460
+ overriddenContextProps,
461
+ componentContext
462
+ });
463
+ (0, import_log.log)({
464
+ presence,
465
+ isAnimated,
466
+ isHOC,
467
+ hasAnimationProp,
468
+ useAnimations
469
+ });
470
+ console.groupEnd();
471
+ }
472
+ } else {
473
+ console.info(`
295
474
 
296
475
  ------------------------------
297
476
  ${banner}
298
477
  ------------------------------
299
- `), (0, import_log.log)("children:", props.children), (0, import_log.log)({
300
- overriddenContextProps,
301
- styledContextValue
302
- }), (0, import_log.log)({
303
- noClass,
304
- isAnimated,
305
- isWeb: import_constants.isWeb,
306
- inputStyle
307
- }));
478
+ `);
479
+ (0, import_log.log)(`children:`, props.children);
480
+ (0, import_log.log)({
481
+ overriddenContextProps,
482
+ styledContextValue
483
+ });
484
+ (0, import_log.log)({
485
+ noClass,
486
+ isAnimated,
487
+ isWeb: import_constants.isWeb,
488
+ inputStyle
489
+ });
490
+ }
308
491
  }
309
- process.env.NODE_ENV === "development" && time && time`pre-theme-media`;
310
- const [theme, themeState] = (0, import_useTheme.useThemeWithState)(themeStateProps);
311
- process.env.NODE_ENV === "development" && time && time`theme`, elementType = element || elementType;
312
- const isStringElement = typeof elementType == "string",
313
- mediaState = (0, import_useMedia.useMedia)(componentContext, debugProp);
314
- (0, import_createVariable.setDidGetVariableValue)(!1), process.env.NODE_ENV === "development" && time && time`media`;
315
- const resolveValues =
316
- // if HOC + mounted + has animation prop, resolve as value so it passes non-variable to child
317
- isAnimated && inputStyle !== "css" || isHOC && state.unmounted == !1 && hasAnimationProp ? "value" : "auto",
318
- styleProps = {
319
- mediaState,
320
- noClass,
321
- resolveValues,
322
- isExiting,
323
- isAnimated,
324
- willBeAnimated,
325
- styledContext: styledContextValue
326
- },
327
- themeName = themeState?.name || "";
328
- process.env.NODE_ENV === "development" && time && time`split-styles-prepare`;
329
- const splitStyles = (0, import_getSplitStyles.useSplitStyles)(props, staticConfig, theme, themeName, state, styleProps, null, componentContext, allGroupContexts, elementType, startedUnhydrated, debugProp, animationDriver),
330
- isPassthrough = !splitStyles;
331
- let contextForOverride = staticConfig.context;
332
- if (splitStyles?.overriddenContextProps) {
333
- const contextForProps = staticConfig.context || staticConfig.parentStaticConfig?.context;
334
- if (contextForProps) {
335
- for (const key in splitStyles.overriddenContextProps) overriddenContextProps = overriddenContextProps || {}, overriddenContextProps[key] = splitStyles.overriddenContextProps[key];
336
- staticConfig.context || (contextForOverride = contextForProps);
492
+ }
493
+ if (process.env.NODE_ENV === "development" && time) time`pre-theme-media`;
494
+ const [theme, themeState] = (0, import_useTheme.useThemeWithState)(themeStateProps);
495
+ if (process.env.NODE_ENV === "development" && time) time`theme`;
496
+ elementType = element || elementType;
497
+ const isStringElement = typeof elementType === "string";
498
+ const mediaState = (0, import_useMedia.useMedia)(componentContext, debugProp);
499
+ (0, import_createVariable.setDidGetVariableValue)(false);
500
+ if (process.env.NODE_ENV === "development" && time) time`media`;
501
+ const resolveValues =
502
+ // if HOC + mounted + has animation prop, resolve as value so it passes non-variable to child
503
+ isAnimated && inputStyle !== "css" || isHOC && state.unmounted == false && hasAnimationProp ? "value" : "auto";
504
+ const styleProps = {
505
+ mediaState,
506
+ noClass,
507
+ resolveValues,
508
+ isExiting,
509
+ isAnimated,
510
+ willBeAnimated,
511
+ styledContext: styledContextValue
512
+ };
513
+ const themeName = themeState?.name || "";
514
+ if (process.env.NODE_ENV === "development" && time) time`split-styles-prepare`;
515
+ const splitStyles = (0, import_getSplitStyles.useSplitStyles)(props, staticConfig, theme, themeName, state, styleProps, null, componentContext, allGroupContexts, elementType, startedUnhydrated, debugProp, animationDriver);
516
+ const isPassthrough = !splitStyles;
517
+ let contextForOverride = staticConfig.context;
518
+ if (splitStyles?.overriddenContextProps) {
519
+ const contextForProps = staticConfig.context || staticConfig.parentStaticConfig?.context;
520
+ if (contextForProps) {
521
+ for (const key in splitStyles.overriddenContextProps) {
522
+ overriddenContextProps = overriddenContextProps || {};
523
+ overriddenContextProps[key] = splitStyles.overriddenContextProps[key];
524
+ }
525
+ if (!staticConfig.context) {
526
+ contextForOverride = contextForProps;
337
527
  }
338
528
  }
339
- const groupContext = groupName && allGroupContexts?.[groupName] || null;
340
- if (!isPassthrough && groupContext &&
341
- // avoids onLayout if we don't need it
342
- props.containerType !== "normal") {
343
- const groupState = groupContext?.state;
344
- groupState && groupState.layout === void 0 && (splitStyles.style?.width || splitStyles.style?.height) && (groupState.layout = {
345
- width: fromPx(splitStyles.style.width),
346
- height: fromPx(splitStyles.style.height)
347
- });
529
+ }
530
+ const groupContext = groupName ? allGroupContexts?.[groupName] || null : null;
531
+ if (!isPassthrough && groupContext &&
532
+ // avoids onLayout if we don't need it
533
+ props.containerType !== "normal") {
534
+ const groupState = groupContext?.state;
535
+ if (groupState && groupState.layout === void 0) {
536
+ if (splitStyles.style?.width || splitStyles.style?.height) {
537
+ groupState.layout = {
538
+ width: fromPx(splitStyles.style.width),
539
+ height: fromPx(splitStyles.style.height)
540
+ };
541
+ }
348
542
  }
349
- const hasEnterExitTransition = props.transition && typeof props.transition == "object" && !Array.isArray(props.transition) && ("enter" in props.transition || "exit" in props.transition);
350
- if (!isPassthrough && (hasAnimationProp || groupName) && animationDriver?.avoidReRenders && !hasEnterExitTransition) {
351
- let updateGroupListeners = function () {
352
- const updatedState = stateRef.current.nextState;
353
- if (groupContext) {
354
- const {
355
- group,
356
- hasDynGroupChildren,
357
- unmounted,
358
- transition,
359
- ...childrenGroupState
360
- } = updatedState;
361
- notifyGroupSubscribers(groupContext, stateRef.current.group || null, childrenGroupState);
543
+ }
544
+ const hasEnterExitTransition = props.transition && typeof props.transition === "object" && !Array.isArray(props.transition) && ("enter" in props.transition || "exit" in props.transition);
545
+ if (!isPassthrough && (hasAnimationProp || groupName) && animationDriver?.avoidReRenders && !hasEnterExitTransition) {
546
+ let updateGroupListeners = function () {
547
+ const updatedState = stateRef.current.nextState;
548
+ if (groupContext) {
549
+ const {
550
+ group,
551
+ hasDynGroupChildren,
552
+ unmounted,
553
+ transition,
554
+ ...childrenGroupState
555
+ } = updatedState;
556
+ notifyGroupSubscribers(groupContext, stateRef.current.group || null, childrenGroupState);
557
+ }
558
+ };
559
+ const ogSetStateShallow = setStateShallow;
560
+ stateRef.current.updateStyleListener = () => {
561
+ const useStyleListener = stateRef.current.useStyleListener;
562
+ if (!useStyleListener) {
563
+ const pendingState = stateRef.current.nextState;
564
+ if (pendingState) {
565
+ stateRef.current.nextState = void 0;
566
+ ogSetStateShallow(pendingState);
362
567
  }
568
+ return;
569
+ }
570
+ const updatedState = stateRef.current.nextState || state;
571
+ const mediaState2 = stateRef.current.nextMedia;
572
+ const nextStyles = (0, import_getSplitStyles.getSplitStyles)(props, staticConfig, theme, themeName, updatedState, mediaState2 ? {
573
+ ...styleProps,
574
+ mediaState: mediaState2
575
+ } : styleProps, null, componentContext, allGroupContexts, elementType, startedUnhydrated, debugProp, animationDriver);
576
+ const effectiveTransition = (0, import_pseudoTransitions.resolveEffectivePseudoTransition)(stateRef.current.prevPseudoState, updatedState, nextStyles?.pseudoTransitions, props.transition);
577
+ stateRef.current.prevPseudoState = (0, import_pseudoTransitions.extractPseudoState)(updatedState);
578
+ useStyleListener(nextStyles?.style || {}, effectiveTransition);
579
+ };
580
+ componentContext.mediaEmitListeners = componentContext.mediaEmitListeners || /* @__PURE__ */new Set();
581
+ if (!stateRef.current.mediaEmitCleanup) {
582
+ const updateListener = next => {
583
+ stateRef.current.nextMedia = next;
584
+ stateRef.current.updateStyleListener?.();
363
585
  };
364
- const ogSetStateShallow = setStateShallow;
365
- if (stateRef.current.updateStyleListener = () => {
366
- const useStyleListener = stateRef.current.useStyleListener;
367
- if (!useStyleListener) {
368
- const pendingState = stateRef.current.nextState;
369
- pendingState && (stateRef.current.nextState = void 0, ogSetStateShallow(pendingState));
370
- return;
371
- }
372
- const updatedState = stateRef.current.nextState || state,
373
- mediaState2 = stateRef.current.nextMedia,
374
- nextStyles = (0, import_getSplitStyles.getSplitStyles)(props, staticConfig, theme, themeName, updatedState, mediaState2 ? {
375
- ...styleProps,
376
- mediaState: mediaState2
377
- } : styleProps, null, componentContext, allGroupContexts, elementType, startedUnhydrated, debugProp, animationDriver),
378
- effectiveTransition = (0, import_pseudoTransitions.resolveEffectivePseudoTransition)(stateRef.current.prevPseudoState, updatedState, nextStyles?.pseudoTransitions, props.transition);
379
- stateRef.current.prevPseudoState = (0, import_pseudoTransitions.extractPseudoState)(updatedState), useStyleListener(nextStyles?.style || {}, effectiveTransition);
380
- }, componentContext.mediaEmitListeners = componentContext.mediaEmitListeners || /* @__PURE__ */new Set(), !stateRef.current.mediaEmitCleanup) {
381
- const updateListener = next => {
382
- stateRef.current.nextMedia = next, stateRef.current.updateStyleListener?.();
383
- };
384
- componentContext.mediaEmitListeners.add(updateListener), stateRef.current.mediaEmitCleanup = () => {
385
- componentContext.mediaEmitListeners?.delete(updateListener);
386
- };
586
+ componentContext.mediaEmitListeners.add(updateListener);
587
+ stateRef.current.mediaEmitCleanup = () => {
588
+ componentContext.mediaEmitListeners?.delete(updateListener);
589
+ };
590
+ }
591
+ componentContext.mediaEmit = componentContext.mediaEmit || (next => {
592
+ for (const listener of componentContext.mediaEmitListeners) {
593
+ listener(next);
387
594
  }
388
- componentContext.mediaEmit = componentContext.mediaEmit || (next => {
389
- for (const listener of componentContext.mediaEmitListeners) listener(next);
390
- }), stateRef.current.setStateShallow = nextOrGetNext => {
391
- const prev = stateRef.current.nextState || state,
392
- next = typeof nextOrGetNext == "function" ? nextOrGetNext(prev) : nextOrGetNext;
393
- if (next === prev || (0, import_is_equal_shallow.isEqualShallow)(prev, next)) return;
394
- const canAvoidReRender = Object.keys(next).every(key => avoidReRenderKeys.has(key)),
395
- updatedState = {
396
- ...prev,
397
- ...next
398
- };
399
- stateRef.current.nextState = updatedState, canAvoidReRender ? (process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile" && (console.groupCollapsed("[\u26A1\uFE0F] avoid setState", componentName, next, {
400
- updatedState,
401
- props
402
- }), console.info(stateRef.current.host), console.groupEnd()), updateGroupListeners(), stateRef.current.updateStyleListener?.()) : (process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile" && console.info("[\u{1F40C}] re-render", {
403
- canAvoidReRender,
404
- next
405
- }), ogSetStateShallow(next));
406
- }, setStateShallow = state2 => {
407
- stateRef.current.setStateShallow?.(state2);
595
+ });
596
+ stateRef.current.setStateShallow = nextOrGetNext => {
597
+ const prev = stateRef.current.nextState || state;
598
+ const next = typeof nextOrGetNext === "function" ? nextOrGetNext(prev) : nextOrGetNext;
599
+ if (next === prev || (0, import_is_equal_shallow.isEqualShallow)(prev, next)) {
600
+ return;
601
+ }
602
+ const canAvoidReRender = Object.keys(next).every(key => avoidReRenderKeys.has(key));
603
+ const updatedState = {
604
+ ...prev,
605
+ ...next
408
606
  };
607
+ stateRef.current.nextState = updatedState;
608
+ if (canAvoidReRender) {
609
+ if (process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile") {
610
+ console.groupCollapsed(`[\u26A1\uFE0F] avoid setState`, componentName, next, {
611
+ updatedState,
612
+ props
613
+ });
614
+ console.info(stateRef.current.host);
615
+ console.groupEnd();
616
+ }
617
+ updateGroupListeners();
618
+ stateRef.current.updateStyleListener?.();
619
+ } else {
620
+ if (process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile") {
621
+ console.info(`[\u{1F40C}] re-render`, {
622
+ canAvoidReRender,
623
+ next
624
+ });
625
+ }
626
+ ogSetStateShallow(next);
627
+ }
628
+ };
629
+ setStateShallow = state2 => {
630
+ stateRef.current.setStateShallow?.(state2);
631
+ };
632
+ }
633
+ if (process.env.NODE_ENV === "development" && time) time`split-styles`;
634
+ if (splitStyles) {
635
+ if (props.group && props.untilMeasured === "hide" && !stateRef.current.hasMeasured) {
636
+ splitStyles.style = splitStyles.style || {};
637
+ splitStyles.style.opacity = 0;
409
638
  }
410
- process.env.NODE_ENV === "development" && time && time`split-styles`, splitStyles && (props.group && props.untilMeasured === "hide" && !stateRef.current.hasMeasured && (splitStyles.style = splitStyles.style || {}, splitStyles.style.opacity = 0), splitStyles.dynamicThemeAccess != null && (stateRef.current.isListeningToTheme = splitStyles.dynamicThemeAccess));
411
- const hasRuntimeMediaKeys = splitStyles?.hasMedia && splitStyles.hasMedia !== !0,
412
- shouldListenForMedia = (0, import_createVariable.didGetVariableValue)() || hasRuntimeMediaKeys || noClass && splitStyles?.hasMedia === !0,
413
- mediaListeningKeys = hasRuntimeMediaKeys ? splitStyles.hasMedia : null;
414
- process.env.NODE_ENV === "development" && debugProp === "verbose" && console.info("useMedia() createComponent", shouldListenForMedia, mediaListeningKeys), (0, import_useMedia.setMediaShouldUpdate)(componentContext, shouldListenForMedia, mediaListeningKeys);
415
- const {
416
- viewProps: viewPropsIn,
417
- pseudos,
418
- style: splitStylesStyle,
419
- classNames,
420
- pseudoGroups,
421
- mediaGroups
422
- } = splitStyles || {},
423
- propsWithAnimation = props,
424
- {
425
- asChild,
426
- children,
427
- themeShallow,
428
- spaceDirection: _spaceDirection,
429
- onPress,
430
- onLongPress,
431
- onPressIn,
432
- onPressOut,
433
- onHoverIn,
434
- onHoverOut,
435
- onMouseUp,
436
- onMouseDown,
437
- onMouseEnter,
438
- onMouseLeave,
439
- onFocus,
440
- onBlur,
441
- separator,
442
- // ignore from here on out
443
- passThrough,
444
- forceStyle: _forceStyle,
445
- // @ts-ignore for next/link compat etc
446
- onClick,
447
- theme: _themeProp,
448
- ...nonGuiProps
449
- } = viewPropsIn || {};
450
- let viewProps = nonGuiProps;
451
- props.forceStyle && (viewProps.forceStyle = props.forceStyle), isHOC && (typeof _themeProp < "u" && (viewProps.theme = _themeProp), typeof passThrough < "u" && (viewProps.passThrough = passThrough));
452
- let animationStyles;
453
- const shouldUseAnimation =
454
- // if it supports css vars we run it on server too to get matching initial style
455
- (inputStyle === "css" ? willBeAnimatedClient : willBeAnimated) && useAnimations && !isHOC;
456
- let animatedRef;
457
- if (shouldUseAnimation) {
458
- const useStyleEmitter = animationDriver?.avoidReRenders ? listener => {
459
- stateRef.current.useStyleListener = listener;
460
- } : void 0,
461
- effectiveTransition = (0, import_pseudoTransitions.resolveEffectivePseudoTransition)(stateRef.current.prevPseudoState, state, splitStyles?.pseudoTransitions, props.transition);
462
- splitStyles && (splitStyles.effectiveTransition = effectiveTransition), stateRef.current.prevPseudoState = (0, import_pseudoTransitions.extractPseudoState)(state);
463
- const animations = useAnimations({
464
- props: propsWithAnimation,
465
- // clone style to prevent animation driver mutations from leaking to viewProps
466
- // during SSR/pre-hydration (CSS driver mutates style.transition in place)
467
- style: isHydrated ? splitStylesStyle || {} : {
468
- ...splitStylesStyle
469
- },
470
- // @ts-ignore
471
- styleState: splitStyles,
472
- useStyleEmitter,
473
- presence,
474
- componentState: state,
475
- styleProps,
476
- theme,
477
- themeName,
478
- pseudos: pseudos || null,
479
- staticConfig,
480
- stateRef
481
- });
482
- animations && (animations.ref && (animatedRef = animations.ref), isHydrated && animations && (animationStyles = animations.style, viewProps.style = animationStyles, animations.className && (viewProps.className = `${state.unmounted === "should-enter" ? "t_unmounted " : ""}${viewProps.className || ""} ${animations.className}`))), process.env.NODE_ENV === "development" && time && time`animations`;
639
+ if (splitStyles.dynamicThemeAccess != null) {
640
+ stateRef.current.isListeningToTheme = splitStyles.dynamicThemeAccess;
483
641
  }
484
- process.env.NODE_ENV === "development" && props.untilMeasured && !props.group && console.warn(`You set the untilMeasured prop without setting group. This doesn't work, be sure to set untilMeasured on the parent that sets group, not the children that use the $group- prop.
642
+ }
643
+ const hasRuntimeMediaKeys = splitStyles?.hasMedia && splitStyles.hasMedia !== true;
644
+ const shouldListenForMedia = (0, import_createVariable.didGetVariableValue)() || hasRuntimeMediaKeys || noClass && splitStyles?.hasMedia === true;
645
+ const mediaListeningKeys = hasRuntimeMediaKeys ? splitStyles.hasMedia : null;
646
+ if (process.env.NODE_ENV === "development" && debugProp === "verbose") {
647
+ console.info(`useMedia() createComponent`, shouldListenForMedia, mediaListeningKeys);
648
+ }
649
+ (0, import_useMedia.setMediaShouldUpdate)(componentContext, shouldListenForMedia, mediaListeningKeys);
650
+ const {
651
+ viewProps: viewPropsIn,
652
+ pseudos,
653
+ style: splitStylesStyle,
654
+ classNames,
655
+ pseudoGroups,
656
+ mediaGroups
657
+ } = splitStyles || {};
658
+ const propsWithAnimation = props;
659
+ const {
660
+ asChild,
661
+ children,
662
+ themeShallow,
663
+ spaceDirection: _spaceDirection,
664
+ onPress,
665
+ onLongPress,
666
+ onPressIn,
667
+ onPressOut,
668
+ onHoverIn,
669
+ onHoverOut,
670
+ onMouseUp,
671
+ onMouseDown,
672
+ onMouseEnter,
673
+ onMouseLeave,
674
+ onFocus,
675
+ onBlur,
676
+ separator,
677
+ // ignore from here on out
678
+ passThrough,
679
+ forceStyle: _forceStyle,
680
+ // @ts-ignore for next/link compat etc
681
+ onClick,
682
+ theme: _themeProp,
683
+ ...nonGuiProps
684
+ } = viewPropsIn || {};
685
+ let viewProps = nonGuiProps;
686
+ if (props.forceStyle) {
687
+ viewProps.forceStyle = props.forceStyle;
688
+ }
689
+ if (isHOC) {
690
+ if (typeof _themeProp !== "undefined") {
691
+ viewProps.theme = _themeProp;
692
+ }
693
+ if (typeof passThrough !== "undefined") {
694
+ viewProps.passThrough = passThrough;
695
+ }
696
+ }
697
+ let animationStyles;
698
+ const shouldUseAnimation =
699
+ // if it supports css vars we run it on server too to get matching initial style
700
+ (inputStyle === "css" ? willBeAnimatedClient : willBeAnimated) && useAnimations && !isHOC;
701
+ let animatedRef;
702
+ if (shouldUseAnimation) {
703
+ const useStyleEmitter = animationDriver?.avoidReRenders ? listener => {
704
+ stateRef.current.useStyleListener = listener;
705
+ } : void 0;
706
+ const effectiveTransition = (0, import_pseudoTransitions.resolveEffectivePseudoTransition)(stateRef.current.prevPseudoState, state, splitStyles?.pseudoTransitions, props.transition);
707
+ if (splitStyles) {
708
+ splitStyles.effectiveTransition = effectiveTransition;
709
+ }
710
+ stateRef.current.prevPseudoState = (0, import_pseudoTransitions.extractPseudoState)(state);
711
+ const animations = useAnimations({
712
+ props: propsWithAnimation,
713
+ // clone style to prevent animation driver mutations from leaking to viewProps
714
+ // during SSR/pre-hydration (CSS driver mutates style.transition in place)
715
+ style: isHydrated ? splitStylesStyle || {} : {
716
+ ...splitStylesStyle
717
+ },
718
+ // @ts-ignore
719
+ styleState: splitStyles,
720
+ useStyleEmitter,
721
+ presence,
722
+ componentState: state,
723
+ styleProps,
724
+ theme,
725
+ themeName,
726
+ pseudos: pseudos || null,
727
+ staticConfig,
728
+ stateRef
729
+ });
730
+ if (animations) {
731
+ if (animations.ref) {
732
+ animatedRef = animations.ref;
733
+ }
734
+ if (isHydrated && animations) {
735
+ animationStyles = animations.style;
736
+ viewProps.style = animationStyles;
737
+ if (animations.className) {
738
+ viewProps.className = `${state.unmounted === "should-enter" ? "t_unmounted " : ""}${viewProps.className || ""} ${animations.className}`;
739
+ }
740
+ }
741
+ }
742
+ if (process.env.NODE_ENV === "development" && time) time`animations`;
743
+ }
744
+ if (process.env.NODE_ENV === "development" && props.untilMeasured && !props.group) {
745
+ console.warn(`You set the untilMeasured prop without setting group. This doesn't work, be sure to set untilMeasured on the parent that sets group, not the children that use the $group- prop.
485
746
 
486
- If you meant to do this, you can disable this warning - either change untilMeasured and group at the same time, or do group={conditional ? 'name' : undefined}`), process.env.NODE_ENV === "development" && time && time`destructure`, !isPassthrough && groupContext &&
487
- // avoids onLayout if we don't need it
488
- props.containerType !== "normal" && (nonGuiProps.onLayout = (0, import_helpers.composeEventHandlers)(nonGuiProps.onLayout, e => {
747
+ If you meant to do this, you can disable this warning - either change untilMeasured and group at the same time, or do group={conditional ? 'name' : undefined}`);
748
+ }
749
+ if (process.env.NODE_ENV === "development" && time) time`destructure`;
750
+ if (!isPassthrough && groupContext &&
751
+ // avoids onLayout if we don't need it
752
+ props.containerType !== "normal") {
753
+ nonGuiProps.onLayout = (0, import_helpers.composeEventHandlers)(nonGuiProps.onLayout, e => {
489
754
  const layout = e.nativeEvent.layout;
490
- groupContext.state.layout = layout, stateRef.current.group?.emit({
755
+ groupContext.state.layout = layout;
756
+ stateRef.current.group?.emit({
491
757
  layout
492
- }), !stateRef.current.hasMeasured && props.untilMeasured === "hide" && setState(prev => ({
493
- ...prev
494
- })), stateRef.current.hasMeasured = !0;
495
- })), viewProps = import_setupHooks.hooks.usePropsTransform?.(elementType, nonGuiProps, stateRef, stateRef.current.willHydrate) || nonGuiProps, stateRef.current.composedRef || (stateRef.current.composedRef = (0, import_compose_refs.composeRefs)(x => stateRef.current.host = x, forwardedRef, import_setElementProps.setElementProps, animatedRef)), viewProps.ref = stateRef.current.composedRef, (0, import_pointerEvents.usePointerEvents)(props, viewProps), process.env.NODE_ENV === "development" && !isReactNative && !isText && import_constants.isWeb && !isHOC && import_react.default.Children.toArray(props.children).forEach(item => {
496
- typeof item == "string" && item !== `
497
- ` && console.error(`Unexpected text node: ${item}. A text node cannot be a child of a <${staticConfig.componentName || propsIn.tag || "View"}>.`, props);
498
- }), process.env.NODE_ENV === "development" && time && time`events-hooks`;
499
- const unPress = () => {
500
- setStateShallow({
501
- press: !1,
502
- pressIn: !1
503
758
  });
504
- };
505
- process.env.NODE_ENV === "development" && import_constants.isWeb && (0, import_constants.useIsomorphicLayoutEffect)(() => {
759
+ if (!stateRef.current.hasMeasured && props.untilMeasured === "hide") {
760
+ setState(prev => ({
761
+ ...prev
762
+ }));
763
+ }
764
+ stateRef.current.hasMeasured = true;
765
+ });
766
+ }
767
+ viewProps = import_setupHooks.hooks.usePropsTransform?.(elementType, nonGuiProps, stateRef, stateRef.current.willHydrate) || nonGuiProps;
768
+ if (!stateRef.current.composedRef) {
769
+ stateRef.current.composedRef = (0, import_compose_refs.composeRefs)(x => stateRef.current.host = x, forwardedRef, import_setElementProps.setElementProps, animatedRef);
770
+ }
771
+ viewProps.ref = stateRef.current.composedRef;
772
+ (0, import_pointerEvents.usePointerEvents)(props, viewProps);
773
+ if (process.env.NODE_ENV === "development") {
774
+ if (!isReactNative && !isText && import_constants.isWeb && !isHOC) {
775
+ import_react.default.Children.toArray(props.children).forEach(item => {
776
+ if (typeof item === "string" && item !== "\n") {
777
+ console.error(`Unexpected text node: ${item}. A text node cannot be a child of a <${staticConfig.componentName || propsIn.tag || "View"}>.`, props);
778
+ }
779
+ });
780
+ }
781
+ }
782
+ if (process.env.NODE_ENV === "development" && time) time`events-hooks`;
783
+ const unPress = () => {
784
+ setStateShallow({
785
+ press: false,
786
+ pressIn: false
787
+ });
788
+ };
789
+ if (process.env.NODE_ENV === "development" && import_constants.isWeb) {
790
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
506
791
  if (debugProp === "verbose") {
507
792
  let cssStyleDeclarationToObject = function (style) {
508
793
  const styleObject = {};
@@ -513,59 +798,75 @@ If you meant to do this, you can disable this warning - either change untilMeasu
513
798
  return styleObject;
514
799
  };
515
800
  const computed = stateRef.current.host ? cssStyleDeclarationToObject(getComputedStyle(stateRef.current.host)) : {};
516
- console.groupCollapsed(`Rendered > (opacity: ${computed.opacity})`), console.warn(stateRef.current.host), console.warn(computed), console.groupEnd();
517
- }
518
- }), (0, import_constants.useIsomorphicLayoutEffect)(() => {
519
- if (state.unmounted === !0 && hasEnterStyle) {
520
- setStateShallow({
521
- unmounted: "should-enter"
522
- });
523
- return;
801
+ console.groupCollapsed(`Rendered > (opacity: ${computed.opacity})`);
802
+ console.warn(stateRef.current.host);
803
+ console.warn(computed);
804
+ console.groupEnd();
524
805
  }
525
- if (state.unmounted) {
526
- if (inputStyle === "css") {
527
- let cancelled = !1;
528
- return requestAnimationFrame(() => {
529
- cancelled || requestAnimationFrame(() => {
530
- cancelled || setStateShallow({
531
- unmounted: !1
532
- });
806
+ });
807
+ }
808
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
809
+ if (state.unmounted === true && hasEnterStyle) {
810
+ setStateShallow({
811
+ unmounted: "should-enter"
812
+ });
813
+ return;
814
+ }
815
+ if (state.unmounted) {
816
+ if (inputStyle === "css") {
817
+ let cancelled = false;
818
+ requestAnimationFrame(() => {
819
+ if (cancelled) return;
820
+ requestAnimationFrame(() => {
821
+ if (cancelled) return;
822
+ setStateShallow({
823
+ unmounted: false
533
824
  });
534
- }), () => {
535
- cancelled = !0;
536
- };
537
- }
538
- setStateShallow({
539
- unmounted: !1
825
+ });
540
826
  });
827
+ return () => {
828
+ cancelled = true;
829
+ };
541
830
  }
542
- return () => {
543
- componentSetStates.delete(setState), stateRef.current.mediaEmitCleanup?.();
544
- };
545
- }, [state.unmounted, inputStyle]), (0, import_constants.useIsomorphicLayoutEffect)(() => {
546
- if (!disabled && !(!pseudoGroups && !mediaGroups) && allGroupContexts) return (0, import_subscribeToContextGroup.subscribeToContextGroup)({
547
- groupContext: allGroupContexts,
548
- setStateShallow,
549
- mediaGroups,
550
- pseudoGroups
831
+ setStateShallow({
832
+ unmounted: false
551
833
  });
552
- }, [allGroupContexts, disabled, pseudoGroups ? (0, import_objectIdentityKey.objectIdentityKey)(pseudoGroups) : 0, mediaGroups ? (0, import_objectIdentityKey.objectIdentityKey)(mediaGroups) : 0]);
553
- const groupEmitter = stateRef.current.group;
554
- (0, import_constants.useIsomorphicLayoutEffect)(() => {
555
- !groupContext || !groupEmitter || notifyGroupSubscribers(groupContext, groupEmitter, state);
556
- }, [groupContext, groupEmitter, state]);
557
- const runtimePressStyle = !disabled && noClass && pseudos?.pressStyle,
558
- runtimeFocusStyle = !disabled && noClass && pseudos?.focusStyle,
559
- runtimeFocusVisibleStyle = !disabled && noClass && pseudos?.focusVisibleStyle,
560
- attachFocus = !!(runtimePressStyle || runtimeFocusStyle || runtimeFocusVisibleStyle || onFocus || onBlur || componentContext.setParentFocusState),
561
- hasDynamicGroupChildren = !!(groupName && state.hasDynGroupChildren),
562
- attachPress = !!(hasDynamicGroupChildren || runtimePressStyle || onPress || onPressOut || onPressIn || onMouseDown || onMouseUp || onLongPress || onClick || pseudos?.focusVisibleStyle),
563
- runtimeHoverStyle = !disabled && noClass && pseudos?.hoverStyle,
564
- needsHoverState = !!(hasDynamicGroupChildren || runtimeHoverStyle),
565
- attachHover = import_constants.isWeb && !!(hasDynamicGroupChildren || needsHoverState || onMouseEnter || onMouseLeave),
566
- shouldAttach = !disabled && !props.asChild && !!(attachFocus || attachPress || attachHover || runtimePressStyle || runtimeHoverStyle || runtimeFocusStyle),
567
- needsPressState = !!(hasDynamicGroupChildren || runtimePressStyle);
568
- process.env.NODE_ENV === "development" && time && time`events-setup`, process.env.NODE_ENV === "development" && debugProp === "verbose" && (0, import_log.log)("\u{1FAA9} events()", {
834
+ }
835
+ return () => {
836
+ componentSetStates.delete(setState);
837
+ stateRef.current.mediaEmitCleanup?.();
838
+ };
839
+ }, [state.unmounted, inputStyle]);
840
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
841
+ if (disabled) return;
842
+ if (!pseudoGroups && !mediaGroups) return;
843
+ if (!allGroupContexts) return;
844
+ return (0, import_subscribeToContextGroup.subscribeToContextGroup)({
845
+ groupContext: allGroupContexts,
846
+ setStateShallow,
847
+ mediaGroups,
848
+ pseudoGroups
849
+ });
850
+ }, [allGroupContexts, disabled, pseudoGroups ? (0, import_objectIdentityKey.objectIdentityKey)(pseudoGroups) : 0, mediaGroups ? (0, import_objectIdentityKey.objectIdentityKey)(mediaGroups) : 0]);
851
+ const groupEmitter = stateRef.current.group;
852
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
853
+ if (!groupContext || !groupEmitter) return;
854
+ notifyGroupSubscribers(groupContext, groupEmitter, state);
855
+ }, [groupContext, groupEmitter, state]);
856
+ const runtimePressStyle = !disabled && noClass && pseudos?.pressStyle;
857
+ const runtimeFocusStyle = !disabled && noClass && pseudos?.focusStyle;
858
+ const runtimeFocusVisibleStyle = !disabled && noClass && pseudos?.focusVisibleStyle;
859
+ const attachFocus = Boolean(runtimePressStyle || runtimeFocusStyle || runtimeFocusVisibleStyle || onFocus || onBlur || !!componentContext.setParentFocusState);
860
+ const hasDynamicGroupChildren = Boolean(groupName && state.hasDynGroupChildren);
861
+ const attachPress = Boolean(hasDynamicGroupChildren || runtimePressStyle || onPress || onPressOut || onPressIn || onMouseDown || onMouseUp || onLongPress || onClick || pseudos?.focusVisibleStyle);
862
+ const runtimeHoverStyle = !disabled && noClass && pseudos?.hoverStyle;
863
+ const needsHoverState = Boolean(hasDynamicGroupChildren || runtimeHoverStyle);
864
+ const attachHover = import_constants.isWeb && !!(hasDynamicGroupChildren || needsHoverState || onMouseEnter || onMouseLeave);
865
+ const shouldAttach = !disabled && !props.asChild && Boolean(attachFocus || attachPress || attachHover || runtimePressStyle || runtimeHoverStyle || runtimeFocusStyle);
866
+ const needsPressState = Boolean(hasDynamicGroupChildren || runtimePressStyle);
867
+ if (process.env.NODE_ENV === "development" && time) time`events-setup`;
868
+ if (process.env.NODE_ENV === "development" && debugProp === "verbose") {
869
+ (0, import_log.log)(`\u{1FAA9} events()`, {
569
870
  runtimeFocusStyle,
570
871
  runtimePressStyle,
571
872
  runtimeHoverStyle,
@@ -577,206 +878,399 @@ If you meant to do this, you can disable this warning - either change untilMeasu
577
878
  needsHoverState,
578
879
  pseudos
579
880
  });
580
- const events = shouldAttach ? {
581
- onPressOut: attachPress ? e => {
582
- unPress(), onPressOut?.(e), onMouseUp?.(e);
583
- } : void 0,
584
- ...((attachHover || attachPress) && {
585
- onMouseEnter: e => {
586
- const next = {};
587
- needsHoverState && !lastInteractionWasTouch.value && (next.hover = !0), needsPressState && state.pressIn && (next.press = !0), setStateShallow(next), onHoverIn?.(e), onMouseEnter?.(e);
588
- },
589
- onMouseLeave: e => {
590
- const next = {};
591
- needsHoverState && (next.hover = !1), needsPressState && (next.press = !1, next.pressIn = !1), setStateShallow(next), onHoverOut?.(e), onMouseLeave?.(e);
881
+ }
882
+ const events = shouldAttach ? {
883
+ onPressOut: attachPress ? e => {
884
+ unPress();
885
+ onPressOut?.(e);
886
+ onMouseUp?.(e);
887
+ } : void 0,
888
+ ...((attachHover || attachPress) && {
889
+ onMouseEnter: e => {
890
+ const next = {};
891
+ if (needsHoverState && !lastInteractionWasTouch.value) {
892
+ next.hover = true;
592
893
  }
593
- }),
594
- onPressIn: attachPress ? e => {
595
- needsPressState && setStateShallow({
596
- press: !0,
597
- pressIn: !0
598
- }), onPressIn?.(e), onMouseDown?.(e), import_constants.isWeb && componentSetStates.add(setState);
599
- } : void 0,
600
- onPress: attachPress ? e => {
601
- unPress(), import_constants.isWeb && onClick?.(e), onPress?.(e), onLongPress?.(e);
602
- } : void 0,
603
- ...(attachFocus && {
604
- onFocus: e => {
605
- const next = {};
606
- componentContext.setParentFocusState && (componentContext.setParentFocusState({
607
- focusWithin: !0
608
- }), next.focusWithin = !0), pseudos?.focusVisibleStyle && lastInteractionWasKeyboard.value ? next.focusVisible = !0 : next.focus = !0, setStateShallow(next), onFocus?.(e);
609
- },
610
- onBlur: e => {
611
- componentContext.setParentFocusState && componentContext.setParentFocusState({
612
- focusWithin: !1
613
- }), setStateShallow({
614
- focus: !1,
615
- focusVisible: !1,
616
- focusWithin: !1
617
- }), onBlur?.(e);
894
+ if (needsPressState) {
895
+ if (state.pressIn) {
896
+ next.press = true;
897
+ }
898
+ }
899
+ setStateShallow(next);
900
+ onHoverIn?.(e);
901
+ onMouseEnter?.(e);
902
+ },
903
+ onMouseLeave: e => {
904
+ const next = {};
905
+ if (needsHoverState) {
906
+ next.hover = false;
907
+ }
908
+ if (needsPressState) {
909
+ next.press = false;
910
+ next.pressIn = false;
911
+ }
912
+ setStateShallow(next);
913
+ onHoverOut?.(e);
914
+ onMouseLeave?.(e);
915
+ }
916
+ }),
917
+ onPressIn: attachPress ? e => {
918
+ if (needsPressState) {
919
+ setStateShallow({
920
+ press: true,
921
+ pressIn: true
922
+ });
923
+ }
924
+ onPressIn?.(e);
925
+ onMouseDown?.(e);
926
+ if (import_constants.isWeb) {
927
+ componentSetStates.add(setState);
928
+ }
929
+ } : void 0,
930
+ onPress: attachPress ? e => {
931
+ unPress();
932
+ if (true) {
933
+ onClick?.(e);
934
+ if (onPress || onClick) {
935
+ e.stopPropagation();
936
+ }
937
+ }
938
+ onPress?.(e);
939
+ if (true) {
940
+ onLongPress?.(e);
941
+ }
942
+ } : void 0,
943
+ ...false,
944
+ ...(attachFocus && {
945
+ onFocus: e => {
946
+ const next = {};
947
+ if (componentContext.setParentFocusState) {
948
+ componentContext.setParentFocusState({
949
+ focusWithin: true
950
+ });
951
+ next.focusWithin = true;
952
+ }
953
+ if (pseudos?.focusVisibleStyle) {
954
+ if (lastInteractionWasKeyboard.value) {
955
+ next.focusVisible = true;
956
+ } else {
957
+ next.focus = true;
958
+ }
959
+ } else {
960
+ next.focus = true;
961
+ }
962
+ setStateShallow(next);
963
+ onFocus?.(e);
964
+ },
965
+ onBlur: e => {
966
+ if (componentContext.setParentFocusState) {
967
+ componentContext.setParentFocusState({
968
+ focusWithin: false
969
+ });
618
970
  }
619
- })
620
- } : null;
621
- events && !isReactNative && Object.assign(viewProps, (0, import_eventHandling.getWebEvents)(events)), process.env.NODE_ENV === "development" && time && time`events`, process.env.NODE_ENV === "development" && debugProp === "verbose" && (0, import_log.log)("events", {
971
+ setStateShallow({
972
+ focus: false,
973
+ focusVisible: false,
974
+ focusWithin: false
975
+ });
976
+ onBlur?.(e);
977
+ }
978
+ })
979
+ } : null;
980
+ if (false) {
981
+ Object.assign(events, {
982
+ cancelable: !viewProps.rejectResponderTermination,
983
+ disabled,
984
+ hitSlop: viewProps.hitSlop,
985
+ delayLongPress: viewProps.delayLongPress,
986
+ delayPressIn: viewProps.delayPressIn,
987
+ delayPressOut: viewProps.delayPressOut,
988
+ focusable: viewProps.focusable ?? true,
989
+ minPressDuration: 0
990
+ });
991
+ }
992
+ if (events && !isReactNative) {
993
+ Object.assign(viewProps, (0, import_eventHandling.getWebEvents)(events));
994
+ }
995
+ if (process.env.NODE_ENV === "development" && time) time`events`;
996
+ if (process.env.NODE_ENV === "development" && debugProp === "verbose") {
997
+ (0, import_log.log)(`events`, {
622
998
  events,
623
999
  attachHover,
624
1000
  attachPress
625
1001
  });
626
- const pressGesture = null;
627
- if (process.env.NODE_ENV === "development" && time && time`hooks`, asChild) {
628
- elementType = import_Slot.Slot;
629
- {
630
- const passEvents = (0, import_eventHandling.getWebEvents)({
631
- onPress,
632
- onLongPress,
633
- onPressIn,
634
- onPressOut,
635
- onMouseUp,
636
- onMouseDown,
637
- onMouseEnter,
638
- onMouseLeave
639
- }, asChild === "web" || asChild === "except-style-web");
640
- Object.assign(viewProps, passEvents);
641
- }
1002
+ }
1003
+ const propsWithHref = props;
1004
+ const propsInWithHref = propsIn;
1005
+ const pressDebugDetail = props.testID ?? propsIn.testID ?? props.accessibilityLabel ?? propsIn.accessibilityLabel ?? (typeof propsWithHref.href === "string" ? propsWithHref.href : null) ?? (typeof propsInWithHref.href === "string" ? propsInWithHref.href : null);
1006
+ const pressDebugName = [componentName, pressDebugDetail].filter(Boolean).join(":") || null;
1007
+ const pressGesture = false ? useEvents(events, viewProps, stateRef, staticConfig, isHOC, isInsideNativeMenu, pressDebugName) : null;
1008
+ if (process.env.NODE_ENV === "development" && time) time`hooks`;
1009
+ if (asChild) {
1010
+ elementType = import_Slot.Slot;
1011
+ if (true) {
1012
+ const webStyleEvents = asChild === "web" || asChild === "except-style-web";
1013
+ const passEvents = (0, import_eventHandling.getWebEvents)({
1014
+ onPress,
1015
+ onLongPress,
1016
+ onPressIn,
1017
+ onPressOut,
1018
+ onMouseUp,
1019
+ onMouseDown,
1020
+ onMouseEnter,
1021
+ onMouseLeave
1022
+ }, webStyleEvents);
1023
+ Object.assign(viewProps, passEvents);
1024
+ } else {
1025
+ Object.assign(viewProps, {
1026
+ onPress,
1027
+ onLongPress
1028
+ });
642
1029
  }
643
- process.env.NODE_ENV === "development" && time && time`spaced-as-child`;
644
- let content;
645
- if (isPassthrough) content = import_react.default.createElement(BaseComponent, {
1030
+ }
1031
+ if (process.env.NODE_ENV === "development" && time) time`spaced-as-child`;
1032
+ let content;
1033
+ if (isPassthrough) {
1034
+ content = import_react.default.createElement(BaseComponent, {
646
1035
  style: {
647
1036
  display: "contents"
648
1037
  }
649
- }, propsIn.children);else {
650
- import_setupHooks.hooks.useChildren && (content = import_setupHooks.hooks.useChildren(elementType, content || children, viewProps));
651
- const isRenderPropString = typeof renderProp == "string";
652
- if (renderProp && !isRenderPropString) {
653
- const out = getCustomRender(renderProp, content || children, viewProps, componentState);
654
- out && (viewProps = out.viewProps, elementType = out.elementType);
1038
+ }, propsIn.children);
1039
+ } else {
1040
+ if (import_setupHooks.hooks.useChildren) {
1041
+ content = import_setupHooks.hooks.useChildren(elementType, content || children, viewProps);
1042
+ }
1043
+ const isRenderPropString = typeof renderProp === "string";
1044
+ if (renderProp && !isRenderPropString) {
1045
+ const out = getCustomRender(renderProp, content || children, viewProps, componentState);
1046
+ if (out) {
1047
+ viewProps = out.viewProps;
1048
+ elementType = out.elementType;
1049
+ }
1050
+ }
1051
+ if (!content) {
1052
+ if (isRenderPropString) {
1053
+ viewProps.render === renderProp;
655
1054
  }
656
- content || (isRenderPropString && viewProps.render, content = import_react.default.createElement(elementType, viewProps, content || children)), process.env.NODE_ENV === "development" && time && time`use-children`;
1055
+ content = import_react.default.createElement(elementType, viewProps, content || children);
657
1056
  }
658
- const ResetPresence = animationDriver?.ResetPresence,
659
- needsReset = !!(
660
- // not when passing down to child
661
- !asChild &&
662
- // not when passThrough
663
- splitStyles &&
664
- // not when HOC
665
- !isHOC && ResetPresence && willBeAnimated && (hasEnterStyle || presenceState)),
666
- hasEverReset = stateRef.current.hasEverResetPresence;
667
- if (needsReset && !hasEverReset && (stateRef.current.hasEverResetPresence = !0), (needsReset || hasEverReset) && ResetPresence && (content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(ResetPresence, {
1057
+ if (process.env.NODE_ENV === "development" && time) time`use-children`;
1058
+ }
1059
+ if (false) {
1060
+ const isCompositeComponent = !isHOC && Component && typeof Component !== "string";
1061
+ content = wrapWithGestureDetector(content, pressGesture, stateRef, isHOC, isCompositeComponent);
1062
+ }
1063
+ const ResetPresence = animationDriver?.ResetPresence;
1064
+ const needsReset = Boolean(
1065
+ // not when passing down to child
1066
+ !asChild &&
1067
+ // not when passThrough
1068
+ splitStyles &&
1069
+ // not when HOC
1070
+ !isHOC && ResetPresence && willBeAnimated && (hasEnterStyle || presenceState));
1071
+ const hasEverReset = stateRef.current.hasEverResetPresence;
1072
+ if (needsReset && !hasEverReset) {
1073
+ stateRef.current.hasEverResetPresence = true;
1074
+ }
1075
+ const renderReset = needsReset || hasEverReset;
1076
+ if (renderReset && ResetPresence) {
1077
+ content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(ResetPresence, {
668
1078
  disabled: !needsReset,
669
1079
  children: content
670
- })), process.env.NODE_ENV === "development" && time && time`create-element`, ("focusWithinStyle" in propsIn || pseudos?.focusWithinStyle) && (content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, {
1080
+ });
1081
+ }
1082
+ if (process.env.NODE_ENV === "development" && time) time`create-element`;
1083
+ if ("focusWithinStyle" in propsIn || pseudos?.focusWithinStyle) {
1084
+ content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, {
671
1085
  ...componentContext,
672
1086
  setParentFocusState: setStateShallow,
673
1087
  children: content
674
- })), "group" in props && (content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_GroupContext.GroupContext.Provider, {
1088
+ });
1089
+ }
1090
+ if ("group" in props) {
1091
+ content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_GroupContext.GroupContext.Provider, {
675
1092
  value: allGroupContexts,
676
1093
  children: content
677
- })), !asChild && isText && !hasTextAncestor && (content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, {
1094
+ });
1095
+ }
1096
+ if (!asChild && isText && !hasTextAncestor) {
1097
+ content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, {
678
1098
  ...componentContext,
679
- inText: !0,
680
- children: content
681
- })), process.env.NODE_ENV === "development" && time && time`group-context`, content = disableTheme || !splitStyles ? content : (0, import_Theme.getThemedChildren)(themeState, content, themeStateProps, !1, stateRef), process.env.NODE_ENV === "development" && time && time`themed-children`, isReactNative && !asChild && (content = /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
682
- className: "_dsp_contents",
683
- ...(!isPassthrough && isHydrated && events && (0, import_eventHandling.getWebEvents)(events)),
1099
+ inText: true,
684
1100
  children: content
685
- })), overriddenContextProps && contextForOverride) {
686
- const Provider = contextForOverride.Provider;
687
- for (const key in styledContextValue) key in overriddenContextProps || (overriddenContextProps[key] = styledContextValue[key]);
688
- content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(Provider, {
689
- __disableMergeDefaultValues: !0,
690
- ...overriddenContextProps,
1101
+ });
1102
+ }
1103
+ if (process.env.NODE_ENV === "development" && time) time`group-context`;
1104
+ content = disableTheme || !splitStyles ? content : (0, import_Theme.getThemedChildren)(themeState, content, themeStateProps, false, stateRef);
1105
+ if (process.env.NODE_ENV === "development" && time) time`themed-children`;
1106
+ if (true) {
1107
+ if (isReactNative && !asChild) {
1108
+ content = /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
1109
+ className: "_dsp_contents",
1110
+ ...(!isPassthrough && isHydrated && events && (0, import_eventHandling.getWebEvents)(events)),
691
1111
  children: content
692
1112
  });
693
1113
  }
694
- if (process.env.NODE_ENV === "development" && time && time`context-override`, startedUnhydrated && splitStyles && (content = /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
695
- children: [content, isHydrated ? null : (0, import_wrapStyleTags.getStyleTags)(Object.values(splitStyles.rulesToInsert))]
696
- })), process.env.NODE_ENV === "development" && time && time`style-tags`, process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile") {
697
- const title = `render <${typeof elementType == "string" ? elementType : "Component"} /> (${internalID}) with props`;
1114
+ }
1115
+ if (overriddenContextProps && contextForOverride) {
1116
+ const Provider = contextForOverride.Provider;
1117
+ for (const key in styledContextValue) {
1118
+ if (!(key in overriddenContextProps)) {
1119
+ overriddenContextProps[key] = styledContextValue[key];
1120
+ }
1121
+ }
1122
+ content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(Provider, {
1123
+ __disableMergeDefaultValues: true,
1124
+ ...overriddenContextProps,
1125
+ children: content
1126
+ });
1127
+ }
1128
+ if (process.env.NODE_ENV === "development" && time) time`context-override`;
1129
+ if (startedUnhydrated && splitStyles) {
1130
+ content = /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
1131
+ children: [content, !isHydrated ? (0, import_wrapStyleTags.getStyleTags)(Object.values(splitStyles.rulesToInsert)) : null]
1132
+ });
1133
+ }
1134
+ if (process.env.NODE_ENV === "development" && time) time`style-tags`;
1135
+ if (process.env.NODE_ENV === "development") {
1136
+ if (debugProp && debugProp !== "profile") {
1137
+ const element2 = typeof elementType === "string" ? elementType : "Component";
1138
+ const title = `render <${element2} /> (${internalID}) with props`;
698
1139
  if (!import_constants.isWeb || !import_constants.isClient) {
699
- (0, import_log.log)(title), (0, import_log.log)("state: ", state), import_isDevTools.isDevTools && (0, import_log.log)("viewProps", viewProps), (0, import_log.log)("final styles:");
700
- for (const key in splitStylesStyle) (0, import_log.log)(key, splitStylesStyle[key]);
1140
+ (0, import_log.log)(title);
1141
+ (0, import_log.log)(`state: `, state);
1142
+ if (import_isDevTools.isDevTools) {
1143
+ (0, import_log.log)("viewProps", viewProps);
1144
+ }
1145
+ (0, import_log.log)(`final styles:`);
1146
+ for (const key in splitStylesStyle) {
1147
+ (0, import_log.log)(key, splitStylesStyle[key]);
1148
+ }
701
1149
  } else {
702
1150
  console.groupCollapsed(title);
703
1151
  try {
704
- (0, import_log.log)("viewProps", viewProps), (0, import_log.log)("children", content), typeof window < "u" && (0, import_log.log)({
705
- propsIn,
706
- props,
707
- attachPress,
708
- animationStyles,
709
- classNames,
710
- content,
711
- elementType,
712
- events,
713
- isAnimated,
714
- hasRuntimeMediaKeys,
715
- isStringElement,
716
- mediaListeningKeys,
717
- pseudos,
718
- shouldAttach,
719
- noClass,
720
- shouldListenForMedia,
721
- splitStyles,
722
- splitStylesStyle,
723
- state,
724
- stateRef,
725
- staticConfig,
726
- styleProps,
727
- themeState,
728
- viewProps,
729
- willBeAnimated,
730
- startedUnhydrated
731
- });
1152
+ (0, import_log.log)("viewProps", viewProps);
1153
+ (0, import_log.log)("children", content);
1154
+ if (typeof window !== "undefined") {
1155
+ (0, import_log.log)({
1156
+ propsIn,
1157
+ props,
1158
+ attachPress,
1159
+ animationStyles,
1160
+ classNames,
1161
+ content,
1162
+ elementType,
1163
+ events,
1164
+ isAnimated,
1165
+ hasRuntimeMediaKeys,
1166
+ isStringElement,
1167
+ mediaListeningKeys,
1168
+ pseudos,
1169
+ shouldAttach,
1170
+ noClass,
1171
+ shouldListenForMedia,
1172
+ splitStyles,
1173
+ splitStylesStyle,
1174
+ state,
1175
+ stateRef,
1176
+ staticConfig,
1177
+ styleProps,
1178
+ themeState,
1179
+ viewProps,
1180
+ willBeAnimated,
1181
+ startedUnhydrated
1182
+ });
1183
+ }
732
1184
  } catch {} finally {
733
1185
  console.groupEnd();
734
1186
  }
735
1187
  }
1188
+ if (debugProp === "break") {}
736
1189
  }
737
- return process.env.NODE_ENV === "development" && time && (time`rest`, globalThis.willPrint || (globalThis.willPrint = !0, setTimeout(() => {
738
- delete globalThis.willPrint, time.print(), time = null;
739
- }, 50))), content;
740
- });
1190
+ }
1191
+ if (process.env.NODE_ENV === "development" && time) {
1192
+ time`rest`;
1193
+ if (!globalThis["willPrint"]) {
1194
+ globalThis["willPrint"] = true;
1195
+ setTimeout(() => {
1196
+ delete globalThis["willPrint"];
1197
+ time.print();
1198
+ time = null;
1199
+ }, 50);
1200
+ }
1201
+ }
1202
+ return content;
1203
+ });
741
1204
  function notifyGroupSubscribers(groupContext, groupEmitter, pseudo) {
742
- if (!groupContext || !groupEmitter) return;
1205
+ if (!groupContext || !groupEmitter) {
1206
+ return;
1207
+ }
743
1208
  const nextState = {
744
1209
  ...groupContext.state,
745
1210
  pseudo
746
1211
  };
747
- groupEmitter.emit(nextState), groupContext.state = nextState;
1212
+ groupEmitter.emit(nextState);
1213
+ groupContext.state = nextState;
1214
+ }
1215
+ if (staticConfig.componentName) {
1216
+ component.displayName = staticConfig.componentName;
748
1217
  }
749
- staticConfig.componentName && (component.displayName = staticConfig.componentName);
750
1218
  let res = component;
751
- res = import_react.default.memo(res), res.staticConfig = staticConfig;
1219
+ res = import_react.default.memo(res);
1220
+ res.staticConfig = staticConfig;
752
1221
  function extendStyledConfig(extended) {
753
1222
  return {
754
1223
  ...staticConfig,
755
1224
  ...extended,
756
- neverFlatten: !0,
757
- isHOC: !0,
758
- isStyledHOC: !1
1225
+ neverFlatten: true,
1226
+ isHOC: true,
1227
+ isStyledHOC: false
759
1228
  };
760
1229
  }
761
1230
  function styleable(Component2, options) {
762
- let out = typeof Component2 == "function" && Component2.length === 1 ? Component2 : import_react.default.forwardRef(Component2);
1231
+ const skipForwardRef = typeof Component2 === "function" && Component2.length === 1;
1232
+ let out = skipForwardRef ? Component2 : import_react.default.forwardRef(Component2);
763
1233
  const extendedConfig = extendStyledConfig(options?.staticConfig);
764
- return out = options?.disableTheme ? out : (0, import_themeable.themeable)(out, extendedConfig, !0), (extendedConfig.memo || process.env.HANZO_GUI_MEMOIZE_STYLEABLE) && (out = import_react.default.memo(out)), out.staticConfig = extendedConfig, out.styleable = styleable, out;
1234
+ out = options?.disableTheme ? out : (0, import_themeable.themeable)(out, extendedConfig, true);
1235
+ if (extendedConfig.memo || process.env.TAMAGUI_MEMOIZE_STYLEABLE) {
1236
+ out = import_react.default.memo(out);
1237
+ }
1238
+ out.staticConfig = extendedConfig;
1239
+ out.styleable = styleable;
1240
+ return out;
765
1241
  }
766
- return res.styleable = styleable, res;
1242
+ res.styleable = styleable;
1243
+ return res;
767
1244
  }
768
- const fromPx = val => typeof val == "number" ? val : typeof val == "string" ? +val.replace("px", "") : 0,
769
- getCustomRender = (renderProp, content, viewProps, state) => {
770
- if (typeof renderProp == "function") {
771
- const out = renderProp(viewProps, state);
772
- renderProp = out;
773
- }
774
- if (renderProp && typeof renderProp == "object" && import_react.default.isValidElement(renderProp) && renderProp) {
775
- const elementProps = renderProp.props,
776
- mergedProps = elementProps ? (0, import_mergeRenderElementProps.mergeRenderElementProps)(elementProps, viewProps, content) : viewProps;
777
- return {
778
- elementType: renderProp.type,
779
- viewProps: mergedProps
780
- };
1245
+ const fromPx = val => {
1246
+ if (typeof val === "number") return val;
1247
+ if (typeof val === "string") return +val.replace("px", "");
1248
+ return 0;
1249
+ };
1250
+ const getCustomRender = (renderProp, content, viewProps, state) => {
1251
+ if (typeof renderProp === "function") {
1252
+ const out = renderProp(viewProps, state);
1253
+ renderProp = getRenderElementForPlatform(out);
1254
+ }
1255
+ if (renderProp) {
1256
+ if (typeof renderProp === "object" && import_react.default.isValidElement(renderProp)) {
1257
+ const renderElement = getRenderElementForPlatform(renderProp);
1258
+ if (renderElement) {
1259
+ const elementProps = renderProp.props;
1260
+ const mergedProps = elementProps ? (0, import_mergeRenderElementProps.mergeRenderElementProps)(elementProps, viewProps, content) : viewProps;
1261
+ return {
1262
+ elementType: renderProp.type,
1263
+ viewProps: mergedProps
1264
+ };
1265
+ }
1266
+ }
1267
+ }
1268
+ };
1269
+ function getRenderElementForPlatform(potential) {
1270
+ if (false) {
1271
+ if (isHTMLElement(potential)) {
1272
+ return;
781
1273
  }
782
- };
1274
+ }
1275
+ return potential;
1276
+ }