@hanzogui/web 7.3.2 → 8.0.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 (347) hide show
  1. package/.turbo/turbo-build.log +2 -0
  2. package/dist/cjs/_withStableStyle.cjs +2 -2
  3. package/dist/cjs/_withStableStyle.native.js +2 -2
  4. package/dist/cjs/_withStableStyle.native.js.map +1 -1
  5. package/dist/cjs/config.cjs +18 -10
  6. package/dist/cjs/config.native.js +19 -10
  7. package/dist/cjs/config.native.js.map +1 -1
  8. package/dist/cjs/constants/constants.cjs +1 -1
  9. package/dist/cjs/constants/constants.native.js +1 -1
  10. package/dist/cjs/constants/constants.native.js.map +1 -1
  11. package/dist/cjs/createComponent.cjs +68 -28
  12. package/dist/cjs/createComponent.native.js +75 -30
  13. package/dist/cjs/createComponent.native.js.map +1 -1
  14. package/dist/cjs/createGui.cjs +1 -1
  15. package/dist/cjs/createGui.native.js +1 -1
  16. package/dist/cjs/createGui.native.js.map +1 -1
  17. package/dist/cjs/eventHandling.cjs +2 -2
  18. package/dist/cjs/eventHandling.native.js +73 -54
  19. package/dist/cjs/eventHandling.native.js.map +1 -1
  20. package/dist/cjs/helpers/createDesignSystem.cjs +2 -2
  21. package/dist/cjs/helpers/defaultAnimationDriver.cjs +1 -1
  22. package/dist/cjs/helpers/defaultAnimationDriver.native.js +1 -1
  23. package/dist/cjs/helpers/expandStyle.cjs +46 -5
  24. package/dist/cjs/helpers/expandStyle.native.js +36 -30
  25. package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
  26. package/dist/cjs/helpers/getGroupPropParts.cjs +1 -1
  27. package/dist/cjs/helpers/getGroupPropParts.native.js +1 -1
  28. package/dist/cjs/helpers/getSplitStyles.cjs +76 -31
  29. package/dist/cjs/helpers/getSplitStyles.native.js +140 -85
  30. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  31. package/dist/cjs/helpers/getTokenForKey.cjs +5 -5
  32. package/dist/cjs/helpers/getTokenForKey.native.js +5 -5
  33. package/dist/cjs/helpers/getTokenForKey.native.js.map +1 -1
  34. package/dist/cjs/helpers/getVariantExtras.cjs +7 -3
  35. package/dist/cjs/helpers/getVariantExtras.native.js +7 -3
  36. package/dist/cjs/helpers/getVariantExtras.native.js.map +1 -1
  37. package/dist/cjs/helpers/insertStyleRule.cjs +4 -4
  38. package/dist/cjs/helpers/insertStyleRule.native.js +3 -3
  39. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  40. package/dist/cjs/helpers/mainThreadPressEvents.native.js +32 -4
  41. package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
  42. package/dist/cjs/helpers/normalizeStyle.cjs +22 -1
  43. package/dist/cjs/helpers/normalizeStyle.native.js +41 -1
  44. package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
  45. package/dist/cjs/helpers/platformResolveValue.cjs +1 -1
  46. package/dist/cjs/helpers/platformResolveValue.native.js +1 -1
  47. package/dist/cjs/helpers/platformResolveValue.native.js.map +1 -1
  48. package/dist/cjs/helpers/pointerEvents.native.js +26 -20
  49. package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
  50. package/dist/cjs/helpers/propMapper.cjs +31 -7
  51. package/dist/cjs/helpers/propMapper.native.js +70 -20
  52. package/dist/cjs/helpers/propMapper.native.js.map +1 -1
  53. package/dist/cjs/helpers/resolveSafeArea.native.js +1 -1
  54. package/dist/cjs/helpers/resolveSafeArea.native.js.map +1 -1
  55. package/dist/cjs/helpers/styleOriginalValues.cjs +28 -0
  56. package/dist/cjs/helpers/styleOriginalValues.native.js +31 -0
  57. package/dist/cjs/helpers/styleOriginalValues.native.js.map +1 -0
  58. package/dist/cjs/helpers/styleProvenance.cjs +43 -0
  59. package/dist/cjs/helpers/styleProvenance.native.js +46 -0
  60. package/dist/cjs/helpers/styleProvenance.native.js.map +1 -0
  61. package/dist/cjs/helpers/wrapStyleTags.cjs +35 -11
  62. package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
  63. package/dist/cjs/hooks/getThemeProxied.cjs +1 -1
  64. package/dist/cjs/hooks/getThemeProxied.native.js +4 -4
  65. package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
  66. package/dist/cjs/hooks/useComponentState.cjs +29 -3
  67. package/dist/cjs/hooks/useComponentState.native.js +30 -4
  68. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  69. package/dist/cjs/hooks/useMedia.cjs +107 -42
  70. package/dist/cjs/hooks/useMedia.native.js +149 -60
  71. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  72. package/dist/cjs/hooks/useTheme.cjs +18 -5
  73. package/dist/cjs/hooks/useTheme.native.js +19 -5
  74. package/dist/cjs/hooks/useTheme.native.js.map +1 -1
  75. package/dist/cjs/hooks/useThemeState.cjs +143 -72
  76. package/dist/cjs/hooks/useThemeState.native.js +155 -74
  77. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  78. package/dist/cjs/index.cjs +3 -0
  79. package/dist/cjs/index.native.js +3 -0
  80. package/dist/cjs/index.native.js.map +1 -1
  81. package/dist/cjs/opacityModifier.test-d.cjs +36 -0
  82. package/dist/cjs/opacityModifier.test-d.native.js +39 -0
  83. package/dist/cjs/opacityModifier.test-d.native.js.map +1 -0
  84. package/dist/cjs/styledNonStyleProps.test-d.cjs +63 -0
  85. package/dist/cjs/styledNonStyleProps.test-d.native.js +66 -0
  86. package/dist/cjs/styledNonStyleProps.test-d.native.js.map +1 -0
  87. package/dist/cjs/views/GuiProvider.cjs +2 -2
  88. package/dist/cjs/views/Text.cjs +1 -0
  89. package/dist/cjs/views/Text.native.js +1 -0
  90. package/dist/cjs/views/Text.native.js.map +1 -1
  91. package/dist/cjs/views/Theme.cjs +1 -1
  92. package/dist/cjs/views/Theme.native.js +1 -1
  93. package/dist/cjs/views/Theme.native.js.map +1 -1
  94. package/dist/esm/_withStableStyle.mjs +2 -2
  95. package/dist/esm/_withStableStyle.mjs.map +1 -1
  96. package/dist/esm/_withStableStyle.native.js +2 -2
  97. package/dist/esm/_withStableStyle.native.js.map +1 -1
  98. package/dist/esm/config.mjs +18 -11
  99. package/dist/esm/config.mjs.map +1 -1
  100. package/dist/esm/config.native.js +19 -11
  101. package/dist/esm/config.native.js.map +1 -1
  102. package/dist/esm/constants/constants.mjs +1 -1
  103. package/dist/esm/constants/constants.native.js +1 -1
  104. package/dist/esm/constants/constants.native.js.map +1 -1
  105. package/dist/esm/createComponent.mjs +74 -35
  106. package/dist/esm/createComponent.mjs.map +1 -1
  107. package/dist/esm/createComponent.native.js +90 -42
  108. package/dist/esm/createComponent.native.js.map +1 -1
  109. package/dist/esm/createGui.mjs +6 -6
  110. package/dist/esm/createGui.mjs.map +1 -1
  111. package/dist/esm/createGui.native.js +6 -6
  112. package/dist/esm/createGui.native.js.map +1 -1
  113. package/dist/esm/eventHandling.mjs +2 -2
  114. package/dist/esm/eventHandling.mjs.map +1 -1
  115. package/dist/esm/eventHandling.native.js +74 -55
  116. package/dist/esm/eventHandling.native.js.map +1 -1
  117. package/dist/esm/helpers/createDesignSystem.mjs +2 -2
  118. package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
  119. package/dist/esm/helpers/createDesignSystem.native.js +1 -2
  120. package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
  121. package/dist/esm/helpers/defaultAnimationDriver.mjs +1 -1
  122. package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -1
  123. package/dist/esm/helpers/defaultAnimationDriver.native.js +1 -1
  124. package/dist/esm/helpers/expandStyle.mjs +47 -8
  125. package/dist/esm/helpers/expandStyle.mjs.map +1 -1
  126. package/dist/esm/helpers/expandStyle.native.js +36 -30
  127. package/dist/esm/helpers/expandStyle.native.js.map +1 -1
  128. package/dist/esm/helpers/expandStyles.mjs.map +1 -1
  129. package/dist/esm/helpers/expandStyles.native.js.map +1 -1
  130. package/dist/esm/helpers/getGroupPropParts.mjs +1 -1
  131. package/dist/esm/helpers/getGroupPropParts.mjs.map +1 -1
  132. package/dist/esm/helpers/getGroupPropParts.native.js +1 -1
  133. package/dist/esm/helpers/getSplitStyles.mjs +86 -45
  134. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  135. package/dist/esm/helpers/getSplitStyles.native.js +146 -98
  136. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  137. package/dist/esm/helpers/getThemeCSSRules.mjs +1 -1
  138. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
  139. package/dist/esm/helpers/getTokenForKey.mjs +5 -5
  140. package/dist/esm/helpers/getTokenForKey.mjs.map +1 -1
  141. package/dist/esm/helpers/getTokenForKey.native.js +5 -5
  142. package/dist/esm/helpers/getTokenForKey.native.js.map +1 -1
  143. package/dist/esm/helpers/getVariantExtras.mjs +7 -3
  144. package/dist/esm/helpers/getVariantExtras.mjs.map +1 -1
  145. package/dist/esm/helpers/getVariantExtras.native.js +7 -3
  146. package/dist/esm/helpers/getVariantExtras.native.js.map +1 -1
  147. package/dist/esm/helpers/insertStyleRule.mjs +4 -6
  148. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  149. package/dist/esm/helpers/insertStyleRule.native.js +0 -26
  150. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  151. package/dist/esm/helpers/isActivePlatform.mjs.map +1 -1
  152. package/dist/esm/helpers/isActivePlatform.native.js.map +1 -1
  153. package/dist/esm/helpers/log.mjs.map +1 -1
  154. package/dist/esm/helpers/log.native.js.map +1 -1
  155. package/dist/esm/helpers/mainThreadPressEvents.native.js +32 -4
  156. package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
  157. package/dist/esm/helpers/normalizeStyle.mjs +22 -1
  158. package/dist/esm/helpers/normalizeStyle.mjs.map +1 -1
  159. package/dist/esm/helpers/normalizeStyle.native.js +41 -1
  160. package/dist/esm/helpers/normalizeStyle.native.js.map +1 -1
  161. package/dist/esm/helpers/platformResolveValue.mjs +1 -1
  162. package/dist/esm/helpers/platformResolveValue.mjs.map +1 -1
  163. package/dist/esm/helpers/platformResolveValue.native.js +1 -1
  164. package/dist/esm/helpers/platformResolveValue.native.js.map +1 -1
  165. package/dist/esm/helpers/pointerEvents.native.js +26 -20
  166. package/dist/esm/helpers/pointerEvents.native.js.map +1 -1
  167. package/dist/esm/helpers/propMapper.mjs +32 -11
  168. package/dist/esm/helpers/propMapper.mjs.map +1 -1
  169. package/dist/esm/helpers/propMapper.native.js +71 -22
  170. package/dist/esm/helpers/propMapper.native.js.map +1 -1
  171. package/dist/esm/helpers/resolveSafeArea.native.js +1 -1
  172. package/dist/esm/helpers/resolveSafeArea.native.js.map +1 -1
  173. package/dist/esm/helpers/skipProps.mjs +0 -1
  174. package/dist/esm/helpers/skipProps.mjs.map +1 -1
  175. package/dist/esm/helpers/skipProps.native.js +0 -1
  176. package/dist/esm/helpers/skipProps.native.js.map +1 -1
  177. package/dist/esm/helpers/styleOriginalValues.mjs +3 -0
  178. package/dist/esm/helpers/styleOriginalValues.mjs.map +1 -0
  179. package/dist/esm/helpers/styleOriginalValues.native.js +3 -0
  180. package/dist/esm/helpers/styleOriginalValues.native.js.map +1 -0
  181. package/dist/esm/helpers/styleProvenance.mjs +16 -0
  182. package/dist/esm/helpers/styleProvenance.mjs.map +1 -0
  183. package/dist/esm/helpers/styleProvenance.native.js +16 -0
  184. package/dist/esm/helpers/styleProvenance.native.js.map +1 -0
  185. package/dist/esm/helpers/useRenderElement.mjs.map +1 -1
  186. package/dist/esm/helpers/useRenderElement.native.js.map +1 -1
  187. package/dist/esm/helpers/wrapStyleTags.mjs +35 -11
  188. package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
  189. package/dist/esm/helpers/wrapStyleTags.native.js +0 -2
  190. package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -1
  191. package/dist/esm/hooks/getThemeProxied.mjs +2 -5
  192. package/dist/esm/hooks/getThemeProxied.mjs.map +1 -1
  193. package/dist/esm/hooks/getThemeProxied.native.js +5 -5
  194. package/dist/esm/hooks/getThemeProxied.native.js.map +1 -1
  195. package/dist/esm/hooks/useComponentState.mjs +31 -5
  196. package/dist/esm/hooks/useComponentState.mjs.map +1 -1
  197. package/dist/esm/hooks/useComponentState.native.js +32 -6
  198. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  199. package/dist/esm/hooks/useMedia.mjs +108 -43
  200. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  201. package/dist/esm/hooks/useMedia.native.js +150 -61
  202. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  203. package/dist/esm/hooks/useTheme.mjs +18 -5
  204. package/dist/esm/hooks/useTheme.mjs.map +1 -1
  205. package/dist/esm/hooks/useTheme.native.js +19 -5
  206. package/dist/esm/hooks/useTheme.native.js.map +1 -1
  207. package/dist/esm/hooks/useThemeState.mjs +141 -70
  208. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  209. package/dist/esm/hooks/useThemeState.native.js +154 -73
  210. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  211. package/dist/esm/index.js +4 -4
  212. package/dist/esm/index.js.map +1 -1
  213. package/dist/esm/index.mjs +4 -4
  214. package/dist/esm/index.mjs.map +1 -1
  215. package/dist/esm/index.native.js +4 -4
  216. package/dist/esm/index.native.js.map +1 -1
  217. package/dist/esm/insertFont.mjs.map +1 -1
  218. package/dist/esm/insertFont.native.js +0 -1
  219. package/dist/esm/insertFont.native.js.map +1 -1
  220. package/dist/esm/opacityModifier.test-d.mjs +37 -0
  221. package/dist/esm/opacityModifier.test-d.mjs.map +1 -0
  222. package/dist/esm/opacityModifier.test-d.native.js +37 -0
  223. package/dist/esm/opacityModifier.test-d.native.js.map +1 -0
  224. package/dist/esm/styledNonStyleProps.test-d.mjs +64 -0
  225. package/dist/esm/styledNonStyleProps.test-d.mjs.map +1 -0
  226. package/dist/esm/styledNonStyleProps.test-d.native.js +64 -0
  227. package/dist/esm/styledNonStyleProps.test-d.native.js.map +1 -0
  228. package/dist/esm/views/GuiProvider.mjs +2 -2
  229. package/dist/esm/views/GuiProvider.mjs.map +1 -1
  230. package/dist/esm/views/GuiProvider.native.js +6 -6
  231. package/dist/esm/views/GuiProvider.native.js.map +1 -1
  232. package/dist/esm/views/Text.mjs +1 -0
  233. package/dist/esm/views/Text.mjs.map +1 -1
  234. package/dist/esm/views/Text.native.js +1 -0
  235. package/dist/esm/views/Text.native.js.map +1 -1
  236. package/dist/esm/views/Theme.mjs +1 -1
  237. package/dist/esm/views/Theme.mjs.map +1 -1
  238. package/dist/esm/views/Theme.native.js +1 -1
  239. package/dist/esm/views/Theme.native.js.map +1 -1
  240. package/dist/esm/views/ThemeProvider.mjs.map +1 -1
  241. package/dist/esm/views/ThemeProvider.native.js +2 -4
  242. package/dist/esm/views/ThemeProvider.native.js.map +1 -1
  243. package/inject-styles/index.cjs +2 -0
  244. package/inject-styles/index.js +2 -0
  245. package/package.json +27 -40
  246. package/src/_withStableStyle.tsx +9 -3
  247. package/src/config.ts +24 -14
  248. package/src/constants/accessibilityDirectMap.tsx +1 -1
  249. package/src/constants/constants.ts +1 -1
  250. package/src/createComponent.tsx +161 -26
  251. package/src/createGui.ts +2 -2
  252. package/src/eventHandling.native.ts +143 -52
  253. package/src/eventHandling.ts +4 -2
  254. package/src/helpers/createDesignSystem.ts +2 -2
  255. package/src/helpers/createMediaStyle.ts +1 -1
  256. package/src/helpers/defaultAnimationDriver.tsx +1 -1
  257. package/src/helpers/expandStyle.ts +108 -40
  258. package/src/helpers/getGroupPropParts.ts +1 -1
  259. package/src/helpers/getSplitStyles.tsx +178 -72
  260. package/src/helpers/getTokenForKey.ts +5 -5
  261. package/src/helpers/getVariantExtras.tsx +5 -4
  262. package/src/helpers/insertStyleRule.tsx +7 -7
  263. package/src/helpers/mainThreadPressEvents.native.ts +42 -2
  264. package/src/helpers/mergeProps.ts +1 -1
  265. package/src/helpers/normalizeStyle.ts +23 -1
  266. package/src/helpers/platformResolveValue.native.ts +4 -1
  267. package/src/helpers/platformResolveValue.ts +5 -1
  268. package/src/helpers/pointerEvents.native.ts +26 -19
  269. package/src/helpers/propMapper.ts +61 -6
  270. package/src/helpers/resolveSafeArea.native.ts +1 -1
  271. package/src/helpers/styleOriginalValues.ts +2 -0
  272. package/src/helpers/styleProvenance.ts +49 -0
  273. package/src/helpers/wrapStyleTags.tsx +63 -20
  274. package/src/hooks/getThemeProxied.ts +14 -8
  275. package/src/hooks/useComponentState.ts +56 -4
  276. package/src/hooks/useMedia.tsx +156 -43
  277. package/src/hooks/useTheme.tsx +28 -6
  278. package/src/hooks/useThemeState.ts +284 -142
  279. package/src/index.ts +9 -1
  280. package/src/interfaces/GuiComponentPropsBaseBase.tsx +2 -2
  281. package/src/opacityModifier.test-d.ts +65 -0
  282. package/src/styled.tsx +1 -1
  283. package/src/styledNonStyleProps.test-d.ts +106 -0
  284. package/src/types.tsx +120 -22
  285. package/src/views/GuiProvider.tsx +2 -2
  286. package/src/views/Text.tsx +1 -0
  287. package/src/views/Theme.tsx +4 -1
  288. package/tsconfig.json +44 -0
  289. package/tsconfig.test.json +9 -0
  290. package/types/_withStableStyle.d.ts.map +1 -1
  291. package/types/config.d.ts +3 -1
  292. package/types/config.d.ts.map +1 -1
  293. package/types/constants/constants.d.ts +1 -1
  294. package/types/constants/constants.d.ts.map +1 -1
  295. package/types/createComponent.d.ts.map +1 -1
  296. package/types/eventHandling.d.ts +2 -2
  297. package/types/eventHandling.d.ts.map +1 -1
  298. package/types/eventHandling.native.d.ts +3 -3
  299. package/types/eventHandling.native.d.ts.map +1 -1
  300. package/types/helpers/expandStyle.d.ts +2 -1
  301. package/types/helpers/expandStyle.d.ts.map +1 -1
  302. package/types/helpers/getSplitStyles.d.ts +4 -2
  303. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  304. package/types/helpers/getVariantExtras.d.ts.map +1 -1
  305. package/types/helpers/mainThreadPressEvents.native.d.ts.map +1 -1
  306. package/types/helpers/normalizeStyle.d.ts.map +1 -1
  307. package/types/helpers/platformResolveValue.d.ts.map +1 -1
  308. package/types/helpers/platformResolveValue.native.d.ts.map +1 -1
  309. package/types/helpers/pointerEvents.native.d.ts.map +1 -1
  310. package/types/helpers/propMapper.d.ts.map +1 -1
  311. package/types/helpers/styleOriginalValues.d.ts +2 -0
  312. package/types/helpers/styleOriginalValues.d.ts.map +1 -0
  313. package/types/helpers/styleProvenance.d.ts +11 -0
  314. package/types/helpers/styleProvenance.d.ts.map +1 -0
  315. package/types/helpers/wrapStyleTags.d.ts +1 -1
  316. package/types/helpers/wrapStyleTags.d.ts.map +1 -1
  317. package/types/hooks/getThemeProxied.d.ts.map +1 -1
  318. package/types/hooks/useComponentState.d.ts +2 -1
  319. package/types/hooks/useComponentState.d.ts.map +1 -1
  320. package/types/hooks/useMedia.d.ts.map +1 -1
  321. package/types/hooks/useTheme.d.ts +1 -1
  322. package/types/hooks/useTheme.d.ts.map +1 -1
  323. package/types/hooks/useThemeState.d.ts +1 -1
  324. package/types/hooks/useThemeState.d.ts.map +1 -1
  325. package/types/index.d.ts +3 -3
  326. package/types/index.d.ts.map +1 -1
  327. package/types/interfaces/GuiComponentPropsBaseBase.d.ts +2 -2
  328. package/types/types.d.ts +33 -16
  329. package/types/types.d.ts.map +1 -1
  330. package/types/views/Configuration.d.ts +1 -1
  331. package/types/views/Configuration.d.ts.map +1 -1
  332. package/types/views/FontLanguage.d.ts +1 -1
  333. package/types/views/FontLanguage.native.d.ts +1 -2
  334. package/types/views/FontLanguage.native.d.ts.map +1 -1
  335. package/types/views/GuiProvider.d.ts +1 -2
  336. package/types/views/GuiProvider.d.ts.map +1 -1
  337. package/types/views/GuiRoot.d.ts +1 -1
  338. package/types/views/GuiRoot.d.ts.map +1 -1
  339. package/types/views/Slot.d.ts +1 -1
  340. package/types/views/Text.d.ts.map +1 -1
  341. package/types/views/Theme.d.ts.map +1 -1
  342. package/types/views/ThemeProvider.d.ts +1 -1
  343. package/types/views/ThemeProvider.d.ts.map +1 -1
  344. package/vitest.config.d.ts +3 -0
  345. package/vitest.config.d.ts.map +1 -0
  346. package/vitest.config.ts +14 -0
  347. package/LICENSE +0 -42
