@tamagui/web 3.0.0-beta.922.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (636) hide show
  1. package/dist/cjs/_withNativeStyle.cjs +3 -0
  2. package/dist/cjs/_withNativeStyle.native.cjs +3 -0
  3. package/dist/cjs/_withNativeStyle.native.js +3 -0
  4. package/dist/cjs/_withNativeStyle.native.js.map +1 -1
  5. package/dist/cjs/_withStableStyle.native.cjs +1 -5
  6. package/dist/cjs/_withStableStyle.native.js +1 -5
  7. package/dist/cjs/_withStableStyle.native.js.map +1 -1
  8. package/dist/cjs/config.cjs +6 -3
  9. package/dist/cjs/config.native.cjs +7 -5
  10. package/dist/cjs/config.native.js +7 -5
  11. package/dist/cjs/config.native.js.map +1 -1
  12. package/dist/cjs/contexts/ComponentContext.cjs +1 -0
  13. package/dist/cjs/contexts/ComponentContext.native.cjs +8 -0
  14. package/dist/cjs/contexts/ComponentContext.native.js +8 -0
  15. package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
  16. package/dist/cjs/createComponent.cjs +46 -32
  17. package/dist/cjs/createComponent.native.cjs +92 -72
  18. package/dist/cjs/createComponent.native.js +92 -72
  19. package/dist/cjs/createComponent.native.js.map +1 -1
  20. package/dist/cjs/createTamagui.cjs +32 -14
  21. package/dist/cjs/createTamagui.native.cjs +33 -19
  22. package/dist/cjs/createTamagui.native.js +33 -19
  23. package/dist/cjs/createTamagui.native.js.map +1 -1
  24. package/dist/cjs/createTokens.native.cjs +1 -5
  25. package/dist/cjs/createTokens.native.js +1 -5
  26. package/dist/cjs/createTokens.native.js.map +1 -1
  27. package/dist/cjs/createVariable.native.cjs +1 -5
  28. package/dist/cjs/createVariable.native.js +1 -5
  29. package/dist/cjs/createVariable.native.js.map +1 -1
  30. package/dist/cjs/createVariables.native.cjs +2 -6
  31. package/dist/cjs/createVariables.native.js +2 -6
  32. package/dist/cjs/createVariables.native.js.map +1 -1
  33. package/dist/cjs/dom/html.cjs +87 -329
  34. package/dist/cjs/dom/html.native.cjs +53 -2
  35. package/dist/cjs/dom/html.native.js +53 -2
  36. package/dist/cjs/dom/html.native.js.map +1 -1
  37. package/dist/cjs/{helpers/timer.native.js → dom/htmlReset.cjs} +6 -12
  38. package/dist/cjs/{helpers/timer.native.cjs → dom/htmlReset.native.cjs} +6 -8
  39. package/dist/cjs/dom/htmlReset.native.js +30 -0
  40. package/dist/cjs/dom/htmlReset.native.js.map +1 -0
  41. package/dist/cjs/dom/htmlRuntime.native.cjs +4 -0
  42. package/dist/cjs/dom/htmlRuntime.native.js +4 -0
  43. package/dist/cjs/dom/htmlRuntime.native.js.map +1 -1
  44. package/dist/cjs/dom/htmlStaticConfig.cjs +44 -0
  45. package/dist/cjs/dom/htmlStaticConfig.native.cjs +46 -0
  46. package/dist/cjs/dom/htmlStaticConfig.native.js +48 -0
  47. package/dist/cjs/dom/htmlStaticConfig.native.js.map +1 -0
  48. package/dist/cjs/dom/primitives.native.cjs +81 -34
  49. package/dist/cjs/dom/primitives.native.js +81 -34
  50. package/dist/cjs/dom/primitives.native.js.map +1 -1
  51. package/dist/cjs/eventHandling.cjs +10 -4
  52. package/dist/cjs/eventHandling.native.cjs +52 -16
  53. package/dist/cjs/eventHandling.native.js +52 -16
  54. package/dist/cjs/eventHandling.native.js.map +1 -1
  55. package/dist/cjs/helpers/NativeTextBinding.cjs +36 -0
  56. package/dist/cjs/helpers/NativeTextBinding.native.cjs +39 -0
  57. package/dist/cjs/helpers/NativeTextBinding.native.js +41 -0
  58. package/dist/cjs/helpers/NativeTextBinding.native.js.map +1 -0
  59. package/dist/cjs/helpers/configVariables.native.cjs +2 -6
  60. package/dist/cjs/helpers/configVariables.native.js +2 -6
  61. package/dist/cjs/helpers/configVariables.native.js.map +1 -1
  62. package/dist/cjs/helpers/createDesignSystem.cjs +14 -10
  63. package/dist/cjs/helpers/createDesignSystem.native.cjs +5 -4
  64. package/dist/cjs/helpers/createDesignSystem.native.js +5 -4
  65. package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
  66. package/dist/cjs/helpers/createStyledContext.native.cjs +1 -5
  67. package/dist/cjs/helpers/createStyledContext.native.js +1 -5
  68. package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
  69. package/dist/cjs/helpers/expandStyle.cjs +45 -1
  70. package/dist/cjs/helpers/expandStyle.native.cjs +38 -2
  71. package/dist/cjs/helpers/expandStyle.native.js +38 -2
  72. package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
  73. package/dist/cjs/helpers/expandStyles.cjs +15 -3
  74. package/dist/cjs/helpers/expandStyles.native.cjs +14 -8
  75. package/dist/cjs/helpers/expandStyles.native.js +14 -8
  76. package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
  77. package/dist/cjs/helpers/fluid.cjs +56 -0
  78. package/dist/cjs/helpers/fluid.native.cjs +58 -0
  79. package/dist/cjs/helpers/fluid.native.js +60 -0
  80. package/dist/cjs/helpers/fluid.native.js.map +1 -0
  81. package/dist/cjs/helpers/formatDiagnostic.native.cjs +2 -6
  82. package/dist/cjs/helpers/formatDiagnostic.native.js +2 -6
  83. package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -1
  84. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +6 -6
  85. package/dist/cjs/helpers/getSplitStyles.cjs +366 -150
  86. package/dist/cjs/helpers/getSplitStyles.native.cjs +584 -184
  87. package/dist/cjs/helpers/getSplitStyles.native.js +584 -184
  88. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  89. package/dist/cjs/helpers/getThemeCSSRules.cjs +37 -25
  90. package/dist/cjs/helpers/grammarConfig.cjs +6 -14
  91. package/dist/cjs/helpers/grammarConfig.native.cjs +32 -22
  92. package/dist/cjs/helpers/grammarConfig.native.js +32 -22
  93. package/dist/cjs/helpers/grammarConfig.native.js.map +1 -1
  94. package/dist/cjs/helpers/insertStyleRule.cjs +11 -4
  95. package/dist/cjs/helpers/insertStyleRule.native.cjs +8 -11
  96. package/dist/cjs/helpers/insertStyleRule.native.js +8 -11
  97. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  98. package/dist/cjs/helpers/isObj.native.cjs +1 -5
  99. package/dist/cjs/helpers/isObj.native.js +1 -5
  100. package/dist/cjs/helpers/isObj.native.js.map +1 -1
  101. package/dist/cjs/helpers/mainThreadPressEvents.native.cjs +48 -100
  102. package/dist/cjs/helpers/mainThreadPressEvents.native.js +48 -100
  103. package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
  104. package/dist/cjs/helpers/mergeProps.cjs +18 -21
  105. package/dist/cjs/helpers/mergeProps.native.cjs +20 -23
  106. package/dist/cjs/helpers/mergeProps.native.js +20 -23
  107. package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
  108. package/dist/cjs/helpers/nativeOnlyProps.cjs +0 -1
  109. package/dist/cjs/helpers/nativeOnlyProps.native.cjs +0 -1
  110. package/dist/cjs/helpers/nativeOnlyProps.native.js +0 -1
  111. package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
  112. package/dist/cjs/helpers/nativeTextMetrics.cjs +74 -0
  113. package/dist/cjs/helpers/nativeTextMetrics.native.cjs +77 -0
  114. package/dist/cjs/helpers/nativeTextMetrics.native.js +79 -0
  115. package/dist/cjs/helpers/nativeTextMetrics.native.js.map +1 -0
  116. package/dist/cjs/helpers/normalizeColor.native.cjs +17 -2
  117. package/dist/cjs/helpers/normalizeColor.native.js +17 -2
  118. package/dist/cjs/helpers/normalizeColor.native.js.map +1 -1
  119. package/dist/cjs/helpers/normalizeValueWithProperty.cjs +2 -1
  120. package/dist/cjs/helpers/normalizeValueWithProperty.native.cjs +3 -6
  121. package/dist/cjs/helpers/normalizeValueWithProperty.native.js +3 -6
  122. package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
  123. package/dist/cjs/helpers/objectIdentityKey.native.cjs +1 -5
  124. package/dist/cjs/helpers/objectIdentityKey.native.js +1 -5
  125. package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
  126. package/dist/cjs/helpers/parseNativeStyle.cjs +187 -0
  127. package/dist/cjs/helpers/parseNativeStyle.native.cjs +6 -4
  128. package/dist/cjs/helpers/parseNativeStyle.native.js +6 -4
  129. package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -1
  130. package/dist/cjs/helpers/proxyThemeToParents.cjs +9 -2
  131. package/dist/cjs/helpers/proxyThemeToParents.native.cjs +28 -2
  132. package/dist/cjs/helpers/proxyThemeToParents.native.js +28 -2
  133. package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
  134. package/dist/cjs/helpers/resolveAnimationDriver.native.cjs +1 -5
  135. package/dist/cjs/helpers/resolveAnimationDriver.native.js +1 -5
  136. package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -1
  137. package/dist/cjs/helpers/{timer.cjs → resolveNativeUnits.cjs} +12 -8
  138. package/dist/cjs/helpers/resolveNativeUnits.native.cjs +205 -0
  139. package/dist/cjs/helpers/resolveNativeUnits.native.js +207 -0
  140. package/dist/cjs/helpers/resolveNativeUnits.native.js.map +1 -0
  141. package/dist/cjs/helpers/resolveRem.native.cjs +18 -21
  142. package/dist/cjs/helpers/resolveRem.native.js +18 -21
  143. package/dist/cjs/helpers/resolveRem.native.js.map +1 -1
  144. package/dist/cjs/helpers/resolveSizing.cjs +124 -0
  145. package/dist/cjs/helpers/resolveSizing.native.cjs +133 -0
  146. package/dist/cjs/helpers/resolveSizing.native.js +135 -0
  147. package/dist/cjs/helpers/resolveSizing.native.js.map +1 -0
  148. package/dist/cjs/helpers/resolveVariableValue.cjs +7 -7
  149. package/dist/cjs/helpers/resolveVariableValue.native.cjs +7 -9
  150. package/dist/cjs/helpers/resolveVariableValue.native.js +7 -9
  151. package/dist/cjs/helpers/resolveVariableValue.native.js.map +1 -1
  152. package/dist/cjs/helpers/resolveVariantStyle.native.cjs +2 -6
  153. package/dist/cjs/helpers/resolveVariantStyle.native.js +2 -6
  154. package/dist/cjs/helpers/resolveVariantStyle.native.js.map +1 -1
  155. package/dist/cjs/helpers/skipProps.cjs +0 -1
  156. package/dist/cjs/helpers/skipProps.native.cjs +0 -1
  157. package/dist/cjs/helpers/skipProps.native.js +0 -1
  158. package/dist/cjs/helpers/skipProps.native.js.map +1 -1
  159. package/dist/cjs/helpers/styleFrontend.cjs +23 -1
  160. package/dist/cjs/helpers/styleFrontend.native.cjs +23 -1
  161. package/dist/cjs/helpers/styleFrontend.native.js +23 -1
  162. package/dist/cjs/helpers/styleFrontend.native.js.map +1 -1
  163. package/dist/cjs/helpers/styleStaticConfigCore.cjs +5 -4
  164. package/dist/cjs/helpers/styleStaticConfigCore.native.cjs +7 -4
  165. package/dist/cjs/helpers/styleStaticConfigCore.native.js +7 -4
  166. package/dist/cjs/helpers/styleStaticConfigCore.native.js.map +1 -1
  167. package/dist/cjs/helpers/styledDynamic.cjs +5 -0
  168. package/dist/cjs/helpers/styledDynamic.native.cjs +8 -7
  169. package/dist/cjs/helpers/styledDynamic.native.js +8 -7
  170. package/dist/cjs/helpers/styledDynamic.native.js.map +1 -1
  171. package/dist/cjs/helpers/subscribeToContextGroup.cjs +16 -7
  172. package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +18 -8
  173. package/dist/cjs/helpers/subscribeToContextGroup.native.js +18 -8
  174. package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
  175. package/dist/cjs/helpers/themeRef.native.cjs +1 -5
  176. package/dist/cjs/helpers/themeRef.native.js +1 -5
  177. package/dist/cjs/helpers/themeRef.native.js.map +1 -1
  178. package/dist/cjs/helpers/themes.cjs +26 -11
  179. package/dist/cjs/helpers/themes.native.cjs +26 -11
  180. package/dist/cjs/helpers/themes.native.js +26 -11
  181. package/dist/cjs/helpers/themes.native.js.map +1 -1
  182. package/dist/cjs/helpers/tokenCategories.cjs +2 -2
  183. package/dist/cjs/helpers/tokenCategories.native.cjs +2 -2
  184. package/dist/cjs/helpers/tokenCategories.native.js +2 -2
  185. package/dist/cjs/helpers/tokenCategories.native.js.map +1 -1
  186. package/dist/cjs/helpers/variables.cjs +1 -1
  187. package/dist/cjs/helpers/variables.native.cjs +4 -8
  188. package/dist/cjs/helpers/variables.native.js +4 -8
  189. package/dist/cjs/helpers/variables.native.js.map +1 -1
  190. package/dist/cjs/helpers/warnOnce.cjs +6 -0
  191. package/dist/cjs/helpers/warnOnce.native.cjs +6 -0
  192. package/dist/cjs/helpers/warnOnce.native.js +6 -0
  193. package/dist/cjs/helpers/warnOnce.native.js.map +1 -1
  194. package/dist/cjs/helpers/webPropsToSkip.native.cjs +3 -3
  195. package/dist/cjs/helpers/webPropsToSkip.native.js +3 -3
  196. package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -1
  197. package/dist/cjs/helpers/wrapStyleTags.cjs +1 -1
  198. package/dist/cjs/helpers/wrapStyleTags.native.cjs +1 -1
  199. package/dist/cjs/helpers/wrapStyleTags.native.js +1 -1
  200. package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
  201. package/dist/cjs/hooks/useComponentState.native.cjs +1 -5
  202. package/dist/cjs/hooks/useComponentState.native.js +1 -5
  203. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  204. package/dist/cjs/hooks/useMedia.cjs +27 -34
  205. package/dist/cjs/hooks/useMedia.native.cjs +45 -51
  206. package/dist/cjs/hooks/useMedia.native.js +45 -51
  207. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  208. package/dist/cjs/hooks/useSplitStyles.cjs +1 -1
  209. package/dist/cjs/hooks/useSplitStyles.native.cjs +1 -1
  210. package/dist/cjs/hooks/useSplitStyles.native.js +1 -1
  211. package/dist/cjs/hooks/useSplitStyles.native.js.map +1 -1
  212. package/dist/cjs/hooks/useThemeState.cjs +37 -47
  213. package/dist/cjs/hooks/useThemeState.native.cjs +44 -50
  214. package/dist/cjs/hooks/useThemeState.native.js +44 -50
  215. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  216. package/dist/cjs/index.cjs +7 -0
  217. package/dist/cjs/index.native.cjs +7 -0
  218. package/dist/cjs/index.native.js +7 -0
  219. package/dist/cjs/index.native.js.map +1 -1
  220. package/dist/cjs/internal-runtime.cjs +22 -0
  221. package/dist/cjs/internal-runtime.native.cjs +22 -0
  222. package/dist/cjs/internal-runtime.native.js +22 -0
  223. package/dist/cjs/internal-runtime.native.js.map +1 -1
  224. package/dist/cjs/static-resolve.native.cjs +2 -9
  225. package/dist/cjs/static-resolve.native.js +2 -9
  226. package/dist/cjs/static-resolve.native.js.map +1 -1
  227. package/dist/cjs/style.cjs +1 -1
  228. package/dist/cjs/style.native.cjs +4 -7
  229. package/dist/cjs/style.native.js +4 -7
  230. package/dist/cjs/style.native.js.map +1 -1
  231. package/dist/cjs/views/Theme.cjs +10 -17
  232. package/dist/cjs/views/Theme.native.cjs +9 -11
  233. package/dist/cjs/views/Theme.native.js +9 -11
  234. package/dist/cjs/views/Theme.native.js.map +1 -1
  235. package/dist/cjs/views/ThemeDebug.cjs +1 -1
  236. package/dist/cjs/views/ThemeUpdate.cjs +1 -1
  237. package/dist/cjs/views/ThemeUpdate.native.cjs +1 -1
  238. package/dist/cjs/views/ThemeUpdate.native.js +1 -1
  239. package/dist/cjs/views/ThemeUpdate.native.js.map +1 -1
  240. package/dist/esm/_withNativeStyle.mjs +4 -1
  241. package/dist/esm/_withNativeStyle.mjs.map +1 -1
  242. package/dist/esm/_withNativeStyle.native.js +4 -1
  243. package/dist/esm/_withNativeStyle.native.js.map +1 -1
  244. package/dist/esm/_withStableStyle.native.js +1 -5
  245. package/dist/esm/_withStableStyle.native.js.map +1 -1
  246. package/dist/esm/config.mjs +6 -3
  247. package/dist/esm/config.mjs.map +1 -1
  248. package/dist/esm/config.native.js +7 -5
  249. package/dist/esm/config.native.js.map +1 -1
  250. package/dist/esm/contexts/ComponentContext.mjs +9 -9
  251. package/dist/esm/contexts/ComponentContext.mjs.map +1 -1
  252. package/dist/esm/contexts/ComponentContext.native.js +16 -9
  253. package/dist/esm/contexts/ComponentContext.native.js.map +1 -1
  254. package/dist/esm/createComponent.mjs +45 -42
  255. package/dist/esm/createComponent.mjs.map +1 -1
  256. package/dist/esm/createComponent.native.js +93 -82
  257. package/dist/esm/createComponent.native.js.map +1 -1
  258. package/dist/esm/createTamagui.mjs +33 -15
  259. package/dist/esm/createTamagui.mjs.map +1 -1
  260. package/dist/esm/createTamagui.native.js +34 -20
  261. package/dist/esm/createTamagui.native.js.map +1 -1
  262. package/dist/esm/createTokens.native.js +1 -5
  263. package/dist/esm/createTokens.native.js.map +1 -1
  264. package/dist/esm/createVariable.native.js +1 -5
  265. package/dist/esm/createVariable.native.js.map +1 -1
  266. package/dist/esm/createVariables.native.js +2 -6
  267. package/dist/esm/createVariables.native.js.map +1 -1
  268. package/dist/esm/dom/html.mjs +87 -329
  269. package/dist/esm/dom/html.mjs.map +1 -1
  270. package/dist/esm/dom/html.native.js +53 -2
  271. package/dist/esm/dom/html.native.js.map +1 -1
  272. package/dist/esm/dom/htmlReset.mjs +6 -0
  273. package/dist/esm/dom/htmlReset.mjs.map +1 -0
  274. package/dist/esm/dom/htmlReset.native.js +6 -0
  275. package/dist/esm/dom/htmlReset.native.js.map +1 -0
  276. package/dist/esm/dom/htmlRuntime.native.js +4 -0
  277. package/dist/esm/dom/htmlRuntime.native.js.map +1 -1
  278. package/dist/esm/dom/htmlStaticConfig.mjs +22 -0
  279. package/dist/esm/dom/htmlStaticConfig.mjs.map +1 -0
  280. package/dist/esm/dom/htmlStaticConfig.native.js +22 -0
  281. package/dist/esm/dom/htmlStaticConfig.native.js.map +1 -0
  282. package/dist/esm/dom/primitives.native.js +81 -34
  283. package/dist/esm/dom/primitives.native.js.map +1 -1
  284. package/dist/esm/eventHandling.mjs +10 -4
  285. package/dist/esm/eventHandling.mjs.map +1 -1
  286. package/dist/esm/eventHandling.native.js +52 -16
  287. package/dist/esm/eventHandling.native.js.map +1 -1
  288. package/dist/esm/helpers/NativeTextBinding.mjs +17 -0
  289. package/dist/esm/helpers/NativeTextBinding.mjs.map +1 -0
  290. package/dist/esm/helpers/NativeTextBinding.native.js +18 -0
  291. package/dist/esm/helpers/NativeTextBinding.native.js.map +1 -0
  292. package/dist/esm/helpers/configVariables.native.js +2 -6
  293. package/dist/esm/helpers/configVariables.native.js.map +1 -1
  294. package/dist/esm/helpers/createDesignSystem.mjs +14 -10
  295. package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
  296. package/dist/esm/helpers/createDesignSystem.native.js +4 -4
  297. package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
  298. package/dist/esm/helpers/createStyledContext.native.js +1 -5
  299. package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
  300. package/dist/esm/helpers/expandStyle.mjs +41 -1
  301. package/dist/esm/helpers/expandStyle.mjs.map +1 -1
  302. package/dist/esm/helpers/expandStyle.native.js +36 -3
  303. package/dist/esm/helpers/expandStyle.native.js.map +1 -1
  304. package/dist/esm/helpers/expandStyles.mjs +15 -3
  305. package/dist/esm/helpers/expandStyles.mjs.map +1 -1
  306. package/dist/esm/helpers/expandStyles.native.js +14 -8
  307. package/dist/esm/helpers/expandStyles.native.js.map +1 -1
  308. package/dist/esm/helpers/fluid.mjs +36 -0
  309. package/dist/esm/helpers/fluid.mjs.map +1 -0
  310. package/dist/esm/helpers/fluid.native.js +36 -0
  311. package/dist/esm/helpers/fluid.native.js.map +1 -0
  312. package/dist/esm/helpers/formatDiagnostic.native.js +2 -6
  313. package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -1
  314. package/dist/esm/helpers/getCSSStylesAtomic.mjs +6 -6
  315. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
  316. package/dist/esm/helpers/getSplitStyles.mjs +364 -150
  317. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  318. package/dist/esm/helpers/getSplitStyles.native.js +588 -188
  319. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  320. package/dist/esm/helpers/getThemeCSSRules.mjs +37 -25
  321. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
  322. package/dist/esm/helpers/grammarConfig.mjs +6 -14
  323. package/dist/esm/helpers/grammarConfig.mjs.map +1 -1
  324. package/dist/esm/helpers/grammarConfig.native.js +32 -22
  325. package/dist/esm/helpers/grammarConfig.native.js.map +1 -1
  326. package/dist/esm/helpers/insertStyleRule.mjs +11 -4
  327. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  328. package/dist/esm/helpers/insertStyleRule.native.js +4 -4
  329. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  330. package/dist/esm/helpers/isObj.native.js +1 -5
  331. package/dist/esm/helpers/isObj.native.js.map +1 -1
  332. package/dist/esm/helpers/mainThreadPressEvents.native.js +48 -100
  333. package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
  334. package/dist/esm/helpers/mergeProps.mjs +18 -21
  335. package/dist/esm/helpers/mergeProps.mjs.map +1 -1
  336. package/dist/esm/helpers/mergeProps.native.js +20 -23
  337. package/dist/esm/helpers/mergeProps.native.js.map +1 -1
  338. package/dist/esm/helpers/nativeOnlyProps.mjs +0 -1
  339. package/dist/esm/helpers/nativeOnlyProps.mjs.map +1 -1
  340. package/dist/esm/helpers/nativeOnlyProps.native.js +0 -1
  341. package/dist/esm/helpers/nativeOnlyProps.native.js.map +1 -1
  342. package/dist/esm/helpers/nativeTextMetrics.mjs +55 -0
  343. package/dist/esm/helpers/nativeTextMetrics.mjs.map +1 -0
  344. package/dist/esm/helpers/nativeTextMetrics.native.js +56 -0
  345. package/dist/esm/helpers/nativeTextMetrics.native.js.map +1 -0
  346. package/dist/esm/helpers/normalizeColor.native.js +17 -2
  347. package/dist/esm/helpers/normalizeColor.native.js.map +1 -1
  348. package/dist/esm/helpers/normalizeValueWithProperty.mjs +2 -1
  349. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
  350. package/dist/esm/helpers/normalizeValueWithProperty.native.js +3 -6
  351. package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -1
  352. package/dist/esm/helpers/objectIdentityKey.native.js +1 -5
  353. package/dist/esm/helpers/objectIdentityKey.native.js.map +1 -1
  354. package/dist/esm/helpers/parseNativeStyle.mjs +168 -0
  355. package/dist/esm/helpers/parseNativeStyle.mjs.map +1 -0
  356. package/dist/esm/helpers/parseNativeStyle.native.js +4 -1
  357. package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -1
  358. package/dist/esm/helpers/proxyThemeToParents.mjs +10 -2
  359. package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
  360. package/dist/esm/helpers/proxyThemeToParents.native.js +29 -2
  361. package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -1
  362. package/dist/esm/helpers/resolveAnimationDriver.native.js +1 -5
  363. package/dist/esm/helpers/resolveAnimationDriver.native.js.map +1 -1
  364. package/dist/esm/helpers/resolveNativeUnits.mjs +9 -0
  365. package/dist/esm/helpers/resolveNativeUnits.mjs.map +1 -0
  366. package/dist/esm/helpers/resolveNativeUnits.native.js +178 -0
  367. package/dist/esm/helpers/resolveNativeUnits.native.js.map +1 -0
  368. package/dist/esm/helpers/resolveRem.native.js +18 -21
  369. package/dist/esm/helpers/resolveRem.native.js.map +1 -1
  370. package/dist/esm/helpers/resolveSizing.mjs +102 -0
  371. package/dist/esm/helpers/resolveSizing.mjs.map +1 -0
  372. package/dist/esm/helpers/resolveSizing.native.js +109 -0
  373. package/dist/esm/helpers/resolveSizing.native.js.map +1 -0
  374. package/dist/esm/helpers/resolveVariableValue.mjs +7 -7
  375. package/dist/esm/helpers/resolveVariableValue.mjs.map +1 -1
  376. package/dist/esm/helpers/resolveVariableValue.native.js +7 -9
  377. package/dist/esm/helpers/resolveVariableValue.native.js.map +1 -1
  378. package/dist/esm/helpers/resolveVariantStyle.native.js +2 -6
  379. package/dist/esm/helpers/resolveVariantStyle.native.js.map +1 -1
  380. package/dist/esm/helpers/skipProps.mjs +0 -1
  381. package/dist/esm/helpers/skipProps.mjs.map +1 -1
  382. package/dist/esm/helpers/skipProps.native.js +0 -1
  383. package/dist/esm/helpers/skipProps.native.js.map +1 -1
  384. package/dist/esm/helpers/styleFrontend.mjs +20 -1
  385. package/dist/esm/helpers/styleFrontend.mjs.map +1 -1
  386. package/dist/esm/helpers/styleFrontend.native.js +20 -1
  387. package/dist/esm/helpers/styleFrontend.native.js.map +1 -1
  388. package/dist/esm/helpers/styleStaticConfigCore.mjs +5 -4
  389. package/dist/esm/helpers/styleStaticConfigCore.mjs.map +1 -1
  390. package/dist/esm/helpers/styleStaticConfigCore.native.js +7 -4
  391. package/dist/esm/helpers/styleStaticConfigCore.native.js.map +1 -1
  392. package/dist/esm/helpers/styledDynamic.mjs +5 -0
  393. package/dist/esm/helpers/styledDynamic.mjs.map +1 -1
  394. package/dist/esm/helpers/styledDynamic.native.js +8 -7
  395. package/dist/esm/helpers/styledDynamic.native.js.map +1 -1
  396. package/dist/esm/helpers/subscribeToContextGroup.mjs +16 -7
  397. package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
  398. package/dist/esm/helpers/subscribeToContextGroup.native.js +18 -8
  399. package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
  400. package/dist/esm/helpers/themeRef.native.js +1 -5
  401. package/dist/esm/helpers/themeRef.native.js.map +1 -1
  402. package/dist/esm/helpers/themes.mjs +20 -11
  403. package/dist/esm/helpers/themes.mjs.map +1 -1
  404. package/dist/esm/helpers/themes.native.js +20 -11
  405. package/dist/esm/helpers/themes.native.js.map +1 -1
  406. package/dist/esm/helpers/tokenCategories.mjs +2 -2
  407. package/dist/esm/helpers/tokenCategories.mjs.map +1 -1
  408. package/dist/esm/helpers/tokenCategories.native.js +2 -2
  409. package/dist/esm/helpers/tokenCategories.native.js.map +1 -1
  410. package/dist/esm/helpers/variables.mjs +1 -1
  411. package/dist/esm/helpers/variables.mjs.map +1 -1
  412. package/dist/esm/helpers/variables.native.js +4 -8
  413. package/dist/esm/helpers/variables.native.js.map +1 -1
  414. package/dist/esm/helpers/warnOnce.mjs +6 -1
  415. package/dist/esm/helpers/warnOnce.mjs.map +1 -1
  416. package/dist/esm/helpers/warnOnce.native.js +6 -1
  417. package/dist/esm/helpers/warnOnce.native.js.map +1 -1
  418. package/dist/esm/helpers/webPropsToSkip.native.js +3 -3
  419. package/dist/esm/helpers/webPropsToSkip.native.js.map +1 -1
  420. package/dist/esm/helpers/wrapStyleTags.mjs +1 -1
  421. package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
  422. package/dist/esm/helpers/wrapStyleTags.native.js +1 -1
  423. package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -1
  424. package/dist/esm/hooks/useComponentState.native.js +1 -5
  425. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  426. package/dist/esm/hooks/useMedia.mjs +27 -34
  427. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  428. package/dist/esm/hooks/useMedia.native.js +45 -51
  429. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  430. package/dist/esm/hooks/useSplitStyles.mjs +1 -1
  431. package/dist/esm/hooks/useSplitStyles.mjs.map +1 -1
  432. package/dist/esm/hooks/useSplitStyles.native.js +1 -1
  433. package/dist/esm/hooks/useSplitStyles.native.js.map +1 -1
  434. package/dist/esm/hooks/useThemeState.mjs +36 -48
  435. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  436. package/dist/esm/hooks/useThemeState.native.js +44 -50
  437. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  438. package/dist/esm/index.js +4 -1
  439. package/dist/esm/index.mjs +4 -1
  440. package/dist/esm/index.native.js +4 -1
  441. package/dist/esm/internal-runtime.mjs +22 -3
  442. package/dist/esm/internal-runtime.mjs.map +1 -1
  443. package/dist/esm/internal-runtime.native.js +22 -3
  444. package/dist/esm/internal-runtime.native.js.map +1 -1
  445. package/dist/esm/static-resolve.native.js +2 -9
  446. package/dist/esm/static-resolve.native.js.map +1 -1
  447. package/dist/esm/style.mjs +1 -1
  448. package/dist/esm/style.mjs.map +1 -1
  449. package/dist/esm/style.native.js +4 -7
  450. package/dist/esm/style.native.js.map +1 -1
  451. package/dist/esm/views/Theme.mjs +15 -14
  452. package/dist/esm/views/Theme.mjs.map +1 -1
  453. package/dist/esm/views/Theme.native.js +15 -15
  454. package/dist/esm/views/Theme.native.js.map +1 -1
  455. package/dist/esm/views/ThemeDebug.mjs +1 -1
  456. package/dist/esm/views/ThemeDebug.mjs.map +1 -1
  457. package/dist/esm/views/ThemeUpdate.mjs +1 -1
  458. package/dist/esm/views/ThemeUpdate.mjs.map +1 -1
  459. package/dist/esm/views/ThemeUpdate.native.js +1 -1
  460. package/dist/esm/views/ThemeUpdate.native.js.map +1 -1
  461. package/package.json +20 -18
  462. package/reset.css +11 -0
  463. package/src/_withNativeStyle.tsx +6 -1
  464. package/src/config.ts +6 -6
  465. package/src/contexts/ComponentContext.tsx +8 -0
  466. package/src/createComponent.tsx +177 -57
  467. package/src/createStyledHOC.tsx +25 -26
  468. package/src/createTamagui.ts +47 -28
  469. package/src/dom/contract.ts +4 -1
  470. package/src/dom/html.native.tsx +55 -2
  471. package/src/dom/html.tsx +189 -388
  472. package/src/dom/htmlReset.ts +15 -0
  473. package/src/dom/htmlRuntime.native.tsx +5 -0
  474. package/src/dom/htmlStaticConfig.ts +40 -0
  475. package/src/dom/primitives.native.tsx +138 -33
  476. package/src/dom/standalone.ts +2 -1
  477. package/src/dom/styleTypes.ts +82 -92
  478. package/src/eventHandling.native.ts +61 -11
  479. package/src/eventHandling.ts +19 -4
  480. package/src/helpers/NativeTextBinding.tsx +26 -0
  481. package/src/helpers/createDesignSystem.ts +24 -8
  482. package/src/helpers/expandStyle.ts +88 -4
  483. package/src/helpers/expandStyles.ts +6 -11
  484. package/src/helpers/fluid.ts +66 -0
  485. package/src/helpers/getCSSStylesAtomic.ts +11 -6
  486. package/src/helpers/getSplitStyles.tsx +1032 -296
  487. package/src/helpers/getThemeCSSRules.ts +73 -35
  488. package/src/helpers/grammarConfig.ts +23 -8
  489. package/src/helpers/insertStyleRule.tsx +14 -8
  490. package/src/helpers/mainThreadPressEvents.native.ts +65 -141
  491. package/src/helpers/mergeProps.ts +29 -62
  492. package/src/helpers/nativeOnlyProps.ts +0 -1
  493. package/src/helpers/nativeTextMetrics.ts +77 -0
  494. package/src/helpers/normalizeColor.native.ts +29 -4
  495. package/src/helpers/normalizeValueWithProperty.ts +2 -1
  496. package/src/helpers/{parseNativeStyle.native.ts → parseNativeStyle.ts} +8 -1
  497. package/src/helpers/proxyThemeToParents.ts +13 -2
  498. package/src/helpers/resolveNativeUnits.native.ts +247 -0
  499. package/src/helpers/resolveNativeUnits.ts +10 -0
  500. package/src/helpers/resolveRem.native.ts +25 -26
  501. package/src/helpers/resolveSizing.ts +167 -0
  502. package/src/helpers/resolveVariableValue.ts +21 -17
  503. package/src/helpers/skipProps.ts +0 -1
  504. package/src/helpers/styleFrontend.ts +39 -0
  505. package/src/helpers/styleProvenance.ts +1 -1
  506. package/src/helpers/styleStaticConfigCore.ts +15 -4
  507. package/src/helpers/styledDynamic.ts +3 -1
  508. package/src/helpers/subscribeToContextGroup.tsx +16 -7
  509. package/src/helpers/themes.ts +27 -11
  510. package/src/helpers/tokenCategories.ts +15 -3
  511. package/src/helpers/variables.ts +2 -2
  512. package/src/helpers/warnOnce.ts +6 -0
  513. package/src/helpers/webPropsToSkip.native.ts +9 -3
  514. package/src/helpers/wrapStyleTags.tsx +4 -1
  515. package/src/hooks/useMedia.tsx +36 -47
  516. package/src/hooks/useSplitStyles.tsx +4 -1
  517. package/src/hooks/useThemeState.ts +69 -74
  518. package/src/index.ts +13 -0
  519. package/src/interfaces/RNExclusiveTypes.ts +1 -3
  520. package/src/internal-runtime.ts +43 -2
  521. package/src/style.ts +4 -1
  522. package/src/styled.tsx +34 -3
  523. package/src/types.tsx +412 -132
  524. package/src/views/Theme.tsx +18 -21
  525. package/src/views/ThemeDebug.tsx +1 -1
  526. package/src/views/ThemeUpdate.tsx +1 -1
  527. package/types/_withNativeStyle.d.ts.map +1 -1
  528. package/types/config.d.ts.map +1 -1
  529. package/types/contexts/ComponentContext.d.ts +1 -1
  530. package/types/contexts/ComponentContext.d.ts.map +1 -1
  531. package/types/createComponent.d.ts.map +1 -1
  532. package/types/createStyledHOC.d.ts +5 -2
  533. package/types/createStyledHOC.d.ts.map +1 -1
  534. package/types/createTamagui.d.ts.map +1 -1
  535. package/types/dom/contract.d.ts +4 -1
  536. package/types/dom/contract.d.ts.map +1 -1
  537. package/types/dom/html.d.ts +60 -51
  538. package/types/dom/html.d.ts.map +1 -1
  539. package/types/dom/html.native.d.ts.map +1 -1
  540. package/types/dom/htmlReset.d.ts +10 -0
  541. package/types/dom/htmlReset.d.ts.map +1 -0
  542. package/types/dom/htmlRuntime.native.d.ts.map +1 -1
  543. package/types/dom/htmlStaticConfig.d.ts +22 -0
  544. package/types/dom/htmlStaticConfig.d.ts.map +1 -0
  545. package/types/dom/primitives.native.d.ts.map +1 -1
  546. package/types/dom/standalone.d.ts +2 -1
  547. package/types/dom/standalone.d.ts.map +1 -1
  548. package/types/dom/styleTypes.d.ts +63 -84
  549. package/types/dom/styleTypes.d.ts.map +1 -1
  550. package/types/eventHandling.d.ts +12 -4
  551. package/types/eventHandling.d.ts.map +1 -1
  552. package/types/eventHandling.native.d.ts.map +1 -1
  553. package/types/helpers/NativeTextBinding.d.ts +11 -0
  554. package/types/helpers/NativeTextBinding.d.ts.map +1 -0
  555. package/types/helpers/createDesignSystem.d.ts.map +1 -1
  556. package/types/helpers/expandStyle.d.ts +1 -0
  557. package/types/helpers/expandStyle.d.ts.map +1 -1
  558. package/types/helpers/expandStyles.d.ts.map +1 -1
  559. package/types/helpers/fluid.d.ts +21 -0
  560. package/types/helpers/fluid.d.ts.map +1 -0
  561. package/types/helpers/getCSSStylesAtomic.d.ts +3 -1
  562. package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
  563. package/types/helpers/getSplitStyles.d.ts +2 -1
  564. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  565. package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
  566. package/types/helpers/grammarConfig.d.ts.map +1 -1
  567. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  568. package/types/helpers/mainThreadPressEvents.native.d.ts +0 -7
  569. package/types/helpers/mainThreadPressEvents.native.d.ts.map +1 -1
  570. package/types/helpers/mergeProps.d.ts +1 -15
  571. package/types/helpers/mergeProps.d.ts.map +1 -1
  572. package/types/helpers/nativeOnlyProps.d.ts +0 -1
  573. package/types/helpers/nativeOnlyProps.d.ts.map +1 -1
  574. package/types/helpers/nativeTextMetrics.d.ts +16 -0
  575. package/types/helpers/nativeTextMetrics.d.ts.map +1 -0
  576. package/types/helpers/normalizeColor.native.d.ts +4 -1
  577. package/types/helpers/normalizeColor.native.d.ts.map +1 -1
  578. package/types/helpers/normalizeShadow.native.d.ts +3 -1
  579. package/types/helpers/normalizeShadow.native.d.ts.map +1 -1
  580. package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -1
  581. package/types/helpers/{parseNativeStyle.native.d.ts → parseNativeStyle.d.ts} +1 -1
  582. package/types/helpers/parseNativeStyle.d.ts.map +1 -0
  583. package/types/helpers/proxyThemeToParents.d.ts +1 -1
  584. package/types/helpers/proxyThemeToParents.d.ts.map +1 -1
  585. package/types/helpers/resolveNativeUnits.d.ts +6 -0
  586. package/types/helpers/resolveNativeUnits.d.ts.map +1 -0
  587. package/types/helpers/resolveNativeUnits.native.d.ts +16 -0
  588. package/types/helpers/resolveNativeUnits.native.d.ts.map +1 -0
  589. package/types/helpers/resolveRem.native.d.ts +6 -4
  590. package/types/helpers/resolveRem.native.d.ts.map +1 -1
  591. package/types/helpers/resolveSizing.d.ts +90 -0
  592. package/types/helpers/resolveSizing.d.ts.map +1 -0
  593. package/types/helpers/resolveVariableValue.d.ts.map +1 -1
  594. package/types/helpers/skipProps.d.ts +0 -1
  595. package/types/helpers/skipProps.d.ts.map +1 -1
  596. package/types/helpers/styleFrontend.d.ts +21 -0
  597. package/types/helpers/styleFrontend.d.ts.map +1 -1
  598. package/types/helpers/styleProvenance.d.ts +1 -1
  599. package/types/helpers/styleProvenance.d.ts.map +1 -1
  600. package/types/helpers/styleStaticConfigCore.d.ts.map +1 -1
  601. package/types/helpers/styledDynamic.d.ts +1 -1
  602. package/types/helpers/styledDynamic.d.ts.map +1 -1
  603. package/types/helpers/themes.d.ts +4 -0
  604. package/types/helpers/themes.d.ts.map +1 -1
  605. package/types/helpers/tokenCategories.d.ts +1 -1
  606. package/types/helpers/tokenCategories.d.ts.map +1 -1
  607. package/types/helpers/warnOnce.d.ts +1 -0
  608. package/types/helpers/warnOnce.d.ts.map +1 -1
  609. package/types/helpers/webPropsToSkip.native.d.ts +6 -2
  610. package/types/helpers/webPropsToSkip.native.d.ts.map +1 -1
  611. package/types/helpers/wrapStyleTags.d.ts.map +1 -1
  612. package/types/hooks/useMedia.d.ts +5 -2
  613. package/types/hooks/useMedia.d.ts.map +1 -1
  614. package/types/hooks/useSplitStyles.d.ts.map +1 -1
  615. package/types/hooks/useThemeState.d.ts.map +1 -1
  616. package/types/index.d.ts +4 -1
  617. package/types/index.d.ts.map +1 -1
  618. package/types/interfaces/RNExclusiveTypes.d.ts +2 -3
  619. package/types/interfaces/RNExclusiveTypes.d.ts.map +1 -1
  620. package/types/internal-runtime.d.ts +12 -1
  621. package/types/internal-runtime.d.ts.map +1 -1
  622. package/types/style.d.ts.map +1 -1
  623. package/types/styled.d.ts +7 -4
  624. package/types/styled.d.ts.map +1 -1
  625. package/types/types.d.ts +258 -102
  626. package/types/types.d.ts.map +1 -1
  627. package/types/views/Theme.d.ts.map +1 -1
  628. package/dist/cjs/helpers/timer.native.js.map +0 -1
  629. package/dist/esm/helpers/timer.mjs +0 -13
  630. package/dist/esm/helpers/timer.mjs.map +0 -1
  631. package/dist/esm/helpers/timer.native.js +0 -13
  632. package/dist/esm/helpers/timer.native.js.map +0 -1
  633. package/src/helpers/timer.ts +0 -9
  634. package/types/helpers/parseNativeStyle.native.d.ts.map +0 -1
  635. package/types/helpers/timer.d.ts +0 -2
  636. package/types/helpers/timer.d.ts.map +0 -1
