@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,184 @@
1
+ import { splitTopLevelComponents } from "./backgroundFamily.mjs";
2
+
3
+ const fontShorthandTargets = { font: {
4
+ style: ["fontStyle"],
5
+ weight: ["fontWeight"],
6
+ size: ["fontSize"],
7
+ lineHeight: ["lineHeight"],
8
+ family: ["fontFamily"]
9
+ } };
10
+ const styleKeywords = /* @__PURE__ */ new Set(["italic", "oblique"]);
11
+ const weightKeywords = /* @__PURE__ */ new Set([
12
+ "bold",
13
+ "bolder",
14
+ "lighter"
15
+ ]);
16
+ const unsupportedKeywords = /* @__PURE__ */ new Set([
17
+ "normal",
18
+ "small-caps",
19
+ "ultra-condensed",
20
+ "extra-condensed",
21
+ "condensed",
22
+ "semi-condensed",
23
+ "semi-expanded",
24
+ "expanded",
25
+ "extra-expanded",
26
+ "ultra-expanded",
27
+ "caption",
28
+ "icon",
29
+ "menu",
30
+ "message-box",
31
+ "small-caption",
32
+ "status-bar"
33
+ ]);
34
+ const sizePattern = /^-?(\d+\.?\d*|\.\d+)(?:[a-z%]+)?$/i;
35
+ const weightNumberPattern = /^[1-9]00$/;
36
+ function splitFontValue(value) {
37
+ const targets = fontShorthandTargets.font;
38
+ const errors = [];
39
+ const kinds = [
40
+ "style",
41
+ "weight",
42
+ "size",
43
+ "lineHeight",
44
+ "family"
45
+ ];
46
+ const programs = {
47
+ style: {
48
+ base: null,
49
+ clauses: [],
50
+ present: false
51
+ },
52
+ weight: {
53
+ base: null,
54
+ clauses: [],
55
+ present: false
56
+ },
57
+ size: {
58
+ base: null,
59
+ clauses: [],
60
+ present: false
61
+ },
62
+ lineHeight: {
63
+ base: null,
64
+ clauses: [],
65
+ present: false
66
+ },
67
+ family: {
68
+ base: null,
69
+ clauses: [],
70
+ present: false
71
+ }
72
+ };
73
+ for (let clauseIndex = -1; clauseIndex < value.clauses.length; clauseIndex++) {
74
+ const isBase = clauseIndex === -1;
75
+ const payload = isBase ? value.base : value.clauses[clauseIndex].payload;
76
+ if (payload === null) continue;
77
+ const where = isBase ? "base" : clauseIndex;
78
+ const components = splitTopLevelComponents(payload);
79
+ const found = {};
80
+ let sizeIndex = -1;
81
+ for (let index = 0; index < components.length; index++) {
82
+ const component = components[index];
83
+ const lower = component.toLowerCase();
84
+ if (unsupportedKeywords.has(lower)) {
85
+ errors.push({
86
+ code: "unsupported-font-component",
87
+ component,
88
+ where
89
+ });
90
+ continue;
91
+ }
92
+ if (styleKeywords.has(lower)) {
93
+ if (found.style !== void 0) {
94
+ errors.push({
95
+ code: "unsupported-font-component",
96
+ component,
97
+ where
98
+ });
99
+ continue;
100
+ }
101
+ found.style = component;
102
+ continue;
103
+ }
104
+ if (weightKeywords.has(lower) || weightNumberPattern.test(component)) {
105
+ if (found.weight !== void 0) {
106
+ errors.push({
107
+ code: "unsupported-font-component",
108
+ component,
109
+ where
110
+ });
111
+ continue;
112
+ }
113
+ found.weight = component;
114
+ continue;
115
+ }
116
+ const slash = component.indexOf("/");
117
+ const sizePart = slash === -1 ? component : component.slice(0, slash);
118
+ if (sizePattern.test(sizePart)) {
119
+ if (found.size !== void 0) {
120
+ errors.push({
121
+ code: "unsupported-font-component",
122
+ component,
123
+ where
124
+ });
125
+ continue;
126
+ }
127
+ found.size = sizePart;
128
+ if (slash !== -1) found.lineHeight = component.slice(slash + 1);
129
+ sizeIndex = index;
130
+ const family = components.slice(index + 1).join(" ");
131
+ if (family) found.family = family;
132
+ break;
133
+ }
134
+ errors.push({
135
+ code: "unsupported-font-component",
136
+ component,
137
+ where
138
+ });
139
+ }
140
+ if (sizeIndex === -1) {
141
+ errors.push({
142
+ code: "unsupported-font-component",
143
+ component: payload,
144
+ where
145
+ });
146
+ }
147
+ for (const kind of kinds) {
148
+ const component = found[kind];
149
+ if (component === void 0) continue;
150
+ const program = programs[kind];
151
+ program.present = true;
152
+ if (isBase) {
153
+ program.base = component;
154
+ } else {
155
+ program.clauses.push({
156
+ modifiers: value.clauses[clauseIndex].modifiers,
157
+ payload: component
158
+ });
159
+ }
160
+ }
161
+ }
162
+ const entries = [];
163
+ for (const kind of kinds) {
164
+ const program = programs[kind];
165
+ if (!program.present) continue;
166
+ const shared = {
167
+ base: program.base,
168
+ clauses: program.clauses
169
+ };
170
+ for (const longhand of targets[kind]) {
171
+ entries.push({
172
+ property: longhand,
173
+ value: shared
174
+ });
175
+ }
176
+ }
177
+ return {
178
+ entries,
179
+ errors
180
+ };
181
+ }
182
+
183
+ export { fontShorthandTargets, splitFontValue };
184
+ //# sourceMappingURL=fontShorthand.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fontShorthand.js","names":[],"sources":["esm/fontShorthand.js"],"sourcesContent":["import { splitTopLevelComponents } from \"./backgroundFamily\";\nconst fontShorthandTargets = {\n font: {\n style: [\"fontStyle\"],\n weight: [\"fontWeight\"],\n size: [\"fontSize\"],\n lineHeight: [\"lineHeight\"],\n family: [\"fontFamily\"]\n }\n};\nconst styleKeywords = /* @__PURE__ */ new Set([\"italic\", \"oblique\"]);\nconst weightKeywords = /* @__PURE__ */ new Set([\"bold\", \"bolder\", \"lighter\"]);\nconst unsupportedKeywords = /* @__PURE__ */ new Set([\n \"normal\",\n \"small-caps\",\n \"ultra-condensed\",\n \"extra-condensed\",\n \"condensed\",\n \"semi-condensed\",\n \"semi-expanded\",\n \"expanded\",\n \"extra-expanded\",\n \"ultra-expanded\",\n // system font keywords have no longhand equivalent at all\n \"caption\",\n \"icon\",\n \"menu\",\n \"message-box\",\n \"small-caption\",\n \"status-bar\"\n]);\nconst sizePattern = /^-?(\\d+\\.?\\d*|\\.\\d+)(?:[a-z%]+)?$/i;\nconst weightNumberPattern = /^[1-9]00$/;\nfunction splitFontValue(value) {\n const targets = fontShorthandTargets.font;\n const errors = [];\n const kinds = [\"style\", \"weight\", \"size\", \"lineHeight\", \"family\"];\n const programs = {\n style: { base: null, clauses: [], present: false },\n weight: { base: null, clauses: [], present: false },\n size: { base: null, clauses: [], present: false },\n lineHeight: { base: null, clauses: [], present: false },\n family: { base: null, clauses: [], present: false }\n };\n for (let clauseIndex = -1; clauseIndex < value.clauses.length; clauseIndex++) {\n const isBase = clauseIndex === -1;\n const payload = isBase ? value.base : value.clauses[clauseIndex].payload;\n if (payload === null) continue;\n const where = isBase ? \"base\" : clauseIndex;\n const components = splitTopLevelComponents(payload);\n const found = {};\n let sizeIndex = -1;\n for (let index = 0; index < components.length; index++) {\n const component = components[index];\n const lower = component.toLowerCase();\n if (unsupportedKeywords.has(lower)) {\n errors.push({ code: \"unsupported-font-component\", component, where });\n continue;\n }\n if (styleKeywords.has(lower)) {\n if (found.style !== void 0) {\n errors.push({ code: \"unsupported-font-component\", component, where });\n continue;\n }\n found.style = component;\n continue;\n }\n if (weightKeywords.has(lower) || weightNumberPattern.test(component)) {\n if (found.weight !== void 0) {\n errors.push({ code: \"unsupported-font-component\", component, where });\n continue;\n }\n found.weight = component;\n continue;\n }\n const slash = component.indexOf(\"/\");\n const sizePart = slash === -1 ? component : component.slice(0, slash);\n if (sizePattern.test(sizePart)) {\n if (found.size !== void 0) {\n errors.push({ code: \"unsupported-font-component\", component, where });\n continue;\n }\n found.size = sizePart;\n if (slash !== -1) found.lineHeight = component.slice(slash + 1);\n sizeIndex = index;\n const family = components.slice(index + 1).join(\" \");\n if (family) found.family = family;\n break;\n }\n errors.push({ code: \"unsupported-font-component\", component, where });\n }\n if (sizeIndex === -1) {\n errors.push({\n code: \"unsupported-font-component\",\n component: payload,\n where\n });\n }\n for (const kind of kinds) {\n const component = found[kind];\n if (component === void 0) continue;\n const program = programs[kind];\n program.present = true;\n if (isBase) {\n program.base = component;\n } else {\n program.clauses.push({\n modifiers: value.clauses[clauseIndex].modifiers,\n payload: component\n });\n }\n }\n }\n const entries = [];\n for (const kind of kinds) {\n const program = programs[kind];\n if (!program.present) continue;\n const shared = { base: program.base, clauses: program.clauses };\n for (const longhand of targets[kind]) {\n entries.push({ property: longhand, value: shared });\n }\n }\n return { entries, errors };\n}\nexport {\n fontShorthandTargets,\n splitFontValue\n};\n//# sourceMappingURL=fontShorthand.js.map\n"],"mappings":"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"}
@@ -0,0 +1,235 @@
1
+ import { splitTopLevelComponents } from "./backgroundFamily.native.js";
2
+
3
+ var fontShorthandTargets = { font: {
4
+ style: ["fontStyle"],
5
+ weight: ["fontWeight"],
6
+ size: ["fontSize"],
7
+ lineHeight: ["lineHeight"],
8
+ family: ["fontFamily"]
9
+ } };
10
+ var styleKeywords = /* @__PURE__ */ new Set(["italic", "oblique"]);
11
+ var weightKeywords = /* @__PURE__ */ new Set([
12
+ "bold",
13
+ "bolder",
14
+ "lighter"
15
+ ]);
16
+ var unsupportedKeywords = /* @__PURE__ */ new Set([
17
+ "normal",
18
+ "small-caps",
19
+ "ultra-condensed",
20
+ "extra-condensed",
21
+ "condensed",
22
+ "semi-condensed",
23
+ "semi-expanded",
24
+ "expanded",
25
+ "extra-expanded",
26
+ "ultra-expanded",
27
+ "caption",
28
+ "icon",
29
+ "menu",
30
+ "message-box",
31
+ "small-caption",
32
+ "status-bar"
33
+ ]);
34
+ var sizePattern = /^-?(\d+\.?\d*|\.\d+)(?:[a-z%]+)?$/i;
35
+ var weightNumberPattern = /^[1-9]00$/;
36
+ function splitFontValue(value) {
37
+ var targets = fontShorthandTargets.font;
38
+ var errors = [];
39
+ var kinds = [
40
+ "style",
41
+ "weight",
42
+ "size",
43
+ "lineHeight",
44
+ "family"
45
+ ];
46
+ var programs = {
47
+ style: {
48
+ base: null,
49
+ clauses: [],
50
+ present: false
51
+ },
52
+ weight: {
53
+ base: null,
54
+ clauses: [],
55
+ present: false
56
+ },
57
+ size: {
58
+ base: null,
59
+ clauses: [],
60
+ present: false
61
+ },
62
+ lineHeight: {
63
+ base: null,
64
+ clauses: [],
65
+ present: false
66
+ },
67
+ family: {
68
+ base: null,
69
+ clauses: [],
70
+ present: false
71
+ }
72
+ };
73
+ for (var clauseIndex = -1; clauseIndex < value.clauses.length; clauseIndex++) {
74
+ var isBase = clauseIndex === -1;
75
+ var payload = isBase ? value.base : value.clauses[clauseIndex].payload;
76
+ if (payload === null) continue;
77
+ var where = isBase ? "base" : clauseIndex;
78
+ var components = splitTopLevelComponents(payload);
79
+ var found = {};
80
+ var sizeIndex = -1;
81
+ for (var index = 0; index < components.length; index++) {
82
+ var component = components[index];
83
+ var lower = component.toLowerCase();
84
+ if (unsupportedKeywords.has(lower)) {
85
+ errors.push({
86
+ code: "unsupported-font-component",
87
+ component,
88
+ where
89
+ });
90
+ continue;
91
+ }
92
+ if (styleKeywords.has(lower)) {
93
+ if (found.style !== void 0) {
94
+ errors.push({
95
+ code: "unsupported-font-component",
96
+ component,
97
+ where
98
+ });
99
+ continue;
100
+ }
101
+ found.style = component;
102
+ continue;
103
+ }
104
+ if (weightKeywords.has(lower) || weightNumberPattern.test(component)) {
105
+ if (found.weight !== void 0) {
106
+ errors.push({
107
+ code: "unsupported-font-component",
108
+ component,
109
+ where
110
+ });
111
+ continue;
112
+ }
113
+ found.weight = component;
114
+ continue;
115
+ }
116
+ var slash = component.indexOf("/");
117
+ var sizePart = slash === -1 ? component : component.slice(0, slash);
118
+ if (sizePattern.test(sizePart)) {
119
+ if (found.size !== void 0) {
120
+ errors.push({
121
+ code: "unsupported-font-component",
122
+ component,
123
+ where
124
+ });
125
+ continue;
126
+ }
127
+ found.size = sizePart;
128
+ if (slash !== -1) found.lineHeight = component.slice(slash + 1);
129
+ sizeIndex = index;
130
+ var family = components.slice(index + 1).join(" ");
131
+ if (family) found.family = family;
132
+ break;
133
+ }
134
+ errors.push({
135
+ code: "unsupported-font-component",
136
+ component,
137
+ where
138
+ });
139
+ }
140
+ if (sizeIndex === -1) {
141
+ errors.push({
142
+ code: "unsupported-font-component",
143
+ component: payload,
144
+ where
145
+ });
146
+ }
147
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
148
+ try {
149
+ for (var _iterator = kinds[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
150
+ var kind = _step.value;
151
+ var component1 = found[kind];
152
+ if (component1 === void 0) continue;
153
+ var program = programs[kind];
154
+ program.present = true;
155
+ if (isBase) {
156
+ program.base = component1;
157
+ } else {
158
+ program.clauses.push({
159
+ modifiers: value.clauses[clauseIndex].modifiers,
160
+ payload: component1
161
+ });
162
+ }
163
+ }
164
+ } catch (err) {
165
+ _didIteratorError = true;
166
+ _iteratorError = err;
167
+ } finally {
168
+ try {
169
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
170
+ _iterator.return();
171
+ }
172
+ } finally {
173
+ if (_didIteratorError) {
174
+ throw _iteratorError;
175
+ }
176
+ }
177
+ }
178
+ }
179
+ var entries = [];
180
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
181
+ try {
182
+ for (var _iterator1 = kinds[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
183
+ var kind1 = _step1.value;
184
+ var program1 = programs[kind1];
185
+ if (!program1.present) continue;
186
+ var shared = {
187
+ base: program1.base,
188
+ clauses: program1.clauses
189
+ };
190
+ var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
191
+ try {
192
+ for (var _iterator2 = targets[kind1][Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
193
+ var longhand = _step2.value;
194
+ entries.push({
195
+ property: longhand,
196
+ value: shared
197
+ });
198
+ }
199
+ } catch (err) {
200
+ _didIteratorError2 = true;
201
+ _iteratorError2 = err;
202
+ } finally {
203
+ try {
204
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
205
+ _iterator2.return();
206
+ }
207
+ } finally {
208
+ if (_didIteratorError2) {
209
+ throw _iteratorError2;
210
+ }
211
+ }
212
+ }
213
+ }
214
+ } catch (err) {
215
+ _didIteratorError1 = true;
216
+ _iteratorError1 = err;
217
+ } finally {
218
+ try {
219
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
220
+ _iterator1.return();
221
+ }
222
+ } finally {
223
+ if (_didIteratorError1) {
224
+ throw _iteratorError1;
225
+ }
226
+ }
227
+ }
228
+ return {
229
+ entries,
230
+ errors
231
+ };
232
+ }
233
+
234
+ export { fontShorthandTargets, splitFontValue };
235
+ //# sourceMappingURL=fontShorthand.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fontShorthand.native.js","names":[],"sources":["esm/fontShorthand.native.js"],"sourcesContent":["import { splitTopLevelComponents } from \"./backgroundFamily\";\nvar fontShorthandTargets = {\n font: {\n style: [\n \"fontStyle\"\n ],\n weight: [\n \"fontWeight\"\n ],\n size: [\n \"fontSize\"\n ],\n lineHeight: [\n \"lineHeight\"\n ],\n family: [\n \"fontFamily\"\n ]\n }\n};\nvar styleKeywords = /* @__PURE__ */ new Set([\n \"italic\",\n \"oblique\"\n]);\nvar weightKeywords = /* @__PURE__ */ new Set([\n \"bold\",\n \"bolder\",\n \"lighter\"\n]);\nvar unsupportedKeywords = /* @__PURE__ */ new Set([\n \"normal\",\n \"small-caps\",\n \"ultra-condensed\",\n \"extra-condensed\",\n \"condensed\",\n \"semi-condensed\",\n \"semi-expanded\",\n \"expanded\",\n \"extra-expanded\",\n \"ultra-expanded\",\n // system font keywords have no longhand equivalent at all\n \"caption\",\n \"icon\",\n \"menu\",\n \"message-box\",\n \"small-caption\",\n \"status-bar\"\n]);\nvar sizePattern = /^-?(\\d+\\.?\\d*|\\.\\d+)(?:[a-z%]+)?$/i;\nvar weightNumberPattern = /^[1-9]00$/;\nfunction splitFontValue(value) {\n var targets = fontShorthandTargets.font;\n var errors = [];\n var kinds = [\n \"style\",\n \"weight\",\n \"size\",\n \"lineHeight\",\n \"family\"\n ];\n var programs = {\n style: {\n base: null,\n clauses: [],\n present: false\n },\n weight: {\n base: null,\n clauses: [],\n present: false\n },\n size: {\n base: null,\n clauses: [],\n present: false\n },\n lineHeight: {\n base: null,\n clauses: [],\n present: false\n },\n family: {\n base: null,\n clauses: [],\n present: false\n }\n };\n for (var clauseIndex = -1; clauseIndex < value.clauses.length; clauseIndex++) {\n var isBase = clauseIndex === -1;\n var payload = isBase ? value.base : value.clauses[clauseIndex].payload;\n if (payload === null) continue;\n var where = isBase ? \"base\" : clauseIndex;\n var components = splitTopLevelComponents(payload);\n var found = {};\n var sizeIndex = -1;\n for (var index = 0; index < components.length; index++) {\n var component = components[index];\n var lower = component.toLowerCase();\n if (unsupportedKeywords.has(lower)) {\n errors.push({\n code: \"unsupported-font-component\",\n component,\n where\n });\n continue;\n }\n if (styleKeywords.has(lower)) {\n if (found.style !== void 0) {\n errors.push({\n code: \"unsupported-font-component\",\n component,\n where\n });\n continue;\n }\n found.style = component;\n continue;\n }\n if (weightKeywords.has(lower) || weightNumberPattern.test(component)) {\n if (found.weight !== void 0) {\n errors.push({\n code: \"unsupported-font-component\",\n component,\n where\n });\n continue;\n }\n found.weight = component;\n continue;\n }\n var slash = component.indexOf(\"/\");\n var sizePart = slash === -1 ? component : component.slice(0, slash);\n if (sizePattern.test(sizePart)) {\n if (found.size !== void 0) {\n errors.push({\n code: \"unsupported-font-component\",\n component,\n where\n });\n continue;\n }\n found.size = sizePart;\n if (slash !== -1) found.lineHeight = component.slice(slash + 1);\n sizeIndex = index;\n var family = components.slice(index + 1).join(\" \");\n if (family) found.family = family;\n break;\n }\n errors.push({\n code: \"unsupported-font-component\",\n component,\n where\n });\n }\n if (sizeIndex === -1) {\n errors.push({\n code: \"unsupported-font-component\",\n component: payload,\n where\n });\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = kinds[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var kind = _step.value;\n var component1 = found[kind];\n if (component1 === void 0) continue;\n var program = programs[kind];\n program.present = true;\n if (isBase) {\n program.base = component1;\n } else {\n program.clauses.push({\n modifiers: value.clauses[clauseIndex].modifiers,\n payload: component1\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n var entries = [];\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = kinds[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var kind1 = _step1.value;\n var program1 = programs[kind1];\n if (!program1.present) continue;\n var shared = {\n base: program1.base,\n clauses: program1.clauses\n };\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = targets[kind1][Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var longhand = _step2.value;\n entries.push({\n property: longhand,\n value: shared\n });\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n return {\n entries,\n errors\n };\n}\nexport {\n fontShorthandTargets,\n splitFontValue\n};\n//# sourceMappingURL=fontShorthand.js.map\n"],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import { splitTopLevelComponents } from "./backgroundFamily.mjs";
2
+ import { longhandExpansionTable } from "./programs.mjs";
3
+
4
+ const slotPatterns = {
5
+ 4: {
6
+ 1: [
7
+ 0,
8
+ 0,
9
+ 0,
10
+ 0
11
+ ],
12
+ 2: [
13
+ 0,
14
+ 1,
15
+ 0,
16
+ 1
17
+ ],
18
+ 3: [
19
+ 0,
20
+ 1,
21
+ 2,
22
+ 1
23
+ ],
24
+ 4: [
25
+ 0,
26
+ 1,
27
+ 2,
28
+ 3
29
+ ]
30
+ },
31
+ 2: {
32
+ 1: [0, 0],
33
+ 2: [0, 1]
34
+ }
35
+ };
36
+ function splitGeometricShorthandValue(prop, value) {
37
+ const longhands = longhandExpansionTable[prop];
38
+ if (!longhands) return null;
39
+ const patterns = slotPatterns[longhands.length];
40
+ if (!patterns) return null;
41
+ let hasMulti = false;
42
+ const payloadComponents = [];
43
+ for (let index = -1; index < value.clauses.length; index++) {
44
+ const payload = index === -1 ? value.base : value.clauses[index].payload;
45
+ if (payload === null) {
46
+ payloadComponents.push([]);
47
+ continue;
48
+ }
49
+ if (payload.includes("/")) return null;
50
+ const components = splitTopLevelComponents(payload);
51
+ payloadComponents.push(components);
52
+ if (components.length > 1) hasMulti = true;
53
+ }
54
+ if (!hasMulti) return null;
55
+ const errors = [];
56
+ const perLonghand = longhands.map(() => ({
57
+ base: null,
58
+ clauses: []
59
+ }));
60
+ for (let index = -1; index < value.clauses.length; index++) {
61
+ const payload = index === -1 ? value.base : value.clauses[index].payload;
62
+ if (payload === null) continue;
63
+ const components = payloadComponents[index + 1];
64
+ const pattern = patterns[components.length];
65
+ if (!pattern) {
66
+ errors.push({
67
+ code: "unsupported-geometric-payload",
68
+ payload,
69
+ where: index === -1 ? "base" : index
70
+ });
71
+ continue;
72
+ }
73
+ for (let slot = 0; slot < longhands.length; slot++) {
74
+ const component = components[pattern[slot]];
75
+ if (index === -1) {
76
+ perLonghand[slot].base = component;
77
+ } else {
78
+ perLonghand[slot].clauses.push({
79
+ modifiers: value.clauses[index].modifiers,
80
+ payload: component
81
+ });
82
+ }
83
+ }
84
+ }
85
+ if (errors.length) return {
86
+ entries: [],
87
+ errors
88
+ };
89
+ return {
90
+ entries: longhands.map((longhand, slot) => ({
91
+ property: longhand,
92
+ value: {
93
+ base: perLonghand[slot].base,
94
+ clauses: perLonghand[slot].clauses
95
+ }
96
+ })),
97
+ errors
98
+ };
99
+ }
100
+
101
+ export { splitGeometricShorthandValue };
102
+ //# sourceMappingURL=geometricShorthand.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometricShorthand.js","names":[],"sources":["esm/geometricShorthand.js"],"sourcesContent":["import { splitTopLevelComponents } from \"./backgroundFamily\";\nimport { longhandExpansionTable } from \"./programs\";\nconst slotPatterns = {\n 4: { 1: [0, 0, 0, 0], 2: [0, 1, 0, 1], 3: [0, 1, 2, 1], 4: [0, 1, 2, 3] },\n 2: { 1: [0, 0], 2: [0, 1] }\n};\nfunction splitGeometricShorthandValue(prop, value) {\n const longhands = longhandExpansionTable[prop];\n if (!longhands) return null;\n const patterns = slotPatterns[longhands.length];\n if (!patterns) return null;\n let hasMulti = false;\n const payloadComponents = [];\n for (let index = -1; index < value.clauses.length; index++) {\n const payload = index === -1 ? value.base : value.clauses[index].payload;\n if (payload === null) {\n payloadComponents.push([]);\n continue;\n }\n if (payload.includes(\"/\")) return null;\n const components = splitTopLevelComponents(payload);\n payloadComponents.push(components);\n if (components.length > 1) hasMulti = true;\n }\n if (!hasMulti) return null;\n const errors = [];\n const perLonghand = longhands.map(() => ({ base: null, clauses: [] }));\n for (let index = -1; index < value.clauses.length; index++) {\n const payload = index === -1 ? value.base : value.clauses[index].payload;\n if (payload === null) continue;\n const components = payloadComponents[index + 1];\n const pattern = patterns[components.length];\n if (!pattern) {\n errors.push({\n code: \"unsupported-geometric-payload\",\n payload,\n where: index === -1 ? \"base\" : index\n });\n continue;\n }\n for (let slot = 0; slot < longhands.length; slot++) {\n const component = components[pattern[slot]];\n if (index === -1) {\n perLonghand[slot].base = component;\n } else {\n perLonghand[slot].clauses.push({\n modifiers: value.clauses[index].modifiers,\n payload: component\n });\n }\n }\n }\n if (errors.length) return { entries: [], errors };\n return {\n entries: longhands.map((longhand, slot) => ({\n property: longhand,\n value: { base: perLonghand[slot].base, clauses: perLonghand[slot].clauses }\n })),\n errors\n };\n}\nexport {\n splitGeometricShorthandValue\n};\n//# sourceMappingURL=geometricShorthand.js.map\n"],"mappings":";;;;AAEA,MAAM,eAAe;CACnB,GAAG;EAAE,GAAG;GAAC;GAAG;GAAG;GAAG;EAAC;EAAG,GAAG;GAAC;GAAG;GAAG;GAAG;EAAC;EAAG,GAAG;GAAC;GAAG;GAAG;GAAG;EAAC;EAAG,GAAG;GAAC;GAAG;GAAG;GAAG;EAAC;CAAE;CACxE,GAAG;EAAE,GAAG,CAAC,GAAG,CAAC;EAAG,GAAG,CAAC,GAAG,CAAC;CAAE;AAC5B;AACA,SAAS,6BAA6B,MAAM,OAAO;CACjD,MAAM,YAAY,uBAAuB;CACzC,IAAI,CAAC,WAAW,OAAO;CACvB,MAAM,WAAW,aAAa,UAAU;CACxC,IAAI,CAAC,UAAU,OAAO;CACtB,IAAI,WAAW;CACf,MAAM,oBAAoB,CAAC;CAC3B,KAAK,IAAI,QAAQ,CAAC,GAAG,QAAQ,MAAM,QAAQ,QAAQ,SAAS;EAC1D,MAAM,UAAU,UAAU,CAAC,IAAI,MAAM,OAAO,MAAM,QAAQ,OAAO;EACjE,IAAI,YAAY,MAAM;GACpB,kBAAkB,KAAK,CAAC,CAAC;GACzB;EACF;EACA,IAAI,QAAQ,SAAS,GAAG,GAAG,OAAO;EAClC,MAAM,aAAa,wBAAwB,OAAO;EAClD,kBAAkB,KAAK,UAAU;EACjC,IAAI,WAAW,SAAS,GAAG,WAAW;CACxC;CACA,IAAI,CAAC,UAAU,OAAO;CACtB,MAAM,SAAS,CAAC;CAChB,MAAM,cAAc,UAAU,WAAW;EAAE,MAAM;EAAM,SAAS,CAAC;CAAE,EAAE;CACrE,KAAK,IAAI,QAAQ,CAAC,GAAG,QAAQ,MAAM,QAAQ,QAAQ,SAAS;EAC1D,MAAM,UAAU,UAAU,CAAC,IAAI,MAAM,OAAO,MAAM,QAAQ,OAAO;EACjE,IAAI,YAAY,MAAM;EACtB,MAAM,aAAa,kBAAkB,QAAQ;EAC7C,MAAM,UAAU,SAAS,WAAW;EACpC,IAAI,CAAC,SAAS;GACZ,OAAO,KAAK;IACV,MAAM;IACN;IACA,OAAO,UAAU,CAAC,IAAI,SAAS;GACjC,CAAC;GACD;EACF;EACA,KAAK,IAAI,OAAO,GAAG,OAAO,UAAU,QAAQ,QAAQ;GAClD,MAAM,YAAY,WAAW,QAAQ;GACrC,IAAI,UAAU,CAAC,GAAG;IAChB,YAAY,MAAM,OAAO;GAC3B,OAAO;IACL,YAAY,MAAM,QAAQ,KAAK;KAC7B,WAAW,MAAM,QAAQ,OAAO;KAChC,SAAS;IACX,CAAC;GACH;EACF;CACF;CACA,IAAI,OAAO,QAAQ,OAAO;EAAE,SAAS,CAAC;EAAG;CAAO;CAChD,OAAO;EACL,SAAS,UAAU,KAAK,UAAU,UAAU;GAC1C,UAAU;GACV,OAAO;IAAE,MAAM,YAAY,MAAM;IAAM,SAAS,YAAY,MAAM;GAAQ;EAC5E,EAAE;EACF;CACF;AACF"}
@@ -0,0 +1,106 @@
1
+ import { splitTopLevelComponents } from "./backgroundFamily.native.js";
2
+ import { longhandExpansionTable } from "./programs.native.js";
3
+
4
+ var slotPatterns = {
5
+ 4: {
6
+ 1: [
7
+ 0,
8
+ 0,
9
+ 0,
10
+ 0
11
+ ],
12
+ 2: [
13
+ 0,
14
+ 1,
15
+ 0,
16
+ 1
17
+ ],
18
+ 3: [
19
+ 0,
20
+ 1,
21
+ 2,
22
+ 1
23
+ ],
24
+ 4: [
25
+ 0,
26
+ 1,
27
+ 2,
28
+ 3
29
+ ]
30
+ },
31
+ 2: {
32
+ 1: [0, 0],
33
+ 2: [0, 1]
34
+ }
35
+ };
36
+ function splitGeometricShorthandValue(prop, value) {
37
+ var longhands = longhandExpansionTable[prop];
38
+ if (!longhands) return null;
39
+ var patterns = slotPatterns[longhands.length];
40
+ if (!patterns) return null;
41
+ var hasMulti = false;
42
+ var payloadComponents = [];
43
+ for (var index = -1; index < value.clauses.length; index++) {
44
+ var payload = index === -1 ? value.base : value.clauses[index].payload;
45
+ if (payload === null) {
46
+ payloadComponents.push([]);
47
+ continue;
48
+ }
49
+ if (payload.includes("/")) return null;
50
+ var components = splitTopLevelComponents(payload);
51
+ payloadComponents.push(components);
52
+ if (components.length > 1) hasMulti = true;
53
+ }
54
+ if (!hasMulti) return null;
55
+ var errors = [];
56
+ var perLonghand = longhands.map(function() {
57
+ return {
58
+ base: null,
59
+ clauses: []
60
+ };
61
+ });
62
+ for (var index1 = -1; index1 < value.clauses.length; index1++) {
63
+ var payload1 = index1 === -1 ? value.base : value.clauses[index1].payload;
64
+ if (payload1 === null) continue;
65
+ var components1 = payloadComponents[index1 + 1];
66
+ var pattern = patterns[components1.length];
67
+ if (!pattern) {
68
+ errors.push({
69
+ code: "unsupported-geometric-payload",
70
+ payload: payload1,
71
+ where: index1 === -1 ? "base" : index1
72
+ });
73
+ continue;
74
+ }
75
+ for (var slot = 0; slot < longhands.length; slot++) {
76
+ var component = components1[pattern[slot]];
77
+ if (index1 === -1) {
78
+ perLonghand[slot].base = component;
79
+ } else {
80
+ perLonghand[slot].clauses.push({
81
+ modifiers: value.clauses[index1].modifiers,
82
+ payload: component
83
+ });
84
+ }
85
+ }
86
+ }
87
+ if (errors.length) return {
88
+ entries: [],
89
+ errors
90
+ };
91
+ return {
92
+ entries: longhands.map(function(longhand, slot2) {
93
+ return {
94
+ property: longhand,
95
+ value: {
96
+ base: perLonghand[slot2].base,
97
+ clauses: perLonghand[slot2].clauses
98
+ }
99
+ };
100
+ }),
101
+ errors
102
+ };
103
+ }
104
+
105
+ export { splitGeometricShorthandValue };
106
+ //# sourceMappingURL=geometricShorthand.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometricShorthand.native.js","names":[],"sources":["esm/geometricShorthand.native.js"],"sourcesContent":["import { splitTopLevelComponents } from \"./backgroundFamily\";\nimport { longhandExpansionTable } from \"./programs\";\nvar slotPatterns = {\n 4: {\n 1: [\n 0,\n 0,\n 0,\n 0\n ],\n 2: [\n 0,\n 1,\n 0,\n 1\n ],\n 3: [\n 0,\n 1,\n 2,\n 1\n ],\n 4: [\n 0,\n 1,\n 2,\n 3\n ]\n },\n 2: {\n 1: [\n 0,\n 0\n ],\n 2: [\n 0,\n 1\n ]\n }\n};\nfunction splitGeometricShorthandValue(prop, value) {\n var longhands = longhandExpansionTable[prop];\n if (!longhands) return null;\n var patterns = slotPatterns[longhands.length];\n if (!patterns) return null;\n var hasMulti = false;\n var payloadComponents = [];\n for (var index = -1; index < value.clauses.length; index++) {\n var payload = index === -1 ? value.base : value.clauses[index].payload;\n if (payload === null) {\n payloadComponents.push([]);\n continue;\n }\n if (payload.includes(\"/\")) return null;\n var components = splitTopLevelComponents(payload);\n payloadComponents.push(components);\n if (components.length > 1) hasMulti = true;\n }\n if (!hasMulti) return null;\n var errors = [];\n var perLonghand = longhands.map(function() {\n return {\n base: null,\n clauses: []\n };\n });\n for (var index1 = -1; index1 < value.clauses.length; index1++) {\n var payload1 = index1 === -1 ? value.base : value.clauses[index1].payload;\n if (payload1 === null) continue;\n var components1 = payloadComponents[index1 + 1];\n var pattern = patterns[components1.length];\n if (!pattern) {\n errors.push({\n code: \"unsupported-geometric-payload\",\n payload: payload1,\n where: index1 === -1 ? \"base\" : index1\n });\n continue;\n }\n for (var slot = 0; slot < longhands.length; slot++) {\n var component = components1[pattern[slot]];\n if (index1 === -1) {\n perLonghand[slot].base = component;\n } else {\n perLonghand[slot].clauses.push({\n modifiers: value.clauses[index1].modifiers,\n payload: component\n });\n }\n }\n }\n if (errors.length) return {\n entries: [],\n errors\n };\n return {\n entries: longhands.map(function(longhand, slot2) {\n return {\n property: longhand,\n value: {\n base: perLonghand[slot2].base,\n clauses: perLonghand[slot2].clauses\n }\n };\n }),\n errors\n };\n}\nexport {\n splitGeometricShorthandValue\n};\n//# sourceMappingURL=geometricShorthand.js.map\n"],"mappings":";;;;AAEA,IAAI,eAAe;CACjB,GAAG;EACD,GAAG;GACD;GACA;GACA;GACA;EACF;EACA,GAAG;GACD;GACA;GACA;GACA;EACF;EACA,GAAG;GACD;GACA;GACA;GACA;EACF;EACA,GAAG;GACD;GACA;GACA;GACA;EACF;CACF;CACA,GAAG;EACD,GAAG,CACD,GACA,CACF;EACA,GAAG,CACD,GACA,CACF;CACF;AACF;AACA,SAAS,6BAA6B,MAAM,OAAO;CACjD,IAAI,YAAY,uBAAuB;CACvC,IAAI,CAAC,WAAW,OAAO;CACvB,IAAI,WAAW,aAAa,UAAU;CACtC,IAAI,CAAC,UAAU,OAAO;CACtB,IAAI,WAAW;CACf,IAAI,oBAAoB,CAAC;CACzB,KAAK,IAAI,QAAQ,CAAC,GAAG,QAAQ,MAAM,QAAQ,QAAQ,SAAS;EAC1D,IAAI,UAAU,UAAU,CAAC,IAAI,MAAM,OAAO,MAAM,QAAQ,OAAO;EAC/D,IAAI,YAAY,MAAM;GACpB,kBAAkB,KAAK,CAAC,CAAC;GACzB;EACF;EACA,IAAI,QAAQ,SAAS,GAAG,GAAG,OAAO;EAClC,IAAI,aAAa,wBAAwB,OAAO;EAChD,kBAAkB,KAAK,UAAU;EACjC,IAAI,WAAW,SAAS,GAAG,WAAW;CACxC;CACA,IAAI,CAAC,UAAU,OAAO;CACtB,IAAI,SAAS,CAAC;CACd,IAAI,cAAc,UAAU,IAAI,WAAW;EACzC,OAAO;GACL,MAAM;GACN,SAAS,CAAC;EACZ;CACF,CAAC;CACD,KAAK,IAAI,SAAS,CAAC,GAAG,SAAS,MAAM,QAAQ,QAAQ,UAAU;EAC7D,IAAI,WAAW,WAAW,CAAC,IAAI,MAAM,OAAO,MAAM,QAAQ,QAAQ;EAClE,IAAI,aAAa,MAAM;EACvB,IAAI,cAAc,kBAAkB,SAAS;EAC7C,IAAI,UAAU,SAAS,YAAY;EACnC,IAAI,CAAC,SAAS;GACZ,OAAO,KAAK;IACV,MAAM;IACN,SAAS;IACT,OAAO,WAAW,CAAC,IAAI,SAAS;GAClC,CAAC;GACD;EACF;EACA,KAAK,IAAI,OAAO,GAAG,OAAO,UAAU,QAAQ,QAAQ;GAClD,IAAI,YAAY,YAAY,QAAQ;GACpC,IAAI,WAAW,CAAC,GAAG;IACjB,YAAY,MAAM,OAAO;GAC3B,OAAO;IACL,YAAY,MAAM,QAAQ,KAAK;KAC7B,WAAW,MAAM,QAAQ,QAAQ;KACjC,SAAS;IACX,CAAC;GACH;EACF;CACF;CACA,IAAI,OAAO,QAAQ,OAAO;EACxB,SAAS,CAAC;EACV;CACF;CACA,OAAO;EACL,SAAS,UAAU,IAAI,SAAS,UAAU,OAAO;GAC/C,OAAO;IACL,UAAU;IACV,OAAO;KACL,MAAM,YAAY,OAAO;KACzB,SAAS,YAAY,OAAO;IAC9B;GACF;EACF,CAAC;EACD;CACF;AACF"}
@@ -0,0 +1 @@
1
+ export * from "./runtime.mjs"
@@ -0,0 +1 @@
1
+ export * from "./runtime.native.js"