@@ -30,11 +30,10 @@ __export(useThemeState_exports, {
30
30
  useThemeState: () => useThemeState
31
31
  });
32
32
  module.exports = __toCommonJS(useThemeState_exports);
33
- require("@hanzogui/constants");
34
- var import_constants2 = require("@hanzogui/constants");
33
+ var import_constants = require("@hanzogui/constants");
35
34
  var import_react = require("react");
36
35
  var import_config = require("../config.cjs");
37
- var import_constants3 = require("../constants/constants.cjs");
36
+ var import_constants2 = require("../constants/constants.cjs");
38
37
  const ThemeStateContext = (0, import_react.createContext)("");
39
38
  const allListeners = /* @__PURE__ */new Map();
40
39
  const listenersByParent = {};
@@ -57,85 +56,89 @@ let themeNameCacheVer = -1;
57
56
  let themes = null;
58
57
  let rootThemeState = null;
59
58
  const getRootThemeState = () => rootThemeState;
60
- const useThemeState = (props, isRoot = false, keys, schemeKeys) => {
59
+ const incReducer = c => c + 1;
60
+ const useThemeState = (props, isRoot = false, keys, schemeKeys, cascadeOnChange = false) => {
61
61
  "use no memo";
62
62
 
63
63
  const {
64
64
  disable
65
65
  } = props;
66
66
  const parentId = (0, import_react.useContext)(ThemeStateContext);
67
- if (!parentId && !isRoot) throw new Error(process.env.NODE_ENV === "development" ? `${import_constants3.MISSING_THEME_MESSAGE}
67
+ if (!parentId && !isRoot) throw new Error(process.env.NODE_ENV === "development" ? `${import_constants2.MISSING_THEME_MESSAGE}
68
68
 
69
- Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? ` (component: ${props.componentName})` : ""}, but no parent theme context was found (parentId: ${parentId}).` : import_constants3.MISSING_THEME_MESSAGE);
69
+ Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? ` (component: ${props.componentName})` : ""}, but no parent theme context was found (parentId: ${parentId}).` : import_constants2.MISSING_THEME_MESSAGE);
70
70
  if (disable) return states.get(parentId) || {
71
71
  id: "",
72
72
  name: "light",
73
73
  theme: (0, import_config.getConfig)().themes.light
74
74
  };
75
75
  const id = (0, import_react.useId)();
76
- const subscribe = (0, import_react.useCallback)(cb => {
77
- listenersByParent[parentId] = listenersByParent[parentId] || /* @__PURE__ */new Set();
78
- listenersByParent[parentId].add(id);
79
- allListeners.set(id, () => {
80
- PendingUpdate.set(id, shouldForce ? "force" : true);
81
- cb();
82
- });
83
- return () => {
84
- allListeners.delete(id);
85
- listenersByParent[parentId].delete(id);
86
- localStates.delete(id);
87
- states.delete(id);
88
- PendingUpdate.delete(id);
89
- };
90
- }, [id, parentId]);
91
76
  const propsKey = getPropsKey(props);
92
- const getSnapshot = () => {
93
- let local = localStates.get(id);
94
- const parentState = states.get(parentId);
95
- if (local && !PendingUpdate.has(id)) {
96
- if (parentState && local._parentName === parentState.name && local._propsKey === propsKey) return local;
97
- }
98
- const isSchemeOnlyChange = false;
99
- const keysSize = keys?.current?.size ?? 0;
100
- const allKeysSchemeOptimized = (schemeKeys?.current?.size ?? 0) === keysSize && keysSize > 0;
101
- const canSkipForSchemeChange = isSchemeOnlyChange;
102
- const needsUpdate = props.passThrough ? false : isRoot || props.name === "light" || props.name === "dark" || props.name === null ? true : !HasRenderedOnce.get(keys) ? true : keys?.current?.size ? true : props.needsUpdate?.();
103
- const [rerender, next] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));
104
- PendingUpdate.delete(id);
105
- if (!local || rerender) {
106
- local = {
107
- ...next
108
- };
109
- localStates.set(id, local);
110
- }
111
- if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
112
- console.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, ">", next.name);
113
- console.info({
114
- props,
115
- propsKey,
116
- isRoot,
117
- parentId,
118
- local,
119
- next,
120
- needsUpdate,
121
- isSchemeOnlyChange,
122
- allKeysSchemeOptimized,
123
- canSkipForSchemeChange
124
- });
125
- console.groupEnd();
126
- }
127
- if (next !== local) {
128
- Object.assign(local, next);
129
- local.id = id;
130
- }
131
- local._parentName = parentState?.name;
132
- local._propsKey = propsKey;
133
- states.set(id, next);
134
- return local;
135
- };
77
+ const ref = (0, import_react.useRef)(null);
78
+ if (!ref.current) ref.current = {
79
+ id,
80
+ parentId,
81
+ props,
82
+ propsKey,
83
+ isRoot,
84
+ keys,
85
+ schemeKeys,
86
+ renderVersion: 0
87
+ };else {
88
+ ref.current.props = props;
89
+ ref.current.propsKey = propsKey;
90
+ ref.current.isRoot = isRoot;
91
+ ref.current.keys = keys;
92
+ ref.current.schemeKeys = schemeKeys;
93
+ ref.current.parentId = parentId;
94
+ }
95
+ ref.current.renderVersion++;
136
96
  if (process.env.NODE_ENV === "development" && globalThis.time) globalThis.time`theme-prep-uses`;