@@ -0,0 +1,55 @@
1
+ import { isVariable } from "../createVariable.mjs";
2
+ import { resolveVariableValue } from "./resolveVariableValue.mjs";
3
+
4
+ function resolveTextMetrics(style, lineHeight, parent, isStatic = false, apply = true) {
5
+ if (isVariable(lineHeight)) lineHeight = resolveVariableValue("lineHeight", lineHeight, "value");
6
+ let fontSize = typeof style.fontSize === "number" ? style.fontSize : parent?.parentFontSize;
7
+ const inheritsFontSize = style.fontSize == null && !!parent?.animatedText;
8
+ if (apply && style.fontSize == null && fontSize !== void 0 && !inheritsFontSize) style.fontSize = fontSize;
9
+ let leading;
10
+ if (lineHeight == null || lineHeight === "inherit" || lineHeight === "unset") {
11
+ leading = parent?.parentLineHeight;
12
+ } else if (lineHeight === "normal" || lineHeight === "initial") {
13
+ leading = "normal";
14
+ } else if (typeof lineHeight === "number") {
15
+ leading = lineHeight;
16
+ } else if (typeof lineHeight === "string") {
17
+ if (/^(?:\d+\.?\d*|\.\d+)px$/.test(lineHeight)) {
18
+ leading = lineHeight;
19
+ } else if (lineHeight.trim() !== "" && Number.isFinite(+lineHeight)) {
20
+ leading = +lineHeight;
21
+ }
22
+ }
23
+ if (typeof leading === "number" && (!Number.isFinite(leading) || leading < 0)) {
24
+ delete style.lineHeight;
25
+ return {
26
+ fontSize,
27
+ ...inheritsFontSize && { inheritsFontSize }
28
+ };
29
+ }
30
+ if (!apply) return {
31
+ fontSize,
32
+ lineHeight: leading,
33
+ ...inheritsFontSize && { inheritsFontSize }
34
+ };
35
+ if (typeof leading === "number") {
36
+ if (fontSize === void 0 && !isStatic && !inheritsFontSize) {
37
+ fontSize = 14;
38
+ style.fontSize = fontSize;
39
+ }
40
+ if (inheritsFontSize || fontSize === void 0) delete style.lineHeight;
41
+ else style.lineHeight = fontSize * leading;
42
+ } else if (leading && leading !== "normal") {
43
+ style.lineHeight = Number.parseFloat(leading);
44
+ } else if (lineHeight != null || leading === "normal") {
45
+ delete style.lineHeight;
46
+ }
47
+ return {
48
+ fontSize,
49
+ lineHeight: leading,
50
+ ...inheritsFontSize && { inheritsFontSize }
51
+ };
52
+ }
53
+
54
+ export { resolveTextMetrics };
55
+ //# sourceMappingURL=nativeTextMetrics.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeTextMetrics.js","names":[],"sources":["esm/helpers/nativeTextMetrics.js"],"sourcesContent":["import { isVariable } from \"../createVariable\";\nimport { resolveVariableValue } from \"./resolveVariableValue\";\nfunction resolveTextMetrics(style, lineHeight, parent, isStatic = false, apply = true) {\n if (isVariable(lineHeight))\n lineHeight = resolveVariableValue(\"lineHeight\", lineHeight, \"value\");\n let fontSize = typeof style.fontSize === \"number\" ? style.fontSize : parent?.parentFontSize;\n const inheritsFontSize = style.fontSize == null && !!parent?.animatedText;\n if (apply && style.fontSize == null && fontSize !== void 0 && !inheritsFontSize)\n style.fontSize = fontSize;\n let leading;\n if (lineHeight == null || lineHeight === \"inherit\" || lineHeight === \"unset\") {\n leading = parent?.parentLineHeight;\n } else if (lineHeight === \"normal\" || lineHeight === \"initial\") {\n leading = \"normal\";\n } else if (typeof lineHeight === \"number\") {\n leading = lineHeight;\n } else if (typeof lineHeight === \"string\") {\n if (/^(?:\\d+\\.?\\d*|\\.\\d+)px$/.test(lineHeight)) {\n leading = lineHeight;\n } else if (lineHeight.trim() !== \"\" && Number.isFinite(+lineHeight)) {\n leading = +lineHeight;\n }\n }\n if (typeof leading === \"number\" && (!Number.isFinite(leading) || leading < 0)) {\n delete style.lineHeight;\n return { fontSize, ...inheritsFontSize && { inheritsFontSize } };\n }\n if (!apply)\n return {\n fontSize,\n lineHeight: leading,\n ...inheritsFontSize && { inheritsFontSize }\n };\n if (typeof leading === \"number\") {\n if (fontSize === void 0 && !isStatic && !inheritsFontSize) {\n fontSize = 14;\n style.fontSize = fontSize;\n }\n if (inheritsFontSize || fontSize === void 0) delete style.lineHeight;\n else style.lineHeight = fontSize * leading;\n } else if (leading && leading !== \"normal\") {\n style.lineHeight = Number.parseFloat(leading);\n } else if (lineHeight != null || leading === \"normal\") {\n delete style.lineHeight;\n }\n return { fontSize, lineHeight: leading, ...inheritsFontSize && { inheritsFontSize } };\n}\nexport {\n resolveTextMetrics\n};\n//# sourceMappingURL=nativeTextMetrics.js.map\n"],"mappings":";;;;AAEA,SAAS,mBAAmB,OAAO,YAAY,QAAQ,WAAW,OAAO,QAAQ,MAAM;CACrF,IAAI,WAAW,UAAU,GACvB,aAAa,qBAAqB,cAAc,YAAY,OAAO;CACrE,IAAI,WAAW,OAAO,MAAM,aAAa,WAAW,MAAM,WAAW,QAAQ;CAC7E,MAAM,mBAAmB,MAAM,YAAY,QAAQ,CAAC,CAAC,QAAQ;CAC7D,IAAI,SAAS,MAAM,YAAY,QAAQ,aAAa,KAAK,KAAK,CAAC,kBAC7D,MAAM,WAAW;CACnB,IAAI;CACJ,IAAI,cAAc,QAAQ,eAAe,aAAa,eAAe,SAAS;EAC5E,UAAU,QAAQ;CACpB,OAAO,IAAI,eAAe,YAAY,eAAe,WAAW;EAC9D,UAAU;CACZ,OAAO,IAAI,OAAO,eAAe,UAAU;EACzC,UAAU;CACZ,OAAO,IAAI,OAAO,eAAe,UAAU;EACzC,IAAI,0BAA0B,KAAK,UAAU,GAAG;GAC9C,UAAU;EACZ,OAAO,IAAI,WAAW,KAAK,MAAM,MAAM,OAAO,SAAS,CAAC,UAAU,GAAG;GACnE,UAAU,CAAC;EACb;CACF;CACA,IAAI,OAAO,YAAY,aAAa,CAAC,OAAO,SAAS,OAAO,KAAK,UAAU,IAAI;EAC7E,OAAO,MAAM;EACb,OAAO;GAAE;GAAU,GAAG,oBAAoB,EAAE,iBAAiB;EAAE;CACjE;CACA,IAAI,CAAC,OACH,OAAO;EACL;EACA,YAAY;EACZ,GAAG,oBAAoB,EAAE,iBAAiB;CAC5C;CACF,IAAI,OAAO,YAAY,UAAU;EAC/B,IAAI,aAAa,KAAK,KAAK,CAAC,YAAY,CAAC,kBAAkB;GACzD,WAAW;GACX,MAAM,WAAW;EACnB;EACA,IAAI,oBAAoB,aAAa,KAAK,GAAG,OAAO,MAAM;OACrD,MAAM,aAAa,WAAW;CACrC,OAAO,IAAI,WAAW,YAAY,UAAU;EAC1C,MAAM,aAAa,OAAO,WAAW,OAAO;CAC9C,OAAO,IAAI,cAAc,QAAQ,YAAY,UAAU;EACrD,OAAO,MAAM;CACf;CACA,OAAO;EAAE;EAAU,YAAY;EAAS,GAAG,oBAAoB,EAAE,iBAAiB;CAAE;AACtF"}
@@ -0,0 +1,56 @@
1
+ import { isVariable } from "../createVariable.native.js";
2
+ import { resolveVariableValue } from "./resolveVariableValue.native.js";
3
+
4
+ function resolveTextMetrics(style, lineHeight, parent) {
5
+ var isStatic = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false, apply = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : true;
6
+ if (isVariable(lineHeight)) lineHeight = resolveVariableValue("lineHeight", lineHeight, "value");
7
+ var fontSize = typeof style.fontSize === "number" ? style.fontSize : parent === null || parent === void 0 ? void 0 : parent.parentFontSize;
8
+ var inheritsFontSize = style.fontSize == null && !!(parent === null || parent === void 0 ? void 0 : parent.animatedText);
9
+ if (apply && style.fontSize == null && fontSize !== void 0 && !inheritsFontSize) style.fontSize = fontSize;
10
+ var leading;
11
+ if (lineHeight == null || lineHeight === "inherit" || lineHeight === "unset") {
12
+ leading = parent === null || parent === void 0 ? void 0 : parent.parentLineHeight;
13
+ } else if (lineHeight === "normal" || lineHeight === "initial") {
14
+ leading = "normal";
15
+ } else if (typeof lineHeight === "number") {
16
+ leading = lineHeight;
17
+ } else if (typeof lineHeight === "string") {
18
+ if (/^(?:\d+\.?\d*|\.\d+)px$/.test(lineHeight)) {
19
+ leading = lineHeight;
20
+ } else if (lineHeight.trim() !== "" && Number.isFinite(+lineHeight)) {
21
+ leading = +lineHeight;
22
+ }
23
+ }
24
+ if (typeof leading === "number" && (!Number.isFinite(leading) || leading < 0)) {
25
+ delete style.lineHeight;
26
+ return {
27
+ fontSize,
28
+ ...inheritsFontSize && { inheritsFontSize }
29
+ };
30
+ }
31
+ if (!apply) return {
32
+ fontSize,
33
+ lineHeight: leading,
34
+ ...inheritsFontSize && { inheritsFontSize }
35
+ };
36
+ if (typeof leading === "number") {
37
+ if (fontSize === void 0 && !isStatic && !inheritsFontSize) {
38
+ fontSize = 14;
39
+ style.fontSize = fontSize;
40
+ }
41
+ if (inheritsFontSize || fontSize === void 0) delete style.lineHeight;
42
+ else style.lineHeight = fontSize * leading;
43
+ } else if (leading && leading !== "normal") {
44
+ style.lineHeight = Number.parseFloat(leading);
45
+ } else if (lineHeight != null || leading === "normal") {
46
+ delete style.lineHeight;
47
+ }
48
+ return {
49
+ fontSize,
50
+ lineHeight: leading,
51
+ ...inheritsFontSize && { inheritsFontSize }
52
+ };
53
+ }
54
+
55
+ export { resolveTextMetrics };
56
+ //# sourceMappingURL=nativeTextMetrics.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeTextMetrics.native.js","names":[],"sources":["esm/helpers/nativeTextMetrics.native.js"],"sourcesContent":["import { isVariable } from \"../createVariable\";\nimport { resolveVariableValue } from \"./resolveVariableValue\";\nfunction resolveTextMetrics(style, lineHeight, parent) {\n var isStatic = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false, apply = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : true;\n if (isVariable(lineHeight)) lineHeight = resolveVariableValue(\"lineHeight\", lineHeight, \"value\");\n var fontSize = typeof style.fontSize === \"number\" ? style.fontSize : parent === null || parent === void 0 ? void 0 : parent.parentFontSize;\n var inheritsFontSize = style.fontSize == null && !!(parent === null || parent === void 0 ? void 0 : parent.animatedText);\n if (apply && style.fontSize == null && fontSize !== void 0 && !inheritsFontSize) style.fontSize = fontSize;\n var leading;\n if (lineHeight == null || lineHeight === \"inherit\" || lineHeight === \"unset\") {\n leading = parent === null || parent === void 0 ? void 0 : parent.parentLineHeight;\n } else if (lineHeight === \"normal\" || lineHeight === \"initial\") {\n leading = \"normal\";\n } else if (typeof lineHeight === \"number\") {\n leading = lineHeight;\n } else if (typeof lineHeight === \"string\") {\n if (/^(?:\\d+\\.?\\d*|\\.\\d+)px$/.test(lineHeight)) {\n leading = lineHeight;\n } else if (lineHeight.trim() !== \"\" && Number.isFinite(+lineHeight)) {\n leading = +lineHeight;\n }\n }\n if (typeof leading === \"number\" && (!Number.isFinite(leading) || leading < 0)) {\n delete style.lineHeight;\n return {\n fontSize,\n ...inheritsFontSize && {\n inheritsFontSize\n }\n };\n }\n if (!apply) return {\n fontSize,\n lineHeight: leading,\n ...inheritsFontSize && {\n inheritsFontSize\n }\n };\n if (typeof leading === \"number\") {\n if (fontSize === void 0 && !isStatic && !inheritsFontSize) {\n fontSize = 14;\n style.fontSize = fontSize;\n }\n if (inheritsFontSize || fontSize === void 0) delete style.lineHeight;\n else style.lineHeight = fontSize * leading;\n } else if (leading && leading !== \"normal\") {\n style.lineHeight = Number.parseFloat(leading);\n } else if (lineHeight != null || leading === \"normal\") {\n delete style.lineHeight;\n }\n return {\n fontSize,\n lineHeight: leading,\n ...inheritsFontSize && {\n inheritsFontSize\n }\n };\n}\nexport {\n resolveTextMetrics\n};\n//# sourceMappingURL=nativeTextMetrics.js.map\n"],"mappings":";;;;AAEA,SAAS,mBAAmB,OAAO,YAAY,QAAQ;CACrD,IAAI,WAAW,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK,OAAO,QAAQ,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK;CAChK,IAAI,WAAW,UAAU,GAAG,aAAa,qBAAqB,cAAc,YAAY,OAAO;CAC/F,IAAI,WAAW,OAAO,MAAM,aAAa,WAAW,MAAM,WAAW,WAAW,QAAQ,WAAW,KAAK,IAAI,KAAK,IAAI,OAAO;CAC5H,IAAI,mBAAmB,MAAM,YAAY,QAAQ,CAAC,EAAE,WAAW,QAAQ,WAAW,KAAK,IAAI,KAAK,IAAI,OAAO;CAC3G,IAAI,SAAS,MAAM,YAAY,QAAQ,aAAa,KAAK,KAAK,CAAC,kBAAkB,MAAM,WAAW;CAClG,IAAI;CACJ,IAAI,cAAc,QAAQ,eAAe,aAAa,eAAe,SAAS;EAC5E,UAAU,WAAW,QAAQ,WAAW,KAAK,IAAI,KAAK,IAAI,OAAO;CACnE,OAAO,IAAI,eAAe,YAAY,eAAe,WAAW;EAC9D,UAAU;CACZ,OAAO,IAAI,OAAO,eAAe,UAAU;EACzC,UAAU;CACZ,OAAO,IAAI,OAAO,eAAe,UAAU;EACzC,IAAI,0BAA0B,KAAK,UAAU,GAAG;GAC9C,UAAU;EACZ,OAAO,IAAI,WAAW,KAAK,MAAM,MAAM,OAAO,SAAS,CAAC,UAAU,GAAG;GACnE,UAAU,CAAC;EACb;CACF;CACA,IAAI,OAAO,YAAY,aAAa,CAAC,OAAO,SAAS,OAAO,KAAK,UAAU,IAAI;EAC7E,OAAO,MAAM;EACb,OAAO;GACL;GACA,GAAG,oBAAoB,EACrB,iBACF;EACF;CACF;CACA,IAAI,CAAC,OAAO,OAAO;EACjB;EACA,YAAY;EACZ,GAAG,oBAAoB,EACrB,iBACF;CACF;CACA,IAAI,OAAO,YAAY,UAAU;EAC/B,IAAI,aAAa,KAAK,KAAK,CAAC,YAAY,CAAC,kBAAkB;GACzD,WAAW;GACX,MAAM,WAAW;EACnB;EACA,IAAI,oBAAoB,aAAa,KAAK,GAAG,OAAO,MAAM;OACrD,MAAM,aAAa,WAAW;CACrC,OAAO,IAAI,WAAW,YAAY,UAAU;EAC1C,MAAM,aAAa,OAAO,WAAW,OAAO;CAC9C,OAAO,IAAI,cAAc,QAAQ,YAAY,UAAU;EACrD,OAAO,MAAM;CACf;CACA,OAAO;EACL;EACA,YAAY;EACZ,GAAG,oBAAoB,EACrB,iBACF;CACF;AACF"}
@@ -1,8 +1,22 @@
1
1
  import { normalizeCSSColor, rgba, rgba as rgba2 } from "@tamagui/normalize-css-color";
