@tamagui/web 3.0.0-beta.669.1 → 3.0.0-beta.728.1

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 (841) hide show
  1. package/dist/cjs/Tamagui.cjs +0 -1
  2. package/dist/cjs/Tamagui.native.cjs +0 -1
  3. package/dist/cjs/Tamagui.native.js +0 -1
  4. package/dist/cjs/Tamagui.native.js.map +1 -1
  5. package/dist/cjs/_withNativeStyle.cjs +0 -1
  6. package/dist/cjs/_withNativeStyle.native.cjs +0 -1
  7. package/dist/cjs/_withNativeStyle.native.js +0 -1
  8. package/dist/cjs/_withNativeStyle.native.js.map +1 -1
  9. package/dist/cjs/_withStableStyle.cjs +0 -1
  10. package/dist/cjs/_withStableStyle.native.cjs +0 -1
  11. package/dist/cjs/_withStableStyle.native.js +0 -1
  12. package/dist/cjs/_withStableStyle.native.js.map +1 -1
  13. package/dist/cjs/config.cjs +7 -1
  14. package/dist/cjs/config.native.cjs +7 -1
  15. package/dist/cjs/config.native.js +7 -1
  16. package/dist/cjs/config.native.js.map +1 -1
  17. package/dist/cjs/constants/accessibilityDirectMap.cjs +0 -1
  18. package/dist/cjs/constants/accessibilityDirectMap.native.cjs +0 -1
  19. package/dist/cjs/constants/accessibilityDirectMap.native.js +0 -1
  20. package/dist/cjs/constants/accessibilityDirectMap.native.js.map +1 -1
  21. package/dist/cjs/constants/constants.cjs +0 -1
  22. package/dist/cjs/constants/constants.native.cjs +0 -1
  23. package/dist/cjs/constants/constants.native.js +0 -1
  24. package/dist/cjs/constants/constants.native.js.map +1 -1
  25. package/dist/cjs/constants/isDevTools.cjs +0 -1
  26. package/dist/cjs/constants/isDevTools.native.cjs +0 -1
  27. package/dist/cjs/constants/isDevTools.native.js +0 -1
  28. package/dist/cjs/constants/isDevTools.native.js.map +1 -1
  29. package/dist/cjs/contexts/ComponentContext.cjs +0 -1
  30. package/dist/cjs/contexts/ComponentContext.native.cjs +0 -1
  31. package/dist/cjs/contexts/ComponentContext.native.js +0 -1
  32. package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
  33. package/dist/cjs/contexts/GroupContext.cjs +0 -1
  34. package/dist/cjs/contexts/GroupContext.native.cjs +0 -1
  35. package/dist/cjs/contexts/GroupContext.native.js +0 -1
  36. package/dist/cjs/contexts/GroupContext.native.js.map +1 -1
  37. package/dist/cjs/createComponent.cjs +1 -2
  38. package/dist/cjs/createComponent.native.cjs +1 -2
  39. package/dist/cjs/createComponent.native.js +1 -2
  40. package/dist/cjs/createComponent.native.js.map +1 -1
  41. package/dist/cjs/createFont.cjs +0 -1
  42. package/dist/cjs/createFont.native.cjs +0 -1
  43. package/dist/cjs/createFont.native.js +0 -1
  44. package/dist/cjs/createFont.native.js.map +1 -1
  45. package/dist/cjs/createShorthands.cjs +0 -1
  46. package/dist/cjs/createShorthands.native.cjs +0 -1
  47. package/dist/cjs/createShorthands.native.js +0 -1
  48. package/dist/cjs/createShorthands.native.js.map +1 -1
  49. package/dist/cjs/createStyledHOC.cjs +0 -1
  50. package/dist/cjs/createStyledHOC.native.cjs +0 -1
  51. package/dist/cjs/createStyledHOC.native.js +0 -1
  52. package/dist/cjs/createStyledHOC.native.js.map +1 -1
  53. package/dist/cjs/createTamagui.cjs +3 -4
  54. package/dist/cjs/createTamagui.native.cjs +3 -4
  55. package/dist/cjs/createTamagui.native.js +3 -4
  56. package/dist/cjs/createTamagui.native.js.map +1 -1
  57. package/dist/cjs/createTokens.cjs +0 -1
  58. package/dist/cjs/createTokens.native.cjs +0 -1
  59. package/dist/cjs/createTokens.native.js +0 -1
  60. package/dist/cjs/createTokens.native.js.map +1 -1
  61. package/dist/cjs/createVariable.cjs +0 -1
  62. package/dist/cjs/createVariable.native.cjs +0 -1
  63. package/dist/cjs/createVariable.native.js +0 -1
  64. package/dist/cjs/createVariable.native.js.map +1 -1
  65. package/dist/cjs/createVariables.cjs +0 -1
  66. package/dist/cjs/createVariables.native.cjs +0 -1
  67. package/dist/cjs/createVariables.native.js +0 -1
  68. package/dist/cjs/createVariables.native.js.map +1 -1
  69. package/dist/cjs/defaultComponentState.cjs +0 -1
  70. package/dist/cjs/defaultComponentState.native.cjs +0 -1
  71. package/dist/cjs/defaultComponentState.native.js +0 -1
  72. package/dist/cjs/defaultComponentState.native.js.map +1 -1
  73. package/dist/cjs/dom/adapters.cjs +0 -1
  74. package/dist/cjs/dom/adapters.native.cjs +0 -1
  75. package/dist/cjs/dom/adapters.native.js +0 -1
  76. package/dist/cjs/dom/adapters.native.js.map +1 -1
  77. package/dist/cjs/dom/contract.cjs +0 -1
  78. package/dist/cjs/dom/contract.native.cjs +0 -1
  79. package/dist/cjs/dom/contract.native.js +0 -1
  80. package/dist/cjs/dom/contract.native.js.map +1 -1
  81. package/dist/cjs/dom/domEventProps.native.cjs +0 -1
  82. package/dist/cjs/dom/domEventProps.native.js +0 -1
  83. package/dist/cjs/dom/domEventProps.native.js.map +1 -1
  84. package/dist/cjs/dom/html.cjs +0 -1
  85. package/dist/cjs/dom/html.native.cjs +0 -1
  86. package/dist/cjs/dom/html.native.js +0 -1
  87. package/dist/cjs/dom/html.native.js.map +1 -1
  88. package/dist/cjs/dom/htmlRuntime.native.cjs +0 -1
  89. package/dist/cjs/dom/htmlRuntime.native.js +0 -1
  90. package/dist/cjs/dom/htmlRuntime.native.js.map +1 -1
  91. package/dist/cjs/dom/index.cjs +0 -1
  92. package/dist/cjs/dom/index.native.cjs +0 -1
  93. package/dist/cjs/dom/index.native.js +0 -1
  94. package/dist/cjs/dom/index.native.js.map +1 -1
  95. package/dist/cjs/dom/primitives.native.cjs +2 -3
  96. package/dist/cjs/dom/primitives.native.js +2 -3
  97. package/dist/cjs/dom/primitives.native.js.map +1 -1
  98. package/dist/cjs/dom/standalone.cjs +0 -1
  99. package/dist/cjs/dom/standalone.native.cjs +0 -1
  100. package/dist/cjs/dom/standalone.native.js +0 -1
  101. package/dist/cjs/dom/standalone.native.js.map +1 -1
  102. package/dist/cjs/dom/standaloneHtml.cjs +0 -1
  103. package/dist/cjs/dom/standaloneHtml.native.cjs +0 -1
  104. package/dist/cjs/dom/standaloneHtml.native.js +0 -1
  105. package/dist/cjs/dom/standaloneHtml.native.js.map +1 -1
  106. package/dist/cjs/dom/styleTypes.cjs +0 -1
  107. package/dist/cjs/dom/styleTypes.native.cjs +0 -1
  108. package/dist/cjs/dom/styleTypes.native.js +0 -1
  109. package/dist/cjs/dom/styleTypes.native.js.map +1 -1
  110. package/dist/cjs/eventDetails.cjs +0 -1
  111. package/dist/cjs/eventDetails.native.cjs +0 -1
  112. package/dist/cjs/eventDetails.native.js +0 -1
  113. package/dist/cjs/eventDetails.native.js.map +1 -1
  114. package/dist/cjs/eventHandling.cjs +0 -1
  115. package/dist/cjs/eventHandling.native.cjs +0 -1
  116. package/dist/cjs/eventHandling.native.js +0 -1
  117. package/dist/cjs/eventHandling.native.js.map +1 -1
  118. package/dist/cjs/helpers/componentDisplayName.cjs +0 -1
  119. package/dist/cjs/helpers/componentDisplayName.native.cjs +0 -1
  120. package/dist/cjs/helpers/componentDisplayName.native.js +0 -1
  121. package/dist/cjs/helpers/componentDisplayName.native.js.map +1 -1
  122. package/dist/cjs/helpers/configVariables.cjs +79 -0
  123. package/dist/cjs/helpers/configVariables.native.cjs +86 -0
  124. package/dist/cjs/helpers/configVariables.native.js +88 -0
  125. package/dist/cjs/helpers/configVariables.native.js.map +1 -0
  126. package/dist/cjs/helpers/consoleLog.native.cjs +0 -1
  127. package/dist/cjs/helpers/consoleLog.native.js +0 -1
  128. package/dist/cjs/helpers/consoleLog.native.js.map +1 -1
  129. package/dist/cjs/helpers/createDesignSystem.cjs +0 -1
  130. package/dist/cjs/helpers/createDesignSystem.native.cjs +0 -1
  131. package/dist/cjs/helpers/createDesignSystem.native.js +0 -1
  132. package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
  133. package/dist/cjs/helpers/createStyledContext.cjs +0 -1
  134. package/dist/cjs/helpers/createStyledContext.native.cjs +0 -1
  135. package/dist/cjs/helpers/createStyledContext.native.js +0 -1
  136. package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
  137. package/dist/cjs/helpers/defaultAnimationDriver.cjs +1 -6
  138. package/dist/cjs/helpers/defaultAnimationDriver.native.cjs +0 -13
  139. package/dist/cjs/helpers/defaultAnimationDriver.native.js +0 -13
  140. package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
  141. package/dist/cjs/helpers/defaultOffset.cjs +0 -1
  142. package/dist/cjs/helpers/defaultOffset.native.cjs +0 -1
  143. package/dist/cjs/helpers/defaultOffset.native.js +0 -1
  144. package/dist/cjs/helpers/defaultOffset.native.js.map +1 -1
  145. package/dist/cjs/helpers/directStyle.cjs +258 -284
  146. package/dist/cjs/helpers/directStyle.native.cjs +274 -306
  147. package/dist/cjs/helpers/directStyle.native.js +274 -306
  148. package/dist/cjs/helpers/directStyle.native.js.map +1 -1
  149. package/dist/cjs/helpers/expandStyle.cjs +0 -1
  150. package/dist/cjs/helpers/expandStyle.native.cjs +0 -1
  151. package/dist/cjs/helpers/expandStyle.native.js +0 -1
  152. package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
  153. package/dist/cjs/helpers/expandStyles.cjs +0 -1
  154. package/dist/cjs/helpers/expandStyles.native.cjs +0 -1
  155. package/dist/cjs/helpers/expandStyles.native.js +0 -1
  156. package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
  157. package/dist/cjs/helpers/extractPseudoState.cjs +0 -1
  158. package/dist/cjs/helpers/extractPseudoState.native.cjs +0 -1
  159. package/dist/cjs/helpers/extractPseudoState.native.js +0 -1
  160. package/dist/cjs/helpers/extractPseudoState.native.js.map +1 -1
  161. package/dist/cjs/helpers/formatDiagnostic.cjs +0 -1
  162. package/dist/cjs/helpers/formatDiagnostic.native.cjs +0 -1
  163. package/dist/cjs/helpers/formatDiagnostic.native.js +0 -1
  164. package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -1
  165. package/dist/cjs/helpers/frontendProgram.cjs +0 -1
  166. package/dist/cjs/helpers/frontendProgram.native.cjs +0 -1
  167. package/dist/cjs/helpers/frontendProgram.native.js +0 -1
  168. package/dist/cjs/helpers/frontendProgram.native.js.map +1 -1
  169. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +5 -2
  170. package/dist/cjs/helpers/getCSSStylesAtomic.native.cjs +0 -1
  171. package/dist/cjs/helpers/getCSSStylesAtomic.native.js +0 -1
  172. package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -1
  173. package/dist/cjs/helpers/getDefaultProps.cjs +0 -1
  174. package/dist/cjs/helpers/getDefaultProps.native.cjs +0 -1
  175. package/dist/cjs/helpers/getDefaultProps.native.js +0 -1
  176. package/dist/cjs/helpers/getDefaultProps.native.js.map +1 -1
  177. package/dist/cjs/helpers/getDynamicVal.cjs +0 -1
  178. package/dist/cjs/helpers/getDynamicVal.native.cjs +0 -1
  179. package/dist/cjs/helpers/getDynamicVal.native.js +0 -1
  180. package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
  181. package/dist/cjs/helpers/getExpandedShorthands.cjs +0 -1
  182. package/dist/cjs/helpers/getExpandedShorthands.native.cjs +0 -1
  183. package/dist/cjs/helpers/getExpandedShorthands.native.js +0 -1
  184. package/dist/cjs/helpers/getExpandedShorthands.native.js.map +1 -1
  185. package/dist/cjs/helpers/getFontLanguage.cjs +0 -1
  186. package/dist/cjs/helpers/getFontLanguage.native.cjs +0 -1
  187. package/dist/cjs/helpers/getFontLanguage.native.js +0 -1
  188. package/dist/cjs/helpers/getFontLanguage.native.js.map +1 -1
  189. package/dist/cjs/helpers/getShorthandValue.cjs +0 -1
  190. package/dist/cjs/helpers/getShorthandValue.native.cjs +0 -1
  191. package/dist/cjs/helpers/getShorthandValue.native.js +0 -1
  192. package/dist/cjs/helpers/getShorthandValue.native.js.map +1 -1
  193. package/dist/cjs/helpers/getSplitStyles.cjs +2 -10
  194. package/dist/cjs/helpers/getSplitStyles.native.cjs +2 -10
  195. package/dist/cjs/helpers/getSplitStyles.native.js +2 -10
  196. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  197. package/dist/cjs/helpers/getThemeCSSRules.cjs +0 -1
  198. package/dist/cjs/helpers/getThemeCSSRules.native.cjs +0 -1
  199. package/dist/cjs/helpers/getThemeCSSRules.native.js +0 -1
  200. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +1 -1
  201. package/dist/cjs/helpers/getVariantExtras.cjs +0 -1
  202. package/dist/cjs/helpers/getVariantExtras.native.cjs +0 -1
  203. package/dist/cjs/helpers/getVariantExtras.native.js +0 -1
  204. package/dist/cjs/helpers/getVariantExtras.native.js.map +1 -1
  205. package/dist/cjs/helpers/grammarConfig.cjs +63 -14
  206. package/dist/cjs/helpers/grammarConfig.native.cjs +84 -18
  207. package/dist/cjs/helpers/grammarConfig.native.js +84 -18
  208. package/dist/cjs/helpers/grammarConfig.native.js.map +1 -1
  209. package/dist/cjs/helpers/insertStyleRule.cjs +0 -1
  210. package/dist/cjs/helpers/insertStyleRule.native.cjs +0 -1
  211. package/dist/cjs/helpers/insertStyleRule.native.js +0 -1
  212. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  213. package/dist/cjs/helpers/isObj.cjs +0 -1
  214. package/dist/cjs/helpers/isObj.native.cjs +0 -1
  215. package/dist/cjs/helpers/isObj.native.js +0 -1
  216. package/dist/cjs/helpers/isObj.native.js.map +1 -1
  217. package/dist/cjs/helpers/isTamaguiComponent.cjs +0 -1
  218. package/dist/cjs/helpers/isTamaguiComponent.native.cjs +0 -1
  219. package/dist/cjs/helpers/isTamaguiComponent.native.js +0 -1
  220. package/dist/cjs/helpers/isTamaguiComponent.native.js.map +1 -1
  221. package/dist/cjs/helpers/isTamaguiElement.cjs +0 -1
  222. package/dist/cjs/helpers/isTamaguiElement.native.cjs +0 -1
  223. package/dist/cjs/helpers/isTamaguiElement.native.js +0 -1
  224. package/dist/cjs/helpers/isTamaguiElement.native.js.map +1 -1
  225. package/dist/cjs/helpers/log.cjs +0 -1
  226. package/dist/cjs/helpers/log.native.cjs +0 -1
  227. package/dist/cjs/helpers/log.native.js +0 -1
  228. package/dist/cjs/helpers/log.native.js.map +1 -1
  229. package/dist/cjs/helpers/mainThreadPressEvents.cjs +0 -1
  230. package/dist/cjs/helpers/mainThreadPressEvents.native.cjs +0 -1
  231. package/dist/cjs/helpers/mainThreadPressEvents.native.js +0 -1
  232. package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
  233. package/dist/cjs/helpers/matchMedia.cjs +0 -1
  234. package/dist/cjs/helpers/matchMedia.native.cjs +0 -1
  235. package/dist/cjs/helpers/matchMedia.native.js +0 -1
  236. package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
  237. package/dist/cjs/helpers/mediaObjectToString.cjs +0 -1
  238. package/dist/cjs/helpers/mediaObjectToString.native.cjs +0 -1
  239. package/dist/cjs/helpers/mediaObjectToString.native.js +0 -1
  240. package/dist/cjs/helpers/mediaObjectToString.native.js.map +1 -1
  241. package/dist/cjs/helpers/mediaState.cjs +0 -1
  242. package/dist/cjs/helpers/mediaState.native.cjs +0 -1
  243. package/dist/cjs/helpers/mediaState.native.js +0 -1
  244. package/dist/cjs/helpers/mediaState.native.js.map +1 -1
  245. package/dist/cjs/helpers/mergeProps.cjs +0 -1
  246. package/dist/cjs/helpers/mergeProps.native.cjs +0 -1
  247. package/dist/cjs/helpers/mergeProps.native.js +0 -1
  248. package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
  249. package/dist/cjs/helpers/mergeRenderElementProps.cjs +0 -1
  250. package/dist/cjs/helpers/mergeRenderElementProps.native.cjs +0 -1
  251. package/dist/cjs/helpers/mergeRenderElementProps.native.js +0 -1
  252. package/dist/cjs/helpers/mergeRenderElementProps.native.js.map +1 -1
  253. package/dist/cjs/helpers/mergeSlotStyleProps.cjs +0 -1
  254. package/dist/cjs/helpers/mergeSlotStyleProps.native.cjs +0 -1
  255. package/dist/cjs/helpers/mergeSlotStyleProps.native.js +0 -1
  256. package/dist/cjs/helpers/mergeSlotStyleProps.native.js.map +1 -1
  257. package/dist/cjs/helpers/mergeVariants.cjs +1 -2
  258. package/dist/cjs/helpers/mergeVariants.native.cjs +1 -2
  259. package/dist/cjs/helpers/mergeVariants.native.js +1 -2
  260. package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
  261. package/dist/cjs/helpers/nativeOnlyProps.cjs +0 -1
  262. package/dist/cjs/helpers/nativeOnlyProps.native.cjs +0 -1
  263. package/dist/cjs/helpers/nativeOnlyProps.native.js +0 -1
  264. package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
  265. package/dist/cjs/helpers/nativeStyleEngine.cjs +0 -1
  266. package/dist/cjs/helpers/nativeStyleEngine.native.cjs +0 -1
  267. package/dist/cjs/helpers/nativeStyleEngine.native.js +0 -1
  268. package/dist/cjs/helpers/nativeStyleEngine.native.js.map +1 -1
  269. package/dist/cjs/helpers/nativeTransitionTarget.cjs +0 -1
  270. package/dist/cjs/helpers/nativeTransitionTarget.native.cjs +0 -1
  271. package/dist/cjs/helpers/nativeTransitionTarget.native.js +0 -1
  272. package/dist/cjs/helpers/nativeTransitionTarget.native.js.map +1 -1
  273. package/dist/cjs/helpers/normalizeColor.cjs +0 -1
  274. package/dist/cjs/helpers/normalizeColor.native.cjs +0 -1
  275. package/dist/cjs/helpers/normalizeColor.native.js +0 -1
  276. package/dist/cjs/helpers/normalizeColor.native.js.map +1 -1
  277. package/dist/cjs/helpers/normalizeShadow.cjs +0 -1
  278. package/dist/cjs/helpers/normalizeShadow.native.cjs +0 -1
  279. package/dist/cjs/helpers/normalizeShadow.native.js +0 -1
  280. package/dist/cjs/helpers/normalizeShadow.native.js.map +1 -1
  281. package/dist/cjs/helpers/normalizeStyle.cjs +0 -1
  282. package/dist/cjs/helpers/normalizeStyle.native.cjs +0 -1
  283. package/dist/cjs/helpers/normalizeStyle.native.js +0 -1
  284. package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
  285. package/dist/cjs/helpers/normalizeStylePropKeys.cjs +0 -1
  286. package/dist/cjs/helpers/normalizeStylePropKeys.native.cjs +0 -1
  287. package/dist/cjs/helpers/normalizeStylePropKeys.native.js +0 -1
  288. package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +1 -1
  289. package/dist/cjs/helpers/normalizeValueWithProperty.cjs +0 -1
  290. package/dist/cjs/helpers/normalizeValueWithProperty.native.cjs +0 -1
  291. package/dist/cjs/helpers/normalizeValueWithProperty.native.js +0 -1
  292. package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
  293. package/dist/cjs/helpers/noteOnce.cjs +0 -1
  294. package/dist/cjs/helpers/noteOnce.native.cjs +0 -1
  295. package/dist/cjs/helpers/noteOnce.native.js +0 -1
  296. package/dist/cjs/helpers/noteOnce.native.js.map +1 -1
  297. package/dist/cjs/helpers/objectIdentityKey.cjs +0 -1
  298. package/dist/cjs/helpers/objectIdentityKey.native.cjs +0 -1
  299. package/dist/cjs/helpers/objectIdentityKey.native.js +0 -1
  300. package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
  301. package/dist/cjs/helpers/parseBorderShorthand.cjs +0 -1
  302. package/dist/cjs/helpers/parseBorderShorthand.native.cjs +0 -1
  303. package/dist/cjs/helpers/parseBorderShorthand.native.js +0 -1
  304. package/dist/cjs/helpers/parseBorderShorthand.native.js.map +1 -1
  305. package/dist/cjs/helpers/parseNativeStyle.native.cjs +0 -1
  306. package/dist/cjs/helpers/parseNativeStyle.native.js +0 -1
  307. package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -1
  308. package/dist/cjs/helpers/parseNativeTransform.native.cjs +0 -1
  309. package/dist/cjs/helpers/parseNativeTransform.native.js +0 -1
  310. package/dist/cjs/helpers/parseNativeTransform.native.js.map +1 -1
  311. package/dist/cjs/helpers/parseOutlineShorthand.cjs +0 -1
  312. package/dist/cjs/helpers/parseOutlineShorthand.native.cjs +0 -1
  313. package/dist/cjs/helpers/parseOutlineShorthand.native.js +0 -1
  314. package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -1
  315. package/dist/cjs/helpers/pointerEvents.cjs +0 -1
  316. package/dist/cjs/helpers/pointerEvents.native.cjs +0 -1
  317. package/dist/cjs/helpers/pointerEvents.native.js +0 -1
  318. package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
  319. package/dist/cjs/helpers/propMapper.cjs +30 -39
  320. package/dist/cjs/helpers/propMapper.native.cjs +30 -39
  321. package/dist/cjs/helpers/propMapper.native.js +30 -39
  322. package/dist/cjs/helpers/propMapper.native.js.map +1 -1
  323. package/dist/cjs/helpers/proxyThemeToParents.cjs +0 -1
  324. package/dist/cjs/helpers/proxyThemeToParents.native.cjs +0 -1
  325. package/dist/cjs/helpers/proxyThemeToParents.native.js +0 -1
  326. package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
  327. package/dist/cjs/helpers/registerCSSVariable.cjs +0 -1
  328. package/dist/cjs/helpers/registerCSSVariable.native.cjs +0 -1
  329. package/dist/cjs/helpers/registerCSSVariable.native.js +0 -1
  330. package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -1
  331. package/dist/cjs/helpers/resolveAnimationDriver.cjs +0 -1
  332. package/dist/cjs/helpers/resolveAnimationDriver.native.cjs +0 -1
  333. package/dist/cjs/helpers/resolveAnimationDriver.native.js +0 -1
  334. package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -1
  335. package/dist/cjs/helpers/resolveRem.cjs +0 -1
  336. package/dist/cjs/helpers/resolveRem.native.cjs +0 -1
  337. package/dist/cjs/helpers/resolveRem.native.js +0 -1
  338. package/dist/cjs/helpers/resolveRem.native.js.map +1 -1
  339. package/dist/cjs/helpers/resolveSafeArea.cjs +0 -1
  340. package/dist/cjs/helpers/resolveSafeArea.native.cjs +0 -1
  341. package/dist/cjs/helpers/resolveSafeArea.native.js +0 -1
  342. package/dist/cjs/helpers/resolveSafeArea.native.js.map +1 -1
  343. package/dist/cjs/helpers/resolveSafeAreaVariable.cjs +0 -1
  344. package/dist/cjs/helpers/resolveSafeAreaVariable.native.cjs +0 -1
  345. package/dist/cjs/helpers/resolveSafeAreaVariable.native.js +0 -1
  346. package/dist/cjs/helpers/resolveSafeAreaVariable.native.js.map +1 -1
  347. package/dist/cjs/helpers/resolveVariableValue.cjs +0 -1
  348. package/dist/cjs/helpers/resolveVariableValue.native.cjs +0 -1
  349. package/dist/cjs/helpers/resolveVariableValue.native.js +0 -1
  350. package/dist/cjs/helpers/resolveVariableValue.native.js.map +1 -1
  351. package/dist/cjs/helpers/setElementProps.cjs +0 -1
  352. package/dist/cjs/helpers/setElementProps.native.cjs +0 -1
  353. package/dist/cjs/helpers/setElementProps.native.js +0 -1
  354. package/dist/cjs/helpers/setElementProps.native.js.map +1 -1
  355. package/dist/cjs/helpers/skipProps.cjs +0 -1
  356. package/dist/cjs/helpers/skipProps.native.cjs +0 -1
  357. package/dist/cjs/helpers/skipProps.native.js +0 -1
  358. package/dist/cjs/helpers/skipProps.native.js.map +1 -1
  359. package/dist/cjs/helpers/sortString.cjs +0 -1
  360. package/dist/cjs/helpers/sortString.native.cjs +0 -1
  361. package/dist/cjs/helpers/sortString.native.js +0 -1
  362. package/dist/cjs/helpers/sortString.native.js.map +1 -1
  363. package/dist/cjs/helpers/styleFrontend.cjs +0 -1
  364. package/dist/cjs/helpers/styleFrontend.native.cjs +0 -1
  365. package/dist/cjs/helpers/styleFrontend.native.js +0 -1
  366. package/dist/cjs/helpers/styleFrontend.native.js.map +1 -1
  367. package/dist/cjs/helpers/styleOriginalValues.cjs +0 -1
  368. package/dist/cjs/helpers/styleOriginalValues.native.cjs +0 -1
  369. package/dist/cjs/helpers/styleOriginalValues.native.js +0 -1
  370. package/dist/cjs/helpers/styleOriginalValues.native.js.map +1 -1
  371. package/dist/cjs/helpers/styleProvenance.cjs +0 -1
  372. package/dist/cjs/helpers/styleProvenance.native.cjs +0 -1
  373. package/dist/cjs/helpers/styleProvenance.native.js +0 -1
  374. package/dist/cjs/helpers/styleProvenance.native.js.map +1 -1
  375. package/dist/cjs/helpers/subscribeToContextGroup.cjs +0 -1
  376. package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +0 -1
  377. package/dist/cjs/helpers/subscribeToContextGroup.native.js +0 -1
  378. package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
  379. package/dist/cjs/helpers/themeRef.cjs +0 -1
  380. package/dist/cjs/helpers/themeRef.native.cjs +0 -1
  381. package/dist/cjs/helpers/themeRef.native.js +0 -1
  382. package/dist/cjs/helpers/themeRef.native.js.map +1 -1
  383. package/dist/cjs/helpers/themeUpdateState.cjs +24 -0
  384. package/dist/cjs/helpers/themeUpdateState.native.cjs +26 -0
  385. package/dist/cjs/helpers/themeUpdateState.native.js +28 -0
  386. package/dist/cjs/helpers/themeUpdateState.native.js.map +1 -0
  387. package/dist/cjs/helpers/themeable.cjs +0 -1
  388. package/dist/cjs/helpers/themeable.native.cjs +0 -1
  389. package/dist/cjs/helpers/themeable.native.js +0 -1
  390. package/dist/cjs/helpers/themeable.native.js.map +1 -1
  391. package/dist/cjs/helpers/themes.cjs +0 -1
  392. package/dist/cjs/helpers/themes.native.cjs +0 -1
  393. package/dist/cjs/helpers/themes.native.js +0 -1
  394. package/dist/cjs/helpers/themes.native.js.map +1 -1
  395. package/dist/cjs/helpers/timer.cjs +0 -1
  396. package/dist/cjs/helpers/timer.native.cjs +0 -1
  397. package/dist/cjs/helpers/timer.native.js +0 -1
  398. package/dist/cjs/helpers/timer.native.js.map +1 -1
  399. package/dist/cjs/helpers/tokenCategories.cjs +0 -1
  400. package/dist/cjs/helpers/tokenCategories.native.cjs +0 -1
  401. package/dist/cjs/helpers/tokenCategories.native.js +0 -1
  402. package/dist/cjs/helpers/tokenCategories.native.js.map +1 -1
  403. package/dist/cjs/helpers/transformsToString.cjs +0 -1
  404. package/dist/cjs/helpers/transformsToString.native.cjs +0 -1
  405. package/dist/cjs/helpers/transformsToString.native.js +0 -1
  406. package/dist/cjs/helpers/transformsToString.native.js.map +1 -1
  407. package/dist/cjs/helpers/useRenderElement.cjs +0 -1
  408. package/dist/cjs/helpers/useRenderElement.native.cjs +0 -1
  409. package/dist/cjs/helpers/useRenderElement.native.js +0 -1
  410. package/dist/cjs/helpers/useRenderElement.native.js.map +1 -1
  411. package/dist/cjs/helpers/variableValue.cjs +66 -0
  412. package/dist/cjs/helpers/variableValue.native.cjs +88 -0
  413. package/dist/cjs/helpers/variableValue.native.js +90 -0
  414. package/dist/cjs/helpers/variableValue.native.js.map +1 -0
  415. package/dist/cjs/helpers/variables.cjs +95 -139
  416. package/dist/cjs/helpers/variables.native.cjs +97 -161
  417. package/dist/cjs/helpers/variables.native.js +97 -161
  418. package/dist/cjs/helpers/variables.native.js.map +1 -1
  419. package/dist/cjs/helpers/warnOnce.cjs +1 -2
  420. package/dist/cjs/helpers/warnOnce.native.cjs +1 -2
  421. package/dist/cjs/helpers/warnOnce.native.js +1 -2
  422. package/dist/cjs/helpers/warnOnce.native.js.map +1 -1
  423. package/dist/cjs/helpers/webPropsToSkip.cjs +0 -1
  424. package/dist/cjs/helpers/webPropsToSkip.native.cjs +0 -1
  425. package/dist/cjs/helpers/webPropsToSkip.native.js +0 -1
  426. package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -1
  427. package/dist/cjs/helpers/wrapStyleTags.cjs +0 -1
  428. package/dist/cjs/helpers/wrapStyleTags.native.cjs +0 -1
  429. package/dist/cjs/helpers/wrapStyleTags.native.js +0 -1
  430. package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
  431. package/dist/cjs/hooks/doesRootSchemeMatchSystem.cjs +0 -1
  432. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.cjs +0 -1
  433. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js +0 -1
  434. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
  435. package/dist/cjs/hooks/getThemeProxied.cjs +1 -2
  436. package/dist/cjs/hooks/getThemeProxied.native.cjs +2 -3
  437. package/dist/cjs/hooks/getThemeProxied.native.js +2 -3
  438. package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
  439. package/dist/cjs/hooks/isOptimizedForFirstRender.cjs +0 -1
  440. package/dist/cjs/hooks/isOptimizedForFirstRender.native.cjs +0 -1
  441. package/dist/cjs/hooks/isOptimizedForFirstRender.native.js +0 -1
  442. package/dist/cjs/hooks/isOptimizedForFirstRender.native.js.map +1 -1
  443. package/dist/cjs/hooks/useAnimationDriver.cjs +14 -9
  444. package/dist/cjs/hooks/useAnimationDriver.native.cjs +14 -9
  445. package/dist/cjs/hooks/useAnimationDriver.native.js +14 -9
  446. package/dist/cjs/hooks/useAnimationDriver.native.js.map +1 -1
  447. package/dist/cjs/hooks/useComponentState.cjs +27 -25
  448. package/dist/cjs/hooks/useComponentState.native.cjs +28 -25
  449. package/dist/cjs/hooks/useComponentState.native.js +28 -25
  450. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  451. package/dist/cjs/hooks/useDisableSSR.cjs +0 -1
  452. package/dist/cjs/hooks/useDisableSSR.native.cjs +0 -1
  453. package/dist/cjs/hooks/useDisableSSR.native.js +0 -1
  454. package/dist/cjs/hooks/useDisableSSR.native.js.map +1 -1
  455. package/dist/cjs/hooks/useIsTouchDevice.cjs +0 -1
  456. package/dist/cjs/hooks/useIsTouchDevice.native.cjs +0 -1
  457. package/dist/cjs/hooks/useIsTouchDevice.native.js +0 -1
  458. package/dist/cjs/hooks/useIsTouchDevice.native.js.map +1 -1
  459. package/dist/cjs/hooks/useMedia.cjs +0 -1
  460. package/dist/cjs/hooks/useMedia.native.cjs +0 -1
  461. package/dist/cjs/hooks/useMedia.native.js +0 -1
  462. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  463. package/dist/cjs/hooks/usePortalThemeState.cjs +1 -2
  464. package/dist/cjs/hooks/usePortalThemeState.native.cjs +1 -2
  465. package/dist/cjs/hooks/usePortalThemeState.native.js +1 -2
  466. package/dist/cjs/hooks/usePortalThemeState.native.js.map +1 -1
  467. package/dist/cjs/hooks/useProps.cjs +1 -2
  468. package/dist/cjs/hooks/useProps.native.cjs +1 -2
  469. package/dist/cjs/hooks/useProps.native.js +1 -2
  470. package/dist/cjs/hooks/useProps.native.js.map +1 -1
  471. package/dist/cjs/hooks/useTheme.cjs +0 -1
  472. package/dist/cjs/hooks/useTheme.native.cjs +0 -1
  473. package/dist/cjs/hooks/useTheme.native.js +0 -1
  474. package/dist/cjs/hooks/useTheme.native.js.map +1 -1
  475. package/dist/cjs/hooks/useThemeName.cjs +0 -1
  476. package/dist/cjs/hooks/useThemeName.native.cjs +0 -1
  477. package/dist/cjs/hooks/useThemeName.native.js +0 -1
  478. package/dist/cjs/hooks/useThemeName.native.js.map +1 -1
  479. package/dist/cjs/hooks/useThemeState.cjs +11 -16
  480. package/dist/cjs/hooks/useThemeState.native.cjs +13 -18
  481. package/dist/cjs/hooks/useThemeState.native.js +13 -18
  482. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  483. package/dist/cjs/index.cjs +0 -2
  484. package/dist/cjs/index.native.cjs +0 -2
  485. package/dist/cjs/index.native.js +0 -2
  486. package/dist/cjs/index.native.js.map +1 -1
  487. package/dist/cjs/inject-styles.cjs +0 -1
  488. package/dist/cjs/inject-styles.native.cjs +0 -1
  489. package/dist/cjs/inject-styles.native.js +0 -1
  490. package/dist/cjs/inject-styles.native.js.map +1 -1
  491. package/dist/cjs/insertFont.cjs +0 -1
  492. package/dist/cjs/insertFont.native.cjs +0 -1
  493. package/dist/cjs/insertFont.native.js +0 -1
  494. package/dist/cjs/insertFont.native.js.map +1 -1
  495. package/dist/cjs/interfaces/CSSColorNames.cjs +0 -1
  496. package/dist/cjs/interfaces/CSSColorNames.native.cjs +0 -1
  497. package/dist/cjs/interfaces/CSSColorNames.native.js +0 -1
  498. package/dist/cjs/interfaces/CSSColorNames.native.js.map +1 -1
  499. package/dist/cjs/interfaces/GetRef.cjs +0 -1
  500. package/dist/cjs/interfaces/GetRef.native.cjs +0 -1
  501. package/dist/cjs/interfaces/GetRef.native.js +0 -1
  502. package/dist/cjs/interfaces/GetRef.native.js.map +1 -1
  503. package/dist/cjs/interfaces/RNExclusiveTypes.cjs +0 -1
  504. package/dist/cjs/interfaces/RNExclusiveTypes.native.cjs +0 -1
  505. package/dist/cjs/interfaces/RNExclusiveTypes.native.js +0 -1
  506. package/dist/cjs/interfaces/RNExclusiveTypes.native.js.map +1 -1
  507. package/dist/cjs/interfaces/TamaguiComponentEvents.cjs +0 -1
  508. package/dist/cjs/interfaces/TamaguiComponentEvents.native.cjs +0 -1
  509. package/dist/cjs/interfaces/TamaguiComponentEvents.native.js +0 -1
  510. package/dist/cjs/interfaces/TamaguiComponentEvents.native.js.map +1 -1
  511. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.cjs +0 -1
  512. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.cjs +0 -1
  513. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js +0 -1
  514. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js.map +1 -1
  515. package/dist/cjs/internal-runtime.cjs +1 -4
  516. package/dist/cjs/internal-runtime.native.cjs +1 -4
  517. package/dist/cjs/internal-runtime.native.js +1 -4
  518. package/dist/cjs/internal-runtime.native.js.map +1 -1
  519. package/dist/cjs/internalRuntimeTypes.cjs +0 -1
  520. package/dist/cjs/internalRuntimeTypes.native.cjs +0 -1
  521. package/dist/cjs/internalRuntimeTypes.native.js +0 -1
  522. package/dist/cjs/internalRuntimeTypes.native.js.map +1 -1
  523. package/dist/cjs/setupHooks.cjs +0 -1
  524. package/dist/cjs/setupHooks.native.cjs +0 -1
  525. package/dist/cjs/setupHooks.native.js +0 -1
  526. package/dist/cjs/setupHooks.native.js.map +1 -1
  527. package/dist/cjs/setupReactNative.cjs +0 -1
  528. package/dist/cjs/setupReactNative.native.cjs +0 -1
  529. package/dist/cjs/setupReactNative.native.js +0 -1
  530. package/dist/cjs/setupReactNative.native.js.map +1 -1
  531. package/dist/cjs/styled.cjs +0 -1
  532. package/dist/cjs/styled.native.cjs +0 -1
  533. package/dist/cjs/styled.native.js +0 -1
  534. package/dist/cjs/styled.native.js.map +1 -1
  535. package/dist/cjs/theme-update.cjs +19 -0
  536. package/dist/cjs/theme-update.native.cjs +21 -0
  537. package/dist/cjs/theme-update.native.js +23 -0
  538. package/dist/cjs/theme-update.native.js.map +1 -0
  539. package/dist/cjs/type-utils.cjs +0 -1
  540. package/dist/cjs/type-utils.native.cjs +0 -1
  541. package/dist/cjs/type-utils.native.js +0 -1
  542. package/dist/cjs/type-utils.native.js.map +1 -1
  543. package/dist/cjs/types.cjs +0 -1
  544. package/dist/cjs/types.native.cjs +0 -1
  545. package/dist/cjs/types.native.js +0 -1
  546. package/dist/cjs/types.native.js.map +1 -1
  547. package/dist/cjs/views/ConfigRevisionCheck.cjs +0 -1
  548. package/dist/cjs/views/ConfigRevisionCheck.native.cjs +0 -1
  549. package/dist/cjs/views/ConfigRevisionCheck.native.js +0 -1
  550. package/dist/cjs/views/ConfigRevisionCheck.native.js.map +1 -1
  551. package/dist/cjs/views/Configuration.cjs +0 -1
  552. package/dist/cjs/views/Configuration.native.cjs +0 -1
  553. package/dist/cjs/views/Configuration.native.js +0 -1
  554. package/dist/cjs/views/Configuration.native.js.map +1 -1
  555. package/dist/cjs/views/FontLanguage.cjs +0 -1
  556. package/dist/cjs/views/FontLanguage.native.cjs +0 -1
  557. package/dist/cjs/views/FontLanguage.native.js +0 -1
  558. package/dist/cjs/views/FontLanguage.native.js.map +1 -1
  559. package/dist/cjs/views/SafeAreaTracker.cjs +0 -1
  560. package/dist/cjs/views/SafeAreaTracker.native.cjs +0 -1
  561. package/dist/cjs/views/SafeAreaTracker.native.js +0 -1
  562. package/dist/cjs/views/SafeAreaTracker.native.js.map +1 -1
  563. package/dist/cjs/views/Slot.cjs +0 -1
  564. package/dist/cjs/views/Slot.native.cjs +0 -1
  565. package/dist/cjs/views/Slot.native.js +0 -1
  566. package/dist/cjs/views/Slot.native.js.map +1 -1
  567. package/dist/cjs/views/TamaguiProvider.cjs +0 -1
  568. package/dist/cjs/views/TamaguiProvider.native.cjs +0 -1
  569. package/dist/cjs/views/TamaguiProvider.native.js +0 -1
  570. package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
  571. package/dist/cjs/views/TamaguiRoot.cjs +0 -1
  572. package/dist/cjs/views/TamaguiRoot.native.cjs +0 -1
  573. package/dist/cjs/views/TamaguiRoot.native.js +0 -1
  574. package/dist/cjs/views/TamaguiRoot.native.js.map +1 -1
  575. package/dist/cjs/views/Text.cjs +0 -1
  576. package/dist/cjs/views/Text.native.cjs +0 -1
  577. package/dist/cjs/views/Text.native.js +0 -1
  578. package/dist/cjs/views/Text.native.js.map +1 -1
  579. package/dist/cjs/views/Theme.cjs +7 -33
  580. package/dist/cjs/views/Theme.native.cjs +8 -20
  581. package/dist/cjs/views/Theme.native.js +8 -20
  582. package/dist/cjs/views/Theme.native.js.map +1 -1
  583. package/dist/cjs/views/ThemeDebug.cjs +0 -1
  584. package/dist/cjs/views/ThemeDebug.native.cjs +0 -1
  585. package/dist/cjs/views/ThemeDebug.native.js +0 -1
  586. package/dist/cjs/views/ThemeDebug.native.js.map +1 -1
  587. package/dist/cjs/views/ThemeProvider.cjs +0 -1
  588. package/dist/cjs/views/ThemeProvider.native.cjs +0 -1
  589. package/dist/cjs/views/ThemeProvider.native.js +0 -1
  590. package/dist/cjs/views/ThemeProvider.native.js.map +1 -1
  591. package/dist/cjs/views/ThemeUpdate.cjs +82 -0
  592. package/dist/cjs/views/ThemeUpdate.native.cjs +84 -0
  593. package/dist/cjs/views/ThemeUpdate.native.js +86 -0
  594. package/dist/cjs/views/ThemeUpdate.native.js.map +1 -0
  595. package/dist/cjs/views/View.cjs +0 -1
  596. package/dist/cjs/views/View.native.cjs +0 -1
  597. package/dist/cjs/views/View.native.js +0 -1
  598. package/dist/cjs/views/View.native.js.map +1 -1
  599. package/dist/esm/Tamagui.mjs.map +1 -1
  600. package/dist/esm/Tamagui.native.js.map +1 -1
  601. package/dist/esm/_withNativeStyle.mjs.map +1 -1
  602. package/dist/esm/config.mjs +7 -0
  603. package/dist/esm/config.mjs.map +1 -1
  604. package/dist/esm/config.native.js +7 -0
  605. package/dist/esm/config.native.js.map +1 -1
  606. package/dist/esm/constants/isDevTools.mjs.map +1 -1
  607. package/dist/esm/constants/isDevTools.native.js.map +1 -1
  608. package/dist/esm/createComponent.mjs +1 -1
  609. package/dist/esm/createComponent.mjs.map +1 -1
  610. package/dist/esm/createComponent.native.js +1 -1
  611. package/dist/esm/createComponent.native.js.map +1 -1
  612. package/dist/esm/createFont.mjs.map +1 -1
  613. package/dist/esm/createFont.native.js.map +1 -1
  614. package/dist/esm/createTamagui.mjs +2 -2
  615. package/dist/esm/createTamagui.mjs.map +1 -1
  616. package/dist/esm/createTamagui.native.js +2 -2
  617. package/dist/esm/createTamagui.native.js.map +1 -1
  618. package/dist/esm/createVariable.mjs.map +1 -1
  619. package/dist/esm/createVariable.native.js.map +1 -1
  620. package/dist/esm/dom/primitives.native.js +1 -1
  621. package/dist/esm/dom/primitives.native.js.map +1 -1
  622. package/dist/esm/eventHandling.native.js.map +1 -1
  623. package/dist/esm/helpers/configVariables.mjs +60 -0
  624. package/dist/esm/helpers/configVariables.mjs.map +1 -0
  625. package/dist/esm/helpers/configVariables.native.js +65 -0
  626. package/dist/esm/helpers/configVariables.native.js.map +1 -0
  627. package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
  628. package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
  629. package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
  630. package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
  631. package/dist/esm/helpers/defaultAnimationDriver.mjs +1 -5
  632. package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -1
  633. package/dist/esm/helpers/defaultAnimationDriver.native.js +0 -12
  634. package/dist/esm/helpers/defaultAnimationDriver.native.js.map +1 -1
  635. package/dist/esm/helpers/directStyle.mjs +258 -283
  636. package/dist/esm/helpers/directStyle.mjs.map +1 -1
  637. package/dist/esm/helpers/directStyle.native.js +274 -305
  638. package/dist/esm/helpers/directStyle.native.js.map +1 -1
  639. package/dist/esm/helpers/expandStyle.mjs.map +1 -1
  640. package/dist/esm/helpers/expandStyle.native.js.map +1 -1
  641. package/dist/esm/helpers/expandStyles.native.js.map +1 -1
  642. package/dist/esm/helpers/extractPseudoState.mjs.map +1 -1
  643. package/dist/esm/helpers/formatDiagnostic.mjs.map +1 -1
  644. package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -1
  645. package/dist/esm/helpers/getCSSStylesAtomic.mjs +5 -1
  646. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
  647. package/dist/esm/helpers/getDynamicVal.mjs.map +1 -1
  648. package/dist/esm/helpers/getDynamicVal.native.js.map +1 -1
  649. package/dist/esm/helpers/getExpandedShorthands.mjs.map +1 -1
  650. package/dist/esm/helpers/getExpandedShorthands.native.js.map +1 -1
  651. package/dist/esm/helpers/getFontLanguage.mjs.map +1 -1
  652. package/dist/esm/helpers/getFontLanguage.native.js.map +1 -1
  653. package/dist/esm/helpers/getShorthandValue.mjs.map +1 -1
  654. package/dist/esm/helpers/getShorthandValue.native.js.map +1 -1
  655. package/dist/esm/helpers/getSplitStyles.mjs +2 -9
  656. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  657. package/dist/esm/helpers/getSplitStyles.native.js +2 -9
  658. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  659. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
  660. package/dist/esm/helpers/getVariantExtras.mjs.map +1 -1
  661. package/dist/esm/helpers/getVariantExtras.native.js.map +1 -1
  662. package/dist/esm/helpers/grammarConfig.mjs +59 -13
  663. package/dist/esm/helpers/grammarConfig.mjs.map +1 -1
  664. package/dist/esm/helpers/grammarConfig.native.js +80 -17
  665. package/dist/esm/helpers/grammarConfig.native.js.map +1 -1
  666. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  667. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  668. package/dist/esm/helpers/matchMedia.native.js.map +1 -1
  669. package/dist/esm/helpers/mediaObjectToString.mjs.map +1 -1
  670. package/dist/esm/helpers/mediaObjectToString.native.js.map +1 -1
  671. package/dist/esm/helpers/mergeVariants.mjs +1 -1
  672. package/dist/esm/helpers/mergeVariants.mjs.map +1 -1
  673. package/dist/esm/helpers/mergeVariants.native.js +1 -1
  674. package/dist/esm/helpers/mergeVariants.native.js.map +1 -1
  675. package/dist/esm/helpers/nativeStyleEngine.mjs.map +1 -1
  676. package/dist/esm/helpers/nativeStyleEngine.native.js.map +1 -1
  677. package/dist/esm/helpers/normalizeStyle.native.js.map +1 -1
  678. package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -1
  679. package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -1
  680. package/dist/esm/helpers/parseNativeTransform.native.js.map +1 -1
  681. package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -1
  682. package/dist/esm/helpers/propMapper.mjs +31 -39
  683. package/dist/esm/helpers/propMapper.mjs.map +1 -1
  684. package/dist/esm/helpers/propMapper.native.js +31 -39
  685. package/dist/esm/helpers/propMapper.native.js.map +1 -1
  686. package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
  687. package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -1
  688. package/dist/esm/helpers/registerCSSVariable.mjs.map +1 -1
  689. package/dist/esm/helpers/registerCSSVariable.native.js.map +1 -1
  690. package/dist/esm/helpers/resolveSafeAreaVariable.native.js.map +1 -1
  691. package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
  692. package/dist/esm/helpers/themeRef.mjs.map +1 -1
  693. package/dist/esm/helpers/themeRef.native.js.map +1 -1
  694. package/dist/esm/helpers/themeUpdateState.mjs +4 -0
  695. package/dist/esm/helpers/themeUpdateState.mjs.map +1 -0
  696. package/dist/esm/helpers/themeUpdateState.native.js +4 -0
  697. package/dist/esm/helpers/themeUpdateState.native.js.map +1 -0
  698. package/dist/esm/helpers/timer.mjs.map +1 -1
  699. package/dist/esm/helpers/timer.native.js.map +1 -1
  700. package/dist/esm/helpers/tokenCategories.mjs.map +1 -1
  701. package/dist/esm/helpers/tokenCategories.native.js.map +1 -1
  702. package/dist/esm/helpers/transformsToString.native.js.map +1 -1
  703. package/dist/esm/helpers/useRenderElement.mjs.map +1 -1
  704. package/dist/esm/helpers/useRenderElement.native.js.map +1 -1
  705. package/dist/esm/helpers/variableValue.mjs +44 -0
  706. package/dist/esm/helpers/variableValue.mjs.map +1 -0
  707. package/dist/esm/helpers/variableValue.native.js +64 -0
  708. package/dist/esm/helpers/variableValue.native.js.map +1 -0
  709. package/dist/esm/helpers/variables.mjs +96 -136
  710. package/dist/esm/helpers/variables.mjs.map +1 -1
  711. package/dist/esm/helpers/variables.native.js +98 -158
  712. package/dist/esm/helpers/variables.native.js.map +1 -1
  713. package/dist/esm/helpers/warnOnce.mjs +1 -1
  714. package/dist/esm/helpers/warnOnce.mjs.map +1 -1
  715. package/dist/esm/helpers/warnOnce.native.js +1 -1
  716. package/dist/esm/helpers/warnOnce.native.js.map +1 -1
  717. package/dist/esm/hooks/getThemeProxied.mjs.map +1 -1
  718. package/dist/esm/hooks/getThemeProxied.native.js +2 -2
  719. package/dist/esm/hooks/getThemeProxied.native.js.map +1 -1
  720. package/dist/esm/hooks/useAnimationDriver.mjs +14 -8
  721. package/dist/esm/hooks/useAnimationDriver.mjs.map +1 -1
  722. package/dist/esm/hooks/useAnimationDriver.native.js +14 -8
  723. package/dist/esm/hooks/useAnimationDriver.native.js.map +1 -1
  724. package/dist/esm/hooks/useComponentState.mjs +27 -24
  725. package/dist/esm/hooks/useComponentState.mjs.map +1 -1
  726. package/dist/esm/hooks/useComponentState.native.js +28 -24
  727. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  728. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  729. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  730. package/dist/esm/hooks/usePortalThemeState.mjs +2 -2
  731. package/dist/esm/hooks/usePortalThemeState.mjs.map +1 -1
  732. package/dist/esm/hooks/usePortalThemeState.native.js +2 -2
  733. package/dist/esm/hooks/usePortalThemeState.native.js.map +1 -1
  734. package/dist/esm/hooks/useProps.mjs +1 -1
  735. package/dist/esm/hooks/useProps.mjs.map +1 -1
  736. package/dist/esm/hooks/useProps.native.js +1 -1
  737. package/dist/esm/hooks/useProps.native.js.map +1 -1
  738. package/dist/esm/hooks/useThemeName.mjs.map +1 -1
  739. package/dist/esm/hooks/useThemeState.mjs +12 -15
  740. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  741. package/dist/esm/hooks/useThemeState.native.js +14 -17
  742. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  743. package/dist/esm/index.js +0 -2
  744. package/dist/esm/index.mjs +0 -2
  745. package/dist/esm/index.native.js +0 -2
  746. package/dist/esm/insertFont.mjs.map +1 -1
  747. package/dist/esm/insertFont.native.js.map +1 -1
  748. package/dist/esm/internal-runtime.mjs +1 -3
  749. package/dist/esm/internal-runtime.mjs.map +1 -1
  750. package/dist/esm/internal-runtime.native.js +1 -3
  751. package/dist/esm/internal-runtime.native.js.map +1 -1
  752. package/dist/esm/styled.mjs.map +1 -1
  753. package/dist/esm/styled.native.js.map +1 -1
  754. package/dist/esm/theme-update.mjs +3 -0
  755. package/dist/esm/theme-update.native.js +3 -0
  756. package/dist/esm/views/FontLanguage.mjs.map +1 -1
  757. package/dist/esm/views/SafeAreaTracker.native.js.map +1 -1
  758. package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
  759. package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
  760. package/dist/esm/views/Theme.mjs +8 -33
  761. package/dist/esm/views/Theme.mjs.map +1 -1
  762. package/dist/esm/views/Theme.native.js +9 -20
  763. package/dist/esm/views/Theme.native.js.map +1 -1
  764. package/dist/esm/views/ThemeUpdate.mjs +54 -0
  765. package/dist/esm/views/ThemeUpdate.mjs.map +1 -0
  766. package/dist/esm/views/ThemeUpdate.native.js +53 -0
  767. package/dist/esm/views/ThemeUpdate.native.js.map +1 -0
  768. package/package.json +26 -17
  769. package/src/config.ts +7 -0
  770. package/src/createComponent.tsx +1 -4
  771. package/src/createTamagui.ts +3 -8
  772. package/src/dom/primitives.native.tsx +1 -1
  773. package/src/helpers/configVariables.ts +64 -0
  774. package/src/helpers/defaultAnimationDriver.tsx +0 -4
  775. package/src/helpers/directStyle.ts +876 -477
  776. package/src/helpers/getCSSStylesAtomic.ts +5 -1
  777. package/src/helpers/getSplitStyles.tsx +2 -23
  778. package/src/helpers/grammarConfig.ts +82 -12
  779. package/src/helpers/mergeVariants.ts +1 -3
  780. package/src/helpers/nativeTransitionTarget.native.ts +1 -1
  781. package/src/helpers/nativeTransitionTarget.ts +1 -1
  782. package/src/helpers/propMapper.ts +42 -49
  783. package/src/helpers/themeUpdateState.ts +27 -0
  784. package/src/helpers/variableValue.ts +45 -0
  785. package/src/helpers/variables.ts +149 -195
  786. package/src/helpers/warnOnce.ts +2 -2
  787. package/src/hooks/getThemeProxied.ts +9 -7
  788. package/src/hooks/useAnimationDriver.ts +26 -11
  789. package/src/hooks/useComponentState.ts +44 -34
  790. package/src/hooks/usePortalThemeState.ts +8 -8
  791. package/src/hooks/useProps.tsx +1 -4
  792. package/src/hooks/useThemeState.ts +16 -37
  793. package/src/index.ts +0 -1
  794. package/src/internal-runtime.ts +1 -8
  795. package/src/theme-update.ts +2 -0
  796. package/src/types.tsx +13 -21
  797. package/src/views/Theme.tsx +18 -80
  798. package/src/views/ThemeUpdate.tsx +88 -0
  799. package/types/config.d.ts.map +1 -1
  800. package/types/createComponent.d.ts.map +1 -1
  801. package/types/helpers/configVariables.d.ts +3 -0
  802. package/types/helpers/configVariables.d.ts.map +1 -0
  803. package/types/helpers/defaultAnimationDriver.d.ts.map +1 -1
  804. package/types/helpers/directStyle.d.ts +2 -23
  805. package/types/helpers/directStyle.d.ts.map +1 -1
  806. package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
  807. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  808. package/types/helpers/grammarConfig.d.ts +9 -0
  809. package/types/helpers/grammarConfig.d.ts.map +1 -1
  810. package/types/helpers/mergeVariants.d.ts.map +1 -1
  811. package/types/helpers/nativeTransitionTarget.d.ts +1 -1
  812. package/types/helpers/nativeTransitionTarget.d.ts.map +1 -1
  813. package/types/helpers/nativeTransitionTarget.native.d.ts +1 -1
  814. package/types/helpers/nativeTransitionTarget.native.d.ts.map +1 -1
  815. package/types/helpers/propMapper.d.ts.map +1 -1
  816. package/types/helpers/themeUpdateState.d.ts +23 -0
  817. package/types/helpers/themeUpdateState.d.ts.map +1 -0
  818. package/types/helpers/variableValue.d.ts +4 -0
  819. package/types/helpers/variableValue.d.ts.map +1 -0
  820. package/types/helpers/variables.d.ts +7 -24
  821. package/types/helpers/variables.d.ts.map +1 -1
  822. package/types/helpers/warnOnce.d.ts +1 -1
  823. package/types/hooks/getThemeProxied.d.ts.map +1 -1
  824. package/types/hooks/useAnimationDriver.d.ts.map +1 -1
  825. package/types/hooks/useComponentState.d.ts.map +1 -1
  826. package/types/hooks/usePortalThemeState.d.ts +5 -5
  827. package/types/hooks/usePortalThemeState.d.ts.map +1 -1
  828. package/types/hooks/useProps.d.ts.map +1 -1
  829. package/types/hooks/useThemeState.d.ts +2 -5
  830. package/types/hooks/useThemeState.d.ts.map +1 -1
  831. package/types/index.d.ts +0 -1
  832. package/types/index.d.ts.map +1 -1
  833. package/types/internal-runtime.d.ts.map +1 -1
  834. package/types/theme-update.d.ts +3 -0
  835. package/types/theme-update.d.ts.map +1 -0
  836. package/types/types.d.ts +6 -17
  837. package/types/types.d.ts.map +1 -1
  838. package/types/views/Theme.d.ts +2 -15
  839. package/types/views/Theme.d.ts.map +1 -1
  840. package/types/views/ThemeUpdate.d.ts +15 -0
  841. package/types/views/ThemeUpdate.d.ts.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"useComponentState.js","names":[],"sources":["esm/hooks/useComponentState.js"],"sourcesContent":["import { getPlatformDriver, isServer, isWeb } from \"@tamagui/constants\";\nimport { stylePropsAll } from \"@tamagui/helpers\";\nimport { canonicalClauseModifier, scanFlatValue } from \"@tamagui/style-grammar/runtime\";\nimport { mergeIfNotShallowEqual } from \"@tamagui/is-equal-shallow\";\nimport { useDidFinishSSR, useIsClientOnly } from \"@tamagui/use-did-finish-ssr\";\nimport { useRef, useState } from \"react\";\nimport { getSetting } from \"../config\";\nimport { formatDiagnostic } from \"../helpers/formatDiagnostic\";\nimport { isOptimizedForFirstRender } from \"./isOptimizedForFirstRender\";\nimport {\n defaultComponentState,\n defaultComponentStateMounted,\n defaultComponentStateShouldEnter\n} from \"../defaultComponentState\";\nimport { isObj } from \"../helpers/isObj\";\nimport { log } from \"../helpers/log\";\nconst platformPseudoModifiers = /* @__PURE__ */ new Set([\"hover\", \"press\", \"focus\"]);\nconst enterModifier = /* @__PURE__ */ new Set([\"enter\"]);\nlet scanSource = \"\";\nlet scanWanted = enterModifier;\nlet scanFound = false;\nlet scanRefused = false;\nconst lifecycleVisitor = {\n segment(start, end, isBase) {\n if (start === end && !isBase) scanRefused = true;\n },\n chain(start, end) {\n if (scanRefused) return false;\n for (let index = start; index <= end; index++) {\n if (index !== end && scanSource.charCodeAt(index) !== 58) continue;\n if (scanWanted.has(canonicalClauseModifier(scanSource.slice(start, index)))) {\n scanFound = true;\n }\n start = index + 1;\n }\n return true;\n },\n error() {\n scanRefused = true;\n }\n};\nfunction hasFlatModifier(props, config, modifiers) {\n for (const key in props) {\n const value = props[key];\n if (typeof value !== \"string\" || value.indexOf(\":\") === -1) continue;\n const property = config.shorthands[key] || key;\n if (!(property in stylePropsAll) && property !== \"transition\") continue;\n scanSource = value;\n scanWanted = modifiers;\n scanFound = false;\n scanRefused = false;\n scanFlatValue(value, lifecycleVisitor);\n if (scanFound && !scanRefused) return true;\n }\n return false;\n}\nconst useComponentState = (props, animationDriver, staticConfig, config) => {\n \"use no memo\";\n const isHydrated = useDidFinishSSR();\n const needsHydration = !useIsClientOnly();\n const useAnimations = animationDriver?.isStub ? void 0 : animationDriver?.useAnimations;\n const { isHOC } = staticConfig;\n const stateRef = useRef(\n // performance: avoid creating object every render\n void 0\n );\n if (!stateRef.current) {\n stateRef.current = {\n startedUnhydrated: needsHydration && !isHydrated,\n optimizeForFirstRender: isOptimizedForFirstRender()\n };\n }\n const hasAnimationProp = Boolean(\n !isHOC && \"transition\" in props || props.style && hasAnimatedStyleValue(props.style)\n );\n const inputStyle = animationDriver?.inputStyle ?? \"css\";\n const outputStyle = animationDriver?.outputStyle ?? \"css\";\n const curStateRef = stateRef.current;\n if (!needsHydration && hasAnimationProp) {\n curStateRef.hasAnimated = true;\n }\n const platformPseudo = Boolean(\n !isHOC && useAnimations && animationDriver?.avoidReRenders && getPlatformDriver()?.pseudo && process.env.TAMAGUI_RUNTIME_STYLE_VALUE_GRAMMAR !== \"disabled\" && hasFlatModifier(props, config, platformPseudoModifiers)\n );\n const willBeAnimatedClient = (() => {\n const next = !!((hasAnimationProp || platformPseudo) && !isHOC && useAnimations);\n return Boolean(next || curStateRef.hasAnimated);\n })();\n const willBeAnimated = !isServer && willBeAnimatedClient;\n if (willBeAnimated && !curStateRef.hasAnimated) {\n curStateRef.hasAnimated = true;\n }\n const { disableClassName } = props;\n const presence = !isHOC && willBeAnimated && props[\"animatePresence\"] !== false && animationDriver?.usePresence?.() || null;\n const presenceState = presence?.[2];\n const isExiting = presenceState?.isPresent === false;\n const isEntering = presenceState?.isPresent === true && presenceState.initial !== false;\n const hasEnterStyle = process.env.TAMAGUI_RUNTIME_STYLE_VALUE_GRAMMAR !== \"disabled\" && hasFlatModifier(props, config, enterModifier);\n const hasAnimationThatNeedsHydrate = hasAnimationProp && !isHydrated && (animationDriver?.isReactNative || inputStyle !== \"css\");\n const canImmediatelyEnter = hasEnterStyle || isEntering;\n const shouldEnter = !isHOC && (hasEnterStyle || isEntering || hasAnimationThatNeedsHydrate || // disableClassName doesnt work server side, only client, so needs hydrate\n // this is just for a better ux, supports css variables for light/dark, media queries, etc\n disableClassName);\n const initialState = shouldEnter ? (\n // on the very first render we switch all spring animation drivers to css rendering\n // this is because we need to use css variables, which they don't support to do proper SSR\n // without flickers of the wrong colors.\n // but once we do that initial hydration and we are in client side rendering mode,\n // we can avoid the extra re-render on mount\n canImmediatelyEnter ? defaultComponentStateShouldEnter : defaultComponentState\n ) : defaultComponentStateMounted;\n const disabled = isDisabled(props);\n if (disabled != null) {\n initialState.disabled = disabled;\n }\n const states = useState(initialState);\n const state = props.forceStyle ? { ...states[0], [props.forceStyle]: true } : states[0];\n const setState = states[1];\n let isAnimated = willBeAnimated;\n if (isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && !isHydrated) {\n isAnimated = false;\n curStateRef.willHydrate = true;\n }\n if (disabled !== state.disabled) {\n if (disabled) {\n Object.assign(state, defaultComponentStateMounted);\n }\n state.disabled = disabled;\n setState((_) => ({ ...state }));\n }\n const groupName = props.group;\n if (!stateRef.current.baseSetStateShallow) {\n const r = stateRef.current;\n r.baseSetStateShallow = (stateOrGetState) => {\n setState((prev) => {\n const next = typeof stateOrGetState === \"function\" ? stateOrGetState(prev) : stateOrGetState;\n const update = mergeIfNotShallowEqual(prev, next);\n if (process.env.NODE_ENV === \"development\") {\n const dbg = r.__debug;\n if (dbg && update !== prev) {\n console.groupCollapsed(`setStateShallow CHANGE`, \"=>\", update);\n console.info(`previously`, prev);\n console.trace();\n console.groupEnd();\n }\n }\n return update;\n });\n };\n }\n if (process.env.NODE_ENV === \"development\") {\n ;\n stateRef.current.__debug = props.debug;\n }\n const setStateShallow = stateRef.current.baseSetStateShallow;\n if (process.env.NODE_ENV === \"development\" && globalThis.time)\n globalThis.time`state-useCreateShallowSetState`;\n let outProps = props;\n if (presenceState && isAnimated && isHydrated && staticConfig.variants) {\n if (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n console.warn(\n formatDiagnostic(\n \"TAMAGUI_PRESENCE_STATE\",\n staticConfig.Component?.displayName || staticConfig.Component?.name || \"TamaguiComponent\",\n \"AnimatePresence supplied lifecycle state to an animated component\",\n 'Remove debug=\"verbose\" after inspecting the animation state',\n \"presenceState\",\n presenceState\n )\n );\n }\n const { custom } = presenceState;\n if (isObj(custom)) {\n outProps = { ...props, ...custom };\n }\n }\n let noClass = !isWeb || !!props.forceStyle;\n if (!isHydrated) {\n noClass = false;\n } else {\n if (isWeb && isHydrated) {\n const isAnimatedAndHydrated = isAnimated && isHydrated;\n const isClassNameDisabled = !staticConfig.acceptsClassName && (getSetting(\"disableSSR\") || !state.unmounted);\n const isDisabledManually = disableClassName && !state.unmounted;\n if (\n // Only disable className for animation drivers that output inline styles (not css)\n isAnimatedAndHydrated && outputStyle !== \"css\" || isDisabledManually || isClassNameDisabled\n ) {\n noClass = true;\n if (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n log(`avoiding className`, {\n isAnimatedAndHydrated,\n isDisabledManually,\n isClassNameDisabled\n });\n }\n }\n }\n }\n return {\n props: outProps,\n startedUnhydrated: curStateRef.startedUnhydrated,\n curStateRef,\n disabled,\n groupName,\n hasAnimationProp,\n hasEnterStyle,\n isAnimated,\n isExiting,\n isHydrated,\n presence,\n presenceState,\n setState,\n setStateShallow,\n noClass,\n state,\n stateRef,\n inputStyle,\n outputStyle,\n willBeAnimated,\n willBeAnimatedClient,\n platformPseudo\n };\n};\nfunction hasAnimatedStyleValue(style) {\n for (const k in style) {\n const val = style[k];\n if (val && typeof val === \"object\" && \"_animation\" in val) {\n return true;\n }\n }\n return false;\n}\nconst isDisabled = (props) => {\n return props.disabled || props.passThrough || props.accessibilityState?.disabled || props[\"aria-disabled\"] || props.accessibilityDisabled || false;\n};\nexport {\n useComponentState\n};\n//# sourceMappingURL=useComponentState.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"useComponentState.js","names":[],"sources":["esm/hooks/useComponentState.js"],"sourcesContent":["import { getPlatformDriver, isServer, isWeb } from \"@tamagui/constants\";\nimport { stylePropsAll } from \"@tamagui/helpers\";\nimport {\n canonicalClauseModifier,\n scanFlatValue\n} from \"@tamagui/style-grammar/runtime\";\nimport { mergeIfNotShallowEqual } from \"@tamagui/is-equal-shallow\";\nimport { useDidFinishSSR, useIsClientOnly } from \"@tamagui/use-did-finish-ssr\";\nimport { useRef, useState } from \"react\";\nimport { getSetting } from \"../config\";\nimport { formatDiagnostic } from \"../helpers/formatDiagnostic\";\nimport { isOptimizedForFirstRender } from \"./isOptimizedForFirstRender\";\nimport {\n defaultComponentState,\n defaultComponentStateMounted,\n defaultComponentStateShouldEnter\n} from \"../defaultComponentState\";\nimport { isObj } from \"../helpers/isObj\";\nimport { log } from \"../helpers/log\";\nconst platformPseudoModifiers = /* @__PURE__ */ new Set([\"hover\", \"press\", \"focus\"]);\nconst enterModifier = /* @__PURE__ */ new Set([\"enter\"]);\nconst lifecycleHandler = {\n segment(ctx, start, end, isBase, valid) {\n const scan = ctx.flatScan;\n if (!isBase && valid && start < end && scan[3]) scan[2] = true;\n scan[3] = false;\n },\n chain(ctx, start, end, valid) {\n const scan = ctx.flatScan;\n scan[3] = false;\n if (!valid) return true;\n for (let index = start; index <= end; index++) {\n if (index !== end && scan[0].charCodeAt(index) !== 58) continue;\n if (scan[1].has(canonicalClauseModifier(scan[0].slice(start, index)))) {\n scan[3] = true;\n }\n start = index + 1;\n }\n return true;\n }\n};\nfunction hasFlatModifier(props, config, modifiers, ctx) {\n const scan = ctx.flatScan ||= [\"\", enterModifier, false, false];\n for (const key in props) {\n const value = props[key];\n if (typeof value !== \"string\" || value.indexOf(\":\") === -1) continue;\n const property = config.shorthands[key] || key;\n if (!(property in stylePropsAll) && property !== \"transition\") continue;\n scan[0] = value;\n scan[1] = modifiers;\n scan[2] = false;\n scan[3] = false;\n scanFlatValue(value, lifecycleHandler, ctx);\n if (scan[2]) return true;\n }\n return false;\n}\nconst useComponentState = (props, animationDriver, staticConfig, config) => {\n \"use no memo\";\n const isHydrated = useDidFinishSSR();\n const needsHydration = !useIsClientOnly();\n const useAnimations = animationDriver?.isStub ? void 0 : animationDriver?.useAnimations;\n const { isHOC } = staticConfig;\n const stateRef = useRef(\n // performance: avoid creating object every render\n void 0\n );\n if (!stateRef.current) {\n stateRef.current = {\n startedUnhydrated: needsHydration && !isHydrated,\n optimizeForFirstRender: isOptimizedForFirstRender()\n };\n }\n const hasAnimationProp = Boolean(\n !isHOC && \"transition\" in props || props.style && hasAnimatedStyleValue(props.style)\n );\n const inputStyle = animationDriver?.inputStyle ?? \"css\";\n const outputStyle = animationDriver?.outputStyle ?? \"css\";\n const curStateRef = stateRef.current;\n if (!needsHydration && hasAnimationProp) {\n curStateRef.hasAnimated = true;\n }\n const platformPseudo = Boolean(\n !isHOC && useAnimations && animationDriver?.avoidReRenders && getPlatformDriver()?.pseudo && hasFlatModifier(\n props,\n config,\n platformPseudoModifiers,\n curStateRef\n )\n );\n const willBeAnimatedClient = (() => {\n const next = !!((hasAnimationProp || platformPseudo) && !isHOC && useAnimations);\n return Boolean(next || curStateRef.hasAnimated);\n })();\n const willBeAnimated = !isServer && willBeAnimatedClient;\n if (willBeAnimated && !curStateRef.hasAnimated) {\n curStateRef.hasAnimated = true;\n }\n const { disableClassName } = props;\n const presence = !isHOC && willBeAnimated && props[\"animatePresence\"] !== false && animationDriver?.usePresence?.() || null;\n const presenceState = presence?.[2];\n const isExiting = presenceState?.isPresent === false;\n const isEntering = presenceState?.isPresent === true && presenceState.initial !== false;\n const hasEnterStyle = hasFlatModifier(\n props,\n config,\n enterModifier,\n curStateRef\n );\n const hasAnimationThatNeedsHydrate = hasAnimationProp && !isHydrated && (animationDriver?.isReactNative || inputStyle !== \"css\");\n const canImmediatelyEnter = hasEnterStyle || isEntering;\n const shouldEnter = !isHOC && (hasEnterStyle || isEntering || hasAnimationThatNeedsHydrate || // disableClassName doesnt work server side, only client, so needs hydrate\n // this is just for a better ux, supports css variables for light/dark, media queries, etc\n disableClassName);\n const initialState = shouldEnter ? (\n // on the very first render we switch all spring animation drivers to css rendering\n // this is because we need to use css variables, which they don't support to do proper SSR\n // without flickers of the wrong colors.\n // but once we do that initial hydration and we are in client side rendering mode,\n // we can avoid the extra re-render on mount\n canImmediatelyEnter ? defaultComponentStateShouldEnter : defaultComponentState\n ) : defaultComponentStateMounted;\n const disabled = isDisabled(props);\n if (disabled != null) {\n initialState.disabled = disabled;\n }\n const states = useState(initialState);\n const state = props.forceStyle ? { ...states[0], [props.forceStyle]: true } : states[0];\n const setState = states[1];\n let isAnimated = willBeAnimated;\n if (isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && !isHydrated) {\n isAnimated = false;\n curStateRef.willHydrate = true;\n }\n if (disabled !== state.disabled) {\n if (disabled) {\n Object.assign(state, defaultComponentStateMounted);\n }\n state.disabled = disabled;\n setState((_) => ({ ...state }));\n }\n const groupName = props.group;\n if (!stateRef.current.baseSetStateShallow) {\n const r = stateRef.current;\n r.baseSetStateShallow = (stateOrGetState) => {\n setState((prev) => {\n const next = typeof stateOrGetState === \"function\" ? stateOrGetState(prev) : stateOrGetState;\n const update = mergeIfNotShallowEqual(prev, next);\n if (process.env.NODE_ENV === \"development\") {\n const dbg = r.__debug;\n if (dbg && update !== prev) {\n console.groupCollapsed(`setStateShallow CHANGE`, \"=>\", update);\n console.info(`previously`, prev);\n console.trace();\n console.groupEnd();\n }\n }\n return update;\n });\n };\n }\n if (process.env.NODE_ENV === \"development\") {\n ;\n stateRef.current.__debug = props.debug;\n }\n const setStateShallow = stateRef.current.baseSetStateShallow;\n if (process.env.NODE_ENV === \"development\" && globalThis.time)\n globalThis.time`state-useCreateShallowSetState`;\n let outProps = props;\n if (presenceState && isAnimated && isHydrated && staticConfig.variants) {\n if (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n console.warn(\n formatDiagnostic(\n \"TAMAGUI_PRESENCE_STATE\",\n staticConfig.Component?.displayName || staticConfig.Component?.name || \"TamaguiComponent\",\n \"AnimatePresence supplied lifecycle state to an animated component\",\n 'Remove debug=\"verbose\" after inspecting the animation state',\n \"presenceState\",\n presenceState\n )\n );\n }\n const { custom } = presenceState;\n if (isObj(custom)) {\n outProps = { ...props, ...custom };\n }\n }\n let noClass = !isWeb || !!props.forceStyle;\n if (!isHydrated) {\n noClass = false;\n } else {\n if (isWeb && isHydrated) {\n const isAnimatedAndHydrated = isAnimated && isHydrated;\n const isClassNameDisabled = !staticConfig.acceptsClassName && (getSetting(\"disableSSR\") || !state.unmounted);\n const isDisabledManually = disableClassName && !state.unmounted;\n if (\n // Only disable className for animation drivers that output inline styles (not css)\n isAnimatedAndHydrated && outputStyle !== \"css\" || isDisabledManually || isClassNameDisabled\n ) {\n noClass = true;\n if (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n log(`avoiding className`, {\n isAnimatedAndHydrated,\n isDisabledManually,\n isClassNameDisabled\n });\n }\n }\n }\n }\n return {\n props: outProps,\n startedUnhydrated: curStateRef.startedUnhydrated,\n curStateRef,\n disabled,\n groupName,\n hasAnimationProp,\n hasEnterStyle,\n isAnimated,\n isExiting,\n isHydrated,\n presence,\n presenceState,\n setState,\n setStateShallow,\n noClass,\n state,\n stateRef,\n inputStyle,\n outputStyle,\n willBeAnimated,\n willBeAnimatedClient,\n platformPseudo\n };\n};\nfunction hasAnimatedStyleValue(style) {\n for (const k in style) {\n const val = style[k];\n if (val && typeof val === \"object\" && \"_animation\" in val) {\n return true;\n }\n }\n return false;\n}\nconst isDisabled = (props) => {\n return props.disabled || props.passThrough || props.accessibilityState?.disabled || props[\"aria-disabled\"] || props.accessibilityDisabled || false;\n};\nexport {\n useComponentState\n};\n//# sourceMappingURL=useComponentState.js.map\n"],"mappings":"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"}