137
- const state = (0, import_react.useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);
138
- (0, import_constants2.useIsomorphicLayoutEffect)(() => {
97
+ const [, forceUpdate] = (0, import_react.useReducer)(incReducer, 0);
98
+ const state = getSnapshotImpl(ref.current);
99
+ ref.current.lastSnap = state;
100
+ (0, import_react.useEffect)(() => {
101
+ const r = ref.current;
102
+ const renderVersion = r.renderVersion;
103
+ if (r.lastSnap && !states.has(r.id)) {
104
+ states.set(r.id, r.lastSnap);
105
+ localStates.set(r.id, r.lastSnap);
106
+ }
107
+ if (r.unsubscribe && r.subscribedParentId !== r.parentId) cleanupThemeSubscription(r);
108
+ if (shouldSubscribeToTheme(r, cascadeOnChange)) {
109
+ if (!r.unsubscribe) {
110
+ const pid = r.parentId;
111
+ const sid = r.id;
112
+ const cb = () => {
113
+ const next = getSnapshotImpl(r);
114
+ if (next !== r.lastSnap) {
115
+ r.lastSnap = next;
116
+ forceUpdate();
117
+ }
118
+ };
119
+ listenersByParent[pid] = listenersByParent[pid] || /* @__PURE__ */new Set();
120
+ listenersByParent[pid].add(sid);
121
+ allListeners.set(sid, () => {
122
+ PendingUpdate.set(sid, shouldForce ? "force" : true);
123
+ cb();
124
+ });
125
+ r.subscribedParentId = pid;
126
+ r.unsubscribe = () => {
127
+ allListeners.delete(sid);
128
+ listenersByParent[pid]?.delete(sid);
129
+ localStates.delete(sid);
130
+ states.delete(sid);
131
+ PendingUpdate.delete(sid);
132
+ r.unsubscribe = void 0;
133
+ r.subscribedParentId = void 0;
134
+ };
135
+ }
136
+ } else if (r.unsubscribe) cleanupThemeSubscription(r);
137
+ return () => {
138
+ if (r.renderVersion === renderVersion) cleanupThemeState(r);
139
+ };
140
+ });
141
+ if (cascadeOnChange) (0, import_constants.useIsomorphicLayoutEffect)(() => {
139
142
  if (!HasRenderedOnce.get(keys)) {
140
143
  HasRenderedOnce.set(keys, true);
141
144
  return;
@@ -151,6 +154,70 @@ Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? `
151
154
  }, [keys, propsKey]);
152
155
  return state;
153
156
  };
157
+ const shouldSubscribeToTheme = (r, cascadeOnChange) => r.isRoot || cascadeOnChange || hasThemeUpdatingProps(r.props) || !!r.keys.current?.size || !!r.props.needsUpdate?.();
158
+ function cleanupThemeSubscription(r) {
159
+ r.unsubscribe?.();
160
+ }
161
+ function cleanupThemeState(r) {
162
+ if (r.unsubscribe) cleanupThemeSubscription(r);else {
163
+ localStates.delete(r.id);
164
+ states.delete(r.id);
165
+ PendingUpdate.delete(r.id);
166
+ }
167
+ }
168
+ const getSnapshotImpl = r => {
169
+ const {
170
+ id,
171
+ parentId,
172
+ props,
173
+ propsKey,
174
+ isRoot,
175
+ keys,
176
+ schemeKeys
177
+ } = r;
178
+ let local = localStates.get(id);
179
+ const parentState = states.get(parentId);
180
+ if (local && !PendingUpdate.has(id)) {
181
+ if (parentState && local._parentName === parentState.name && local._propsKey === propsKey) return local;
182
+ }
183
+ const isSchemeOnlyChange = false;
184
+ const keysSize = keys?.current?.size ?? 0;
185
+ const allKeysSchemeOptimized = (schemeKeys?.current?.size ?? 0) === keysSize && keysSize > 0;
186
+ const canSkipForSchemeChange = isSchemeOnlyChange;
187
+ const needsUpdate = props.passThrough ? false : isRoot || props.name === "light" || props.name === "dark" || props.name === null ? true : !HasRenderedOnce.get(keys) ? true : keys?.current?.size ? true : props.needsUpdate?.();
188
+ const [rerender, next] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));
189
+ PendingUpdate.delete(id);
190
+ if (!local || rerender) {
191
+ local = {
192
+ ...next
193
+ };
194
+ localStates.set(id, local);
195
+ }
196
+ if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
197
+ console.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, ">", next.name);
198
+ console.info({
199
+ props,
200
+ propsKey,
201
+ isRoot,
202
+ parentId,
203
+ local,
204
+ next,
205
+ needsUpdate,
206
+ isSchemeOnlyChange,
207
+ allKeysSchemeOptimized,
208
+ canSkipForSchemeChange
209
+ });
210
+ console.groupEnd();
211
+ }
212
+ if (next !== local) {
213
+ Object.assign(local, next);
214
+ local.id = id;
215
+ }
216
+ local._parentName = parentState?.name;
217
+ local._propsKey = propsKey;
218
+ states.set(id, next);
219
+ return local;
220
+ };
154
221
  const getNextState = (lastState, props, propsKey, isRoot = false, id, parentId, needsUpdate, pendingUpdate) => {
155
222
  const {
156
223
  debug
@@ -185,17 +252,20 @@ const getNextState = (lastState, props, propsKey, isRoot = false, id, parentId,
185
252
  }];
186
253
  }
187
254
  if (!name) {
188
- const next = lastState ?? parentState;
189
- if (!next) throw new Error(process.env.NODE_ENV === "development" ? `${import_constants3.MISSING_THEME_MESSAGE}
190
-
191
- Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? ` (component: ${props.componentName})` : ""}, but no theme state was resolved (parentId: ${parentId}, id: ${id}).` : import_constants3.MISSING_THEME_MESSAGE);
255
+ const next = lastState ?? parentState ?? rootThemeState ?? {
256
+ id,
257
+ name: "light",
258
+ theme: (0, import_config.getConfig)().themes.light
259
+ };
192
260
  if (shouldRerender) return [true, {
193
- ...(parentState || lastState)
261
+ ...(parentState || lastState || next)
194
262
  }];
195
263
  return [false, next];
196
264
  }
197
265
  const scheme = getScheme(name);
266
+ const parentInverses = parentState?.inverses ?? 0;
198
267
  const isInverse = parentState && scheme !== parentState.scheme;
268
+ const inverses = parentInverses + (isInverse ? 1 : 0);
199
269
  const nextState = {
200
270
  id,
201
271
  name,
@@ -203,6 +273,7 @@ Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? `
203
273
  scheme,
204
274
  parentId,
205
275
  parentName: parentState?.name,
276
+ inverses,
206
277
  isInverse,
207
278
  isNew: true
208
279
  };
@@ -33,10 +33,9 @@ __export(useThemeState_exports, {
33
33
  });
34
34
  module.exports = __toCommonJS(useThemeState_exports);
35
35
  var import_constants = require("@hanzogui/constants");
36
- var import_constants2 = require("@hanzogui/constants");
37
36
  var import_react = require("react");
38
37
  var import_config = require("../config.native.js");
39
- var import_constants3 = require("../constants/constants.native.js");
38
+ var import_constants2 = require("../constants/constants.native.js");
40
39
  var ThemeStateContext = (0, import_react.createContext)("");
41
40
  var allListeners = /* @__PURE__ */new Map();
42
41
  var listenersByParent = {};
@@ -68,91 +67,96 @@ var getRootThemeState = function () {
68
67
  var getThemeBaseName = function (name) {
69
68
  return name.replace(/^(light|dark)_/, "");
70
69
  };
70
+ var incReducer = function (c) {
71
+ return c + 1;
72
+ };
71
73
  var useThemeState = function (props) {
72
74
  "use no memo";
73
75
 
74
76
  var isRoot = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false,
75
77
  keys = arguments.length > 2 ? arguments[2] : void 0,
76
- schemeKeys = arguments.length > 3 ? arguments[3] : void 0;
78
+ schemeKeys = arguments.length > 3 ? arguments[3] : void 0,
79
+ cascadeOnChange = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : false;
77
80
  var {
78
81
  disable
79
82
  } = props;
80
83
  var parentId = (0, import_react.useContext)(ThemeStateContext);
81
- if (!parentId && !isRoot) throw new Error(process.env.NODE_ENV === "development" ? `${import_constants3.MISSING_THEME_MESSAGE}
84
+ if (!parentId && !isRoot) throw new Error(process.env.NODE_ENV === "development" ? `${import_constants2.MISSING_THEME_MESSAGE}
82
85
 
83
- Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? ` (component: ${props.componentName})` : ""}, but no parent theme context was found (parentId: ${parentId}).` : import_constants3.MISSING_THEME_MESSAGE);
86
+ Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? ` (component: ${props.componentName})` : ""}, but no parent theme context was found (parentId: ${parentId}).` : import_constants2.MISSING_THEME_MESSAGE);
84
87
  if (disable) return states.get(parentId) || {
85
88
  id: "",
86
89
  name: "light",
87
90
  theme: (0, import_config.getConfig)().themes.light
88
91
  };
89
92
  var id = (0, import_react.useId)();
90
- var subscribe = (0, import_react.useCallback)(function (cb) {
91
- listenersByParent[parentId] = listenersByParent[parentId] || /* @__PURE__ */new Set();
92
- listenersByParent[parentId].add(id);
93
- allListeners.set(id, function () {
94
- PendingUpdate.set(id, shouldForce ? "force" : true);
95
- cb();
96
- });
97
- return function () {
98
- allListeners.delete(id);
99
- listenersByParent[parentId].delete(id);
100
- localStates.delete(id);
101
- states.delete(id);
102
- PendingUpdate.delete(id);
103
- };
104
- }, [id, parentId]);
105
93
  var propsKey = getPropsKey(props);
106
- var getSnapshot = function () {
107
- var _keys_current, _schemeKeys_current, _keys_current1, _props_needsUpdate;
108
- var local = localStates.get(id);
109
- var parentState = states.get(parentId);
110
- if (local && !PendingUpdate.has(id)) {
111
- if (parentState && local._parentName === parentState.name && local._propsKey === propsKey) return local;
112
- }
113
- var isSchemeOnlyChange = import_constants.isIos && (0, import_config.getSetting)("fastSchemeChange") && local && parentState && local.scheme !== parentState.scheme && getThemeBaseName(local.name) === getThemeBaseName(parentState.name);
114
- var _keys_current_size;
115
- var keysSize = (_keys_current_size = keys === null || keys === void 0 ? void 0 : (_keys_current = keys.current) === null || _keys_current === void 0 ? void 0 : _keys_current.size) !== null && _keys_current_size !== void 0 ? _keys_current_size : 0;
116
- var _schemeKeys_current_size;
117
- var allKeysSchemeOptimized = ((_schemeKeys_current_size = schemeKeys === null || schemeKeys === void 0 ? void 0 : (_schemeKeys_current = schemeKeys.current) === null || _schemeKeys_current === void 0 ? void 0 : _schemeKeys_current.size) !== null && _schemeKeys_current_size !== void 0 ? _schemeKeys_current_size : 0) === keysSize && keysSize > 0;
118
- var canSkipForSchemeChange = isSchemeOnlyChange && allKeysSchemeOptimized;
119
- var needsUpdate = props.passThrough ? false : isRoot || props.name === "light" || props.name === "dark" || props.name === null ? true : !HasRenderedOnce.get(keys) ? true : canSkipForSchemeChange ? false : (keys === null || keys === void 0 ? void 0 : (_keys_current1 = keys.current) === null || _keys_current1 === void 0 ? void 0 : _keys_current1.size) ? true : (_props_needsUpdate = props.needsUpdate) === null || _props_needsUpdate === void 0 ? void 0 : _props_needsUpdate.call(props);
120
- var [rerender, next] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));
121
- PendingUpdate.delete(id);
122
- if (!local || rerender) {
123
- local = {
124
- ...next
125
- };
126
- localStates.set(id, local);
127
- }
128
- if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
129
- console.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, ">", next.name);
130
- console.info({
131
- props,
132
- propsKey,
133
- isRoot,
134
- parentId,
135
- local,
136
- next,
137
- needsUpdate,
138
- isSchemeOnlyChange,
139
- allKeysSchemeOptimized,
140
- canSkipForSchemeChange
141
- });
142
- console.groupEnd();
143
- }
144
- if (next !== local) {
145
- Object.assign(local, next);
146
- local.id = id;
147
- }
148
- local._parentName = parentState === null || parentState === void 0 ? void 0 : parentState.name;
149
- local._propsKey = propsKey;
150
- states.set(id, next);
151
- return local;
152
- };
94
+ var ref = (0, import_react.useRef)(null);
95
+ if (!ref.current) ref.current = {
96
+ id,
97
+ parentId,
98
+ props,
99
+ propsKey,
100
+ isRoot,
101
+ keys,
102
+ schemeKeys,
103
+ renderVersion: 0
104
+ };else {
105
+ ref.current.props = props;
106
+ ref.current.propsKey = propsKey;
107
+ ref.current.isRoot = isRoot;
108
+ ref.current.keys = keys;
109
+ ref.current.schemeKeys = schemeKeys;
110
+ ref.current.parentId = parentId;
111
+ }
112
+ ref.current.renderVersion++;
153
113
  if (process.env.NODE_ENV === "development" && globalThis.time) globalThis.time`theme-prep-uses`;