2
2
 
3
+ var isDynamicColor = function(color) {
4
+ return typeof color.dynamic === "object" && color.dynamic !== null;
5
+ };
3
6
  var normalizeColor = function(color, opacity) {
4
7
  if (!color) return;
5
- if (typeof color !== "string") return color;
8
+ if (typeof color !== "string") {
9
+ if (opacity === void 0 || opacity === 1 || !isDynamicColor(color)) return color;
10
+ var dynamic = {};
11
+ for (var key in color.dynamic) {
12
+ var variant = normalizeColor(color.dynamic[key], opacity);
13
+ if (typeof variant === "string") dynamic[key] = variant;
14
+ }
15
+ return {
16
+ ...color,
17
+ dynamic
18
+ };
19
+ }
6
20
  var rgbaVal = getRgba(color);
7
21
  if (rgbaVal) {
8
22
  var colors = `${rgbaVal.r},${rgbaVal.g},${rgbaVal.b}`;
@@ -13,7 +27,8 @@ var normalizeColor = function(color, opacity) {
13
27
  };
14
28
  var getRgba = function(color) {
15
29
  if (typeof color !== "string") return;
16
- var colorNum = normalizeCSSColor(color);
30
+ var nativeColor = color.replace(/^(rgb|hsl)\((?=[^)]*\/)/, "$1a(");
31
+ var colorNum = normalizeCSSColor(nativeColor);
17
32
  if (colorNum != null) {
18
33
  return rgba(colorNum);
19
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeColor.native.js","names":[],"sources":["esm/helpers/normalizeColor.native.js"],"sourcesContent":["import { normalizeCSSColor, rgba } from \"@tamagui/normalize-css-color\";\nimport { rgba as rgba2 } from \"@tamagui/normalize-css-color\";\nvar normalizeColor = function(color, opacity) {\n if (!color) return;\n if (typeof color !== \"string\") return color;\n var rgbaVal = getRgba(color);\n if (rgbaVal) {\n var colors = `${rgbaVal.r},${rgbaVal.g},${rgbaVal.b}`;\n var _ref;\n return opacity === 1 ? `rgb(${colors})` : `rgba(${colors},${(_ref = opacity !== null && opacity !== void 0 ? opacity : rgbaVal.a) !== null && _ref !== void 0 ? _ref : 1})`;\n }\n return color;\n};\nvar getRgba = function(color) {\n if (typeof color !== \"string\") return;\n var colorNum = normalizeCSSColor(color);\n if (colorNum != null) {\n return rgba(colorNum);\n }\n};\nexport {\n getRgba,\n normalizeColor,\n rgba2 as rgba\n};\n//# sourceMappingURL=normalizeColor.native.js.map\n"],"mappings":";;;AAEA,IAAI,iBAAiB,SAAS,OAAO,SAAS;CAC5C,IAAI,CAAC,OAAO;CACZ,IAAI,OAAO,UAAU,UAAU,OAAO;CACtC,IAAI,UAAU,QAAQ,KAAK;CAC3B,IAAI,SAAS;EACX,IAAI,SAAS,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ;EAClD,IAAI;EACJ,OAAO,YAAY,IAAI,OAAO,OAAO,KAAK,QAAQ,OAAO,IAAI,OAAO,YAAY,QAAQ,YAAY,KAAK,IAAI,UAAU,QAAQ,OAAO,QAAQ,SAAS,KAAK,IAAI,OAAO,EAAE;CAC3K;CACA,OAAO;AACT;AACA,IAAI,UAAU,SAAS,OAAO;CAC5B,IAAI,OAAO,UAAU,UAAU;CAC/B,IAAI,WAAW,kBAAkB,KAAK;CACtC,IAAI,YAAY,MAAM;EACpB,OAAO,KAAK,QAAQ;CACtB;AACF"}
1
+ {"version":3,"file":"normalizeColor.native.js","names":[],"sources":["esm/helpers/normalizeColor.native.js"],"sourcesContent":["import { normalizeCSSColor, rgba } from \"@tamagui/normalize-css-color\";\nimport { rgba as rgba2 } from \"@tamagui/normalize-css-color\";\nvar isDynamicColor = function(color) {\n return typeof color.dynamic === \"object\" && color.dynamic !== null;\n};\nvar normalizeColor = function(color, opacity) {\n if (!color) return;\n if (typeof color !== \"string\") {\n if (opacity === void 0 || opacity === 1 || !isDynamicColor(color)) return color;\n var dynamic = {};\n for (var key in color.dynamic) {\n var variant = normalizeColor(color.dynamic[key], opacity);\n if (typeof variant === \"string\") dynamic[key] = variant;\n }\n return {\n ...color,\n dynamic\n };\n }\n var rgbaVal = getRgba(color);\n if (rgbaVal) {\n var colors = `${rgbaVal.r},${rgbaVal.g},${rgbaVal.b}`;\n var _ref;\n return opacity === 1 ? `rgb(${colors})` : `rgba(${colors},${(_ref = opacity !== null && opacity !== void 0 ? opacity : rgbaVal.a) !== null && _ref !== void 0 ? _ref : 1})`;\n }\n return color;\n};\nvar getRgba = function(color) {\n if (typeof color !== \"string\") return;\n var nativeColor = color.replace(/^(rgb|hsl)\\((?=[^)]*\\/)/, \"$1a(\");\n var colorNum = normalizeCSSColor(nativeColor);\n if (colorNum != null) {\n return rgba(colorNum);\n }\n};\nexport {\n getRgba,\n normalizeColor,\n rgba2 as rgba\n};\n//# sourceMappingURL=normalizeColor.native.js.map\n"],"mappings":";;;AAEA,IAAI,iBAAiB,SAAS,OAAO;CACnC,OAAO,OAAO,MAAM,YAAY,YAAY,MAAM,YAAY;AAChE;AACA,IAAI,iBAAiB,SAAS,OAAO,SAAS;CAC5C,IAAI,CAAC,OAAO;CACZ,IAAI,OAAO,UAAU,UAAU;EAC7B,IAAI,YAAY,KAAK,KAAK,YAAY,KAAK,CAAC,eAAe,KAAK,GAAG,OAAO;EAC1E,IAAI,UAAU,CAAC;EACf,KAAK,IAAI,OAAO,MAAM,SAAS;GAC7B,IAAI,UAAU,eAAe,MAAM,QAAQ,MAAM,OAAO;GACxD,IAAI,OAAO,YAAY,UAAU,QAAQ,OAAO;EAClD;EACA,OAAO;GACL,GAAG;GACH;EACF;CACF;CACA,IAAI,UAAU,QAAQ,KAAK;CAC3B,IAAI,SAAS;EACX,IAAI,SAAS,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ;EAClD,IAAI;EACJ,OAAO,YAAY,IAAI,OAAO,OAAO,KAAK,QAAQ,OAAO,IAAI,OAAO,YAAY,QAAQ,YAAY,KAAK,IAAI,UAAU,QAAQ,OAAO,QAAQ,SAAS,KAAK,IAAI,OAAO,EAAE;CAC3K;CACA,OAAO;AACT;AACA,IAAI,UAAU,SAAS,OAAO;CAC5B,IAAI,OAAO,UAAU,UAAU;CAC/B,IAAI,cAAc,MAAM,QAAQ,2BAA2B,MAAM;CACjE,IAAI,WAAW,kBAAkB,WAAW;CAC5C,IAAI,YAAY,MAAM;EACpB,OAAO,KAAK,QAAQ;CACtB;AACF"}
@@ -5,10 +5,11 @@ const unitfulProps = new Set([
5
5
  ...Object.keys(stylePropsAll),
6
6
  "translateX",
7
7
  "translateY"
8
- ].filter((key) => !stylePropsUnitless[key]));
8
+ ].filter((key) => key !== "lineHeight" && !stylePropsUnitless[key]));
9
9
  const pxStringRe = /^-?\d*\.?\d+px$/;
