@tamagui/style-grammar 0.0.0-bootstrap.0 → 3.0.0-beta.643.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (458) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +33 -1
  3. package/dist/cjs/backgroundFamily.cjs +176 -0
  4. package/dist/cjs/backgroundFamily.native.cjs +195 -0
  5. package/dist/cjs/backgroundFamily.native.js +197 -0
  6. package/dist/cjs/backgroundFamily.native.js.map +1 -0
  7. package/dist/cjs/borderFamily.cjs +169 -0
  8. package/dist/cjs/borderFamily.native.cjs +247 -0
  9. package/dist/cjs/borderFamily.native.js +249 -0
  10. package/dist/cjs/borderFamily.native.js.map +1 -0
  11. package/dist/cjs/candidate.cjs +608 -0
  12. package/dist/cjs/candidate.native.cjs +821 -0
  13. package/dist/cjs/candidate.native.js +823 -0
  14. package/dist/cjs/candidate.native.js.map +1 -0
  15. package/dist/cjs/candidateTarget.cjs +50 -0
  16. package/dist/cjs/candidateTarget.native.cjs +88 -0
  17. package/dist/cjs/candidateTarget.native.js +90 -0
  18. package/dist/cjs/candidateTarget.native.js.map +1 -0
  19. package/dist/cjs/clauseCapability.cjs +130 -0
  20. package/dist/cjs/clauseCapability.native.cjs +152 -0
  21. package/dist/cjs/clauseCapability.native.js +154 -0
  22. package/dist/cjs/clauseCapability.native.js.map +1 -0
  23. package/dist/cjs/clausePrecedence.cjs +153 -0
  24. package/dist/cjs/clausePrecedence.native.cjs +204 -0
  25. package/dist/cjs/clausePrecedence.native.js +206 -0
  26. package/dist/cjs/clausePrecedence.native.js.map +1 -0
  27. package/dist/cjs/clauseSources.cjs +47 -0
  28. package/dist/cjs/clauseSources.native.cjs +49 -0
  29. package/dist/cjs/clauseSources.native.js +51 -0
  30. package/dist/cjs/clauseSources.native.js.map +1 -0
  31. package/dist/cjs/config.cjs +130 -0
  32. package/dist/cjs/config.native.cjs +185 -0
  33. package/dist/cjs/config.native.js +187 -0
  34. package/dist/cjs/config.native.js.map +1 -0
  35. package/dist/cjs/evaluateProgram.cjs +65 -0
  36. package/dist/cjs/evaluateProgram.native.cjs +70 -0
  37. package/dist/cjs/evaluateProgram.native.js +72 -0
  38. package/dist/cjs/evaluateProgram.native.js.map +1 -0
  39. package/dist/cjs/fontShorthand.cjs +207 -0
  40. package/dist/cjs/fontShorthand.native.cjs +260 -0
  41. package/dist/cjs/fontShorthand.native.js +262 -0
  42. package/dist/cjs/fontShorthand.native.js.map +1 -0
  43. package/dist/cjs/geometricShorthand.cjs +122 -0
  44. package/dist/cjs/geometricShorthand.native.cjs +128 -0
  45. package/dist/cjs/geometricShorthand.native.js +130 -0
  46. package/dist/cjs/geometricShorthand.native.js.map +1 -0
  47. package/dist/cjs/index.cjs +19 -0
  48. package/dist/cjs/index.native.cjs +21 -0
  49. package/dist/cjs/index.native.js +23 -0
  50. package/dist/cjs/index.native.js.map +1 -0
  51. package/dist/cjs/lowerProgram.cjs +205 -0
  52. package/dist/cjs/lowerProgram.native.cjs +257 -0
  53. package/dist/cjs/lowerProgram.native.js +259 -0
  54. package/dist/cjs/lowerProgram.native.js.map +1 -0
  55. package/dist/cjs/mergeFlatValues.cjs +50 -0
  56. package/dist/cjs/mergeFlatValues.native.cjs +71 -0
  57. package/dist/cjs/mergeFlatValues.native.js +73 -0
  58. package/dist/cjs/mergeFlatValues.native.js.map +1 -0
  59. package/dist/cjs/modifierRegistry.cjs +246 -0
  60. package/dist/cjs/modifierRegistry.native.cjs +426 -0
  61. package/dist/cjs/modifierRegistry.native.js +428 -0
  62. package/dist/cjs/modifierRegistry.native.js.map +1 -0
  63. package/dist/cjs/payloadShape.cjs +69 -0
  64. package/dist/cjs/payloadShape.native.cjs +71 -0
  65. package/dist/cjs/payloadShape.native.js +73 -0
  66. package/dist/cjs/payloadShape.native.js.map +1 -0
  67. package/dist/cjs/programEligibility.cjs +46 -0
  68. package/dist/cjs/programEligibility.native.cjs +48 -0
  69. package/dist/cjs/programEligibility.native.js +50 -0
  70. package/dist/cjs/programEligibility.native.js.map +1 -0
  71. package/dist/cjs/programHash.cjs +86 -0
  72. package/dist/cjs/programHash.native.cjs +106 -0
  73. package/dist/cjs/programHash.native.js +108 -0
  74. package/dist/cjs/programHash.native.js.map +1 -0
  75. package/dist/cjs/programs.cjs +128 -0
  76. package/dist/cjs/programs.native.cjs +220 -0
  77. package/dist/cjs/programs.native.js +222 -0
  78. package/dist/cjs/programs.native.js.map +1 -0
  79. package/dist/cjs/registry.cjs +629 -0
  80. package/dist/cjs/registry.native.cjs +635 -0
  81. package/dist/cjs/registry.native.js +637 -0
  82. package/dist/cjs/registry.native.js.map +1 -0
  83. package/dist/cjs/resolvePayload.cjs +296 -0
  84. package/dist/cjs/resolvePayload.native.cjs +302 -0
  85. package/dist/cjs/resolvePayload.native.js +304 -0
  86. package/dist/cjs/resolvePayload.native.js.map +1 -0
  87. package/dist/cjs/runtime.cjs +50 -0
  88. package/dist/cjs/runtime.native.cjs +52 -0
  89. package/dist/cjs/runtime.native.js +54 -0
  90. package/dist/cjs/runtime.native.js.map +1 -0
  91. package/dist/cjs/safeAreaVariables.cjs +42 -0
  92. package/dist/cjs/safeAreaVariables.native.cjs +44 -0
  93. package/dist/cjs/safeAreaVariables.native.js +46 -0
  94. package/dist/cjs/safeAreaVariables.native.js.map +1 -0
  95. package/dist/cjs/scanFlatValue.cjs +181 -0
  96. package/dist/cjs/scanFlatValue.native.cjs +183 -0
  97. package/dist/cjs/scanFlatValue.native.js +185 -0
  98. package/dist/cjs/scanFlatValue.native.js.map +1 -0
  99. package/dist/cjs/serializePayload.cjs +149 -0
  100. package/dist/cjs/serializePayload.native.cjs +187 -0
  101. package/dist/cjs/serializePayload.native.js +189 -0
  102. package/dist/cjs/serializePayload.native.js.map +1 -0
  103. package/dist/cjs/stateModifiers.cjs +43 -0
  104. package/dist/cjs/stateModifiers.native.cjs +45 -0
  105. package/dist/cjs/stateModifiers.native.js +47 -0
  106. package/dist/cjs/stateModifiers.native.js.map +1 -0
  107. package/dist/cjs/states.cjs +97 -0
  108. package/dist/cjs/states.native.cjs +131 -0
  109. package/dist/cjs/states.native.js +133 -0
  110. package/dist/cjs/states.native.js.map +1 -0
  111. package/dist/cjs/table.cjs +54 -0
  112. package/dist/cjs/table.native.cjs +135 -0
  113. package/dist/cjs/table.native.js +137 -0
  114. package/dist/cjs/table.native.js.map +1 -0
  115. package/dist/cjs/textDecorationFamily.cjs +129 -0
  116. package/dist/cjs/textDecorationFamily.native.cjs +199 -0
  117. package/dist/cjs/textDecorationFamily.native.js +201 -0
  118. package/dist/cjs/textDecorationFamily.native.js.map +1 -0
  119. package/dist/cjs/tooling.cjs +26 -0
  120. package/dist/cjs/tooling.native.cjs +28 -0
  121. package/dist/cjs/tooling.native.js +30 -0
  122. package/dist/cjs/tooling.native.js.map +1 -0
  123. package/dist/cjs/toolingAnnotations.cjs +105 -0
  124. package/dist/cjs/toolingAnnotations.native.cjs +133 -0
  125. package/dist/cjs/toolingAnnotations.native.js +135 -0
  126. package/dist/cjs/toolingAnnotations.native.js.map +1 -0
  127. package/dist/cjs/toolingDiagnostics.cjs +459 -0
  128. package/dist/cjs/toolingDiagnostics.native.cjs +788 -0
  129. package/dist/cjs/toolingDiagnostics.native.js +790 -0
  130. package/dist/cjs/toolingDiagnostics.native.js.map +1 -0
  131. package/dist/cjs/toolingRegistry.cjs +159 -0
  132. package/dist/cjs/toolingRegistry.native.cjs +164 -0
  133. package/dist/cjs/toolingRegistry.native.js +166 -0
  134. package/dist/cjs/toolingRegistry.native.js.map +1 -0
  135. package/dist/cjs/transformFamily.cjs +425 -0
  136. package/dist/cjs/transformFamily.native.cjs +517 -0
  137. package/dist/cjs/transformFamily.native.js +519 -0
  138. package/dist/cjs/transformFamily.native.js.map +1 -0
  139. package/dist/cjs/transition.cjs +459 -0
  140. package/dist/cjs/transition.native.cjs +499 -0
  141. package/dist/cjs/transition.native.js +501 -0
  142. package/dist/cjs/transition.native.js.map +1 -0
  143. package/dist/cjs/transitionAlign.cjs +115 -0
  144. package/dist/cjs/transitionAlign.native.cjs +154 -0
  145. package/dist/cjs/transitionAlign.native.js +156 -0
  146. package/dist/cjs/transitionAlign.native.js.map +1 -0
  147. package/dist/cjs/transitionLegacy.cjs +217 -0
  148. package/dist/cjs/transitionLegacy.native.cjs +260 -0
  149. package/dist/cjs/transitionLegacy.native.js +262 -0
  150. package/dist/cjs/transitionLegacy.native.js.map +1 -0
  151. package/dist/cjs/transitionNative.cjs +281 -0
  152. package/dist/cjs/transitionNative.native.cjs +285 -0
  153. package/dist/cjs/transitionNative.native.js +287 -0
  154. package/dist/cjs/transitionNative.native.js.map +1 -0
  155. package/dist/cjs/unitlessNumbers.cjs +86 -0
  156. package/dist/cjs/unitlessNumbers.native.cjs +106 -0
  157. package/dist/cjs/unitlessNumbers.native.js +108 -0
  158. package/dist/cjs/unitlessNumbers.native.js.map +1 -0
  159. package/dist/cjs/v6ThemeNames.cjs +47 -0
  160. package/dist/cjs/v6ThemeNames.native.cjs +53 -0
  161. package/dist/cjs/v6ThemeNames.native.js +55 -0
  162. package/dist/cjs/v6ThemeNames.native.js.map +1 -0
  163. package/dist/cjs/valueParser.cjs +148 -0
  164. package/dist/cjs/valueParser.native.cjs +150 -0
  165. package/dist/cjs/valueParser.native.js +152 -0
  166. package/dist/cjs/valueParser.native.js.map +1 -0
  167. package/dist/cjs/valueTypes.cjs +38 -0
  168. package/dist/cjs/valueTypes.native.cjs +40 -0
  169. package/dist/cjs/valueTypes.native.js +42 -0
  170. package/dist/cjs/valueTypes.native.js.map +1 -0
  171. package/dist/esm/backgroundFamily.mjs +150 -0
  172. package/dist/esm/backgroundFamily.mjs.map +1 -0
  173. package/dist/esm/backgroundFamily.native.js +167 -0
  174. package/dist/esm/backgroundFamily.native.js.map +1 -0
  175. package/dist/esm/borderFamily.mjs +146 -0
  176. package/dist/esm/borderFamily.mjs.map +1 -0
  177. package/dist/esm/borderFamily.native.js +222 -0
  178. package/dist/esm/borderFamily.native.js.map +1 -0
  179. package/dist/esm/candidate.mjs +581 -0
  180. package/dist/esm/candidate.mjs.map +1 -0
  181. package/dist/esm/candidate.native.js +792 -0
  182. package/dist/esm/candidate.native.js.map +1 -0
  183. package/dist/esm/candidateTarget.mjs +29 -0
  184. package/dist/esm/candidateTarget.mjs.map +1 -0
  185. package/dist/esm/candidateTarget.native.js +65 -0
  186. package/dist/esm/candidateTarget.native.js.map +1 -0
  187. package/dist/esm/clauseCapability.mjs +107 -0
  188. package/dist/esm/clauseCapability.mjs.map +1 -0
  189. package/dist/esm/clauseCapability.native.js +127 -0
  190. package/dist/esm/clauseCapability.native.js.map +1 -0
  191. package/dist/esm/clausePrecedence.mjs +121 -0
  192. package/dist/esm/clausePrecedence.mjs.map +1 -0
  193. package/dist/esm/clausePrecedence.native.js +170 -0
  194. package/dist/esm/clausePrecedence.native.js.map +1 -0
  195. package/dist/esm/clauseSources.mjs +23 -0
  196. package/dist/esm/clauseSources.mjs.map +1 -0
  197. package/dist/esm/clauseSources.native.js +23 -0
  198. package/dist/esm/clauseSources.native.js.map +1 -0
  199. package/dist/esm/config.mjs +103 -0
  200. package/dist/esm/config.mjs.map +1 -0
  201. package/dist/esm/config.native.js +156 -0
  202. package/dist/esm/config.native.js.map +1 -0
  203. package/dist/esm/evaluateProgram.mjs +45 -0
  204. package/dist/esm/evaluateProgram.mjs.map +1 -0
  205. package/dist/esm/evaluateProgram.native.js +48 -0
  206. package/dist/esm/evaluateProgram.native.js.map +1 -0
  207. package/dist/esm/fontShorthand.mjs +184 -0
  208. package/dist/esm/fontShorthand.mjs.map +1 -0
  209. package/dist/esm/fontShorthand.native.js +235 -0
  210. package/dist/esm/fontShorthand.native.js.map +1 -0
  211. package/dist/esm/geometricShorthand.mjs +102 -0
  212. package/dist/esm/geometricShorthand.mjs.map +1 -0
  213. package/dist/esm/geometricShorthand.native.js +106 -0
  214. package/dist/esm/geometricShorthand.native.js.map +1 -0
  215. package/dist/esm/index.mjs +1 -0
  216. package/dist/esm/index.native.js +1 -0
  217. package/dist/esm/lowerProgram.mjs +182 -0
  218. package/dist/esm/lowerProgram.mjs.map +1 -0
  219. package/dist/esm/lowerProgram.native.js +232 -0
  220. package/dist/esm/lowerProgram.native.js.map +1 -0
  221. package/dist/esm/mergeFlatValues.mjs +27 -0
  222. package/dist/esm/mergeFlatValues.mjs.map +1 -0
  223. package/dist/esm/mergeFlatValues.native.js +46 -0
  224. package/dist/esm/mergeFlatValues.native.js.map +1 -0
  225. package/dist/esm/modifierRegistry.mjs +219 -0
  226. package/dist/esm/modifierRegistry.mjs.map +1 -0
  227. package/dist/esm/modifierRegistry.native.js +397 -0
  228. package/dist/esm/modifierRegistry.native.js.map +1 -0
  229. package/dist/esm/payloadShape.mjs +49 -0
  230. package/dist/esm/payloadShape.mjs.map +1 -0
  231. package/dist/esm/payloadShape.native.js +49 -0
  232. package/dist/esm/payloadShape.native.js.map +1 -0
  233. package/dist/esm/programEligibility.mjs +22 -0
  234. package/dist/esm/programEligibility.mjs.map +1 -0
  235. package/dist/esm/programEligibility.native.js +22 -0
  236. package/dist/esm/programEligibility.native.js.map +1 -0
  237. package/dist/esm/programHash.mjs +62 -0
  238. package/dist/esm/programHash.mjs.map +1 -0
  239. package/dist/esm/programHash.native.js +80 -0
  240. package/dist/esm/programHash.native.js.map +1 -0
  241. package/dist/esm/programs.mjs +103 -0
  242. package/dist/esm/programs.mjs.map +1 -0
  243. package/dist/esm/programs.native.js +193 -0
  244. package/dist/esm/programs.native.js.map +1 -0
  245. package/dist/esm/registry.mjs +595 -0
  246. package/dist/esm/registry.mjs.map +1 -0
  247. package/dist/esm/registry.native.js +599 -0
  248. package/dist/esm/registry.native.js.map +1 -0
  249. package/dist/esm/resolvePayload.mjs +273 -0
  250. package/dist/esm/resolvePayload.mjs.map +1 -0
  251. package/dist/esm/resolvePayload.native.js +277 -0
  252. package/dist/esm/resolvePayload.native.js.map +1 -0
  253. package/dist/esm/runtime.mjs +63 -0
  254. package/dist/esm/runtime.native.js +63 -0
  255. package/dist/esm/safeAreaVariables.mjs +18 -0
  256. package/dist/esm/safeAreaVariables.mjs.map +1 -0
  257. package/dist/esm/safeAreaVariables.native.js +18 -0
  258. package/dist/esm/safeAreaVariables.native.js.map +1 -0
  259. package/dist/esm/scanFlatValue.mjs +160 -0
  260. package/dist/esm/scanFlatValue.mjs.map +1 -0
  261. package/dist/esm/scanFlatValue.native.js +160 -0
  262. package/dist/esm/scanFlatValue.native.js.map +1 -0
  263. package/dist/esm/serializePayload.mjs +125 -0
  264. package/dist/esm/serializePayload.mjs.map +1 -0
  265. package/dist/esm/serializePayload.native.js +161 -0
  266. package/dist/esm/serializePayload.native.js.map +1 -0
  267. package/dist/esm/stateModifiers.mjs +19 -0
  268. package/dist/esm/stateModifiers.mjs.map +1 -0
  269. package/dist/esm/stateModifiers.native.js +19 -0
  270. package/dist/esm/stateModifiers.native.js.map +1 -0
  271. package/dist/esm/states.mjs +69 -0
  272. package/dist/esm/states.mjs.map +1 -0
  273. package/dist/esm/states.native.js +101 -0
  274. package/dist/esm/states.native.js.map +1 -0
  275. package/dist/esm/table.mjs +31 -0
  276. package/dist/esm/table.mjs.map +1 -0
  277. package/dist/esm/table.native.js +110 -0
  278. package/dist/esm/table.native.js.map +1 -0
  279. package/dist/esm/textDecorationFamily.mjs +106 -0
  280. package/dist/esm/textDecorationFamily.mjs.map +1 -0
  281. package/dist/esm/textDecorationFamily.native.js +174 -0
  282. package/dist/esm/textDecorationFamily.native.js.map +1 -0
  283. package/dist/esm/tooling.mjs +15 -0
  284. package/dist/esm/tooling.native.js +15 -0
  285. package/dist/esm/toolingAnnotations.mjs +85 -0
  286. package/dist/esm/toolingAnnotations.mjs.map +1 -0
  287. package/dist/esm/toolingAnnotations.native.js +111 -0
  288. package/dist/esm/toolingAnnotations.native.js.map +1 -0
  289. package/dist/esm/toolingDiagnostics.mjs +428 -0
  290. package/dist/esm/toolingDiagnostics.mjs.map +1 -0
  291. package/dist/esm/toolingDiagnostics.native.js +755 -0
  292. package/dist/esm/toolingDiagnostics.native.js.map +1 -0
  293. package/dist/esm/toolingRegistry.mjs +135 -0
  294. package/dist/esm/toolingRegistry.mjs.map +1 -0
  295. package/dist/esm/toolingRegistry.native.js +138 -0
  296. package/dist/esm/toolingRegistry.native.js.map +1 -0
  297. package/dist/esm/transformFamily.mjs +392 -0
  298. package/dist/esm/transformFamily.mjs.map +1 -0
  299. package/dist/esm/transformFamily.native.js +482 -0
  300. package/dist/esm/transformFamily.native.js.map +1 -0
  301. package/dist/esm/transition.mjs +434 -0
  302. package/dist/esm/transition.mjs.map +1 -0
  303. package/dist/esm/transition.native.js +472 -0
  304. package/dist/esm/transition.native.js.map +1 -0
  305. package/dist/esm/transitionAlign.mjs +95 -0
  306. package/dist/esm/transitionAlign.mjs.map +1 -0
  307. package/dist/esm/transitionAlign.native.js +132 -0
  308. package/dist/esm/transitionAlign.native.js.map +1 -0
  309. package/dist/esm/transitionLegacy.mjs +197 -0
  310. package/dist/esm/transitionLegacy.mjs.map +1 -0
  311. package/dist/esm/transitionLegacy.native.js +238 -0
  312. package/dist/esm/transitionLegacy.native.js.map +1 -0
  313. package/dist/esm/transitionNative.mjs +257 -0
  314. package/dist/esm/transitionNative.mjs.map +1 -0
  315. package/dist/esm/transitionNative.native.js +259 -0
  316. package/dist/esm/transitionNative.native.js.map +1 -0
  317. package/dist/esm/unitlessNumbers.mjs +65 -0
  318. package/dist/esm/unitlessNumbers.mjs.map +1 -0
  319. package/dist/esm/unitlessNumbers.native.js +83 -0
  320. package/dist/esm/unitlessNumbers.native.js.map +1 -0
  321. package/dist/esm/v6ThemeNames.mjs +23 -0
  322. package/dist/esm/v6ThemeNames.mjs.map +1 -0
  323. package/dist/esm/v6ThemeNames.native.js +27 -0
  324. package/dist/esm/v6ThemeNames.native.js.map +1 -0
  325. package/dist/esm/valueParser.mjs +125 -0
  326. package/dist/esm/valueParser.mjs.map +1 -0
  327. package/dist/esm/valueParser.native.js +125 -0
  328. package/dist/esm/valueParser.native.js.map +1 -0
  329. package/dist/esm/valueTypes.mjs +14 -0
  330. package/dist/esm/valueTypes.mjs.map +1 -0
  331. package/dist/esm/valueTypes.native.js +14 -0
  332. package/dist/esm/valueTypes.native.js.map +1 -0
  333. package/package.json +98 -4
  334. package/src/backgroundFamily.ts +182 -0
  335. package/src/borderFamily.ts +172 -0
  336. package/src/candidate.ts +691 -0
  337. package/src/candidateTarget.ts +67 -0
  338. package/src/clauseCapability.ts +209 -0
  339. package/src/clausePrecedence.ts +198 -0
  340. package/src/clauseSources.ts +29 -0
  341. package/src/config.ts +169 -0
  342. package/src/evaluateProgram.ts +91 -0
  343. package/src/fontShorthand.ts +177 -0
  344. package/src/geometricShorthand.ts +105 -0
  345. package/src/index.ts +1 -0
  346. package/src/lowerProgram.ts +398 -0
  347. package/src/modifierRegistry.ts +340 -0
  348. package/src/payloadShape.ts +92 -0
  349. package/src/programEligibility.ts +46 -0
  350. package/src/programHash.ts +128 -0
  351. package/src/programs.ts +95 -0
  352. package/src/registry.ts +367 -0
  353. package/src/resolvePayload.ts +480 -0
  354. package/src/runtime.ts +32 -0
  355. package/src/safeAreaVariables.ts +19 -0
  356. package/src/scanFlatValue.ts +327 -0
  357. package/src/serializePayload.ts +199 -0
  358. package/src/stateModifiers.ts +36 -0
  359. package/src/states.ts +128 -0
  360. package/src/table.ts +47 -0
  361. package/src/textDecorationFamily.ts +119 -0
  362. package/src/tooling.ts +8 -0
  363. package/src/toolingAnnotations.ts +151 -0
  364. package/src/toolingDiagnostics.ts +735 -0
  365. package/src/toolingRegistry.ts +130 -0
  366. package/src/transformFamily.ts +590 -0
  367. package/src/transition.ts +553 -0
  368. package/src/transitionAlign.ts +165 -0
  369. package/src/transitionLegacy.ts +237 -0
  370. package/src/transitionNative.ts +357 -0
  371. package/src/unitlessNumbers.ts +61 -0
  372. package/src/v6ThemeNames.ts +40 -0
  373. package/src/valueParser.ts +193 -0
  374. package/src/valueTypes.ts +136 -0
  375. package/types/backgroundFamily.d.ts +17 -0
  376. package/types/backgroundFamily.d.ts.map +11 -0
  377. package/types/borderFamily.d.ts +23 -0
  378. package/types/borderFamily.d.ts.map +11 -0
  379. package/types/candidate.d.ts +52 -0
  380. package/types/candidate.d.ts.map +11 -0
  381. package/types/candidateTarget.d.ts +32 -0
  382. package/types/candidateTarget.d.ts.map +11 -0
  383. package/types/clauseCapability.d.ts +69 -0
  384. package/types/clauseCapability.d.ts.map +11 -0
  385. package/types/clausePrecedence.d.ts +30 -0
  386. package/types/clausePrecedence.d.ts.map +11 -0
  387. package/types/clauseSources.d.ts +12 -0
  388. package/types/clauseSources.d.ts.map +11 -0
  389. package/types/config.d.ts +44 -0
  390. package/types/config.d.ts.map +11 -0
  391. package/types/evaluateProgram.d.ts +27 -0
  392. package/types/evaluateProgram.d.ts.map +11 -0
  393. package/types/fontShorthand.d.ts +25 -0
  394. package/types/fontShorthand.d.ts.map +11 -0
  395. package/types/geometricShorthand.d.ts +21 -0
  396. package/types/geometricShorthand.d.ts.map +11 -0
  397. package/types/index.d.ts +3 -0
  398. package/types/index.d.ts.map +11 -0
  399. package/types/lowerProgram.d.ts +73 -0
  400. package/types/lowerProgram.d.ts.map +11 -0
  401. package/types/mergeFlatValues.d.ts +14 -0
  402. package/types/mergeFlatValues.d.ts.map +11 -0
  403. package/types/modifierRegistry.d.ts +70 -0
  404. package/types/modifierRegistry.d.ts.map +11 -0
  405. package/types/payloadShape.d.ts +15 -0
  406. package/types/payloadShape.d.ts.map +11 -0
  407. package/types/programEligibility.d.ts +23 -0
  408. package/types/programEligibility.d.ts.map +11 -0
  409. package/types/programHash.d.ts +20 -0
  410. package/types/programHash.d.ts.map +11 -0
  411. package/types/programs.d.ts +18 -0
  412. package/types/programs.d.ts.map +11 -0
  413. package/types/registry.d.ts +24 -0
  414. package/types/registry.d.ts.map +11 -0
  415. package/types/resolvePayload.d.ts +75 -0
  416. package/types/resolvePayload.d.ts.map +11 -0
  417. package/types/runtime.d.ts +34 -0
  418. package/types/runtime.d.ts.map +11 -0
  419. package/types/safeAreaVariables.d.ts +5 -0
  420. package/types/safeAreaVariables.d.ts.map +11 -0
  421. package/types/scanFlatValue.d.ts +29 -0
  422. package/types/scanFlatValue.d.ts.map +11 -0
  423. package/types/serializePayload.d.ts +13 -0
  424. package/types/serializePayload.d.ts.map +11 -0
  425. package/types/stateModifiers.d.ts +14 -0
  426. package/types/stateModifiers.d.ts.map +11 -0
  427. package/types/states.d.ts +22 -0
  428. package/types/states.d.ts.map +11 -0
  429. package/types/table.d.ts +4 -0
  430. package/types/table.d.ts.map +11 -0
  431. package/types/textDecorationFamily.d.ts +23 -0
  432. package/types/textDecorationFamily.d.ts.map +11 -0
  433. package/types/tooling.d.ts +10 -0
  434. package/types/tooling.d.ts.map +11 -0
  435. package/types/toolingAnnotations.d.ts +29 -0
  436. package/types/toolingAnnotations.d.ts.map +11 -0
  437. package/types/toolingDiagnostics.d.ts +114 -0
  438. package/types/toolingDiagnostics.d.ts.map +11 -0
  439. package/types/toolingRegistry.d.ts +10 -0
  440. package/types/toolingRegistry.d.ts.map +11 -0
  441. package/types/transformFamily.d.ts +83 -0
  442. package/types/transformFamily.d.ts.map +11 -0
  443. package/types/transition.d.ts +65 -0
  444. package/types/transition.d.ts.map +11 -0
  445. package/types/transitionAlign.d.ts +15 -0
  446. package/types/transitionAlign.d.ts.map +11 -0
  447. package/types/transitionLegacy.d.ts +9 -0
  448. package/types/transitionLegacy.d.ts.map +11 -0
  449. package/types/transitionNative.d.ts +41 -0
  450. package/types/transitionNative.d.ts.map +11 -0
  451. package/types/unitlessNumbers.d.ts +3 -0
  452. package/types/unitlessNumbers.d.ts.map +11 -0
  453. package/types/v6ThemeNames.d.ts +7 -0
  454. package/types/v6ThemeNames.d.ts.map +11 -0
  455. package/types/valueParser.d.ts +36 -0
  456. package/types/valueParser.d.ts.map +11 -0
  457. package/types/valueTypes.d.ts +66 -0
  458. package/types/valueTypes.d.ts.map +11 -0