154
- var state = (0, import_react.useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);
155
- (0, import_constants2.useIsomorphicLayoutEffect)(function () {
114
+ var [, forceUpdate] = (0, import_react.useReducer)(incReducer, 0);
115
+ var state = getSnapshotImpl(ref.current);
116
+ ref.current.lastSnap = state;
117
+ (0, import_react.useEffect)(function () {
118
+ var r = ref.current;
119
+ var renderVersion = r.renderVersion;
120
+ if (r.lastSnap && !states.has(r.id)) {
121
+ states.set(r.id, r.lastSnap);
122
+ localStates.set(r.id, r.lastSnap);
123
+ }
124
+ if (r.unsubscribe && r.subscribedParentId !== r.parentId) cleanupThemeSubscription(r);
125
+ if (shouldSubscribeToTheme(r, cascadeOnChange)) {
126
+ if (!r.unsubscribe) {
127
+ var pid = r.parentId;
128
+ var sid = r.id;
129
+ var cb = function () {
130
+ var next = getSnapshotImpl(r);
131
+ if (next !== r.lastSnap) {
132
+ r.lastSnap = next;
133
+ forceUpdate();
134
+ }
135
+ };
136
+ listenersByParent[pid] = listenersByParent[pid] || /* @__PURE__ */new Set();
137
+ listenersByParent[pid].add(sid);
138
+ allListeners.set(sid, function () {
139
+ PendingUpdate.set(sid, shouldForce ? "force" : true);
140
+ cb();
141
+ });
142
+ r.subscribedParentId = pid;
143
+ r.unsubscribe = function () {
144
+ var _listenersByParent_pid;
145
+ allListeners.delete(sid);
146
+ (_listenersByParent_pid = listenersByParent[pid]) === null || _listenersByParent_pid === void 0 || _listenersByParent_pid.delete(sid);
147
+ localStates.delete(sid);
148
+ states.delete(sid);
149
+ PendingUpdate.delete(sid);
150
+ r.unsubscribe = void 0;
151
+ r.subscribedParentId = void 0;
152
+ };
153
+ }
154
+ } else if (r.unsubscribe) cleanupThemeSubscription(r);
155
+ return function () {
156
+ if (r.renderVersion === renderVersion) cleanupThemeState(r);
157
+ };
158
+ });
159
+ if (cascadeOnChange) (0, import_constants.useIsomorphicLayoutEffect)(function () {
156
160
  if (!HasRenderedOnce.get(keys)) {
157
161
  HasRenderedOnce.set(keys, true);
158
162
  return;
@@ -171,6 +175,77 @@ Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? `
171
175
  }, [keys, propsKey]);
172
176
  return state;
173
177
  };
178
+ var shouldSubscribeToTheme = function (r, cascadeOnChange) {
179
+ var _r_keys_current, _r_props_needsUpdate, _r_props;
180
+ return r.isRoot || cascadeOnChange || hasThemeUpdatingProps(r.props) || !!((_r_keys_current = r.keys.current) === null || _r_keys_current === void 0 ? void 0 : _r_keys_current.size) || !!((_r_props_needsUpdate = (_r_props = r.props).needsUpdate) === null || _r_props_needsUpdate === void 0 ? void 0 : _r_props_needsUpdate.call(_r_props));
181
+ };
182
+ function cleanupThemeSubscription(r) {
183
+ var _r_unsubscribe;
184
+ (_r_unsubscribe = r.unsubscribe) === null || _r_unsubscribe === void 0 || _r_unsubscribe.call(r);
185
+ }
186
+ function cleanupThemeState(r) {
187
+ if (r.unsubscribe) cleanupThemeSubscription(r);else {
188
+ localStates.delete(r.id);
189
+ states.delete(r.id);
190
+ PendingUpdate.delete(r.id);
191
+ }
192
+ }
193
+ var getSnapshotImpl = function (r) {
194
+ var _keys_current, _schemeKeys_current, _keys_current1, _props_needsUpdate;
195
+ var {
196
+ id,
197
+ parentId,
198
+ props,
199
+ propsKey,
200
+ isRoot,
201
+ keys,
202
+ schemeKeys
203
+ } = r;
204
+ var local = localStates.get(id);
205
+ var parentState = states.get(parentId);
206
+ if (local && !PendingUpdate.has(id)) {
207
+ if (parentState && local._parentName === parentState.name && local._propsKey === propsKey) return local;
208
+ }
209
+ var isSchemeOnlyChange = import_constants.supportsDynamicColorIOS && (0, import_config.getSetting)("fastSchemeChange") && local && parentState && local.scheme !== parentState.scheme && getThemeBaseName(local.name) === getThemeBaseName(parentState.name);
210
+ var _keys_current_size;
211
+ var keysSize = (_keys_current_size = keys === null || keys === void 0 ? void 0 : (_keys_current = keys.current) === null || _keys_current === void 0 ? void 0 : _keys_current.size) !== null && _keys_current_size !== void 0 ? _keys_current_size : 0;
212
+ var _schemeKeys_current_size;
213
+ var allKeysSchemeOptimized = ((_schemeKeys_current_size = schemeKeys === null || schemeKeys === void 0 ? void 0 : (_schemeKeys_current = schemeKeys.current) === null || _schemeKeys_current === void 0 ? void 0 : _schemeKeys_current.size) !== null && _schemeKeys_current_size !== void 0 ? _schemeKeys_current_size : 0) === keysSize && keysSize > 0;
214
+ var canSkipForSchemeChange = isSchemeOnlyChange && allKeysSchemeOptimized;
215
+ var needsUpdate = props.passThrough ? false : isRoot || props.name === "light" || props.name === "dark" || props.name === null ? true : !HasRenderedOnce.get(keys) ? true : canSkipForSchemeChange ? false : (keys === null || keys === void 0 ? void 0 : (_keys_current1 = keys.current) === null || _keys_current1 === void 0 ? void 0 : _keys_current1.size) ? true : (_props_needsUpdate = props.needsUpdate) === null || _props_needsUpdate === void 0 ? void 0 : _props_needsUpdate.call(props);
216
+ var [rerender, next] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));
217
+ PendingUpdate.delete(id);
218
+ if (!local || rerender) {
219
+ local = {
220
+ ...next
221
+ };
222
+ localStates.set(id, local);
223
+ }
224
+ if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
225
+ console.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, ">", next.name);
226
+ console.info({
227
+ props,
228
+ propsKey,
229
+ isRoot,
230
+ parentId,
231
+ local,
232
+ next,
233
+ needsUpdate,
234
+ isSchemeOnlyChange,
235
+ allKeysSchemeOptimized,
236
+ canSkipForSchemeChange
237
+ });
238
+ console.groupEnd();
239
+ }
240
+ if (next !== local) {
241
+ Object.assign(local, next);
242
+ local.id = id;
243
+ }
244
+ local._parentName = parentState === null || parentState === void 0 ? void 0 : parentState.name;
245
+ local._propsKey = propsKey;
246
+ states.set(id, next);
247
+ return local;
248
+ };
174
249
  var getNextState = function (lastState, props, propsKey) {
175
250
  var isRoot = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false,
176
251
  id = arguments.length > 4 ? arguments[4] : void 0,
@@ -200,17 +275,22 @@ var getNextState = function (lastState, props, propsKey) {
200
275
  }];
201
276
  }
202
277
  if (!name) {
203
- var next = lastState !== null && lastState !== void 0 ? lastState : parentState;
204
- if (!next) throw new Error(process.env.NODE_ENV === "development" ? `${import_constants3.MISSING_THEME_MESSAGE}
205
-
206
- Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? ` (component: ${props.componentName})` : ""}, but no theme state was resolved (parentId: ${parentId}, id: ${id}).` : import_constants3.MISSING_THEME_MESSAGE);
278
+ var _ref, _ref1;
279
+ var next = (_ref1 = (_ref = lastState !== null && lastState !== void 0 ? lastState : parentState) !== null && _ref !== void 0 ? _ref : rootThemeState) !== null && _ref1 !== void 0 ? _ref1 : {
280
+ id,
281
+ name: "light",
282
+ theme: (0, import_config.getConfig)().themes.light
283
+ };
207
284
  if (shouldRerender) return [true, {
208
- ...(parentState || lastState)
285
+ ...(parentState || lastState || next)
209
286
  }];
210
287
  return [false, next];
211
288
  }
212
289
  var scheme = getScheme(name);
290
+ var _parentState_inverses;
291
+ var parentInverses = (_parentState_inverses = parentState === null || parentState === void 0 ? void 0 : parentState.inverses) !== null && _parentState_inverses !== void 0 ? _parentState_inverses : 0;
213
292
  var isInverse = parentState && scheme !== parentState.scheme;
293
+ var inverses = parentInverses + (isInverse ? 1 : 0);
214
294
  var nextState = {
215
295
  id,
216
296
  name,
@@ -218,6 +298,7 @@ Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? `
218
298
  scheme,
219
299
  parentId,
220
300
  parentName: parentState === null || parentState === void 0 ? void 0 : parentState.name,
301
+ inverses,
221
302
  isInverse,
222
303
  isNew: true
223
304
  };
@@ -1 +1 @@
1
- {"version":3,"names":["to","__toCommonJS","mod","__copyProps","__defProp","value","useThemeState_exports","__export","ThemeStateContext","forceUpdateThemes","getRootThemeState","getThemeState","hasThemeUpdatingProps","useThemeState","import_constants","module","exports","require","import_constants2","import_react","import_config","import_constants3","createContext","allListeners","Map","listenersByParent","HasRenderedOnce","WeakMap","HadTheme","PendingUpdate","states","localStates","shouldForce","cacheVersion","forEach","cb","id","get","themeNameCache","themeNameCacheVer","themes","rootThemeState","getThemeBaseName","name","replace","props","isRoot","arguments","length","keys","schemeKeys","disable","parentId","useContext","Error","process","env","NODE_ENV","MISSING_THEME_MESSAGE","componentName","theme","getConfig","light","useId","subscribe","useCallback","Set","add","set","delete","propsKey","getPropsKey","getSnapshot","_keys_current","_schemeKeys_current","_keys_current1","_props_needsUpdate","local","parentState","has","_parentName","_propsKey","isSchemeOnlyChange","isIos","getSetting","scheme","_keys_current_size","keysSize","current","size","_schemeKeys_current_size","allKeysSchemeOptimized","canSkipForSchemeChange","needsUpdate","passThrough","call","rerender","next","getNextState","debug","console","groupCollapsed","info","groupEnd","Object","assign","globalThis","time","state","useSyncExternalStore","useIsomorphicLayoutEffect","scheduleUpdate","_states_get","warn","lastState","pendingUpdate","isNew","getNewThemeName","isSameAsParent","shouldRerender","Boolean","message","getScheme","isInverse","nextState","parentName","shouldAvoidRerender","queue","visited","children","shift","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","childId","push","err","return","childId2","validSchemes","dark","split","forceUpdate","reset","unstyled","cacheKey","clear","cached","themes2","result","lastPartIndex","lastIndexOf","name1","slice","result1","parentParts","lastName","toLowerCase","pop","subNames","filter","found","nameHasScheme","subName","potentialBases","i","join","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","outer","_iterator1","_step1","base","candidates","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","potential","potential1","max","i1","base1","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","subName1","potential2"],"sources":["../../../src/hooks/useThemeState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["to","__toCommonJS","mod","__copyProps","__defProp","value","useThemeState_exports","__export","ThemeStateContext","forceUpdateThemes","getRootThemeState","getThemeState","hasThemeUpdatingProps","useThemeState","module","exports","import_constants","require","import_react","import_config","import_constants2","createContext","allListeners","Map","listenersByParent","HasRenderedOnce","WeakMap","HadTheme","PendingUpdate","states","localStates","shouldForce","cacheVersion","forEach","cb","id","get","themeNameCache","themeNameCacheVer","themes","rootThemeState","getThemeBaseName","name","replace","incReducer","c","props","isRoot","arguments","length","keys","schemeKeys","cascadeOnChange","disable","parentId","useContext","Error","process","env","NODE_ENV","MISSING_THEME_MESSAGE","componentName","theme","getConfig","light","useId","propsKey","getPropsKey","ref","useRef","current","renderVersion","globalThis","time","forceUpdate","useReducer","state","getSnapshotImpl","lastSnap","useEffect","r","has","set","unsubscribe","subscribedParentId","cleanupThemeSubscription","shouldSubscribeToTheme","pid","sid","next","Set","add","_listenersByParent_pid","delete","cleanupThemeState","useIsomorphicLayoutEffect","scheduleUpdate","debug","_states_get","console","warn","_r_keys_current","_r_props_needsUpdate","_r_props","size","needsUpdate","call","_r_unsubscribe","_keys_current","_schemeKeys_current","_keys_current1","_props_needsUpdate","local","parentState","_parentName","_propsKey","isSchemeOnlyChange","supportsDynamicColorIOS","getSetting","scheme","_keys_current_size","keysSize","_schemeKeys_current_size","allKeysSchemeOptimized","canSkipForSchemeChange","passThrough","rerender","getNextState","groupCollapsed","info","groupEnd","Object","assign","lastState","pendingUpdate","isNew","getNewThemeName","isSameAsParent","shouldRerender","Boolean","message","_ref","_ref1","getScheme","_parentState_inverses","parentInverses","inverses","isInverse","nextState","parentName","shouldAvoidRerender","queue","visited","children","shift","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","childId","push","err","return","childId2","validSchemes","dark","split","reset","unstyled","cacheKey","clear","cached","themes2","result","lastPartIndex","lastIndexOf","name1","slice","result1","parentParts","lastName","toLowerCase","pop","subNames","filter","found","nameHasScheme","subName","potentialBases","i","join","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","outer","_iterator1","_step1","base","candidates","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","potential","potential1","max","i1","base1","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","subName1","potential2"],"sources":["../../../src/hooks/useThemeState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}