10
10
  function normalizeValueWithProperty(value, property = "") {
11
11
  if (!isWeb) {
12
+ if (property === "lineHeight") return value;
12
13
  if (typeof value === "string" && pxStringRe.test(value)) {
13
14
  return Number.parseFloat(value);
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeValueWithProperty.js","names":[],"sources":["esm/helpers/normalizeValueWithProperty.js"],"sourcesContent":["import { isWeb } from \"@tamagui/constants\";\nimport { stylePropsAll, stylePropsUnitless } from \"@tamagui/helpers\";\nconst unitfulProps = new Set(\n [...Object.keys(stylePropsAll), \"translateX\", \"translateY\"].filter(\n (key) => !stylePropsUnitless[key]\n )\n);\nconst pxStringRe = /^-?\\d*\\.?\\d+px$/;\nfunction normalizeValueWithProperty(value, property = \"\") {\n if (!isWeb) {\n if (typeof value === \"string\" && pxStringRe.test(value)) {\n return Number.parseFloat(value);\n }\n return value;\n }\n if (property !== \"\" && !unitfulProps.has(property)) return value;\n if (typeof value === \"boolean\") return value;\n if (value && typeof value === \"object\") {\n if (typeof value.__getValue === \"function\") {\n value = value.__getValue();\n } else {\n return value;\n }\n }\n let res = value;\n if (typeof value === \"number\") {\n res = `${value}px`;\n } else if (property) {\n res = `${res}`;\n }\n return res;\n}\nexport {\n normalizeValueWithProperty\n};\n//# sourceMappingURL=normalizeValueWithProperty.js.map\n"],"mappings":";;;;AAEA,MAAM,eAAe,IAAI,IACvB;CAAC,GAAG,OAAO,KAAK,aAAa;CAAG;CAAc;AAAY,CAAC,CAAC,QACzD,QAAQ,CAAC,mBAAmB,IAC/B,CACF;AACA,MAAM,aAAa;AACnB,SAAS,2BAA2B,OAAO,WAAW,IAAI;CACxD,IAAI,CAAC,OAAO;EACV,IAAI,OAAO,UAAU,YAAY,WAAW,KAAK,KAAK,GAAG;GACvD,OAAO,OAAO,WAAW,KAAK;EAChC;EACA,OAAO;CACT;CACA,IAAI,aAAa,MAAM,CAAC,aAAa,IAAI,QAAQ,GAAG,OAAO;CAC3D,IAAI,OAAO,UAAU,WAAW,OAAO;CACvC,IAAI,SAAS,OAAO,UAAU,UAAU;EACtC,IAAI,OAAO,MAAM,eAAe,YAAY;GAC1C,QAAQ,MAAM,WAAW;EAC3B,OAAO;GACL,OAAO;EACT;CACF;CACA,IAAI,MAAM;CACV,IAAI,OAAO,UAAU,UAAU;EAC7B,MAAM,GAAG,MAAM;CACjB,OAAO,IAAI,UAAU;EACnB,MAAM,GAAG;CACX;CACA,OAAO;AACT"}
1
+ {"version":3,"file":"normalizeValueWithProperty.js","names":[],"sources":["esm/helpers/normalizeValueWithProperty.js"],"sourcesContent":["import { isWeb } from \"@tamagui/constants\";\nimport { stylePropsAll, stylePropsUnitless } from \"@tamagui/helpers\";\nconst unitfulProps = new Set(\n [...Object.keys(stylePropsAll), \"translateX\", \"translateY\"].filter(\n (key) => key !== \"lineHeight\" && !stylePropsUnitless[key]\n )\n);\nconst pxStringRe = /^-?\\d*\\.?\\d+px$/;\nfunction normalizeValueWithProperty(value, property = \"\") {\n if (!isWeb) {\n if (property === \"lineHeight\") return value;\n if (typeof value === \"string\" && pxStringRe.test(value)) {\n return Number.parseFloat(value);\n }\n return value;\n }\n if (property !== \"\" && !unitfulProps.has(property)) return value;\n if (typeof value === \"boolean\") return value;\n if (value && typeof value === \"object\") {\n if (typeof value.__getValue === \"function\") {\n value = value.__getValue();\n } else {\n return value;\n }\n }\n let res = value;\n if (typeof value === \"number\") {\n res = `${value}px`;\n } else if (property) {\n res = `${res}`;\n }\n return res;\n}\nexport {\n normalizeValueWithProperty\n};\n//# sourceMappingURL=normalizeValueWithProperty.js.map\n"],"mappings":";;;;AAEA,MAAM,eAAe,IAAI,IACvB;CAAC,GAAG,OAAO,KAAK,aAAa;CAAG;CAAc;AAAY,CAAC,CAAC,QACzD,QAAQ,QAAQ,gBAAgB,CAAC,mBAAmB,IACvD,CACF;AACA,MAAM,aAAa;AACnB,SAAS,2BAA2B,OAAO,WAAW,IAAI;CACxD,IAAI,CAAC,OAAO;EACV,IAAI,aAAa,cAAc,OAAO;EACtC,IAAI,OAAO,UAAU,YAAY,WAAW,KAAK,KAAK,GAAG;GACvD,OAAO,OAAO,WAAW,KAAK;EAChC;EACA,OAAO;CACT;CACA,IAAI,aAAa,MAAM,CAAC,aAAa,IAAI,QAAQ,GAAG,OAAO;CAC3D,IAAI,OAAO,UAAU,WAAW,OAAO;CACvC,IAAI,SAAS,OAAO,UAAU,UAAU;EACtC,IAAI,OAAO,MAAM,eAAe,YAAY;GAC1C,QAAQ,MAAM,WAAW;EAC3B,OAAO;GACL,OAAO;EACT;CACF;CACA,IAAI,MAAM;CACV,IAAI,OAAO,UAAU,UAAU;EAC7B,MAAM,GAAG,MAAM;CACjB,OAAO,IAAI,UAAU;EACnB,MAAM,GAAG;CACX;CACA,OAAO;AACT"}
@@ -1,21 +1,18 @@
1
1
  import { isWeb } from "@tamagui/constants";
2
2
  import { stylePropsAll, stylePropsUnitless } from "@tamagui/helpers";
3
3
 
4
- function _type_of(obj) {
5
- "@swc/helpers - typeof";
6
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
7
- }
8
4
  var unitfulProps = new Set([
9
5
  ...Object.keys(stylePropsAll),
10
6
  "translateX",
11
7
  "translateY"
12
8
  ].filter(function(key) {
13
- return !stylePropsUnitless[key];
9
+ return key !== "lineHeight" && !stylePropsUnitless[key];
14
10
  }));
15
11
  var pxStringRe = /^-?\d*\.?\d+px$/;
16
12
  function normalizeValueWithProperty(value) {
17
13
  var property = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
18
14
  if (!isWeb) {
15
+ if (property === "lineHeight") return value;
19
16
  if (typeof value === "string" && pxStringRe.test(value)) {
20
17
  return Number.parseFloat(value);
21
18
  }
@@ -23,7 +20,7 @@ function normalizeValueWithProperty(value) {
23
20
  }
24
21
  if (property !== "" && !unitfulProps.has(property)) return value;
25
22
  if (typeof value === "boolean") return value;
26
- if (value && (typeof value === "undefined" ? "undefined" : _type_of(value)) === "object") {
23
+ if (value && typeof value === "object") {
27
24
  if (typeof value.__getValue === "function") {
28
25
  value = value.__getValue();
29
26
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeValueWithProperty.native.js","names":[],"sources":["esm/helpers/normalizeValueWithProperty.native.js"],"sourcesContent":["import { isWeb } from \"@tamagui/constants\";\nimport { stylePropsAll, stylePropsUnitless } from \"@tamagui/helpers\";\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nvar unitfulProps = new Set([\n ...Object.keys(stylePropsAll),\n \"translateX\",\n \"translateY\"\n].filter(function(key) {\n return !stylePropsUnitless[key];\n}));\nvar pxStringRe = /^-?\\d*\\.?\\d+px$/;\nfunction normalizeValueWithProperty(value) {\n var property = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"\";\n if (!isWeb) {\n if (typeof value === \"string\" && pxStringRe.test(value)) {\n return Number.parseFloat(value);\n }\n return value;\n }\n if (property !== \"\" && !unitfulProps.has(property)) return value;\n if (typeof value === \"boolean\") return value;\n if (value && (typeof value === \"undefined\" ? \"undefined\" : _type_of(value)) === \"object\") {\n if (typeof value.__getValue === \"function\") {\n value = value.__getValue();\n } else {\n return value;\n }\n }\n var res = value;\n if (typeof value === \"number\") {\n res = `${value}px`;\n } else if (property) {\n res = `${res}`;\n }\n return res;\n}\nexport {\n normalizeValueWithProperty\n};\n//# sourceMappingURL=normalizeValueWithProperty.js.map\n"],"mappings":";;;;AAEA,SAAS,SAAS,KAAK;CACrB;CACA,OAAO,OAAO,OAAO,WAAW,eAAe,IAAI,gBAAgB,SAAS,WAAW,OAAO;AAChG;AACA,IAAI,eAAe,IAAI,IAAI;CACzB,GAAG,OAAO,KAAK,aAAa;CAC5B;CACA;AACF,CAAC,CAAC,OAAO,SAAS,KAAK;CACrB,OAAO,CAAC,mBAAmB;AAC7B,CAAC,CAAC;AACF,IAAI,aAAa;AACjB,SAAS,2BAA2B,OAAO;CACzC,IAAI,WAAW,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK;CAChF,IAAI,CAAC,OAAO;EACV,IAAI,OAAO,UAAU,YAAY,WAAW,KAAK,KAAK,GAAG;GACvD,OAAO,OAAO,WAAW,KAAK;EAChC;EACA,OAAO;CACT;CACA,IAAI,aAAa,MAAM,CAAC,aAAa,IAAI,QAAQ,GAAG,OAAO;CAC3D,IAAI,OAAO,UAAU,WAAW,OAAO;CACvC,IAAI,UAAU,OAAO,UAAU,cAAc,cAAc,SAAS,KAAK,OAAO,UAAU;EACxF,IAAI,OAAO,MAAM,eAAe,YAAY;GAC1C,QAAQ,MAAM,WAAW;EAC3B,OAAO;GACL,OAAO;EACT;CACF;CACA,IAAI,MAAM;CACV,IAAI,OAAO,UAAU,UAAU;EAC7B,MAAM,GAAG,MAAM;CACjB,OAAO,IAAI,UAAU;EACnB,MAAM,GAAG;CACX;CACA,OAAO;AACT"}
1
+ {"version":3,"file":"normalizeValueWithProperty.native.js","names":[],"sources":["esm/helpers/normalizeValueWithProperty.native.js"],"sourcesContent":["import { isWeb } from \"@tamagui/constants\";\nimport { stylePropsAll, stylePropsUnitless } from \"@tamagui/helpers\";\nvar unitfulProps = new Set([\n ...Object.keys(stylePropsAll),\n \"translateX\",\n \"translateY\"\n].filter(function(key) {\n return key !== \"lineHeight\" && !stylePropsUnitless[key];\n}));\nvar pxStringRe = /^-?\\d*\\.?\\d+px$/;\nfunction normalizeValueWithProperty(value) {\n var property = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"\";\n if (!isWeb) {\n if (property === \"lineHeight\") return value;\n if (typeof value === \"string\" && pxStringRe.test(value)) {\n return Number.parseFloat(value);\n }\n return value;\n }\n if (property !== \"\" && !unitfulProps.has(property)) return value;\n if (typeof value === \"boolean\") return value;\n if (value && typeof value === \"object\") {\n if (typeof value.__getValue === \"function\") {\n value = value.__getValue();\n } else {\n return value;\n }\n }\n var res = value;\n if (typeof value === \"number\") {\n res = `${value}px`;\n } else if (property) {\n res = `${res}`;\n }\n return res;\n}\nexport {\n normalizeValueWithProperty\n};\n//# sourceMappingURL=normalizeValueWithProperty.js.map\n"],"mappings":";;;;AAEA,IAAI,eAAe,IAAI,IAAI;CACzB,GAAG,OAAO,KAAK,aAAa;CAC5B;CACA;AACF,CAAC,CAAC,OAAO,SAAS,KAAK;CACrB,OAAO,QAAQ,gBAAgB,CAAC,mBAAmB;AACrD,CAAC,CAAC;AACF,IAAI,aAAa;AACjB,SAAS,2BAA2B,OAAO;CACzC,IAAI,WAAW,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK;CAChF,IAAI,CAAC,OAAO;EACV,IAAI,aAAa,cAAc,OAAO;EACtC,IAAI,OAAO,UAAU,YAAY,WAAW,KAAK,KAAK,GAAG;GACvD,OAAO,OAAO,WAAW,KAAK;EAChC;EACA,OAAO;CACT;CACA,IAAI,aAAa,MAAM,CAAC,aAAa,IAAI,QAAQ,GAAG,OAAO;CAC3D,IAAI,OAAO,UAAU,WAAW,OAAO;CACvC,IAAI,SAAS,OAAO,UAAU,UAAU;EACtC,IAAI,OAAO,MAAM,eAAe,YAAY;GAC1C,QAAQ,MAAM,WAAW;EAC3B,OAAO;GACL,OAAO;EACT;CACF;CACA,IAAI,MAAM;CACV,IAAI,OAAO,UAAU,UAAU;EAC7B,MAAM,GAAG,MAAM;CACjB,OAAO,IAAI,UAAU;EACnB,MAAM,GAAG;CACX;CACA,OAAO;AACT"}
@@ -1,13 +1,9 @@
1
- function _type_of(obj) {
2
- "@swc/helpers - typeof";
3
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
4
- }
5
1
  function objectIdentityKey(obj) {
6
2
  var k = "";
7
3
  for (var key in obj) {
8
4
  k += key;
9
5
  var arg = obj[key];
10
- var type = typeof arg === "undefined" ? "undefined" : _type_of(arg);
6
+ var type = typeof arg;
11
7
  if (!arg || type !== "object" && type !== "function") {
12
8
  k += type + arg;
13
9
  } else if (cache.has(arg)) {
@@ -1 +1 @@
1
- {"version":3,"file":"objectIdentityKey.native.js","names":[],"sources":["esm/helpers/objectIdentityKey.native.js"],"sourcesContent":["function _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction objectIdentityKey(obj) {\n var k = \"\";\n for (var key in obj) {\n k += key;\n var arg = obj[key];\n var type = typeof arg === \"undefined\" ? \"undefined\" : _type_of(arg);\n if (!arg || type !== \"object\" && type !== \"function\") {\n k += type + arg;\n } else if (cache.has(arg)) {\n k += cache.get(arg);\n } else {\n var v = Math.random();\n cache.set(arg, v);\n k += v;\n }\n }\n return k;\n}\nvar cache = /* @__PURE__ */ new WeakMap();\nexport {\n objectIdentityKey\n};\n//# sourceMappingURL=objectIdentityKey.js.map\n"],"mappings":";AAAA,SAAS,SAAS,KAAK;CACrB;CACA,OAAO,OAAO,OAAO,WAAW,eAAe,IAAI,gBAAgB,SAAS,WAAW,OAAO;AAChG;AACA,SAAS,kBAAkB,KAAK;CAC9B,IAAI,IAAI;CACR,KAAK,IAAI,OAAO,KAAK;EACnB,KAAK;EACL,IAAI,MAAM,IAAI;EACd,IAAI,OAAO,OAAO,QAAQ,cAAc,cAAc,SAAS,GAAG;EAClE,IAAI,CAAC,OAAO,SAAS,YAAY,SAAS,YAAY;GACpD,KAAK,OAAO;EACd,OAAO,IAAI,MAAM,IAAI,GAAG,GAAG;GACzB,KAAK,MAAM,IAAI,GAAG;EACpB,OAAO;GACL,IAAI,IAAI,KAAK,OAAO;GACpB,MAAM,IAAI,KAAK,CAAC;GAChB,KAAK;EACP;CACF;CACA,OAAO;AACT;AACA,IAAI,wBAAwB,IAAI,QAAQ"}
1
+ {"version":3,"file":"objectIdentityKey.native.js","names":[],"sources":["esm/helpers/objectIdentityKey.native.js"],"sourcesContent":["function objectIdentityKey(obj) {\n var k = \"\";\n for (var key in obj) {\n k += key;\n var arg = obj[key];\n var type = typeof arg;\n if (!arg || type !== \"object\" && type !== \"function\") {\n k += type + arg;\n } else if (cache.has(arg)) {\n k += cache.get(arg);\n } else {\n var v = Math.random();\n cache.set(arg, v);\n k += v;\n }\n }\n return k;\n}\nvar cache = /* @__PURE__ */ new WeakMap();\nexport {\n objectIdentityKey\n};\n//# sourceMappingURL=objectIdentityKey.js.map\n"],"mappings":";AAAA,SAAS,kBAAkB,KAAK;CAC9B,IAAI,IAAI;CACR,KAAK,IAAI,OAAO,KAAK;EACnB,KAAK;EACL,IAAI,MAAM,IAAI;EACd,IAAI,OAAO,OAAO;EAClB,IAAI,CAAC,OAAO,SAAS,YAAY,SAAS,YAAY;GACpD,KAAK,OAAO;EACd,OAAO,IAAI,MAAM,IAAI,GAAG,GAAG;GACzB,KAAK,MAAM,IAAI,GAAG;EACpB,OAAO;GACL,IAAI,IAAI,KAAK,OAAO;GACpB,MAAM,IAAI,KAAK,CAAC;GAChB,KAAK;EACP;CACF;CACA,OAAO;AACT;AACA,IAAI,wBAAwB,IAAI,QAAQ"}
@@ -0,0 +1,168 @@
1
+ import { normalizeColor } from "./normalizeColor.mjs";
2
+
3
+ function parseNativeStyle(key, cssString, tokenMap) {
4
+ switch (key) {
5
+ case "backgroundImage": return parseBackgroundImage(cssString, tokenMap);
6
+ case "boxShadow": return parseBoxShadow(cssString, tokenMap);
7
+ case "textShadow": return parseTextShadow(cssString, tokenMap);
8
+ default: return void 0;
9
+ }
10
+ }
11
+ function resolveColor(raw, tokenMap) {
12
+ if (tokenMap && tokenMap.has(raw)) {
13
+ return tokenMap.get(raw);
14
+ }
15
+ return raw.includes("(") && !raw.includes(",") ? normalizeColor(raw) : raw;
16
+ }
17
+ const gradientAngle = /^([+-]?\d*\.?\d+)(deg|grad|rad|turn)$/i;
18
+ const gradientKeyword = /^to\s+(?:top|bottom|left|right)(?:\s+(?:top|bottom|left|right))?$/i;
19
+ function gradientPosition(token) {
20
+ if (/px$/i.test(token)) return Number.parseFloat(token);
21
+ if (token.endsWith("%")) return token;
22
+ return void 0;
23
+ }
24
+ function parseBackgroundImage(css, tokenMap) {
25
+ if (css.trim() === "none") return [];
26
+ const match = css.match(/^linear-gradient\((.+)\)$/s);
27
+ if (!match) return void 0;
28
+ const inner = match[1];
29
+ const parts = splitOutsideParens(inner);
30
+ if (parts.length < 2) return void 0;
31
+ let direction;
32
+ let startIdx = 0;
33
+ const firstPart = parts[0].trim();
34
+ if (gradientAngle.test(firstPart) || gradientKeyword.test(firstPart)) {
35
+ direction = firstPart;
36
+ startIdx = 1;
37
+ }
38
+ const colorStops = [];
39
+ const stops = parts.slice(startIdx);
40
+ let prevWasHint = false;
41
+ for (let i = 0; i < stops.length; i++) {
42
+ const stopParts = stops[i].trim().match(/\S+\([^)]*\)|\S+/g);
43
+ if (!stopParts) continue;
44
+ if (stopParts.length === 1) {
45
+ const hint = gradientPosition(stopParts[0]);
46
+ if (hint !== void 0) {
47
+ if (i === 0 || i === stops.length - 1 || prevWasHint) return void 0;
48
+ colorStops.push({
49
+ color: null,
50
+ positions: [hint]
51
+ });
52
+ prevWasHint = true;
53
+ continue;
54
+ }
55
+ }
56
+ prevWasHint = false;
57
+ const color = resolveColor(stopParts[0], tokenMap);
58
+ const stop = { color };
59
+ if (stopParts.length > 1) {
60
+ const positions = [];
61
+ for (let p = 1; p < stopParts.length; p++) {
62
+ const position = gradientPosition(stopParts[p]);
63
+ if (position === void 0) return void 0;
64
+ positions.push(position);
65
+ }
66
+ stop.positions = positions;
67
+ }
68
+ colorStops.push(stop);
69
+ }
70
+ const gradient = {
71
+ type: "linear-gradient",
72
+ colorStops
73
+ };
74
+ if (direction) {
75
+ gradient.direction = direction;
76
+ }
77
+ return [gradient];
78
+ }
79
+ function parseBoxShadow(css, tokenMap) {
80
+ const shadowStrings = splitOutsideParens(css);
81
+ const shadows = [];
82
+ for (const raw of shadowStrings) {
83
+ const s = raw.trim();
84
+ if (!s) continue;
85
+ const tokens = s.split(/\s+/);
86
+ if (tokens.length < 2) return void 0;
87
+ let startIdx = 0;
88
+ let inset = false;
89
+ if (tokens[0] === "inset") {
90
+ inset = true;
91
+ startIdx = 1;
92
+ }
93
+ const numericParts = [];
94
+ let colorParts = [];
95
+ for (let i = startIdx; i < tokens.length; i++) {
96
+ const n = parseDimension(tokens[i]);
97
+ if (n !== void 0) {
98
+ numericParts.push(n);
99
+ } else {
100
+ colorParts = tokens.slice(i);
101
+ break;
102
+ }
103
+ }
104
+ if (numericParts.length < 2) return void 0;
105
+ const shadow = {
106
+ offsetX: numericParts[0],
107
+ offsetY: numericParts[1]
108
+ };
109
+ if (inset) {
110
+ shadow.inset = true;
111
+ }
112
+ if (numericParts.length >= 3) {
113
+ shadow.blurRadius = numericParts[2];
114
+ }
115
+ if (numericParts.length >= 4) {
116
+ shadow.spreadDistance = numericParts[3];
117
+ }
118
+ if (colorParts.length > 0) {
119
+ const colorStr = colorParts.join(" ");
120
+ shadow.color = resolveColor(colorStr, tokenMap);
121
+ }
122
+ shadows.push(shadow);
123
+ }
124
+ return shadows.length > 0 ? shadows : void 0;
125
+ }
126
+ function parseTextShadow(css, tokenMap) {
127
+ const tokens = css.trim().split(/\s+/);
128
+ if (tokens.length < 3) return void 0;
129
+ const offsetX = parseDimension(tokens[0]);
130
+ const offsetY = parseDimension(tokens[1]);
131
+ const blur = parseDimension(tokens[2]);
132
+ if (offsetX === void 0 || offsetY === void 0 || blur === void 0) {
133
+ return void 0;
134
+ }
135
+ const result = [["textShadowOffset", {
136
+ width: offsetX,
137
+ height: offsetY
138
+ }], ["textShadowRadius", blur]];
139
+ if (tokens.length >= 4) {
140
+ const colorStr = tokens.slice(3).join(" ");
141
+ result.push(["textShadowColor", resolveColor(colorStr, tokenMap)]);
142
+ }
143
+ return result;
144
+ }
145
+ function parseDimension(s) {
146
+ const cleaned = s.replace(/px$|dp$/i, "");
147
+ const n = Number(cleaned);
148
+ return Number.isFinite(n) ? n : void 0;
149
+ }
150
+ function splitOutsideParens(s) {
151
+ const parts = [];
152
+ let depth = 0;
153
+ let start = 0;
154
+ for (let i = 0; i < s.length; i++) {
155
+ const ch = s.charCodeAt(i);
156
+ if (ch === 40) depth++;
157
+ else if (ch === 41) depth--;
158
+ else if (ch === 44 && depth === 0) {
159
+ parts.push(s.slice(start, i));
160
+ start = i + 1;
161
+ }
162
+ }
163
+ parts.push(s.slice(start));
164
+ return parts;
165
+ }
166
+
167
+ export { parseNativeStyle };
168
+ //# sourceMappingURL=parseNativeStyle.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseNativeStyle.js","names":[],"sources":["esm/helpers/parseNativeStyle.js"],"sourcesContent":["import { normalizeColor } from \"./normalizeColor\";\nfunction parseNativeStyle(key, cssString, tokenMap) {\n switch (key) {\n case \"backgroundImage\":\n return parseBackgroundImage(cssString, tokenMap);\n case \"boxShadow\":\n return parseBoxShadow(cssString, tokenMap);\n case \"textShadow\":\n return parseTextShadow(cssString, tokenMap);\n default:\n return void 0;\n }\n}\nfunction resolveColor(raw, tokenMap) {\n if (tokenMap && tokenMap.has(raw)) {\n return tokenMap.get(raw);\n }\n return raw.includes(\"(\") && !raw.includes(\",\") ? normalizeColor(raw) : raw;\n}\nconst gradientAngle = /^([+-]?\\d*\\.?\\d+)(deg|grad|rad|turn)$/i;\nconst gradientKeyword = /^to\\s+(?:top|bottom|left|right)(?:\\s+(?:top|bottom|left|right))?$/i;\nfunction gradientPosition(token) {\n if (/px$/i.test(token)) return Number.parseFloat(token);\n if (token.endsWith(\"%\")) return token;\n return void 0;\n}\nfunction parseBackgroundImage(css, tokenMap) {\n if (css.trim() === \"none\") return [];\n const match = css.match(/^linear-gradient\\((.+)\\)$/s);\n if (!match) return void 0;\n const inner = match[1];\n const parts = splitOutsideParens(inner);\n if (parts.length < 2) return void 0;\n let direction;\n let startIdx = 0;\n const firstPart = parts[0].trim();\n if (gradientAngle.test(firstPart) || gradientKeyword.test(firstPart)) {\n direction = firstPart;\n startIdx = 1;\n }\n const colorStops = [];\n const stops = parts.slice(startIdx);\n let prevWasHint = false;\n for (let i = 0; i < stops.length; i++) {\n const stopParts = stops[i].trim().match(/\\S+\\([^)]*\\)|\\S+/g);\n if (!stopParts) continue;\n if (stopParts.length === 1) {\n const hint = gradientPosition(stopParts[0]);\n if (hint !== void 0) {\n if (i === 0 || i === stops.length - 1 || prevWasHint) return void 0;\n colorStops.push({ color: null, positions: [hint] });\n prevWasHint = true;\n continue;\n }\n }\n prevWasHint = false;\n const color = resolveColor(stopParts[0], tokenMap);\n const stop = { color };\n if (stopParts.length > 1) {\n const positions = [];\n for (let p = 1; p < stopParts.length; p++) {\n const position = gradientPosition(stopParts[p]);\n if (position === void 0) return void 0;\n positions.push(position);\n }\n stop.positions = positions;\n }\n colorStops.push(stop);\n }\n const gradient = {\n type: \"linear-gradient\",\n colorStops\n };\n if (direction) {\n gradient.direction = direction;\n }\n return [gradient];\n}\nfunction parseBoxShadow(css, tokenMap) {\n const shadowStrings = splitOutsideParens(css);\n const shadows = [];\n for (const raw of shadowStrings) {\n const s = raw.trim();\n if (!s) continue;\n const tokens = s.split(/\\s+/);\n if (tokens.length < 2) return void 0;\n let startIdx = 0;\n let inset = false;\n if (tokens[0] === \"inset\") {\n inset = true;\n startIdx = 1;\n }\n const numericParts = [];\n let colorParts = [];\n for (let i = startIdx; i < tokens.length; i++) {\n const n = parseDimension(tokens[i]);\n if (n !== void 0) {\n numericParts.push(n);\n } else {\n colorParts = tokens.slice(i);\n break;\n }\n }\n if (numericParts.length < 2) return void 0;\n const shadow = {\n offsetX: numericParts[0],\n offsetY: numericParts[1]\n };\n if (inset) {\n shadow.inset = true;\n }\n if (numericParts.length >= 3) {\n shadow.blurRadius = numericParts[2];\n }\n if (numericParts.length >= 4) {\n shadow.spreadDistance = numericParts[3];\n }\n if (colorParts.length > 0) {\n const colorStr = colorParts.join(\" \");\n shadow.color = resolveColor(colorStr, tokenMap);\n }\n shadows.push(shadow);\n }\n return shadows.length > 0 ? shadows : void 0;\n}\nfunction parseTextShadow(css, tokenMap) {\n const tokens = css.trim().split(/\\s+/);\n if (tokens.length < 3) return void 0;\n const offsetX = parseDimension(tokens[0]);\n const offsetY = parseDimension(tokens[1]);\n const blur = parseDimension(tokens[2]);\n if (offsetX === void 0 || offsetY === void 0 || blur === void 0) {\n return void 0;\n }\n const result = [\n [\"textShadowOffset\", { width: offsetX, height: offsetY }],\n [\"textShadowRadius\", blur]\n ];\n if (tokens.length >= 4) {\n const colorStr = tokens.slice(3).join(\" \");\n result.push([\"textShadowColor\", resolveColor(colorStr, tokenMap)]);\n }\n return result;\n}\nfunction parseDimension(s) {\n const cleaned = s.replace(/px$|dp$/i, \"\");\n const n = Number(cleaned);\n return Number.isFinite(n) ? n : void 0;\n}\nfunction splitOutsideParens(s) {\n const parts = [];\n let depth = 0;\n let start = 0;\n for (let i = 0; i < s.length; i++) {\n const ch = s.charCodeAt(i);\n if (ch === 40) depth++;\n else if (ch === 41) depth--;\n else if (ch === 44 && depth === 0) {\n parts.push(s.slice(start, i));\n start = i + 1;\n }\n }\n parts.push(s.slice(start));\n return parts;\n}\nexport {\n parseNativeStyle\n};\n//# sourceMappingURL=parseNativeStyle.js.map\n"],"mappings":";;;AACA,SAAS,iBAAiB,KAAK,WAAW,UAAU;CAClD,QAAQ,KAAR;EACE,KAAK,mBACH,OAAO,qBAAqB,WAAW,QAAQ;EACjD,KAAK,aACH,OAAO,eAAe,WAAW,QAAQ;EAC3C,KAAK,cACH,OAAO,gBAAgB,WAAW,QAAQ;EAC5C,SACE,OAAO,KAAK;CAChB;AACF;AACA,SAAS,aAAa,KAAK,UAAU;CACnC,IAAI,YAAY,SAAS,IAAI,GAAG,GAAG;EACjC,OAAO,SAAS,IAAI,GAAG;CACzB;CACA,OAAO,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,SAAS,GAAG,IAAI,eAAe,GAAG,IAAI;AACzE;AACA,MAAM,gBAAgB;AACtB,MAAM,kBAAkB;AACxB,SAAS,iBAAiB,OAAO;CAC/B,IAAI,OAAO,KAAK,KAAK,GAAG,OAAO,OAAO,WAAW,KAAK;CACtD,IAAI,MAAM,SAAS,GAAG,GAAG,OAAO;CAChC,OAAO,KAAK;AACd;AACA,SAAS,qBAAqB,KAAK,UAAU;CAC3C,IAAI,IAAI,KAAK,MAAM,QAAQ,OAAO,CAAC;CACnC,MAAM,QAAQ,IAAI,MAAM,4BAA4B;CACpD,IAAI,CAAC,OAAO,OAAO,KAAK;CACxB,MAAM,QAAQ,MAAM;CACpB,MAAM,QAAQ,mBAAmB,KAAK;CACtC,IAAI,MAAM,SAAS,GAAG,OAAO,KAAK;CAClC,IAAI;CACJ,IAAI,WAAW;CACf,MAAM,YAAY,MAAM,EAAE,CAAC,KAAK;CAChC,IAAI,cAAc,KAAK,SAAS,KAAK,gBAAgB,KAAK,SAAS,GAAG;EACpE,YAAY;EACZ,WAAW;CACb;CACA,MAAM,aAAa,CAAC;CACpB,MAAM,QAAQ,MAAM,MAAM,QAAQ;CAClC,IAAI,cAAc;CAClB,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;EACrC,MAAM,YAAY,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,mBAAmB;EAC3D,IAAI,CAAC,WAAW;EAChB,IAAI,UAAU,WAAW,GAAG;GAC1B,MAAM,OAAO,iBAAiB,UAAU,EAAE;GAC1C,IAAI,SAAS,KAAK,GAAG;IACnB,IAAI,MAAM,KAAK,MAAM,MAAM,SAAS,KAAK,aAAa,OAAO,KAAK;IAClE,WAAW,KAAK;KAAE,OAAO;KAAM,WAAW,CAAC,IAAI;IAAE,CAAC;IAClD,cAAc;IACd;GACF;EACF;EACA,cAAc;EACd,MAAM,QAAQ,aAAa,UAAU,IAAI,QAAQ;EACjD,MAAM,OAAO,EAAE,MAAM;EACrB,IAAI,UAAU,SAAS,GAAG;GACxB,MAAM,YAAY,CAAC;GACnB,KAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;IACzC,MAAM,WAAW,iBAAiB,UAAU,EAAE;IAC9C,IAAI,aAAa,KAAK,GAAG,OAAO,KAAK;IACrC,UAAU,KAAK,QAAQ;GACzB;GACA,KAAK,YAAY;EACnB;EACA,WAAW,KAAK,IAAI;CACtB;CACA,MAAM,WAAW;EACf,MAAM;EACN;CACF;CACA,IAAI,WAAW;EACb,SAAS,YAAY;CACvB;CACA,OAAO,CAAC,QAAQ;AAClB;AACA,SAAS,eAAe,KAAK,UAAU;CACrC,MAAM,gBAAgB,mBAAmB,GAAG;CAC5C,MAAM,UAAU,CAAC;CACjB,KAAK,MAAM,OAAO,eAAe;EAC/B,MAAM,IAAI,IAAI,KAAK;EACnB,IAAI,CAAC,GAAG;EACR,MAAM,SAAS,EAAE,MAAM,KAAK;EAC5B,IAAI,OAAO,SAAS,GAAG,OAAO,KAAK;EACnC,IAAI,WAAW;EACf,IAAI,QAAQ;EACZ,IAAI,OAAO,OAAO,SAAS;GACzB,QAAQ;GACR,WAAW;EACb;EACA,MAAM,eAAe,CAAC;EACtB,IAAI,aAAa,CAAC;EAClB,KAAK,IAAI,IAAI,UAAU,IAAI,OAAO,QAAQ,KAAK;GAC7C,MAAM,IAAI,eAAe,OAAO,EAAE;GAClC,IAAI,MAAM,KAAK,GAAG;IAChB,aAAa,KAAK,CAAC;GACrB,OAAO;IACL,aAAa,OAAO,MAAM,CAAC;IAC3B;GACF;EACF;EACA,IAAI,aAAa,SAAS,GAAG,OAAO,KAAK;EACzC,MAAM,SAAS;GACb,SAAS,aAAa;GACtB,SAAS,aAAa;EACxB;EACA,IAAI,OAAO;GACT,OAAO,QAAQ;EACjB;EACA,IAAI,aAAa,UAAU,GAAG;GAC5B,OAAO,aAAa,aAAa;EACnC;EACA,IAAI,aAAa,UAAU,GAAG;GAC5B,OAAO,iBAAiB,aAAa;EACvC;EACA,IAAI,WAAW,SAAS,GAAG;GACzB,MAAM,WAAW,WAAW,KAAK,GAAG;GACpC,OAAO,QAAQ,aAAa,UAAU,QAAQ;EAChD;EACA,QAAQ,KAAK,MAAM;CACrB;CACA,OAAO,QAAQ,SAAS,IAAI,UAAU,KAAK;AAC7C;AACA,SAAS,gBAAgB,KAAK,UAAU;CACtC,MAAM,SAAS,IAAI,KAAK,CAAC,CAAC,MAAM,KAAK;CACrC,IAAI,OAAO,SAAS,GAAG,OAAO,KAAK;CACnC,MAAM,UAAU,eAAe,OAAO,EAAE;CACxC,MAAM,UAAU,eAAe,OAAO,EAAE;CACxC,MAAM,OAAO,eAAe,OAAO,EAAE;CACrC,IAAI,YAAY,KAAK,KAAK,YAAY,KAAK,KAAK,SAAS,KAAK,GAAG;EAC/D,OAAO,KAAK;CACd;CACA,MAAM,SAAS,CACb,CAAC,oBAAoB;EAAE,OAAO;EAAS,QAAQ;CAAQ,CAAC,GACxD,CAAC,oBAAoB,IAAI,CAC3B;CACA,IAAI,OAAO,UAAU,GAAG;EACtB,MAAM,WAAW,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;EACzC,OAAO,KAAK,CAAC,mBAAmB,aAAa,UAAU,QAAQ,CAAC,CAAC;CACnE;CACA,OAAO;AACT;AACA,SAAS,eAAe,GAAG;CACzB,MAAM,UAAU,EAAE,QAAQ,YAAY,EAAE;CACxC,MAAM,IAAI,OAAO,OAAO;CACxB,OAAO,OAAO,SAAS,CAAC,IAAI,IAAI,KAAK;AACvC;AACA,SAAS,mBAAmB,GAAG;CAC7B,MAAM,QAAQ,CAAC;CACf,IAAI,QAAQ;CACZ,IAAI,QAAQ;CACZ,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;EACjC,MAAM,KAAK,EAAE,WAAW,CAAC;EACzB,IAAI,OAAO,IAAI;OACV,IAAI,OAAO,IAAI;OACf,IAAI,OAAO,MAAM,UAAU,GAAG;GACjC,MAAM,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC;GAC5B,QAAQ,IAAI;EACd;CACF;CACA,MAAM,KAAK,EAAE,MAAM,KAAK,CAAC;CACzB,OAAO;AACT"}
@@ -1,3 +1,5 @@
1
+ import { normalizeColor } from "./normalizeColor.native.js";
2
+
1
3
  function parseNativeStyle(key, cssString, tokenMap) {
2
4
  switch (key) {
3
5
  case "backgroundImage": return parseBackgroundImage(cssString, tokenMap);
@@ -10,7 +12,7 @@ function resolveColor(raw, tokenMap) {
10
12
  if (tokenMap && tokenMap.has(raw)) {
11
13
  return tokenMap.get(raw);
12
14
  }
13
- return raw;
15
+ return raw.includes("(") && !raw.includes(",") ? normalizeColor(raw) : raw;
14
16
  }
15
17
  var gradientAngle = /^([+-]?\d*\.?\d+)(deg|grad|rad|turn)$/i;
16
18
  var gradientKeyword = /^to\s+(?:top|bottom|left|right)(?:\s+(?:top|bottom|left|right))?$/i;
@@ -20,6 +22,7 @@ function gradientPosition(token) {
20
22
  return void 0;
21
23
  }
22
24
  function parseBackgroundImage(css, tokenMap) {
25
+ if (css.trim() === "none") return [];
23
26
  var match = css.match(RegExp("^linear-gradient\\((.+)\\)$", "s"));
24
27
  if (!match) return void 0;
25
28
  var inner = match[1];
@@ -1 +1 @@
1
- {"version":3,"file":"parseNativeStyle.native.js","names":[],"sources":["esm/helpers/parseNativeStyle.native.js"],"sourcesContent":["function parseNativeStyle(key, cssString, tokenMap) {\n switch (key) {\n case \"backgroundImage\":\n return parseBackgroundImage(cssString, tokenMap);\n case \"boxShadow\":\n return parseBoxShadow(cssString, tokenMap);\n case \"textShadow\":\n return parseTextShadow(cssString, tokenMap);\n default:\n return void 0;\n }\n}\nfunction resolveColor(raw, tokenMap) {\n if (tokenMap && tokenMap.has(raw)) {\n return tokenMap.get(raw);\n }\n return raw;\n}\nvar gradientAngle = /^([+-]?\\d*\\.?\\d+)(deg|grad|rad|turn)$/i;\nvar gradientKeyword = /^to\\s+(?:top|bottom|left|right)(?:\\s+(?:top|bottom|left|right))?$/i;\nfunction gradientPosition(token) {\n if (/px$/i.test(token)) return Number.parseFloat(token);\n if (token.endsWith(\"%\")) return token;\n return void 0;\n}\nfunction parseBackgroundImage(css, tokenMap) {\n var match = css.match(RegExp(\"^linear-gradient\\\\((.+)\\\\)$\", \"s\"));\n if (!match) return void 0;\n var inner = match[1];\n var parts = splitOutsideParens(inner);\n if (parts.length < 2) return void 0;\n var direction;\n var startIdx = 0;\n var firstPart = parts[0].trim();\n if (gradientAngle.test(firstPart) || gradientKeyword.test(firstPart)) {\n direction = firstPart;\n startIdx = 1;\n }\n var colorStops = [];\n var stops = parts.slice(startIdx);\n var prevWasHint = false;\n for (var i = 0; i < stops.length; i++) {\n var stopParts = stops[i].trim().match(/\\S+\\([^)]*\\)|\\S+/g);\n if (!stopParts) continue;\n if (stopParts.length === 1) {\n var hint = gradientPosition(stopParts[0]);\n if (hint !== void 0) {\n if (i === 0 || i === stops.length - 1 || prevWasHint) return void 0;\n colorStops.push({\n color: null,\n positions: [\n hint\n ]\n });\n prevWasHint = true;\n continue;\n }\n }\n prevWasHint = false;\n var color = resolveColor(stopParts[0], tokenMap);\n var stop = {\n color\n };\n if (stopParts.length > 1) {\n var positions = [];\n for (var p = 1; p < stopParts.length; p++) {\n var position = gradientPosition(stopParts[p]);\n if (position === void 0) return void 0;\n positions.push(position);\n }\n stop.positions = positions;\n }\n colorStops.push(stop);\n }\n var gradient = {\n type: \"linear-gradient\",\n colorStops\n };\n if (direction) {\n gradient.direction = direction;\n }\n return [\n gradient\n ];\n}\nfunction parseBoxShadow(css, tokenMap) {\n var shadowStrings = splitOutsideParens(css);\n var shadows = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = shadowStrings[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var raw = _step.value;\n var s = raw.trim();\n if (!s) continue;\n var tokens = s.split(/\\s+/);\n if (tokens.length < 2) return void 0;\n var startIdx = 0;\n var inset = false;\n if (tokens[0] === \"inset\") {\n inset = true;\n startIdx = 1;\n }\n var numericParts = [];\n var colorParts = [];\n for (var i = startIdx; i < tokens.length; i++) {\n var n = parseDimension(tokens[i]);\n if (n !== void 0) {\n numericParts.push(n);\n } else {\n colorParts = tokens.slice(i);\n break;\n }\n }\n if (numericParts.length < 2) return void 0;\n var shadow = {\n offsetX: numericParts[0],\n offsetY: numericParts[1]\n };\n if (inset) {\n shadow.inset = true;\n }\n if (numericParts.length >= 3) {\n shadow.blurRadius = numericParts[2];\n }\n if (numericParts.length >= 4) {\n shadow.spreadDistance = numericParts[3];\n }\n if (colorParts.length > 0) {\n var colorStr = colorParts.join(\" \");\n shadow.color = resolveColor(colorStr, tokenMap);\n }\n shadows.push(shadow);\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 shadows.length > 0 ? shadows : void 0;\n}\nfunction parseTextShadow(css, tokenMap) {\n var tokens = css.trim().split(/\\s+/);\n if (tokens.length < 3) return void 0;\n var offsetX = parseDimension(tokens[0]);\n var offsetY = parseDimension(tokens[1]);\n var blur = parseDimension(tokens[2]);\n if (offsetX === void 0 || offsetY === void 0 || blur === void 0) {\n return void 0;\n }\n var result = [\n [\n \"textShadowOffset\",\n {\n width: offsetX,\n height: offsetY\n }\n ],\n [\n \"textShadowRadius\",\n blur\n ]\n ];\n if (tokens.length >= 4) {\n var colorStr = tokens.slice(3).join(\" \");\n result.push([\n \"textShadowColor\",\n resolveColor(colorStr, tokenMap)\n ]);\n }\n return result;\n}\nfunction parseDimension(s) {\n var cleaned = s.replace(/px$|dp$/i, \"\");\n var n = Number(cleaned);\n return Number.isFinite(n) ? n : void 0;\n}\nfunction splitOutsideParens(s) {\n var parts = [];\n var depth = 0;\n var start = 0;\n for (var i = 0; i < s.length; i++) {\n var ch = s.charCodeAt(i);\n if (ch === 40) depth++;\n else if (ch === 41) depth--;\n else if (ch === 44 && /* , */\n depth === 0) {\n parts.push(s.slice(start, i));\n start = i + 1;\n }\n }\n parts.push(s.slice(start));\n return parts;\n}\nexport {\n parseNativeStyle\n};\n//# sourceMappingURL=parseNativeStyle.native.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"parseNativeStyle.native.js","names":[],"sources":["esm/helpers/parseNativeStyle.native.js"],"sourcesContent":["import { normalizeColor } from \"./normalizeColor\";\nfunction parseNativeStyle(key, cssString, tokenMap) {\n switch (key) {\n case \"backgroundImage\":\n return parseBackgroundImage(cssString, tokenMap);\n case \"boxShadow\":\n return parseBoxShadow(cssString, tokenMap);\n case \"textShadow\":\n return parseTextShadow(cssString, tokenMap);\n default:\n return void 0;\n }\n}\nfunction resolveColor(raw, tokenMap) {\n if (tokenMap && tokenMap.has(raw)) {\n return tokenMap.get(raw);\n }\n return raw.includes(\"(\") && !raw.includes(\",\") ? normalizeColor(raw) : raw;\n}\nvar gradientAngle = /^([+-]?\\d*\\.?\\d+)(deg|grad|rad|turn)$/i;\nvar gradientKeyword = /^to\\s+(?:top|bottom|left|right)(?:\\s+(?:top|bottom|left|right))?$/i;\nfunction gradientPosition(token) {\n if (/px$/i.test(token)) return Number.parseFloat(token);\n if (token.endsWith(\"%\")) return token;\n return void 0;\n}\nfunction parseBackgroundImage(css, tokenMap) {\n if (css.trim() === \"none\") return [];\n var match = css.match(RegExp(\"^linear-gradient\\\\((.+)\\\\)$\", \"s\"));\n if (!match) return void 0;\n var inner = match[1];\n var parts = splitOutsideParens(inner);\n if (parts.length < 2) return void 0;\n var direction;\n var startIdx = 0;\n var firstPart = parts[0].trim();\n if (gradientAngle.test(firstPart) || gradientKeyword.test(firstPart)) {\n direction = firstPart;\n startIdx = 1;\n }\n var colorStops = [];\n var stops = parts.slice(startIdx);\n var prevWasHint = false;\n for (var i = 0; i < stops.length; i++) {\n var stopParts = stops[i].trim().match(/\\S+\\([^)]*\\)|\\S+/g);\n if (!stopParts) continue;\n if (stopParts.length === 1) {\n var hint = gradientPosition(stopParts[0]);\n if (hint !== void 0) {\n if (i === 0 || i === stops.length - 1 || prevWasHint) return void 0;\n colorStops.push({\n color: null,\n positions: [\n hint\n ]\n });\n prevWasHint = true;\n continue;\n }\n }\n prevWasHint = false;\n var color = resolveColor(stopParts[0], tokenMap);\n var stop = {\n color\n };\n if (stopParts.length > 1) {\n var positions = [];\n for (var p = 1; p < stopParts.length; p++) {\n var position = gradientPosition(stopParts[p]);\n if (position === void 0) return void 0;\n positions.push(position);\n }\n stop.positions = positions;\n }\n colorStops.push(stop);\n }\n var gradient = {\n type: \"linear-gradient\",\n colorStops\n };\n if (direction) {\n gradient.direction = direction;\n }\n return [\n gradient\n ];\n}\nfunction parseBoxShadow(css, tokenMap) {\n var shadowStrings = splitOutsideParens(css);\n var shadows = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = shadowStrings[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var raw = _step.value;\n var s = raw.trim();\n if (!s) continue;\n var tokens = s.split(/\\s+/);\n if (tokens.length < 2) return void 0;\n var startIdx = 0;\n var inset = false;\n if (tokens[0] === \"inset\") {\n inset = true;\n startIdx = 1;\n }\n var numericParts = [];\n var colorParts = [];\n for (var i = startIdx; i < tokens.length; i++) {\n var n = parseDimension(tokens[i]);\n if (n !== void 0) {\n numericParts.push(n);\n } else {\n colorParts = tokens.slice(i);\n break;\n }\n }\n if (numericParts.length < 2) return void 0;\n var shadow = {\n offsetX: numericParts[0],\n offsetY: numericParts[1]\n };\n if (inset) {\n shadow.inset = true;\n }\n if (numericParts.length >= 3) {\n shadow.blurRadius = numericParts[2];\n }\n if (numericParts.length >= 4) {\n shadow.spreadDistance = numericParts[3];\n }\n if (colorParts.length > 0) {\n var colorStr = colorParts.join(\" \");\n shadow.color = resolveColor(colorStr, tokenMap);\n }\n shadows.push(shadow);\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 shadows.length > 0 ? shadows : void 0;\n}\nfunction parseTextShadow(css, tokenMap) {\n var tokens = css.trim().split(/\\s+/);\n if (tokens.length < 3) return void 0;\n var offsetX = parseDimension(tokens[0]);\n var offsetY = parseDimension(tokens[1]);\n var blur = parseDimension(tokens[2]);\n if (offsetX === void 0 || offsetY === void 0 || blur === void 0) {\n return void 0;\n }\n var result = [\n [\n \"textShadowOffset\",\n {\n width: offsetX,\n height: offsetY\n }\n ],\n [\n \"textShadowRadius\",\n blur\n ]\n ];\n if (tokens.length >= 4) {\n var colorStr = tokens.slice(3).join(\" \");\n result.push([\n \"textShadowColor\",\n resolveColor(colorStr, tokenMap)\n ]);\n }\n return result;\n}\nfunction parseDimension(s) {\n var cleaned = s.replace(/px$|dp$/i, \"\");\n var n = Number(cleaned);\n return Number.isFinite(n) ? n : void 0;\n}\nfunction splitOutsideParens(s) {\n var parts = [];\n var depth = 0;\n var start = 0;\n for (var i = 0; i < s.length; i++) {\n var ch = s.charCodeAt(i);\n if (ch === 40) depth++;\n else if (ch === 41) depth--;\n else if (ch === 44 && /* , */\n depth === 0) {\n parts.push(s.slice(start, i));\n start = i + 1;\n }\n }\n parts.push(s.slice(start));\n return parts;\n}\nexport {\n parseNativeStyle\n};\n//# sourceMappingURL=parseNativeStyle.js.map\n"],"mappings":"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"}
@@ -1,5 +1,7 @@
1
+ import { copyAuthoredThemeScheme } from "./themes.mjs";
2
+
1
3
  const themesRaw = {};
2
- function proxyThemesToParents(dedupedThemes) {
4
+ function proxyThemesToParents(dedupedThemes, declarationOrder) {
3
5
  for (const { names, theme } of dedupedThemes) {
4
6
  for (const name of names) {
5
7
  themesRaw[name] = theme;
@@ -12,6 +14,12 @@ function proxyThemesToParents(dedupedThemes) {
12
14
  themes[themeName] = proxiedTheme;
13
15
  }
14
16
  }
17
+ if (declarationOrder) {
18
+ const ordered = {};
19
+ for (const k of declarationOrder) if (k in themes) ordered[k] = themes[k];
20
+ for (const k in themes) if (!(k in ordered)) ordered[k] = themes[k];
21
+ return ordered;
22
+ }
15
23
  return themes;
16
24
  }
17
25
  function proxyThemeToParents(themeName, theme) {
@@ -25,7 +33,7 @@ function proxyThemeToParents(themeName, theme) {
25
33
  Object.assign(out, themesRaw[parent]);
26
34
  }
27
35
  Object.assign(out, theme);
28
- return out;
36
+ return copyAuthoredThemeScheme(out, theme);
29
37
  }
30
38
 
31
39
  export { proxyThemeToParents, proxyThemesToParents };
@@ -1 +1 @@
1
- {"version":3,"file":"proxyThemeToParents.js","names":[],"sources":["esm/helpers/proxyThemeToParents.js"],"sourcesContent":["const themesRaw = {};\nfunction proxyThemesToParents(dedupedThemes) {\n for (const { names, theme } of dedupedThemes) {\n for (const name of names) {\n themesRaw[name] = theme;\n }\n }\n const themes = {};\n for (const { names, theme } of dedupedThemes) {\n for (const themeName of names) {\n const proxiedTheme = proxyThemeToParents(themeName, theme);\n themes[themeName] = proxiedTheme;\n }\n }\n return themes;\n}\nfunction proxyThemeToParents(themeName, theme) {\n const out = {};\n const cur = [];\n const parents = themeName.split(\"_\").slice(0, -1).map((part) => {\n cur.push(part);\n return cur.join(\"_\");\n });\n for (const parent of parents) {\n Object.assign(out, themesRaw[parent]);\n }\n Object.assign(out, theme);\n return out;\n}\nexport {\n proxyThemeToParents,\n proxyThemesToParents\n};\n//# sourceMappingURL=proxyThemeToParents.js.map\n"],"mappings":";AAAA,MAAM,YAAY,CAAC;AACnB,SAAS,qBAAqB,eAAe;CAC3C,KAAK,MAAM,EAAE,OAAO,WAAW,eAAe;EAC5C,KAAK,MAAM,QAAQ,OAAO;GACxB,UAAU,QAAQ;EACpB;CACF;CACA,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,EAAE,OAAO,WAAW,eAAe;EAC5C,KAAK,MAAM,aAAa,OAAO;GAC7B,MAAM,eAAe,oBAAoB,WAAW,KAAK;GACzD,OAAO,aAAa;EACtB;CACF;CACA,OAAO;AACT;AACA,SAAS,oBAAoB,WAAW,OAAO;CAC7C,MAAM,MAAM,CAAC;CACb,MAAM,MAAM,CAAC;CACb,MAAM,UAAU,UAAU,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;EAC9D,IAAI,KAAK,IAAI;EACb,OAAO,IAAI,KAAK,GAAG;CACrB,CAAC;CACD,KAAK,MAAM,UAAU,SAAS;EAC5B,OAAO,OAAO,KAAK,UAAU,OAAO;CACtC;CACA,OAAO,OAAO,KAAK,KAAK;CACxB,OAAO;AACT"}
1
+ {"version":3,"file":"proxyThemeToParents.js","names":[],"sources":["esm/helpers/proxyThemeToParents.js"],"sourcesContent":["import { copyAuthoredThemeScheme } from \"./themes\";\nconst themesRaw = {};\nfunction proxyThemesToParents(dedupedThemes, declarationOrder) {\n for (const { names, theme } of dedupedThemes) {\n for (const name of names) {\n themesRaw[name] = theme;\n }\n }\n const themes = {};\n for (const { names, theme } of dedupedThemes) {\n for (const themeName of names) {\n const proxiedTheme = proxyThemeToParents(themeName, theme);\n themes[themeName] = proxiedTheme;\n }\n }\n if (declarationOrder) {\n const ordered = {};\n for (const k of declarationOrder) if (k in themes) ordered[k] = themes[k];\n for (const k in themes) if (!(k in ordered)) ordered[k] = themes[k];\n return ordered;\n }\n return themes;\n}\nfunction proxyThemeToParents(themeName, theme) {\n const out = {};\n const cur = [];\n const parents = themeName.split(\"_\").slice(0, -1).map((part) => {\n cur.push(part);\n return cur.join(\"_\");\n });\n for (const parent of parents) {\n Object.assign(out, themesRaw[parent]);\n }\n Object.assign(out, theme);\n return copyAuthoredThemeScheme(out, theme);\n}\nexport {\n proxyThemeToParents,\n proxyThemesToParents\n};\n//# sourceMappingURL=proxyThemeToParents.js.map\n"],"mappings":";;;AACA,MAAM,YAAY,CAAC;AACnB,SAAS,qBAAqB,eAAe,kBAAkB;CAC7D,KAAK,MAAM,EAAE,OAAO,WAAW,eAAe;EAC5C,KAAK,MAAM,QAAQ,OAAO;GACxB,UAAU,QAAQ;EACpB;CACF;CACA,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,EAAE,OAAO,WAAW,eAAe;EAC5C,KAAK,MAAM,aAAa,OAAO;GAC7B,MAAM,eAAe,oBAAoB,WAAW,KAAK;GACzD,OAAO,aAAa;EACtB;CACF;CACA,IAAI,kBAAkB;EACpB,MAAM,UAAU,CAAC;EACjB,KAAK,MAAM,KAAK,kBAAkB,IAAI,KAAK,QAAQ,QAAQ,KAAK,OAAO;EACvE,KAAK,MAAM,KAAK,QAAQ,IAAI,EAAE,KAAK,UAAU,QAAQ,KAAK,OAAO;EACjE,OAAO;CACT;CACA,OAAO;AACT;AACA,SAAS,oBAAoB,WAAW,OAAO;CAC7C,MAAM,MAAM,CAAC;CACb,MAAM,MAAM,CAAC;CACb,MAAM,UAAU,UAAU,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;EAC9D,IAAI,KAAK,IAAI;EACb,OAAO,IAAI,KAAK,GAAG;CACrB,CAAC;CACD,KAAK,MAAM,UAAU,SAAS;EAC5B,OAAO,OAAO,KAAK,UAAU,OAAO;CACtC;CACA,OAAO,OAAO,KAAK,KAAK;CACxB,OAAO,wBAAwB,KAAK,KAAK;AAC3C"}
@@ -1,5 +1,7 @@
1
+ import { copyAuthoredThemeScheme } from "./themes.native.js";
2
+
1
3
  var themesRaw = {};
2
- function proxyThemesToParents(dedupedThemes) {
4
+ function proxyThemesToParents(dedupedThemes, declarationOrder) {
3
5
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
4
6
  try {
5
7
  for (var _iterator = dedupedThemes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
@@ -80,6 +82,31 @@ function proxyThemesToParents(dedupedThemes) {
80
82
  }
81
83
  }
82
84
  }
85
+ if (declarationOrder) {
86
+ var ordered = {};
87
+ var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;
88
+ try {
89
+ for (var _iterator4 = declarationOrder[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
90
+ var k = _step4.value;
91
+ if (k in themes) ordered[k] = themes[k];
92
+ }
93
+ } catch (err) {
94
+ _didIteratorError4 = true;
95
+ _iteratorError4 = err;
96
+ } finally {
97
+ try {
98
+ if (!_iteratorNormalCompletion4 && _iterator4.return != null) {
99
+ _iterator4.return();
100
+ }
101
+ } finally {
102
+ if (_didIteratorError4) {
103
+ throw _iteratorError4;
104
+ }
105
+ }
106
+ }
107
+ for (var k1 in themes) if (!(k1 in ordered)) ordered[k1] = themes[k1];
108
+ return ordered;
109
+ }
83
110
  return themes;
84
111
  }
85
112
  function proxyThemeToParents(themeName, theme) {
@@ -110,7 +137,7 @@ function proxyThemeToParents(themeName, theme) {
110
137
  }
111
138
  }
112
139
  Object.assign(out, theme);
113
- return out;
140
+ return copyAuthoredThemeScheme(out, theme);
114
141
  }
115
142
 
116
143
  export { proxyThemeToParents, proxyThemesToParents };