@fayegram-ai/faye-ui 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1382) hide show
  1. package/LICENSE +68 -0
  2. package/README.md +29 -2
  3. package/dist/contracts/accessibility.d.ts +3 -0
  4. package/dist/contracts/accessibility.d.ts.map +1 -0
  5. package/dist/contracts/accessibility.js +3 -0
  6. package/dist/contracts/accessibility.js.map +1 -0
  7. package/dist/contracts/extend-descriptor.d.ts +9 -0
  8. package/dist/contracts/extend-descriptor.d.ts.map +1 -0
  9. package/dist/contracts/extend-descriptor.js +25 -0
  10. package/dist/contracts/extend-descriptor.js.map +1 -0
  11. package/dist/contracts/icon.d.ts +20 -0
  12. package/dist/contracts/icon.d.ts.map +1 -0
  13. package/dist/contracts/icon.js +93 -0
  14. package/dist/contracts/icon.js.map +1 -0
  15. package/dist/contracts/index.d.ts +156 -0
  16. package/dist/contracts/index.d.ts.map +1 -0
  17. package/dist/contracts/index.js +194 -0
  18. package/dist/contracts/index.js.map +1 -0
  19. package/dist/contracts/interaction.d.ts +33 -0
  20. package/dist/contracts/interaction.d.ts.map +1 -0
  21. package/dist/contracts/interaction.js +40 -0
  22. package/dist/contracts/interaction.js.map +1 -0
  23. package/dist/contracts/scope.d.ts +26 -0
  24. package/dist/contracts/scope.d.ts.map +1 -0
  25. package/dist/contracts/scope.js +24 -0
  26. package/dist/contracts/scope.js.map +1 -0
  27. package/dist/contracts/server/accessibility.js +2 -0
  28. package/dist/contracts/server/extend-descriptor.js +24 -0
  29. package/dist/contracts/server/icon.js +92 -0
  30. package/dist/contracts/server/index.js +193 -0
  31. package/dist/contracts/server/interaction.js +39 -0
  32. package/dist/contracts/server/scope.js +23 -0
  33. package/dist/contracts/server/visual-variants.js +1 -0
  34. package/dist/contracts/visual-variants.d.ts +225 -0
  35. package/dist/contracts/visual-variants.d.ts.map +1 -0
  36. package/dist/contracts/visual-variants.js +2 -0
  37. package/dist/contracts/visual-variants.js.map +1 -0
  38. package/dist/controls/_hydration-input.d.ts +7 -0
  39. package/dist/controls/_hydration-input.d.ts.map +1 -0
  40. package/dist/controls/_hydration-input.js +62 -0
  41. package/dist/controls/_hydration-input.js.map +1 -0
  42. package/dist/controls/_indicators.d.ts +7 -0
  43. package/dist/controls/_indicators.d.ts.map +1 -0
  44. package/dist/controls/_indicators.js +7 -0
  45. package/dist/controls/_indicators.js.map +1 -0
  46. package/dist/controls/_picker-readonly.d.ts +2 -0
  47. package/dist/controls/_picker-readonly.d.ts.map +1 -0
  48. package/dist/controls/_picker-readonly.js +5 -0
  49. package/dist/controls/_picker-readonly.js.map +1 -0
  50. package/dist/controls/autocomplete.css +76 -0
  51. package/dist/controls/autocomplete.d.ts +159 -0
  52. package/dist/controls/autocomplete.d.ts.map +1 -0
  53. package/dist/controls/autocomplete.descriptor.d.ts +2 -0
  54. package/dist/controls/autocomplete.descriptor.d.ts.map +1 -0
  55. package/dist/controls/autocomplete.descriptor.js +39 -0
  56. package/dist/controls/autocomplete.descriptor.js.map +1 -0
  57. package/dist/controls/autocomplete.js +33 -0
  58. package/dist/controls/autocomplete.js.map +1 -0
  59. package/dist/controls/autosize-textarea.d.ts +7 -0
  60. package/dist/controls/autosize-textarea.d.ts.map +1 -0
  61. package/dist/controls/autosize-textarea.js +67 -0
  62. package/dist/controls/autosize-textarea.js.map +1 -0
  63. package/dist/controls/button.css +49 -0
  64. package/dist/controls/button.d.ts +42 -0
  65. package/dist/controls/button.d.ts.map +1 -0
  66. package/dist/controls/button.descriptor.d.ts +28 -0
  67. package/dist/controls/button.descriptor.d.ts.map +1 -0
  68. package/dist/controls/button.descriptor.js +3 -0
  69. package/dist/controls/button.descriptor.js.map +1 -0
  70. package/dist/controls/button.js +28 -0
  71. package/dist/controls/button.js.map +1 -0
  72. package/dist/controls/checkbox-group.css +2 -0
  73. package/dist/controls/checkbox-group.d.ts +8 -0
  74. package/dist/controls/checkbox-group.d.ts.map +1 -0
  75. package/dist/controls/checkbox-group.js +6 -0
  76. package/dist/controls/checkbox-group.js.map +1 -0
  77. package/dist/controls/checkbox.css +25 -0
  78. package/dist/controls/checkbox.d.ts +22 -0
  79. package/dist/controls/checkbox.d.ts.map +1 -0
  80. package/dist/controls/checkbox.descriptor.d.ts +14 -0
  81. package/dist/controls/checkbox.descriptor.d.ts.map +1 -0
  82. package/dist/controls/checkbox.descriptor.js +25 -0
  83. package/dist/controls/checkbox.descriptor.js.map +1 -0
  84. package/dist/controls/checkbox.js +20 -0
  85. package/dist/controls/checkbox.js.map +1 -0
  86. package/dist/controls/chip.css +29 -0
  87. package/dist/controls/chip.d.ts +24 -0
  88. package/dist/controls/chip.d.ts.map +1 -0
  89. package/dist/controls/chip.descriptor.d.ts +2 -0
  90. package/dist/controls/chip.descriptor.d.ts.map +1 -0
  91. package/dist/controls/chip.descriptor.js +3 -0
  92. package/dist/controls/chip.descriptor.js.map +1 -0
  93. package/dist/controls/chip.js +25 -0
  94. package/dist/controls/chip.js.map +1 -0
  95. package/dist/controls/combobox.css +80 -0
  96. package/dist/controls/combobox.d.ts +194 -0
  97. package/dist/controls/combobox.d.ts.map +1 -0
  98. package/dist/controls/combobox.descriptor.d.ts +16 -0
  99. package/dist/controls/combobox.descriptor.d.ts.map +1 -0
  100. package/dist/controls/combobox.descriptor.js +47 -0
  101. package/dist/controls/combobox.descriptor.js.map +1 -0
  102. package/dist/controls/combobox.js +42 -0
  103. package/dist/controls/combobox.js.map +1 -0
  104. package/dist/controls/field-layout.d.ts +46 -0
  105. package/dist/controls/field-layout.d.ts.map +1 -0
  106. package/dist/controls/field-layout.js +31 -0
  107. package/dist/controls/field-layout.js.map +1 -0
  108. package/dist/controls/field.css +23 -0
  109. package/dist/controls/field.d.ts +42 -0
  110. package/dist/controls/field.d.ts.map +1 -0
  111. package/dist/controls/field.descriptor.d.ts +14 -0
  112. package/dist/controls/field.descriptor.d.ts.map +1 -0
  113. package/dist/controls/field.descriptor.js +27 -0
  114. package/dist/controls/field.descriptor.js.map +1 -0
  115. package/dist/controls/field.js +13 -0
  116. package/dist/controls/field.js.map +1 -0
  117. package/dist/controls/fieldset.css +12 -0
  118. package/dist/controls/fieldset.d.ts +22 -0
  119. package/dist/controls/fieldset.d.ts.map +1 -0
  120. package/dist/controls/fieldset.descriptor.d.ts +14 -0
  121. package/dist/controls/fieldset.descriptor.d.ts.map +1 -0
  122. package/dist/controls/fieldset.descriptor.js +25 -0
  123. package/dist/controls/fieldset.descriptor.js.map +1 -0
  124. package/dist/controls/fieldset.js +9 -0
  125. package/dist/controls/fieldset.js.map +1 -0
  126. package/dist/controls/form.css +2 -0
  127. package/dist/controls/form.d.ts +11 -0
  128. package/dist/controls/form.d.ts.map +1 -0
  129. package/dist/controls/form.js +6 -0
  130. package/dist/controls/form.js.map +1 -0
  131. package/dist/controls/index.d.ts +28 -0
  132. package/dist/controls/index.d.ts.map +1 -0
  133. package/dist/controls/index.js +28 -0
  134. package/dist/controls/index.js.map +1 -0
  135. package/dist/controls/input-group.css +28 -0
  136. package/dist/controls/input-group.d.ts +21 -0
  137. package/dist/controls/input-group.d.ts.map +1 -0
  138. package/dist/controls/input-group.descriptor.d.ts +13 -0
  139. package/dist/controls/input-group.descriptor.d.ts.map +1 -0
  140. package/dist/controls/input-group.descriptor.js +24 -0
  141. package/dist/controls/input-group.descriptor.js.map +1 -0
  142. package/dist/controls/input-group.js +10 -0
  143. package/dist/controls/input-group.js.map +1 -0
  144. package/dist/controls/input.css +20 -0
  145. package/dist/controls/input.d.ts +20 -0
  146. package/dist/controls/input.d.ts.map +1 -0
  147. package/dist/controls/input.descriptor.d.ts +2 -0
  148. package/dist/controls/input.descriptor.d.ts.map +1 -0
  149. package/dist/controls/input.descriptor.js +24 -0
  150. package/dist/controls/input.descriptor.js.map +1 -0
  151. package/dist/controls/input.js +11 -0
  152. package/dist/controls/input.js.map +1 -0
  153. package/dist/controls/link.css +4 -0
  154. package/dist/controls/link.d.ts +8 -0
  155. package/dist/controls/link.d.ts.map +1 -0
  156. package/dist/controls/link.js +5 -0
  157. package/dist/controls/link.js.map +1 -0
  158. package/dist/controls/native-select.css +41 -0
  159. package/dist/controls/native-select.d.ts +15 -0
  160. package/dist/controls/native-select.d.ts.map +1 -0
  161. package/dist/controls/native-select.descriptor.d.ts +2 -0
  162. package/dist/controls/native-select.descriptor.d.ts.map +1 -0
  163. package/dist/controls/native-select.descriptor.js +24 -0
  164. package/dist/controls/native-select.descriptor.js.map +1 -0
  165. package/dist/controls/native-select.js +15 -0
  166. package/dist/controls/native-select.js.map +1 -0
  167. package/dist/controls/number-field.css +36 -0
  168. package/dist/controls/number-field.d.ts +64 -0
  169. package/dist/controls/number-field.d.ts.map +1 -0
  170. package/dist/controls/number-field.descriptor.d.ts +14 -0
  171. package/dist/controls/number-field.descriptor.d.ts.map +1 -0
  172. package/dist/controls/number-field.descriptor.js +30 -0
  173. package/dist/controls/number-field.descriptor.js.map +1 -0
  174. package/dist/controls/number-field.js +24 -0
  175. package/dist/controls/number-field.js.map +1 -0
  176. package/dist/controls/otp-field.css +12 -0
  177. package/dist/controls/otp-field.d.ts +22 -0
  178. package/dist/controls/otp-field.d.ts.map +1 -0
  179. package/dist/controls/otp-field.descriptor.d.ts +2 -0
  180. package/dist/controls/otp-field.descriptor.d.ts.map +1 -0
  181. package/dist/controls/otp-field.descriptor.js +3 -0
  182. package/dist/controls/otp-field.descriptor.js.map +1 -0
  183. package/dist/controls/otp-field.js +6 -0
  184. package/dist/controls/otp-field.js.map +1 -0
  185. package/dist/controls/radio-group.css +2 -0
  186. package/dist/controls/radio-group.d.ts +9 -0
  187. package/dist/controls/radio-group.d.ts.map +1 -0
  188. package/dist/controls/radio-group.js +6 -0
  189. package/dist/controls/radio-group.js.map +1 -0
  190. package/dist/controls/radio.css +25 -0
  191. package/dist/controls/radio.d.ts +23 -0
  192. package/dist/controls/radio.d.ts.map +1 -0
  193. package/dist/controls/radio.descriptor.d.ts +14 -0
  194. package/dist/controls/radio.descriptor.d.ts.map +1 -0
  195. package/dist/controls/radio.descriptor.js +25 -0
  196. package/dist/controls/radio.descriptor.js.map +1 -0
  197. package/dist/controls/radio.js +9 -0
  198. package/dist/controls/radio.js.map +1 -0
  199. package/dist/controls/rating-model.d.ts +4 -0
  200. package/dist/controls/rating-model.d.ts.map +1 -0
  201. package/dist/controls/rating-model.js +11 -0
  202. package/dist/controls/rating-model.js.map +1 -0
  203. package/dist/controls/rating.css +25 -0
  204. package/dist/controls/rating.d.ts +24 -0
  205. package/dist/controls/rating.d.ts.map +1 -0
  206. package/dist/controls/rating.descriptor.d.ts +2 -0
  207. package/dist/controls/rating.descriptor.d.ts.map +1 -0
  208. package/dist/controls/rating.descriptor.js +3 -0
  209. package/dist/controls/rating.descriptor.js.map +1 -0
  210. package/dist/controls/rating.js +89 -0
  211. package/dist/controls/rating.js.map +1 -0
  212. package/dist/controls/select.css +68 -0
  213. package/dist/controls/select.d.ts +168 -0
  214. package/dist/controls/select.d.ts.map +1 -0
  215. package/dist/controls/select.descriptor.d.ts +16 -0
  216. package/dist/controls/select.descriptor.d.ts.map +1 -0
  217. package/dist/controls/select.descriptor.js +41 -0
  218. package/dist/controls/select.descriptor.js.map +1 -0
  219. package/dist/controls/select.js +116 -0
  220. package/dist/controls/select.js.map +1 -0
  221. package/dist/controls/server/_hydration-input.js +61 -0
  222. package/dist/controls/server/_indicators.js +6 -0
  223. package/dist/controls/server/_picker-readonly.js +4 -0
  224. package/dist/controls/server/autocomplete.descriptor.js +38 -0
  225. package/dist/controls/server/autocomplete.js +32 -0
  226. package/dist/controls/server/autosize-textarea.js +66 -0
  227. package/dist/controls/server/button.descriptor.js +2 -0
  228. package/dist/controls/server/button.js +27 -0
  229. package/dist/controls/server/checkbox-group.js +5 -0
  230. package/dist/controls/server/checkbox.descriptor.js +24 -0
  231. package/dist/controls/server/checkbox.js +19 -0
  232. package/dist/controls/server/chip.descriptor.js +2 -0
  233. package/dist/controls/server/chip.js +24 -0
  234. package/dist/controls/server/combobox.descriptor.js +46 -0
  235. package/dist/controls/server/combobox.js +41 -0
  236. package/dist/controls/server/field-layout.js +30 -0
  237. package/dist/controls/server/field.descriptor.js +26 -0
  238. package/dist/controls/server/field.js +12 -0
  239. package/dist/controls/server/fieldset.descriptor.js +24 -0
  240. package/dist/controls/server/fieldset.js +8 -0
  241. package/dist/controls/server/form.js +5 -0
  242. package/dist/controls/server/index.js +27 -0
  243. package/dist/controls/server/input-group.descriptor.js +23 -0
  244. package/dist/controls/server/input-group.js +9 -0
  245. package/dist/controls/server/input.descriptor.js +23 -0
  246. package/dist/controls/server/input.js +10 -0
  247. package/dist/controls/server/link.js +4 -0
  248. package/dist/controls/server/native-select.descriptor.js +23 -0
  249. package/dist/controls/server/native-select.js +14 -0
  250. package/dist/controls/server/number-field.descriptor.js +29 -0
  251. package/dist/controls/server/number-field.js +23 -0
  252. package/dist/controls/server/otp-field.descriptor.js +2 -0
  253. package/dist/controls/server/otp-field.js +5 -0
  254. package/dist/controls/server/radio-group.js +5 -0
  255. package/dist/controls/server/radio.descriptor.js +24 -0
  256. package/dist/controls/server/radio.js +8 -0
  257. package/dist/controls/server/rating-model.js +10 -0
  258. package/dist/controls/server/rating.descriptor.js +2 -0
  259. package/dist/controls/server/rating.js +88 -0
  260. package/dist/controls/server/select.descriptor.js +40 -0
  261. package/dist/controls/server/select.js +115 -0
  262. package/dist/controls/server/slider.descriptor.js +29 -0
  263. package/dist/controls/server/slider.js +142 -0
  264. package/dist/controls/server/switch.descriptor.js +24 -0
  265. package/dist/controls/server/switch.js +17 -0
  266. package/dist/controls/server/text-field.js +13 -0
  267. package/dist/controls/server/textarea-field.js +11 -0
  268. package/dist/controls/server/textarea.descriptor.js +23 -0
  269. package/dist/controls/server/toggle-group.js +5 -0
  270. package/dist/controls/server/toggle.js +5 -0
  271. package/dist/controls/slider.css +86 -0
  272. package/dist/controls/slider.d.ts +86 -0
  273. package/dist/controls/slider.d.ts.map +1 -0
  274. package/dist/controls/slider.descriptor.d.ts +14 -0
  275. package/dist/controls/slider.descriptor.d.ts.map +1 -0
  276. package/dist/controls/slider.descriptor.js +30 -0
  277. package/dist/controls/slider.descriptor.js.map +1 -0
  278. package/dist/controls/slider.js +143 -0
  279. package/dist/controls/slider.js.map +1 -0
  280. package/dist/controls/switch.css +38 -0
  281. package/dist/controls/switch.d.ts +22 -0
  282. package/dist/controls/switch.d.ts.map +1 -0
  283. package/dist/controls/switch.descriptor.d.ts +14 -0
  284. package/dist/controls/switch.descriptor.d.ts.map +1 -0
  285. package/dist/controls/switch.descriptor.js +25 -0
  286. package/dist/controls/switch.descriptor.js.map +1 -0
  287. package/dist/controls/switch.js +18 -0
  288. package/dist/controls/switch.js.map +1 -0
  289. package/dist/controls/text-field.css +2 -0
  290. package/dist/controls/text-field.d.ts +14 -0
  291. package/dist/controls/text-field.d.ts.map +1 -0
  292. package/dist/controls/text-field.js +14 -0
  293. package/dist/controls/text-field.js.map +1 -0
  294. package/dist/controls/textarea-field.d.ts +15 -0
  295. package/dist/controls/textarea-field.d.ts.map +1 -0
  296. package/dist/controls/textarea-field.js +12 -0
  297. package/dist/controls/textarea-field.js.map +1 -0
  298. package/dist/controls/textarea.descriptor.d.ts +2 -0
  299. package/dist/controls/textarea.descriptor.d.ts.map +1 -0
  300. package/dist/controls/textarea.descriptor.js +24 -0
  301. package/dist/controls/textarea.descriptor.js.map +1 -0
  302. package/dist/controls/toggle-group.css +2 -0
  303. package/dist/controls/toggle-group.d.ts +9 -0
  304. package/dist/controls/toggle-group.d.ts.map +1 -0
  305. package/dist/controls/toggle-group.js +6 -0
  306. package/dist/controls/toggle-group.js.map +1 -0
  307. package/dist/controls/toggle.css +10 -0
  308. package/dist/controls/toggle.d.ts +9 -0
  309. package/dist/controls/toggle.d.ts.map +1 -0
  310. package/dist/controls/toggle.js +6 -0
  311. package/dist/controls/toggle.js.map +1 -0
  312. package/dist/core/_surface.d.ts +48 -0
  313. package/dist/core/_surface.d.ts.map +1 -0
  314. package/dist/core/_surface.js +33 -0
  315. package/dist/core/_surface.js.map +1 -0
  316. package/dist/core/_text.d.ts +605 -0
  317. package/dist/core/_text.d.ts.map +1 -0
  318. package/dist/core/_text.js +13 -0
  319. package/dist/core/_text.js.map +1 -0
  320. package/dist/core/box.css +46 -0
  321. package/dist/core/box.d.ts +16 -0
  322. package/dist/core/box.d.ts.map +1 -0
  323. package/dist/core/box.js +8 -0
  324. package/dist/core/box.js.map +1 -0
  325. package/dist/core/card.descriptor.d.ts +15 -0
  326. package/dist/core/card.descriptor.d.ts.map +1 -0
  327. package/dist/core/card.descriptor.js +2 -0
  328. package/dist/core/card.descriptor.js.map +1 -0
  329. package/dist/core/code.css +2 -0
  330. package/dist/core/code.d.ts +5 -0
  331. package/dist/core/code.d.ts.map +1 -0
  332. package/dist/core/code.js +6 -0
  333. package/dist/core/code.js.map +1 -0
  334. package/dist/core/heading.descriptor.d.ts +13 -0
  335. package/dist/core/heading.descriptor.d.ts.map +1 -0
  336. package/dist/core/heading.descriptor.js +34 -0
  337. package/dist/core/heading.descriptor.js.map +1 -0
  338. package/dist/core/icon.css +2 -0
  339. package/dist/core/icon.d.ts +19 -0
  340. package/dist/core/icon.d.ts.map +1 -0
  341. package/dist/core/icon.js +24 -0
  342. package/dist/core/icon.js.map +1 -0
  343. package/dist/core/index.d.ts +11 -0
  344. package/dist/core/index.d.ts.map +1 -0
  345. package/dist/core/index.js +11 -0
  346. package/dist/core/index.js.map +1 -0
  347. package/dist/core/profile.d.ts +10 -0
  348. package/dist/core/profile.d.ts.map +1 -0
  349. package/dist/core/profile.js +13 -0
  350. package/dist/core/profile.js.map +1 -0
  351. package/dist/core/scoped-baseline.css +7 -0
  352. package/dist/core/scoped-baseline.d.ts +8 -0
  353. package/dist/core/scoped-baseline.d.ts.map +1 -0
  354. package/dist/core/scoped-baseline.descriptor.d.ts +9 -0
  355. package/dist/core/scoped-baseline.descriptor.d.ts.map +1 -0
  356. package/dist/core/scoped-baseline.descriptor.js +2 -0
  357. package/dist/core/scoped-baseline.descriptor.js.map +1 -0
  358. package/dist/core/scoped-baseline.js +6 -0
  359. package/dist/core/scoped-baseline.js.map +1 -0
  360. package/dist/core/separator.css +10 -0
  361. package/dist/core/separator.d.ts +9 -0
  362. package/dist/core/separator.d.ts.map +1 -0
  363. package/dist/core/separator.js +8 -0
  364. package/dist/core/separator.js.map +1 -0
  365. package/dist/core/server/_surface.js +32 -0
  366. package/dist/core/server/_text.js +12 -0
  367. package/dist/core/server/box.js +7 -0
  368. package/dist/core/server/card.descriptor.js +1 -0
  369. package/dist/core/server/code.js +5 -0
  370. package/dist/core/server/heading.descriptor.js +33 -0
  371. package/dist/core/server/icon.js +23 -0
  372. package/dist/core/server/index.js +10 -0
  373. package/dist/core/server/profile.js +12 -0
  374. package/dist/core/server/scoped-baseline.descriptor.js +1 -0
  375. package/dist/core/server/scoped-baseline.js +5 -0
  376. package/dist/core/server/separator.js +7 -0
  377. package/dist/core/server/surface.descriptor.js +1 -0
  378. package/dist/core/server/surface.js +2 -0
  379. package/dist/core/server/text.descriptor.js +56 -0
  380. package/dist/core/server/text.js +2 -0
  381. package/dist/core/server/unstyled.js +3 -0
  382. package/dist/core/server/utils.js +12 -0
  383. package/dist/core/server/visually-hidden.js +5 -0
  384. package/dist/core/surface.css +35 -0
  385. package/dist/core/surface.d.ts +4 -0
  386. package/dist/core/surface.d.ts.map +1 -0
  387. package/dist/core/surface.descriptor.d.ts +14 -0
  388. package/dist/core/surface.descriptor.d.ts.map +1 -0
  389. package/dist/core/surface.descriptor.js +2 -0
  390. package/dist/core/surface.descriptor.js.map +1 -0
  391. package/dist/core/surface.js +3 -0
  392. package/dist/core/surface.js.map +1 -0
  393. package/dist/core/text.css +46 -0
  394. package/dist/core/text.d.ts +4 -0
  395. package/dist/core/text.d.ts.map +1 -0
  396. package/dist/core/text.descriptor.d.ts +16 -0
  397. package/dist/core/text.descriptor.d.ts.map +1 -0
  398. package/dist/core/text.descriptor.js +57 -0
  399. package/dist/core/text.descriptor.js.map +1 -0
  400. package/dist/core/text.js +3 -0
  401. package/dist/core/text.js.map +1 -0
  402. package/dist/core/unstyled.d.ts +6 -0
  403. package/dist/core/unstyled.d.ts.map +1 -0
  404. package/dist/core/unstyled.js +4 -0
  405. package/dist/core/unstyled.js.map +1 -0
  406. package/dist/core/utils.d.ts +8 -0
  407. package/dist/core/utils.d.ts.map +1 -0
  408. package/dist/core/utils.js +13 -0
  409. package/dist/core/utils.js.map +1 -0
  410. package/dist/core/visually-hidden.css +6 -0
  411. package/dist/core/visually-hidden.d.ts +5 -0
  412. package/dist/core/visually-hidden.d.ts.map +1 -0
  413. package/dist/core/visually-hidden.js +6 -0
  414. package/dist/core/visually-hidden.js.map +1 -0
  415. package/dist/devtools/design-exchange.d.ts +18 -0
  416. package/dist/devtools/design-exchange.d.ts.map +1 -0
  417. package/dist/devtools/design-exchange.js +57 -0
  418. package/dist/devtools/design-exchange.js.map +1 -0
  419. package/dist/devtools/editor.css +33 -0
  420. package/dist/devtools/figma.d.ts +107 -0
  421. package/dist/devtools/figma.d.ts.map +1 -0
  422. package/dist/devtools/figma.js +262 -0
  423. package/dist/devtools/figma.js.map +1 -0
  424. package/dist/devtools/index.d.ts +4 -0
  425. package/dist/devtools/index.d.ts.map +1 -0
  426. package/dist/devtools/index.js +4 -0
  427. package/dist/devtools/index.js.map +1 -0
  428. package/dist/devtools/inspector.d.ts +6 -0
  429. package/dist/devtools/inspector.d.ts.map +1 -0
  430. package/dist/devtools/inspector.js +4 -0
  431. package/dist/devtools/inspector.js.map +1 -0
  432. package/dist/devtools/server/design-exchange.js +56 -0
  433. package/dist/devtools/server/figma.js +261 -0
  434. package/dist/devtools/server/index.js +3 -0
  435. package/dist/devtools/server/inspector.js +3 -0
  436. package/dist/devtools/server/sheet-editor.js +32 -0
  437. package/dist/devtools/server/theme-editor.js +69 -0
  438. package/dist/devtools/server/theme-model.js +52 -0
  439. package/dist/devtools/sheet-editor.d.ts +13 -0
  440. package/dist/devtools/sheet-editor.d.ts.map +1 -0
  441. package/dist/devtools/sheet-editor.js +33 -0
  442. package/dist/devtools/sheet-editor.js.map +1 -0
  443. package/dist/devtools/theme-editor.d.ts +10 -0
  444. package/dist/devtools/theme-editor.d.ts.map +1 -0
  445. package/dist/devtools/theme-editor.js +70 -0
  446. package/dist/devtools/theme-editor.js.map +1 -0
  447. package/dist/devtools/theme-model.d.ts +10 -0
  448. package/dist/devtools/theme-model.d.ts.map +1 -0
  449. package/dist/devtools/theme-model.js +53 -0
  450. package/dist/devtools/theme-model.js.map +1 -0
  451. package/dist/display/_scroll-handoff.d.ts +4 -0
  452. package/dist/display/_scroll-handoff.d.ts.map +1 -0
  453. package/dist/display/_scroll-handoff.js +65 -0
  454. package/dist/display/_scroll-handoff.js.map +1 -0
  455. package/dist/display/avatar-group-model.d.ts +6 -0
  456. package/dist/display/avatar-group-model.d.ts.map +1 -0
  457. package/dist/display/avatar-group-model.js +8 -0
  458. package/dist/display/avatar-group-model.js.map +1 -0
  459. package/dist/display/avatar-group.css +7 -0
  460. package/dist/display/avatar-group.d.ts +11 -0
  461. package/dist/display/avatar-group.d.ts.map +1 -0
  462. package/dist/display/avatar-group.descriptor.d.ts +9 -0
  463. package/dist/display/avatar-group.descriptor.d.ts.map +1 -0
  464. package/dist/display/avatar-group.descriptor.js +2 -0
  465. package/dist/display/avatar-group.descriptor.js.map +1 -0
  466. package/dist/display/avatar-group.js +13 -0
  467. package/dist/display/avatar-group.js.map +1 -0
  468. package/dist/display/avatar.css +9 -0
  469. package/dist/display/avatar.d.ts +31 -0
  470. package/dist/display/avatar.d.ts.map +1 -0
  471. package/dist/display/avatar.descriptor.d.ts +14 -0
  472. package/dist/display/avatar.descriptor.d.ts.map +1 -0
  473. package/dist/display/avatar.descriptor.js +26 -0
  474. package/dist/display/avatar.descriptor.js.map +1 -0
  475. package/dist/display/avatar.js +10 -0
  476. package/dist/display/avatar.js.map +1 -0
  477. package/dist/display/image-list.css +12 -0
  478. package/dist/display/image-list.d.ts +19 -0
  479. package/dist/display/image-list.d.ts.map +1 -0
  480. package/dist/display/image-list.descriptor.d.ts +12 -0
  481. package/dist/display/image-list.descriptor.d.ts.map +1 -0
  482. package/dist/display/image-list.descriptor.js +2 -0
  483. package/dist/display/image-list.descriptor.js.map +1 -0
  484. package/dist/display/image-list.js +13 -0
  485. package/dist/display/image-list.js.map +1 -0
  486. package/dist/display/index.d.ts +10 -0
  487. package/dist/display/index.d.ts.map +1 -0
  488. package/dist/display/index.js +10 -0
  489. package/dist/display/index.js.map +1 -0
  490. package/dist/display/list.css +17 -0
  491. package/dist/display/list.d.ts +25 -0
  492. package/dist/display/list.d.ts.map +1 -0
  493. package/dist/display/list.descriptor.d.ts +9 -0
  494. package/dist/display/list.descriptor.d.ts.map +1 -0
  495. package/dist/display/list.descriptor.js +2 -0
  496. package/dist/display/list.descriptor.js.map +1 -0
  497. package/dist/display/list.js +11 -0
  498. package/dist/display/list.js.map +1 -0
  499. package/dist/display/packed-masonry.css +10 -0
  500. package/dist/display/packed-masonry.d.ts +14 -0
  501. package/dist/display/packed-masonry.d.ts.map +1 -0
  502. package/dist/display/packed-masonry.descriptor.d.ts +8 -0
  503. package/dist/display/packed-masonry.descriptor.d.ts.map +1 -0
  504. package/dist/display/packed-masonry.descriptor.js +2 -0
  505. package/dist/display/packed-masonry.descriptor.js.map +1 -0
  506. package/dist/display/packed-masonry.js +60 -0
  507. package/dist/display/packed-masonry.js.map +1 -0
  508. package/dist/display/scroll-area.css +67 -0
  509. package/dist/display/scroll-area.d.ts +68 -0
  510. package/dist/display/scroll-area.d.ts.map +1 -0
  511. package/dist/display/scroll-area.descriptor.d.ts +14 -0
  512. package/dist/display/scroll-area.descriptor.d.ts.map +1 -0
  513. package/dist/display/scroll-area.descriptor.js +29 -0
  514. package/dist/display/scroll-area.descriptor.js.map +1 -0
  515. package/dist/display/scroll-area.js +56 -0
  516. package/dist/display/scroll-area.js.map +1 -0
  517. package/dist/display/server/_scroll-handoff.js +64 -0
  518. package/dist/display/server/avatar-group-model.js +7 -0
  519. package/dist/display/server/avatar-group.descriptor.js +1 -0
  520. package/dist/display/server/avatar-group.js +12 -0
  521. package/dist/display/server/avatar.descriptor.js +25 -0
  522. package/dist/display/server/avatar.js +9 -0
  523. package/dist/display/server/image-list.descriptor.js +1 -0
  524. package/dist/display/server/image-list.js +12 -0
  525. package/dist/display/server/index.js +9 -0
  526. package/dist/display/server/list.descriptor.js +1 -0
  527. package/dist/display/server/list.js +10 -0
  528. package/dist/display/server/packed-masonry.descriptor.js +1 -0
  529. package/dist/display/server/packed-masonry.js +59 -0
  530. package/dist/display/server/scroll-area.descriptor.js +28 -0
  531. package/dist/display/server/scroll-area.js +55 -0
  532. package/dist/display/server/table-controls.js +25 -0
  533. package/dist/display/server/table-pagination-model.js +14 -0
  534. package/dist/display/server/table-pagination.descriptor.js +1 -0
  535. package/dist/display/server/table-sort-label.descriptor.js +1 -0
  536. package/dist/display/server/table.js +13 -0
  537. package/dist/display/server/timeline-item.descriptor.js +22 -0
  538. package/dist/display/server/timeline.descriptor.js +1 -0
  539. package/dist/display/server/timeline.js +8 -0
  540. package/dist/display/table-controls.css +18 -0
  541. package/dist/display/table-controls.d.ts +25 -0
  542. package/dist/display/table-controls.d.ts.map +1 -0
  543. package/dist/display/table-controls.js +26 -0
  544. package/dist/display/table-controls.js.map +1 -0
  545. package/dist/display/table-pagination-model.d.ts +8 -0
  546. package/dist/display/table-pagination-model.d.ts.map +1 -0
  547. package/dist/display/table-pagination-model.js +15 -0
  548. package/dist/display/table-pagination-model.js.map +1 -0
  549. package/dist/display/table-pagination.descriptor.d.ts +9 -0
  550. package/dist/display/table-pagination.descriptor.d.ts.map +1 -0
  551. package/dist/display/table-pagination.descriptor.js +2 -0
  552. package/dist/display/table-pagination.descriptor.js.map +1 -0
  553. package/dist/display/table-sort-label.descriptor.d.ts +9 -0
  554. package/dist/display/table-sort-label.descriptor.d.ts.map +1 -0
  555. package/dist/display/table-sort-label.descriptor.js +2 -0
  556. package/dist/display/table-sort-label.descriptor.js.map +1 -0
  557. package/dist/display/table.css +4 -0
  558. package/dist/display/table.d.ts +27 -0
  559. package/dist/display/table.d.ts.map +1 -0
  560. package/dist/display/table.js +14 -0
  561. package/dist/display/table.js.map +1 -0
  562. package/dist/display/timeline-item.descriptor.d.ts +12 -0
  563. package/dist/display/timeline-item.descriptor.d.ts.map +1 -0
  564. package/dist/display/timeline-item.descriptor.js +23 -0
  565. package/dist/display/timeline-item.descriptor.js.map +1 -0
  566. package/dist/display/timeline.css +31 -0
  567. package/dist/display/timeline.d.ts +21 -0
  568. package/dist/display/timeline.d.ts.map +1 -0
  569. package/dist/display/timeline.descriptor.d.ts +13 -0
  570. package/dist/display/timeline.descriptor.d.ts.map +1 -0
  571. package/dist/display/timeline.descriptor.js +2 -0
  572. package/dist/display/timeline.descriptor.js.map +1 -0
  573. package/dist/display/timeline.js +9 -0
  574. package/dist/display/timeline.js.map +1 -0
  575. package/dist/example-extension/activity.css +2 -0
  576. package/dist/example-extension/activity.manifest.d.ts +2 -0
  577. package/dist/example-extension/activity.manifest.d.ts.map +1 -0
  578. package/dist/example-extension/activity.manifest.js +3 -0
  579. package/dist/example-extension/activity.manifest.js.map +1 -0
  580. package/dist/example-extension/assets.d.ts +3 -0
  581. package/dist/example-extension/assets.d.ts.map +1 -0
  582. package/dist/example-extension/assets.js +7 -0
  583. package/dist/example-extension/assets.js.map +1 -0
  584. package/dist/example-extension/index.d.ts +6 -0
  585. package/dist/example-extension/index.d.ts.map +1 -0
  586. package/dist/example-extension/index.js +5 -0
  587. package/dist/example-extension/index.js.map +1 -0
  588. package/dist/example-extension/server/activity.manifest.js +2 -0
  589. package/dist/example-extension/server/assets.js +6 -0
  590. package/dist/example-extension/server/index.js +4 -0
  591. package/dist/example-extension/server/unstyled.js +11 -0
  592. package/dist/example-extension/unstyled.d.ts +15 -0
  593. package/dist/example-extension/unstyled.d.ts.map +1 -0
  594. package/dist/example-extension/unstyled.js +12 -0
  595. package/dist/example-extension/unstyled.js.map +1 -0
  596. package/dist/extensions/index.d.ts +5 -0
  597. package/dist/extensions/index.d.ts.map +1 -0
  598. package/dist/extensions/index.js +54 -0
  599. package/dist/extensions/index.js.map +1 -0
  600. package/dist/extensions/server/index.js +53 -0
  601. package/dist/feedback/_progress-value.d.ts +6 -0
  602. package/dist/feedback/_progress-value.d.ts.map +1 -0
  603. package/dist/feedback/_progress-value.js +10 -0
  604. package/dist/feedback/_progress-value.js.map +1 -0
  605. package/dist/feedback/_status-icon.d.ts +5 -0
  606. package/dist/feedback/_status-icon.d.ts.map +1 -0
  607. package/dist/feedback/_status-icon.js +9 -0
  608. package/dist/feedback/_status-icon.js.map +1 -0
  609. package/dist/feedback/alert.css +9 -0
  610. package/dist/feedback/alert.d.ts +14 -0
  611. package/dist/feedback/alert.d.ts.map +1 -0
  612. package/dist/feedback/alert.descriptor.d.ts +2 -0
  613. package/dist/feedback/alert.descriptor.d.ts.map +1 -0
  614. package/dist/feedback/alert.descriptor.js +3 -0
  615. package/dist/feedback/alert.descriptor.js.map +1 -0
  616. package/dist/feedback/alert.js +13 -0
  617. package/dist/feedback/alert.js.map +1 -0
  618. package/dist/feedback/badge-indicator.css +11 -0
  619. package/dist/feedback/badge-indicator.d.ts +21 -0
  620. package/dist/feedback/badge-indicator.d.ts.map +1 -0
  621. package/dist/feedback/badge-indicator.descriptor.d.ts +16 -0
  622. package/dist/feedback/badge-indicator.descriptor.d.ts.map +1 -0
  623. package/dist/feedback/badge-indicator.descriptor.js +29 -0
  624. package/dist/feedback/badge-indicator.descriptor.js.map +1 -0
  625. package/dist/feedback/badge-indicator.js +12 -0
  626. package/dist/feedback/badge-indicator.js.map +1 -0
  627. package/dist/feedback/badge.css +4 -0
  628. package/dist/feedback/badge.d.ts +14 -0
  629. package/dist/feedback/badge.d.ts.map +1 -0
  630. package/dist/feedback/badge.descriptor.d.ts +2 -0
  631. package/dist/feedback/badge.descriptor.d.ts.map +1 -0
  632. package/dist/feedback/badge.descriptor.js +3 -0
  633. package/dist/feedback/badge.descriptor.js.map +1 -0
  634. package/dist/feedback/badge.js +11 -0
  635. package/dist/feedback/badge.js.map +1 -0
  636. package/dist/feedback/circular-progress.css +14 -0
  637. package/dist/feedback/circular-progress.d.ts +15 -0
  638. package/dist/feedback/circular-progress.d.ts.map +1 -0
  639. package/dist/feedback/circular-progress.descriptor.d.ts +12 -0
  640. package/dist/feedback/circular-progress.descriptor.d.ts.map +1 -0
  641. package/dist/feedback/circular-progress.descriptor.js +2 -0
  642. package/dist/feedback/circular-progress.descriptor.js.map +1 -0
  643. package/dist/feedback/circular-progress.js +14 -0
  644. package/dist/feedback/circular-progress.js.map +1 -0
  645. package/dist/feedback/index.d.ts +9 -0
  646. package/dist/feedback/index.d.ts.map +1 -0
  647. package/dist/feedback/index.js +9 -0
  648. package/dist/feedback/index.js.map +1 -0
  649. package/dist/feedback/loading.css +14 -0
  650. package/dist/feedback/loading.d.ts +18 -0
  651. package/dist/feedback/loading.d.ts.map +1 -0
  652. package/dist/feedback/loading.descriptor.d.ts +25 -0
  653. package/dist/feedback/loading.descriptor.d.ts.map +1 -0
  654. package/dist/feedback/loading.descriptor.js +3 -0
  655. package/dist/feedback/loading.descriptor.js.map +1 -0
  656. package/dist/feedback/loading.js +7 -0
  657. package/dist/feedback/loading.js.map +1 -0
  658. package/dist/feedback/meter.css +14 -0
  659. package/dist/feedback/meter.d.ts +49 -0
  660. package/dist/feedback/meter.d.ts.map +1 -0
  661. package/dist/feedback/meter.descriptor.d.ts +14 -0
  662. package/dist/feedback/meter.descriptor.d.ts.map +1 -0
  663. package/dist/feedback/meter.descriptor.js +28 -0
  664. package/dist/feedback/meter.descriptor.js.map +1 -0
  665. package/dist/feedback/meter.js +12 -0
  666. package/dist/feedback/meter.js.map +1 -0
  667. package/dist/feedback/progress.css +27 -0
  668. package/dist/feedback/progress.d.ts +73 -0
  669. package/dist/feedback/progress.d.ts.map +1 -0
  670. package/dist/feedback/progress.descriptor.d.ts +14 -0
  671. package/dist/feedback/progress.descriptor.d.ts.map +1 -0
  672. package/dist/feedback/progress.descriptor.js +29 -0
  673. package/dist/feedback/progress.descriptor.js.map +1 -0
  674. package/dist/feedback/progress.js +22 -0
  675. package/dist/feedback/progress.js.map +1 -0
  676. package/dist/feedback/server/_progress-value.js +9 -0
  677. package/dist/feedback/server/_status-icon.js +8 -0
  678. package/dist/feedback/server/alert.descriptor.js +2 -0
  679. package/dist/feedback/server/alert.js +12 -0
  680. package/dist/feedback/server/badge-indicator.descriptor.js +28 -0
  681. package/dist/feedback/server/badge-indicator.js +11 -0
  682. package/dist/feedback/server/badge.descriptor.js +2 -0
  683. package/dist/feedback/server/badge.js +10 -0
  684. package/dist/feedback/server/circular-progress.descriptor.js +1 -0
  685. package/dist/feedback/server/circular-progress.js +13 -0
  686. package/dist/feedback/server/index.js +8 -0
  687. package/dist/feedback/server/loading.descriptor.js +2 -0
  688. package/dist/feedback/server/loading.js +6 -0
  689. package/dist/feedback/server/meter.descriptor.js +27 -0
  690. package/dist/feedback/server/meter.js +11 -0
  691. package/dist/feedback/server/progress.descriptor.js +28 -0
  692. package/dist/feedback/server/progress.js +21 -0
  693. package/dist/feedback/server/toast.descriptor.js +38 -0
  694. package/dist/feedback/server/toast.js +60 -0
  695. package/dist/feedback/toast.css +64 -0
  696. package/dist/feedback/toast.d.ts +120 -0
  697. package/dist/feedback/toast.d.ts.map +1 -0
  698. package/dist/feedback/toast.descriptor.d.ts +14 -0
  699. package/dist/feedback/toast.descriptor.d.ts.map +1 -0
  700. package/dist/feedback/toast.descriptor.js +39 -0
  701. package/dist/feedback/toast.descriptor.js.map +1 -0
  702. package/dist/feedback/toast.js +61 -0
  703. package/dist/feedback/toast.js.map +1 -0
  704. package/dist/hooks/click-away.d.ts +11 -0
  705. package/dist/hooks/click-away.d.ts.map +1 -0
  706. package/dist/hooks/click-away.js +11 -0
  707. package/dist/hooks/click-away.js.map +1 -0
  708. package/dist/hooks/client-only.d.ts +7 -0
  709. package/dist/hooks/client-only.d.ts.map +1 -0
  710. package/dist/hooks/client-only.js +5 -0
  711. package/dist/hooks/client-only.js.map +1 -0
  712. package/dist/hooks/index.d.ts +27 -0
  713. package/dist/hooks/index.d.ts.map +1 -0
  714. package/dist/hooks/index.js +43 -0
  715. package/dist/hooks/index.js.map +1 -0
  716. package/dist/hooks/outside-press.d.ts +10 -0
  717. package/dist/hooks/outside-press.d.ts.map +1 -0
  718. package/dist/hooks/outside-press.js +24 -0
  719. package/dist/hooks/outside-press.js.map +1 -0
  720. package/dist/hooks/scroll-trigger.d.ts +19 -0
  721. package/dist/hooks/scroll-trigger.d.ts.map +1 -0
  722. package/dist/hooks/scroll-trigger.js +44 -0
  723. package/dist/hooks/scroll-trigger.js.map +1 -0
  724. package/dist/hooks/server/click-away.js +10 -0
  725. package/dist/hooks/server/client-only.js +4 -0
  726. package/dist/hooks/server/index.js +42 -0
  727. package/dist/hooks/server/outside-press.js +23 -0
  728. package/dist/hooks/server/scroll-trigger.js +43 -0
  729. package/dist/icons/faye-mark.d.ts +14 -0
  730. package/dist/icons/faye-mark.d.ts.map +1 -0
  731. package/dist/icons/faye-mark.js +9 -0
  732. package/dist/icons/faye-mark.js.map +1 -0
  733. package/dist/icons/index.d.ts +2 -0
  734. package/dist/icons/index.d.ts.map +1 -0
  735. package/dist/icons/index.js +2 -0
  736. package/dist/icons/index.js.map +1 -0
  737. package/dist/icons/server/faye-mark.js +8 -0
  738. package/dist/icons/server/index.js +1 -0
  739. package/dist/integrations/bootstrap.d.ts +21 -0
  740. package/dist/integrations/bootstrap.d.ts.map +1 -0
  741. package/dist/integrations/bootstrap.js +34 -0
  742. package/dist/integrations/bootstrap.js.map +1 -0
  743. package/dist/integrations/deferred-assets.d.ts +22 -0
  744. package/dist/integrations/deferred-assets.d.ts.map +1 -0
  745. package/dist/integrations/deferred-assets.js +152 -0
  746. package/dist/integrations/deferred-assets.js.map +1 -0
  747. package/dist/integrations/index.d.ts +3 -0
  748. package/dist/integrations/index.d.ts.map +1 -0
  749. package/dist/integrations/index.js +3 -0
  750. package/dist/integrations/index.js.map +1 -0
  751. package/dist/integrations/react.d.ts +10 -0
  752. package/dist/integrations/react.d.ts.map +1 -0
  753. package/dist/integrations/react.js +6 -0
  754. package/dist/integrations/react.js.map +1 -0
  755. package/dist/integrations/server/bootstrap.js +33 -0
  756. package/dist/integrations/server/deferred-assets.js +151 -0
  757. package/dist/integrations/server/index.js +2 -0
  758. package/dist/integrations/server/react.js +5 -0
  759. package/dist/layout/grid-item.d.ts +14 -0
  760. package/dist/layout/grid-item.d.ts.map +1 -0
  761. package/dist/layout/grid-item.descriptor.d.ts +9 -0
  762. package/dist/layout/grid-item.descriptor.d.ts.map +1 -0
  763. package/dist/layout/grid-item.descriptor.js +2 -0
  764. package/dist/layout/grid-item.descriptor.js.map +1 -0
  765. package/dist/layout/grid-item.js +6 -0
  766. package/dist/layout/grid-item.js.map +1 -0
  767. package/dist/layout/index.d.ts +5 -0
  768. package/dist/layout/index.d.ts.map +1 -0
  769. package/dist/layout/index.js +5 -0
  770. package/dist/layout/index.js.map +1 -0
  771. package/dist/layout/layout.css +16 -0
  772. package/dist/layout/layout.d.ts +53 -0
  773. package/dist/layout/layout.d.ts.map +1 -0
  774. package/dist/layout/layout.js +29 -0
  775. package/dist/layout/layout.js.map +1 -0
  776. package/dist/layout/masonry.css +2 -0
  777. package/dist/layout/masonry.d.ts +13 -0
  778. package/dist/layout/masonry.d.ts.map +1 -0
  779. package/dist/layout/masonry.descriptor.d.ts +9 -0
  780. package/dist/layout/masonry.descriptor.d.ts.map +1 -0
  781. package/dist/layout/masonry.descriptor.js +2 -0
  782. package/dist/layout/masonry.descriptor.js.map +1 -0
  783. package/dist/layout/masonry.js +8 -0
  784. package/dist/layout/masonry.js.map +1 -0
  785. package/dist/layout/responsive.css +753 -0
  786. package/dist/layout/responsive.d.ts +4 -0
  787. package/dist/layout/responsive.d.ts.map +1 -0
  788. package/dist/layout/responsive.js +9 -0
  789. package/dist/layout/responsive.js.map +1 -0
  790. package/dist/layout/server/grid-item.descriptor.js +1 -0
  791. package/dist/layout/server/grid-item.js +5 -0
  792. package/dist/layout/server/index.js +4 -0
  793. package/dist/layout/server/layout.js +28 -0
  794. package/dist/layout/server/masonry.descriptor.js +1 -0
  795. package/dist/layout/server/masonry.js +7 -0
  796. package/dist/layout/server/responsive.js +8 -0
  797. package/dist/motion/index.d.ts +4 -0
  798. package/dist/motion/index.d.ts.map +1 -0
  799. package/dist/motion/index.js +4 -0
  800. package/dist/motion/index.js.map +1 -0
  801. package/dist/motion/presence.css +34 -0
  802. package/dist/motion/presence.d.ts +25 -0
  803. package/dist/motion/presence.d.ts.map +1 -0
  804. package/dist/motion/presence.js +94 -0
  805. package/dist/motion/presence.js.map +1 -0
  806. package/dist/motion/server/index.js +3 -0
  807. package/dist/motion/server/presence.js +93 -0
  808. package/dist/motion/server/timing.js +23 -0
  809. package/dist/motion/server/transition-group.js +62 -0
  810. package/dist/motion/timing.d.ts +5 -0
  811. package/dist/motion/timing.d.ts.map +1 -0
  812. package/dist/motion/timing.js +24 -0
  813. package/dist/motion/timing.js.map +1 -0
  814. package/dist/motion/transition-group.d.ts +17 -0
  815. package/dist/motion/transition-group.d.ts.map +1 -0
  816. package/dist/motion/transition-group.js +63 -0
  817. package/dist/motion/transition-group.js.map +1 -0
  818. package/dist/navigation/accordion.css +42 -0
  819. package/dist/navigation/accordion.d.ts +52 -0
  820. package/dist/navigation/accordion.d.ts.map +1 -0
  821. package/dist/navigation/accordion.descriptor.d.ts +16 -0
  822. package/dist/navigation/accordion.descriptor.d.ts.map +1 -0
  823. package/dist/navigation/accordion.descriptor.js +29 -0
  824. package/dist/navigation/accordion.descriptor.js.map +1 -0
  825. package/dist/navigation/accordion.js +20 -0
  826. package/dist/navigation/accordion.js.map +1 -0
  827. package/dist/navigation/breadcrumbs.css +2 -0
  828. package/dist/navigation/breadcrumbs.d.ts +16 -0
  829. package/dist/navigation/breadcrumbs.d.ts.map +1 -0
  830. package/dist/navigation/breadcrumbs.descriptor.d.ts +2 -0
  831. package/dist/navigation/breadcrumbs.descriptor.d.ts.map +1 -0
  832. package/dist/navigation/breadcrumbs.descriptor.js +3 -0
  833. package/dist/navigation/breadcrumbs.descriptor.js.map +1 -0
  834. package/dist/navigation/breadcrumbs.js +14 -0
  835. package/dist/navigation/breadcrumbs.js.map +1 -0
  836. package/dist/navigation/collapsible.css +22 -0
  837. package/dist/navigation/collapsible.d.ts +31 -0
  838. package/dist/navigation/collapsible.d.ts.map +1 -0
  839. package/dist/navigation/collapsible.descriptor.d.ts +14 -0
  840. package/dist/navigation/collapsible.descriptor.d.ts.map +1 -0
  841. package/dist/navigation/collapsible.descriptor.js +26 -0
  842. package/dist/navigation/collapsible.descriptor.js.map +1 -0
  843. package/dist/navigation/collapsible.js +10 -0
  844. package/dist/navigation/collapsible.js.map +1 -0
  845. package/dist/navigation/index.d.ts +12 -0
  846. package/dist/navigation/index.d.ts.map +1 -0
  847. package/dist/navigation/index.js +12 -0
  848. package/dist/navigation/index.js.map +1 -0
  849. package/dist/navigation/menubar.css +2 -0
  850. package/dist/navigation/menubar.d.ts +8 -0
  851. package/dist/navigation/menubar.d.ts.map +1 -0
  852. package/dist/navigation/menubar.descriptor.d.ts +2 -0
  853. package/dist/navigation/menubar.descriptor.d.ts.map +1 -0
  854. package/dist/navigation/menubar.descriptor.js +3 -0
  855. package/dist/navigation/menubar.descriptor.js.map +1 -0
  856. package/dist/navigation/menubar.js +6 -0
  857. package/dist/navigation/menubar.js.map +1 -0
  858. package/dist/navigation/mobile-stepper.css +11 -0
  859. package/dist/navigation/mobile-stepper.d.ts +16 -0
  860. package/dist/navigation/mobile-stepper.d.ts.map +1 -0
  861. package/dist/navigation/mobile-stepper.descriptor.d.ts +12 -0
  862. package/dist/navigation/mobile-stepper.descriptor.d.ts.map +1 -0
  863. package/dist/navigation/mobile-stepper.descriptor.js +2 -0
  864. package/dist/navigation/mobile-stepper.descriptor.js.map +1 -0
  865. package/dist/navigation/mobile-stepper.js +11 -0
  866. package/dist/navigation/mobile-stepper.js.map +1 -0
  867. package/dist/navigation/navigation-menu.css +27 -0
  868. package/dist/navigation/navigation-menu.d.ts +99 -0
  869. package/dist/navigation/navigation-menu.d.ts.map +1 -0
  870. package/dist/navigation/navigation-menu.descriptor.d.ts +14 -0
  871. package/dist/navigation/navigation-menu.descriptor.d.ts.map +1 -0
  872. package/dist/navigation/navigation-menu.descriptor.js +33 -0
  873. package/dist/navigation/navigation-menu.descriptor.js.map +1 -0
  874. package/dist/navigation/navigation-menu.js +21 -0
  875. package/dist/navigation/navigation-menu.js.map +1 -0
  876. package/dist/navigation/pagination-model.d.ts +3 -0
  877. package/dist/navigation/pagination-model.d.ts.map +1 -0
  878. package/dist/navigation/pagination-model.js +26 -0
  879. package/dist/navigation/pagination-model.js.map +1 -0
  880. package/dist/navigation/pagination.css +11 -0
  881. package/dist/navigation/pagination.d.ts +26 -0
  882. package/dist/navigation/pagination.d.ts.map +1 -0
  883. package/dist/navigation/pagination.descriptor.d.ts +2 -0
  884. package/dist/navigation/pagination.descriptor.d.ts.map +1 -0
  885. package/dist/navigation/pagination.descriptor.js +3 -0
  886. package/dist/navigation/pagination.descriptor.js.map +1 -0
  887. package/dist/navigation/pagination.js +21 -0
  888. package/dist/navigation/pagination.js.map +1 -0
  889. package/dist/navigation/server/accordion.descriptor.js +28 -0
  890. package/dist/navigation/server/accordion.js +19 -0
  891. package/dist/navigation/server/breadcrumbs.descriptor.js +2 -0
  892. package/dist/navigation/server/breadcrumbs.js +13 -0
  893. package/dist/navigation/server/collapsible.descriptor.js +25 -0
  894. package/dist/navigation/server/collapsible.js +9 -0
  895. package/dist/navigation/server/index.js +11 -0
  896. package/dist/navigation/server/menubar.descriptor.js +2 -0
  897. package/dist/navigation/server/menubar.js +5 -0
  898. package/dist/navigation/server/mobile-stepper.descriptor.js +1 -0
  899. package/dist/navigation/server/mobile-stepper.js +10 -0
  900. package/dist/navigation/server/navigation-menu.descriptor.js +32 -0
  901. package/dist/navigation/server/navigation-menu.js +20 -0
  902. package/dist/navigation/server/pagination-model.js +25 -0
  903. package/dist/navigation/server/pagination.descriptor.js +2 -0
  904. package/dist/navigation/server/pagination.js +20 -0
  905. package/dist/navigation/server/stepper.descriptor.js +1 -0
  906. package/dist/navigation/server/stepper.js +20 -0
  907. package/dist/navigation/server/tabs.descriptor.js +29 -0
  908. package/dist/navigation/server/tabs.js +62 -0
  909. package/dist/navigation/server/toolbar.descriptor.js +28 -0
  910. package/dist/navigation/server/toolbar.js +12 -0
  911. package/dist/navigation/stepper.css +17 -0
  912. package/dist/navigation/stepper.d.ts +27 -0
  913. package/dist/navigation/stepper.d.ts.map +1 -0
  914. package/dist/navigation/stepper.descriptor.d.ts +14 -0
  915. package/dist/navigation/stepper.descriptor.d.ts.map +1 -0
  916. package/dist/navigation/stepper.descriptor.js +2 -0
  917. package/dist/navigation/stepper.descriptor.js.map +1 -0
  918. package/dist/navigation/stepper.js +21 -0
  919. package/dist/navigation/stepper.js.map +1 -0
  920. package/dist/navigation/tabs.css +57 -0
  921. package/dist/navigation/tabs.d.ts +70 -0
  922. package/dist/navigation/tabs.d.ts.map +1 -0
  923. package/dist/navigation/tabs.descriptor.d.ts +14 -0
  924. package/dist/navigation/tabs.descriptor.d.ts.map +1 -0
  925. package/dist/navigation/tabs.descriptor.js +30 -0
  926. package/dist/navigation/tabs.descriptor.js.map +1 -0
  927. package/dist/navigation/tabs.js +63 -0
  928. package/dist/navigation/tabs.js.map +1 -0
  929. package/dist/navigation/toolbar.css +48 -0
  930. package/dist/navigation/toolbar.d.ts +58 -0
  931. package/dist/navigation/toolbar.d.ts.map +1 -0
  932. package/dist/navigation/toolbar.descriptor.d.ts +14 -0
  933. package/dist/navigation/toolbar.descriptor.d.ts.map +1 -0
  934. package/dist/navigation/toolbar.descriptor.js +29 -0
  935. package/dist/navigation/toolbar.descriptor.js.map +1 -0
  936. package/dist/navigation/toolbar.js +13 -0
  937. package/dist/navigation/toolbar.js.map +1 -0
  938. package/dist/nextjs/index.d.ts +7 -0
  939. package/dist/nextjs/index.d.ts.map +1 -0
  940. package/dist/nextjs/index.js +17 -0
  941. package/dist/nextjs/index.js.map +1 -0
  942. package/dist/nextjs/server/index.js +16 -0
  943. package/dist/overlays/_dismiss.css +16 -0
  944. package/dist/overlays/_dismiss.d.ts +10 -0
  945. package/dist/overlays/_dismiss.d.ts.map +1 -0
  946. package/dist/overlays/_dismiss.js +25 -0
  947. package/dist/overlays/_dismiss.js.map +1 -0
  948. package/dist/overlays/_popup-scroll.d.ts +4 -0
  949. package/dist/overlays/_popup-scroll.d.ts.map +1 -0
  950. package/dist/overlays/_popup-scroll.js +65 -0
  951. package/dist/overlays/_popup-scroll.js.map +1 -0
  952. package/dist/overlays/_scroll-lock.d.ts +6 -0
  953. package/dist/overlays/_scroll-lock.d.ts.map +1 -0
  954. package/dist/overlays/_scroll-lock.js +86 -0
  955. package/dist/overlays/_scroll-lock.js.map +1 -0
  956. package/dist/overlays/alert-dialog.css +32 -0
  957. package/dist/overlays/alert-dialog.d.ts +98 -0
  958. package/dist/overlays/alert-dialog.d.ts.map +1 -0
  959. package/dist/overlays/alert-dialog.descriptor.d.ts +14 -0
  960. package/dist/overlays/alert-dialog.descriptor.d.ts.map +1 -0
  961. package/dist/overlays/alert-dialog.descriptor.js +33 -0
  962. package/dist/overlays/alert-dialog.descriptor.js.map +1 -0
  963. package/dist/overlays/alert-dialog.js +23 -0
  964. package/dist/overlays/alert-dialog.js.map +1 -0
  965. package/dist/overlays/backdrop.css +2 -0
  966. package/dist/overlays/backdrop.d.ts +5 -0
  967. package/dist/overlays/backdrop.d.ts.map +1 -0
  968. package/dist/overlays/backdrop.js +6 -0
  969. package/dist/overlays/backdrop.js.map +1 -0
  970. package/dist/overlays/context-menu.css +12 -0
  971. package/dist/overlays/context-menu.d.ts +19 -0
  972. package/dist/overlays/context-menu.d.ts.map +1 -0
  973. package/dist/overlays/context-menu.descriptor.d.ts +14 -0
  974. package/dist/overlays/context-menu.descriptor.d.ts.map +1 -0
  975. package/dist/overlays/context-menu.descriptor.js +24 -0
  976. package/dist/overlays/context-menu.descriptor.js.map +1 -0
  977. package/dist/overlays/context-menu.js +29 -0
  978. package/dist/overlays/context-menu.js.map +1 -0
  979. package/dist/overlays/dialog.css +33 -0
  980. package/dist/overlays/dialog.d.ts +101 -0
  981. package/dist/overlays/dialog.d.ts.map +1 -0
  982. package/dist/overlays/dialog.descriptor.d.ts +14 -0
  983. package/dist/overlays/dialog.descriptor.d.ts.map +1 -0
  984. package/dist/overlays/dialog.descriptor.js +33 -0
  985. package/dist/overlays/dialog.descriptor.js.map +1 -0
  986. package/dist/overlays/dialog.js +45 -0
  987. package/dist/overlays/dialog.js.map +1 -0
  988. package/dist/overlays/drawer.css +12 -0
  989. package/dist/overlays/drawer.d.ts +13 -0
  990. package/dist/overlays/drawer.d.ts.map +1 -0
  991. package/dist/overlays/drawer.js +9 -0
  992. package/dist/overlays/drawer.js.map +1 -0
  993. package/dist/overlays/index.d.ts +15 -0
  994. package/dist/overlays/index.d.ts.map +1 -0
  995. package/dist/overlays/index.js +15 -0
  996. package/dist/overlays/index.js.map +1 -0
  997. package/dist/overlays/interaction-hint.css +5 -0
  998. package/dist/overlays/interaction-hint.d.ts +16 -0
  999. package/dist/overlays/interaction-hint.d.ts.map +1 -0
  1000. package/dist/overlays/interaction-hint.js +63 -0
  1001. package/dist/overlays/interaction-hint.js.map +1 -0
  1002. package/dist/overlays/menu.css +67 -0
  1003. package/dist/overlays/menu.d.ts +157 -0
  1004. package/dist/overlays/menu.d.ts.map +1 -0
  1005. package/dist/overlays/menu.descriptor.d.ts +14 -0
  1006. package/dist/overlays/menu.descriptor.d.ts.map +1 -0
  1007. package/dist/overlays/menu.descriptor.js +34 -0
  1008. package/dist/overlays/menu.descriptor.js.map +1 -0
  1009. package/dist/overlays/menu.js +36 -0
  1010. package/dist/overlays/menu.js.map +1 -0
  1011. package/dist/overlays/modal.css +7 -0
  1012. package/dist/overlays/modal.d.ts +20 -0
  1013. package/dist/overlays/modal.d.ts.map +1 -0
  1014. package/dist/overlays/modal.js +8 -0
  1015. package/dist/overlays/modal.js.map +1 -0
  1016. package/dist/overlays/popover.css +29 -0
  1017. package/dist/overlays/popover.d.ts +85 -0
  1018. package/dist/overlays/popover.d.ts.map +1 -0
  1019. package/dist/overlays/popover.descriptor.d.ts +14 -0
  1020. package/dist/overlays/popover.descriptor.d.ts.map +1 -0
  1021. package/dist/overlays/popover.descriptor.js +30 -0
  1022. package/dist/overlays/popover.descriptor.js.map +1 -0
  1023. package/dist/overlays/popover.js +22 -0
  1024. package/dist/overlays/popover.js.map +1 -0
  1025. package/dist/overlays/popper.css +2 -0
  1026. package/dist/overlays/popper.d.ts +17 -0
  1027. package/dist/overlays/popper.d.ts.map +1 -0
  1028. package/dist/overlays/popper.descriptor.d.ts +9 -0
  1029. package/dist/overlays/popper.descriptor.d.ts.map +1 -0
  1030. package/dist/overlays/popper.descriptor.js +2 -0
  1031. package/dist/overlays/popper.descriptor.js.map +1 -0
  1032. package/dist/overlays/popper.js +42 -0
  1033. package/dist/overlays/popper.js.map +1 -0
  1034. package/dist/overlays/portal.d.ts +8 -0
  1035. package/dist/overlays/portal.d.ts.map +1 -0
  1036. package/dist/overlays/portal.js +16 -0
  1037. package/dist/overlays/portal.js.map +1 -0
  1038. package/dist/overlays/preview-card.css +29 -0
  1039. package/dist/overlays/preview-card.d.ts +46 -0
  1040. package/dist/overlays/preview-card.d.ts.map +1 -0
  1041. package/dist/overlays/preview-card.descriptor.d.ts +14 -0
  1042. package/dist/overlays/preview-card.descriptor.d.ts.map +1 -0
  1043. package/dist/overlays/preview-card.descriptor.js +27 -0
  1044. package/dist/overlays/preview-card.descriptor.js.map +1 -0
  1045. package/dist/overlays/preview-card.js +18 -0
  1046. package/dist/overlays/preview-card.js.map +1 -0
  1047. package/dist/overlays/server/_dismiss.js +24 -0
  1048. package/dist/overlays/server/_popup-scroll.js +64 -0
  1049. package/dist/overlays/server/_scroll-lock.js +85 -0
  1050. package/dist/overlays/server/alert-dialog.descriptor.js +32 -0
  1051. package/dist/overlays/server/alert-dialog.js +22 -0
  1052. package/dist/overlays/server/backdrop.js +5 -0
  1053. package/dist/overlays/server/context-menu.descriptor.js +23 -0
  1054. package/dist/overlays/server/context-menu.js +28 -0
  1055. package/dist/overlays/server/dialog.descriptor.js +32 -0
  1056. package/dist/overlays/server/dialog.js +44 -0
  1057. package/dist/overlays/server/drawer.js +8 -0
  1058. package/dist/overlays/server/index.js +14 -0
  1059. package/dist/overlays/server/interaction-hint.js +62 -0
  1060. package/dist/overlays/server/menu.descriptor.js +33 -0
  1061. package/dist/overlays/server/menu.js +35 -0
  1062. package/dist/overlays/server/modal.js +7 -0
  1063. package/dist/overlays/server/popover.descriptor.js +29 -0
  1064. package/dist/overlays/server/popover.js +21 -0
  1065. package/dist/overlays/server/popper.descriptor.js +1 -0
  1066. package/dist/overlays/server/popper.js +41 -0
  1067. package/dist/overlays/server/portal.js +15 -0
  1068. package/dist/overlays/server/preview-card.descriptor.js +26 -0
  1069. package/dist/overlays/server/preview-card.js +17 -0
  1070. package/dist/overlays/server/swipe-drawer.descriptor.js +1 -0
  1071. package/dist/overlays/server/swipe-drawer.js +44 -0
  1072. package/dist/overlays/server/tooltip.descriptor.js +26 -0
  1073. package/dist/overlays/server/tooltip.js +102 -0
  1074. package/dist/overlays/swipe-drawer.css +30 -0
  1075. package/dist/overlays/swipe-drawer.d.ts +86 -0
  1076. package/dist/overlays/swipe-drawer.d.ts.map +1 -0
  1077. package/dist/overlays/swipe-drawer.descriptor.d.ts +8 -0
  1078. package/dist/overlays/swipe-drawer.descriptor.d.ts.map +1 -0
  1079. package/dist/overlays/swipe-drawer.descriptor.js +2 -0
  1080. package/dist/overlays/swipe-drawer.descriptor.js.map +1 -0
  1081. package/dist/overlays/swipe-drawer.js +45 -0
  1082. package/dist/overlays/swipe-drawer.js.map +1 -0
  1083. package/dist/overlays/tooltip.css +29 -0
  1084. package/dist/overlays/tooltip.d.ts +63 -0
  1085. package/dist/overlays/tooltip.d.ts.map +1 -0
  1086. package/dist/overlays/tooltip.descriptor.d.ts +14 -0
  1087. package/dist/overlays/tooltip.descriptor.d.ts.map +1 -0
  1088. package/dist/overlays/tooltip.descriptor.js +27 -0
  1089. package/dist/overlays/tooltip.descriptor.js.map +1 -0
  1090. package/dist/overlays/tooltip.js +103 -0
  1091. package/dist/overlays/tooltip.js.map +1 -0
  1092. package/dist/patterns/accessibility-preferences.css +9 -0
  1093. package/dist/patterns/accessibility-preferences.d.ts +14 -0
  1094. package/dist/patterns/accessibility-preferences.d.ts.map +1 -0
  1095. package/dist/patterns/accessibility-preferences.js +20 -0
  1096. package/dist/patterns/accessibility-preferences.js.map +1 -0
  1097. package/dist/patterns/application-navigation.css +8 -0
  1098. package/dist/patterns/application-navigation.d.ts +21 -0
  1099. package/dist/patterns/application-navigation.d.ts.map +1 -0
  1100. package/dist/patterns/application-navigation.js +13 -0
  1101. package/dist/patterns/application-navigation.js.map +1 -0
  1102. package/dist/patterns/collapsed-breadcrumbs.d.ts +10 -0
  1103. package/dist/patterns/collapsed-breadcrumbs.d.ts.map +1 -0
  1104. package/dist/patterns/collapsed-breadcrumbs.js +18 -0
  1105. package/dist/patterns/collapsed-breadcrumbs.js.map +1 -0
  1106. package/dist/patterns/command-palette.css +12 -0
  1107. package/dist/patterns/command-palette.d.ts +24 -0
  1108. package/dist/patterns/command-palette.d.ts.map +1 -0
  1109. package/dist/patterns/command-palette.js +34 -0
  1110. package/dist/patterns/command-palette.js.map +1 -0
  1111. package/dist/patterns/content.css +2 -0
  1112. package/dist/patterns/content.d.ts +24 -0
  1113. package/dist/patterns/content.d.ts.map +1 -0
  1114. package/dist/patterns/content.js +10 -0
  1115. package/dist/patterns/content.js.map +1 -0
  1116. package/dist/patterns/floating-actions.css +11 -0
  1117. package/dist/patterns/floating-actions.d.ts +27 -0
  1118. package/dist/patterns/floating-actions.d.ts.map +1 -0
  1119. package/dist/patterns/floating-actions.js +18 -0
  1120. package/dist/patterns/floating-actions.js.map +1 -0
  1121. package/dist/patterns/index.d.ts +12 -0
  1122. package/dist/patterns/index.d.ts.map +1 -0
  1123. package/dist/patterns/index.js +12 -0
  1124. package/dist/patterns/index.js.map +1 -0
  1125. package/dist/patterns/navigation-drawer.css +21 -0
  1126. package/dist/patterns/navigation-drawer.d.ts +23 -0
  1127. package/dist/patterns/navigation-drawer.d.ts.map +1 -0
  1128. package/dist/patterns/navigation-drawer.js +39 -0
  1129. package/dist/patterns/navigation-drawer.js.map +1 -0
  1130. package/dist/patterns/search-field.d.ts +6 -0
  1131. package/dist/patterns/search-field.d.ts.map +1 -0
  1132. package/dist/patterns/search-field.js +7 -0
  1133. package/dist/patterns/search-field.js.map +1 -0
  1134. package/dist/patterns/server/accessibility-preferences.js +19 -0
  1135. package/dist/patterns/server/application-navigation.js +12 -0
  1136. package/dist/patterns/server/collapsed-breadcrumbs.js +17 -0
  1137. package/dist/patterns/server/command-palette.js +33 -0
  1138. package/dist/patterns/server/content.js +9 -0
  1139. package/dist/patterns/server/floating-actions.js +17 -0
  1140. package/dist/patterns/server/index.js +11 -0
  1141. package/dist/patterns/server/navigation-drawer.js +38 -0
  1142. package/dist/patterns/server/search-field.js +6 -0
  1143. package/dist/patterns/server/shell.js +5 -0
  1144. package/dist/patterns/server/toaster.js +104 -0
  1145. package/dist/patterns/server/transfer-list.js +50 -0
  1146. package/dist/patterns/shell.css +24 -0
  1147. package/dist/patterns/shell.d.ts +18 -0
  1148. package/dist/patterns/shell.d.ts.map +1 -0
  1149. package/dist/patterns/shell.js +6 -0
  1150. package/dist/patterns/shell.js.map +1 -0
  1151. package/dist/patterns/toaster.d.ts +30 -0
  1152. package/dist/patterns/toaster.d.ts.map +1 -0
  1153. package/dist/patterns/toaster.js +105 -0
  1154. package/dist/patterns/toaster.js.map +1 -0
  1155. package/dist/patterns/transfer-list.css +15 -0
  1156. package/dist/patterns/transfer-list.d.ts +24 -0
  1157. package/dist/patterns/transfer-list.d.ts.map +1 -0
  1158. package/dist/patterns/transfer-list.js +51 -0
  1159. package/dist/patterns/transfer-list.js.map +1 -0
  1160. package/dist/provider/_focus-policy.d.ts +3 -0
  1161. package/dist/provider/_focus-policy.d.ts.map +1 -0
  1162. package/dist/provider/_focus-policy.js +68 -0
  1163. package/dist/provider/_focus-policy.js.map +1 -0
  1164. package/dist/provider/_input-modality.d.ts +4 -0
  1165. package/dist/provider/_input-modality.d.ts.map +1 -0
  1166. package/dist/provider/_input-modality.js +43 -0
  1167. package/dist/provider/_input-modality.js.map +1 -0
  1168. package/dist/provider/_system-contrast.d.ts +3 -0
  1169. package/dist/provider/_system-contrast.d.ts.map +1 -0
  1170. package/dist/provider/_system-contrast.js +34 -0
  1171. package/dist/provider/_system-contrast.js.map +1 -0
  1172. package/dist/provider/computed-tokens.d.ts +3 -0
  1173. package/dist/provider/computed-tokens.d.ts.map +1 -0
  1174. package/dist/provider/computed-tokens.js +17 -0
  1175. package/dist/provider/computed-tokens.js.map +1 -0
  1176. package/dist/provider/configuration-utils.d.ts +10 -0
  1177. package/dist/provider/configuration-utils.d.ts.map +1 -0
  1178. package/dist/provider/configuration-utils.js +63 -0
  1179. package/dist/provider/configuration-utils.js.map +1 -0
  1180. package/dist/provider/configuration.d.ts +6 -0
  1181. package/dist/provider/configuration.d.ts.map +1 -0
  1182. package/dist/provider/configuration.js +11 -0
  1183. package/dist/provider/configuration.js.map +1 -0
  1184. package/dist/provider/document-theme.d.ts +23 -0
  1185. package/dist/provider/document-theme.d.ts.map +1 -0
  1186. package/dist/provider/document-theme.js +92 -0
  1187. package/dist/provider/document-theme.js.map +1 -0
  1188. package/dist/provider/index.d.ts +7 -0
  1189. package/dist/provider/index.d.ts.map +1 -0
  1190. package/dist/provider/index.js +8 -0
  1191. package/dist/provider/index.js.map +1 -0
  1192. package/dist/provider/locale-en.d.ts +2 -0
  1193. package/dist/provider/locale-en.d.ts.map +1 -0
  1194. package/dist/provider/locale-en.js +3 -0
  1195. package/dist/provider/locale-en.js.map +1 -0
  1196. package/dist/provider/locale-ja.d.ts +3 -0
  1197. package/dist/provider/locale-ja.d.ts.map +1 -0
  1198. package/dist/provider/locale-ja.js +50 -0
  1199. package/dist/provider/locale-ja.js.map +1 -0
  1200. package/dist/provider/locale-ko.d.ts +3 -0
  1201. package/dist/provider/locale-ko.d.ts.map +1 -0
  1202. package/dist/provider/locale-ko.js +50 -0
  1203. package/dist/provider/locale-ko.js.map +1 -0
  1204. package/dist/provider/locale-zh-hans.d.ts +3 -0
  1205. package/dist/provider/locale-zh-hans.d.ts.map +1 -0
  1206. package/dist/provider/locale-zh-hans.js +50 -0
  1207. package/dist/provider/locale-zh-hans.js.map +1 -0
  1208. package/dist/provider/locale-zh-hant.d.ts +3 -0
  1209. package/dist/provider/locale-zh-hant.d.ts.map +1 -0
  1210. package/dist/provider/locale-zh-hant.js +50 -0
  1211. package/dist/provider/locale-zh-hant.js.map +1 -0
  1212. package/dist/provider/messages.d.ts +58 -0
  1213. package/dist/provider/messages.d.ts.map +1 -0
  1214. package/dist/provider/messages.js +72 -0
  1215. package/dist/provider/messages.js.map +1 -0
  1216. package/dist/provider/parts.d.ts +10 -0
  1217. package/dist/provider/parts.d.ts.map +1 -0
  1218. package/dist/provider/parts.js +21 -0
  1219. package/dist/provider/parts.js.map +1 -0
  1220. package/dist/provider/preferences.d.ts +15 -0
  1221. package/dist/provider/preferences.d.ts.map +1 -0
  1222. package/dist/provider/preferences.js +152 -0
  1223. package/dist/provider/preferences.js.map +1 -0
  1224. package/dist/provider/profiles.d.ts +11 -0
  1225. package/dist/provider/profiles.d.ts.map +1 -0
  1226. package/dist/provider/profiles.js +47 -0
  1227. package/dist/provider/profiles.js.map +1 -0
  1228. package/dist/provider/provider.d.ts +116 -0
  1229. package/dist/provider/provider.d.ts.map +1 -0
  1230. package/dist/provider/provider.js +144 -0
  1231. package/dist/provider/provider.js.map +1 -0
  1232. package/dist/provider/server/_focus-policy.js +67 -0
  1233. package/dist/provider/server/_input-modality.js +42 -0
  1234. package/dist/provider/server/_system-contrast.js +33 -0
  1235. package/dist/provider/server/computed-tokens.js +16 -0
  1236. package/dist/provider/server/configuration-utils.js +62 -0
  1237. package/dist/provider/server/configuration.js +10 -0
  1238. package/dist/provider/server/document-theme.js +91 -0
  1239. package/dist/provider/server/index.js +7 -0
  1240. package/dist/provider/server/locale-en.js +2 -0
  1241. package/dist/provider/server/locale-ja.js +49 -0
  1242. package/dist/provider/server/locale-ko.js +49 -0
  1243. package/dist/provider/server/locale-zh-hans.js +49 -0
  1244. package/dist/provider/server/locale-zh-hant.js +49 -0
  1245. package/dist/provider/server/messages.js +71 -0
  1246. package/dist/provider/server/parts.js +20 -0
  1247. package/dist/provider/server/preferences.js +151 -0
  1248. package/dist/provider/server/profiles.js +46 -0
  1249. package/dist/provider/server/provider.js +143 -0
  1250. package/dist/runtime-styles/index.d.ts +6 -0
  1251. package/dist/runtime-styles/index.d.ts.map +1 -0
  1252. package/dist/runtime-styles/index.js +6 -0
  1253. package/dist/runtime-styles/index.js.map +1 -0
  1254. package/dist/runtime-styles/react.d.ts +23 -0
  1255. package/dist/runtime-styles/react.d.ts.map +1 -0
  1256. package/dist/runtime-styles/react.js +20 -0
  1257. package/dist/runtime-styles/react.js.map +1 -0
  1258. package/dist/runtime-styles/registry.d.ts +34 -0
  1259. package/dist/runtime-styles/registry.d.ts.map +1 -0
  1260. package/dist/runtime-styles/registry.js +271 -0
  1261. package/dist/runtime-styles/registry.js.map +1 -0
  1262. package/dist/runtime-styles/server/index.js +5 -0
  1263. package/dist/runtime-styles/server/react.js +19 -0
  1264. package/dist/runtime-styles/server/registry.js +270 -0
  1265. package/dist/runtime-styles/server/server.js +9 -0
  1266. package/dist/runtime-styles/server/stream-dom.js +61 -0
  1267. package/dist/runtime-styles/server/styled.js +24 -0
  1268. package/dist/runtime-styles/server.d.ts +7 -0
  1269. package/dist/runtime-styles/server.d.ts.map +1 -0
  1270. package/dist/runtime-styles/server.js +10 -0
  1271. package/dist/runtime-styles/server.js.map +1 -0
  1272. package/dist/runtime-styles/stream-dom.d.ts +4 -0
  1273. package/dist/runtime-styles/stream-dom.d.ts.map +1 -0
  1274. package/dist/runtime-styles/stream-dom.js +62 -0
  1275. package/dist/runtime-styles/stream-dom.js.map +1 -0
  1276. package/dist/runtime-styles/styled.d.ts +18 -0
  1277. package/dist/runtime-styles/styled.d.ts.map +1 -0
  1278. package/dist/runtime-styles/styled.js +25 -0
  1279. package/dist/runtime-styles/styled.js.map +1 -0
  1280. package/dist/styles/_declarations.d.ts +4 -0
  1281. package/dist/styles/_declarations.d.ts.map +1 -0
  1282. package/dist/styles/_declarations.js +76 -0
  1283. package/dist/styles/_declarations.js.map +1 -0
  1284. package/dist/styles/index.d.ts +9 -0
  1285. package/dist/styles/index.d.ts.map +1 -0
  1286. package/dist/styles/index.js +181 -0
  1287. package/dist/styles/index.js.map +1 -0
  1288. package/dist/styles/server/_declarations.js +75 -0
  1289. package/dist/styles/server/index.js +180 -0
  1290. package/dist/theme/asset-controller.d.ts +25 -0
  1291. package/dist/theme/asset-controller.d.ts.map +1 -0
  1292. package/dist/theme/asset-controller.js +154 -0
  1293. package/dist/theme/asset-controller.js.map +1 -0
  1294. package/dist/theme/assets.d.ts +13 -0
  1295. package/dist/theme/assets.d.ts.map +1 -0
  1296. package/dist/theme/assets.js +141 -0
  1297. package/dist/theme/assets.js.map +1 -0
  1298. package/dist/theme/audit.d.ts +32 -0
  1299. package/dist/theme/audit.d.ts.map +1 -0
  1300. package/dist/theme/audit.js +57 -0
  1301. package/dist/theme/audit.js.map +1 -0
  1302. package/dist/theme/brand.d.ts +22 -0
  1303. package/dist/theme/brand.d.ts.map +1 -0
  1304. package/dist/theme/brand.js +51 -0
  1305. package/dist/theme/brand.js.map +1 -0
  1306. package/dist/theme/color.d.ts +33 -0
  1307. package/dist/theme/color.d.ts.map +1 -0
  1308. package/dist/theme/color.js +125 -0
  1309. package/dist/theme/color.js.map +1 -0
  1310. package/dist/theme/contexts.d.ts +20 -0
  1311. package/dist/theme/contexts.d.ts.map +1 -0
  1312. package/dist/theme/contexts.js +100 -0
  1313. package/dist/theme/contexts.js.map +1 -0
  1314. package/dist/theme/css-values.d.ts +6 -0
  1315. package/dist/theme/css-values.d.ts.map +1 -0
  1316. package/dist/theme/css-values.js +242 -0
  1317. package/dist/theme/css-values.js.map +1 -0
  1318. package/dist/theme/dtcg.d.ts +38 -0
  1319. package/dist/theme/dtcg.d.ts.map +1 -0
  1320. package/dist/theme/dtcg.js +364 -0
  1321. package/dist/theme/dtcg.js.map +1 -0
  1322. package/dist/theme/index.d.ts +29 -0
  1323. package/dist/theme/index.d.ts.map +1 -0
  1324. package/dist/theme/index.js +217 -0
  1325. package/dist/theme/index.js.map +1 -0
  1326. package/dist/theme/metrics.d.ts +21 -0
  1327. package/dist/theme/metrics.d.ts.map +1 -0
  1328. package/dist/theme/metrics.js +69 -0
  1329. package/dist/theme/metrics.js.map +1 -0
  1330. package/dist/theme/migration.d.ts +22 -0
  1331. package/dist/theme/migration.d.ts.map +1 -0
  1332. package/dist/theme/migration.js +82 -0
  1333. package/dist/theme/migration.js.map +1 -0
  1334. package/dist/theme/named-colors.d.ts +2 -0
  1335. package/dist/theme/named-colors.d.ts.map +1 -0
  1336. package/dist/theme/named-colors.js +153 -0
  1337. package/dist/theme/named-colors.js.map +1 -0
  1338. package/dist/theme/server/asset-controller.js +153 -0
  1339. package/dist/theme/server/assets.js +140 -0
  1340. package/dist/theme/server/audit.js +56 -0
  1341. package/dist/theme/server/brand.js +50 -0
  1342. package/dist/theme/server/color.js +124 -0
  1343. package/dist/theme/server/contexts.js +99 -0
  1344. package/dist/theme/server/css-values.js +241 -0
  1345. package/dist/theme/server/dtcg.js +363 -0
  1346. package/dist/theme/server/index.js +216 -0
  1347. package/dist/theme/server/metrics.js +68 -0
  1348. package/dist/theme/server/migration.js +81 -0
  1349. package/dist/theme/server/named-colors.js +152 -0
  1350. package/dist/tokens/accessibility.css +13 -0
  1351. package/dist/tokens/contract.d.ts +1302 -0
  1352. package/dist/tokens/contract.d.ts.map +1 -0
  1353. package/dist/tokens/contract.js +1301 -0
  1354. package/dist/tokens/contract.js.map +1 -0
  1355. package/dist/tokens/default-theme.d.ts +1752 -0
  1356. package/dist/tokens/default-theme.d.ts.map +1 -0
  1357. package/dist/tokens/default-theme.js +1752 -0
  1358. package/dist/tokens/default-theme.js.map +1 -0
  1359. package/dist/tokens/document.css +3 -0
  1360. package/dist/tokens/index.d.ts +5 -0
  1361. package/dist/tokens/index.d.ts.map +1 -0
  1362. package/dist/tokens/index.js +5 -0
  1363. package/dist/tokens/index.js.map +1 -0
  1364. package/dist/tokens/layers.css +1 -0
  1365. package/dist/tokens/reset.css +26 -0
  1366. package/dist/tokens/scales.d.ts +15 -0
  1367. package/dist/tokens/scales.d.ts.map +1 -0
  1368. package/dist/tokens/scales.js +5 -0
  1369. package/dist/tokens/scales.js.map +1 -0
  1370. package/dist/tokens/server/contract.js +1300 -0
  1371. package/dist/tokens/server/default-theme.js +1751 -0
  1372. package/dist/tokens/server/index.js +4 -0
  1373. package/dist/tokens/server/scales.js +4 -0
  1374. package/dist/tokens/server/typography.js +2 -0
  1375. package/dist/tokens/theme.css +26 -0
  1376. package/dist/tokens/token-specs.json +1300 -0
  1377. package/dist/tokens/tokens.json +1751 -0
  1378. package/dist/tokens/typography.d.ts +4 -0
  1379. package/dist/tokens/typography.d.ts.map +1 -0
  1380. package/dist/tokens/typography.js +3 -0
  1381. package/dist/tokens/typography.js.map +1 -0
  1382. package/package.json +1360 -4