@@ -0,0 +1,392 @@
1
+ const translateComposition = Object.freeze({
2
+ property: "translate",
3
+ defaults: Object.freeze({
4
+ "--t-x": "0px",
5
+ "--t-y": "0px"
6
+ }),
7
+ value: "var(--t-x, 0px) var(--t-y, 0px)"
8
+ });
9
+ const scaleComposition = Object.freeze({
10
+ property: "scale",
11
+ defaults: Object.freeze({
12
+ "--t-scale-x": "1",
13
+ "--t-scale-y": "1"
14
+ }),
15
+ value: "var(--t-scale-x, 1) var(--t-scale-y, 1)"
16
+ });
17
+ const transformFamilyTargets = Object.freeze({
18
+ x: {
19
+ prop: "x",
20
+ kind: "axis-variable",
21
+ declaration: "--t-x",
22
+ effectiveProperty: "translate",
23
+ composition: translateComposition
24
+ },
25
+ y: {
26
+ prop: "y",
27
+ kind: "axis-variable",
28
+ declaration: "--t-y",
29
+ effectiveProperty: "translate",
30
+ composition: translateComposition
31
+ },
32
+ scaleX: {
33
+ prop: "scaleX",
34
+ kind: "axis-variable",
35
+ declaration: "--t-scale-x",
36
+ effectiveProperty: "scale",
37
+ composition: scaleComposition
38
+ },
39
+ scaleY: {
40
+ prop: "scaleY",
41
+ kind: "axis-variable",
42
+ declaration: "--t-scale-y",
43
+ effectiveProperty: "scale",
44
+ composition: scaleComposition
45
+ },
46
+ rotate: {
47
+ prop: "rotate",
48
+ kind: "property",
49
+ declaration: "rotate",
50
+ effectiveProperty: "rotate"
51
+ }
52
+ });
53
+ const transformPropTargets = Object.freeze({
54
+ x: [transformFamilyTargets.x],
55
+ y: [transformFamilyTargets.y],
56
+ rotate: [transformFamilyTargets.rotate],
57
+ scaleX: [transformFamilyTargets.scaleX],
58
+ scaleY: [transformFamilyTargets.scaleY],
59
+ scale: [transformFamilyTargets.scaleX, transformFamilyTargets.scaleY]
60
+ });
61
+ const transformFamilyProps = new Set(Object.keys(transformPropTargets));
62
+ const noTargets = Object.freeze([]);
63
+ function getTransformTargets(prop) {
64
+ return transformPropTargets[prop] ?? noTargets;
65
+ }
66
+ function transformDeclarationsFor(prop) {
67
+ return transformDeclarations[prop] ?? noDeclarations;
68
+ }
69
+ const noDeclarations = Object.freeze([]);
70
+ const transformDeclarations = Object.freeze({
71
+ x: ["--t-x"],
72
+ y: ["--t-y"],
73
+ rotate: ["rotate"],
74
+ scaleX: ["--t-scale-x"],
75
+ scaleY: ["--t-scale-y"],
76
+ scale: ["--t-scale-x", "--t-scale-y"]
77
+ });
78
+ const transformPropForDeclaration = Object.freeze({
79
+ "--t-x": "x",
80
+ "--t-y": "y",
81
+ "--t-scale-x": "scaleX",
82
+ "--t-scale-y": "scaleY",
83
+ rotate: "rotate"
84
+ });
85
+ const transformDeclarationUnit = Object.freeze({
86
+ "--t-x": "px",
87
+ "--t-y": "px",
88
+ "--t-scale-x": "none",
89
+ "--t-scale-y": "none",
90
+ rotate: "deg"
91
+ });
92
+ const legacyTransformKeysFor = Object.freeze({
93
+ "--t-x": ["x"],
94
+ "--t-y": ["y"],
95
+ "--t-scale-x": ["scaleX", "scale"],
96
+ "--t-scale-y": ["scaleY", "scale"],
97
+ rotate: ["rotate"]
98
+ });
99
+ const uniformLegacySiblings = Object.freeze({
100
+ "--t-scale-x": "scaleY",
101
+ "--t-scale-y": "scaleX"
102
+ });
103
+ const transformAxisCompositions = Object.freeze({
104
+ "--t-x": translateComposition,
105
+ "--t-y": translateComposition,
106
+ "--t-scale-x": scaleComposition,
107
+ "--t-scale-y": scaleComposition
108
+ });
109
+ function composeTransformArray(results, rawTransform) {
110
+ const transform = [];
111
+ const errors = [];
112
+ for (const [prop, key] of [["x", "translateX"], ["y", "translateY"]]) {
113
+ const value = results[prop];
114
+ if (value == null) continue;
115
+ const length = readLength(value, prop, errors);
116
+ if (length !== null) transform.push({ [key]: length });
117
+ }
118
+ if (results.rotate != null) {
119
+ const angle = readAngle(results.rotate, "rotate", errors);
120
+ if (angle !== null) transform.push({ rotate: angle });
121
+ }
122
+ const scaleX = results.scaleX == null ? null : readNumber(results.scaleX, "scaleX", errors);
123
+ const scaleY = results.scaleY == null ? null : readNumber(results.scaleY, "scaleY", errors);
124
+ if (scaleX !== null && scaleX === scaleY) {
125
+ transform.push({ scale: scaleX });
126
+ } else {
127
+ if (scaleX !== null) transform.push({ scaleX });
128
+ if (scaleY !== null) transform.push({ scaleY });
129
+ }
130
+ if (rawTransform != null) {
131
+ if (typeof rawTransform === "string") {
132
+ const parsed = parseTransformString(rawTransform);
133
+ for (const error of parsed.errors) errors.push(error);
134
+ for (const entry of parsed.transform) transform.push(entry);
135
+ } else {
136
+ for (const entry of rawTransform) transform.push(entry);
137
+ }
138
+ }
139
+ return {
140
+ transform,
141
+ errors
142
+ };
143
+ }
144
+ function parseTransformString(input) {
145
+ const transform = [];
146
+ const errors = [];
147
+ let index = 0;
148
+ const length = input.length;
149
+ while (index < length) {
150
+ const code = input.charCodeAt(index);
151
+ if (code === 32 || code === 9 || code === 10 || code === 13 || code === 12 || code === 44) {
152
+ index++;
153
+ continue;
154
+ }
155
+ const nameStart = index;
156
+ while (index < length && input.charCodeAt(index) !== 40) {
157
+ const inner = input.charCodeAt(index);
158
+ if (inner === 32 || inner === 44) break;
159
+ index++;
160
+ }
161
+ const name = input.slice(nameStart, index).trim();
162
+ if (input.charCodeAt(index) !== 40) {
163
+ errors.push({
164
+ code: "malformed-transform",
165
+ source: name || input.slice(nameStart),
166
+ message: `transform: expected "(" after "${name || input.slice(nameStart)}"`
167
+ });
168
+ return {
169
+ transform,
170
+ errors
171
+ };
172
+ }
173
+ index++;
174
+ const argsStart = index;
175
+ let depth = 1;
176
+ while (index < length && depth > 0) {
177
+ const inner = input.charCodeAt(index);
178
+ if (inner === 40) depth++;
179
+ else if (inner === 41) depth--;
180
+ if (depth > 0) index++;
181
+ }
182
+ if (depth !== 0) {
183
+ errors.push({
184
+ code: "malformed-transform",
185
+ source: name,
186
+ message: `transform: "${name}(" is never closed`
187
+ });
188
+ return {
189
+ transform,
190
+ errors
191
+ };
192
+ }
193
+ const args = input.slice(argsStart, index).split(",").map((arg) => arg.trim()).filter((arg) => arg.length > 0);
194
+ index++;
195
+ readFunction(name, args, transform, errors);
196
+ }
197
+ return {
198
+ transform,
199
+ errors
200
+ };
201
+ }
202
+ function readFunction(name, args, transform, errors) {
203
+ switch (name) {
204
+ case "translate": {
205
+ const x = readLength(args[0] ?? "0", "translate", errors);
206
+ if (x !== null) transform.push({ translateX: x });
207
+ if (args.length > 1) {
208
+ const y = readLength(args[1], "translate", errors);
209
+ if (y !== null) transform.push({ translateY: y });
210
+ }
211
+ return;
212
+ }
213
+ case "translateX":
214
+ case "translateY": {
215
+ const value = readLength(args[0] ?? "0", name, errors);
216
+ if (value !== null) transform.push({ [name]: value });
217
+ return;
218
+ }
219
+ case "translate3d": {
220
+ const z = args[2] ?? "0";
221
+ if (readLength(z, name, []) !== 0) {
222
+ errors.push({
223
+ code: "unsupported-transform-function",
224
+ source: name,
225
+ message: `transform: "${name}" with a non-zero Z is not supported on native; RN has no translateZ`
226
+ });
227
+ return;
228
+ }
229
+ const x = readLength(args[0] ?? "0", name, errors);
230
+ if (x !== null) transform.push({ translateX: x });
231
+ const y = readLength(args[1] ?? "0", name, errors);
232
+ if (y !== null) transform.push({ translateY: y });
233
+ return;
234
+ }
235
+ case "scale": {
236
+ const first = readNumber(args[0] ?? "1", name, errors);
237
+ if (first === null) return;
238
+ if (args.length < 2) {
239
+ transform.push({ scale: first });
240
+ return;
241
+ }
242
+ const second = readNumber(args[1], name, errors);
243
+ if (second === null) return;
244
+ if (first === second) {
245
+ transform.push({ scale: first });
246
+ return;
247
+ }
248
+ transform.push({ scaleX: first });
249
+ transform.push({ scaleY: second });
250
+ return;
251
+ }
252
+ case "scaleX":
253
+ case "scaleY": {
254
+ const value = readNumber(args[0] ?? "1", name, errors);
255
+ if (value !== null) transform.push({ [name]: value });
256
+ return;
257
+ }
258
+ case "rotate":
259
+ case "rotateX":
260
+ case "rotateY":
261
+ case "rotateZ":
262
+ case "skewX":
263
+ case "skewY": {
264
+ const value = readAngle(args[0] ?? "0", name, errors);
265
+ if (value !== null) transform.push({ [name]: value });
266
+ return;
267
+ }
268
+ case "perspective": {
269
+ const value = readLength(args[0] ?? "0", name, errors);
270
+ if (typeof value === "number") transform.push({ perspective: value });
271
+ else if (value !== null) {
272
+ errors.push({
273
+ code: "unsupported-transform-unit",
274
+ source: name,
275
+ message: `transform: "${name}" needs an absolute length, not "${args[0]}"`
276
+ });
277
+ }
278
+ return;
279
+ }
280
+ case "matrix": {
281
+ const numbers = [];
282
+ for (const arg of args) {
283
+ const value = readNumber(arg, name, errors);
284
+ if (value === null) return;
285
+ numbers.push(value);
286
+ }
287
+ if (numbers.length !== 9 && numbers.length !== 16) {
288
+ errors.push({
289
+ code: "unsupported-matrix-length",
290
+ source: name,
291
+ message: `transform: "matrix()" needs 9 or 16 numbers on native, got ${numbers.length}. The six-number CSS form has no faithful native lowering.`
292
+ });
293
+ return;
294
+ }
295
+ transform.push({ matrix: numbers });
296
+ return;
297
+ }
298
+ default: {
299
+ errors.push({
300
+ code: "unsupported-transform-function",
301
+ source: name,
302
+ message: `transform: "${name}" has no faithful native lowering`
303
+ });
304
+ }
305
+ }
306
+ }
307
+ function readLength(value, source, errors) {
308
+ if (typeof value === "number") return value;
309
+ const text = value.trim();
310
+ if (text.endsWith("%")) {
311
+ return Number.isNaN(Number.parseFloat(text)) ? fail() : text;
312
+ }
313
+ if (text.endsWith("px")) {
314
+ const number = Number(text.slice(0, -2));
315
+ return Number.isFinite(number) ? number : fail();
316
+ }
317
+ const bare = Number(text);
318
+ if (Number.isFinite(bare)) {
319
+ if (bare === 0) return 0;
320
+ errors.push({
321
+ code: "unitless-transform-value",
322
+ source,
323
+ message: `transform: "${text}" needs a unit (px or %) in "${source}"; a bare number is invalid CSS`
324
+ });
325
+ return null;
326
+ }
327
+ return fail();
328
+ function fail() {
329
+ errors.push({
330
+ code: "unsupported-transform-unit",
331
+ source,
332
+ message: `transform: "${text}" is not a length native can carry in "${source}"; use px or %`
333
+ });
334
+ return null;
335
+ }
336
+ }
337
+ function readAngle(value, source, errors) {
338
+ if (typeof value === "number") {
339
+ if (value === 0) return "0deg";
340
+ errors.push({
341
+ code: "unitless-transform-value",
342
+ source,
343
+ message: `transform: "${source}" needs deg or rad, got the bare number ${value}`
344
+ });
345
+ return null;
346
+ }
347
+ const text = value.trim();
348
+ if (text.endsWith("deg") || text.endsWith("rad")) {
349
+ return Number.isFinite(Number.parseFloat(text)) ? text : angleFail();
350
+ }
351
+ if (Number(text) === 0) return "0deg";
352
+ if (text.endsWith("turn") || text.endsWith("grad")) {
353
+ errors.push({
354
+ code: "unsupported-transform-unit",
355
+ source,
356
+ message: `transform: "${text}" \u2014 RN supports only deg and rad, not ${text.endsWith("turn") ? "turn" : "grad"}`
357
+ });
358
+ return null;
359
+ }
360
+ if (Number.isFinite(Number(text))) {
361
+ errors.push({
362
+ code: "unitless-transform-value",
363
+ source,
364
+ message: `transform: "${source}" needs deg or rad, got "${text}"`
365
+ });
366
+ return null;
367
+ }
368
+ return angleFail();
369
+ function angleFail() {
370
+ errors.push({
371
+ code: "unsupported-transform-unit",
372
+ source,
373
+ message: `transform: "${text}" is not an angle native can carry in "${source}"`
374
+ });
375
+ return null;
376
+ }
377
+ }
378
+ function readNumber(value, source, errors) {
379
+ if (typeof value === "number") return value;
380
+ const text = value.trim();
381
+ const number = Number(text);
382
+ if (Number.isFinite(number) && text !== "") return number;
383
+ errors.push({
384
+ code: "unsupported-transform-unit",
385
+ source,
386
+ message: `transform: "${text}" is not a plain number in "${source}"; scale is unitless on native`
387
+ });
388
+ return null;
389
+ }
390
+
391
+ export { composeTransformArray, getTransformTargets, legacyTransformKeysFor, parseTransformString, transformAxisCompositions, transformDeclarationUnit, transformDeclarationsFor, transformFamilyProps, transformFamilyTargets, transformPropForDeclaration, uniformLegacySiblings };
392
+ //# sourceMappingURL=transformFamily.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformFamily.js","names":[],"sources":["esm/transformFamily.js"],"sourcesContent":["const translateComposition = Object.freeze({\n property: \"translate\",\n defaults: Object.freeze({ \"--t-x\": \"0px\", \"--t-y\": \"0px\" }),\n value: \"var(--t-x, 0px) var(--t-y, 0px)\"\n});\nconst scaleComposition = Object.freeze({\n property: \"scale\",\n defaults: Object.freeze({ \"--t-scale-x\": \"1\", \"--t-scale-y\": \"1\" }),\n value: \"var(--t-scale-x, 1) var(--t-scale-y, 1)\"\n});\nconst transformFamilyTargets = Object.freeze({\n x: {\n prop: \"x\",\n kind: \"axis-variable\",\n declaration: \"--t-x\",\n effectiveProperty: \"translate\",\n composition: translateComposition\n },\n y: {\n prop: \"y\",\n kind: \"axis-variable\",\n declaration: \"--t-y\",\n effectiveProperty: \"translate\",\n composition: translateComposition\n },\n scaleX: {\n prop: \"scaleX\",\n kind: \"axis-variable\",\n declaration: \"--t-scale-x\",\n effectiveProperty: \"scale\",\n composition: scaleComposition\n },\n scaleY: {\n prop: \"scaleY\",\n kind: \"axis-variable\",\n declaration: \"--t-scale-y\",\n effectiveProperty: \"scale\",\n composition: scaleComposition\n },\n rotate: {\n prop: \"rotate\",\n kind: \"property\",\n declaration: \"rotate\",\n effectiveProperty: \"rotate\"\n }\n});\nconst transformPropTargets = Object.freeze({\n x: [transformFamilyTargets.x],\n y: [transformFamilyTargets.y],\n rotate: [transformFamilyTargets.rotate],\n scaleX: [transformFamilyTargets.scaleX],\n scaleY: [transformFamilyTargets.scaleY],\n scale: [transformFamilyTargets.scaleX, transformFamilyTargets.scaleY]\n});\nconst transformFamilyProps = new Set(\n Object.keys(transformPropTargets)\n);\nconst noTargets = Object.freeze([]);\nfunction getTransformTargets(prop) {\n return transformPropTargets[prop] ?? noTargets;\n}\nfunction transformDeclarationsFor(prop) {\n return transformDeclarations[prop] ?? noDeclarations;\n}\nconst noDeclarations = Object.freeze([]);\nconst transformDeclarations = Object.freeze({\n x: [\"--t-x\"],\n y: [\"--t-y\"],\n rotate: [\"rotate\"],\n scaleX: [\"--t-scale-x\"],\n scaleY: [\"--t-scale-y\"],\n scale: [\"--t-scale-x\", \"--t-scale-y\"]\n});\nconst transformPropForDeclaration = Object.freeze({\n \"--t-x\": \"x\",\n \"--t-y\": \"y\",\n \"--t-scale-x\": \"scaleX\",\n \"--t-scale-y\": \"scaleY\",\n rotate: \"rotate\"\n});\nconst transformDeclarationUnit = Object.freeze({\n \"--t-x\": \"px\",\n \"--t-y\": \"px\",\n \"--t-scale-x\": \"none\",\n \"--t-scale-y\": \"none\",\n rotate: \"deg\"\n});\nconst legacyTransformKeysFor = Object.freeze({\n \"--t-x\": [\"x\"],\n \"--t-y\": [\"y\"],\n \"--t-scale-x\": [\"scaleX\", \"scale\"],\n \"--t-scale-y\": [\"scaleY\", \"scale\"],\n rotate: [\"rotate\"]\n});\nconst uniformLegacySiblings = Object.freeze({\n \"--t-scale-x\": \"scaleY\",\n \"--t-scale-y\": \"scaleX\"\n});\nconst transformAxisCompositions = Object.freeze({\n \"--t-x\": translateComposition,\n \"--t-y\": translateComposition,\n \"--t-scale-x\": scaleComposition,\n \"--t-scale-y\": scaleComposition\n});\nfunction composeTransformArray(results, rawTransform) {\n const transform = [];\n const errors = [];\n for (const [prop, key] of [\n [\"x\", \"translateX\"],\n [\"y\", \"translateY\"]\n ]) {\n const value = results[prop];\n if (value == null) continue;\n const length = readLength(value, prop, errors);\n if (length !== null) transform.push({ [key]: length });\n }\n if (results.rotate != null) {\n const angle = readAngle(results.rotate, \"rotate\", errors);\n if (angle !== null) transform.push({ rotate: angle });\n }\n const scaleX = results.scaleX == null ? null : readNumber(results.scaleX, \"scaleX\", errors);\n const scaleY = results.scaleY == null ? null : readNumber(results.scaleY, \"scaleY\", errors);\n if (scaleX !== null && scaleX === scaleY) {\n transform.push({ scale: scaleX });\n } else {\n if (scaleX !== null) transform.push({ scaleX });\n if (scaleY !== null) transform.push({ scaleY });\n }\n if (rawTransform != null) {\n if (typeof rawTransform === \"string\") {\n const parsed = parseTransformString(rawTransform);\n for (const error of parsed.errors) errors.push(error);\n for (const entry of parsed.transform) transform.push(entry);\n } else {\n for (const entry of rawTransform) transform.push(entry);\n }\n }\n return { transform, errors };\n}\nfunction parseTransformString(input) {\n const transform = [];\n const errors = [];\n let index = 0;\n const length = input.length;\n while (index < length) {\n const code = input.charCodeAt(index);\n if (code === 32 || code === 9 || code === 10 || code === 13 || code === 12 || code === 44) {\n index++;\n continue;\n }\n const nameStart = index;\n while (index < length && input.charCodeAt(index) !== 40) {\n const inner = input.charCodeAt(index);\n if (inner === 32 || inner === 44) break;\n index++;\n }\n const name = input.slice(nameStart, index).trim();\n if (input.charCodeAt(index) !== 40) {\n errors.push({\n code: \"malformed-transform\",\n source: name || input.slice(nameStart),\n message: `transform: expected \"(\" after \"${name || input.slice(nameStart)}\"`\n });\n return { transform, errors };\n }\n index++;\n const argsStart = index;\n let depth = 1;\n while (index < length && depth > 0) {\n const inner = input.charCodeAt(index);\n if (inner === 40) depth++;\n else if (inner === 41) depth--;\n if (depth > 0) index++;\n }\n if (depth !== 0) {\n errors.push({\n code: \"malformed-transform\",\n source: name,\n message: `transform: \"${name}(\" is never closed`\n });\n return { transform, errors };\n }\n const args = input.slice(argsStart, index).split(\",\").map((arg) => arg.trim()).filter((arg) => arg.length > 0);\n index++;\n readFunction(name, args, transform, errors);\n }\n return { transform, errors };\n}\nfunction readFunction(name, args, transform, errors) {\n switch (name) {\n case \"translate\": {\n const x = readLength(args[0] ?? \"0\", \"translate\", errors);\n if (x !== null) transform.push({ translateX: x });\n if (args.length > 1) {\n const y = readLength(args[1], \"translate\", errors);\n if (y !== null) transform.push({ translateY: y });\n }\n return;\n }\n case \"translateX\":\n case \"translateY\": {\n const value = readLength(args[0] ?? \"0\", name, errors);\n if (value !== null) transform.push({ [name]: value });\n return;\n }\n case \"translate3d\": {\n const z = args[2] ?? \"0\";\n if (readLength(z, name, []) !== 0) {\n errors.push({\n code: \"unsupported-transform-function\",\n source: name,\n message: `transform: \"${name}\" with a non-zero Z is not supported on native; RN has no translateZ`\n });\n return;\n }\n const x = readLength(args[0] ?? \"0\", name, errors);\n if (x !== null) transform.push({ translateX: x });\n const y = readLength(args[1] ?? \"0\", name, errors);\n if (y !== null) transform.push({ translateY: y });\n return;\n }\n case \"scale\": {\n const first = readNumber(args[0] ?? \"1\", name, errors);\n if (first === null) return;\n if (args.length < 2) {\n transform.push({ scale: first });\n return;\n }\n const second = readNumber(args[1], name, errors);\n if (second === null) return;\n if (first === second) {\n transform.push({ scale: first });\n return;\n }\n transform.push({ scaleX: first });\n transform.push({ scaleY: second });\n return;\n }\n case \"scaleX\":\n case \"scaleY\": {\n const value = readNumber(args[0] ?? \"1\", name, errors);\n if (value !== null) transform.push({ [name]: value });\n return;\n }\n case \"rotate\":\n case \"rotateX\":\n case \"rotateY\":\n case \"rotateZ\":\n case \"skewX\":\n case \"skewY\": {\n const value = readAngle(args[0] ?? \"0\", name, errors);\n if (value !== null) transform.push({ [name]: value });\n return;\n }\n case \"perspective\": {\n const value = readLength(args[0] ?? \"0\", name, errors);\n if (typeof value === \"number\") transform.push({ perspective: value });\n else if (value !== null) {\n errors.push({\n code: \"unsupported-transform-unit\",\n source: name,\n message: `transform: \"${name}\" needs an absolute length, not \"${args[0]}\"`\n });\n }\n return;\n }\n case \"matrix\": {\n const numbers = [];\n for (const arg of args) {\n const value = readNumber(arg, name, errors);\n if (value === null) return;\n numbers.push(value);\n }\n if (numbers.length !== 9 && numbers.length !== 16) {\n errors.push({\n code: \"unsupported-matrix-length\",\n source: name,\n message: `transform: \"matrix()\" needs 9 or 16 numbers on native, got ${numbers.length}. The six-number CSS form has no faithful native lowering.`\n });\n return;\n }\n transform.push({ matrix: numbers });\n return;\n }\n default: {\n errors.push({\n code: \"unsupported-transform-function\",\n source: name,\n message: `transform: \"${name}\" has no faithful native lowering`\n });\n }\n }\n}\nfunction readLength(value, source, errors) {\n if (typeof value === \"number\") return value;\n const text = value.trim();\n if (text.endsWith(\"%\")) {\n return Number.isNaN(Number.parseFloat(text)) ? fail() : text;\n }\n if (text.endsWith(\"px\")) {\n const number = Number(text.slice(0, -2));\n return Number.isFinite(number) ? number : fail();\n }\n const bare = Number(text);\n if (Number.isFinite(bare)) {\n if (bare === 0) return 0;\n errors.push({\n code: \"unitless-transform-value\",\n source,\n message: `transform: \"${text}\" needs a unit (px or %) in \"${source}\"; a bare number is invalid CSS`\n });\n return null;\n }\n return fail();\n function fail() {\n errors.push({\n code: \"unsupported-transform-unit\",\n source,\n message: `transform: \"${text}\" is not a length native can carry in \"${source}\"; use px or %`\n });\n return null;\n }\n}\nfunction readAngle(value, source, errors) {\n if (typeof value === \"number\") {\n if (value === 0) return \"0deg\";\n errors.push({\n code: \"unitless-transform-value\",\n source,\n message: `transform: \"${source}\" needs deg or rad, got the bare number ${value}`\n });\n return null;\n }\n const text = value.trim();\n if (text.endsWith(\"deg\") || text.endsWith(\"rad\")) {\n return Number.isFinite(Number.parseFloat(text)) ? text : angleFail();\n }\n if (Number(text) === 0) return \"0deg\";\n if (text.endsWith(\"turn\") || text.endsWith(\"grad\")) {\n errors.push({\n code: \"unsupported-transform-unit\",\n source,\n message: `transform: \"${text}\" \\u2014 RN supports only deg and rad, not ${text.endsWith(\"turn\") ? \"turn\" : \"grad\"}`\n });\n return null;\n }\n if (Number.isFinite(Number(text))) {\n errors.push({\n code: \"unitless-transform-value\",\n source,\n message: `transform: \"${source}\" needs deg or rad, got \"${text}\"`\n });\n return null;\n }\n return angleFail();\n function angleFail() {\n errors.push({\n code: \"unsupported-transform-unit\",\n source,\n message: `transform: \"${text}\" is not an angle native can carry in \"${source}\"`\n });\n return null;\n }\n}\nfunction readNumber(value, source, errors) {\n if (typeof value === \"number\") return value;\n const text = value.trim();\n const number = Number(text);\n if (Number.isFinite(number) && text !== \"\") return number;\n errors.push({\n code: \"unsupported-transform-unit\",\n source,\n message: `transform: \"${text}\" is not a plain number in \"${source}\"; scale is unitless on native`\n });\n return null;\n}\nexport {\n composeTransformArray,\n getTransformTargets,\n legacyTransformKeysFor,\n parseTransformString,\n transformAxisCompositions,\n transformDeclarationUnit,\n transformDeclarationsFor,\n transformFamilyProps,\n transformFamilyTargets,\n transformPropForDeclaration,\n uniformLegacySiblings\n};\n//# sourceMappingURL=transformFamily.js.map\n"],"mappings":"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"}