@@ -21,41 +21,45 @@ var platformPseudoModifiers = /* @__PURE__ */ new Set([
21
21
  "focus"
22
22
  ]);
23
23
  var enterModifier = /* @__PURE__ */ new Set(["enter"]);
24
- var scanSource = "";
25
- var scanWanted = enterModifier;
26
- var scanFound = false;
27
- var scanRefused = false;
28
- var lifecycleVisitor = {
29
- segment(start, end, isBase) {
30
- if (start === end && !isBase) scanRefused = true;
24
+ var lifecycleHandler = {
25
+ segment(ctx, start, end, isBase, valid) {
26
+ var scan = ctx.flatScan;
27
+ if (!isBase && valid && start < end && scan[3]) scan[2] = true;
28
+ scan[3] = false;
31
29
  },
32
- chain(start, end) {
33
- if (scanRefused) return false;
30
+ chain(ctx, start, end, valid) {
31
+ var scan = ctx.flatScan;
32
+ scan[3] = false;
33
+ if (!valid) return true;
34
34
  for (var index = start; index <= end; index++) {
35
- if (index !== end && scanSource.charCodeAt(index) !== 58) continue;
36
- if (scanWanted.has(canonicalClauseModifier(scanSource.slice(start, index)))) {
37
- scanFound = true;
35
+ if (index !== end && scan[0].charCodeAt(index) !== 58) continue;
36
+ if (scan[1].has(canonicalClauseModifier(scan[0].slice(start, index)))) {
37
+ scan[3] = true;
38
38
  }
39
39
  start = index + 1;
40
40
  }
41
41
  return true;
42
- },
43
- error() {
44
- scanRefused = true;
45
42
  }
46
43
  };
47
- function hasFlatModifier(props, config, modifiers) {
44
+ function hasFlatModifier(props, config, modifiers, ctx) {
45
+ var _ctx;
46
+ var scan = (_ctx = ctx).flatScan || (_ctx.flatScan = [
47
+ "",
48
+ enterModifier,
49
+ false,
50
+ false
51
+ ]);
48
52
  for (var key in props) {
49
53
  var value = props[key];
50
54
  if (typeof value !== "string" || value.indexOf(":") === -1) continue;
51
55
  var property = config.shorthands[key] || key;
52
56
  if (!(property in stylePropsAll) && property !== "transition") continue;
53
- scanSource = value;
54
- scanWanted = modifiers;
55
- scanFound = false;
56
- scanRefused = false;
57
- scanFlatValue(value, lifecycleVisitor);
58
- if (scanFound && !scanRefused) return true;
57
+ scan[0] = value;
58
+ scan[1] = modifiers;
59
+ scan[2] = false;
60
+ scan[3] = false;
61
+ scanFlatValue(value, lifecycleHandler, ctx);
62
+ if (scan[2]) return true;
59
63
  }
60
64
  return false;
61
65
  }
@@ -82,7 +86,7 @@ var useComponentState = function(props, animationDriver, staticConfig, config) {
82
86
  if (!needsHydration && hasAnimationProp) {
83
87
  curStateRef.hasAnimated = true;
84
88
  }
85
- var platformPseudo = Boolean(!isHOC && useAnimations && (animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.avoidReRenders) && ((_getPlatformDriver = getPlatformDriver()) === null || _getPlatformDriver === void 0 ? void 0 : _getPlatformDriver.pseudo) && process.env.TAMAGUI_RUNTIME_STYLE_VALUE_GRAMMAR !== "disabled" && hasFlatModifier(props, config, platformPseudoModifiers));
89
+ var platformPseudo = Boolean(!isHOC && useAnimations && (animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.avoidReRenders) && ((_getPlatformDriver = getPlatformDriver()) === null || _getPlatformDriver === void 0 ? void 0 : _getPlatformDriver.pseudo) && hasFlatModifier(props, config, platformPseudoModifiers, curStateRef));
86
90
  var willBeAnimatedClient = (function() {
87
91
  var next = !!((hasAnimationProp || platformPseudo) && !isHOC && useAnimations);
88
92
  return Boolean(next || curStateRef.hasAnimated);
@@ -96,7 +100,7 @@ var useComponentState = function(props, animationDriver, staticConfig, config) {
96
100
  var presenceState = presence === null || presence === void 0 ? void 0 : presence[2];
97
101
  var isExiting = (presenceState === null || presenceState === void 0 ? void 0 : presenceState.isPresent) === false;
98
102
  var isEntering = (presenceState === null || presenceState === void 0 ? void 0 : presenceState.isPresent) === true && presenceState.initial !== false;
99
- var hasEnterStyle = process.env.TAMAGUI_RUNTIME_STYLE_VALUE_GRAMMAR !== "disabled" && hasFlatModifier(props, config, enterModifier);
103
+ var hasEnterStyle = hasFlatModifier(props, config, enterModifier, curStateRef);
100
104
  var hasAnimationThatNeedsHydrate = hasAnimationProp && !isHydrated && ((animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.isReactNative) || inputStyle !== "css");
101
105
  var canImmediatelyEnter = hasEnterStyle || isEntering;
102
106
  var shouldEnter = !isHOC && (hasEnterStyle || isEntering || hasAnimationThatNeedsHydrate || disableClassName);
@@ -1 +1 @@
1
- {"version":3,"file":"useComponentState.native.js","names":[],"sources":["esm/hooks/useComponentState.native.js"],"sourcesContent":["import { getPlatformDriver, isServer, isWeb } from \"@tamagui/constants\";\nimport { stylePropsAll } from \"@tamagui/helpers\";\nimport { canonicalClauseModifier, scanFlatValue } from \"@tamagui/style-grammar/runtime\";\nimport { mergeIfNotShallowEqual } from \"@tamagui/is-equal-shallow\";\nimport { useDidFinishSSR, useIsClientOnly } from \"@tamagui/use-did-finish-ssr\";\nimport { useRef, useState } from \"react\";\nimport { getSetting } from \"../config\";\nimport { formatDiagnostic } from \"../helpers/formatDiagnostic\";\nimport { isOptimizedForFirstRender } from \"./isOptimizedForFirstRender\";\nimport { defaultComponentState, defaultComponentStateMounted, defaultComponentStateShouldEnter } from \"../defaultComponentState\";\nimport { isObj } from \"../helpers/isObj\";\nimport { log } from \"../helpers/log\";\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nvar platformPseudoModifiers = /* @__PURE__ */ new Set([\n \"hover\",\n \"press\",\n \"focus\"\n]);\nvar enterModifier = /* @__PURE__ */ new Set([\n \"enter\"\n]);\nvar scanSource = \"\";\nvar scanWanted = enterModifier;\nvar scanFound = false;\nvar scanRefused = false;\nvar lifecycleVisitor = {\n segment(start, end, isBase) {\n if (start === end && !isBase) scanRefused = true;\n },\n chain(start, end) {\n if (scanRefused) return false;\n for (var index = start; index <= end; index++) {\n if (index !== end && scanSource.charCodeAt(index) !== 58) continue;\n if (scanWanted.has(canonicalClauseModifier(scanSource.slice(start, index)))) {\n scanFound = true;\n }\n start = index + 1;\n }\n return true;\n },\n error() {\n scanRefused = true;\n }\n};\nfunction hasFlatModifier(props, config, modifiers) {\n for (var key in props) {\n var value = props[key];\n if (typeof value !== \"string\" || value.indexOf(\":\") === -1) continue;\n var property = config.shorthands[key] || key;\n if (!(property in stylePropsAll) && property !== \"transition\") continue;\n scanSource = value;\n scanWanted = modifiers;\n scanFound = false;\n scanRefused = false;\n scanFlatValue(value, lifecycleVisitor);\n if (scanFound && !scanRefused) return true;\n }\n return false;\n}\nvar useComponentState = function(props, animationDriver, staticConfig, config) {\n \"use no memo\";\n var _getPlatformDriver, _animationDriver_usePresence;\n var isHydrated = useDidFinishSSR();\n var needsHydration = !useIsClientOnly();\n var useAnimations = (animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.isStub) ? void 0 : animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.useAnimations;\n var { isHOC } = staticConfig;\n var stateRef = useRef(\n // performance: avoid creating object every render\n void 0\n );\n if (!stateRef.current) {\n stateRef.current = {\n startedUnhydrated: needsHydration && !isHydrated,\n optimizeForFirstRender: isOptimizedForFirstRender()\n };\n }\n var hasAnimationProp = Boolean(!isHOC && \"transition\" in props || props.style && hasAnimatedStyleValue(props.style));\n var _animationDriver_inputStyle;\n var inputStyle = (_animationDriver_inputStyle = animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.inputStyle) !== null && _animationDriver_inputStyle !== void 0 ? _animationDriver_inputStyle : \"css\";\n var _animationDriver_outputStyle;\n var outputStyle = (_animationDriver_outputStyle = animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.outputStyle) !== null && _animationDriver_outputStyle !== void 0 ? _animationDriver_outputStyle : \"css\";\n var curStateRef = stateRef.current;\n if (!needsHydration && hasAnimationProp) {\n curStateRef.hasAnimated = true;\n }\n var platformPseudo = Boolean(!isHOC && useAnimations && (animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.avoidReRenders) && ((_getPlatformDriver = getPlatformDriver()) === null || _getPlatformDriver === void 0 ? void 0 : _getPlatformDriver.pseudo) && process.env.TAMAGUI_RUNTIME_STYLE_VALUE_GRAMMAR !== \"disabled\" && hasFlatModifier(props, config, platformPseudoModifiers));\n var willBeAnimatedClient = (function() {\n var next = !!((hasAnimationProp || platformPseudo) && !isHOC && useAnimations);\n return Boolean(next || curStateRef.hasAnimated);\n })();\n var willBeAnimated = !isServer && willBeAnimatedClient;\n if (willBeAnimated && !curStateRef.hasAnimated) {\n curStateRef.hasAnimated = true;\n }\n var { disableClassName } = props;\n var presence = !isHOC && willBeAnimated && props[\"animatePresence\"] !== false && (animationDriver === null || animationDriver === void 0 ? void 0 : (_animationDriver_usePresence = animationDriver.usePresence) === null || _animationDriver_usePresence === void 0 ? void 0 : _animationDriver_usePresence.call(animationDriver)) || null;\n var presenceState = presence === null || presence === void 0 ? void 0 : presence[2];\n var isExiting = (presenceState === null || presenceState === void 0 ? void 0 : presenceState.isPresent) === false;\n var isEntering = (presenceState === null || presenceState === void 0 ? void 0 : presenceState.isPresent) === true && presenceState.initial !== false;\n var hasEnterStyle = process.env.TAMAGUI_RUNTIME_STYLE_VALUE_GRAMMAR !== \"disabled\" && hasFlatModifier(props, config, enterModifier);\n var hasAnimationThatNeedsHydrate = hasAnimationProp && !isHydrated && ((animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.isReactNative) || inputStyle !== \"css\");\n var canImmediatelyEnter = hasEnterStyle || isEntering;\n var shouldEnter = !isHOC && (hasEnterStyle || isEntering || hasAnimationThatNeedsHydrate || // disableClassName doesnt work server side, only client, so needs hydrate\n // this is just for a better ux, supports css variables for light/dark, media queries, etc\n disableClassName);\n var initialState = shouldEnter ? (\n // on the very first render we switch all spring animation drivers to css rendering\n // this is because we need to use css variables, which they don't support to do proper SSR\n // without flickers of the wrong colors.\n // but once we do that initial hydration and we are in client side rendering mode,\n // we can avoid the extra re-render on mount\n canImmediatelyEnter ? defaultComponentStateShouldEnter : defaultComponentState\n ) : defaultComponentStateMounted;\n var disabled = isDisabled(props);\n if (disabled != null) {\n initialState.disabled = disabled;\n }\n var states = useState(initialState);\n var state = props.forceStyle ? {\n ...states[0],\n [props.forceStyle]: true\n } : states[0];\n var setState = states[1];\n var isAnimated = willBeAnimated;\n if (isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && !isHydrated) {\n isAnimated = false;\n curStateRef.willHydrate = true;\n }\n if (disabled !== state.disabled) {\n if (disabled) {\n Object.assign(state, defaultComponentStateMounted);\n }\n state.disabled = disabled;\n setState(function(_) {\n return {\n ...state\n };\n });\n }\n var groupName = props.group;\n if (!stateRef.current.baseSetStateShallow) {\n var r = stateRef.current;\n r.baseSetStateShallow = function(stateOrGetState) {\n setState(function(prev) {\n var next = typeof stateOrGetState === \"function\" ? stateOrGetState(prev) : stateOrGetState;\n var update = mergeIfNotShallowEqual(prev, next);\n if (process.env.NODE_ENV === \"development\") {\n var dbg = r.__debug;\n if (dbg && update !== prev) {\n console.groupCollapsed(`setStateShallow CHANGE`, \"=>\", update);\n console.info(`previously`, prev);\n console.trace();\n console.groupEnd();\n }\n }\n return update;\n });\n };\n }\n if (process.env.NODE_ENV === \"development\") {\n ;\n stateRef.current.__debug = props.debug;\n }\n var setStateShallow = stateRef.current.baseSetStateShallow;\n if (process.env.NODE_ENV === \"development\" && globalThis.time) globalThis.time`state-useCreateShallowSetState`;\n var outProps = props;\n if (presenceState && isAnimated && isHydrated && staticConfig.variants) {\n if (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n var _staticConfig_Component, _staticConfig_Component1;\n console.warn(formatDiagnostic(\"TAMAGUI_PRESENCE_STATE\", ((_staticConfig_Component = staticConfig.Component) === null || _staticConfig_Component === void 0 ? void 0 : _staticConfig_Component.displayName) || ((_staticConfig_Component1 = staticConfig.Component) === null || _staticConfig_Component1 === void 0 ? void 0 : _staticConfig_Component1.name) || \"TamaguiComponent\", \"AnimatePresence supplied lifecycle state to an animated component\", 'Remove debug=\"verbose\" after inspecting the animation state', \"presenceState\", presenceState));\n }\n var { custom } = presenceState;\n if (isObj(custom)) {\n outProps = {\n ...props,\n ...custom\n };\n }\n }\n var noClass = !isWeb || !!props.forceStyle;\n if (!isHydrated) {\n noClass = false;\n } else {\n if (isWeb && isHydrated) {\n var isAnimatedAndHydrated = isAnimated && isHydrated;\n var isClassNameDisabled = !staticConfig.acceptsClassName && (getSetting(\"disableSSR\") || !state.unmounted);\n var isDisabledManually = disableClassName && !state.unmounted;\n if (\n // Only disable className for animation drivers that output inline styles (not css)\n isAnimatedAndHydrated && outputStyle !== \"css\" || isDisabledManually || isClassNameDisabled\n ) {\n noClass = true;\n if (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n log(`avoiding className`, {\n isAnimatedAndHydrated,\n isDisabledManually,\n isClassNameDisabled\n });\n }\n }\n }\n }\n return {\n props: outProps,\n startedUnhydrated: curStateRef.startedUnhydrated,\n curStateRef,\n disabled,\n groupName,\n hasAnimationProp,\n hasEnterStyle,\n isAnimated,\n isExiting,\n isHydrated,\n presence,\n presenceState,\n setState,\n setStateShallow,\n noClass,\n state,\n stateRef,\n inputStyle,\n outputStyle,\n willBeAnimated,\n willBeAnimatedClient,\n platformPseudo\n };\n};\nfunction hasAnimatedStyleValue(style) {\n for (var k in style) {\n var val = style[k];\n if (val && (typeof val === \"undefined\" ? \"undefined\" : _type_of(val)) === \"object\" && \"_animation\" in val) {\n return true;\n }\n }\n return false;\n}\nvar isDisabled = function(props) {\n var _props_accessibilityState;\n return props.disabled || props.passThrough || ((_props_accessibilityState = props.accessibilityState) === null || _props_accessibilityState === void 0 ? void 0 : _props_accessibilityState.disabled) || props[\"aria-disabled\"] || props.accessibilityDisabled || false;\n};\nexport {\n useComponentState\n};\n//# sourceMappingURL=useComponentState.js.map\n"],"mappings":";;;;;;;;;;;;;;AAYA,SAAS,SAAS,KAAK;CACrB;CACA,OAAO,OAAO,OAAO,WAAW,eAAe,IAAI,gBAAgB,SAAS,WAAW,OAAO;AAChG;AACA,IAAI,0CAA0C,IAAI,IAAI;CACpD;CACA;CACA;AACF,CAAC;AACD,IAAI,gCAAgC,IAAI,IAAI,CAC1C,OACF,CAAC;AACD,IAAI,aAAa;AACjB,IAAI,aAAa;AACjB,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,mBAAmB;CACrB,QAAQ,OAAO,KAAK,QAAQ;EAC1B,IAAI,UAAU,OAAO,CAAC,QAAQ,cAAc;CAC9C;CACA,MAAM,OAAO,KAAK;EAChB,IAAI,aAAa,OAAO;EACxB,KAAK,IAAI,QAAQ,OAAO,SAAS,KAAK,SAAS;GAC7C,IAAI,UAAU,OAAO,WAAW,WAAW,KAAK,MAAM,IAAI;GAC1D,IAAI,WAAW,IAAI,wBAAwB,WAAW,MAAM,OAAO,KAAK,CAAC,CAAC,GAAG;IAC3E,YAAY;GACd;GACA,QAAQ,QAAQ;EAClB;EACA,OAAO;CACT;CACA,QAAQ;EACN,cAAc;CAChB;AACF;AACA,SAAS,gBAAgB,OAAO,QAAQ,WAAW;CACjD,KAAK,IAAI,OAAO,OAAO;EACrB,IAAI,QAAQ,MAAM;EAClB,IAAI,OAAO,UAAU,YAAY,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG;EAC5D,IAAI,WAAW,OAAO,WAAW,QAAQ;EACzC,IAAI,EAAE,YAAY,kBAAkB,aAAa,cAAc;EAC/D,aAAa;EACb,aAAa;EACb,YAAY;EACZ,cAAc;EACd,cAAc,OAAO,gBAAgB;EACrC,IAAI,aAAa,CAAC,aAAa,OAAO;CACxC;CACA,OAAO;AACT;AACA,IAAI,oBAAoB,SAAS,OAAO,iBAAiB,cAAc,QAAQ;CAC7E;CACA,IAAI,oBAAoB;CACxB,IAAI,aAAa,gBAAgB;CACjC,IAAI,iBAAiB,CAAC,gBAAgB;CACtC,IAAI,iBAAiB,oBAAoB,QAAQ,oBAAoB,KAAK,IAAI,KAAK,IAAI,gBAAgB,UAAU,KAAK,IAAI,oBAAoB,QAAQ,oBAAoB,KAAK,IAAI,KAAK,IAAI,gBAAgB;CAC5M,IAAI,EAAE,UAAU;CAChB,IAAI,WAAW,OAEb,KAAK,CACP;CACA,IAAI,CAAC,SAAS,SAAS;EACrB,SAAS,UAAU;GACjB,mBAAmB,kBAAkB,CAAC;GACtC,wBAAwB,0BAA0B;EACpD;CACF;CACA,IAAI,mBAAmB,QAAQ,CAAC,SAAS,gBAAgB,SAAS,MAAM,SAAS,sBAAsB,MAAM,KAAK,CAAC;CACnH,IAAI;CACJ,IAAI,cAAc,8BAA8B,oBAAoB,QAAQ,oBAAoB,KAAK,IAAI,KAAK,IAAI,gBAAgB,gBAAgB,QAAQ,gCAAgC,KAAK,IAAI,8BAA8B;CACjO,IAAI;CACJ,IAAI,eAAe,+BAA+B,oBAAoB,QAAQ,oBAAoB,KAAK,IAAI,KAAK,IAAI,gBAAgB,iBAAiB,QAAQ,iCAAiC,KAAK,IAAI,+BAA+B;CACtO,IAAI,cAAc,SAAS;CAC3B,IAAI,CAAC,kBAAkB,kBAAkB;EACvC,YAAY,cAAc;CAC5B;CACA,IAAI,iBAAiB,QAAQ,CAAC,SAAS,kBAAkB,oBAAoB,QAAQ,oBAAoB,KAAK,IAAI,KAAK,IAAI,gBAAgB,qBAAqB,qBAAqB,kBAAkB,OAAO,QAAQ,uBAAuB,KAAK,IAAI,KAAK,IAAI,mBAAmB,WAAW,QAAQ,IAAI,wCAAwC,cAAc,gBAAgB,OAAO,QAAQ,uBAAuB,CAAC;CACtZ,IAAI,wBAAwB,WAAW;EACrC,IAAI,OAAO,CAAC,GAAG,oBAAoB,mBAAmB,CAAC,SAAS;EAChE,OAAO,QAAQ,QAAQ,YAAY,WAAW;CAChD,GAAG;CACH,IAAI,iBAAiB,CAAC,YAAY;CAClC,IAAI,kBAAkB,CAAC,YAAY,aAAa;EAC9C,YAAY,cAAc;CAC5B;CACA,IAAI,EAAE,qBAAqB;CAC3B,IAAI,WAAW,CAAC,SAAS,kBAAkB,MAAM,uBAAuB,UAAU,oBAAoB,QAAQ,oBAAoB,KAAK,IAAI,KAAK,KAAK,+BAA+B,gBAAgB,iBAAiB,QAAQ,iCAAiC,KAAK,IAAI,KAAK,IAAI,6BAA6B,KAAK,eAAe,MAAM;CACvU,IAAI,gBAAgB,aAAa,QAAQ,aAAa,KAAK,IAAI,KAAK,IAAI,SAAS;CACjF,IAAI,aAAa,kBAAkB,QAAQ,kBAAkB,KAAK,IAAI,KAAK,IAAI,cAAc,eAAe;CAC5G,IAAI,cAAc,kBAAkB,QAAQ,kBAAkB,KAAK,IAAI,KAAK,IAAI,cAAc,eAAe,QAAQ,cAAc,YAAY;CAC/I,IAAI,gBAAgB,QAAQ,IAAI,wCAAwC,cAAc,gBAAgB,OAAO,QAAQ,aAAa;CAClI,IAAI,+BAA+B,oBAAoB,CAAC,gBAAgB,oBAAoB,QAAQ,oBAAoB,KAAK,IAAI,KAAK,IAAI,gBAAgB,kBAAkB,eAAe;CAC3L,IAAI,sBAAsB,iBAAiB;CAC3C,IAAI,cAAc,CAAC,UAAU,iBAAiB,cAAc,gCAE5D;CACA,IAAI,eAAe,cAMjB,sBAAsB,mCAAmC,wBACvD;CACJ,IAAI,WAAW,WAAW,KAAK;CAC/B,IAAI,YAAY,MAAM;EACpB,aAAa,WAAW;CAC1B;CACA,IAAI,SAAS,SAAS,YAAY;CAClC,IAAI,QAAQ,MAAM,aAAa;EAC7B,GAAG,OAAO;GACT,MAAM,aAAa;CACtB,IAAI,OAAO;CACX,IAAI,WAAW,OAAO;CACtB,IAAI,aAAa;CACjB,IAAI,SAAS,gCAAgC,CAAC,aAAa,SAAS,CAAC,YAAY;EAC/E,aAAa;EACb,YAAY,cAAc;CAC5B;CACA,IAAI,aAAa,MAAM,UAAU;EAC/B,IAAI,UAAU;GACZ,OAAO,OAAO,OAAO,4BAA4B;EACnD;EACA,MAAM,WAAW;EACjB,SAAS,SAAS,GAAG;GACnB,OAAO,EACL,GAAG,MACL;EACF,CAAC;CACH;CACA,IAAI,YAAY,MAAM;CACtB,IAAI,CAAC,SAAS,QAAQ,qBAAqB;EACzC,IAAI,IAAI,SAAS;EACjB,EAAE,sBAAsB,SAAS,iBAAiB;GAChD,SAAS,SAAS,MAAM;IACtB,IAAI,OAAO,OAAO,oBAAoB,aAAa,gBAAgB,IAAI,IAAI;IAC3E,IAAI,SAAS,uBAAuB,MAAM,IAAI;IAC9C,IAAI,QAAQ,IAAI,aAAa,eAAe;KAC1C,IAAI,MAAM,EAAE;KACZ,IAAI,OAAO,WAAW,MAAM;MAC1B,QAAQ,eAAe,0BAA0B,MAAM,MAAM;MAC7D,QAAQ,KAAK,cAAc,IAAI;MAC/B,QAAQ,MAAM;MACd,QAAQ,SAAS;KACnB;IACF;IACA,OAAO;GACT,CAAC;EACH;CACF;CACA,IAAI,QAAQ,IAAI,aAAa,eAAe;EAC1C;EACA,SAAS,QAAQ,UAAU,MAAM;CACnC;CACA,IAAI,kBAAkB,SAAS,QAAQ;CACvC,IAAI,QAAQ,IAAI,aAAa,iBAAiB,WAAW,MAAM,WAAW,IAAI;CAC9E,IAAI,WAAW;CACf,IAAI,iBAAiB,cAAc,cAAc,aAAa,UAAU;EACtE,IAAI,QAAQ,IAAI,aAAa,iBAAiB,MAAM,UAAU,WAAW;GACvE,IAAI,yBAAyB;GAC7B,QAAQ,KAAK,iBAAiB,4BAA4B,0BAA0B,aAAa,eAAe,QAAQ,4BAA4B,KAAK,IAAI,KAAK,IAAI,wBAAwB,kBAAkB,2BAA2B,aAAa,eAAe,QAAQ,6BAA6B,KAAK,IAAI,KAAK,IAAI,yBAAyB,SAAS,oBAAoB,qEAAqE,iEAA+D,iBAAiB,aAAa,CAAC;EACzhB;EACA,IAAI,EAAE,WAAW;EACjB,IAAI,MAAM,MAAM,GAAG;GACjB,WAAW;IACT,GAAG;IACH,GAAG;GACL;EACF;CACF;CACA,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM;CAChC,IAAI,CAAC,YAAY;EACf,UAAU;CACZ,OAAO;EACL,IAAI,SAAS,YAAY;GACvB,IAAI,wBAAwB,cAAc;GAC1C,IAAI,sBAAsB,CAAC,aAAa,qBAAqB,WAAW,YAAY,KAAK,CAAC,MAAM;GAChG,IAAI,qBAAqB,oBAAoB,CAAC,MAAM;GACpD,IAEE,yBAAyB,gBAAgB,SAAS,sBAAsB,qBACxE;IACA,UAAU;IACV,IAAI,QAAQ,IAAI,aAAa,iBAAiB,MAAM,UAAU,WAAW;KACvE,IAAI,sBAAsB;MACxB;MACA;MACA;KACF,CAAC;IACH;GACF;EACF;CACF;CACA,OAAO;EACL,OAAO;EACP,mBAAmB,YAAY;EAC/B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF;AACA,SAAS,sBAAsB,OAAO;CACpC,KAAK,IAAI,KAAK,OAAO;EACnB,IAAI,MAAM,MAAM;EAChB,IAAI,QAAQ,OAAO,QAAQ,cAAc,cAAc,SAAS,GAAG,OAAO,YAAY,gBAAgB,KAAK;GACzG,OAAO;EACT;CACF;CACA,OAAO;AACT;AACA,IAAI,aAAa,SAAS,OAAO;CAC/B,IAAI;CACJ,OAAO,MAAM,YAAY,MAAM,iBAAiB,4BAA4B,MAAM,wBAAwB,QAAQ,8BAA8B,KAAK,IAAI,KAAK,IAAI,0BAA0B,aAAa,MAAM,oBAAoB,MAAM,yBAAyB;AACpQ"}
1
+ {"version":3,"file":"useComponentState.native.js","names":[],"sources":["esm/hooks/useComponentState.native.js"],"sourcesContent":["import { getPlatformDriver, isServer, isWeb } from \"@tamagui/constants\";\nimport { stylePropsAll } from \"@tamagui/helpers\";\nimport { canonicalClauseModifier, scanFlatValue } from \"@tamagui/style-grammar/runtime\";\nimport { mergeIfNotShallowEqual } from \"@tamagui/is-equal-shallow\";\nimport { useDidFinishSSR, useIsClientOnly } from \"@tamagui/use-did-finish-ssr\";\nimport { useRef, useState } from \"react\";\nimport { getSetting } from \"../config\";\nimport { formatDiagnostic } from \"../helpers/formatDiagnostic\";\nimport { isOptimizedForFirstRender } from \"./isOptimizedForFirstRender\";\nimport { defaultComponentState, defaultComponentStateMounted, defaultComponentStateShouldEnter } from \"../defaultComponentState\";\nimport { isObj } from \"../helpers/isObj\";\nimport { log } from \"../helpers/log\";\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nvar platformPseudoModifiers = /* @__PURE__ */ new Set([\n \"hover\",\n \"press\",\n \"focus\"\n]);\nvar enterModifier = /* @__PURE__ */ new Set([\n \"enter\"\n]);\nvar lifecycleHandler = {\n segment(ctx, start, end, isBase, valid) {\n var scan = ctx.flatScan;\n if (!isBase && valid && start < end && scan[3]) scan[2] = true;\n scan[3] = false;\n },\n chain(ctx, start, end, valid) {\n var scan = ctx.flatScan;\n scan[3] = false;\n if (!valid) return true;\n for (var index = start; index <= end; index++) {\n if (index !== end && scan[0].charCodeAt(index) !== 58) continue;\n if (scan[1].has(canonicalClauseModifier(scan[0].slice(start, index)))) {\n scan[3] = true;\n }\n start = index + 1;\n }\n return true;\n }\n};\nfunction hasFlatModifier(props, config, modifiers, ctx) {\n var _ctx;\n var scan = (_ctx = ctx).flatScan || (_ctx.flatScan = [\n \"\",\n enterModifier,\n false,\n false\n ]);\n for (var key in props) {\n var value = props[key];\n if (typeof value !== \"string\" || value.indexOf(\":\") === -1) continue;\n var property = config.shorthands[key] || key;\n if (!(property in stylePropsAll) && property !== \"transition\") continue;\n scan[0] = value;\n scan[1] = modifiers;\n scan[2] = false;\n scan[3] = false;\n scanFlatValue(value, lifecycleHandler, ctx);\n if (scan[2]) return true;\n }\n return false;\n}\nvar useComponentState = function(props, animationDriver, staticConfig, config) {\n \"use no memo\";\n var _getPlatformDriver, _animationDriver_usePresence;\n var isHydrated = useDidFinishSSR();\n var needsHydration = !useIsClientOnly();\n var useAnimations = (animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.isStub) ? void 0 : animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.useAnimations;\n var { isHOC } = staticConfig;\n var stateRef = useRef(\n // performance: avoid creating object every render\n void 0\n );\n if (!stateRef.current) {\n stateRef.current = {\n startedUnhydrated: needsHydration && !isHydrated,\n optimizeForFirstRender: isOptimizedForFirstRender()\n };\n }\n var hasAnimationProp = Boolean(!isHOC && \"transition\" in props || props.style && hasAnimatedStyleValue(props.style));\n var _animationDriver_inputStyle;\n var inputStyle = (_animationDriver_inputStyle = animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.inputStyle) !== null && _animationDriver_inputStyle !== void 0 ? _animationDriver_inputStyle : \"css\";\n var _animationDriver_outputStyle;\n var outputStyle = (_animationDriver_outputStyle = animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.outputStyle) !== null && _animationDriver_outputStyle !== void 0 ? _animationDriver_outputStyle : \"css\";\n var curStateRef = stateRef.current;\n if (!needsHydration && hasAnimationProp) {\n curStateRef.hasAnimated = true;\n }\n var platformPseudo = Boolean(!isHOC && useAnimations && (animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.avoidReRenders) && ((_getPlatformDriver = getPlatformDriver()) === null || _getPlatformDriver === void 0 ? void 0 : _getPlatformDriver.pseudo) && hasFlatModifier(props, config, platformPseudoModifiers, curStateRef));\n var willBeAnimatedClient = (function() {\n var next = !!((hasAnimationProp || platformPseudo) && !isHOC && useAnimations);\n return Boolean(next || curStateRef.hasAnimated);\n })();\n var willBeAnimated = !isServer && willBeAnimatedClient;\n if (willBeAnimated && !curStateRef.hasAnimated) {\n curStateRef.hasAnimated = true;\n }\n var { disableClassName } = props;\n var presence = !isHOC && willBeAnimated && props[\"animatePresence\"] !== false && (animationDriver === null || animationDriver === void 0 ? void 0 : (_animationDriver_usePresence = animationDriver.usePresence) === null || _animationDriver_usePresence === void 0 ? void 0 : _animationDriver_usePresence.call(animationDriver)) || null;\n var presenceState = presence === null || presence === void 0 ? void 0 : presence[2];\n var isExiting = (presenceState === null || presenceState === void 0 ? void 0 : presenceState.isPresent) === false;\n var isEntering = (presenceState === null || presenceState === void 0 ? void 0 : presenceState.isPresent) === true && presenceState.initial !== false;\n var hasEnterStyle = hasFlatModifier(props, config, enterModifier, curStateRef);\n var hasAnimationThatNeedsHydrate = hasAnimationProp && !isHydrated && ((animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.isReactNative) || inputStyle !== \"css\");\n var canImmediatelyEnter = hasEnterStyle || isEntering;\n var shouldEnter = !isHOC && (hasEnterStyle || isEntering || hasAnimationThatNeedsHydrate || // disableClassName doesnt work server side, only client, so needs hydrate\n // this is just for a better ux, supports css variables for light/dark, media queries, etc\n disableClassName);\n var initialState = shouldEnter ? (\n // on the very first render we switch all spring animation drivers to css rendering\n // this is because we need to use css variables, which they don't support to do proper SSR\n // without flickers of the wrong colors.\n // but once we do that initial hydration and we are in client side rendering mode,\n // we can avoid the extra re-render on mount\n canImmediatelyEnter ? defaultComponentStateShouldEnter : defaultComponentState\n ) : defaultComponentStateMounted;\n var disabled = isDisabled(props);\n if (disabled != null) {\n initialState.disabled = disabled;\n }\n var states = useState(initialState);\n var state = props.forceStyle ? {\n ...states[0],\n [props.forceStyle]: true\n } : states[0];\n var setState = states[1];\n var isAnimated = willBeAnimated;\n if (isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && !isHydrated) {\n isAnimated = false;\n curStateRef.willHydrate = true;\n }\n if (disabled !== state.disabled) {\n if (disabled) {\n Object.assign(state, defaultComponentStateMounted);\n }\n state.disabled = disabled;\n setState(function(_) {\n return {\n ...state\n };\n });\n }\n var groupName = props.group;\n if (!stateRef.current.baseSetStateShallow) {\n var r = stateRef.current;\n r.baseSetStateShallow = function(stateOrGetState) {\n setState(function(prev) {\n var next = typeof stateOrGetState === \"function\" ? stateOrGetState(prev) : stateOrGetState;\n var update = mergeIfNotShallowEqual(prev, next);\n if (process.env.NODE_ENV === \"development\") {\n var dbg = r.__debug;\n if (dbg && update !== prev) {\n console.groupCollapsed(`setStateShallow CHANGE`, \"=>\", update);\n console.info(`previously`, prev);\n console.trace();\n console.groupEnd();\n }\n }\n return update;\n });\n };\n }\n if (process.env.NODE_ENV === \"development\") {\n ;\n stateRef.current.__debug = props.debug;\n }\n var setStateShallow = stateRef.current.baseSetStateShallow;\n if (process.env.NODE_ENV === \"development\" && globalThis.time) globalThis.time`state-useCreateShallowSetState`;\n var outProps = props;\n if (presenceState && isAnimated && isHydrated && staticConfig.variants) {\n if (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n var _staticConfig_Component, _staticConfig_Component1;\n console.warn(formatDiagnostic(\"TAMAGUI_PRESENCE_STATE\", ((_staticConfig_Component = staticConfig.Component) === null || _staticConfig_Component === void 0 ? void 0 : _staticConfig_Component.displayName) || ((_staticConfig_Component1 = staticConfig.Component) === null || _staticConfig_Component1 === void 0 ? void 0 : _staticConfig_Component1.name) || \"TamaguiComponent\", \"AnimatePresence supplied lifecycle state to an animated component\", 'Remove debug=\"verbose\" after inspecting the animation state', \"presenceState\", presenceState));\n }\n var { custom } = presenceState;\n if (isObj(custom)) {\n outProps = {\n ...props,\n ...custom\n };\n }\n }\n var noClass = !isWeb || !!props.forceStyle;\n if (!isHydrated) {\n noClass = false;\n } else {\n if (isWeb && isHydrated) {\n var isAnimatedAndHydrated = isAnimated && isHydrated;\n var isClassNameDisabled = !staticConfig.acceptsClassName && (getSetting(\"disableSSR\") || !state.unmounted);\n var isDisabledManually = disableClassName && !state.unmounted;\n if (\n // Only disable className for animation drivers that output inline styles (not css)\n isAnimatedAndHydrated && outputStyle !== \"css\" || isDisabledManually || isClassNameDisabled\n ) {\n noClass = true;\n if (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n log(`avoiding className`, {\n isAnimatedAndHydrated,\n isDisabledManually,\n isClassNameDisabled\n });\n }\n }\n }\n }\n return {\n props: outProps,\n startedUnhydrated: curStateRef.startedUnhydrated,\n curStateRef,\n disabled,\n groupName,\n hasAnimationProp,\n hasEnterStyle,\n isAnimated,\n isExiting,\n isHydrated,\n presence,\n presenceState,\n setState,\n setStateShallow,\n noClass,\n state,\n stateRef,\n inputStyle,\n outputStyle,\n willBeAnimated,\n willBeAnimatedClient,\n platformPseudo\n };\n};\nfunction hasAnimatedStyleValue(style) {\n for (var k in style) {\n var val = style[k];\n if (val && (typeof val === \"undefined\" ? \"undefined\" : _type_of(val)) === \"object\" && \"_animation\" in val) {\n return true;\n }\n }\n return false;\n}\nvar isDisabled = function(props) {\n var _props_accessibilityState;\n return props.disabled || props.passThrough || ((_props_accessibilityState = props.accessibilityState) === null || _props_accessibilityState === void 0 ? void 0 : _props_accessibilityState.disabled) || props[\"aria-disabled\"] || props.accessibilityDisabled || false;\n};\nexport {\n useComponentState\n};\n//# sourceMappingURL=useComponentState.js.map\n"],"mappings":";;;;;;;;;;;;;;AAYA,SAAS,SAAS,KAAK;CACrB;CACA,OAAO,OAAO,OAAO,WAAW,eAAe,IAAI,gBAAgB,SAAS,WAAW,OAAO;AAChG;AACA,IAAI,0CAA0C,IAAI,IAAI;CACpD;CACA;CACA;AACF,CAAC;AACD,IAAI,gCAAgC,IAAI,IAAI,CAC1C,OACF,CAAC;AACD,IAAI,mBAAmB;CACrB,QAAQ,KAAK,OAAO,KAAK,QAAQ,OAAO;EACtC,IAAI,OAAO,IAAI;EACf,IAAI,CAAC,UAAU,SAAS,QAAQ,OAAO,KAAK,IAAI,KAAK,KAAK;EAC1D,KAAK,KAAK;CACZ;CACA,MAAM,KAAK,OAAO,KAAK,OAAO;EAC5B,IAAI,OAAO,IAAI;EACf,KAAK,KAAK;EACV,IAAI,CAAC,OAAO,OAAO;EACnB,KAAK,IAAI,QAAQ,OAAO,SAAS,KAAK,SAAS;GAC7C,IAAI,UAAU,OAAO,KAAK,EAAE,CAAC,WAAW,KAAK,MAAM,IAAI;GACvD,IAAI,KAAK,EAAE,CAAC,IAAI,wBAAwB,KAAK,EAAE,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC,GAAG;IACrE,KAAK,KAAK;GACZ;GACA,QAAQ,QAAQ;EAClB;EACA,OAAO;CACT;AACF;AACA,SAAS,gBAAgB,OAAO,QAAQ,WAAW,KAAK;CACtD,IAAI;CACJ,IAAI,QAAQ,OAAO,IAAG,CAAE,aAAa,KAAK,WAAW;EACnD;EACA;EACA;EACA;CACF;CACA,KAAK,IAAI,OAAO,OAAO;EACrB,IAAI,QAAQ,MAAM;EAClB,IAAI,OAAO,UAAU,YAAY,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG;EAC5D,IAAI,WAAW,OAAO,WAAW,QAAQ;EACzC,IAAI,EAAE,YAAY,kBAAkB,aAAa,cAAc;EAC/D,KAAK,KAAK;EACV,KAAK,KAAK;EACV,KAAK,KAAK;EACV,KAAK,KAAK;EACV,cAAc,OAAO,kBAAkB,GAAG;EAC1C,IAAI,KAAK,IAAI,OAAO;CACtB;CACA,OAAO;AACT;AACA,IAAI,oBAAoB,SAAS,OAAO,iBAAiB,cAAc,QAAQ;CAC7E;CACA,IAAI,oBAAoB;CACxB,IAAI,aAAa,gBAAgB;CACjC,IAAI,iBAAiB,CAAC,gBAAgB;CACtC,IAAI,iBAAiB,oBAAoB,QAAQ,oBAAoB,KAAK,IAAI,KAAK,IAAI,gBAAgB,UAAU,KAAK,IAAI,oBAAoB,QAAQ,oBAAoB,KAAK,IAAI,KAAK,IAAI,gBAAgB;CAC5M,IAAI,EAAE,UAAU;CAChB,IAAI,WAAW,OAEb,KAAK,CACP;CACA,IAAI,CAAC,SAAS,SAAS;EACrB,SAAS,UAAU;GACjB,mBAAmB,kBAAkB,CAAC;GACtC,wBAAwB,0BAA0B;EACpD;CACF;CACA,IAAI,mBAAmB,QAAQ,CAAC,SAAS,gBAAgB,SAAS,MAAM,SAAS,sBAAsB,MAAM,KAAK,CAAC;CACnH,IAAI;CACJ,IAAI,cAAc,8BAA8B,oBAAoB,QAAQ,oBAAoB,KAAK,IAAI,KAAK,IAAI,gBAAgB,gBAAgB,QAAQ,gCAAgC,KAAK,IAAI,8BAA8B;CACjO,IAAI;CACJ,IAAI,eAAe,+BAA+B,oBAAoB,QAAQ,oBAAoB,KAAK,IAAI,KAAK,IAAI,gBAAgB,iBAAiB,QAAQ,iCAAiC,KAAK,IAAI,+BAA+B;CACtO,IAAI,cAAc,SAAS;CAC3B,IAAI,CAAC,kBAAkB,kBAAkB;EACvC,YAAY,cAAc;CAC5B;CACA,IAAI,iBAAiB,QAAQ,CAAC,SAAS,kBAAkB,oBAAoB,QAAQ,oBAAoB,KAAK,IAAI,KAAK,IAAI,gBAAgB,qBAAqB,qBAAqB,kBAAkB,OAAO,QAAQ,uBAAuB,KAAK,IAAI,KAAK,IAAI,mBAAmB,WAAW,gBAAgB,OAAO,QAAQ,yBAAyB,WAAW,CAAC;CACjW,IAAI,wBAAwB,WAAW;EACrC,IAAI,OAAO,CAAC,GAAG,oBAAoB,mBAAmB,CAAC,SAAS;EAChE,OAAO,QAAQ,QAAQ,YAAY,WAAW;CAChD,EAAC,CAAE;CACH,IAAI,iBAAiB,CAAC,YAAY;CAClC,IAAI,kBAAkB,CAAC,YAAY,aAAa;EAC9C,YAAY,cAAc;CAC5B;CACA,IAAI,EAAE,qBAAqB;CAC3B,IAAI,WAAW,CAAC,SAAS,kBAAkB,MAAM,uBAAuB,UAAU,oBAAoB,QAAQ,oBAAoB,KAAK,IAAI,KAAK,KAAK,+BAA+B,gBAAgB,iBAAiB,QAAQ,iCAAiC,KAAK,IAAI,KAAK,IAAI,6BAA6B,KAAK,eAAe,MAAM;CACvU,IAAI,gBAAgB,aAAa,QAAQ,aAAa,KAAK,IAAI,KAAK,IAAI,SAAS;CACjF,IAAI,aAAa,kBAAkB,QAAQ,kBAAkB,KAAK,IAAI,KAAK,IAAI,cAAc,eAAe;CAC5G,IAAI,cAAc,kBAAkB,QAAQ,kBAAkB,KAAK,IAAI,KAAK,IAAI,cAAc,eAAe,QAAQ,cAAc,YAAY;CAC/I,IAAI,gBAAgB,gBAAgB,OAAO,QAAQ,eAAe,WAAW;CAC7E,IAAI,+BAA+B,oBAAoB,CAAC,gBAAgB,oBAAoB,QAAQ,oBAAoB,KAAK,IAAI,KAAK,IAAI,gBAAgB,kBAAkB,eAAe;CAC3L,IAAI,sBAAsB,iBAAiB;CAC3C,IAAI,cAAc,CAAC,UAAU,iBAAiB,cAAc,gCAE5D;CACA,IAAI,eAAe,cAMjB,sBAAsB,mCAAmC,wBACvD;CACJ,IAAI,WAAW,WAAW,KAAK;CAC/B,IAAI,YAAY,MAAM;EACpB,aAAa,WAAW;CAC1B;CACA,IAAI,SAAS,SAAS,YAAY;CAClC,IAAI,QAAQ,MAAM,aAAa;EAC7B,GAAG,OAAO;GACT,MAAM,aAAa;CACtB,IAAI,OAAO;CACX,IAAI,WAAW,OAAO;CACtB,IAAI,aAAa;CACjB,IAAI,SAAS,gCAAgC,CAAC,aAAa,SAAS,CAAC,YAAY;EAC/E,aAAa;EACb,YAAY,cAAc;CAC5B;CACA,IAAI,aAAa,MAAM,UAAU;EAC/B,IAAI,UAAU;GACZ,OAAO,OAAO,OAAO,4BAA4B;EACnD;EACA,MAAM,WAAW;EACjB,SAAS,SAAS,GAAG;GACnB,OAAO,EACL,GAAG,MACL;EACF,CAAC;CACH;CACA,IAAI,YAAY,MAAM;CACtB,IAAI,CAAC,SAAS,QAAQ,qBAAqB;EACzC,IAAI,IAAI,SAAS;EACjB,EAAE,sBAAsB,SAAS,iBAAiB;GAChD,SAAS,SAAS,MAAM;IACtB,IAAI,OAAO,OAAO,oBAAoB,aAAa,gBAAgB,IAAI,IAAI;IAC3E,IAAI,SAAS,uBAAuB,MAAM,IAAI;IAC9C,IAAI,QAAQ,IAAI,aAAa,eAAe;KAC1C,IAAI,MAAM,EAAE;KACZ,IAAI,OAAO,WAAW,MAAM;MAC1B,QAAQ,eAAe,0BAA0B,MAAM,MAAM;MAC7D,QAAQ,KAAK,cAAc,IAAI;MAC/B,QAAQ,MAAM;MACd,QAAQ,SAAS;KACnB;IACF;IACA,OAAO;GACT,CAAC;EACH;CACF;CACA,IAAI,QAAQ,IAAI,aAAa,eAAe;EAC1C;EACA,SAAS,QAAQ,UAAU,MAAM;CACnC;CACA,IAAI,kBAAkB,SAAS,QAAQ;CACvC,IAAI,QAAQ,IAAI,aAAa,iBAAiB,WAAW,MAAM,WAAW,IAAI;CAC9E,IAAI,WAAW;CACf,IAAI,iBAAiB,cAAc,cAAc,aAAa,UAAU;EACtE,IAAI,QAAQ,IAAI,aAAa,iBAAiB,MAAM,UAAU,WAAW;GACvE,IAAI,yBAAyB;GAC7B,QAAQ,KAAK,iBAAiB,4BAA4B,0BAA0B,aAAa,eAAe,QAAQ,4BAA4B,KAAK,IAAI,KAAK,IAAI,wBAAwB,kBAAkB,2BAA2B,aAAa,eAAe,QAAQ,6BAA6B,KAAK,IAAI,KAAK,IAAI,yBAAyB,SAAS,oBAAoB,qEAAqE,iEAA+D,iBAAiB,aAAa,CAAC;EACzhB;EACA,IAAI,EAAE,WAAW;EACjB,IAAI,MAAM,MAAM,GAAG;GACjB,WAAW;IACT,GAAG;IACH,GAAG;GACL;EACF;CACF;CACA,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM;CAChC,IAAI,CAAC,YAAY;EACf,UAAU;CACZ,OAAO;EACL,IAAI,SAAS,YAAY;GACvB,IAAI,wBAAwB,cAAc;GAC1C,IAAI,sBAAsB,CAAC,aAAa,qBAAqB,WAAW,YAAY,KAAK,CAAC,MAAM;GAChG,IAAI,qBAAqB,oBAAoB,CAAC,MAAM;GACpD,IAEE,yBAAyB,gBAAgB,SAAS,sBAAsB,qBACxE;IACA,UAAU;IACV,IAAI,QAAQ,IAAI,aAAa,iBAAiB,MAAM,UAAU,WAAW;KACvE,IAAI,sBAAsB;MACxB;MACA;MACA;KACF,CAAC;IACH;GACF;EACF;CACF;CACA,OAAO;EACL,OAAO;EACP,mBAAmB,YAAY;EAC/B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF;AACA,SAAS,sBAAsB,OAAO;CACpC,KAAK,IAAI,KAAK,OAAO;EACnB,IAAI,MAAM,MAAM;EAChB,IAAI,QAAQ,OAAO,QAAQ,cAAc,cAAc,SAAS,GAAG,OAAO,YAAY,gBAAgB,KAAK;GACzG,OAAO;EACT;CACF;CACA,OAAO;AACT;AACA,IAAI,aAAa,SAAS,OAAO;CAC/B,IAAI;CACJ,OAAO,MAAM,YAAY,MAAM,iBAAiB,4BAA4B,MAAM,wBAAwB,QAAQ,8BAA8B,KAAK,IAAI,KAAK,IAAI,0BAA0B,aAAa,MAAM,oBAAoB,MAAM,yBAAyB;AACpQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMedia.js","names":[],"sources":["esm/hooks/useMedia.js"],"sourcesContent":["import { isServer, isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { useEffect, useReducer, useRef } from \"react\";\nimport { getSetting } from \"../config\";\nimport { formatDiagnostic } from \"../helpers/formatDiagnostic\";\nimport { isOptimizedForFirstRender } from \"./isOptimizedForFirstRender\";\nimport { matchMedia } from \"../helpers/matchMedia\";\nimport { mediaObjectToString } from \"../helpers/mediaObjectToString\";\nimport {\n getMedia,\n mediaKeys,\n mediaQueryConfig,\n setMediaState\n} from \"../helpers/mediaState\";\nlet initState;\nconst dispose = /* @__PURE__ */ new Set();\nlet mediaVersion = 0;\nconst configureMedia = (config) => {\n const { media } = config;\n const mediaQueryDefaultActive = getSetting(\"mediaQueryDefaultActive\");\n if (!media) return;\n mediaVersion++;\n resetMediaTouchTracker();\n publishedState = null;\n for (const key in media) {\n getMedia()[key] = mediaQueryDefaultActive?.[key] || false;\n mediaKeys.add(key);\n }\n Object.assign(mediaQueryConfig, media);\n initState = { ...getMedia() };\n setupMediaListeners();\n};\nfunction unlisten() {\n dispose.forEach((cb) => cb());\n dispose.clear();\n}\nlet setupVersion = -1;\nfunction setupMediaListeners() {\n if (isWeb && isServer) return;\n if (process.env.IS_STATIC) return;\n if (setupVersion === mediaVersion) return;\n setupVersion = mediaVersion;\n unlisten();\n for (const key in mediaQueryConfig) {\n let update = function() {\n const next = !!getMatch().matches;\n if (next === getMedia()[key]) return;\n setMediaState({ ...getMedia(), [key]: next });\n updateMediaListeners();\n };\n const str = mediaObjectToString(mediaQueryConfig[key]);\n const getMatch = () => matchMedia(str);\n const match = getMatch();\n if (!match) {\n throw new Error(\n formatDiagnostic(\n \"TAMAGUI_MEDIA_MATCH\",\n \"useMedia\",\n \"matchMedia returned no MediaQueryList\",\n \"Provide a matchMedia implementation that returns a MediaQueryList\",\n \"key,query,platform\",\n { key, query: str, platform: isWeb ? \"web\" : \"native\" }\n )\n );\n }\n match.addListener(update);\n dispose.add(() => {\n match.removeListener(update);\n });\n update();\n }\n}\nconst listenersByKey = /* @__PURE__ */ new Map();\nconst globalListeners = /* @__PURE__ */ new Set();\nlet publishedState = null;\nconst _mediaListenerStats = {\n publishes: 0,\n notified: 0\n};\nfunction updateMediaListeners() {\n _mediaListenerStats.publishes++;\n const media = getMedia();\n const prev = publishedState;\n publishedState = media;\n if (listenersByKey.size) {\n const woken = /* @__PURE__ */ new Set();\n for (const key of mediaKeys) {\n if (prev !== null && media[key] === prev[key]) continue;\n const bucket = listenersByKey.get(key);\n if (bucket) {\n for (const cb of bucket) woken.add(cb);\n }\n }\n for (const cb of woken) {\n _mediaListenerStats.notified++;\n cb(media);\n }\n }\n globalListeners.forEach((cb) => {\n _mediaListenerStats.notified++;\n cb(media);\n });\n}\nconst States = /* @__PURE__ */ new WeakMap();\nlet touchTrackerProto = null;\nconst refSlot = /* @__PURE__ */ Symbol(\"mediaRefSlot\");\nfunction buildTouchTrackerProto() {\n const proto = {};\n for (const key of mediaKeys) {\n proto[key] = {\n enumerable: true,\n configurable: true,\n get() {\n const slot = this[refSlot];\n if (!disableMediaTouch) {\n slot.keys.add(key);\n }\n return slot.proxyTarget[key];\n }\n };\n }\n return Object.create(null, proto);\n}\nfunction getTouchTrackerProto() {\n if (!touchTrackerProto) touchTrackerProto = buildTouchTrackerProto();\n return touchTrackerProto;\n}\nfunction resetMediaTouchTracker() {\n touchTrackerProto = null;\n}\nfunction setMediaShouldUpdate(ref, enabled, keys, optimizeForFirstRender = false) {\n if (optimizeForFirstRender) return;\n const cur = States.get(ref);\n if (!cur || cur.enabled !== enabled || keys) {\n States.set(ref, {\n ...cur,\n enabled,\n keys\n });\n }\n}\nfunction mediaListenKeys(ref) {\n if (ref.optimizeForFirstRender) return null;\n return (ref.uid ? States.get(ref.uid)?.keys : void 0) || ref.keys;\n}\nfunction indexMediaListener(ref) {\n const keys = mediaListenKeys(ref);\n const cur = ref.listeningTo;\n if (cur !== void 0 && sameMediaKeys(cur, keys)) return;\n unindexMediaListener(ref);\n const cb = ref.onChange;\n if (keys === null) {\n globalListeners.add(cb);\n ref.listeningTo = null;\n return;\n }\n ref.listeningTo = new Set(keys);\n for (const key of keys) {\n let bucket = listenersByKey.get(key);\n if (!bucket) {\n bucket = /* @__PURE__ */ new Set();\n listenersByKey.set(key, bucket);\n }\n bucket.add(cb);\n }\n}\nfunction unindexMediaListener(ref) {\n const keys = ref.listeningTo;\n if (keys === void 0) return;\n ref.listeningTo = void 0;\n const cb = ref.onChange;\n if (keys === null) {\n globalListeners.delete(cb);\n return;\n }\n for (const key of keys) {\n const bucket = listenersByKey.get(key);\n if (!bucket) continue;\n bucket.delete(cb);\n if (!bucket.size) listenersByKey.delete(key);\n }\n}\nfunction sameMediaKeys(a, b) {\n if (a === null || b === null) return a === b;\n if (a.size !== b.size) return false;\n for (const key of b) {\n if (!a.has(key)) return false;\n }\n return true;\n}\nfunction useMedia(componentContext, debug, uid) {\n \"use no memo\";\n const internalRef = useRef(null);\n if (!internalRef.current) {\n const initial = isWeb && !isServer && !getSetting(\"disableSSR\") ? initState : getMedia();\n const optimizeForFirstRender = isOptimizedForFirstRender();\n const r = {\n keys: optimizeForFirstRender ? null : /* @__PURE__ */ new Set(),\n lastState: initial,\n renderVersion: 0,\n proxyTarget: initial,\n proxy: void 0,\n getSnapshot: void 0,\n componentContext,\n uid,\n debug,\n optimizeForFirstRender\n };\n if (optimizeForFirstRender) {\n r.proxy = initial;\n } else {\n const tracker = Object.create(getTouchTrackerProto());\n tracker[refSlot] = {\n proxyTarget: initial,\n keys: r.keys\n };\n r.proxy = tracker;\n }\n r.getSnapshot = () => {\n if (r.optimizeForFirstRender) {\n const ms2 = getMedia();\n if (ms2 === r.lastState) {\n return r.lastState;\n }\n if (r.componentContext?.mediaEmit) {\n r.componentContext.mediaEmit(ms2);\n r.pendingState = ms2;\n return r.lastState;\n }\n r.lastState = ms2;\n return ms2;\n }\n const curKeys = mediaListenKeys(r);\n const { lastState, pendingState } = r;\n if (!curKeys.size) {\n return lastState;\n }\n const ms = getMedia();\n for (const key of curKeys) {\n if (ms[key] !== (pendingState || lastState)[key]) {\n if (process.env.NODE_ENV === \"development\" && r.debug) {\n console.warn(`useMedia() \\u270D\\uFE0F`, key, lastState[key], \"=>\", ms[key]);\n }\n if (r.componentContext?.mediaEmit) {\n r.componentContext.mediaEmit(ms);\n r.pendingState = ms;\n return lastState;\n }\n r.lastState = ms;\n return ms;\n }\n }\n return lastState;\n };\n internalRef.current = r;\n } else {\n internalRef.current.componentContext = componentContext;\n internalRef.current.uid = uid;\n internalRef.current.debug = debug;\n }\n const ref = internalRef.current;\n ref.renderVersion++;\n if (ref.pendingState) {\n ref.lastState = ref.pendingState;\n ref.pendingState = void 0;\n }\n if (ref.keys?.size) {\n ref.keys.clear();\n }\n const [, forceUpdate] = useReducer(incReducer, 0);\n const state = isServer ? initState : ref.optimizeForFirstRender && ref.renderVersion === 1 ? ref.lastState : ref.getSnapshot();\n ref.proxyTarget = state;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = state;\n }\n useIsomorphicLayoutEffect(() => {\n const synced = ref.getSnapshot();\n if (synced !== ref.proxyTarget) {\n ref.proxyTarget = synced;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = synced;\n }\n forceUpdate();\n }\n }, []);\n useEffect(() => {\n const renderVersion = ref.renderVersion;\n const shouldSubscribe = ref.optimizeForFirstRender || !ref.uid || !!States.get(ref.uid)?.enabled;\n if (shouldSubscribe) {\n ref.onChange ||= () => {\n const next = ref.getSnapshot();\n if (next !== ref.proxyTarget) {\n ref.proxyTarget = next;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = next;\n }\n if (ref.uid?.nativeMediaUpdate?.(forceUpdate)) return;\n forceUpdate();\n }\n };\n indexMediaListener(ref);\n } else {\n unindexMediaListener(ref);\n }\n return () => {\n if (ref.renderVersion === renderVersion) {\n unindexMediaListener(ref);\n }\n };\n });\n return ref.optimizeForFirstRender ? state : ref.proxy;\n}\nconst incReducer = (c) => c + 1;\nlet disableMediaTouch = false;\nfunction _disableMediaTouch(val) {\n disableMediaTouch = val;\n}\nfunction getMediaState(mediaGroups, layout) {\n disableMediaTouch = true;\n let res;\n try {\n res = Object.fromEntries(\n [...mediaGroups].map((mediaKey) => {\n return [mediaKey, mediaKeyMatch(mediaKey, layout)];\n })\n );\n } finally {\n disableMediaTouch = false;\n }\n return res;\n}\nconst cachedMediaKeyToQuery = {};\nfunction mediaKeyToQuery(key) {\n return cachedMediaKeyToQuery[key] || (cachedMediaKeyToQuery[key] = mediaObjectToString(mediaQueryConfig[key]));\n}\nfunction mediaKeyMatch(key, dimensions) {\n const mediaQueries = mediaQueryConfig[key];\n for (const query in mediaQueries) {\n const expectedVal = +mediaQueries[query];\n const isMax = query.startsWith(\"max\");\n const isWidth = query.endsWith(\"Width\");\n const givenVal = dimensions[isWidth ? \"width\" : \"height\"];\n if (isMax ? givenVal >= expectedVal : givenVal <= expectedVal) {\n return false;\n }\n }\n return true;\n}\nexport {\n _disableMediaTouch,\n _mediaListenerStats,\n configureMedia,\n getMediaState,\n mediaKeyMatch,\n mediaKeyToQuery,\n setMediaShouldUpdate,\n setupMediaListeners,\n updateMediaListeners,\n useMedia\n};\n//# sourceMappingURL=useMedia.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"useMedia.js","names":[],"sources":["esm/hooks/useMedia.js"],"sourcesContent":["import { isServer, isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { useEffect, useReducer, useRef } from \"react\";\nimport { getSetting } from \"../config\";\nimport { formatDiagnostic } from \"../helpers/formatDiagnostic\";\nimport { isOptimizedForFirstRender } from \"./isOptimizedForFirstRender\";\nimport { matchMedia } from \"../helpers/matchMedia\";\nimport { mediaObjectToString } from \"../helpers/mediaObjectToString\";\nimport {\n getMedia,\n mediaKeys,\n mediaQueryConfig,\n setMediaState\n} from \"../helpers/mediaState\";\nlet initState;\nconst dispose = /* @__PURE__ */ new Set();\nlet mediaVersion = 0;\nconst configureMedia = (config) => {\n const { media } = config;\n const mediaQueryDefaultActive = getSetting(\"mediaQueryDefaultActive\");\n if (!media) return;\n mediaVersion++;\n resetMediaTouchTracker();\n publishedState = null;\n for (const key in media) {\n getMedia()[key] = mediaQueryDefaultActive?.[key] || false;\n mediaKeys.add(key);\n }\n Object.assign(mediaQueryConfig, media);\n initState = { ...getMedia() };\n setupMediaListeners();\n};\nfunction unlisten() {\n dispose.forEach((cb) => cb());\n dispose.clear();\n}\nlet setupVersion = -1;\nfunction setupMediaListeners() {\n if (isWeb && isServer) return;\n if (process.env.IS_STATIC) return;\n if (setupVersion === mediaVersion) return;\n setupVersion = mediaVersion;\n unlisten();\n for (const key in mediaQueryConfig) {\n let update = function() {\n const next = !!getMatch().matches;\n if (next === getMedia()[key]) return;\n setMediaState({ ...getMedia(), [key]: next });\n updateMediaListeners();\n };\n const str = mediaObjectToString(mediaQueryConfig[key]);\n const getMatch = () => matchMedia(str);\n const match = getMatch();\n if (!match) {\n throw new Error(\n formatDiagnostic(\n \"TAMAGUI_MEDIA_MATCH\",\n \"useMedia\",\n \"matchMedia returned no MediaQueryList\",\n \"Provide a matchMedia implementation that returns a MediaQueryList\",\n \"key,query,platform\",\n { key, query: str, platform: isWeb ? \"web\" : \"native\" }\n )\n );\n }\n match.addListener(update);\n dispose.add(() => {\n match.removeListener(update);\n });\n update();\n }\n}\nconst listenersByKey = /* @__PURE__ */ new Map();\nconst globalListeners = /* @__PURE__ */ new Set();\nlet publishedState = null;\nconst _mediaListenerStats = {\n publishes: 0,\n notified: 0\n};\nfunction updateMediaListeners() {\n _mediaListenerStats.publishes++;\n const media = getMedia();\n const prev = publishedState;\n publishedState = media;\n if (listenersByKey.size) {\n const woken = /* @__PURE__ */ new Set();\n for (const key of mediaKeys) {\n if (prev !== null && media[key] === prev[key]) continue;\n const bucket = listenersByKey.get(key);\n if (bucket) {\n for (const cb of bucket) woken.add(cb);\n }\n }\n for (const cb of woken) {\n _mediaListenerStats.notified++;\n cb(media);\n }\n }\n globalListeners.forEach((cb) => {\n _mediaListenerStats.notified++;\n cb(media);\n });\n}\nconst States = /* @__PURE__ */ new WeakMap();\nlet touchTrackerProto = null;\nconst refSlot = /* @__PURE__ */ Symbol(\"mediaRefSlot\");\nfunction buildTouchTrackerProto() {\n const proto = {};\n for (const key of mediaKeys) {\n proto[key] = {\n enumerable: true,\n configurable: true,\n get() {\n const slot = this[refSlot];\n if (!disableMediaTouch) {\n slot.keys.add(key);\n }\n return slot.proxyTarget[key];\n }\n };\n }\n return Object.create(null, proto);\n}\nfunction getTouchTrackerProto() {\n if (!touchTrackerProto) touchTrackerProto = buildTouchTrackerProto();\n return touchTrackerProto;\n}\nfunction resetMediaTouchTracker() {\n touchTrackerProto = null;\n}\nfunction setMediaShouldUpdate(ref, enabled, keys, optimizeForFirstRender = false) {\n if (optimizeForFirstRender) return;\n const cur = States.get(ref);\n if (!cur || cur.enabled !== enabled || keys) {\n States.set(ref, {\n ...cur,\n enabled,\n keys\n });\n }\n}\nfunction mediaListenKeys(ref) {\n if (ref.optimizeForFirstRender) return null;\n return (ref.uid ? States.get(ref.uid)?.keys : void 0) || ref.keys;\n}\nfunction indexMediaListener(ref) {\n const keys = mediaListenKeys(ref);\n const cur = ref.listeningTo;\n if (cur !== void 0 && sameMediaKeys(cur, keys)) return;\n unindexMediaListener(ref);\n const cb = ref.onChange;\n if (keys === null) {\n globalListeners.add(cb);\n ref.listeningTo = null;\n return;\n }\n ref.listeningTo = new Set(keys);\n for (const key of keys) {\n let bucket = listenersByKey.get(key);\n if (!bucket) {\n bucket = /* @__PURE__ */ new Set();\n listenersByKey.set(key, bucket);\n }\n bucket.add(cb);\n }\n}\nfunction unindexMediaListener(ref) {\n const keys = ref.listeningTo;\n if (keys === void 0) return;\n ref.listeningTo = void 0;\n const cb = ref.onChange;\n if (keys === null) {\n globalListeners.delete(cb);\n return;\n }\n for (const key of keys) {\n const bucket = listenersByKey.get(key);\n if (!bucket) continue;\n bucket.delete(cb);\n if (!bucket.size) listenersByKey.delete(key);\n }\n}\nfunction sameMediaKeys(a, b) {\n if (a === null || b === null) return a === b;\n if (a.size !== b.size) return false;\n for (const key of b) {\n if (!a.has(key)) return false;\n }\n return true;\n}\nfunction useMedia(componentContext, debug, uid) {\n \"use no memo\";\n const internalRef = useRef(null);\n if (!internalRef.current) {\n const initial = isWeb && !isServer && !getSetting(\"disableSSR\") ? initState : getMedia();\n const optimizeForFirstRender = isOptimizedForFirstRender();\n const r = {\n keys: optimizeForFirstRender ? null : /* @__PURE__ */ new Set(),\n lastState: initial,\n renderVersion: 0,\n proxyTarget: initial,\n proxy: void 0,\n getSnapshot: void 0,\n componentContext,\n uid,\n debug,\n optimizeForFirstRender\n };\n if (optimizeForFirstRender) {\n r.proxy = initial;\n } else {\n const tracker = Object.create(getTouchTrackerProto());\n tracker[refSlot] = {\n proxyTarget: initial,\n keys: r.keys\n };\n r.proxy = tracker;\n }\n r.getSnapshot = () => {\n if (r.optimizeForFirstRender) {\n const ms2 = getMedia();\n if (ms2 === r.lastState) {\n return r.lastState;\n }\n if (r.componentContext?.mediaEmit) {\n r.componentContext.mediaEmit(ms2);\n r.pendingState = ms2;\n return r.lastState;\n }\n r.lastState = ms2;\n return ms2;\n }\n const curKeys = mediaListenKeys(r);\n const { lastState, pendingState } = r;\n if (!curKeys.size) {\n return lastState;\n }\n const ms = getMedia();\n for (const key of curKeys) {\n if (ms[key] !== (pendingState || lastState)[key]) {\n if (process.env.NODE_ENV === \"development\" && r.debug) {\n console.warn(`useMedia() \\u270D\\uFE0F`, key, lastState[key], \"=>\", ms[key]);\n }\n if (r.componentContext?.mediaEmit) {\n r.componentContext.mediaEmit(ms);\n r.pendingState = ms;\n return lastState;\n }\n r.lastState = ms;\n return ms;\n }\n }\n return lastState;\n };\n internalRef.current = r;\n } else {\n internalRef.current.componentContext = componentContext;\n internalRef.current.uid = uid;\n internalRef.current.debug = debug;\n }\n const ref = internalRef.current;\n ref.renderVersion++;\n if (ref.pendingState) {\n ref.lastState = ref.pendingState;\n ref.pendingState = void 0;\n }\n if (ref.keys?.size) {\n ref.keys.clear();\n }\n const [, forceUpdate] = useReducer(incReducer, 0);\n const state = isServer ? initState : ref.optimizeForFirstRender && ref.renderVersion === 1 ? ref.lastState : ref.getSnapshot();\n ref.proxyTarget = state;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = state;\n }\n useIsomorphicLayoutEffect(() => {\n const synced = ref.getSnapshot();\n if (synced !== ref.proxyTarget) {\n ref.proxyTarget = synced;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = synced;\n }\n forceUpdate();\n }\n }, []);\n useEffect(() => {\n const renderVersion = ref.renderVersion;\n const shouldSubscribe = ref.optimizeForFirstRender || !ref.uid || !!States.get(ref.uid)?.enabled;\n if (shouldSubscribe) {\n ref.onChange ||= () => {\n const next = ref.getSnapshot();\n if (next !== ref.proxyTarget) {\n ref.proxyTarget = next;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = next;\n }\n if (ref.uid?.nativeMediaUpdate?.(forceUpdate)) return;\n forceUpdate();\n }\n };\n indexMediaListener(ref);\n } else {\n unindexMediaListener(ref);\n }\n return () => {\n if (ref.renderVersion === renderVersion) {\n unindexMediaListener(ref);\n }\n };\n });\n return ref.optimizeForFirstRender ? state : ref.proxy;\n}\nconst incReducer = (c) => c + 1;\nlet disableMediaTouch = false;\nfunction _disableMediaTouch(val) {\n disableMediaTouch = val;\n}\nfunction getMediaState(mediaGroups, layout) {\n disableMediaTouch = true;\n let res;\n try {\n res = Object.fromEntries(\n [...mediaGroups].map((mediaKey) => {\n return [mediaKey, mediaKeyMatch(mediaKey, layout)];\n })\n );\n } finally {\n disableMediaTouch = false;\n }\n return res;\n}\nconst cachedMediaKeyToQuery = {};\nfunction mediaKeyToQuery(key) {\n return cachedMediaKeyToQuery[key] || (cachedMediaKeyToQuery[key] = mediaObjectToString(mediaQueryConfig[key]));\n}\nfunction mediaKeyMatch(key, dimensions) {\n const mediaQueries = mediaQueryConfig[key];\n for (const query in mediaQueries) {\n const expectedVal = +mediaQueries[query];\n const isMax = query.startsWith(\"max\");\n const isWidth = query.endsWith(\"Width\");\n const givenVal = dimensions[isWidth ? \"width\" : \"height\"];\n if (isMax ? givenVal >= expectedVal : givenVal <= expectedVal) {\n return false;\n }\n }\n return true;\n}\nexport {\n _disableMediaTouch,\n _mediaListenerStats,\n configureMedia,\n getMediaState,\n mediaKeyMatch,\n mediaKeyToQuery,\n setMediaShouldUpdate,\n setupMediaListeners,\n updateMediaListeners,\n useMedia\n};\n//# sourceMappingURL=useMedia.js.map\n"],"mappings":";;;;;;;;;;AAaA,IAAI;AACJ,MAAM,0BAA0B,IAAI,IAAI;AACxC,IAAI,eAAe;AACnB,MAAM,kBAAkB,WAAW;CACjC,MAAM,EAAE,UAAU;CAClB,MAAM,0BAA0B,WAAW,yBAAyB;CACpE,IAAI,CAAC,OAAO;CACZ;CACA,uBAAuB;CACvB,iBAAiB;CACjB,KAAK,MAAM,OAAO,OAAO;EACvB,SAAS,CAAC,CAAC,OAAO,0BAA0B,QAAQ;EACpD,UAAU,IAAI,GAAG;CACnB;CACA,OAAO,OAAO,kBAAkB,KAAK;CACrC,YAAY,EAAE,GAAG,SAAS,EAAE;CAC5B,oBAAoB;AACtB;AACA,SAAS,WAAW;CAClB,QAAQ,SAAS,OAAO,GAAG,CAAC;CAC5B,QAAQ,MAAM;AAChB;AACA,IAAI,eAAe,CAAC;AACpB,SAAS,sBAAsB;CAC7B,IAAI,SAAS,UAAU;CACvB,IAAI,QAAQ,IAAI,WAAW;CAC3B,IAAI,iBAAiB,cAAc;CACnC,eAAe;CACf,SAAS;CACT,KAAK,MAAM,OAAO,kBAAkB;EAClC,IAAI,SAAS,WAAW;GACtB,MAAM,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;GAC1B,IAAI,SAAS,SAAS,CAAC,CAAC,MAAM;GAC9B,cAAc;IAAE,GAAG,SAAS;KAAI,MAAM;GAAK,CAAC;GAC5C,qBAAqB;EACvB;EACA,MAAM,MAAM,oBAAoB,iBAAiB,IAAI;EACrD,MAAM,iBAAiB,WAAW,GAAG;EACrC,MAAM,QAAQ,SAAS;EACvB,IAAI,CAAC,OAAO;GACV,MAAM,IAAI,MACR,iBACE,uBACA,YACA,yCACA,qEACA,sBACA;IAAE;IAAK,OAAO;IAAK,UAAU,QAAQ,QAAQ;GAAS,CACxD,CACF;EACF;EACA,MAAM,YAAY,MAAM;EACxB,QAAQ,UAAU;GAChB,MAAM,eAAe,MAAM;EAC7B,CAAC;EACD,OAAO;CACT;AACF;AACA,MAAM,iCAAiC,IAAI,IAAI;AAC/C,MAAM,kCAAkC,IAAI,IAAI;AAChD,IAAI,iBAAiB;AACrB,MAAM,sBAAsB;CAC1B,WAAW;CACX,UAAU;AACZ;AACA,SAAS,uBAAuB;CAC9B,oBAAoB;CACpB,MAAM,QAAQ,SAAS;CACvB,MAAM,OAAO;CACb,iBAAiB;CACjB,IAAI,eAAe,MAAM;EACvB,MAAM,wBAAwB,IAAI,IAAI;EACtC,KAAK,MAAM,OAAO,WAAW;GAC3B,IAAI,SAAS,QAAQ,MAAM,SAAS,KAAK,MAAM;GAC/C,MAAM,SAAS,eAAe,IAAI,GAAG;GACrC,IAAI,QAAQ;IACV,KAAK,MAAM,MAAM,QAAQ,MAAM,IAAI,EAAE;GACvC;EACF;EACA,KAAK,MAAM,MAAM,OAAO;GACtB,oBAAoB;GACpB,GAAG,KAAK;EACV;CACF;CACA,gBAAgB,SAAS,OAAO;EAC9B,oBAAoB;EACpB,GAAG,KAAK;CACV,CAAC;AACH;AACA,MAAM,yBAAyB,IAAI,QAAQ;AAC3C,IAAI,oBAAoB;AACxB,MAAM,UAA0B,uBAAO,cAAc;AACrD,SAAS,yBAAyB;CAChC,MAAM,QAAQ,CAAC;CACf,KAAK,MAAM,OAAO,WAAW;EAC3B,MAAM,OAAO;GACX,YAAY;GACZ,cAAc;GACd,MAAM;IACJ,MAAM,OAAO,KAAK;IAClB,IAAI,CAAC,mBAAmB;KACtB,KAAK,KAAK,IAAI,GAAG;IACnB;IACA,OAAO,KAAK,YAAY;GAC1B;EACF;CACF;CACA,OAAO,OAAO,OAAO,MAAM,KAAK;AAClC;AACA,SAAS,uBAAuB;CAC9B,IAAI,CAAC,mBAAmB,oBAAoB,uBAAuB;CACnE,OAAO;AACT;AACA,SAAS,yBAAyB;CAChC,oBAAoB;AACtB;AACA,SAAS,qBAAqB,KAAK,SAAS,MAAM,yBAAyB,OAAO;CAChF,IAAI,wBAAwB;CAC5B,MAAM,MAAM,OAAO,IAAI,GAAG;CAC1B,IAAI,CAAC,OAAO,IAAI,YAAY,WAAW,MAAM;EAC3C,OAAO,IAAI,KAAK;GACd,GAAG;GACH;GACA;EACF,CAAC;CACH;AACF;AACA,SAAS,gBAAgB,KAAK;CAC5B,IAAI,IAAI,wBAAwB,OAAO;CACvC,QAAQ,IAAI,MAAM,OAAO,IAAI,IAAI,GAAG,CAAC,EAAE,OAAO,KAAK,MAAM,IAAI;AAC/D;AACA,SAAS,mBAAmB,KAAK;CAC/B,MAAM,OAAO,gBAAgB,GAAG;CAChC,MAAM,MAAM,IAAI;CAChB,IAAI,QAAQ,KAAK,KAAK,cAAc,KAAK,IAAI,GAAG;CAChD,qBAAqB,GAAG;CACxB,MAAM,KAAK,IAAI;CACf,IAAI,SAAS,MAAM;EACjB,gBAAgB,IAAI,EAAE;EACtB,IAAI,cAAc;EAClB;CACF;CACA,IAAI,cAAc,IAAI,IAAI,IAAI;CAC9B,KAAK,MAAM,OAAO,MAAM;EACtB,IAAI,SAAS,eAAe,IAAI,GAAG;EACnC,IAAI,CAAC,QAAQ;GACX,yBAAyB,IAAI,IAAI;GACjC,eAAe,IAAI,KAAK,MAAM;EAChC;EACA,OAAO,IAAI,EAAE;CACf;AACF;AACA,SAAS,qBAAqB,KAAK;CACjC,MAAM,OAAO,IAAI;CACjB,IAAI,SAAS,KAAK,GAAG;CACrB,IAAI,cAAc,KAAK;CACvB,MAAM,KAAK,IAAI;CACf,IAAI,SAAS,MAAM;EACjB,gBAAgB,OAAO,EAAE;EACzB;CACF;CACA,KAAK,MAAM,OAAO,MAAM;EACtB,MAAM,SAAS,eAAe,IAAI,GAAG;EACrC,IAAI,CAAC,QAAQ;EACb,OAAO,OAAO,EAAE;EAChB,IAAI,CAAC,OAAO,MAAM,eAAe,OAAO,GAAG;CAC7C;AACF;AACA,SAAS,cAAc,GAAG,GAAG;CAC3B,IAAI,MAAM,QAAQ,MAAM,MAAM,OAAO,MAAM;CAC3C,IAAI,EAAE,SAAS,EAAE,MAAM,OAAO;CAC9B,KAAK,MAAM,OAAO,GAAG;EACnB,IAAI,CAAC,EAAE,IAAI,GAAG,GAAG,OAAO;CAC1B;CACA,OAAO;AACT;AACA,SAAS,SAAS,kBAAkB,OAAO,KAAK;CAC9C;CACA,MAAM,cAAc,OAAO,IAAI;CAC/B,IAAI,CAAC,YAAY,SAAS;EACxB,MAAM,UAAU,SAAS,CAAC,YAAY,CAAC,WAAW,YAAY,IAAI,YAAY,SAAS;EACvF,MAAM,yBAAyB,0BAA0B;EACzD,MAAM,IAAI;GACR,MAAM,yBAAyB,uBAAuB,IAAI,IAAI;GAC9D,WAAW;GACX,eAAe;GACf,aAAa;GACb,OAAO,KAAK;GACZ,aAAa,KAAK;GAClB;GACA;GACA;GACA;EACF;EACA,IAAI,wBAAwB;GAC1B,EAAE,QAAQ;EACZ,OAAO;GACL,MAAM,UAAU,OAAO,OAAO,qBAAqB,CAAC;GACpD,QAAQ,WAAW;IACjB,aAAa;IACb,MAAM,EAAE;GACV;GACA,EAAE,QAAQ;EACZ;EACA,EAAE,oBAAoB;GACpB,IAAI,EAAE,wBAAwB;IAC5B,MAAM,MAAM,SAAS;IACrB,IAAI,QAAQ,EAAE,WAAW;KACvB,OAAO,EAAE;IACX;IACA,IAAI,EAAE,kBAAkB,WAAW;KACjC,EAAE,iBAAiB,UAAU,GAAG;KAChC,EAAE,eAAe;KACjB,OAAO,EAAE;IACX;IACA,EAAE,YAAY;IACd,OAAO;GACT;GACA,MAAM,UAAU,gBAAgB,CAAC;GACjC,MAAM,EAAE,WAAW,iBAAiB;GACpC,IAAI,CAAC,QAAQ,MAAM;IACjB,OAAO;GACT;GACA,MAAM,KAAK,SAAS;GACpB,KAAK,MAAM,OAAO,SAAS;IACzB,IAAI,GAAG,UAAU,gBAAgB,UAAS,CAAE,MAAM;KAChD,IAAI,QAAQ,IAAI,aAAa,iBAAiB,EAAE,OAAO;MACrD,QAAQ,KAAK,2BAA2B,KAAK,UAAU,MAAM,MAAM,GAAG,IAAI;KAC5E;KACA,IAAI,EAAE,kBAAkB,WAAW;MACjC,EAAE,iBAAiB,UAAU,EAAE;MAC/B,EAAE,eAAe;MACjB,OAAO;KACT;KACA,EAAE,YAAY;KACd,OAAO;IACT;GACF;GACA,OAAO;EACT;EACA,YAAY,UAAU;CACxB,OAAO;EACL,YAAY,QAAQ,mBAAmB;EACvC,YAAY,QAAQ,MAAM;EAC1B,YAAY,QAAQ,QAAQ;CAC9B;CACA,MAAM,MAAM,YAAY;CACxB,IAAI;CACJ,IAAI,IAAI,cAAc;EACpB,IAAI,YAAY,IAAI;EACpB,IAAI,eAAe,KAAK;CAC1B;CACA,IAAI,IAAI,MAAM,MAAM;EAClB,IAAI,KAAK,MAAM;CACjB;CACA,MAAM,GAAG,eAAe,WAAW,YAAY,CAAC;CAChD,MAAM,QAAQ,WAAW,YAAY,IAAI,0BAA0B,IAAI,kBAAkB,IAAI,IAAI,YAAY,IAAI,YAAY;CAC7H,IAAI,cAAc;CAClB,IAAI,CAAC,IAAI,wBAAwB;EAC/B;EACA,IAAI,MAAM,QAAQ,CAAC,cAAc;CACnC;CACA,gCAAgC;EAC9B,MAAM,SAAS,IAAI,YAAY;EAC/B,IAAI,WAAW,IAAI,aAAa;GAC9B,IAAI,cAAc;GAClB,IAAI,CAAC,IAAI,wBAAwB;IAC/B;IACA,IAAI,MAAM,QAAQ,CAAC,cAAc;GACnC;GACA,YAAY;EACd;CACF,GAAG,CAAC,CAAC;CACL,gBAAgB;EACd,MAAM,gBAAgB,IAAI;EAC1B,MAAM,kBAAkB,IAAI,0BAA0B,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,IAAI,IAAI,GAAG,CAAC,EAAE;EACzF,IAAI,iBAAiB;GACnB,IAAI,mBAAmB;IACrB,MAAM,OAAO,IAAI,YAAY;IAC7B,IAAI,SAAS,IAAI,aAAa;KAC5B,IAAI,cAAc;KAClB,IAAI,CAAC,IAAI,wBAAwB;MAC/B;MACA,IAAI,MAAM,QAAQ,CAAC,cAAc;KACnC;KACA,IAAI,IAAI,KAAK,oBAAoB,WAAW,GAAG;KAC/C,YAAY;IACd;GACF;GACA,mBAAmB,GAAG;EACxB,OAAO;GACL,qBAAqB,GAAG;EAC1B;EACA,aAAa;GACX,IAAI,IAAI,kBAAkB,eAAe;IACvC,qBAAqB,GAAG;GAC1B;EACF;CACF,CAAC;CACD,OAAO,IAAI,yBAAyB,QAAQ,IAAI;AAClD;AACA,MAAM,cAAc,MAAM,IAAI;AAC9B,IAAI,oBAAoB;AACxB,SAAS,mBAAmB,KAAK;CAC/B,oBAAoB;AACtB;AACA,SAAS,cAAc,aAAa,QAAQ;CAC1C,oBAAoB;CACpB,IAAI;CACJ,IAAI;EACF,MAAM,OAAO,YACX,CAAC,GAAG,WAAW,CAAC,CAAC,KAAK,aAAa;GACjC,OAAO,CAAC,UAAU,cAAc,UAAU,MAAM,CAAC;EACnD,CAAC,CACH;CACF,UAAU;EACR,oBAAoB;CACtB;CACA,OAAO;AACT;AACA,MAAM,wBAAwB,CAAC;AAC/B,SAAS,gBAAgB,KAAK;CAC5B,OAAO,sBAAsB,SAAS,sBAAsB,OAAO,oBAAoB,iBAAiB,IAAI;AAC9G;AACA,SAAS,cAAc,KAAK,YAAY;CACtC,MAAM,eAAe,iBAAiB;CACtC,KAAK,MAAM,SAAS,cAAc;EAChC,MAAM,cAAc,CAAC,aAAa;EAClC,MAAM,QAAQ,MAAM,WAAW,KAAK;EACpC,MAAM,UAAU,MAAM,SAAS,OAAO;EACtC,MAAM,WAAW,WAAW,UAAU,UAAU;EAChD,IAAI,QAAQ,YAAY,cAAc,YAAY,aAAa;GAC7D,OAAO;EACT;CACF;CACA,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMedia.native.js","names":[],"sources":["esm/hooks/useMedia.native.js"],"sourcesContent":["import { isServer, isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { useEffect, useReducer, useRef } from \"react\";\nimport { getSetting } from \"../config\";\nimport { formatDiagnostic } from \"../helpers/formatDiagnostic\";\nimport { isOptimizedForFirstRender } from \"./isOptimizedForFirstRender\";\nimport { matchMedia } from \"../helpers/matchMedia\";\nimport { mediaObjectToString } from \"../helpers/mediaObjectToString\";\nimport { getMedia, mediaKeys, mediaQueryConfig, setMediaState } from \"../helpers/mediaState\";\nvar initState;\nvar dispose = /* @__PURE__ */ new Set();\nvar mediaVersion = 0;\nvar configureMedia = function(config) {\n var { media } = config;\n var mediaQueryDefaultActive = getSetting(\"mediaQueryDefaultActive\");\n if (!media) return;\n mediaVersion++;\n resetMediaTouchTracker();\n publishedState = null;\n for (var key in media) {\n getMedia()[key] = (mediaQueryDefaultActive === null || mediaQueryDefaultActive === void 0 ? void 0 : mediaQueryDefaultActive[key]) || false;\n mediaKeys.add(key);\n }\n Object.assign(mediaQueryConfig, media);\n initState = {\n ...getMedia()\n };\n setupMediaListeners();\n};\nfunction unlisten() {\n dispose.forEach(function(cb) {\n return cb();\n });\n dispose.clear();\n}\nvar setupVersion = -1;\nfunction setupMediaListeners() {\n var _loop = function(key2) {\n var str = mediaObjectToString(mediaQueryConfig[key2]);\n var getMatch = function() {\n return matchMedia(str);\n };\n var match = getMatch();\n if (!match) {\n throw new Error(formatDiagnostic(\"TAMAGUI_MEDIA_MATCH\", \"useMedia\", \"matchMedia returned no MediaQueryList\", \"Provide a matchMedia implementation that returns a MediaQueryList\", \"key,query,platform\", {\n key: key2,\n query: str,\n platform: isWeb ? \"web\" : \"native\"\n }));\n }\n match.addListener(update);\n dispose.add(function() {\n match.removeListener(update);\n });\n function update() {\n var next = !!getMatch().matches;\n if (next === getMedia()[key2]) return;\n setMediaState({\n ...getMedia(),\n [key2]: next\n });\n updateMediaListeners();\n }\n update();\n };\n if (isWeb && isServer) return;\n if (process.env.IS_STATIC) return;\n if (setupVersion === mediaVersion) return;\n setupVersion = mediaVersion;\n unlisten();\n for (var key in mediaQueryConfig) _loop(key);\n}\nvar listenersByKey = /* @__PURE__ */ new Map();\nvar globalListeners = /* @__PURE__ */ new Set();\nvar publishedState = null;\nvar _mediaListenerStats = {\n publishes: 0,\n notified: 0\n};\nfunction updateMediaListeners() {\n _mediaListenerStats.publishes++;\n var media = getMedia();\n var prev = publishedState;\n publishedState = media;\n if (listenersByKey.size) {\n var woken = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = mediaKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (prev !== null && media[key] === prev[key]) continue;\n var bucket = listenersByKey.get(key);\n if (bucket) {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = bucket[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var cb = _step1.value;\n woken.add(cb);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = woken[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var cb1 = _step2.value;\n _mediaListenerStats.notified++;\n cb1(media);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n globalListeners.forEach(function(cb2) {\n _mediaListenerStats.notified++;\n cb2(media);\n });\n}\nvar States = /* @__PURE__ */ new WeakMap();\nvar touchTrackerProto = null;\nvar refSlot = /* @__PURE__ */ Symbol(\"mediaRefSlot\");\nfunction buildTouchTrackerProto() {\n var proto = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var key = _step.value;\n proto[key] = {\n enumerable: true,\n configurable: true,\n get() {\n var slot = this[refSlot];\n if (!disableMediaTouch) {\n slot.keys.add(key);\n }\n return slot.proxyTarget[key];\n }\n };\n };\n for (var _iterator = mediaKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return Object.create(null, proto);\n}\nfunction getTouchTrackerProto() {\n if (!touchTrackerProto) touchTrackerProto = buildTouchTrackerProto();\n return touchTrackerProto;\n}\nfunction resetMediaTouchTracker() {\n touchTrackerProto = null;\n}\nfunction setMediaShouldUpdate(ref, enabled, keys) {\n var optimizeForFirstRender = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n if (optimizeForFirstRender) return;\n var cur = States.get(ref);\n if (!cur || cur.enabled !== enabled || keys) {\n States.set(ref, {\n ...cur,\n enabled,\n keys\n });\n }\n}\nfunction mediaListenKeys(ref) {\n var _States_get;\n if (ref.optimizeForFirstRender) return null;\n return (ref.uid ? (_States_get = States.get(ref.uid)) === null || _States_get === void 0 ? void 0 : _States_get.keys : void 0) || ref.keys;\n}\nfunction indexMediaListener(ref) {\n var keys = mediaListenKeys(ref);\n var cur = ref.listeningTo;\n if (cur !== void 0 && sameMediaKeys(cur, keys)) return;\n unindexMediaListener(ref);\n var cb = ref.onChange;\n if (keys === null) {\n globalListeners.add(cb);\n ref.listeningTo = null;\n return;\n }\n ref.listeningTo = new Set(keys);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n var bucket = listenersByKey.get(key);\n if (!bucket) {\n bucket = /* @__PURE__ */ new Set();\n listenersByKey.set(key, bucket);\n }\n bucket.add(cb);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction unindexMediaListener(ref) {\n var keys = ref.listeningTo;\n if (keys === void 0) return;\n ref.listeningTo = void 0;\n var cb = ref.onChange;\n if (keys === null) {\n globalListeners.delete(cb);\n return;\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n var bucket = listenersByKey.get(key);\n if (!bucket) continue;\n bucket.delete(cb);\n if (!bucket.size) listenersByKey.delete(key);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction sameMediaKeys(a, b) {\n if (a === null || b === null) return a === b;\n if (a.size !== b.size) return false;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = b[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (!a.has(key)) return false;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return true;\n}\nfunction useMedia(componentContext, debug, uid) {\n \"use no memo\";\n var _ref_keys;\n var internalRef = useRef(null);\n if (!internalRef.current) {\n var initial = isWeb && !isServer && !getSetting(\"disableSSR\") ? initState : getMedia();\n var optimizeForFirstRender = isOptimizedForFirstRender();\n var r = {\n keys: optimizeForFirstRender ? null : /* @__PURE__ */ new Set(),\n lastState: initial,\n renderVersion: 0,\n proxyTarget: initial,\n proxy: void 0,\n getSnapshot: void 0,\n componentContext,\n uid,\n debug,\n optimizeForFirstRender\n };\n if (optimizeForFirstRender) {\n r.proxy = initial;\n } else {\n var tracker = Object.create(getTouchTrackerProto());\n tracker[refSlot] = {\n proxyTarget: initial,\n keys: r.keys\n };\n r.proxy = tracker;\n }\n r.getSnapshot = function() {\n if (r.optimizeForFirstRender) {\n var _r_componentContext;\n var ms = getMedia();\n if (ms === r.lastState) {\n return r.lastState;\n }\n if ((_r_componentContext = r.componentContext) === null || _r_componentContext === void 0 ? void 0 : _r_componentContext.mediaEmit) {\n r.componentContext.mediaEmit(ms);\n r.pendingState = ms;\n return r.lastState;\n }\n r.lastState = ms;\n return ms;\n }\n var curKeys = mediaListenKeys(r);\n var { lastState, pendingState } = r;\n if (!curKeys.size) {\n return lastState;\n }\n var ms1 = getMedia();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = curKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (ms1[key] !== (pendingState || lastState)[key]) {\n var _r_componentContext1;\n if (process.env.NODE_ENV === \"development\" && r.debug) {\n console.warn(`useMedia() \\u270D\\uFE0F`, key, lastState[key], \"=>\", ms1[key]);\n }\n if ((_r_componentContext1 = r.componentContext) === null || _r_componentContext1 === void 0 ? void 0 : _r_componentContext1.mediaEmit) {\n r.componentContext.mediaEmit(ms1);\n r.pendingState = ms1;\n return lastState;\n }\n r.lastState = ms1;\n return ms1;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return lastState;\n };\n internalRef.current = r;\n } else {\n internalRef.current.componentContext = componentContext;\n internalRef.current.uid = uid;\n internalRef.current.debug = debug;\n }\n var ref = internalRef.current;\n ref.renderVersion++;\n if (ref.pendingState) {\n ref.lastState = ref.pendingState;\n ref.pendingState = void 0;\n }\n if ((_ref_keys = ref.keys) === null || _ref_keys === void 0 ? void 0 : _ref_keys.size) {\n ref.keys.clear();\n }\n var [, forceUpdate] = useReducer(incReducer, 0);\n var state = isServer ? initState : ref.optimizeForFirstRender && ref.renderVersion === 1 ? ref.lastState : ref.getSnapshot();\n ref.proxyTarget = state;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = state;\n }\n useIsomorphicLayoutEffect(function() {\n var synced = ref.getSnapshot();\n if (synced !== ref.proxyTarget) {\n ref.proxyTarget = synced;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = synced;\n }\n forceUpdate();\n }\n }, []);\n useEffect(function() {\n var _States_get;\n var renderVersion = ref.renderVersion;\n var shouldSubscribe = ref.optimizeForFirstRender || !ref.uid || !!((_States_get = States.get(ref.uid)) === null || _States_get === void 0 ? void 0 : _States_get.enabled);\n if (shouldSubscribe) {\n var _ref;\n (_ref = ref).onChange || (_ref.onChange = function() {\n var next = ref.getSnapshot();\n if (next !== ref.proxyTarget) {\n var _ref_uid_nativeMediaUpdate, _ref_uid;\n ref.proxyTarget = next;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = next;\n }\n if ((_ref_uid = ref.uid) === null || _ref_uid === void 0 ? void 0 : (_ref_uid_nativeMediaUpdate = _ref_uid.nativeMediaUpdate) === null || _ref_uid_nativeMediaUpdate === void 0 ? void 0 : _ref_uid_nativeMediaUpdate.call(_ref_uid, forceUpdate)) return;\n forceUpdate();\n }\n });\n indexMediaListener(ref);\n } else {\n unindexMediaListener(ref);\n }\n return function() {\n if (ref.renderVersion === renderVersion) {\n unindexMediaListener(ref);\n }\n };\n });\n return ref.optimizeForFirstRender ? state : ref.proxy;\n}\nvar incReducer = function(c) {\n return c + 1;\n};\nvar disableMediaTouch = false;\nfunction _disableMediaTouch(val) {\n disableMediaTouch = val;\n}\nfunction getMediaState(mediaGroups, layout) {\n disableMediaTouch = true;\n var res;\n try {\n res = Object.fromEntries([\n ...mediaGroups\n ].map(function(mediaKey) {\n return [\n mediaKey,\n mediaKeyMatch(mediaKey, layout)\n ];\n }));\n } finally {\n disableMediaTouch = false;\n }\n return res;\n}\nvar cachedMediaKeyToQuery = {};\nfunction mediaKeyToQuery(key) {\n return cachedMediaKeyToQuery[key] || (cachedMediaKeyToQuery[key] = mediaObjectToString(mediaQueryConfig[key]));\n}\nfunction mediaKeyMatch(key, dimensions) {\n var mediaQueries = mediaQueryConfig[key];\n for (var query in mediaQueries) {\n var expectedVal = +mediaQueries[query];\n var isMax = query.startsWith(\"max\");\n var isWidth = query.endsWith(\"Width\");\n var givenVal = dimensions[isWidth ? \"width\" : \"height\"];\n if (isMax ? givenVal >= expectedVal : givenVal <= expectedVal) {\n return false;\n }\n }\n return true;\n}\nexport {\n _disableMediaTouch,\n _mediaListenerStats,\n configureMedia,\n getMediaState,\n mediaKeyMatch,\n mediaKeyToQuery,\n setMediaShouldUpdate,\n setupMediaListeners,\n updateMediaListeners,\n useMedia\n};\n//# sourceMappingURL=useMedia.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"useMedia.native.js","names":[],"sources":["esm/hooks/useMedia.native.js"],"sourcesContent":["import { isServer, isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { useEffect, useReducer, useRef } from \"react\";\nimport { getSetting } from \"../config\";\nimport { formatDiagnostic } from \"../helpers/formatDiagnostic\";\nimport { isOptimizedForFirstRender } from \"./isOptimizedForFirstRender\";\nimport { matchMedia } from \"../helpers/matchMedia\";\nimport { mediaObjectToString } from \"../helpers/mediaObjectToString\";\nimport { getMedia, mediaKeys, mediaQueryConfig, setMediaState } from \"../helpers/mediaState\";\nvar initState;\nvar dispose = /* @__PURE__ */ new Set();\nvar mediaVersion = 0;\nvar configureMedia = function(config) {\n var { media } = config;\n var mediaQueryDefaultActive = getSetting(\"mediaQueryDefaultActive\");\n if (!media) return;\n mediaVersion++;\n resetMediaTouchTracker();\n publishedState = null;\n for (var key in media) {\n getMedia()[key] = (mediaQueryDefaultActive === null || mediaQueryDefaultActive === void 0 ? void 0 : mediaQueryDefaultActive[key]) || false;\n mediaKeys.add(key);\n }\n Object.assign(mediaQueryConfig, media);\n initState = {\n ...getMedia()\n };\n setupMediaListeners();\n};\nfunction unlisten() {\n dispose.forEach(function(cb) {\n return cb();\n });\n dispose.clear();\n}\nvar setupVersion = -1;\nfunction setupMediaListeners() {\n var _loop = function(key2) {\n var str = mediaObjectToString(mediaQueryConfig[key2]);\n var getMatch = function() {\n return matchMedia(str);\n };\n var match = getMatch();\n if (!match) {\n throw new Error(formatDiagnostic(\"TAMAGUI_MEDIA_MATCH\", \"useMedia\", \"matchMedia returned no MediaQueryList\", \"Provide a matchMedia implementation that returns a MediaQueryList\", \"key,query,platform\", {\n key: key2,\n query: str,\n platform: isWeb ? \"web\" : \"native\"\n }));\n }\n match.addListener(update);\n dispose.add(function() {\n match.removeListener(update);\n });\n function update() {\n var next = !!getMatch().matches;\n if (next === getMedia()[key2]) return;\n setMediaState({\n ...getMedia(),\n [key2]: next\n });\n updateMediaListeners();\n }\n update();\n };\n if (isWeb && isServer) return;\n if (process.env.IS_STATIC) return;\n if (setupVersion === mediaVersion) return;\n setupVersion = mediaVersion;\n unlisten();\n for (var key in mediaQueryConfig) _loop(key);\n}\nvar listenersByKey = /* @__PURE__ */ new Map();\nvar globalListeners = /* @__PURE__ */ new Set();\nvar publishedState = null;\nvar _mediaListenerStats = {\n publishes: 0,\n notified: 0\n};\nfunction updateMediaListeners() {\n _mediaListenerStats.publishes++;\n var media = getMedia();\n var prev = publishedState;\n publishedState = media;\n if (listenersByKey.size) {\n var woken = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = mediaKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (prev !== null && media[key] === prev[key]) continue;\n var bucket = listenersByKey.get(key);\n if (bucket) {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = bucket[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var cb = _step1.value;\n woken.add(cb);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = woken[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var cb1 = _step2.value;\n _mediaListenerStats.notified++;\n cb1(media);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n globalListeners.forEach(function(cb2) {\n _mediaListenerStats.notified++;\n cb2(media);\n });\n}\nvar States = /* @__PURE__ */ new WeakMap();\nvar touchTrackerProto = null;\nvar refSlot = /* @__PURE__ */ Symbol(\"mediaRefSlot\");\nfunction buildTouchTrackerProto() {\n var proto = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var key = _step.value;\n proto[key] = {\n enumerable: true,\n configurable: true,\n get() {\n var slot = this[refSlot];\n if (!disableMediaTouch) {\n slot.keys.add(key);\n }\n return slot.proxyTarget[key];\n }\n };\n };\n for (var _iterator = mediaKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return Object.create(null, proto);\n}\nfunction getTouchTrackerProto() {\n if (!touchTrackerProto) touchTrackerProto = buildTouchTrackerProto();\n return touchTrackerProto;\n}\nfunction resetMediaTouchTracker() {\n touchTrackerProto = null;\n}\nfunction setMediaShouldUpdate(ref, enabled, keys) {\n var optimizeForFirstRender = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n if (optimizeForFirstRender) return;\n var cur = States.get(ref);\n if (!cur || cur.enabled !== enabled || keys) {\n States.set(ref, {\n ...cur,\n enabled,\n keys\n });\n }\n}\nfunction mediaListenKeys(ref) {\n var _States_get;\n if (ref.optimizeForFirstRender) return null;\n return (ref.uid ? (_States_get = States.get(ref.uid)) === null || _States_get === void 0 ? void 0 : _States_get.keys : void 0) || ref.keys;\n}\nfunction indexMediaListener(ref) {\n var keys = mediaListenKeys(ref);\n var cur = ref.listeningTo;\n if (cur !== void 0 && sameMediaKeys(cur, keys)) return;\n unindexMediaListener(ref);\n var cb = ref.onChange;\n if (keys === null) {\n globalListeners.add(cb);\n ref.listeningTo = null;\n return;\n }\n ref.listeningTo = new Set(keys);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n var bucket = listenersByKey.get(key);\n if (!bucket) {\n bucket = /* @__PURE__ */ new Set();\n listenersByKey.set(key, bucket);\n }\n bucket.add(cb);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction unindexMediaListener(ref) {\n var keys = ref.listeningTo;\n if (keys === void 0) return;\n ref.listeningTo = void 0;\n var cb = ref.onChange;\n if (keys === null) {\n globalListeners.delete(cb);\n return;\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n var bucket = listenersByKey.get(key);\n if (!bucket) continue;\n bucket.delete(cb);\n if (!bucket.size) listenersByKey.delete(key);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction sameMediaKeys(a, b) {\n if (a === null || b === null) return a === b;\n if (a.size !== b.size) return false;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = b[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (!a.has(key)) return false;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return true;\n}\nfunction useMedia(componentContext, debug, uid) {\n \"use no memo\";\n var _ref_keys;\n var internalRef = useRef(null);\n if (!internalRef.current) {\n var initial = isWeb && !isServer && !getSetting(\"disableSSR\") ? initState : getMedia();\n var optimizeForFirstRender = isOptimizedForFirstRender();\n var r = {\n keys: optimizeForFirstRender ? null : /* @__PURE__ */ new Set(),\n lastState: initial,\n renderVersion: 0,\n proxyTarget: initial,\n proxy: void 0,\n getSnapshot: void 0,\n componentContext,\n uid,\n debug,\n optimizeForFirstRender\n };\n if (optimizeForFirstRender) {\n r.proxy = initial;\n } else {\n var tracker = Object.create(getTouchTrackerProto());\n tracker[refSlot] = {\n proxyTarget: initial,\n keys: r.keys\n };\n r.proxy = tracker;\n }\n r.getSnapshot = function() {\n if (r.optimizeForFirstRender) {\n var _r_componentContext;\n var ms = getMedia();\n if (ms === r.lastState) {\n return r.lastState;\n }\n if ((_r_componentContext = r.componentContext) === null || _r_componentContext === void 0 ? void 0 : _r_componentContext.mediaEmit) {\n r.componentContext.mediaEmit(ms);\n r.pendingState = ms;\n return r.lastState;\n }\n r.lastState = ms;\n return ms;\n }\n var curKeys = mediaListenKeys(r);\n var { lastState, pendingState } = r;\n if (!curKeys.size) {\n return lastState;\n }\n var ms1 = getMedia();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = curKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (ms1[key] !== (pendingState || lastState)[key]) {\n var _r_componentContext1;\n if (process.env.NODE_ENV === \"development\" && r.debug) {\n console.warn(`useMedia() \\u270D\\uFE0F`, key, lastState[key], \"=>\", ms1[key]);\n }\n if ((_r_componentContext1 = r.componentContext) === null || _r_componentContext1 === void 0 ? void 0 : _r_componentContext1.mediaEmit) {\n r.componentContext.mediaEmit(ms1);\n r.pendingState = ms1;\n return lastState;\n }\n r.lastState = ms1;\n return ms1;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return lastState;\n };\n internalRef.current = r;\n } else {\n internalRef.current.componentContext = componentContext;\n internalRef.current.uid = uid;\n internalRef.current.debug = debug;\n }\n var ref = internalRef.current;\n ref.renderVersion++;\n if (ref.pendingState) {\n ref.lastState = ref.pendingState;\n ref.pendingState = void 0;\n }\n if ((_ref_keys = ref.keys) === null || _ref_keys === void 0 ? void 0 : _ref_keys.size) {\n ref.keys.clear();\n }\n var [, forceUpdate] = useReducer(incReducer, 0);\n var state = isServer ? initState : ref.optimizeForFirstRender && ref.renderVersion === 1 ? ref.lastState : ref.getSnapshot();\n ref.proxyTarget = state;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = state;\n }\n useIsomorphicLayoutEffect(function() {\n var synced = ref.getSnapshot();\n if (synced !== ref.proxyTarget) {\n ref.proxyTarget = synced;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = synced;\n }\n forceUpdate();\n }\n }, []);\n useEffect(function() {\n var _States_get;\n var renderVersion = ref.renderVersion;\n var shouldSubscribe = ref.optimizeForFirstRender || !ref.uid || !!((_States_get = States.get(ref.uid)) === null || _States_get === void 0 ? void 0 : _States_get.enabled);\n if (shouldSubscribe) {\n var _ref;\n (_ref = ref).onChange || (_ref.onChange = function() {\n var next = ref.getSnapshot();\n if (next !== ref.proxyTarget) {\n var _ref_uid_nativeMediaUpdate, _ref_uid;\n ref.proxyTarget = next;\n if (!ref.optimizeForFirstRender) {\n ;\n ref.proxy[refSlot].proxyTarget = next;\n }\n if ((_ref_uid = ref.uid) === null || _ref_uid === void 0 ? void 0 : (_ref_uid_nativeMediaUpdate = _ref_uid.nativeMediaUpdate) === null || _ref_uid_nativeMediaUpdate === void 0 ? void 0 : _ref_uid_nativeMediaUpdate.call(_ref_uid, forceUpdate)) return;\n forceUpdate();\n }\n });\n indexMediaListener(ref);\n } else {\n unindexMediaListener(ref);\n }\n return function() {\n if (ref.renderVersion === renderVersion) {\n unindexMediaListener(ref);\n }\n };\n });\n return ref.optimizeForFirstRender ? state : ref.proxy;\n}\nvar incReducer = function(c) {\n return c + 1;\n};\nvar disableMediaTouch = false;\nfunction _disableMediaTouch(val) {\n disableMediaTouch = val;\n}\nfunction getMediaState(mediaGroups, layout) {\n disableMediaTouch = true;\n var res;\n try {\n res = Object.fromEntries([\n ...mediaGroups\n ].map(function(mediaKey) {\n return [\n mediaKey,\n mediaKeyMatch(mediaKey, layout)\n ];\n }));\n } finally {\n disableMediaTouch = false;\n }\n return res;\n}\nvar cachedMediaKeyToQuery = {};\nfunction mediaKeyToQuery(key) {\n return cachedMediaKeyToQuery[key] || (cachedMediaKeyToQuery[key] = mediaObjectToString(mediaQueryConfig[key]));\n}\nfunction mediaKeyMatch(key, dimensions) {\n var mediaQueries = mediaQueryConfig[key];\n for (var query in mediaQueries) {\n var expectedVal = +mediaQueries[query];\n var isMax = query.startsWith(\"max\");\n var isWidth = query.endsWith(\"Width\");\n var givenVal = dimensions[isWidth ? \"width\" : \"height\"];\n if (isMax ? givenVal >= expectedVal : givenVal <= expectedVal) {\n return false;\n }\n }\n return true;\n}\nexport {\n _disableMediaTouch,\n _mediaListenerStats,\n configureMedia,\n getMediaState,\n mediaKeyMatch,\n mediaKeyToQuery,\n setMediaShouldUpdate,\n setupMediaListeners,\n updateMediaListeners,\n useMedia\n};\n//# sourceMappingURL=useMedia.js.map\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { useContext } from "react";
2
- import { ThemeStateContext, getInlineThemeLayer, getThemeProviderParent } from "./useThemeState.mjs";
2
+ import { ThemeStateContext, getThemeProviderParent, getThemeUpdateLayer } from "./useThemeState.mjs";
3
3
  import { useThemeName } from "./useThemeName.mjs";
4
4
 
5
5
  function usePortalThemeState() {
@@ -7,7 +7,7 @@ function usePortalThemeState() {
7
7
  const layers = [];
8
8
  let cursor = useContext(ThemeStateContext);
9
9
  while (cursor) {
10
- const layer = getInlineThemeLayer(cursor);
10
+ const layer = getThemeUpdateLayer(cursor);
11
11
  if (layer) layers.unshift(layer);
12
12
  cursor = getThemeProviderParent(cursor);
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"usePortalThemeState.js","names":[],"sources":["esm/hooks/usePortalThemeState.js"],"sourcesContent":["import { useContext } from \"react\";\nimport {\n getInlineThemeLayer,\n getThemeProviderParent,\n ThemeStateContext\n} from \"./useThemeState\";\nimport { useThemeName } from \"./useThemeName\";\nfunction usePortalThemeState() {\n const name = useThemeName();\n const layers = [];\n let cursor = useContext(ThemeStateContext);\n while (cursor) {\n const layer = getInlineThemeLayer(cursor);\n if (layer) layers.unshift(layer);\n cursor = getThemeProviderParent(cursor);\n }\n return { name, layers };\n}\nexport {\n usePortalThemeState\n};\n//# sourceMappingURL=usePortalThemeState.js.map\n"],"mappings":";;;;;AAOA,SAAS,sBAAsB;CAC7B,MAAM,OAAO,aAAa;CAC1B,MAAM,SAAS,CAAC;CAChB,IAAI,SAAS,WAAW,iBAAiB;CACzC,OAAO,QAAQ;EACb,MAAM,QAAQ,oBAAoB,MAAM;EACxC,IAAI,OAAO,OAAO,QAAQ,KAAK;EAC/B,SAAS,uBAAuB,MAAM;CACxC;CACA,OAAO;EAAE;EAAM;CAAO;AACxB"}
1
+ {"version":3,"file":"usePortalThemeState.js","names":[],"sources":["esm/hooks/usePortalThemeState.js"],"sourcesContent":["import { useContext } from \"react\";\nimport {\n getThemeUpdateLayer,\n getThemeProviderParent,\n ThemeStateContext\n} from \"./useThemeState\";\nimport { useThemeName } from \"./useThemeName\";\nfunction usePortalThemeState() {\n const name = useThemeName();\n const layers = [];\n let cursor = useContext(ThemeStateContext);\n while (cursor) {\n const layer = getThemeUpdateLayer(cursor);\n if (layer) layers.unshift(layer);\n cursor = getThemeProviderParent(cursor);\n }\n return { name, layers };\n}\nexport {\n usePortalThemeState\n};\n//# sourceMappingURL=usePortalThemeState.js.map\n"],"mappings":";;;;;AAOA,SAAS,sBAAsB;CAC7B,MAAM,OAAO,aAAa;CAC1B,MAAM,SAAS,CAAC;CAChB,IAAI,SAAS,WAAW,iBAAiB;CACzC,OAAO,QAAQ;EACb,MAAM,QAAQ,oBAAoB,MAAM;EACxC,IAAI,OAAO,OAAO,QAAQ,KAAK;EAC/B,SAAS,uBAAuB,MAAM;CACxC;CACA,OAAO;EAAE;EAAM;CAAO;AACxB"}
@@ -1,5 +1,5 @@
1
1
  import { useContext } from "react";
2
- import { ThemeStateContext, getInlineThemeLayer, getThemeProviderParent } from "./useThemeState.native.js";
2
+ import { ThemeStateContext, getThemeProviderParent, getThemeUpdateLayer } from "./useThemeState.native.js";
3
3
  import { useThemeName } from "./useThemeName.native.js";
4
4
 
5
5
  function usePortalThemeState() {
@@ -7,7 +7,7 @@ function usePortalThemeState() {
7
7
  var layers = [];
8
8
  var cursor = useContext(ThemeStateContext);
9
9
  while (cursor) {
10
- var layer = getInlineThemeLayer(cursor);
10
+ var layer = getThemeUpdateLayer(cursor);
11
11
  if (layer) layers.unshift(layer);
12
12
  cursor = getThemeProviderParent(cursor);
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"usePortalThemeState.native.js","names":[],"sources":["esm/hooks/usePortalThemeState.native.js"],"sourcesContent":["import { useContext } from \"react\";\nimport { getInlineThemeLayer, getThemeProviderParent, ThemeStateContext } from \"./useThemeState\";\nimport { useThemeName } from \"./useThemeName\";\nfunction usePortalThemeState() {\n var name = useThemeName();\n var layers = [];\n var cursor = useContext(ThemeStateContext);\n while (cursor) {\n var layer = getInlineThemeLayer(cursor);\n if (layer) layers.unshift(layer);\n cursor = getThemeProviderParent(cursor);\n }\n return {\n name,\n layers\n };\n}\nexport {\n usePortalThemeState\n};\n//# sourceMappingURL=usePortalThemeState.js.map\n"],"mappings":";;;;;AAGA,SAAS,sBAAsB;CAC7B,IAAI,OAAO,aAAa;CACxB,IAAI,SAAS,CAAC;CACd,IAAI,SAAS,WAAW,iBAAiB;CACzC,OAAO,QAAQ;EACb,IAAI,QAAQ,oBAAoB,MAAM;EACtC,IAAI,OAAO,OAAO,QAAQ,KAAK;EAC/B,SAAS,uBAAuB,MAAM;CACxC;CACA,OAAO;EACL;EACA;CACF;AACF"}
1
+ {"version":3,"file":"usePortalThemeState.native.js","names":[],"sources":["esm/hooks/usePortalThemeState.native.js"],"sourcesContent":["import { useContext } from \"react\";\nimport { getThemeUpdateLayer, getThemeProviderParent, ThemeStateContext } from \"./useThemeState\";\nimport { useThemeName } from \"./useThemeName\";\nfunction usePortalThemeState() {\n var name = useThemeName();\n var layers = [];\n var cursor = useContext(ThemeStateContext);\n while (cursor) {\n var layer = getThemeUpdateLayer(cursor);\n if (layer) layers.unshift(layer);\n cursor = getThemeProviderParent(cursor);\n }\n return {\n name,\n layers\n };\n}\nexport {\n usePortalThemeState\n};\n//# sourceMappingURL=usePortalThemeState.js.map\n"],"mappings":";;;;;AAGA,SAAS,sBAAsB;CAC7B,IAAI,OAAO,aAAa;CACxB,IAAI,SAAS,CAAC;CACd,IAAI,SAAS,WAAW,iBAAiB;CACzC,OAAO,QAAQ;EACb,IAAI,QAAQ,oBAAoB,MAAM;EACtC,IAAI,OAAO,OAAO,QAAQ,KAAK;EAC/B,SAAS,uBAAuB,MAAM;CACxC;CACA,OAAO;EACL;EACA;CACF;AACF"}
@@ -51,7 +51,7 @@ function usePropsAndStyle(props, opts) {
51
51
  const { mediaGroups, pseudoGroups } = splitStyles || {};
52
52
  useIsomorphicLayoutEffect(() => {
53
53
  let disposeSafeArea;
54
- if (process.env.TAMAGUI_RUNTIME_SAFE_AREA !== "disabled" && splitStyles?.usesSafeArea) {
54
+ if (splitStyles?.usesSafeArea) {
55
55
  const updateSafeArea = () => {
56
56
  setState((previous) => ({ ...previous }));
57
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useProps.js","names":[],"sources":["esm/hooks/useProps.js"],"sourcesContent":["import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport React from \"react\";\nimport { getConfig } from \"../config\";\nimport { ComponentContext } from \"../contexts/ComponentContext\";\nimport { GroupContext } from \"../contexts/GroupContext\";\nimport { useSplitStyles } from \"../helpers/getSplitStyles\";\nimport { subscribeToSafeArea } from \"../helpers/resolveSafeAreaVariable\";\nimport { subscribeToContextGroup } from \"../helpers/subscribeToContextGroup\";\nimport { View } from \"../views/View\";\nimport { useComponentState } from \"./useComponentState\";\nimport { mediaState } from \"../helpers/mediaState\";\nimport { useMedia } from \"./useMedia\";\nimport { useThemeWithState } from \"./useTheme\";\nfunction useProps(props, opts) {\n const [propsOut, styleOut] = usePropsAndStyle(props, {\n ...opts,\n noExpand: true,\n noNormalize: true,\n resolveValues: \"none\"\n });\n return {\n ...propsOut,\n ...styleOut\n };\n}\nfunction useStyle(props, opts) {\n return usePropsAndStyle(props, opts)[1] || {};\n}\nfunction usePropsAndStyle(props, opts) {\n const staticConfig = opts?.forComponent?.staticConfig ?? View.staticConfig;\n const [theme, themeState] = useThemeWithState({\n name: \"theme\" in props ? props.theme : void 0,\n needsUpdate() {\n return true;\n }\n });\n const componentContext = React.useContext(ComponentContext);\n const groupContext = React.useContext(GroupContext);\n const {\n props: statefulProps,\n state,\n disabled,\n setState,\n setStateShallow\n } = useComponentState(\n props,\n componentContext.animationDriver,\n staticConfig,\n getConfig()\n );\n const mediaStateNow = opts?.noMedia ? (\n // not safe to use mediaState but really marginal to hit this\n mediaState\n ) : useMedia();\n const splitStyles = useSplitStyles(\n statefulProps,\n staticConfig,\n theme,\n themeState?.name || \"\",\n state,\n {\n isAnimated: false,\n mediaState: mediaStateNow,\n noSkip: true,\n noMergeStyle: true,\n noClass: true,\n resolveValues: \"auto\",\n ...opts\n },\n null,\n componentContext,\n groupContext\n );\n const { mediaGroups, pseudoGroups } = splitStyles || {};\n useIsomorphicLayoutEffect(() => {\n let disposeSafeArea;\n if (process.env.TAMAGUI_RUNTIME_SAFE_AREA !== \"disabled\" && splitStyles?.usesSafeArea) {\n const updateSafeArea = () => {\n setState((previous) => ({ ...previous }));\n };\n disposeSafeArea = subscribeToSafeArea(updateSafeArea);\n updateSafeArea();\n }\n if (disabled) {\n return disposeSafeArea;\n }\n if (state.unmounted) {\n setStateShallow({ unmounted: false });\n return disposeSafeArea;\n }\n if (groupContext) {\n const disposeGroup = subscribeToContextGroup({\n groupContext,\n setStateShallow,\n mediaGroups,\n pseudoGroups\n });\n if (!disposeSafeArea) return disposeGroup;\n return () => {\n disposeSafeArea();\n disposeGroup?.();\n };\n }\n return disposeSafeArea;\n }, [\n disabled,\n groupContext,\n splitStyles?.usesSafeArea,\n pseudoGroups ? Object.keys([...pseudoGroups]).join(\"\") : 0,\n mediaGroups ? Object.keys([...mediaGroups]).join(\"\") : 0\n ]);\n return [\n splitStyles?.viewProps || {},\n splitStyles?.style || {},\n theme,\n mediaState\n ];\n}\nexport {\n useProps,\n usePropsAndStyle,\n useStyle\n};\n//# sourceMappingURL=useProps.js.map\n"],"mappings":";;;;;;;;;;;;;;;AAaA,SAAS,SAAS,OAAO,MAAM;CAC7B,MAAM,CAAC,UAAU,YAAY,iBAAiB,OAAO;EACnD,GAAG;EACH,UAAU;EACV,aAAa;EACb,eAAe;CACjB,CAAC;CACD,OAAO;EACL,GAAG;EACH,GAAG;CACL;AACF;AACA,SAAS,SAAS,OAAO,MAAM;CAC7B,OAAO,iBAAiB,OAAO,IAAI,EAAE,MAAM,CAAC;AAC9C;AACA,SAAS,iBAAiB,OAAO,MAAM;CACrC,MAAM,eAAe,MAAM,cAAc,gBAAgB,KAAK;CAC9D,MAAM,CAAC,OAAO,cAAc,kBAAkB;EAC5C,MAAM,WAAW,QAAQ,MAAM,QAAQ,KAAK;EAC5C,cAAc;GACZ,OAAO;EACT;CACF,CAAC;CACD,MAAM,mBAAmB,MAAM,WAAW,gBAAgB;CAC1D,MAAM,eAAe,MAAM,WAAW,YAAY;CAClD,MAAM,EACJ,OAAO,eACP,OACA,UACA,UACA,oBACE,kBACF,OACA,iBAAiB,iBACjB,cACA,UAAU,CACZ;CACA,MAAM,gBAAgB,MAAM,UAE1B,aACE,SAAS;CACb,MAAM,cAAc,eAClB,eACA,cACA,OACA,YAAY,QAAQ,IACpB,OACA;EACE,YAAY;EACZ,YAAY;EACZ,QAAQ;EACR,cAAc;EACd,SAAS;EACT,eAAe;EACf,GAAG;CACL,GACA,MACA,kBACA,YACF;CACA,MAAM,EAAE,aAAa,iBAAiB,eAAe,CAAC;CACtD,gCAAgC;EAC9B,IAAI;EACJ,IAAI,QAAQ,IAAI,8BAA8B,cAAc,aAAa,cAAc;GACrF,MAAM,uBAAuB;IAC3B,UAAU,cAAc,EAAE,GAAG,SAAS,EAAE;GAC1C;GACA,kBAAkB,oBAAoB,cAAc;GACpD,eAAe;EACjB;EACA,IAAI,UAAU;GACZ,OAAO;EACT;EACA,IAAI,MAAM,WAAW;GACnB,gBAAgB,EAAE,WAAW,MAAM,CAAC;GACpC,OAAO;EACT;EACA,IAAI,cAAc;GAChB,MAAM,eAAe,wBAAwB;IAC3C;IACA;IACA;IACA;GACF,CAAC;GACD,IAAI,CAAC,iBAAiB,OAAO;GAC7B,aAAa;IACX,gBAAgB;IAChB,eAAe;GACjB;EACF;EACA,OAAO;CACT,GAAG;EACD;EACA;EACA,aAAa;EACb,eAAe,OAAO,KAAK,CAAC,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI;EACzD,cAAc,OAAO,KAAK,CAAC,GAAG,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI;CACzD,CAAC;CACD,OAAO;EACL,aAAa,aAAa,CAAC;EAC3B,aAAa,SAAS,CAAC;EACvB;EACA;CACF;AACF"}
1
+ {"version":3,"file":"useProps.js","names":[],"sources":["esm/hooks/useProps.js"],"sourcesContent":["import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport React from \"react\";\nimport { getConfig } from \"../config\";\nimport { ComponentContext } from \"../contexts/ComponentContext\";\nimport { GroupContext } from \"../contexts/GroupContext\";\nimport { useSplitStyles } from \"../helpers/getSplitStyles\";\nimport { subscribeToSafeArea } from \"../helpers/resolveSafeAreaVariable\";\nimport { subscribeToContextGroup } from \"../helpers/subscribeToContextGroup\";\nimport { View } from \"../views/View\";\nimport { useComponentState } from \"./useComponentState\";\nimport { mediaState } from \"../helpers/mediaState\";\nimport { useMedia } from \"./useMedia\";\nimport { useThemeWithState } from \"./useTheme\";\nfunction useProps(props, opts) {\n const [propsOut, styleOut] = usePropsAndStyle(props, {\n ...opts,\n noExpand: true,\n noNormalize: true,\n resolveValues: \"none\"\n });\n return {\n ...propsOut,\n ...styleOut\n };\n}\nfunction useStyle(props, opts) {\n return usePropsAndStyle(props, opts)[1] || {};\n}\nfunction usePropsAndStyle(props, opts) {\n const staticConfig = opts?.forComponent?.staticConfig ?? View.staticConfig;\n const [theme, themeState] = useThemeWithState({\n name: \"theme\" in props ? props.theme : void 0,\n needsUpdate() {\n return true;\n }\n });\n const componentContext = React.useContext(ComponentContext);\n const groupContext = React.useContext(GroupContext);\n const {\n props: statefulProps,\n state,\n disabled,\n setState,\n setStateShallow\n } = useComponentState(\n props,\n componentContext.animationDriver,\n staticConfig,\n getConfig()\n );\n const mediaStateNow = opts?.noMedia ? (\n // not safe to use mediaState but really marginal to hit this\n mediaState\n ) : useMedia();\n const splitStyles = useSplitStyles(\n statefulProps,\n staticConfig,\n theme,\n themeState?.name || \"\",\n state,\n {\n isAnimated: false,\n mediaState: mediaStateNow,\n noSkip: true,\n noMergeStyle: true,\n noClass: true,\n resolveValues: \"auto\",\n ...opts\n },\n null,\n componentContext,\n groupContext\n );\n const { mediaGroups, pseudoGroups } = splitStyles || {};\n useIsomorphicLayoutEffect(() => {\n let disposeSafeArea;\n if (splitStyles?.usesSafeArea) {\n const updateSafeArea = () => {\n setState((previous) => ({ ...previous }));\n };\n disposeSafeArea = subscribeToSafeArea(updateSafeArea);\n updateSafeArea();\n }\n if (disabled) {\n return disposeSafeArea;\n }\n if (state.unmounted) {\n setStateShallow({ unmounted: false });\n return disposeSafeArea;\n }\n if (groupContext) {\n const disposeGroup = subscribeToContextGroup({\n groupContext,\n setStateShallow,\n mediaGroups,\n pseudoGroups\n });\n if (!disposeSafeArea) return disposeGroup;\n return () => {\n disposeSafeArea();\n disposeGroup?.();\n };\n }\n return disposeSafeArea;\n }, [\n disabled,\n groupContext,\n splitStyles?.usesSafeArea,\n pseudoGroups ? Object.keys([...pseudoGroups]).join(\"\") : 0,\n mediaGroups ? Object.keys([...mediaGroups]).join(\"\") : 0\n ]);\n return [\n splitStyles?.viewProps || {},\n splitStyles?.style || {},\n theme,\n mediaState\n ];\n}\nexport {\n useProps,\n usePropsAndStyle,\n useStyle\n};\n//# sourceMappingURL=useProps.js.map\n"],"mappings":";;;;;;;;;;;;;;;AAaA,SAAS,SAAS,OAAO,MAAM;CAC7B,MAAM,CAAC,UAAU,YAAY,iBAAiB,OAAO;EACnD,GAAG;EACH,UAAU;EACV,aAAa;EACb,eAAe;CACjB,CAAC;CACD,OAAO;EACL,GAAG;EACH,GAAG;CACL;AACF;AACA,SAAS,SAAS,OAAO,MAAM;CAC7B,OAAO,iBAAiB,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC;AAC9C;AACA,SAAS,iBAAiB,OAAO,MAAM;CACrC,MAAM,eAAe,MAAM,cAAc,gBAAgB,KAAK;CAC9D,MAAM,CAAC,OAAO,cAAc,kBAAkB;EAC5C,MAAM,WAAW,QAAQ,MAAM,QAAQ,KAAK;EAC5C,cAAc;GACZ,OAAO;EACT;CACF,CAAC;CACD,MAAM,mBAAmB,MAAM,WAAW,gBAAgB;CAC1D,MAAM,eAAe,MAAM,WAAW,YAAY;CAClD,MAAM,EACJ,OAAO,eACP,OACA,UACA,UACA,oBACE,kBACF,OACA,iBAAiB,iBACjB,cACA,UAAU,CACZ;CACA,MAAM,gBAAgB,MAAM,UAE1B,aACE,SAAS;CACb,MAAM,cAAc,eAClB,eACA,cACA,OACA,YAAY,QAAQ,IACpB,OACA;EACE,YAAY;EACZ,YAAY;EACZ,QAAQ;EACR,cAAc;EACd,SAAS;EACT,eAAe;EACf,GAAG;CACL,GACA,MACA,kBACA,YACF;CACA,MAAM,EAAE,aAAa,iBAAiB,eAAe,CAAC;CACtD,gCAAgC;EAC9B,IAAI;EACJ,IAAI,aAAa,cAAc;GAC7B,MAAM,uBAAuB;IAC3B,UAAU,cAAc,EAAE,GAAG,SAAS,EAAE;GAC1C;GACA,kBAAkB,oBAAoB,cAAc;GACpD,eAAe;EACjB;EACA,IAAI,UAAU;GACZ,OAAO;EACT;EACA,IAAI,MAAM,WAAW;GACnB,gBAAgB,EAAE,WAAW,MAAM,CAAC;GACpC,OAAO;EACT;EACA,IAAI,cAAc;GAChB,MAAM,eAAe,wBAAwB;IAC3C;IACA;IACA;IACA;GACF,CAAC;GACD,IAAI,CAAC,iBAAiB,OAAO;GAC7B,aAAa;IACX,gBAAgB;IAChB,eAAe;GACjB;EACF;EACA,OAAO;CACT,GAAG;EACD;EACA;EACA,aAAa;EACb,eAAe,OAAO,KAAK,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI;EACzD,cAAc,OAAO,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI;CACzD,CAAC;CACD,OAAO;EACL,aAAa,aAAa,CAAC;EAC3B,aAAa,SAAS,CAAC;EACvB;EACA;CACF;AACF"}
@@ -53,7 +53,7 @@ function usePropsAndStyle(props, opts) {
53
53
  var { mediaGroups, pseudoGroups } = splitStyles || {};
54
54
  useIsomorphicLayoutEffect(function() {
55
55
  var disposeSafeArea;
56
- if (process.env.TAMAGUI_RUNTIME_SAFE_AREA !== "disabled" && (splitStyles === null || splitStyles === void 0 ? void 0 : splitStyles.usesSafeArea)) {
56
+ if (splitStyles === null || splitStyles === void 0 ? void 0 : splitStyles.usesSafeArea) {
57
57
  var updateSafeArea = function() {
58
58
  setState(function(previous) {
59
59
  return { ...previous };
@@ -1 +1 @@
1
- {"version":3,"file":"useProps.native.js","names":[],"sources":["esm/hooks/useProps.native.js"],"sourcesContent":["import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport React from \"react\";\nimport { getConfig } from \"../config\";\nimport { ComponentContext } from \"../contexts/ComponentContext\";\nimport { GroupContext } from \"../contexts/GroupContext\";\nimport { useSplitStyles } from \"../helpers/getSplitStyles\";\nimport { subscribeToSafeArea } from \"../helpers/resolveSafeAreaVariable\";\nimport { subscribeToContextGroup } from \"../helpers/subscribeToContextGroup\";\nimport { View } from \"../views/View\";\nimport { useComponentState } from \"./useComponentState\";\nimport { mediaState } from \"../helpers/mediaState\";\nimport { useMedia } from \"./useMedia\";\nimport { useThemeWithState } from \"./useTheme\";\nfunction useProps(props, opts) {\n var [propsOut, styleOut] = usePropsAndStyle(props, {\n ...opts,\n noExpand: true,\n noNormalize: true,\n resolveValues: \"none\"\n });\n return {\n ...propsOut,\n ...styleOut\n };\n}\nfunction useStyle(props, opts) {\n return usePropsAndStyle(props, opts)[1] || {};\n}\nfunction usePropsAndStyle(props, opts) {\n var _opts_forComponent;\n var _opts_forComponent_staticConfig;\n var staticConfig = (_opts_forComponent_staticConfig = opts === null || opts === void 0 ? void 0 : (_opts_forComponent = opts.forComponent) === null || _opts_forComponent === void 0 ? void 0 : _opts_forComponent.staticConfig) !== null && _opts_forComponent_staticConfig !== void 0 ? _opts_forComponent_staticConfig : View.staticConfig;\n var [theme, themeState] = useThemeWithState({\n name: \"theme\" in props ? props.theme : void 0,\n needsUpdate() {\n return true;\n }\n });\n var componentContext = React.useContext(ComponentContext);\n var groupContext = React.useContext(GroupContext);\n var { props: statefulProps, state, disabled, setState, setStateShallow } = useComponentState(props, componentContext.animationDriver, staticConfig, getConfig());\n var mediaStateNow = (opts === null || opts === void 0 ? void 0 : opts.noMedia) ? (\n // not safe to use mediaState but really marginal to hit this\n mediaState\n ) : useMedia();\n var splitStyles = useSplitStyles(statefulProps, staticConfig, theme, (themeState === null || themeState === void 0 ? void 0 : themeState.name) || \"\", state, {\n isAnimated: false,\n mediaState: mediaStateNow,\n noSkip: true,\n noMergeStyle: true,\n noClass: true,\n resolveValues: \"auto\",\n ...opts\n }, null, componentContext, groupContext);\n var { mediaGroups, pseudoGroups } = splitStyles || {};\n useIsomorphicLayoutEffect(function() {\n var disposeSafeArea;\n if (process.env.TAMAGUI_RUNTIME_SAFE_AREA !== \"disabled\" && (splitStyles === null || splitStyles === void 0 ? void 0 : splitStyles.usesSafeArea)) {\n var updateSafeArea = function() {\n setState(function(previous) {\n return {\n ...previous\n };\n });\n };\n disposeSafeArea = subscribeToSafeArea(updateSafeArea);\n updateSafeArea();\n }\n if (disabled) {\n return disposeSafeArea;\n }\n if (state.unmounted) {\n setStateShallow({\n unmounted: false\n });\n return disposeSafeArea;\n }\n if (groupContext) {\n var disposeGroup = subscribeToContextGroup({\n groupContext,\n setStateShallow,\n mediaGroups,\n pseudoGroups\n });\n if (!disposeSafeArea) return disposeGroup;\n return function() {\n disposeSafeArea();\n disposeGroup === null || disposeGroup === void 0 ? void 0 : disposeGroup();\n };\n }\n return disposeSafeArea;\n }, [\n disabled,\n groupContext,\n splitStyles === null || splitStyles === void 0 ? void 0 : splitStyles.usesSafeArea,\n pseudoGroups ? Object.keys([\n ...pseudoGroups\n ]).join(\"\") : 0,\n mediaGroups ? Object.keys([\n ...mediaGroups\n ]).join(\"\") : 0\n ]);\n return [\n (splitStyles === null || splitStyles === void 0 ? void 0 : splitStyles.viewProps) || {},\n (splitStyles === null || splitStyles === void 0 ? void 0 : splitStyles.style) || {},\n theme,\n mediaState\n ];\n}\nexport {\n useProps,\n usePropsAndStyle,\n useStyle\n};\n//# sourceMappingURL=useProps.js.map\n"],"mappings":";;;;;;;;;;;;;;;AAaA,SAAS,SAAS,OAAO,MAAM;CAC7B,IAAI,CAAC,UAAU,YAAY,iBAAiB,OAAO;EACjD,GAAG;EACH,UAAU;EACV,aAAa;EACb,eAAe;CACjB,CAAC;CACD,OAAO;EACL,GAAG;EACH,GAAG;CACL;AACF;AACA,SAAS,SAAS,OAAO,MAAM;CAC7B,OAAO,iBAAiB,OAAO,IAAI,EAAE,MAAM,CAAC;AAC9C;AACA,SAAS,iBAAiB,OAAO,MAAM;CACrC,IAAI;CACJ,IAAI;CACJ,IAAI,gBAAgB,kCAAkC,SAAS,QAAQ,SAAS,KAAK,IAAI,KAAK,KAAK,qBAAqB,KAAK,kBAAkB,QAAQ,uBAAuB,KAAK,IAAI,KAAK,IAAI,mBAAmB,kBAAkB,QAAQ,oCAAoC,KAAK,IAAI,kCAAkC,KAAK;CACjU,IAAI,CAAC,OAAO,cAAc,kBAAkB;EAC1C,MAAM,WAAW,QAAQ,MAAM,QAAQ,KAAK;EAC5C,cAAc;GACZ,OAAO;EACT;CACF,CAAC;CACD,IAAI,mBAAmB,MAAM,WAAW,gBAAgB;CACxD,IAAI,eAAe,MAAM,WAAW,YAAY;CAChD,IAAI,EAAE,OAAO,eAAe,OAAO,UAAU,UAAU,oBAAoB,kBAAkB,OAAO,iBAAiB,iBAAiB,cAAc,UAAU,CAAC;CAC/J,IAAI,iBAAiB,SAAS,QAAQ,SAAS,KAAK,IAAI,KAAK,IAAI,KAAK,WAEpE,aACE,SAAS;CACb,IAAI,cAAc,eAAe,eAAe,cAAc,QAAQ,eAAe,QAAQ,eAAe,KAAK,IAAI,KAAK,IAAI,WAAW,SAAS,IAAI,OAAO;EAC3J,YAAY;EACZ,YAAY;EACZ,QAAQ;EACR,cAAc;EACd,SAAS;EACT,eAAe;EACf,GAAG;CACL,GAAG,MAAM,kBAAkB,YAAY;CACvC,IAAI,EAAE,aAAa,iBAAiB,eAAe,CAAC;CACpD,0BAA0B,WAAW;EACnC,IAAI;EACJ,IAAI,QAAQ,IAAI,8BAA8B,eAAe,gBAAgB,QAAQ,gBAAgB,KAAK,IAAI,KAAK,IAAI,YAAY,eAAe;GAChJ,IAAI,iBAAiB,WAAW;IAC9B,SAAS,SAAS,UAAU;KAC1B,OAAO,EACL,GAAG,SACL;IACF,CAAC;GACH;GACA,kBAAkB,oBAAoB,cAAc;GACpD,eAAe;EACjB;EACA,IAAI,UAAU;GACZ,OAAO;EACT;EACA,IAAI,MAAM,WAAW;GACnB,gBAAgB,EACd,WAAW,MACb,CAAC;GACD,OAAO;EACT;EACA,IAAI,cAAc;GAChB,IAAI,eAAe,wBAAwB;IACzC;IACA;IACA;IACA;GACF,CAAC;GACD,IAAI,CAAC,iBAAiB,OAAO;GAC7B,OAAO,WAAW;IAChB,gBAAgB;IAChB,iBAAiB,QAAQ,iBAAiB,KAAK,IAAI,KAAK,IAAI,aAAa;GAC3E;EACF;EACA,OAAO;CACT,GAAG;EACD;EACA;EACA,gBAAgB,QAAQ,gBAAgB,KAAK,IAAI,KAAK,IAAI,YAAY;EACtE,eAAe,OAAO,KAAK,CACzB,GAAG,YACL,CAAC,EAAE,KAAK,EAAE,IAAI;EACd,cAAc,OAAO,KAAK,CACxB,GAAG,WACL,CAAC,EAAE,KAAK,EAAE,IAAI;CAChB,CAAC;CACD,OAAO;GACJ,gBAAgB,QAAQ,gBAAgB,KAAK,IAAI,KAAK,IAAI,YAAY,cAAc,CAAC;GACrF,gBAAgB,QAAQ,gBAAgB,KAAK,IAAI,KAAK,IAAI,YAAY,UAAU,CAAC;EAClF;EACA;CACF;AACF"}
1
+ {"version":3,"file":"useProps.native.js","names":[],"sources":["esm/hooks/useProps.native.js"],"sourcesContent":["import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport React from \"react\";\nimport { getConfig } from \"../config\";\nimport { ComponentContext } from \"../contexts/ComponentContext\";\nimport { GroupContext } from \"../contexts/GroupContext\";\nimport { useSplitStyles } from \"../helpers/getSplitStyles\";\nimport { subscribeToSafeArea } from \"../helpers/resolveSafeAreaVariable\";\nimport { subscribeToContextGroup } from \"../helpers/subscribeToContextGroup\";\nimport { View } from \"../views/View\";\nimport { useComponentState } from \"./useComponentState\";\nimport { mediaState } from \"../helpers/mediaState\";\nimport { useMedia } from \"./useMedia\";\nimport { useThemeWithState } from \"./useTheme\";\nfunction useProps(props, opts) {\n var [propsOut, styleOut] = usePropsAndStyle(props, {\n ...opts,\n noExpand: true,\n noNormalize: true,\n resolveValues: \"none\"\n });\n return {\n ...propsOut,\n ...styleOut\n };\n}\nfunction useStyle(props, opts) {\n return usePropsAndStyle(props, opts)[1] || {};\n}\nfunction usePropsAndStyle(props, opts) {\n var _opts_forComponent;\n var _opts_forComponent_staticConfig;\n var staticConfig = (_opts_forComponent_staticConfig = opts === null || opts === void 0 ? void 0 : (_opts_forComponent = opts.forComponent) === null || _opts_forComponent === void 0 ? void 0 : _opts_forComponent.staticConfig) !== null && _opts_forComponent_staticConfig !== void 0 ? _opts_forComponent_staticConfig : View.staticConfig;\n var [theme, themeState] = useThemeWithState({\n name: \"theme\" in props ? props.theme : void 0,\n needsUpdate() {\n return true;\n }\n });\n var componentContext = React.useContext(ComponentContext);\n var groupContext = React.useContext(GroupContext);\n var { props: statefulProps, state, disabled, setState, setStateShallow } = useComponentState(props, componentContext.animationDriver, staticConfig, getConfig());\n var mediaStateNow = (opts === null || opts === void 0 ? void 0 : opts.noMedia) ? (\n // not safe to use mediaState but really marginal to hit this\n mediaState\n ) : useMedia();\n var splitStyles = useSplitStyles(statefulProps, staticConfig, theme, (themeState === null || themeState === void 0 ? void 0 : themeState.name) || \"\", state, {\n isAnimated: false,\n mediaState: mediaStateNow,\n noSkip: true,\n noMergeStyle: true,\n noClass: true,\n resolveValues: \"auto\",\n ...opts\n }, null, componentContext, groupContext);\n var { mediaGroups, pseudoGroups } = splitStyles || {};\n useIsomorphicLayoutEffect(function() {\n var disposeSafeArea;\n if (splitStyles === null || splitStyles === void 0 ? void 0 : splitStyles.usesSafeArea) {\n var updateSafeArea = function() {\n setState(function(previous) {\n return {\n ...previous\n };\n });\n };\n disposeSafeArea = subscribeToSafeArea(updateSafeArea);\n updateSafeArea();\n }\n if (disabled) {\n return disposeSafeArea;\n }\n if (state.unmounted) {\n setStateShallow({\n unmounted: false\n });\n return disposeSafeArea;\n }\n if (groupContext) {\n var disposeGroup = subscribeToContextGroup({\n groupContext,\n setStateShallow,\n mediaGroups,\n pseudoGroups\n });\n if (!disposeSafeArea) return disposeGroup;\n return function() {\n disposeSafeArea();\n disposeGroup === null || disposeGroup === void 0 ? void 0 : disposeGroup();\n };\n }\n return disposeSafeArea;\n }, [\n disabled,\n groupContext,\n splitStyles === null || splitStyles === void 0 ? void 0 : splitStyles.usesSafeArea,\n pseudoGroups ? Object.keys([\n ...pseudoGroups\n ]).join(\"\") : 0,\n mediaGroups ? Object.keys([\n ...mediaGroups\n ]).join(\"\") : 0\n ]);\n return [\n (splitStyles === null || splitStyles === void 0 ? void 0 : splitStyles.viewProps) || {},\n (splitStyles === null || splitStyles === void 0 ? void 0 : splitStyles.style) || {},\n theme,\n mediaState\n ];\n}\nexport {\n useProps,\n usePropsAndStyle,\n useStyle\n};\n//# sourceMappingURL=useProps.js.map\n"],"mappings":";;;;;;;;;;;;;;;AAaA,SAAS,SAAS,OAAO,MAAM;CAC7B,IAAI,CAAC,UAAU,YAAY,iBAAiB,OAAO;EACjD,GAAG;EACH,UAAU;EACV,aAAa;EACb,eAAe;CACjB,CAAC;CACD,OAAO;EACL,GAAG;EACH,GAAG;CACL;AACF;AACA,SAAS,SAAS,OAAO,MAAM;CAC7B,OAAO,iBAAiB,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC;AAC9C;AACA,SAAS,iBAAiB,OAAO,MAAM;CACrC,IAAI;CACJ,IAAI;CACJ,IAAI,gBAAgB,kCAAkC,SAAS,QAAQ,SAAS,KAAK,IAAI,KAAK,KAAK,qBAAqB,KAAK,kBAAkB,QAAQ,uBAAuB,KAAK,IAAI,KAAK,IAAI,mBAAmB,kBAAkB,QAAQ,oCAAoC,KAAK,IAAI,kCAAkC,KAAK;CACjU,IAAI,CAAC,OAAO,cAAc,kBAAkB;EAC1C,MAAM,WAAW,QAAQ,MAAM,QAAQ,KAAK;EAC5C,cAAc;GACZ,OAAO;EACT;CACF,CAAC;CACD,IAAI,mBAAmB,MAAM,WAAW,gBAAgB;CACxD,IAAI,eAAe,MAAM,WAAW,YAAY;CAChD,IAAI,EAAE,OAAO,eAAe,OAAO,UAAU,UAAU,oBAAoB,kBAAkB,OAAO,iBAAiB,iBAAiB,cAAc,UAAU,CAAC;CAC/J,IAAI,iBAAiB,SAAS,QAAQ,SAAS,KAAK,IAAI,KAAK,IAAI,KAAK,WAEpE,aACE,SAAS;CACb,IAAI,cAAc,eAAe,eAAe,cAAc,QAAQ,eAAe,QAAQ,eAAe,KAAK,IAAI,KAAK,IAAI,WAAW,SAAS,IAAI,OAAO;EAC3J,YAAY;EACZ,YAAY;EACZ,QAAQ;EACR,cAAc;EACd,SAAS;EACT,eAAe;EACf,GAAG;CACL,GAAG,MAAM,kBAAkB,YAAY;CACvC,IAAI,EAAE,aAAa,iBAAiB,eAAe,CAAC;CACpD,0BAA0B,WAAW;EACnC,IAAI;EACJ,IAAI,gBAAgB,QAAQ,gBAAgB,KAAK,IAAI,KAAK,IAAI,YAAY,cAAc;GACtF,IAAI,iBAAiB,WAAW;IAC9B,SAAS,SAAS,UAAU;KAC1B,OAAO,EACL,GAAG,SACL;IACF,CAAC;GACH;GACA,kBAAkB,oBAAoB,cAAc;GACpD,eAAe;EACjB;EACA,IAAI,UAAU;GACZ,OAAO;EACT;EACA,IAAI,MAAM,WAAW;GACnB,gBAAgB,EACd,WAAW,MACb,CAAC;GACD,OAAO;EACT;EACA,IAAI,cAAc;GAChB,IAAI,eAAe,wBAAwB;IACzC;IACA;IACA;IACA;GACF,CAAC;GACD,IAAI,CAAC,iBAAiB,OAAO;GAC7B,OAAO,WAAW;IAChB,gBAAgB;IAChB,iBAAiB,QAAQ,iBAAiB,KAAK,IAAI,KAAK,IAAI,aAAa;GAC3E;EACF;EACA,OAAO;CACT,GAAG;EACD;EACA;EACA,gBAAgB,QAAQ,gBAAgB,KAAK,IAAI,KAAK,IAAI,YAAY;EACtE,eAAe,OAAO,KAAK,CACzB,GAAG,YACL,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI;EACd,cAAc,OAAO,KAAK,CACxB,GAAG,WACL,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI;CAChB,CAAC;CACD,OAAO;GACJ,gBAAgB,QAAQ,gBAAgB,KAAK,IAAI,KAAK,IAAI,YAAY,cAAc,CAAC;GACrF,gBAAgB,QAAQ,gBAAgB,KAAK,IAAI,KAAK,IAAI,YAAY,UAAU,CAAC;EAClF;EACA;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"useThemeName.js","names":[],"sources":["esm/hooks/useThemeName.js"],"sourcesContent":["import { useThemeState } from \"./useThemeState\";\nconst forceUpdateState = { forceClassName: true, deopt: true, needsUpdate: () => true };\nconst forceKeys = { current: /* @__PURE__ */ new Set([\"\"]) };\nfunction useThemeName() {\n return useThemeState(forceUpdateState, false, forceKeys)?.name || \"\";\n}\nexport {\n useThemeName\n};\n//# sourceMappingURL=useThemeName.js.map\n"],"mappings":";;;AACA,MAAM,mBAAmB;CAAE,gBAAgB;CAAM,OAAO;CAAM,mBAAmB;AAAK;AACtF,MAAM,YAAY,EAAE,yBAAyB,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE;AAC3D,SAAS,eAAe;CACtB,OAAO,cAAc,kBAAkB,OAAO,SAAS,GAAG,QAAQ;AACpE"}
1
+ {"version":3,"file":"useThemeName.js","names":[],"sources":["esm/hooks/useThemeName.js"],"sourcesContent":["import { useThemeState } from \"./useThemeState\";\nconst forceUpdateState = { forceClassName: true, deopt: true, needsUpdate: () => true };\nconst forceKeys = { current: /* @__PURE__ */ new Set([\"\"]) };\nfunction useThemeName() {\n return useThemeState(forceUpdateState, false, forceKeys)?.name || \"\";\n}\nexport {\n useThemeName\n};\n//# sourceMappingURL=useThemeName.js.map\n"],"mappings":";;;AACA,MAAM,mBAAmB;CAAE,gBAAgB;CAAM,OAAO;CAAM,mBAAmB;AAAK;AACtF,MAAM,YAAY,EAAE,yBAAyB,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE;AAC3D,SAAS,eAAe;CACtB,OAAO,cAAc,kBAAkB,OAAO,SAAS,CAAC,EAAE,QAAQ;AACpE"}