@@ -0,0 +1,194 @@
1
+ export const SCHEMA_VERSION = 1;
2
+ export class ContractError extends Error {
3
+ path;
4
+ constructor(path, message) {
5
+ super(`${path}: ${message}`);
6
+ this.path = path;
7
+ this.name = 'ContractError';
8
+ }
9
+ }
10
+ export function assertIdentifier(value, path) {
11
+ if (typeof value !== 'string' || !/^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)*$/.test(value) || value.length > 100 || ['constructor', 'prototype'].includes(value))
12
+ throw new ContractError(path, 'expected a lowercase, namespaced identifier of at most 100 characters');
13
+ }
14
+ export function isRecord(value) {
15
+ return value !== null && typeof value === 'object' && !Array.isArray(value) && (Object.getPrototypeOf(value) === Object.prototype || Object.getPrototypeOf(value) === null);
16
+ }
17
+ /** Validate shape before accessing properties of externally supplied JSON. */
18
+ export function assertRecord(value, path) {
19
+ if (!isRecord(value))
20
+ throw new ContractError(path, 'expected a plain object');
21
+ }
22
+ /** Token contracts are validated independently of theme implementations and extensions. */
23
+ export function validateTokenContract(schema) {
24
+ assertPortable(schema);
25
+ assertRecord(schema, 'contract');
26
+ const names = new Set();
27
+ const types = ['color', 'length', 'duration', 'number', 'fontFamily', 'fontWeight', 'shadow', 'easing', 'string'];
28
+ for (const [key, spec] of Object.entries(schema)) {
29
+ assertIdentifier(key, 'contract.token');
30
+ assertRecord(spec, `contract.${key}`);
31
+ if (!types.includes(spec.type) || typeof spec.description !== 'string' ||
32
+ (spec.runtime !== undefined && typeof spec.runtime !== 'boolean') ||
33
+ Object.keys(spec).some(k => !['type', 'description', 'runtime'].includes(k)))
34
+ throw new ContractError(`contract.${key}`, 'invalid token specification');
35
+ const cssName = key.replaceAll('.', '-');
36
+ if (names.has(cssName))
37
+ throw new ContractError('contract', `CSS variable name collision: ${cssName}`);
38
+ names.add(cssName);
39
+ }
40
+ return schema;
41
+ }
42
+ // Figma's main sandbox has no TextEncoder. Count UTF-8 bytes without requiring
43
+ // browser globals; lone surrogates use the encoder's three-byte replacement.
44
+ function utf8ByteLength(source) {
45
+ let bytes = 0;
46
+ for (const character of source) {
47
+ const point = character.codePointAt(0);
48
+ bytes += point <= 0x7f ? 1 : point <= 0x7ff ? 2 : point <= 0xffff ? 3 : 4;
49
+ }
50
+ return bytes;
51
+ }
52
+ /** Reject executable data, cyclic objects, prototype keys and excessively large inputs. */
53
+ export function assertPortable(value, maxBytes = 256000) {
54
+ const seen = new WeakSet();
55
+ let nodes = 0;
56
+ const walk = (item, path, depth) => {
57
+ if (++nodes > 20000 || depth > 32)
58
+ throw new ContractError(path, 'input exceeds complexity limits');
59
+ if (item === null || typeof item === 'boolean' || typeof item === 'string')
60
+ return;
61
+ if (typeof item === 'number' && Number.isFinite(item))
62
+ return;
63
+ if (typeof item !== 'object' || item === null)
64
+ throw new ContractError(path, 'expected portable JSON data');
65
+ if (seen.has(item))
66
+ throw new ContractError(path, 'cyclic object or repeated object reference');
67
+ seen.add(item);
68
+ if (Object.getOwnPropertySymbols(item).length)
69
+ throw new ContractError(path, 'symbol keys are not portable');
70
+ if (Array.isArray(item)) {
71
+ const descriptors = Object.getOwnPropertyDescriptors(item);
72
+ for (const key of Object.keys(descriptors))
73
+ if (key !== 'length' && !/^(0|[1-9]\d*)$/.test(key))
74
+ throw new ContractError(path, 'array properties are not portable');
75
+ for (let i = 0; i < item.length; i++) {
76
+ const descriptor = descriptors[String(i)];
77
+ if (!descriptor || !('value' in descriptor))
78
+ throw new ContractError(path, 'sparse arrays and accessors are not portable');
79
+ walk(descriptor.value, `${path}[${i}]`, depth + 1);
80
+ }
81
+ }
82
+ else {
83
+ if (!isRecord(item))
84
+ throw new ContractError(path, 'expected a plain object');
85
+ for (const [key, descriptor] of Object.entries(Object.getOwnPropertyDescriptors(item))) {
86
+ if (['__proto__', 'prototype', 'constructor'].includes(key))
87
+ throw new ContractError(path, `forbidden key ${key}`);
88
+ if (!descriptor.enumerable)
89
+ throw new ContractError(path, 'non-enumerable data is not portable');
90
+ if (!('value' in descriptor))
91
+ throw new ContractError(path, 'accessors are not portable');
92
+ walk(descriptor.value, `${path}.${key}`, depth + 1);
93
+ }
94
+ }
95
+ seen.delete(item);
96
+ };
97
+ walk(value, '$', 0);
98
+ if (utf8ByteLength(JSON.stringify(value)) > maxBytes)
99
+ throw new ContractError('$', 'input exceeds byte limit');
100
+ }
101
+ export function parsePortable(source, maxBytes = 256000) {
102
+ if (utf8ByteLength(source) > maxBytes)
103
+ throw new ContractError('$', 'input exceeds byte limit');
104
+ let value;
105
+ try {
106
+ value = JSON.parse(source);
107
+ }
108
+ catch {
109
+ throw new ContractError('$', 'invalid JSON');
110
+ }
111
+ assertPortable(value, maxBytes);
112
+ return value;
113
+ }
114
+ export function deepFreeze(value) {
115
+ const seen = new WeakSet();
116
+ const freeze = (item) => {
117
+ if (!item || typeof item !== 'object' || seen.has(item))
118
+ return;
119
+ seen.add(item);
120
+ for (const child of Object.values(item))
121
+ freeze(child);
122
+ Object.freeze(item);
123
+ };
124
+ freeze(value);
125
+ return value;
126
+ }
127
+ export function canonicalJson(value) {
128
+ assertPortable(value);
129
+ const sort = (item) => Array.isArray(item) ? item.map(sort) : isRecord(item) ? Object.fromEntries(Object.keys(item).sort().map(k => [k, sort(item[k])])) : item;
130
+ return JSON.stringify(sort(value));
131
+ }
132
+ export function validateDescriptor(value) {
133
+ assertPortable(value);
134
+ assertRecord(value, 'component');
135
+ assertIdentifier(value.name, 'component.name');
136
+ if (value.schemaVersion !== 1)
137
+ throw new ContractError('component.schemaVersion', 'unsupported schema');
138
+ if (!Array.isArray(value.parts) || !value.parts.length)
139
+ throw new ContractError('component.parts', 'at least one part is required');
140
+ if (new Set(value.parts).size !== value.parts.length)
141
+ throw new ContractError('component.parts', 'duplicate part');
142
+ value.parts.forEach(p => {
143
+ assertIdentifier(p, 'component.parts');
144
+ if (p.includes('.'))
145
+ throw new ContractError('component.parts', 'parts are flat identifiers');
146
+ });
147
+ if (Object.keys(value).some(k => !['schemaVersion', 'name', 'parts', 'variants', 'states', 'defaults'].includes(k)))
148
+ throw new ContractError('component', 'unknown property');
149
+ if (value.variants !== undefined)
150
+ assertRecord(value.variants, 'component.variants');
151
+ if (value.defaults !== undefined)
152
+ assertRecord(value.defaults, 'component.defaults');
153
+ for (const [key, choices] of Object.entries(value.variants ?? {})) {
154
+ assertIdentifier(key, 'component.variants');
155
+ if (key.includes('.'))
156
+ throw new ContractError('component.variants', 'variant keys are flat identifiers');
157
+ if (!Array.isArray(choices) || !choices.length || new Set(choices).size !== choices.length)
158
+ throw new ContractError(`component.variants.${key}`, 'expected unique choices');
159
+ choices.forEach(c => assertIdentifier(c, `component.variants.${key}`));
160
+ }
161
+ for (const [key, entry] of Object.entries(value.defaults ?? {}))
162
+ if (!value.variants || !Object.hasOwn(value.variants, key) || !value.variants[key]?.includes(String(entry)))
163
+ throw new ContractError('component.defaults', 'default must match a declared variant');
164
+ const states = ['hover', 'active', 'focus-visible', 'disabled', 'checked', 'selected', 'open', 'invalid'];
165
+ if (value.states && (!Array.isArray(value.states) || new Set(value.states).size !== value.states.length || value.states.some(state => !states.includes(state))))
166
+ throw new ContractError('component.states', 'invalid or duplicated state');
167
+ return deepFreeze(structuredClone(value));
168
+ }
169
+ export const defaultAccessibility = /* @__PURE__ */ Object.freeze({ focus: 'auto', hints: 'auto', contrast: 'system' });
170
+ /** Undefined properties inherit; explicit auto/system restores automatic behavior. */
171
+ export function resolveAccessibility(...sources) {
172
+ const value = { ...defaultAccessibility };
173
+ for (const source of sources) {
174
+ if (source === undefined)
175
+ continue;
176
+ if (!source || typeof source !== 'object' || Array.isArray(source))
177
+ throw new TypeError('accessibility must be a configuration object');
178
+ for (const [key, entry] of Object.entries(source)) {
179
+ if (!['focus', 'hints', 'contrast'].includes(key))
180
+ throw new TypeError('Unknown accessibility preference: ' + key);
181
+ if (entry === undefined)
182
+ continue;
183
+ if (!(key === 'contrast' ? ['system', 'more'] : ['auto', 'always']).includes(entry))
184
+ throw new TypeError('Invalid accessibility.' + key);
185
+ Object.assign(value, { [key]: entry });
186
+ }
187
+ }
188
+ return Object.freeze(value);
189
+ }
190
+ export function accessibilityAttributes(options) {
191
+ const value = resolveAccessibility(options);
192
+ return { 'data-faye-ui-focus': value.focus, 'data-faye-ui-hints': value.hints, 'data-faye-ui-contrast': value.contrast };
193
+ }
194
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["/** Portable contracts. This package has no React, DOM, styling or component imports. */\nexport type { InteractionOptions, InteractionVariant, InteractionLevel, TrackInteractionEffect, InteractionVariantOverrides } from './interaction.js';\nexport type { IconAttribute, IconAttributes, IconNode, IconDefinition } from './icon.js';\nexport const SCHEMA_VERSION = 1 as const;\nexport type Scheme = 'light' | 'dark';\nexport type ColorPreference = Scheme | 'system';\nexport type Density = 'comfortable' | 'compact';\nexport type Direction = 'ltr' | 'rtl';\nexport type TokenType = 'color' | 'length' | 'duration' | 'number' | 'fontFamily' | 'fontWeight' | 'shadow' | 'easing' | 'string';\nexport type TokenValue = string | number;\nexport interface TokenReference {\n readonly $ref: string;\n}\nexport interface TokenDefinition {\n readonly $type: TokenType;\n readonly $value: TokenValue | TokenReference;\n readonly description?: string;\n}\nexport type TokenSet = Readonly<Record<string, TokenDefinition>>;\nexport interface TokenSpec {\n readonly type: TokenType;\n readonly description: string;\n readonly runtime?: boolean;\n}\nexport type TokenContract = Readonly<Record<string, TokenSpec>>;\nexport interface ThemeAxis {\n readonly default: string;\n readonly values: Readonly<Record<string, TokenSet>>;\n}\nexport type ThemeAxes = Readonly<Record<string, ThemeAxis>>;\nexport interface ThemeCondition {\n readonly id: string;\n readonly when: {\n readonly scheme?: Scheme;\n readonly density?: Density;\n readonly axes?: Readonly<Record<string, string>>;\n };\n readonly tokens: TokenSet;\n}\nexport interface ThemeDefinition {\n readonly schemaVersion: 1;\n readonly id: string;\n readonly tokens: TokenSet;\n readonly schemes?: Readonly<Partial<Record<Scheme, TokenSet>>>;\n readonly densities?: Readonly<Partial<Record<Density, TokenSet>>>;\n readonly axes?: ThemeAxes;\n readonly conditions?: readonly ThemeCondition[];\n}\nexport interface ResolvedTheme {\n readonly schemaVersion: 1;\n readonly id: string;\n readonly scheme: Scheme;\n readonly density: Density;\n readonly axes: Readonly<Record<string, string>>;\n readonly values: Readonly<Record<string, TokenValue>>;\n readonly types: Readonly<Record<string, TokenType>>;\n}\nexport type JsonPrimitive = string | number | boolean | null;\nexport type JsonValue = JsonPrimitive | readonly JsonValue[] | {\n readonly [key: string]: JsonValue;\n};\nexport type StyleValue = string | number | {\n readonly token: string;\n};\nexport type Declarations = Readonly<Record<string, StyleValue>>;\nexport type PseudoState = 'hover' | 'active' | 'focus-visible' | 'disabled' | 'checked' | 'selected' | 'open' | 'invalid';\nexport interface ComponentDescriptor {\n readonly schemaVersion: 1;\n readonly name: string;\n readonly parts: readonly string[];\n readonly variants?: Readonly<Record<string, readonly string[]>>;\n readonly states?: readonly PseudoState[];\n readonly defaults?: Readonly<Record<string, JsonPrimitive>>;\n}\nexport interface StyleRule {\n readonly id: string;\n readonly part: string;\n readonly when?: Readonly<Record<string, string>>;\n readonly state?: PseudoState;\n /** Named breakpoint. Query structure is compiled, not a runtime CSS variable. */\n readonly breakpoint?: string;\n /** Select print or screen without injecting an arbitrary media query. */\n readonly media?: 'print' | 'screen';\n readonly container?: {\n readonly name?: string;\n readonly minWidth?: string;\n readonly maxWidth?: string;\n };\n readonly declarations: Declarations;\n}\nexport interface ComponentSheet {\n readonly schemaVersion: 1;\n readonly id: string;\n readonly component: string;\n readonly defaults?: Readonly<Record<string, JsonPrimitive>>;\n readonly rules: readonly StyleRule[];\n}\nexport interface SheetPatch {\n readonly defaults?: Readonly<Record<string, JsonPrimitive>>;\n readonly removeDefaults?: readonly string[];\n readonly removeRules?: readonly string[];\n readonly rules?: readonly StyleRule[];\n}\nexport interface ComponentProfile {\n readonly schemaVersion: 1;\n readonly id: string;\n readonly component: string;\n readonly classes: Readonly<Record<string, string>>;\n readonly defaults: Readonly<Record<string, JsonPrimitive>>;\n}\nexport interface CompiledSheet {\n readonly css: string;\n readonly profile: ComponentProfile;\n readonly provenance: Readonly<Record<string, string>>;\n}\nexport interface ExtensionDescriptor {\n readonly schemaVersion: 1;\n readonly name: string;\n readonly version: string;\n readonly contractVersion: 1;\n readonly components: readonly ComponentDescriptor[];\n readonly tokens?: TokenContract;\n readonly styles: readonly string[];\n}\nexport class ContractError extends Error {\n constructor(readonly path: string, message: string) { super(`${path}: ${message}`); this.name = 'ContractError'; }\n}\nexport function assertIdentifier(value: unknown, path: string): asserts value is string {\n if (typeof value !== 'string' || !/^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)*$/.test(value) || value.length > 100 || ['constructor', 'prototype'].includes(value))\n throw new ContractError(path, 'expected a lowercase, namespaced identifier of at most 100 characters');\n}\nexport function isRecord(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object' && !Array.isArray(value) && (Object.getPrototypeOf(value) === Object.prototype || Object.getPrototypeOf(value) === null);\n}\n/** Validate shape before accessing properties of externally supplied JSON. */\nexport function assertRecord(value: unknown, path: string): asserts value is Record<string, unknown> {\n if (!isRecord(value))\n throw new ContractError(path, 'expected a plain object');\n}\n/** Token contracts are validated independently of theme implementations and extensions. */\nexport function validateTokenContract(schema: TokenContract): TokenContract {\n assertPortable(schema);\n assertRecord(schema, 'contract');\n const names = new Set<string>();\n const types = ['color', 'length', 'duration', 'number', 'fontFamily', 'fontWeight', 'shadow', 'easing', 'string'];\n for (const [key, spec] of Object.entries(schema)) {\n assertIdentifier(key, 'contract.token');\n assertRecord(spec, `contract.${key}`);\n if (!types.includes(spec.type) || typeof spec.description !== 'string' ||\n (spec.runtime !== undefined && typeof spec.runtime !== 'boolean') ||\n Object.keys(spec).some(k => !['type', 'description', 'runtime'].includes(k)))\n throw new ContractError(`contract.${key}`, 'invalid token specification');\n const cssName = key.replaceAll('.', '-');\n if (names.has(cssName))\n throw new ContractError('contract', `CSS variable name collision: ${cssName}`);\n names.add(cssName);\n }\n return schema;\n}\n// Figma's main sandbox has no TextEncoder. Count UTF-8 bytes without requiring\n// browser globals; lone surrogates use the encoder's three-byte replacement.\nfunction utf8ByteLength(source: string): number {\n let bytes = 0;\n for (const character of source) {\n const point = character.codePointAt(0)!;\n bytes += point <= 0x7f ? 1 : point <= 0x7ff ? 2 : point <= 0xffff ? 3 : 4;\n }\n return bytes;\n}\n/** Reject executable data, cyclic objects, prototype keys and excessively large inputs. */\nexport function assertPortable(value: unknown, maxBytes = 256000): asserts value is JsonValue {\n const seen = new WeakSet<object>();\n let nodes = 0;\n const walk = (item: unknown, path: string, depth: number): void => {\n if (++nodes > 20000 || depth > 32)\n throw new ContractError(path, 'input exceeds complexity limits');\n if (item === null || typeof item === 'boolean' || typeof item === 'string')\n return;\n if (typeof item === 'number' && Number.isFinite(item))\n return;\n if (typeof item !== 'object' || item === null)\n throw new ContractError(path, 'expected portable JSON data');\n if (seen.has(item))\n throw new ContractError(path, 'cyclic object or repeated object reference');\n seen.add(item);\n if (Object.getOwnPropertySymbols(item).length)\n throw new ContractError(path, 'symbol keys are not portable');\n if (Array.isArray(item)) {\n const descriptors = Object.getOwnPropertyDescriptors(item);\n for (const key of Object.keys(descriptors))\n if (key !== 'length' && !/^(0|[1-9]\\d*)$/.test(key))\n throw new ContractError(path, 'array properties are not portable');\n for (let i = 0; i < item.length; i++) {\n const descriptor = descriptors[String(i)];\n if (!descriptor || !('value' in descriptor))\n throw new ContractError(path, 'sparse arrays and accessors are not portable');\n walk(descriptor.value, `${path}[${i}]`, depth + 1);\n }\n }\n else {\n if (!isRecord(item))\n throw new ContractError(path, 'expected a plain object');\n for (const [key, descriptor] of Object.entries(Object.getOwnPropertyDescriptors(item))) {\n if (['__proto__', 'prototype', 'constructor'].includes(key))\n throw new ContractError(path, `forbidden key ${key}`);\n if (!descriptor.enumerable)\n throw new ContractError(path, 'non-enumerable data is not portable');\n if (!('value' in descriptor))\n throw new ContractError(path, 'accessors are not portable');\n walk(descriptor.value, `${path}.${key}`, depth + 1);\n }\n }\n seen.delete(item);\n };\n walk(value, '$', 0);\n if (utf8ByteLength(JSON.stringify(value)) > maxBytes)\n throw new ContractError('$', 'input exceeds byte limit');\n}\nexport function parsePortable(source: string, maxBytes = 256000): JsonValue {\n if (utf8ByteLength(source) > maxBytes)\n throw new ContractError('$', 'input exceeds byte limit');\n let value: unknown;\n try {\n value = JSON.parse(source);\n }\n catch {\n throw new ContractError('$', 'invalid JSON');\n }\n assertPortable(value, maxBytes);\n return value;\n}\nexport function deepFreeze<T>(value: T): Readonly<T> {\n const seen = new WeakSet<object>();\n const freeze = (item: unknown): void => {\n if (!item || typeof item !== 'object' || seen.has(item))\n return;\n seen.add(item);\n for (const child of Object.values(item))\n freeze(child);\n Object.freeze(item);\n };\n freeze(value);\n return value;\n}\nexport function canonicalJson(value: unknown): string {\n assertPortable(value);\n const sort = (item: JsonValue): JsonValue => Array.isArray(item) ? item.map(sort) : isRecord(item) ? Object.fromEntries(Object.keys(item).sort().map(k => [k, sort(item[k] as JsonValue)])) : item;\n return JSON.stringify(sort(value));\n}\nexport function validateDescriptor(value: ComponentDescriptor): ComponentDescriptor {\n assertPortable(value);\n assertRecord(value, 'component');\n assertIdentifier(value.name, 'component.name');\n if (value.schemaVersion !== 1)\n throw new ContractError('component.schemaVersion', 'unsupported schema');\n if (!Array.isArray(value.parts) || !value.parts.length)\n throw new ContractError('component.parts', 'at least one part is required');\n if (new Set(value.parts).size !== value.parts.length)\n throw new ContractError('component.parts', 'duplicate part');\n value.parts.forEach(p => {\n assertIdentifier(p, 'component.parts');\n if (p.includes('.'))\n throw new ContractError('component.parts', 'parts are flat identifiers');\n });\n if (Object.keys(value).some(k => !['schemaVersion', 'name', 'parts', 'variants', 'states', 'defaults'].includes(k)))\n throw new ContractError('component', 'unknown property');\n if (value.variants !== undefined)\n assertRecord(value.variants, 'component.variants');\n if (value.defaults !== undefined)\n assertRecord(value.defaults, 'component.defaults');\n for (const [key, choices] of Object.entries(value.variants ?? {})) {\n assertIdentifier(key, 'component.variants');\n if (key.includes('.'))\n throw new ContractError('component.variants', 'variant keys are flat identifiers');\n if (!Array.isArray(choices) || !choices.length || new Set(choices).size !== choices.length)\n throw new ContractError(`component.variants.${key}`, 'expected unique choices');\n choices.forEach(c => assertIdentifier(c, `component.variants.${key}`));\n }\n for (const [key, entry] of Object.entries(value.defaults ?? {}))\n if (!value.variants || !Object.hasOwn(value.variants, key) || !value.variants[key]?.includes(String(entry)))\n throw new ContractError('component.defaults', 'default must match a declared variant');\n const states = ['hover', 'active', 'focus-visible', 'disabled', 'checked', 'selected', 'open', 'invalid'];\n if (value.states && (!Array.isArray(value.states) || new Set(value.states).size !== value.states.length || value.states.some(state => !states.includes(state))))\n throw new ContractError('component.states', 'invalid or duplicated state');\n return deepFreeze(structuredClone(value));\n}\n\n/** Presentation preferences. Semantics and keyboard operation are always available. */\nexport interface AccessibilityOptions {\n readonly focus?: 'auto' | 'always';\n readonly hints?: 'auto' | 'always';\n readonly contrast?: 'system' | 'more';\n}\nexport type AccessibilityPreferences = Readonly<Required<AccessibilityOptions>>;\nexport const defaultAccessibility: AccessibilityPreferences = /* @__PURE__ */ Object.freeze({ focus: 'auto', hints: 'auto', contrast: 'system' });\n\n/** Undefined properties inherit; explicit auto/system restores automatic behavior. */\nexport function resolveAccessibility(...sources: readonly (AccessibilityOptions | undefined)[]): AccessibilityPreferences {\n const value = { ...defaultAccessibility };\n for (const source of sources) {\n if (source === undefined) continue;\n if (!source || typeof source !== 'object' || Array.isArray(source)) throw new TypeError('accessibility must be a configuration object');\n for (const [key, entry] of Object.entries(source)) {\n if (!['focus', 'hints', 'contrast'].includes(key)) throw new TypeError('Unknown accessibility preference: ' + key);\n if (entry === undefined) continue;\n if (!(key === 'contrast' ? ['system', 'more'] : ['auto', 'always']).includes(entry as string)) throw new TypeError('Invalid accessibility.' + key);\n Object.assign(value, { [key]: entry });\n }\n }\n return Object.freeze(value);\n}\n\nexport function accessibilityAttributes(options?: AccessibilityOptions) {\n const value = resolveAccessibility(options);\n return { 'data-faye-ui-focus': value.focus, 'data-faye-ui-hints': value.hints, 'data-faye-ui-contrast': value.contrast } as const;\n}\n"]}
@@ -0,0 +1,33 @@
1
+ /** Shared portable configuration. Additional variant names require matching CSS. */
2
+ export interface InteractionVariantOverrides {
3
+ }
4
+ export type InteractionVariant = 'classic' | 'minimal' | 'soft' | Extract<keyof InteractionVariantOverrides, string>;
5
+ export type InteractionLevel = 'standard' | 'enhanced';
6
+ export type TrackInteractionEffect = {
7
+ readonly type: 'expand';
8
+ readonly scale?: number;
9
+ readonly duration?: number;
10
+ } | {
11
+ readonly type: 'highlight';
12
+ readonly duration?: number;
13
+ } | {
14
+ readonly type: 'none';
15
+ };
16
+ export interface InteractionOptions {
17
+ readonly variant?: InteractionVariant;
18
+ readonly level?: InteractionLevel;
19
+ readonly effects?: {
20
+ readonly track?: TrackInteractionEffect;
21
+ };
22
+ }
23
+ /** Merge declarations before resolving presets. A different effect drops incompatible options. */
24
+ export declare function mergeInteractionOptions(...sources: readonly (InteractionOptions | undefined)[]): InteractionOptions;
25
+ export declare function resolveInteractionOptions(options?: InteractionOptions): {
26
+ readonly variant: InteractionVariant;
27
+ readonly level: InteractionLevel;
28
+ readonly track: "expand" | "highlight" | "none";
29
+ readonly scale: number | undefined;
30
+ readonly duration: number | undefined;
31
+ readonly highlight: boolean;
32
+ };
33
+ //# sourceMappingURL=interaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../packages/contracts/src/interaction.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,WAAW,2BAA2B;CAAG;AAC/C,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,2BAA2B,EAAE,MAAM,CAAC,CAAC;AACrH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,UAAU,CAAC;AACvD,MAAM,MAAM,sBAAsB,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAChF;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAChC,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAA;KAAE,CAAC;CAClE;AAED,kGAAkG;AAClG,wBAAgB,uBAAuB,CAAC,GAAG,OAAO,EAAE,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC,EAAE,GAAG,kBAAkB,CAgBnH;AAED,wBAAgB,yBAAyB,CAAC,OAAO,GAAE,kBAAuB;;;;;;;EAWzE"}
@@ -0,0 +1,40 @@
1
+ /** Merge declarations before resolving presets. A different effect drops incompatible options. */
2
+ export function mergeInteractionOptions(...sources) {
3
+ let variant, level, track;
4
+ for (const source of sources) {
5
+ if (source === undefined)
6
+ continue;
7
+ if (!source || typeof source !== 'object' || Array.isArray(source))
8
+ throw new TypeError('interaction must be a configuration object');
9
+ if (source.variant !== undefined)
10
+ variant = source.variant;
11
+ if (source.level !== undefined)
12
+ level = source.level;
13
+ const next = source.effects?.track;
14
+ if (next !== undefined) {
15
+ const defined = Object.fromEntries(Object.entries(next).filter(([, value]) => value !== undefined));
16
+ track = track?.type === next.type ? { ...track, ...defined } : { ...defined };
17
+ }
18
+ }
19
+ const result = { ...(variant !== undefined && { variant }), ...(level !== undefined && { level }), ...(track !== undefined && { effects: { track } }) };
20
+ resolveInteractionOptions(result);
21
+ return result;
22
+ }
23
+ export function resolveInteractionOptions(options = {}) {
24
+ const variant = options.variant ?? 'minimal', level = options.level ?? 'standard';
25
+ if (typeof variant !== 'string' || !/^[a-z][a-z0-9-]*$/.test(variant))
26
+ throw new TypeError('Invalid interaction variant');
27
+ if (!['standard', 'enhanced'].includes(level))
28
+ throw new TypeError('Invalid interaction level');
29
+ const track = options.effects?.track ?? { type: variant === 'classic' ? 'none' : 'expand' };
30
+ if (!['expand', 'highlight', 'none'].includes(track.type))
31
+ throw new TypeError('Invalid track interaction effect');
32
+ const scale = track.type === 'expand' ? track.scale : undefined;
33
+ const duration = track.type !== 'none' ? track.duration : undefined;
34
+ if (scale !== undefined && (!Number.isFinite(scale) || scale < 1 || scale > 2))
35
+ throw new RangeError('Interaction scale must be between 1 and 2');
36
+ if (duration !== undefined && (!Number.isFinite(duration) || duration < 0))
37
+ throw new RangeError('Interaction duration must be finite and nonnegative');
38
+ return { variant, level, track: track.type, scale, duration, highlight: track.type === 'highlight' || track.type === 'expand' && variant === 'soft' };
39
+ }
40
+ //# sourceMappingURL=interaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction.js","sourceRoot":"","sources":["interaction.ts"],"names":[],"mappings":"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","sourcesContent":["/** Shared portable configuration. Additional variant names require matching CSS. */\nexport interface InteractionVariantOverrides {}\nexport type InteractionVariant = 'classic' | 'minimal' | 'soft' | Extract<keyof InteractionVariantOverrides, string>;\nexport type InteractionLevel = 'standard' | 'enhanced';\nexport type TrackInteractionEffect =\n | { readonly type: 'expand'; readonly scale?: number; readonly duration?: number }\n | { readonly type: 'highlight'; readonly duration?: number }\n | { readonly type: 'none' };\nexport interface InteractionOptions {\n readonly variant?: InteractionVariant;\n readonly level?: InteractionLevel;\n readonly effects?: { readonly track?: TrackInteractionEffect };\n}\n\n/** Merge declarations before resolving presets. A different effect drops incompatible options. */\nexport function mergeInteractionOptions(...sources: readonly (InteractionOptions | undefined)[]): InteractionOptions {\n let variant: InteractionVariant | undefined, level: InteractionLevel | undefined, track: TrackInteractionEffect | undefined;\n for (const source of sources) {\n if (source === undefined) continue;\n if (!source || typeof source !== 'object' || Array.isArray(source)) throw new TypeError('interaction must be a configuration object');\n if (source.variant !== undefined) variant = source.variant;\n if (source.level !== undefined) level = source.level;\n const next = source.effects?.track;\n if (next !== undefined) {\n const defined = Object.fromEntries(Object.entries(next).filter(([, value]) => value !== undefined)) as TrackInteractionEffect;\n track = track?.type === next.type ? { ...track, ...defined } : { ...defined };\n }\n }\n const result = { ...(variant !== undefined && { variant }), ...(level !== undefined && { level }), ...(track !== undefined && { effects: { track } }) };\n resolveInteractionOptions(result);\n return result;\n}\n\nexport function resolveInteractionOptions(options: InteractionOptions = {}) {\n const variant = options.variant ?? 'minimal', level = options.level ?? 'standard';\n if (typeof variant !== 'string' || !/^[a-z][a-z0-9-]*$/.test(variant)) throw new TypeError('Invalid interaction variant');\n if (!['standard', 'enhanced'].includes(level)) throw new TypeError('Invalid interaction level');\n const track: TrackInteractionEffect = options.effects?.track ?? { type: variant === 'classic' ? 'none' : 'expand' };\n if (!['expand', 'highlight', 'none'].includes(track.type)) throw new TypeError('Invalid track interaction effect');\n const scale = track.type === 'expand' ? track.scale : undefined;\n const duration = track.type !== 'none' ? track.duration : undefined;\n if (scale !== undefined && (!Number.isFinite(scale) || scale < 1 || scale > 2)) throw new RangeError('Interaction scale must be between 1 and 2');\n if (duration !== undefined && (!Number.isFinite(duration) || duration < 0)) throw new RangeError('Interaction duration must be finite and nonnegative');\n return { variant, level, track: track.type, scale, duration, highlight: track.type === 'highlight' || track.type === 'expand' && variant === 'soft' } as const;\n}\n"]}
@@ -0,0 +1,26 @@
1
+ import { type Scheme, type Density, type Direction } from './index.js';
2
+ import { type AccessibilityOptions } from './index.js';
3
+ export type AxisSelection = Readonly<Record<string, string>>;
4
+ /** Small server/client-safe DOM contract. Membership in a theme's choices is validated by the theme resolver. */
5
+ export declare function axisAttributes(axes: AxisSelection): Readonly<Record<string, string>>;
6
+ export declare function themeScopeAttributes(options: {
7
+ themeId: string;
8
+ scheme: Scheme;
9
+ density?: Density;
10
+ direction?: Direction;
11
+ axes?: AxisSelection;
12
+ motion?: 'system' | 'reduced';
13
+ accessibility?: AccessibilityOptions;
14
+ systemContrast?: 'normal' | 'more';
15
+ }): Readonly<{
16
+ 'data-faye-ui-focus': "auto" | "always";
17
+ 'data-faye-ui-hints': "auto" | "always";
18
+ 'data-faye-ui-contrast': "system" | "more";
19
+ 'data-faye-ui-system-contrast'?: "more" | "normal" | undefined;
20
+ 'data-faye-ui-motion'?: "reduced" | undefined;
21
+ 'data-faye-ui-theme': string;
22
+ 'data-faye-ui-scheme': Scheme;
23
+ 'data-faye-ui-density': Density;
24
+ dir: Direction;
25
+ }>;
26
+ //# sourceMappingURL=scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../../packages/contracts/src/scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiD,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACtH,OAAO,EAA2B,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAChF,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC7D,iHAAiH;AACjH,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAWpF;AACD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC9B,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CACtC;;;;;;;;;;GAMA"}
@@ -0,0 +1,24 @@
1
+ import { assertIdentifier, assertRecord, ContractError } from './index.js';
2
+ import { accessibilityAttributes } from './index.js';
3
+ /** Small server/client-safe DOM contract. Membership in a theme's choices is validated by the theme resolver. */
4
+ export function axisAttributes(axes) {
5
+ assertRecord(axes, 'scope.axes');
6
+ const attributes = {};
7
+ for (const name of Object.keys(axes).sort()) {
8
+ assertIdentifier(name, 'scope.axes');
9
+ assertIdentifier(axes[name], `scope.axes.${name}`);
10
+ if (name.includes('.') || axes[name].includes('.') || ['scheme', 'density', 'direction', 'theme'].includes(name))
11
+ throw new ContractError('scope.axes', 'expected nonreserved flat axis names and values');
12
+ attributes[`data-faye-ui-axis-${name}`] = axes[name];
13
+ }
14
+ return Object.freeze(attributes);
15
+ }
16
+ export function themeScopeAttributes(options) {
17
+ assertIdentifier(options.themeId, 'scope.themeId');
18
+ if (!['light', 'dark'].includes(options.scheme) || !['comfortable', 'compact'].includes(options.density ?? 'comfortable') || !['ltr', 'rtl'].includes(options.direction ?? 'ltr') || !['system', 'reduced'].includes(options.motion ?? 'system'))
19
+ throw new ContractError('scope', 'unsupported environment value');
20
+ if (options.systemContrast !== undefined && !['normal', 'more'].includes(options.systemContrast))
21
+ throw new ContractError('scope.systemContrast', 'unsupported system contrast');
22
+ return Object.freeze({ 'data-faye-ui-theme': options.themeId, 'data-faye-ui-scheme': options.scheme, 'data-faye-ui-density': options.density ?? 'comfortable', dir: options.direction ?? 'ltr', ...(options.motion === 'reduced' ? { 'data-faye-ui-motion': 'reduced' } : {}), ...(options.systemContrast !== undefined ? { 'data-faye-ui-system-contrast': options.systemContrast } : {}), ...accessibilityAttributes(options.accessibility), ...axisAttributes(options.axes ?? {}) });
23
+ }
24
+ //# sourceMappingURL=scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAA6C,MAAM,YAAY,CAAC;AACtH,OAAO,EAAE,uBAAuB,EAA6B,MAAM,YAAY,CAAC;AAEhF,iHAAiH;AACjH,MAAM,UAAU,cAAc,CAAC,IAAmB;IAC9C,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACjC,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1C,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACrC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC7G,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,iDAAiD,CAAC,CAAC;QAC7F,UAAU,CAAC,qBAAqB,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAE,CAAC;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACrC,CAAC;AACD,MAAM,UAAU,oBAAoB,CAAC,OASpC;IACG,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC;QAC5O,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;IACtE,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,sBAAsB,EAAE,6BAA6B,CAAC,CAAC;IACjL,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,oBAAoB,EAAE,OAAO,CAAC,OAAO,EAAE,qBAAqB,EAAE,OAAO,CAAC,MAAM,EAAE,sBAAsB,EAAE,OAAO,CAAC,OAAO,IAAI,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,8BAA8B,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,uBAAuB,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5d,CAAC","sourcesContent":["import { assertIdentifier, assertRecord, ContractError, type Scheme, type Density, type Direction } from './index.js';\nimport { accessibilityAttributes, type AccessibilityOptions } from './index.js';\nexport type AxisSelection = Readonly<Record<string, string>>;\n/** Small server/client-safe DOM contract. Membership in a theme's choices is validated by the theme resolver. */\nexport function axisAttributes(axes: AxisSelection): Readonly<Record<string, string>> {\n assertRecord(axes, 'scope.axes');\n const attributes: Record<string, string> = {};\n for (const name of Object.keys(axes).sort()) {\n assertIdentifier(name, 'scope.axes');\n assertIdentifier(axes[name], `scope.axes.${name}`);\n if (name.includes('.') || axes[name]!.includes('.') || ['scheme', 'density', 'direction', 'theme'].includes(name))\n throw new ContractError('scope.axes', 'expected nonreserved flat axis names and values');\n attributes[`data-faye-ui-axis-${name}`] = axes[name]!;\n }\n return Object.freeze(attributes);\n}\nexport function themeScopeAttributes(options: {\n themeId: string;\n scheme: Scheme;\n density?: Density;\n direction?: Direction;\n axes?: AxisSelection;\n motion?: 'system' | 'reduced';\n accessibility?: AccessibilityOptions;\n systemContrast?: 'normal' | 'more';\n}) {\n assertIdentifier(options.themeId, 'scope.themeId');\n if (!['light', 'dark'].includes(options.scheme) || !['comfortable', 'compact'].includes(options.density ?? 'comfortable') || !['ltr', 'rtl'].includes(options.direction ?? 'ltr') || !['system', 'reduced'].includes(options.motion ?? 'system'))\n throw new ContractError('scope', 'unsupported environment value');\n if (options.systemContrast !== undefined && !['normal', 'more'].includes(options.systemContrast)) throw new ContractError('scope.systemContrast', 'unsupported system contrast');\n return Object.freeze({ 'data-faye-ui-theme': options.themeId, 'data-faye-ui-scheme': options.scheme, 'data-faye-ui-density': options.density ?? 'comfortable', dir: options.direction ?? 'ltr', ...(options.motion === 'reduced' ? { 'data-faye-ui-motion': 'reduced' } : {}), ...(options.systemContrast !== undefined ? { 'data-faye-ui-system-contrast': options.systemContrast } : {}), ...accessibilityAttributes(options.accessibility), ...axisAttributes(options.axes ?? {}) });\n}\n"]}
@@ -0,0 +1,2 @@
1
+ /** Portable accessibility presentation contracts; the root stays self-contained. */
2
+ export { defaultAccessibility, resolveAccessibility, accessibilityAttributes } from './index.js';
@@ -0,0 +1,24 @@
1
+ import { assertPortable, assertRecord, ContractError, validateDescriptor } from './index.js';
2
+ /** Extend a descriptor without mutating the library contract. Axes merge by name; choices append uniquely. */
3
+ export function extendDescriptor(base, patch) {
4
+ const checked = validateDescriptor(base);
5
+ assertPortable(patch);
6
+ assertRecord(patch, 'descriptor.patch');
7
+ if (Object.keys(patch).some(key => !['parts', 'variants', 'states', 'defaults'].includes(key)))
8
+ throw new ContractError('descriptor.patch', 'unknown field');
9
+ if (patch.variants !== undefined)
10
+ assertRecord(patch.variants, 'descriptor.patch.variants');
11
+ if (patch.defaults !== undefined)
12
+ assertRecord(patch.defaults, 'descriptor.patch.defaults');
13
+ if (patch.parts !== undefined && !Array.isArray(patch.parts))
14
+ throw new ContractError('descriptor.patch.parts', 'expected array');
15
+ if (patch.states !== undefined && !Array.isArray(patch.states))
16
+ throw new ContractError('descriptor.patch.states', 'expected array');
17
+ const variants = { ...checked.variants };
18
+ for (const [name, choices] of Object.entries(patch.variants ?? {})) {
19
+ if (!Array.isArray(choices) || !choices.length || new Set(choices).size !== choices.length)
20
+ throw new ContractError(`descriptor.patch.variants.${name}`, 'expected nonempty unique choices');
21
+ variants[name] = [...new Set([...(variants[name] ?? []), ...choices])];
22
+ }
23
+ return validateDescriptor({ schemaVersion: 1, name: checked.name, parts: [...new Set([...checked.parts, ...(patch.parts ?? [])])], variants, states: [...new Set([...(checked.states ?? []), ...(patch.states ?? [])])], defaults: { ...checked.defaults, ...patch.defaults } });
24
+ }
@@ -0,0 +1,92 @@
1
+ const tags = new Set(['g', 'path', 'circle', 'rect', 'line', 'ellipse', 'polyline', 'polygon']);
2
+ const drawing = ['fill', 'stroke', 'strokeWidth', 'strokeLinecap', 'strokeLinejoin', 'fillRule', 'clipRule', 'opacity', 'fillOpacity', 'strokeOpacity', 'strokeDasharray', 'strokeDashoffset', 'vectorEffect'];
3
+ const attributes = new Set(['key', 'd', 'cx', 'cy', 'r', 'x', 'y', 'width', 'height', 'rx', 'ry', 'x1', 'x2', 'y1', 'y2', 'points', 'transform', 'className', ...drawing]);
4
+ const rootProperties = new Set(['name', 'aliases', 'node', 'size', 'width', 'height', 'viewBox', 'defaults', 'rtl']);
5
+ /** Converts ordinary SVG attribute spellings to their React equivalents. */
6
+ export function iconAttributeName(name) {
7
+ return name === 'class' ? 'className' : name.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
8
+ }
9
+ /** Validate authored/imported definitions. No XML, event handlers or resource references. */
10
+ export function validateIconDefinition(icon) {
11
+ const fail = (path) => { throw new TypeError(`Invalid icon definition: ${path}`); };
12
+ const checkData = (value, path, array = false) => {
13
+ if (!value || typeof value !== 'object')
14
+ return fail(path);
15
+ const prototype = Object.getPrototypeOf(value);
16
+ const native = array ? Array : Object;
17
+ let plain = prototype === native.prototype || !array && prototype === null;
18
+ if (!plain && prototype) {
19
+ const constructor = Object.getOwnPropertyDescriptor(prototype, 'constructor')?.value;
20
+ plain = typeof constructor === 'function' && Function.prototype.toString.call(constructor) === Function.prototype.toString.call(native) && constructor.prototype === prototype;
21
+ }
22
+ if (Array.isArray(value) !== array || !plain)
23
+ fail(`nonplain ${path}`);
24
+ const keys = Reflect.ownKeys(value);
25
+ if (Array.isArray(value) && keys.length !== value.length + 1)
26
+ fail(`sparse or decorated ${path}`);
27
+ for (const key of keys) {
28
+ if (array && key === 'length')
29
+ continue;
30
+ const property = Object.getOwnPropertyDescriptor(value, key);
31
+ if (typeof key !== 'string' || array && !/^(0|[1-9]\d*)$/.test(key) || !property.enumerable || !('value' in property))
32
+ fail(`nonportable ${path}`);
33
+ }
34
+ };
35
+ checkData(icon, 'expected a plain object');
36
+ if (Object.keys(icon).some(key => !rootProperties.has(key)))
37
+ fail('unknown root property');
38
+ if (icon.name !== undefined && (typeof icon.name !== 'string' || !icon.name.length))
39
+ fail('name');
40
+ if (icon.aliases !== undefined) {
41
+ checkData(icon.aliases, 'aliases', true);
42
+ if (icon.aliases.some(alias => typeof alias !== 'string'))
43
+ fail('aliases');
44
+ }
45
+ for (const key of ['size', 'width', 'height'])
46
+ if (icon[key] !== undefined && (!Number.isFinite(icon[key]) || icon[key] <= 0))
47
+ fail(key);
48
+ if (icon.size !== undefined && (icon.width !== undefined || icon.height !== undefined))
49
+ fail('use size or width/height');
50
+ if ((icon.width === undefined) !== (icon.height === undefined))
51
+ fail('width/height must be paired');
52
+ if (icon.viewBox !== undefined) {
53
+ checkData(icon.viewBox, 'viewBox', true);
54
+ if (icon.viewBox.length !== 4 || icon.viewBox.some(n => !Number.isFinite(n)) || icon.viewBox[2] <= 0 || icon.viewBox[3] <= 0)
55
+ fail('viewBox');
56
+ }
57
+ if (icon.rtl !== undefined && !['none', 'mirror'].includes(icon.rtl))
58
+ fail('rtl');
59
+ const checkAttributes = (value, root) => {
60
+ checkData(value, 'attributes');
61
+ for (const [name, entry] of Object.entries(value)) {
62
+ const normalized = iconAttributeName(name);
63
+ if (!(root ? drawing.includes(normalized) : attributes.has(normalized)))
64
+ fail(`unsupported attribute ${name}`);
65
+ if (!['string', 'number', 'boolean'].includes(typeof entry) || typeof entry === 'number' && !Number.isFinite(entry))
66
+ fail(`nonportable attribute ${name}`);
67
+ if (typeof entry === 'string' && (entry.length > 65536 || /url\s*\(/i.test(entry)))
68
+ fail(`resource reference or oversized attribute ${name}`);
69
+ }
70
+ };
71
+ if (icon.defaults !== undefined)
72
+ checkAttributes(icon.defaults, true);
73
+ let count = 0;
74
+ const visit = (nodes, depth) => {
75
+ checkData(nodes, 'node list', true);
76
+ if (!nodes.length || depth > 16)
77
+ fail('node list');
78
+ for (const node of nodes) {
79
+ checkData(node, 'node', true);
80
+ if (++count > 512 || node.length < 2 || node.length > 3 || !tags.has(node[0]))
81
+ fail('unsupported node');
82
+ checkAttributes(node[1], false);
83
+ if (node[2] !== undefined) {
84
+ if (node[0] !== 'g')
85
+ fail('only groups accept children');
86
+ visit(node[2], depth + 1);
87
+ }
88
+ }
89
+ };
90
+ visit(icon.node, 0);
91
+ return icon;
92
+ }