@pearpages/pulp-react 0.2.1 → 0.3.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 (292) hide show
  1. package/README.md +17 -0
  2. package/dist/accordion.css +2 -0
  3. package/dist/accordion.css.map +1 -1
  4. package/dist/accordion.js +2 -2
  5. package/dist/alert.css +24 -0
  6. package/dist/alert.css.map +1 -1
  7. package/dist/alert.js +7 -7
  8. package/dist/avatar.css +46 -0
  9. package/dist/avatar.css.map +1 -0
  10. package/dist/avatar.d.ts +41 -0
  11. package/dist/avatar.js +5 -0
  12. package/dist/avatar.js.map +1 -0
  13. package/dist/badge.css +39 -0
  14. package/dist/badge.css.map +1 -1
  15. package/dist/badge.d.ts +22 -5
  16. package/dist/badge.js +3 -2
  17. package/dist/button.css +22 -0
  18. package/dist/button.css.map +1 -1
  19. package/dist/button.d.ts +11 -2
  20. package/dist/button.js +5 -5
  21. package/dist/calendar.css +2 -0
  22. package/dist/calendar.css.map +1 -1
  23. package/dist/calendar.js +3 -3
  24. package/dist/card.css +1 -0
  25. package/dist/card.css.map +1 -1
  26. package/dist/card.js +2 -2
  27. package/dist/checkbox.css +2 -0
  28. package/dist/checkbox.css.map +1 -1
  29. package/dist/checkbox.js +4 -4
  30. package/dist/chip.css +95 -0
  31. package/dist/chip.css.map +1 -0
  32. package/dist/chip.d.ts +43 -0
  33. package/dist/chip.js +4 -0
  34. package/dist/chip.js.map +1 -0
  35. package/dist/{chunk-7DS4I7OJ.js → chunk-2E2ESMS2.js} +2 -2
  36. package/dist/chunk-2E2ESMS2.js.map +1 -0
  37. package/dist/{chunk-FH54XQ35.js → chunk-2IYYES7V.js} +2 -2
  38. package/dist/chunk-2IYYES7V.js.map +1 -0
  39. package/dist/{chunk-XDVS7HX7.js → chunk-2NVC3C7K.js} +3 -3
  40. package/dist/chunk-2NVC3C7K.js.map +1 -0
  41. package/dist/{chunk-IDNGNQNV.js → chunk-55QUKGK2.js} +2 -2
  42. package/dist/chunk-55QUKGK2.js.map +1 -0
  43. package/dist/{chunk-DVM37MEK.js → chunk-56RSH7GQ.js} +4 -4
  44. package/dist/chunk-56RSH7GQ.js.map +1 -0
  45. package/dist/chunk-5TYCIBLW.js +27 -0
  46. package/dist/chunk-5TYCIBLW.js.map +1 -0
  47. package/dist/chunk-7O6FTCZL.js +101 -0
  48. package/dist/chunk-7O6FTCZL.js.map +1 -0
  49. package/dist/{chunk-XXC34COT.js → chunk-A7TMFEQ2.js} +4 -4
  50. package/dist/chunk-A7TMFEQ2.js.map +1 -0
  51. package/dist/{chunk-GTTXRDXV.js → chunk-AZAI4OVR.js} +4 -4
  52. package/dist/chunk-AZAI4OVR.js.map +1 -0
  53. package/dist/{chunk-ASOQ2MVR.js → chunk-BR2EH4TK.js} +2 -2
  54. package/dist/chunk-BR2EH4TK.js.map +1 -0
  55. package/dist/{chunk-OUFAFINB.js → chunk-CLE2QGCU.js} +3 -3
  56. package/dist/chunk-CLE2QGCU.js.map +1 -0
  57. package/dist/{chunk-VSDEQHG4.js → chunk-DE67ECD7.js} +7 -5
  58. package/dist/chunk-DE67ECD7.js.map +1 -0
  59. package/dist/{chunk-YUHS5S5Y.js → chunk-DGIXNUNI.js} +2 -2
  60. package/dist/chunk-DGIXNUNI.js.map +1 -0
  61. package/dist/{chunk-T76YSNTZ.js → chunk-EDTA65L5.js} +3 -3
  62. package/dist/chunk-EDTA65L5.js.map +1 -0
  63. package/dist/{chunk-WDWTQKIJ.js → chunk-F2YI5N4L.js} +5 -5
  64. package/dist/chunk-F2YI5N4L.js.map +1 -0
  65. package/dist/{chunk-3GWESUGD.js → chunk-F3S5BHX2.js} +2 -2
  66. package/dist/chunk-F3S5BHX2.js.map +1 -0
  67. package/dist/{chunk-4DER5LHM.js → chunk-FFCEY76B.js} +10 -5
  68. package/dist/chunk-FFCEY76B.js.map +1 -0
  69. package/dist/{chunk-Y4TZA77G.js → chunk-GWTHITZO.js} +3 -3
  70. package/dist/chunk-GWTHITZO.js.map +1 -0
  71. package/dist/chunk-HDC2IQV2.js +34 -0
  72. package/dist/chunk-HDC2IQV2.js.map +1 -0
  73. package/dist/{chunk-2KG43BOT.js → chunk-HKNIEQ2V.js} +4 -4
  74. package/dist/chunk-HKNIEQ2V.js.map +1 -0
  75. package/dist/{chunk-MRQWUCBA.js → chunk-HPQ462R5.js} +3 -3
  76. package/dist/chunk-HPQ462R5.js.map +1 -0
  77. package/dist/{chunk-Z4PN6B2C.js → chunk-IB5UUE3S.js} +2 -2
  78. package/dist/chunk-IB5UUE3S.js.map +1 -0
  79. package/dist/{chunk-4HRNRTXI.js → chunk-IRNTXAA7.js} +3 -3
  80. package/dist/{chunk-4HRNRTXI.js.map → chunk-IRNTXAA7.js.map} +1 -1
  81. package/dist/{chunk-OXYP34CG.js → chunk-JOGIN4SS.js} +3 -3
  82. package/dist/chunk-JOGIN4SS.js.map +1 -0
  83. package/dist/chunk-KSLKNWWM.js +28 -0
  84. package/dist/chunk-KSLKNWWM.js.map +1 -0
  85. package/dist/{chunk-2ZP4ZBI5.js → chunk-LKWZZIRZ.js} +2 -2
  86. package/dist/chunk-LKWZZIRZ.js.map +1 -0
  87. package/dist/{chunk-ASNTNTJW.js → chunk-O5LII5XP.js} +2 -2
  88. package/dist/chunk-O5LII5XP.js.map +1 -0
  89. package/dist/chunk-OKA2PLDV.js +85 -0
  90. package/dist/chunk-OKA2PLDV.js.map +1 -0
  91. package/dist/{chunk-BBV4L5WO.js → chunk-Q6SYKNZ5.js} +3 -3
  92. package/dist/{chunk-BBV4L5WO.js.map → chunk-Q6SYKNZ5.js.map} +1 -1
  93. package/dist/chunk-QID6YYFF.js +33 -0
  94. package/dist/chunk-QID6YYFF.js.map +1 -0
  95. package/dist/{chunk-ZVDN3GRI.js → chunk-QJG5ILK5.js} +3 -3
  96. package/dist/{chunk-ZVDN3GRI.js.map → chunk-QJG5ILK5.js.map} +1 -1
  97. package/dist/chunk-QXHSA4QD.js +43 -0
  98. package/dist/chunk-QXHSA4QD.js.map +1 -0
  99. package/dist/chunk-S632WN4W.js +106 -0
  100. package/dist/chunk-S632WN4W.js.map +1 -0
  101. package/dist/{chunk-N7L66GMG.js → chunk-SDIK6VSC.js} +3 -3
  102. package/dist/chunk-SDIK6VSC.js.map +1 -0
  103. package/dist/{chunk-2PXTVZ7H.js → chunk-SXMORGSG.js} +3 -3
  104. package/dist/chunk-SXMORGSG.js.map +1 -0
  105. package/dist/{chunk-DWE374JX.js → chunk-UMK4D234.js} +3 -3
  106. package/dist/chunk-UMK4D234.js.map +1 -0
  107. package/dist/{chunk-AWQHULJC.js → chunk-VIGD7KHC.js} +2 -2
  108. package/dist/chunk-VIGD7KHC.js.map +1 -0
  109. package/dist/{chunk-TGMDOQCL.js → chunk-VS2HPJIX.js} +3 -3
  110. package/dist/chunk-VS2HPJIX.js.map +1 -0
  111. package/dist/{chunk-O6OBFL3Q.js → chunk-W2UUZ2DC.js} +3 -3
  112. package/dist/chunk-W2UUZ2DC.js.map +1 -0
  113. package/dist/{chunk-5SBKZS56.js → chunk-W6HEBHA7.js} +3 -3
  114. package/dist/{chunk-5SBKZS56.js.map → chunk-W6HEBHA7.js.map} +1 -1
  115. package/dist/{chunk-GUZMLYST.js → chunk-WDIFWMKE.js} +6 -6
  116. package/dist/chunk-WDIFWMKE.js.map +1 -0
  117. package/dist/{chunk-TVI5AXLE.js → chunk-WJDDKNE7.js} +3 -3
  118. package/dist/{chunk-TVI5AXLE.js.map → chunk-WJDDKNE7.js.map} +1 -1
  119. package/dist/{chunk-7RQQASKS.js → chunk-XGWFTFGR.js} +3 -3
  120. package/dist/chunk-XGWFTFGR.js.map +1 -0
  121. package/dist/{chunk-UX42PQLT.js → chunk-Y4YVAHD2.js} +5 -5
  122. package/dist/chunk-Y4YVAHD2.js.map +1 -0
  123. package/dist/chunk-Y7KC2FDU.js +88 -0
  124. package/dist/chunk-Y7KC2FDU.js.map +1 -0
  125. package/dist/{chunk-P5C2U5ZF.js → chunk-YBECKOVP.js} +3 -3
  126. package/dist/chunk-YBECKOVP.js.map +1 -0
  127. package/dist/{chunk-75GTNRBH.js → chunk-YK2OOM56.js} +3 -3
  128. package/dist/chunk-YK2OOM56.js.map +1 -0
  129. package/dist/{chunk-OGIQRHNF.js → chunk-ZEVQQQOA.js} +3 -3
  130. package/dist/chunk-ZEVQQQOA.js.map +1 -0
  131. package/dist/{chunk-I4KC4V6A.js → chunk-ZL5MMRLG.js} +3 -3
  132. package/dist/chunk-ZL5MMRLG.js.map +1 -0
  133. package/dist/combobox.css +9 -0
  134. package/dist/combobox.css.map +1 -1
  135. package/dist/combobox.js +7 -7
  136. package/dist/component-manifest.json +679 -8
  137. package/dist/date-picker.css +4 -0
  138. package/dist/date-picker.css.map +1 -1
  139. package/dist/date-picker.js +5 -5
  140. package/dist/dialog.css +1 -0
  141. package/dist/dialog.css.map +1 -1
  142. package/dist/dialog.js +1 -1
  143. package/dist/divider.css +37 -0
  144. package/dist/divider.css.map +1 -0
  145. package/dist/divider.d.ts +35 -0
  146. package/dist/divider.js +4 -0
  147. package/dist/divider.js.map +1 -0
  148. package/dist/empty-state.css +175 -0
  149. package/dist/empty-state.css.map +1 -0
  150. package/dist/empty-state.d.ts +40 -0
  151. package/dist/empty-state.js +7 -0
  152. package/dist/empty-state.js.map +1 -0
  153. package/dist/field.css +1 -0
  154. package/dist/field.css.map +1 -1
  155. package/dist/field.js +2 -2
  156. package/dist/heading.css +1 -0
  157. package/dist/heading.css.map +1 -1
  158. package/dist/heading.js +1 -1
  159. package/dist/icon-button.css +23 -0
  160. package/dist/icon-button.css.map +1 -1
  161. package/dist/icon-button.js +6 -6
  162. package/dist/icon.css +1 -0
  163. package/dist/icon.css.map +1 -1
  164. package/dist/icon.js +1 -1
  165. package/dist/index.css +527 -0
  166. package/dist/index.css.map +1 -1
  167. package/dist/index.d.ts +8 -2
  168. package/dist/index.js +49 -43
  169. package/dist/inline.css +1 -0
  170. package/dist/inline.css.map +1 -1
  171. package/dist/inline.js +1 -1
  172. package/dist/link.css +35 -0
  173. package/dist/link.css.map +1 -0
  174. package/dist/link.d.ts +37 -0
  175. package/dist/link.js +5 -0
  176. package/dist/link.js.map +1 -0
  177. package/dist/listbox.css +2 -0
  178. package/dist/listbox.css.map +1 -1
  179. package/dist/listbox.js +3 -3
  180. package/dist/menu.css +2 -0
  181. package/dist/menu.css.map +1 -1
  182. package/dist/menu.js +3 -3
  183. package/dist/pagination.css +24 -0
  184. package/dist/pagination.css.map +1 -1
  185. package/dist/pagination.js +7 -7
  186. package/dist/picker.css +7 -0
  187. package/dist/picker.css.map +1 -1
  188. package/dist/picker.js +5 -5
  189. package/dist/popover.css +1 -0
  190. package/dist/popover.css.map +1 -1
  191. package/dist/popover.js +2 -2
  192. package/dist/progress.css +2 -0
  193. package/dist/progress.css.map +1 -1
  194. package/dist/progress.js +2 -2
  195. package/dist/radio.css +2 -0
  196. package/dist/radio.css.map +1 -1
  197. package/dist/radio.js +3 -3
  198. package/dist/segmented-control.css +111 -0
  199. package/dist/segmented-control.css.map +1 -0
  200. package/dist/segmented-control.d.ts +90 -0
  201. package/dist/segmented-control.js +5 -0
  202. package/dist/segmented-control.js.map +1 -0
  203. package/dist/select.css +2 -0
  204. package/dist/select.css.map +1 -1
  205. package/dist/select.js +3 -3
  206. package/dist/sheet.css +30 -0
  207. package/dist/sheet.css.map +1 -1
  208. package/dist/sheet.d.ts +9 -2
  209. package/dist/sheet.js +2 -2
  210. package/dist/skeleton.css +1 -0
  211. package/dist/skeleton.css.map +1 -1
  212. package/dist/skeleton.js +1 -1
  213. package/dist/slider.css +2 -0
  214. package/dist/slider.css.map +1 -1
  215. package/dist/slider.js +2 -2
  216. package/dist/spinner.css +2 -0
  217. package/dist/spinner.css.map +1 -1
  218. package/dist/spinner.js +2 -2
  219. package/dist/stack.css +1 -0
  220. package/dist/stack.css.map +1 -1
  221. package/dist/stack.js +1 -1
  222. package/dist/switch.css +2 -0
  223. package/dist/switch.css.map +1 -1
  224. package/dist/switch.js +4 -4
  225. package/dist/table.css +2 -0
  226. package/dist/table.css.map +1 -1
  227. package/dist/table.js +2 -2
  228. package/dist/tabs.css +1 -0
  229. package/dist/tabs.css.map +1 -1
  230. package/dist/tabs.js +1 -1
  231. package/dist/text-field.css +65 -0
  232. package/dist/text-field.css.map +1 -1
  233. package/dist/text-field.d.ts +15 -2
  234. package/dist/text-field.js +3 -3
  235. package/dist/text.css +1 -0
  236. package/dist/text.css.map +1 -1
  237. package/dist/text.js +1 -1
  238. package/dist/textarea.css +2 -0
  239. package/dist/textarea.css.map +1 -1
  240. package/dist/textarea.js +3 -3
  241. package/dist/toast.css +25 -0
  242. package/dist/toast.css.map +1 -1
  243. package/dist/toast.d.ts +21 -3
  244. package/dist/toast.js +8 -8
  245. package/dist/tooltip.css +1 -0
  246. package/dist/tooltip.css.map +1 -1
  247. package/dist/tooltip.js +2 -2
  248. package/dist/visually-hidden.css +1 -0
  249. package/dist/visually-hidden.css.map +1 -1
  250. package/dist/visually-hidden.js +1 -1
  251. package/package.json +36 -6
  252. package/dist/chunk-2KG43BOT.js.map +0 -1
  253. package/dist/chunk-2PXTVZ7H.js.map +0 -1
  254. package/dist/chunk-2ZP4ZBI5.js.map +0 -1
  255. package/dist/chunk-3GWESUGD.js.map +0 -1
  256. package/dist/chunk-4DER5LHM.js.map +0 -1
  257. package/dist/chunk-6I26MMQF.js +0 -19
  258. package/dist/chunk-6I26MMQF.js.map +0 -1
  259. package/dist/chunk-75GTNRBH.js.map +0 -1
  260. package/dist/chunk-7DS4I7OJ.js.map +0 -1
  261. package/dist/chunk-7RQQASKS.js.map +0 -1
  262. package/dist/chunk-ASNTNTJW.js.map +0 -1
  263. package/dist/chunk-ASOQ2MVR.js.map +0 -1
  264. package/dist/chunk-AWQHULJC.js.map +0 -1
  265. package/dist/chunk-DVM37MEK.js.map +0 -1
  266. package/dist/chunk-DWE374JX.js.map +0 -1
  267. package/dist/chunk-FH54XQ35.js.map +0 -1
  268. package/dist/chunk-GTTXRDXV.js.map +0 -1
  269. package/dist/chunk-GUZMLYST.js.map +0 -1
  270. package/dist/chunk-I4KC4V6A.js.map +0 -1
  271. package/dist/chunk-IDNGNQNV.js.map +0 -1
  272. package/dist/chunk-MRQWUCBA.js.map +0 -1
  273. package/dist/chunk-MXWXJZFS.js +0 -48
  274. package/dist/chunk-MXWXJZFS.js.map +0 -1
  275. package/dist/chunk-N7L66GMG.js.map +0 -1
  276. package/dist/chunk-O6OBFL3Q.js.map +0 -1
  277. package/dist/chunk-OGIQRHNF.js.map +0 -1
  278. package/dist/chunk-OUFAFINB.js.map +0 -1
  279. package/dist/chunk-OXYP34CG.js.map +0 -1
  280. package/dist/chunk-P5C2U5ZF.js.map +0 -1
  281. package/dist/chunk-T76YSNTZ.js.map +0 -1
  282. package/dist/chunk-TGMDOQCL.js.map +0 -1
  283. package/dist/chunk-UX42PQLT.js.map +0 -1
  284. package/dist/chunk-VSDEQHG4.js.map +0 -1
  285. package/dist/chunk-WDWTQKIJ.js.map +0 -1
  286. package/dist/chunk-XDVS7HX7.js.map +0 -1
  287. package/dist/chunk-XUROYTJ7.js +0 -28
  288. package/dist/chunk-XUROYTJ7.js.map +0 -1
  289. package/dist/chunk-XXC34COT.js.map +0 -1
  290. package/dist/chunk-Y4TZA77G.js.map +0 -1
  291. package/dist/chunk-YUHS5S5Y.js.map +0 -1
  292. package/dist/chunk-Z4PN6B2C.js.map +0 -1
package/dist/spinner.js CHANGED
@@ -1,5 +1,5 @@
1
- export { Spinner } from './chunk-I4KC4V6A.js';
2
- import './chunk-Z4PN6B2C.js';
1
+ export { Spinner } from './chunk-ZL5MMRLG.js';
2
+ import './chunk-IB5UUE3S.js';
3
3
  import './chunk-MI4QUKQS.js';
4
4
  //# sourceMappingURL=spinner.js.map
5
5
  //# sourceMappingURL=spinner.js.map
package/dist/stack.css CHANGED
@@ -1,4 +1,5 @@
1
1
  /* src/stack/Stack.module.css */
2
+ @layer reset, tokens, vendor, base, components, utilities;
2
3
  @layer components {
3
4
  .Stack_stack {
4
5
  display: flex;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/stack/Stack.module.css"],"sourcesContent":["/* Every value is a token (--stack-gap-*). Gap, alignment and justification are data attributes. */\n\n@layer components {\n .stack {\n display: flex;\n flex-direction: column;\n gap: var(--stack-gap-3);\n margin: 0;\n padding: 0;\n list-style: none;\n\n &[data-gap=\"1\"] { gap: var(--stack-gap-1); }\n &[data-gap=\"2\"] { gap: var(--stack-gap-2); }\n &[data-gap=\"3\"] { gap: var(--stack-gap-3); }\n &[data-gap=\"4\"] { gap: var(--stack-gap-4); }\n &[data-gap=\"5\"] { gap: var(--stack-gap-5); }\n &[data-gap=\"6\"] { gap: var(--stack-gap-6); }\n &[data-gap=\"7\"] { gap: var(--stack-gap-7); }\n &[data-gap=\"8\"] { gap: var(--stack-gap-8); }\n &[data-align=\"start\"] { align-items: flex-start; }\n &[data-align=\"center\"] { align-items: center; }\n &[data-align=\"end\"] { align-items: flex-end; }\n &[data-align=\"stretch\"] { align-items: stretch; }\n &[data-justify=\"start\"] { justify-content: flex-start; }\n &[data-justify=\"center\"] { justify-content: center; }\n &[data-justify=\"end\"] { justify-content: flex-end; }\n &[data-justify=\"between\"] { justify-content: space-between; }\n }\n}\n"],"mappings":";AAEA;AACE,GAACA;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AACT,YAAQ;AACR,aAAS;AACT,gBAAY;AAEZ,KAAC,CAAC;AAAgB,WAAK,IAAI;AAAgB;AAC3C,KAAC,CAAC;AAAgB,WAAK,IAAI;AAAgB;AAC3C,KAAC,CAAC;AAAgB,WAAK,IAAI;AAAgB;AAC3C,KAAC,CAAC;AAAgB,WAAK,IAAI;AAAgB;AAC3C,KAAC,CAAC;AAAgB,WAAK,IAAI;AAAgB;AAC3C,KAAC,CAAC;AAAgB,WAAK,IAAI;AAAgB;AAC3C,KAAC,CAAC;AAAgB,WAAK,IAAI;AAAgB;AAC3C,KAAC,CAAC;AAAgB,WAAK,IAAI;AAAgB;AAC3C,KAAC,CAAC;AAAsB,mBAAa;AAAY;AACjD,KAAC,CAAC;AAAuB,mBAAa;AAAQ;AAC9C,KAAC,CAAC;AAAoB,mBAAa;AAAU;AAC7C,KAAC,CAAC;AAAwB,mBAAa;AAAS;AAChD,KAAC,CAAC;AAAwB,uBAAiB;AAAY;AACvD,KAAC,CAAC;AAAyB,uBAAiB;AAAQ;AACpD,KAAC,CAAC;AAAsB,uBAAiB;AAAU;AACnD,KAAC,CAAC;AAA0B,uBAAiB;AAAe;AAC9D;AACF;","names":["stack"]}
1
+ {"version":3,"sources":["../src/stack/Stack.module.css"],"sourcesContent":["/* Every value is a token (--stack-gap-*). Gap, alignment and justification are data attributes. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .stack {\n display: flex;\n flex-direction: column;\n gap: var(--stack-gap-3);\n margin: 0;\n padding: 0;\n list-style: none;\n\n &[data-gap=\"1\"] { gap: var(--stack-gap-1); }\n &[data-gap=\"2\"] { gap: var(--stack-gap-2); }\n &[data-gap=\"3\"] { gap: var(--stack-gap-3); }\n &[data-gap=\"4\"] { gap: var(--stack-gap-4); }\n &[data-gap=\"5\"] { gap: var(--stack-gap-5); }\n &[data-gap=\"6\"] { gap: var(--stack-gap-6); }\n &[data-gap=\"7\"] { gap: var(--stack-gap-7); }\n &[data-gap=\"8\"] { gap: var(--stack-gap-8); }\n &[data-align=\"start\"] { align-items: flex-start; }\n &[data-align=\"center\"] { align-items: center; }\n &[data-align=\"end\"] { align-items: flex-end; }\n &[data-align=\"stretch\"] { align-items: stretch; }\n &[data-justify=\"start\"] { justify-content: flex-start; }\n &[data-justify=\"center\"] { justify-content: center; }\n &[data-justify=\"end\"] { justify-content: flex-end; }\n &[data-justify=\"between\"] { justify-content: space-between; }\n }\n}\n"],"mappings":";AAEA;AAEA;AACE,GAACA;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AACT,YAAQ;AACR,aAAS;AACT,gBAAY;AAEZ,KAAC,CAAC;AAAgB,WAAK,IAAI;AAAgB;AAC3C,KAAC,CAAC;AAAgB,WAAK,IAAI;AAAgB;AAC3C,KAAC,CAAC;AAAgB,WAAK,IAAI;AAAgB;AAC3C,KAAC,CAAC;AAAgB,WAAK,IAAI;AAAgB;AAC3C,KAAC,CAAC;AAAgB,WAAK,IAAI;AAAgB;AAC3C,KAAC,CAAC;AAAgB,WAAK,IAAI;AAAgB;AAC3C,KAAC,CAAC;AAAgB,WAAK,IAAI;AAAgB;AAC3C,KAAC,CAAC;AAAgB,WAAK,IAAI;AAAgB;AAC3C,KAAC,CAAC;AAAsB,mBAAa;AAAY;AACjD,KAAC,CAAC;AAAuB,mBAAa;AAAQ;AAC9C,KAAC,CAAC;AAAoB,mBAAa;AAAU;AAC7C,KAAC,CAAC;AAAwB,mBAAa;AAAS;AAChD,KAAC,CAAC;AAAwB,uBAAiB;AAAY;AACvD,KAAC,CAAC;AAAyB,uBAAiB;AAAQ;AACpD,KAAC,CAAC;AAAsB,uBAAiB;AAAU;AACnD,KAAC,CAAC;AAA0B,uBAAiB;AAAe;AAC9D;AACF;","names":["stack"]}
package/dist/stack.js CHANGED
@@ -1,4 +1,4 @@
1
- export { Stack } from './chunk-7DS4I7OJ.js';
1
+ export { Stack } from './chunk-2E2ESMS2.js';
2
2
  import './chunk-MI4QUKQS.js';
3
3
  //# sourceMappingURL=stack.js.map
4
4
  //# sourceMappingURL=stack.js.map
package/dist/switch.css CHANGED
@@ -1,4 +1,5 @@
1
1
  /* src/field/Field.module.css */
2
+ @layer reset, tokens, vendor, base, components, utilities;
2
3
  @layer components {
3
4
  .Field_field {
4
5
  display: flex;
@@ -27,6 +28,7 @@
27
28
  }
28
29
 
29
30
  /* src/switch/Switch.module.css */
31
+ @layer reset, tokens, vendor, base, components, utilities;
30
32
  @layer components {
31
33
  .Switch_switch {
32
34
  --_size: var(--switch-size-md);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/field/Field.module.css","../src/switch/Switch.module.css"],"sourcesContent":["/* Every value is a token (--field-*). The control itself brings its own styles. */\n\n@layer components {\n .field {\n display: flex;\n flex-direction: column;\n gap: var(--field-gap);\n }\n\n .label {\n font-size: var(--field-label-font-size);\n font-weight: var(--field-label-font-weight);\n color: var(--field-label-fg);\n }\n\n .required {\n margin-inline-start: var(--field-required-gap);\n color: var(--field-required-fg);\n }\n\n .description {\n margin: 0;\n font-size: var(--field-description-font-size);\n color: var(--field-description-fg);\n }\n\n .error {\n margin: 0;\n font-size: var(--field-error-font-size);\n color: var(--field-error-fg);\n }\n}\n","/*\n * Every value is a token (--switch-*). The input is the track; its ::before\n * is the thumb. Size and invalid state resolve into private custom\n * properties on the root.\n */\n\n@layer components {\n .switch {\n --_size: var(--switch-size-md);\n --_track: var(--switch-track-bg);\n\n font-family: var(--font-family-body);\n\n &[data-size=\"sm\"] { --_size: var(--switch-size-sm); }\n &[data-size=\"lg\"] { --_size: var(--switch-size-lg); }\n &[data-invalid] { --_track: var(--switch-track-invalid); }\n }\n\n .row {\n display: flex;\n align-items: center;\n gap: var(--switch-gap);\n }\n\n .input {\n --_inset: calc(2 * var(--switch-thumb-inset));\n\n position: relative;\n flex: none;\n inline-size: calc(2 * var(--_size));\n block-size: var(--_size);\n margin: 0;\n border: none;\n border-radius: var(--switch-radius);\n background-color: var(--_track);\n appearance: none;\n cursor: pointer;\n transition: background-color var(--switch-motion-duration) var(--motion-easing-standard);\n\n &::before {\n content: \"\";\n position: absolute;\n inset-block-start: var(--_inset);\n inset-inline-start: var(--_inset);\n inline-size: calc(var(--_size) - 2 * var(--_inset));\n block-size: calc(var(--_size) - 2 * var(--_inset));\n border-radius: var(--switch-radius);\n background-color: var(--switch-thumb);\n transition: translate var(--switch-motion-duration) var(--motion-easing-standard);\n }\n\n &:checked {\n background-color: var(--switch-track-bg-checked);\n\n &::before {\n translate: var(--_size) 0;\n background-color: var(--switch-thumb-checked);\n }\n }\n\n &:focus-visible {\n outline: var(--switch-focus-ring-width) solid var(--switch-focus-ring);\n outline-offset: var(--switch-focus-ring-offset);\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.55;\n }\n\n &:hover:not(:disabled, :checked) {\n background-color: var(--switch-track-bg-hover);\n }\n\n &:hover:not(:disabled):checked {\n background-color: var(--switch-track-bg-checked-hover);\n }\n }\n}\n"],"mappings":";AAEA;AACE,GAACA;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AACX;AAEA,GAACC;AACC,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,yBAAqB,IAAI;AACzB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AACF;;;ACzBA;AACE,GAACC;AACC,aAAS,IAAI;AACb,cAAU,IAAI;AAEd,iBAAa,IAAI;AAEjB,KAAC,CAAC;AAAkB,eAAS,IAAI;AAAmB;AACpD,KAAC,CAAC;AAAkB,eAAS,IAAI;AAAmB;AACpD,KAAC,CAAC;AAAgB,gBAAU,IAAI;AAAyB;AAC3D;AAEA,GAACC;AACC,aAAS;AACT,iBAAa;AACb,SAAK,IAAI;AACX;AAEA,GAACC;AACC,cAAU,KAAK,EAAE,EAAE,IAAI;AAEvB,cAAU;AACV,UAAM;AACN,iBAAa,KAAK,EAAE,EAAE,IAAI;AAC1B,gBAAY,IAAI;AAChB,YAAQ;AACR,YAAQ;AACR,mBAAe,IAAI;AACnB,sBAAkB,IAAI;AACtB,gBAAY;AACZ,YAAQ;AACR,gBAAY,iBAAiB,IAAI,0BAA0B,IAAI;AAE/D,KAAC;AACC,eAAS;AACT,gBAAU;AACV,yBAAmB,IAAI;AACvB,0BAAoB,IAAI;AACxB,mBAAa,KAAK,IAAI,SAAS,EAAE,EAAE,EAAE,IAAI;AACzC,kBAAY,KAAK,IAAI,SAAS,EAAE,EAAE,EAAE,IAAI;AACxC,qBAAe,IAAI;AACnB,wBAAkB,IAAI;AACtB,kBAAY,UAAU,IAAI,0BAA0B,IAAI;AAC1D;AAEA,KAAC;AACC,wBAAkB,IAAI;AAEtB,OAAC;AACC,mBAAW,IAAI,SAAS;AACxB,0BAAkB,IAAI;AACxB;AACF;AAEA,KAAC;AACC,eAAS,IAAI,2BAA2B,MAAM,IAAI;AAClD,sBAAgB,IAAI;AACtB;AAEA,KAAC;AACC,cAAQ;AACR,eAAS;AACX;AAEA,KAAC,MAAM,KAAK,WAAW;AACrB,wBAAkB,IAAI;AACxB;AAEA,KAAC,MAAM,KAAK,UAAU;AACpB,wBAAkB,IAAI;AACxB;AACF;AACF;","names":["field","label","required","description","error","switch","row","input"]}
1
+ {"version":3,"sources":["../src/field/Field.module.css","../src/switch/Switch.module.css"],"sourcesContent":["/* Every value is a token (--field-*). The control itself brings its own styles. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .field {\n display: flex;\n flex-direction: column;\n gap: var(--field-gap);\n }\n\n .label {\n font-size: var(--field-label-font-size);\n font-weight: var(--field-label-font-weight);\n color: var(--field-label-fg);\n }\n\n .required {\n margin-inline-start: var(--field-required-gap);\n color: var(--field-required-fg);\n }\n\n .description {\n margin: 0;\n font-size: var(--field-description-font-size);\n color: var(--field-description-fg);\n }\n\n .error {\n margin: 0;\n font-size: var(--field-error-font-size);\n color: var(--field-error-fg);\n }\n}\n","/*\n * Every value is a token (--switch-*). The input is the track; its ::before\n * is the thumb. Size and invalid state resolve into private custom\n * properties on the root.\n */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .switch {\n --_size: var(--switch-size-md);\n --_track: var(--switch-track-bg);\n\n font-family: var(--font-family-body);\n\n &[data-size=\"sm\"] { --_size: var(--switch-size-sm); }\n &[data-size=\"lg\"] { --_size: var(--switch-size-lg); }\n &[data-invalid] { --_track: var(--switch-track-invalid); }\n }\n\n .row {\n display: flex;\n align-items: center;\n gap: var(--switch-gap);\n }\n\n .input {\n --_inset: calc(2 * var(--switch-thumb-inset));\n\n position: relative;\n flex: none;\n inline-size: calc(2 * var(--_size));\n block-size: var(--_size);\n margin: 0;\n border: none;\n border-radius: var(--switch-radius);\n background-color: var(--_track);\n appearance: none;\n cursor: pointer;\n transition: background-color var(--switch-motion-duration) var(--motion-easing-standard);\n\n &::before {\n content: \"\";\n position: absolute;\n inset-block-start: var(--_inset);\n inset-inline-start: var(--_inset);\n inline-size: calc(var(--_size) - 2 * var(--_inset));\n block-size: calc(var(--_size) - 2 * var(--_inset));\n border-radius: var(--switch-radius);\n background-color: var(--switch-thumb);\n transition: translate var(--switch-motion-duration) var(--motion-easing-standard);\n }\n\n &:checked {\n background-color: var(--switch-track-bg-checked);\n\n &::before {\n translate: var(--_size) 0;\n background-color: var(--switch-thumb-checked);\n }\n }\n\n &:focus-visible {\n outline: var(--switch-focus-ring-width) solid var(--switch-focus-ring);\n outline-offset: var(--switch-focus-ring-offset);\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.55;\n }\n\n &:hover:not(:disabled, :checked) {\n background-color: var(--switch-track-bg-hover);\n }\n\n &:hover:not(:disabled):checked {\n background-color: var(--switch-track-bg-checked-hover);\n }\n }\n}\n"],"mappings":";AAEA;AAEA;AACE,GAACA;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AACX;AAEA,GAACC;AACC,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,yBAAqB,IAAI;AACzB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AACF;;;AC3BA;AAEA;AACE,GAACC;AACC,aAAS,IAAI;AACb,cAAU,IAAI;AAEd,iBAAa,IAAI;AAEjB,KAAC,CAAC;AAAkB,eAAS,IAAI;AAAmB;AACpD,KAAC,CAAC;AAAkB,eAAS,IAAI;AAAmB;AACpD,KAAC,CAAC;AAAgB,gBAAU,IAAI;AAAyB;AAC3D;AAEA,GAACC;AACC,aAAS;AACT,iBAAa;AACb,SAAK,IAAI;AACX;AAEA,GAACC;AACC,cAAU,KAAK,EAAE,EAAE,IAAI;AAEvB,cAAU;AACV,UAAM;AACN,iBAAa,KAAK,EAAE,EAAE,IAAI;AAC1B,gBAAY,IAAI;AAChB,YAAQ;AACR,YAAQ;AACR,mBAAe,IAAI;AACnB,sBAAkB,IAAI;AACtB,gBAAY;AACZ,YAAQ;AACR,gBAAY,iBAAiB,IAAI,0BAA0B,IAAI;AAE/D,KAAC;AACC,eAAS;AACT,gBAAU;AACV,yBAAmB,IAAI;AACvB,0BAAoB,IAAI;AACxB,mBAAa,KAAK,IAAI,SAAS,EAAE,EAAE,EAAE,IAAI;AACzC,kBAAY,KAAK,IAAI,SAAS,EAAE,EAAE,EAAE,IAAI;AACxC,qBAAe,IAAI;AACnB,wBAAkB,IAAI;AACtB,kBAAY,UAAU,IAAI,0BAA0B,IAAI;AAC1D;AAEA,KAAC;AACC,wBAAkB,IAAI;AAEtB,OAAC;AACC,mBAAW,IAAI,SAAS;AACxB,0BAAkB,IAAI;AACxB;AACF;AAEA,KAAC;AACC,eAAS,IAAI,2BAA2B,MAAM,IAAI;AAClD,sBAAgB,IAAI;AACtB;AAEA,KAAC;AACC,cAAQ;AACR,eAAS;AACX;AAEA,KAAC,MAAM,KAAK,WAAW;AACrB,wBAAkB,IAAI;AACxB;AAEA,KAAC,MAAM,KAAK,UAAU;AACpB,wBAAkB,IAAI;AACxB;AACF;AACF;","names":["field","label","required","description","error","switch","row","input"]}
package/dist/switch.js CHANGED
@@ -1,7 +1,7 @@
1
- export { Switch } from './chunk-OUFAFINB.js';
2
- import './chunk-BBV4L5WO.js';
3
- import './chunk-2PXTVZ7H.js';
4
- import './chunk-ZVDN3GRI.js';
1
+ "use client";export { Switch } from './chunk-CLE2QGCU.js';
2
+ import './chunk-Q6SYKNZ5.js';
3
+ import './chunk-SXMORGSG.js';
4
+ import './chunk-QJG5ILK5.js';
5
5
  import './chunk-MI4QUKQS.js';
6
6
  //# sourceMappingURL=switch.js.map
7
7
  //# sourceMappingURL=switch.js.map
package/dist/table.css CHANGED
@@ -1,4 +1,5 @@
1
1
  /* src/visually-hidden/VisuallyHidden.module.css */
2
+ @layer reset, tokens, vendor, base, components, utilities;
2
3
  @layer components {
3
4
  .VisuallyHidden_root {
4
5
  position: absolute;
@@ -14,6 +15,7 @@
14
15
  }
15
16
 
16
17
  /* src/table/Table.module.css */
18
+ @layer reset, tokens, vendor, base, components, utilities;
17
19
  @layer components {
18
20
  .Table_container {
19
21
  overflow: auto;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/visually-hidden/VisuallyHidden.module.css","../src/table/Table.module.css"],"sourcesContent":["/* The clip-path technique: present in the accessibility tree, absent from the layout. */\n\n@layer components {\n .root {\n position: absolute;\n inline-size: var(--visually-hidden-size);\n block-size: var(--visually-hidden-size);\n padding: 0;\n margin: 0;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n}\n","/*\n * Every value is a token (--table-*). Density resolves the row padding into a\n * private custom property on the table. React Aria writes the state:\n * data-hovered, data-selected, data-disabled, data-focus-visible on rows and\n * cells; data-allows-sorting and data-sort-direction on columns;\n * data-selected and data-indeterminate on the selection checkbox.\n * Rules are ordered from general to specific so no later selector has a lower\n * specificity than an earlier one for the same element.\n */\n\n@layer components {\n .container {\n overflow: auto;\n border: var(--size-hairline) solid var(--table-border);\n border-radius: var(--table-radius);\n background-color: var(--table-bg);\n color: var(--table-fg);\n font-family: var(--table-font-family);\n font-size: var(--table-font-size);\n }\n\n .table {\n --_padding-block: var(--table-cell-padding-block-default);\n\n inline-size: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n outline: none;\n\n &[data-density=\"compact\"] {\n --_padding-block: var(--table-cell-padding-block-compact);\n }\n\n &[data-focus-visible] {\n outline: var(--table-focus-ring-width) solid var(--table-focus-ring);\n outline-offset: calc(-1 * var(--table-focus-ring-width));\n }\n }\n\n .header {\n background-color: var(--table-header-bg);\n }\n\n .container[data-sticky-header] .header {\n position: sticky;\n inset-block-start: 0;\n }\n\n .column {\n padding-block: var(--_padding-block);\n padding-inline: var(--table-cell-padding-inline);\n border-block-end: var(--size-hairline) solid var(--table-border);\n color: var(--table-header-fg);\n font-size: var(--table-header-font-size);\n font-weight: var(--table-header-font-weight);\n text-align: start;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n outline: none;\n\n &[data-align=\"end\"] {\n text-align: end;\n }\n\n &[data-allows-sorting] {\n cursor: pointer;\n }\n\n &[data-allows-sorting]::after {\n content: \"\";\n display: inline-block;\n inline-size: var(--table-header-sort-indicator-size);\n block-size: var(--table-header-sort-indicator-size);\n margin-inline-start: var(--table-header-sort-indicator-size);\n border-inline-end: var(--table-header-sort-indicator-width) solid currentcolor;\n border-block-end: var(--table-header-sort-indicator-width) solid currentcolor;\n rotate: -135deg;\n translate: 0 25%;\n opacity: 0;\n transition: opacity var(--table-motion-duration) var(--motion-easing-standard);\n }\n\n &[data-hovered]::after {\n opacity: 0.5;\n }\n\n &[data-sort-direction] {\n color: var(--table-header-fg-active);\n }\n\n &[data-sort-direction]::after {\n color: var(--table-header-sort-indicator);\n opacity: 1;\n }\n\n &[data-sort-direction=\"descending\"]::after {\n rotate: 45deg;\n translate: 0 -25%;\n }\n\n &[data-focus-visible] {\n outline: var(--table-focus-ring-width) solid var(--table-focus-ring);\n outline-offset: calc(-1 * var(--table-focus-ring-width));\n }\n }\n\n .row {\n outline: none;\n transition: background-color var(--table-motion-duration) var(--motion-easing-standard);\n\n &[data-hovered] {\n background-color: var(--table-row-bg-hover);\n }\n\n &[data-selected] {\n background-color: var(--table-row-bg-selected);\n }\n\n &[data-disabled] {\n color: var(--table-row-fg-disabled);\n }\n\n &[data-focus-visible] {\n outline: var(--table-focus-ring-width) solid var(--table-focus-ring);\n outline-offset: calc(-1 * var(--table-focus-ring-width));\n }\n }\n\n .cell {\n padding-block: var(--_padding-block);\n padding-inline: var(--table-cell-padding-inline);\n outline: none;\n\n &[data-align=\"end\"] {\n text-align: end;\n font-variant-numeric: tabular-nums;\n }\n\n &[data-focus-visible] {\n outline: var(--table-focus-ring-width) solid var(--table-focus-ring);\n outline-offset: calc(-1 * var(--table-focus-ring-width));\n }\n }\n\n .body .row:not(:last-child) .cell {\n border-block-end: var(--size-hairline) solid var(--table-border);\n }\n\n .selectColumn,\n .selectCell {\n inline-size: var(--table-select-size);\n padding-inline-end: 0;\n }\n\n .selectBox {\n display: grid;\n place-content: center;\n inline-size: var(--table-select-size);\n block-size: var(--table-select-size);\n border: var(--size-hairline) solid var(--table-select-border);\n border-radius: var(--table-select-radius);\n background-color: var(--table-select-bg);\n transition:\n background-color var(--table-motion-duration) var(--motion-easing-standard),\n border-color var(--table-motion-duration) var(--motion-easing-standard);\n\n &::after {\n content: \"\";\n inline-size: calc(var(--table-select-size) * 0.3);\n block-size: calc(var(--table-select-size) * 0.55);\n border-style: solid;\n border-color: var(--table-select-check);\n border-width: 0 var(--table-select-check-width) var(--table-select-check-width) 0;\n rotate: 45deg;\n translate: 0 -10%;\n opacity: 0;\n }\n }\n\n .select {\n display: inline-grid;\n place-items: center;\n inline-size: var(--table-select-size);\n block-size: var(--table-select-size);\n cursor: pointer;\n\n &[data-focus-visible] .selectBox {\n outline: var(--table-focus-ring-width) solid var(--table-focus-ring);\n outline-offset: var(--table-focus-ring-offset);\n }\n\n &[data-selected] .selectBox,\n &[data-indeterminate] .selectBox {\n border-color: var(--table-select-bg-checked);\n background-color: var(--table-select-bg-checked);\n\n &::after {\n opacity: 1;\n }\n }\n\n &[data-indeterminate] .selectBox::after {\n inline-size: calc(var(--table-select-size) * 0.55);\n block-size: 0;\n border-width: 0 0 var(--table-select-check-width);\n rotate: 0deg;\n translate: 0 0;\n }\n }\n\n .empty {\n padding: var(--table-empty-padding);\n color: var(--table-empty-fg);\n text-align: center;\n }\n}\n"],"mappings":"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","names":["root","container","table","header","column","row","cell","body","selectColumn","selectCell","selectBox","select","empty"]}
1
+ {"version":3,"sources":["../src/visually-hidden/VisuallyHidden.module.css","../src/table/Table.module.css"],"sourcesContent":["/* The clip-path technique: present in the accessibility tree, absent from the layout. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .root {\n position: absolute;\n inline-size: var(--visually-hidden-size);\n block-size: var(--visually-hidden-size);\n padding: 0;\n margin: 0;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n}\n","/*\n * Every value is a token (--table-*). Density resolves the row padding into a\n * private custom property on the table. React Aria writes the state:\n * data-hovered, data-selected, data-disabled, data-focus-visible on rows and\n * cells; data-allows-sorting and data-sort-direction on columns;\n * data-selected and data-indeterminate on the selection checkbox.\n * Rules are ordered from general to specific so no later selector has a lower\n * specificity than an earlier one for the same element.\n */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .container {\n overflow: auto;\n border: var(--size-hairline) solid var(--table-border);\n border-radius: var(--table-radius);\n background-color: var(--table-bg);\n color: var(--table-fg);\n font-family: var(--table-font-family);\n font-size: var(--table-font-size);\n }\n\n .table {\n --_padding-block: var(--table-cell-padding-block-default);\n\n inline-size: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n outline: none;\n\n &[data-density=\"compact\"] {\n --_padding-block: var(--table-cell-padding-block-compact);\n }\n\n &[data-focus-visible] {\n outline: var(--table-focus-ring-width) solid var(--table-focus-ring);\n outline-offset: calc(-1 * var(--table-focus-ring-width));\n }\n }\n\n .header {\n background-color: var(--table-header-bg);\n }\n\n .container[data-sticky-header] .header {\n position: sticky;\n inset-block-start: 0;\n }\n\n .column {\n padding-block: var(--_padding-block);\n padding-inline: var(--table-cell-padding-inline);\n border-block-end: var(--size-hairline) solid var(--table-border);\n color: var(--table-header-fg);\n font-size: var(--table-header-font-size);\n font-weight: var(--table-header-font-weight);\n text-align: start;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n outline: none;\n\n &[data-align=\"end\"] {\n text-align: end;\n }\n\n &[data-allows-sorting] {\n cursor: pointer;\n }\n\n &[data-allows-sorting]::after {\n content: \"\";\n display: inline-block;\n inline-size: var(--table-header-sort-indicator-size);\n block-size: var(--table-header-sort-indicator-size);\n margin-inline-start: var(--table-header-sort-indicator-size);\n border-inline-end: var(--table-header-sort-indicator-width) solid currentcolor;\n border-block-end: var(--table-header-sort-indicator-width) solid currentcolor;\n rotate: -135deg;\n translate: 0 25%;\n opacity: 0;\n transition: opacity var(--table-motion-duration) var(--motion-easing-standard);\n }\n\n &[data-hovered]::after {\n opacity: 0.5;\n }\n\n &[data-sort-direction] {\n color: var(--table-header-fg-active);\n }\n\n &[data-sort-direction]::after {\n color: var(--table-header-sort-indicator);\n opacity: 1;\n }\n\n &[data-sort-direction=\"descending\"]::after {\n rotate: 45deg;\n translate: 0 -25%;\n }\n\n &[data-focus-visible] {\n outline: var(--table-focus-ring-width) solid var(--table-focus-ring);\n outline-offset: calc(-1 * var(--table-focus-ring-width));\n }\n }\n\n .row {\n outline: none;\n transition: background-color var(--table-motion-duration) var(--motion-easing-standard);\n\n &[data-hovered] {\n background-color: var(--table-row-bg-hover);\n }\n\n &[data-selected] {\n background-color: var(--table-row-bg-selected);\n }\n\n &[data-disabled] {\n color: var(--table-row-fg-disabled);\n }\n\n &[data-focus-visible] {\n outline: var(--table-focus-ring-width) solid var(--table-focus-ring);\n outline-offset: calc(-1 * var(--table-focus-ring-width));\n }\n }\n\n .cell {\n padding-block: var(--_padding-block);\n padding-inline: var(--table-cell-padding-inline);\n outline: none;\n\n &[data-align=\"end\"] {\n text-align: end;\n font-variant-numeric: tabular-nums;\n }\n\n &[data-focus-visible] {\n outline: var(--table-focus-ring-width) solid var(--table-focus-ring);\n outline-offset: calc(-1 * var(--table-focus-ring-width));\n }\n }\n\n .body .row:not(:last-child) .cell {\n border-block-end: var(--size-hairline) solid var(--table-border);\n }\n\n .selectColumn,\n .selectCell {\n inline-size: var(--table-select-size);\n padding-inline-end: 0;\n }\n\n .selectBox {\n display: grid;\n place-content: center;\n inline-size: var(--table-select-size);\n block-size: var(--table-select-size);\n border: var(--size-hairline) solid var(--table-select-border);\n border-radius: var(--table-select-radius);\n background-color: var(--table-select-bg);\n transition:\n background-color var(--table-motion-duration) var(--motion-easing-standard),\n border-color var(--table-motion-duration) var(--motion-easing-standard);\n\n &::after {\n content: \"\";\n inline-size: calc(var(--table-select-size) * 0.3);\n block-size: calc(var(--table-select-size) * 0.55);\n border-style: solid;\n border-color: var(--table-select-check);\n border-width: 0 var(--table-select-check-width) var(--table-select-check-width) 0;\n rotate: 45deg;\n translate: 0 -10%;\n opacity: 0;\n }\n }\n\n .select {\n display: inline-grid;\n place-items: center;\n inline-size: var(--table-select-size);\n block-size: var(--table-select-size);\n cursor: pointer;\n\n &[data-focus-visible] .selectBox {\n outline: var(--table-focus-ring-width) solid var(--table-focus-ring);\n outline-offset: var(--table-focus-ring-offset);\n }\n\n &[data-selected] .selectBox,\n &[data-indeterminate] .selectBox {\n border-color: var(--table-select-bg-checked);\n background-color: var(--table-select-bg-checked);\n\n &::after {\n opacity: 1;\n }\n }\n\n &[data-indeterminate] .selectBox::after {\n inline-size: calc(var(--table-select-size) * 0.55);\n block-size: 0;\n border-width: 0 0 var(--table-select-check-width);\n rotate: 0deg;\n translate: 0 0;\n }\n }\n\n .empty {\n padding: var(--table-empty-padding);\n color: var(--table-empty-fg);\n text-align: center;\n }\n}\n"],"mappings":"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","names":["root","container","table","header","column","row","cell","body","selectColumn","selectCell","selectBox","select","empty"]}
package/dist/table.js CHANGED
@@ -1,6 +1,6 @@
1
- export { Table } from './chunk-7RQQASKS.js';
1
+ "use client";export { Table } from './chunk-XGWFTFGR.js';
2
2
  import './chunk-CZBCGLEM.js';
3
- import './chunk-Z4PN6B2C.js';
3
+ import './chunk-IB5UUE3S.js';
4
4
  import './chunk-MI4QUKQS.js';
5
5
  //# sourceMappingURL=table.js.map
6
6
  //# sourceMappingURL=table.js.map
package/dist/tabs.css CHANGED
@@ -1,4 +1,5 @@
1
1
  /* src/tabs/Tabs.module.css */
2
+ @layer reset, tokens, vendor, base, components, utilities;
2
3
  @layer components {
3
4
  .Tabs_root {
4
5
  display: flex;
package/dist/tabs.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tabs/Tabs.module.css"],"sourcesContent":["/* Every value is a token (--tabs-*). The indicator is a logical border on the active tab, so vertical orientation just flips the side. */\n\n@layer components {\n .root {\n display: flex;\n flex-direction: column;\n gap: 0;\n\n &[data-orientation=\"vertical\"] {\n flex-direction: row;\n }\n }\n\n .list {\n display: flex;\n gap: var(--tabs-gap);\n border-block-end: 1px solid var(--tabs-list-border);\n\n &[data-orientation=\"vertical\"] {\n flex-direction: column;\n border-block-end: none;\n border-inline-end: 1px solid var(--tabs-list-border);\n }\n }\n\n .tab {\n position: relative;\n padding-block: var(--tabs-tab-padding-block);\n padding-inline: var(--tabs-tab-padding-inline);\n border: none;\n border-radius: var(--tabs-tab-radius) var(--tabs-tab-radius) 0 0;\n background-color: transparent;\n color: var(--tabs-tab-fg);\n font-size: var(--tabs-tab-font-size);\n font-weight: var(--tabs-tab-font-weight);\n line-height: 1;\n white-space: nowrap;\n cursor: pointer;\n transition:\n color var(--tabs-motion-duration) var(--motion-easing-standard),\n background-color var(--tabs-motion-duration) var(--motion-easing-standard);\n\n /* Indicator: a transparent border always present, coloured when active, so nothing shifts. */\n border-block-end: 2px solid transparent;\n\n &:focus-visible {\n outline: var(--tabs-focus-ring-width) solid var(--tabs-focus-ring);\n outline-offset: calc(-1 * var(--tabs-focus-ring-offset));\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.55;\n }\n\n &[data-state=\"active\"] {\n color: var(--tabs-tab-fg-active);\n border-block-end-color: var(--tabs-tab-indicator);\n }\n\n &:hover:not(:disabled, [data-state=\"active\"]) {\n color: var(--tabs-tab-fg-hover);\n background-color: var(--tabs-tab-bg-hover);\n }\n }\n\n .list[data-orientation=\"vertical\"] .tab {\n border-radius: var(--tabs-tab-radius) 0 0 var(--tabs-tab-radius);\n border-block-end: none;\n border-inline-end: 2px solid transparent;\n text-align: start;\n\n &[data-state=\"active\"] {\n border-inline-end-color: var(--tabs-tab-indicator);\n }\n }\n\n .panel {\n padding-block: var(--tabs-panel-padding-block);\n color: var(--tabs-panel-fg);\n\n &:focus-visible {\n outline: var(--tabs-focus-ring-width) solid var(--tabs-focus-ring);\n outline-offset: var(--tabs-focus-ring-offset);\n }\n }\n\n .root[data-orientation=\"vertical\"] .panel {\n padding-block: 0;\n padding-inline-start: var(--tabs-tab-padding-inline);\n }\n}\n"],"mappings":";AAEA;AACE,GAACA;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK;AAEL,KAAC,CAAC;AACA,sBAAgB;AAClB;AACF;AAEA,GAACC;AACC,aAAS;AACT,SAAK,IAAI;AACT,sBAAkB,IAAI,MAAM,IAAI;AAEhC,KAAC,CAAC;AACA,sBAAgB;AAChB,wBAAkB;AAClB,yBAAmB,IAAI,MAAM,IAAI;AACnC;AACF;AAEA,GAACC;AACC,cAAU;AACV,mBAAe,IAAI;AACnB,oBAAgB,IAAI;AACpB,YAAQ;AACR,mBAAe,IAAI,mBAAmB,IAAI,mBAAmB,EAAE;AAC/D,sBAAkB;AAClB,WAAO,IAAI;AACX,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,iBAAa;AACb,iBAAa;AACb,YAAQ;AACR,gBACE,MAAM,IAAI,wBAAwB,IAAI,yBAAyB,EAC/D,iBAAiB,IAAI,wBAAwB,IAAI;AAGnD,sBAAkB,IAAI,MAAM;AAE5B,KAAC;AACC,eAAS,IAAI,yBAAyB,MAAM,IAAI;AAChD,sBAAgB,KAAK,GAAG,EAAE,IAAI;AAChC;AAEA,KAAC;AACC,cAAQ;AACR,eAAS;AACX;AAEA,KAAC,CAAC;AACA,aAAO,IAAI;AACX,8BAAwB,IAAI;AAC9B;AAEA,KAAC,MAAM,KAAK,WAAW,CAAC;AACtB,aAAO,IAAI;AACX,wBAAkB,IAAI;AACxB;AACF;AAEA,GArDCD,SAqDI,CAAC,2BAA6B,CAzClCC;AA0CC,mBAAe,IAAI,mBAAmB,EAAE,EAAE,IAAI;AAC9C,sBAAkB;AAClB,uBAAmB,IAAI,MAAM;AAC7B,gBAAY;AAEZ,KAAC,CAAC;AACA,+BAAyB,IAAI;AAC/B;AACF;AAEA,GAACC;AACC,mBAAe,IAAI;AACnB,WAAO,IAAI;AAEX,KAAC;AACC,eAAS,IAAI,yBAAyB,MAAM,IAAI;AAChD,sBAAgB,IAAI;AACtB;AACF;AAEA,GApFCH,SAoFI,CAAC,2BAA6B,CAVlCG;AAWC,mBAAe;AACf,0BAAsB,IAAI;AAC5B;AACF;","names":["root","list","tab","panel"]}
1
+ {"version":3,"sources":["../src/tabs/Tabs.module.css"],"sourcesContent":["/* Every value is a token (--tabs-*). The indicator is a logical border on the active tab, so vertical orientation just flips the side. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .root {\n display: flex;\n flex-direction: column;\n gap: 0;\n\n &[data-orientation=\"vertical\"] {\n flex-direction: row;\n }\n }\n\n .list {\n display: flex;\n gap: var(--tabs-gap);\n border-block-end: 1px solid var(--tabs-list-border);\n\n &[data-orientation=\"vertical\"] {\n flex-direction: column;\n border-block-end: none;\n border-inline-end: 1px solid var(--tabs-list-border);\n }\n }\n\n .tab {\n position: relative;\n padding-block: var(--tabs-tab-padding-block);\n padding-inline: var(--tabs-tab-padding-inline);\n border: none;\n border-radius: var(--tabs-tab-radius) var(--tabs-tab-radius) 0 0;\n background-color: transparent;\n color: var(--tabs-tab-fg);\n font-size: var(--tabs-tab-font-size);\n font-weight: var(--tabs-tab-font-weight);\n line-height: 1;\n white-space: nowrap;\n cursor: pointer;\n transition:\n color var(--tabs-motion-duration) var(--motion-easing-standard),\n background-color var(--tabs-motion-duration) var(--motion-easing-standard);\n\n /* Indicator: a transparent border always present, coloured when active, so nothing shifts. */\n border-block-end: 2px solid transparent;\n\n &:focus-visible {\n outline: var(--tabs-focus-ring-width) solid var(--tabs-focus-ring);\n outline-offset: calc(-1 * var(--tabs-focus-ring-offset));\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.55;\n }\n\n &[data-state=\"active\"] {\n color: var(--tabs-tab-fg-active);\n border-block-end-color: var(--tabs-tab-indicator);\n }\n\n &:hover:not(:disabled, [data-state=\"active\"]) {\n color: var(--tabs-tab-fg-hover);\n background-color: var(--tabs-tab-bg-hover);\n }\n }\n\n .list[data-orientation=\"vertical\"] .tab {\n border-radius: var(--tabs-tab-radius) 0 0 var(--tabs-tab-radius);\n border-block-end: none;\n border-inline-end: 2px solid transparent;\n text-align: start;\n\n &[data-state=\"active\"] {\n border-inline-end-color: var(--tabs-tab-indicator);\n }\n }\n\n .panel {\n padding-block: var(--tabs-panel-padding-block);\n color: var(--tabs-panel-fg);\n\n &:focus-visible {\n outline: var(--tabs-focus-ring-width) solid var(--tabs-focus-ring);\n outline-offset: var(--tabs-focus-ring-offset);\n }\n }\n\n .root[data-orientation=\"vertical\"] .panel {\n padding-block: 0;\n padding-inline-start: var(--tabs-tab-padding-inline);\n }\n}\n"],"mappings":";AAEA;AAEA;AACE,GAACA;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK;AAEL,KAAC,CAAC;AACA,sBAAgB;AAClB;AACF;AAEA,GAACC;AACC,aAAS;AACT,SAAK,IAAI;AACT,sBAAkB,IAAI,MAAM,IAAI;AAEhC,KAAC,CAAC;AACA,sBAAgB;AAChB,wBAAkB;AAClB,yBAAmB,IAAI,MAAM,IAAI;AACnC;AACF;AAEA,GAACC;AACC,cAAU;AACV,mBAAe,IAAI;AACnB,oBAAgB,IAAI;AACpB,YAAQ;AACR,mBAAe,IAAI,mBAAmB,IAAI,mBAAmB,EAAE;AAC/D,sBAAkB;AAClB,WAAO,IAAI;AACX,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,iBAAa;AACb,iBAAa;AACb,YAAQ;AACR,gBACE,MAAM,IAAI,wBAAwB,IAAI,yBAAyB,EAC/D,iBAAiB,IAAI,wBAAwB,IAAI;AAGnD,sBAAkB,IAAI,MAAM;AAE5B,KAAC;AACC,eAAS,IAAI,yBAAyB,MAAM,IAAI;AAChD,sBAAgB,KAAK,GAAG,EAAE,IAAI;AAChC;AAEA,KAAC;AACC,cAAQ;AACR,eAAS;AACX;AAEA,KAAC,CAAC;AACA,aAAO,IAAI;AACX,8BAAwB,IAAI;AAC9B;AAEA,KAAC,MAAM,KAAK,WAAW,CAAC;AACtB,aAAO,IAAI;AACX,wBAAkB,IAAI;AACxB;AACF;AAEA,GArDCD,SAqDI,CAAC,2BAA6B,CAzClCC;AA0CC,mBAAe,IAAI,mBAAmB,EAAE,EAAE,IAAI;AAC9C,sBAAkB;AAClB,uBAAmB,IAAI,MAAM;AAC7B,gBAAY;AAEZ,KAAC,CAAC;AACA,+BAAyB,IAAI;AAC/B;AACF;AAEA,GAACC;AACC,mBAAe,IAAI;AACnB,WAAO,IAAI;AAEX,KAAC;AACC,eAAS,IAAI,yBAAyB,MAAM,IAAI;AAChD,sBAAgB,IAAI;AACtB;AACF;AAEA,GApFCH,SAoFI,CAAC,2BAA6B,CAVlCG;AAWC,mBAAe;AACf,0BAAsB,IAAI;AAC5B;AACF;","names":["root","list","tab","panel"]}
package/dist/tabs.js CHANGED
@@ -1,4 +1,4 @@
1
- export { Tabs } from './chunk-FH54XQ35.js';
1
+ "use client";export { Tabs } from './chunk-2IYYES7V.js';
2
2
  import './chunk-I5OZ63W7.js';
3
3
  import './chunk-MI4QUKQS.js';
4
4
  //# sourceMappingURL=tabs.js.map
@@ -1,4 +1,5 @@
1
1
  /* src/field/Field.module.css */
2
+ @layer reset, tokens, vendor, base, components, utilities;
2
3
  @layer components {
3
4
  .Field_field {
4
5
  display: flex;
@@ -27,6 +28,7 @@
27
28
  }
28
29
 
29
30
  /* src/text-field/TextField.module.css */
31
+ @layer reset, tokens, vendor, base, components, utilities;
30
32
  @layer components {
31
33
  .TextField_field {
32
34
  font-family: var(--text-field-font-family);
@@ -71,5 +73,68 @@
71
73
  .TextField_field[data-invalid] .TextField_input {
72
74
  border-color: var(--text-field-border-invalid);
73
75
  }
76
+ .TextField_hiddenLabel {
77
+ position: absolute;
78
+ inline-size: var(--size-hairline);
79
+ block-size: var(--size-hairline);
80
+ overflow: hidden;
81
+ clip-path: inset(50%);
82
+ white-space: nowrap;
83
+ }
84
+ .TextField_control {
85
+ --_slot: var(--text-field-height-md);
86
+ display: grid;
87
+ position: relative;
88
+ align-items: center;
89
+ .TextField_field[data-size=sm] & {
90
+ --_slot: var(--text-field-height-sm);
91
+ }
92
+ .TextField_field[data-size=lg] & {
93
+ --_slot: var(--text-field-height-lg);
94
+ }
95
+ }
96
+ .TextField_inControl {
97
+ grid-area: 1 / 1;
98
+ inline-size: 100%;
99
+ &::-webkit-search-cancel-button {
100
+ display: none;
101
+ }
102
+ }
103
+ .TextField_control[data-icon] .TextField_inControl {
104
+ padding-inline-start: calc(var(--text-field-padding-inline) + 1em + var(--text-field-icon-gap));
105
+ }
106
+ .TextField_control[data-clearable] .TextField_inControl {
107
+ padding-inline-end: var(--_slot);
108
+ }
109
+ .TextField_icon {
110
+ display: inline-flex;
111
+ grid-area: 1 / 1;
112
+ justify-self: start;
113
+ margin-inline-start: var(--text-field-padding-inline);
114
+ color: var(--text-field-icon-fg);
115
+ pointer-events: none;
116
+ }
117
+ .TextField_clear {
118
+ display: inline-flex;
119
+ grid-area: 1 / 1;
120
+ align-items: center;
121
+ justify-content: center;
122
+ justify-self: end;
123
+ inline-size: var(--_slot);
124
+ block-size: var(--_slot);
125
+ padding: 0;
126
+ border: 0;
127
+ border-radius: var(--text-field-radius);
128
+ background: transparent;
129
+ color: var(--text-field-icon-fg);
130
+ cursor: pointer;
131
+ &:hover {
132
+ color: var(--text-field-icon-fg-hover);
133
+ }
134
+ &:focus-visible {
135
+ outline: var(--text-field-focus-ring-width) solid var(--text-field-focus-ring);
136
+ outline-offset: calc(-1 * var(--text-field-focus-ring-width));
137
+ }
138
+ }
74
139
  }
75
140
  /*# sourceMappingURL=text-field.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/field/Field.module.css","../src/text-field/TextField.module.css"],"sourcesContent":["/* Every value is a token (--field-*). The control itself brings its own styles. */\n\n@layer components {\n .field {\n display: flex;\n flex-direction: column;\n gap: var(--field-gap);\n }\n\n .label {\n font-size: var(--field-label-font-size);\n font-weight: var(--field-label-font-weight);\n color: var(--field-label-fg);\n }\n\n .required {\n margin-inline-start: var(--field-required-gap);\n color: var(--field-required-fg);\n }\n\n .description {\n margin: 0;\n font-size: var(--field-description-font-size);\n color: var(--field-description-fg);\n }\n\n .error {\n margin: 0;\n font-size: var(--field-error-font-size);\n color: var(--field-error-fg);\n }\n}\n","/*\n * The input's own styles (--text-field-*). Label, description and error come\n * from Field. State lives on the wrapper as data attributes and on the input\n * as native pseudo-classes.\n */\n\n@layer components {\n .field {\n font-family: var(--text-field-font-family);\n }\n\n .input {\n min-block-size: var(--text-field-height-md);\n padding-block: 0;\n padding-inline: var(--text-field-padding-inline);\n border: 1px solid var(--text-field-border-default);\n border-radius: var(--text-field-radius);\n background-color: var(--text-field-bg);\n color: var(--text-field-fg);\n font-size: var(--text-field-font-size-md);\n transition:\n border-color var(--text-field-motion-duration) var(--motion-easing-standard),\n background-color var(--text-field-motion-duration) var(--motion-easing-standard);\n\n &::placeholder {\n color: var(--text-field-placeholder);\n }\n\n &:focus-visible {\n border-color: var(--text-field-border-focus);\n outline: var(--text-field-focus-ring-width) solid var(--text-field-focus-ring);\n outline-offset: var(--text-field-focus-ring-offset);\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.55;\n }\n\n &:read-only:not(:disabled) {\n background-color: var(--color-surface-sunken);\n }\n\n &:hover:not(:disabled, :focus-visible) {\n border-color: var(--text-field-border-hover);\n }\n }\n\n .field[data-size=\"sm\"] .input {\n min-block-size: var(--text-field-height-sm);\n font-size: var(--text-field-font-size-sm);\n }\n\n .field[data-size=\"lg\"] .input {\n min-block-size: var(--text-field-height-lg);\n font-size: var(--text-field-font-size-lg);\n }\n\n .field[data-invalid] .input {\n border-color: var(--text-field-border-invalid);\n }\n}\n"],"mappings":";AAEA;AACE,GAACA;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AACX;AAEA,GAACC;AACC,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,yBAAqB,IAAI;AACzB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AACF;;;ACzBA;AACE,GAACC;AACC,iBAAa,IAAI;AACnB;AAEA,GAACC;AACC,oBAAgB,IAAI;AACpB,mBAAe;AACf,oBAAgB,IAAI;AACpB,YAAQ,IAAI,MAAM,IAAI;AACtB,mBAAe,IAAI;AACnB,sBAAkB,IAAI;AACtB,WAAO,IAAI;AACX,eAAW,IAAI;AACf,gBACE,aAAa,IAAI,8BAA8B,IAAI,yBAAyB,EAC5E,iBAAiB,IAAI,8BAA8B,IAAI;AAEzD,KAAC;AACC,aAAO,IAAI;AACb;AAEA,KAAC;AACC,oBAAc,IAAI;AAClB,eAAS,IAAI,+BAA+B,MAAM,IAAI;AACtD,sBAAgB,IAAI;AACtB;AAEA,KAAC;AACC,cAAQ;AACR,eAAS;AACX;AAEA,KAAC,UAAU,KAAK;AACd,wBAAkB,IAAI;AACxB;AAEA,KAAC,MAAM,KAAK,WAAW;AACrB,oBAAc,IAAI;AACpB;AACF;AAEA,GAzCCD,eAyCK,CAAC,cAAgB,CArCtBC;AAsCC,oBAAgB,IAAI;AACpB,eAAW,IAAI;AACjB;AAEA,GA9CCD,eA8CK,CAAC,cAAgB,CA1CtBC;AA2CC,oBAAgB,IAAI;AACpB,eAAW,IAAI;AACjB;AAEA,GAnDCD,eAmDK,CAAC,cAAc,CA/CpBC;AAgDC,kBAAc,IAAI;AACpB;AACF;","names":["field","label","required","description","error","field","input"]}
1
+ {"version":3,"sources":["../src/field/Field.module.css","../src/text-field/TextField.module.css"],"sourcesContent":["/* Every value is a token (--field-*). The control itself brings its own styles. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .field {\n display: flex;\n flex-direction: column;\n gap: var(--field-gap);\n }\n\n .label {\n font-size: var(--field-label-font-size);\n font-weight: var(--field-label-font-weight);\n color: var(--field-label-fg);\n }\n\n .required {\n margin-inline-start: var(--field-required-gap);\n color: var(--field-required-fg);\n }\n\n .description {\n margin: 0;\n font-size: var(--field-description-font-size);\n color: var(--field-description-fg);\n }\n\n .error {\n margin: 0;\n font-size: var(--field-error-font-size);\n color: var(--field-error-fg);\n }\n}\n","/*\n * The input's own styles (--text-field-*). Label, description and error come\n * from Field. State lives on the wrapper as data attributes and on the input\n * as native pseudo-classes.\n */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .field {\n font-family: var(--text-field-font-family);\n }\n\n .input {\n min-block-size: var(--text-field-height-md);\n padding-block: 0;\n padding-inline: var(--text-field-padding-inline);\n border: 1px solid var(--text-field-border-default);\n border-radius: var(--text-field-radius);\n background-color: var(--text-field-bg);\n color: var(--text-field-fg);\n font-size: var(--text-field-font-size-md);\n transition:\n border-color var(--text-field-motion-duration) var(--motion-easing-standard),\n background-color var(--text-field-motion-duration) var(--motion-easing-standard);\n\n &::placeholder {\n color: var(--text-field-placeholder);\n }\n\n &:focus-visible {\n border-color: var(--text-field-border-focus);\n outline: var(--text-field-focus-ring-width) solid var(--text-field-focus-ring);\n outline-offset: var(--text-field-focus-ring-offset);\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.55;\n }\n\n &:read-only:not(:disabled) {\n background-color: var(--color-surface-sunken);\n }\n\n &:hover:not(:disabled, :focus-visible) {\n border-color: var(--text-field-border-hover);\n }\n }\n\n .field[data-size=\"sm\"] .input {\n min-block-size: var(--text-field-height-sm);\n font-size: var(--text-field-font-size-sm);\n }\n\n .field[data-size=\"lg\"] .input {\n min-block-size: var(--text-field-height-lg);\n font-size: var(--text-field-font-size-lg);\n }\n\n .field[data-invalid] .input {\n border-color: var(--text-field-border-invalid);\n }\n\n .hiddenLabel {\n position: absolute;\n inline-size: var(--size-hairline);\n block-size: var(--size-hairline);\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n }\n\n /* Only when there is an icon or a clear button: the input keeps its own box, they sit over its padding. */\n .control {\n --_slot: var(--text-field-height-md);\n\n display: grid;\n position: relative;\n align-items: center;\n\n .field[data-size=\"sm\"] & {\n --_slot: var(--text-field-height-sm);\n }\n\n .field[data-size=\"lg\"] & {\n --_slot: var(--text-field-height-lg);\n }\n\n }\n\n /* The input inside .control: a class of its own, so these rules do not race the .input states above. */\n .inControl {\n grid-area: 1 / 1;\n inline-size: 100%;\n\n /* The browser's own clear control would be a second, unnamed one. */\n &::-webkit-search-cancel-button {\n display: none;\n }\n }\n\n .control[data-icon] .inControl {\n padding-inline-start: calc(var(--text-field-padding-inline) + 1em + var(--text-field-icon-gap));\n }\n\n .control[data-clearable] .inControl {\n padding-inline-end: var(--_slot);\n }\n\n .icon {\n display: inline-flex;\n grid-area: 1 / 1;\n justify-self: start;\n margin-inline-start: var(--text-field-padding-inline);\n color: var(--text-field-icon-fg);\n pointer-events: none;\n }\n\n .clear {\n display: inline-flex;\n grid-area: 1 / 1;\n align-items: center;\n justify-content: center;\n justify-self: end;\n inline-size: var(--_slot);\n block-size: var(--_slot);\n padding: 0;\n border: 0;\n border-radius: var(--text-field-radius);\n background: transparent;\n color: var(--text-field-icon-fg);\n cursor: pointer;\n\n &:hover {\n color: var(--text-field-icon-fg-hover);\n }\n\n &:focus-visible {\n outline: var(--text-field-focus-ring-width) solid var(--text-field-focus-ring);\n outline-offset: calc(-1 * var(--text-field-focus-ring-width));\n }\n }\n}\n"],"mappings":";AAEA;AAEA;AACE,GAACA;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AACX;AAEA,GAACC;AACC,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,yBAAqB,IAAI;AACzB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AACF;;;AC3BA;AAEA;AACE,GAACC;AACC,iBAAa,IAAI;AACnB;AAEA,GAACC;AACC,oBAAgB,IAAI;AACpB,mBAAe;AACf,oBAAgB,IAAI;AACpB,YAAQ,IAAI,MAAM,IAAI;AACtB,mBAAe,IAAI;AACnB,sBAAkB,IAAI;AACtB,WAAO,IAAI;AACX,eAAW,IAAI;AACf,gBACE,aAAa,IAAI,8BAA8B,IAAI,yBAAyB,EAC5E,iBAAiB,IAAI,8BAA8B,IAAI;AAEzD,KAAC;AACC,aAAO,IAAI;AACb;AAEA,KAAC;AACC,oBAAc,IAAI;AAClB,eAAS,IAAI,+BAA+B,MAAM,IAAI;AACtD,sBAAgB,IAAI;AACtB;AAEA,KAAC;AACC,cAAQ;AACR,eAAS;AACX;AAEA,KAAC,UAAU,KAAK;AACd,wBAAkB,IAAI;AACxB;AAEA,KAAC,MAAM,KAAK,WAAW;AACrB,oBAAc,IAAI;AACpB;AACF;AAEA,GAzCCD,eAyCK,CAAC,cAAgB,CArCtBC;AAsCC,oBAAgB,IAAI;AACpB,eAAW,IAAI;AACjB;AAEA,GA9CCD,eA8CK,CAAC,cAAgB,CA1CtBC;AA2CC,oBAAgB,IAAI;AACpB,eAAW,IAAI;AACjB;AAEA,GAnDCD,eAmDK,CAAC,cAAc,CA/CpBC;AAgDC,kBAAc,IAAI;AACpB;AAEA,GAACC;AACC,cAAU;AACV,iBAAa,IAAI;AACjB,gBAAY,IAAI;AAChB,cAAU;AACV,eAAW,MAAM;AACjB,iBAAa;AACf;AAGA,GAACC;AACC,aAAS,IAAI;AAEb,aAAS;AACT,cAAU;AACV,iBAAa;AAEb,KAxEDH,eAwEO,CAAC,cAAgB;AACrB,eAAS,IAAI;AACf;AAEA,KA5EDA,eA4EO,CAAC,cAAgB;AACrB,eAAS,IAAI;AACf;AAEF;AAGA,GAACI;AACC,eAAW,EAAE,EAAE;AACf,iBAAa;AAGb,KAAC;AACC,eAAS;AACX;AACF;AAEA,GA5BCD,iBA4BO,CAAC,WAAW,CAVnBC;AAWC,0BAAsB,KAAK,IAAI,6BAA6B,EAAE,IAAI,EAAE,IAAI;AAC1E;AAEA,GAhCCD,iBAgCO,CAAC,gBAAgB,CAdxBC;AAeC,wBAAoB,IAAI;AAC1B;AAEA,GAACC;AACC,aAAS;AACT,eAAW,EAAE,EAAE;AACf,kBAAc;AACd,yBAAqB,IAAI;AACzB,WAAO,IAAI;AACX,oBAAgB;AAClB;AAEA,GAACC;AACC,aAAS;AACT,eAAW,EAAE,EAAE;AACf,iBAAa;AACb,qBAAiB;AACjB,kBAAc;AACd,iBAAa,IAAI;AACjB,gBAAY,IAAI;AAChB,aAAS;AACT,YAAQ;AACR,mBAAe,IAAI;AACnB,gBAAY;AACZ,WAAO,IAAI;AACX,YAAQ;AAER,KAAC;AACC,aAAO,IAAI;AACb;AAEA,KAAC;AACC,eAAS,IAAI,+BAA+B,MAAM,IAAI;AACtD,sBAAgB,KAAK,GAAG,EAAE,IAAI;AAChC;AACF;AACF;","names":["field","label","required","description","error","field","input","hiddenLabel","control","inControl","icon","clear"]}
@@ -12,6 +12,18 @@ interface TextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'si
12
12
  * `data-invalid`) and the message is announced as an alert.
13
13
  */
14
14
  error?: ReactNode;
15
+ /** Keeps the label for assistive technology only. For a search box that a heading or its place in the page already names. @default false */
16
+ hideLabel?: boolean;
17
+ /** A decorative glyph inside the field, before the text. `type="search"` gets the Search glyph unless you pass another (or `null`). */
18
+ iconStart?: ReactNode;
19
+ /**
20
+ * Adds a clear button that appears once the field has a value. Called when it
21
+ * is pressed and when Escape is pressed with a value. Controlled: set your
22
+ * value to `''` here. Uncontrolled: the input is emptied for you.
23
+ */
24
+ onClear?: () => void;
25
+ /** The clear button's name, for other languages. @default 'Clear' */
26
+ clearLabel?: string;
15
27
  /** @default 'md' */
16
28
  size?: TextFieldSize;
17
29
  /** The `<input>` element. */
@@ -29,13 +41,14 @@ interface TextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'si
29
41
  *
30
42
  * @status stable
31
43
  * @category Forms
32
- * @accessibility A native text `input` wired through Field: `label[for]`, `aria-describedby` for description and error, `aria-invalid` and `aria-required`. Everything the browser gives a native input (autofill, IME, forms) applies.
44
+ * @accessibility A native text `input` wired through Field: `label[for]`, `aria-describedby` for description and error, `aria-invalid` and `aria-required`. Everything the browser gives a native input (autofill, IME, forms) applies. `hideLabel` hides the label visually, never from assistive technology. The leading icon is decorative. The clear button is a real `button` named by `clearLabel`, after the input in the tab order, present only while there is a value; pressing it (or Escape in the field) empties the field and leaves focus in the input. `type="search"` gives the input the `searchbox` role; wrap the form in `<search>` or `role="search"` yourself when it is the page's search.
33
45
  * @do Always pass `label`; use a visible one.
34
46
  * Prefer `error` text that says how to fix the value.
47
+ * @do For a search box: `type="search"`, `hideLabel` if a heading names it, and `onClear`.
35
48
  * @dont Use `placeholder` as the label.
36
49
  * Use it for multi-line text; use Textarea.
37
50
  */
38
- declare function TextField({ label, description, error, size, required, disabled, readOnly, id, className, ref, 'aria-describedby': describedBy, ...rest }: TextFieldProps): react.JSX.Element;
51
+ declare function TextField({ label, description, error, hideLabel, iconStart, onClear, clearLabel, size, type, value, defaultValue, onChange, onKeyDown, required, disabled, readOnly, id, className, ref, 'aria-describedby': describedBy, ...rest }: TextFieldProps): react.JSX.Element;
39
52
  declare namespace TextField {
40
53
  var displayName: string;
41
54
  }
@@ -1,6 +1,6 @@
1
- export { TextField } from './chunk-MXWXJZFS.js';
2
- import './chunk-2PXTVZ7H.js';
3
- import './chunk-ZVDN3GRI.js';
1
+ "use client";export { TextField } from './chunk-S632WN4W.js';
2
+ import './chunk-SXMORGSG.js';
3
+ import './chunk-QJG5ILK5.js';
4
4
  import './chunk-MI4QUKQS.js';
5
5
  //# sourceMappingURL=text-field.js.map
6
6
  //# sourceMappingURL=text-field.js.map
package/dist/text.css CHANGED
@@ -1,4 +1,5 @@
1
1
  /* src/text/Text.module.css */
2
+ @layer reset, tokens, vendor, base, components, utilities;
2
3
  @layer components {
3
4
  .Text_text {
4
5
  margin: 0;
package/dist/text.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/text/Text.module.css"],"sourcesContent":["/* Every value is a token (--text-*). Variants are data attributes. */\n\n@layer components {\n .text {\n margin: 0;\n font-family: var(--text-font-family-body);\n font-size: var(--text-size-md);\n font-weight: var(--text-weight-regular);\n line-height: var(--text-line-height);\n color: var(--text-tone-default);\n\n &[data-size=\"xs\"] { font-size: var(--text-size-xs); }\n &[data-size=\"sm\"] { font-size: var(--text-size-sm); }\n &[data-size=\"lg\"] { font-size: var(--text-size-lg); }\n &[data-size=\"xl\"] { font-size: var(--text-size-xl); }\n &[data-weight=\"medium\"] { font-weight: var(--text-weight-medium); }\n &[data-weight=\"semibold\"] { font-weight: var(--text-weight-semibold); }\n &[data-tone=\"muted\"] { color: var(--text-tone-muted); }\n &[data-tone=\"faint\"] { color: var(--text-tone-faint); }\n &[data-family=\"mono\"] { font-family: var(--text-font-family-mono); }\n &[data-align=\"start\"] { text-align: start; }\n &[data-align=\"center\"] { text-align: center; }\n &[data-align=\"end\"] { text-align: end; }\n\n &[data-truncate] {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n}\n"],"mappings":";AAEA;AACE,GAACA;AACC,YAAQ;AACR,iBAAa,IAAI;AACjB,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,iBAAa,IAAI;AACjB,WAAO,IAAI;AAEX,KAAC,CAAC;AAAkB,iBAAW,IAAI;AAAiB;AACpD,KAAC,CAAC;AAAkB,iBAAW,IAAI;AAAiB;AACpD,KAAC,CAAC;AAAkB,iBAAW,IAAI;AAAiB;AACpD,KAAC,CAAC;AAAkB,iBAAW,IAAI;AAAiB;AACpD,KAAC,CAAC;AAAwB,mBAAa,IAAI;AAAuB;AAClE,KAAC,CAAC;AAA0B,mBAAa,IAAI;AAAyB;AACtE,KAAC,CAAC;AAAqB,aAAO,IAAI;AAAoB;AACtD,KAAC,CAAC;AAAqB,aAAO,IAAI;AAAoB;AACtD,KAAC,CAAC;AAAsB,mBAAa,IAAI;AAA0B;AACnE,KAAC,CAAC;AAAsB,kBAAY;AAAO;AAC3C,KAAC,CAAC;AAAuB,kBAAY;AAAQ;AAC7C,KAAC,CAAC;AAAoB,kBAAY;AAAK;AAEvC,KAAC,CAAC;AACA,gBAAU;AACV,qBAAe;AACf,mBAAa;AACf;AACF;AACF;","names":["text"]}
1
+ {"version":3,"sources":["../src/text/Text.module.css"],"sourcesContent":["/* Every value is a token (--text-*). Variants are data attributes. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .text {\n margin: 0;\n font-family: var(--text-font-family-body);\n font-size: var(--text-size-md);\n font-weight: var(--text-weight-regular);\n line-height: var(--text-line-height);\n color: var(--text-tone-default);\n\n &[data-size=\"xs\"] { font-size: var(--text-size-xs); }\n &[data-size=\"sm\"] { font-size: var(--text-size-sm); }\n &[data-size=\"lg\"] { font-size: var(--text-size-lg); }\n &[data-size=\"xl\"] { font-size: var(--text-size-xl); }\n &[data-weight=\"medium\"] { font-weight: var(--text-weight-medium); }\n &[data-weight=\"semibold\"] { font-weight: var(--text-weight-semibold); }\n &[data-tone=\"muted\"] { color: var(--text-tone-muted); }\n &[data-tone=\"faint\"] { color: var(--text-tone-faint); }\n &[data-family=\"mono\"] { font-family: var(--text-font-family-mono); }\n &[data-align=\"start\"] { text-align: start; }\n &[data-align=\"center\"] { text-align: center; }\n &[data-align=\"end\"] { text-align: end; }\n\n &[data-truncate] {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n}\n"],"mappings":";AAEA;AAEA;AACE,GAACA;AACC,YAAQ;AACR,iBAAa,IAAI;AACjB,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,iBAAa,IAAI;AACjB,WAAO,IAAI;AAEX,KAAC,CAAC;AAAkB,iBAAW,IAAI;AAAiB;AACpD,KAAC,CAAC;AAAkB,iBAAW,IAAI;AAAiB;AACpD,KAAC,CAAC;AAAkB,iBAAW,IAAI;AAAiB;AACpD,KAAC,CAAC;AAAkB,iBAAW,IAAI;AAAiB;AACpD,KAAC,CAAC;AAAwB,mBAAa,IAAI;AAAuB;AAClE,KAAC,CAAC;AAA0B,mBAAa,IAAI;AAAyB;AACtE,KAAC,CAAC;AAAqB,aAAO,IAAI;AAAoB;AACtD,KAAC,CAAC;AAAqB,aAAO,IAAI;AAAoB;AACtD,KAAC,CAAC;AAAsB,mBAAa,IAAI;AAA0B;AACnE,KAAC,CAAC;AAAsB,kBAAY;AAAO;AAC3C,KAAC,CAAC;AAAuB,kBAAY;AAAQ;AAC7C,KAAC,CAAC;AAAoB,kBAAY;AAAK;AAEvC,KAAC,CAAC;AACA,gBAAU;AACV,qBAAe;AACf,mBAAa;AACf;AACF;AACF;","names":["text"]}
package/dist/text.js CHANGED
@@ -1,4 +1,4 @@
1
- export { Text } from './chunk-2ZP4ZBI5.js';
1
+ export { Text } from './chunk-LKWZZIRZ.js';
2
2
  import './chunk-MI4QUKQS.js';
3
3
  //# sourceMappingURL=text.js.map
4
4
  //# sourceMappingURL=text.js.map
package/dist/textarea.css CHANGED
@@ -1,4 +1,5 @@
1
1
  /* src/field/Field.module.css */
2
+ @layer reset, tokens, vendor, base, components, utilities;
2
3
  @layer components {
3
4
  .Field_field {
4
5
  display: flex;
@@ -27,6 +28,7 @@
27
28
  }
28
29
 
29
30
  /* src/textarea/Textarea.module.css */
31
+ @layer reset, tokens, vendor, base, components, utilities;
30
32
  @layer components {
31
33
  .Textarea_field {
32
34
  font-family: var(--textarea-font-family);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/field/Field.module.css","../src/textarea/Textarea.module.css"],"sourcesContent":["/* Every value is a token (--field-*). The control itself brings its own styles. */\n\n@layer components {\n .field {\n display: flex;\n flex-direction: column;\n gap: var(--field-gap);\n }\n\n .label {\n font-size: var(--field-label-font-size);\n font-weight: var(--field-label-font-weight);\n color: var(--field-label-fg);\n }\n\n .required {\n margin-inline-start: var(--field-required-gap);\n color: var(--field-required-fg);\n }\n\n .description {\n margin: 0;\n font-size: var(--field-description-font-size);\n color: var(--field-description-fg);\n }\n\n .error {\n margin: 0;\n font-size: var(--field-error-font-size);\n color: var(--field-error-fg);\n }\n}\n","/* Every value is a token (--textarea-*). Label, description and error come from Field. */\n\n@layer components {\n .field {\n font-family: var(--textarea-font-family);\n }\n\n .textarea {\n min-block-size: var(--textarea-min-height);\n padding-block: var(--textarea-padding-block);\n padding-inline: var(--textarea-padding-inline);\n border: var(--size-hairline) solid var(--textarea-border-default);\n border-radius: var(--textarea-radius);\n background-color: var(--textarea-bg);\n color: var(--textarea-fg);\n font-size: var(--textarea-font-size-md);\n line-height: var(--textarea-line-height);\n resize: vertical;\n transition:\n border-color var(--textarea-motion-duration) var(--motion-easing-standard),\n background-color var(--textarea-motion-duration) var(--motion-easing-standard);\n\n &::placeholder {\n color: var(--textarea-placeholder);\n }\n\n &:focus-visible {\n border-color: var(--textarea-border-focus);\n outline: var(--textarea-focus-ring-width) solid var(--textarea-focus-ring);\n outline-offset: var(--textarea-focus-ring-offset);\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.55;\n }\n\n &:read-only:not(:disabled) {\n background-color: var(--color-surface-sunken);\n }\n\n &:hover:not(:disabled, :focus-visible) {\n border-color: var(--textarea-border-hover);\n }\n }\n\n .field[data-size=\"sm\"] .textarea { font-size: var(--textarea-font-size-sm); }\n .field[data-size=\"lg\"] .textarea { font-size: var(--textarea-font-size-lg); }\n .field[data-resize=\"none\"] .textarea { resize: none; }\n .field[data-resize=\"both\"] .textarea { resize: both; }\n .field[data-auto-grow] .textarea { field-sizing: content; }\n .field[data-invalid] .textarea { border-color: var(--textarea-border-invalid); }\n}\n"],"mappings":";AAEA;AACE,GAACA;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AACX;AAEA,GAACC;AACC,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,yBAAqB,IAAI;AACzB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AACF;;;AC7BA;AACE,GAACC;AACC,iBAAa,IAAI;AACnB;AAEA,GAACC;AACC,oBAAgB,IAAI;AACpB,mBAAe,IAAI;AACnB,oBAAgB,IAAI;AACpB,YAAQ,IAAI,iBAAiB,MAAM,IAAI;AACvC,mBAAe,IAAI;AACnB,sBAAkB,IAAI;AACtB,WAAO,IAAI;AACX,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,YAAQ;AACR,gBACE,aAAa,IAAI,4BAA4B,IAAI,yBAAyB,EAC1E,iBAAiB,IAAI,4BAA4B,IAAI;AAEvD,KAAC;AACC,aAAO,IAAI;AACb;AAEA,KAAC;AACC,oBAAc,IAAI;AAClB,eAAS,IAAI,6BAA6B,MAAM,IAAI;AACpD,sBAAgB,IAAI;AACtB;AAEA,KAAC;AACC,cAAQ;AACR,eAAS;AACX;AAEA,KAAC,UAAU,KAAK;AACd,wBAAkB,IAAI;AACxB;AAEA,KAAC,MAAM,KAAK,WAAW;AACrB,oBAAc,IAAI;AACpB;AACF;AAEA,GA3CCD,cA2CK,CAAC,cAAgB,CAvCtBC;AAuCkC,eAAW,IAAI;AAA0B;AAC5E,GA5CCD,cA4CK,CAAC,cAAgB,CAxCtBC;AAwCkC,eAAW,IAAI;AAA0B;AAC5E,GA7CCD,cA6CK,CAAC,kBAAoB,CAzC1BC;AAyCsC,YAAQ;AAAM;AACrD,GA9CCD,cA8CK,CAAC,kBAAoB,CA1C1BC;AA0CsC,YAAQ;AAAM;AACrD,GA/CCD,cA+CK,CAAC,gBAAgB,CA3CtBC;AA2CkC,kBAAc;AAAS;AAC1D,GAhDCD,cAgDK,CAAC,cAAc,CA5CpBC;AA4CgC,kBAAc,IAAI;AAA4B;AACjF;","names":["field","label","required","description","error","field","textarea"]}
1
+ {"version":3,"sources":["../src/field/Field.module.css","../src/textarea/Textarea.module.css"],"sourcesContent":["/* Every value is a token (--field-*). The control itself brings its own styles. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .field {\n display: flex;\n flex-direction: column;\n gap: var(--field-gap);\n }\n\n .label {\n font-size: var(--field-label-font-size);\n font-weight: var(--field-label-font-weight);\n color: var(--field-label-fg);\n }\n\n .required {\n margin-inline-start: var(--field-required-gap);\n color: var(--field-required-fg);\n }\n\n .description {\n margin: 0;\n font-size: var(--field-description-font-size);\n color: var(--field-description-fg);\n }\n\n .error {\n margin: 0;\n font-size: var(--field-error-font-size);\n color: var(--field-error-fg);\n }\n}\n","/* Every value is a token (--textarea-*). Label, description and error come from Field. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .field {\n font-family: var(--textarea-font-family);\n }\n\n .textarea {\n min-block-size: var(--textarea-min-height);\n padding-block: var(--textarea-padding-block);\n padding-inline: var(--textarea-padding-inline);\n border: var(--size-hairline) solid var(--textarea-border-default);\n border-radius: var(--textarea-radius);\n background-color: var(--textarea-bg);\n color: var(--textarea-fg);\n font-size: var(--textarea-font-size-md);\n line-height: var(--textarea-line-height);\n resize: vertical;\n transition:\n border-color var(--textarea-motion-duration) var(--motion-easing-standard),\n background-color var(--textarea-motion-duration) var(--motion-easing-standard);\n\n &::placeholder {\n color: var(--textarea-placeholder);\n }\n\n &:focus-visible {\n border-color: var(--textarea-border-focus);\n outline: var(--textarea-focus-ring-width) solid var(--textarea-focus-ring);\n outline-offset: var(--textarea-focus-ring-offset);\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.55;\n }\n\n &:read-only:not(:disabled) {\n background-color: var(--color-surface-sunken);\n }\n\n &:hover:not(:disabled, :focus-visible) {\n border-color: var(--textarea-border-hover);\n }\n }\n\n .field[data-size=\"sm\"] .textarea { font-size: var(--textarea-font-size-sm); }\n .field[data-size=\"lg\"] .textarea { font-size: var(--textarea-font-size-lg); }\n .field[data-resize=\"none\"] .textarea { resize: none; }\n .field[data-resize=\"both\"] .textarea { resize: both; }\n .field[data-auto-grow] .textarea { field-sizing: content; }\n .field[data-invalid] .textarea { border-color: var(--textarea-border-invalid); }\n}\n"],"mappings":";AAEA;AAEA;AACE,GAACA;AACC,aAAS;AACT,oBAAgB;AAChB,SAAK,IAAI;AACX;AAEA,GAACC;AACC,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,yBAAqB,IAAI;AACzB,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AAEA,GAACC;AACC,YAAQ;AACR,eAAW,IAAI;AACf,WAAO,IAAI;AACb;AACF;;;AC/BA;AAEA;AACE,GAACC;AACC,iBAAa,IAAI;AACnB;AAEA,GAACC;AACC,oBAAgB,IAAI;AACpB,mBAAe,IAAI;AACnB,oBAAgB,IAAI;AACpB,YAAQ,IAAI,iBAAiB,MAAM,IAAI;AACvC,mBAAe,IAAI;AACnB,sBAAkB,IAAI;AACtB,WAAO,IAAI;AACX,eAAW,IAAI;AACf,iBAAa,IAAI;AACjB,YAAQ;AACR,gBACE,aAAa,IAAI,4BAA4B,IAAI,yBAAyB,EAC1E,iBAAiB,IAAI,4BAA4B,IAAI;AAEvD,KAAC;AACC,aAAO,IAAI;AACb;AAEA,KAAC;AACC,oBAAc,IAAI;AAClB,eAAS,IAAI,6BAA6B,MAAM,IAAI;AACpD,sBAAgB,IAAI;AACtB;AAEA,KAAC;AACC,cAAQ;AACR,eAAS;AACX;AAEA,KAAC,UAAU,KAAK;AACd,wBAAkB,IAAI;AACxB;AAEA,KAAC,MAAM,KAAK,WAAW;AACrB,oBAAc,IAAI;AACpB;AACF;AAEA,GA3CCD,cA2CK,CAAC,cAAgB,CAvCtBC;AAuCkC,eAAW,IAAI;AAA0B;AAC5E,GA5CCD,cA4CK,CAAC,cAAgB,CAxCtBC;AAwCkC,eAAW,IAAI;AAA0B;AAC5E,GA7CCD,cA6CK,CAAC,kBAAoB,CAzC1BC;AAyCsC,YAAQ;AAAM;AACrD,GA9CCD,cA8CK,CAAC,kBAAoB,CA1C1BC;AA0CsC,YAAQ;AAAM;AACrD,GA/CCD,cA+CK,CAAC,gBAAgB,CA3CtBC;AA2CkC,kBAAc;AAAS;AAC1D,GAhDCD,cAgDK,CAAC,cAAc,CA5CpBC;AA4CgC,kBAAc,IAAI;AAA4B;AACjF;","names":["field","label","required","description","error","field","textarea"]}
package/dist/textarea.js CHANGED
@@ -1,6 +1,6 @@
1
- export { Textarea } from './chunk-TGMDOQCL.js';
2
- import './chunk-2PXTVZ7H.js';
3
- import './chunk-ZVDN3GRI.js';
1
+ "use client";export { Textarea } from './chunk-VS2HPJIX.js';
2
+ import './chunk-SXMORGSG.js';
3
+ import './chunk-QJG5ILK5.js';
4
4
  import './chunk-MI4QUKQS.js';
5
5
  //# sourceMappingURL=textarea.js.map
6
6
  //# sourceMappingURL=textarea.js.map
package/dist/toast.css CHANGED
@@ -1,4 +1,5 @@
1
1
  /* src/icon/Icon.module.css */
2
+ @layer reset, tokens, vendor, base, components, utilities;
2
3
  @layer components {
3
4
  .Icon_icon {
4
5
  display: inline-flex;
@@ -24,6 +25,7 @@
24
25
  }
25
26
 
26
27
  /* src/visually-hidden/VisuallyHidden.module.css */
28
+ @layer reset, tokens, vendor, base, components, utilities;
27
29
  @layer components {
28
30
  .VisuallyHidden_root {
29
31
  position: absolute;
@@ -39,6 +41,7 @@
39
41
  }
40
42
 
41
43
  /* src/spinner/Spinner.module.css */
44
+ @layer reset, tokens, vendor, base, components, utilities;
42
45
  @layer components {
43
46
  .Spinner_spinner {
44
47
  --_size: var(--spinner-size-md);
@@ -84,6 +87,7 @@
84
87
  }
85
88
 
86
89
  /* src/button/Button.module.css */
90
+ @layer reset, tokens, vendor, base, components, utilities;
87
91
  @layer components {
88
92
  .Button_button {
89
93
  display: inline-flex;
@@ -156,12 +160,31 @@
156
160
  }
157
161
  }
158
162
  }
163
+ .Button_button[data-tone=danger] {
164
+ &[data-variant=primary] {
165
+ background-color: var(--button-danger-bg);
166
+ color: var(--button-danger-fg);
167
+ &:hover:not(:disabled, [aria-disabled=true]) {
168
+ background-color: var(--button-danger-bg-hover);
169
+ }
170
+ &:active:not(:disabled, [aria-disabled=true]) {
171
+ background-color: var(--button-danger-bg-active);
172
+ }
173
+ }
174
+ &:is([data-variant=secondary], [data-variant=ghost]) {
175
+ color: var(--button-danger-text);
176
+ &:hover:not(:disabled, [aria-disabled=true]) {
177
+ background-color: var(--button-danger-quiet-bg-hover);
178
+ }
179
+ }
180
+ }
159
181
  .Button_label {
160
182
  display: inline-block;
161
183
  }
162
184
  }
163
185
 
164
186
  /* src/icon-button/IconButton.module.css */
187
+ @layer reset, tokens, vendor, base, components, utilities;
165
188
  @layer components {
166
189
  .IconButton_iconButton[data-icon-only] {
167
190
  gap: 0;
@@ -177,6 +200,7 @@
177
200
  }
178
201
 
179
202
  /* src/alert/Alert.module.css */
203
+ @layer reset, tokens, vendor, base, components, utilities;
180
204
  @layer components {
181
205
  .Alert_alert {
182
206
  --_bg: var(--alert-info-bg);
@@ -246,6 +270,7 @@
246
270
  }
247
271
 
248
272
  /* src/toast/Toast.module.css */
273
+ @layer reset, tokens, vendor, base, components, utilities;
249
274
  @layer components {
250
275
  .Toast_region {
251
276
  --_top: auto;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/icon/Icon.module.css","../src/visually-hidden/VisuallyHidden.module.css","../src/spinner/Spinner.module.css","../src/button/Button.module.css","../src/icon-button/IconButton.module.css","../src/alert/Alert.module.css","../src/toast/Toast.module.css"],"sourcesContent":["/* Every value is a token (--icon-*). The child SVG fills the box; colour is currentColor. */\n\n@layer components {\n .icon {\n display: inline-flex;\n flex: none;\n inline-size: 1em;\n block-size: 1em;\n font-size: var(--icon-size-md);\n vertical-align: middle;\n\n &[data-size=\"sm\"] { font-size: var(--icon-size-sm); }\n &[data-size=\"lg\"] { font-size: var(--icon-size-lg); }\n &[data-size=\"inherit\"] { font-size: inherit; }\n\n & > * {\n inline-size: 100%;\n block-size: 100%;\n }\n }\n}\n","/* The clip-path technique: present in the accessibility tree, absent from the layout. */\n\n@layer components {\n .root {\n position: absolute;\n inline-size: var(--visually-hidden-size);\n block-size: var(--visually-hidden-size);\n padding: 0;\n margin: 0;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n}\n","/* Every value is a token (--spinner-*). The ring is a border with one coloured side. */\n\n@layer components {\n .spinner {\n --_size: var(--spinner-size-md);\n --_track: var(--spinner-track);\n --_indicator: var(--spinner-indicator);\n\n display: inline-flex;\n flex: none;\n inline-size: var(--_size);\n block-size: var(--_size);\n vertical-align: middle;\n\n &[data-size=\"sm\"] { --_size: var(--spinner-size-sm); }\n &[data-size=\"lg\"] { --_size: var(--spinner-size-lg); }\n &[data-size=\"inherit\"] { --_size: 1em; }\n\n &[data-tone=\"inherit\"] {\n --_track: transparent;\n --_indicator: currentcolor;\n }\n }\n\n .ring {\n inline-size: 100%;\n block-size: 100%;\n border: var(--spinner-width) solid var(--_track);\n border-block-start-color: var(--_indicator);\n border-radius: var(--radius-full);\n animation: spin var(--spinner-duration) linear infinite;\n }\n\n @keyframes spin {\n to {\n rotate: 1turn;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .ring {\n animation: none;\n }\n }\n}\n","/*\n * Every value is a token. State is expressed through data attributes so the\n * styling hooks survive a change of styling tool, and so tests and agents can\n * read state off the DOM.\n */\n\n@layer components {\n .button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--button-gap);\n min-block-size: var(--button-height-md);\n padding-block: 0;\n padding-inline: var(--button-padding-inline-md);\n border: 1px solid transparent;\n border-radius: var(--button-radius);\n font-family: var(--button-font-family);\n font-size: var(--button-font-size-md);\n font-weight: var(--button-font-weight);\n line-height: 1;\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n -webkit-user-select: none;\n user-select: none;\n transition:\n background-color var(--button-motion-duration) var(--motion-easing-standard),\n border-color var(--button-motion-duration) var(--motion-easing-standard),\n color var(--button-motion-duration) var(--motion-easing-standard);\n\n &:focus-visible {\n outline: var(--button-focus-ring-width) solid var(--button-focus-ring);\n outline-offset: var(--button-focus-ring-offset);\n }\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n cursor: not-allowed;\n opacity: 0.55;\n }\n\n &[data-loading] {\n cursor: progress;\n }\n\n &[data-size=\"sm\"] {\n min-block-size: var(--button-height-sm);\n padding-inline: var(--button-padding-inline-sm);\n font-size: var(--button-font-size-sm);\n }\n\n &[data-size=\"lg\"] {\n min-block-size: var(--button-height-lg);\n padding-inline: var(--button-padding-inline-lg);\n font-size: var(--button-font-size-lg);\n }\n\n &[data-variant=\"primary\"] {\n background-color: var(--button-primary-bg);\n color: var(--button-primary-fg);\n\n &:hover:not(:disabled, [aria-disabled=\"true\"]) {\n background-color: var(--button-primary-bg-hover);\n }\n\n &:active:not(:disabled, [aria-disabled=\"true\"]) {\n background-color: var(--button-primary-bg-active);\n }\n }\n\n &[data-variant=\"secondary\"] {\n background-color: var(--button-secondary-bg);\n border-color: var(--button-secondary-border);\n color: var(--button-secondary-fg);\n\n &:hover:not(:disabled, [aria-disabled=\"true\"]) {\n background-color: var(--button-secondary-bg-hover);\n }\n }\n\n &[data-variant=\"ghost\"] {\n background-color: transparent;\n color: var(--button-ghost-fg);\n\n &:hover:not(:disabled, [aria-disabled=\"true\"]) {\n background-color: var(--button-ghost-bg-hover);\n }\n }\n }\n\n .label {\n display: inline-block;\n }\n}\n","/* Squares a Button. Selectors carry the data attribute so they outrank Button's own size rules. */\n\n@layer components {\n .iconButton[data-icon-only] {\n gap: 0;\n inline-size: var(--icon-button-size-md);\n padding-inline: 0;\n\n &[data-size=\"sm\"] { inline-size: var(--icon-button-size-sm); }\n &[data-size=\"lg\"] { inline-size: var(--icon-button-size-lg); }\n }\n}\n","/* Every value is a token (--alert-*). Tone resolves into private custom properties. */\n\n@layer components {\n .alert {\n --_bg: var(--alert-info-bg);\n --_accent: var(--alert-info-accent);\n --_title: var(--alert-info-title);\n\n display: flex;\n align-items: flex-start;\n gap: var(--alert-gap);\n padding: var(--alert-padding);\n border: var(--alert-border-width) solid var(--_accent);\n border-inline-start-width: var(--alert-accent-width);\n border-radius: var(--alert-radius);\n background-color: var(--_bg);\n color: var(--alert-fg);\n font-size: var(--alert-font-size);\n\n &[data-tone=\"info\"] {\n --_bg: var(--alert-info-bg);\n --_accent: var(--alert-info-accent);\n --_title: var(--alert-info-title);\n }\n\n &[data-tone=\"success\"] {\n --_bg: var(--alert-success-bg);\n --_accent: var(--alert-success-accent);\n --_title: var(--alert-success-title);\n }\n\n &[data-tone=\"warning\"] {\n --_bg: var(--alert-warning-bg);\n --_accent: var(--alert-warning-accent);\n --_title: var(--alert-warning-title);\n }\n\n &[data-tone=\"error\"] {\n --_bg: var(--alert-error-bg);\n --_accent: var(--alert-error-accent);\n --_title: var(--alert-error-title);\n }\n }\n\n .icon {\n flex: none;\n color: var(--_accent);\n }\n\n .body {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--space-1);\n min-inline-size: 0;\n }\n\n .title {\n margin: 0;\n color: var(--_title);\n font-weight: var(--alert-title-font-weight);\n }\n\n .content {\n overflow-wrap: anywhere;\n }\n\n .action {\n display: flex;\n flex-wrap: wrap;\n gap: var(--space-2);\n margin-block-start: var(--space-1);\n }\n\n .dismiss {\n flex: none;\n margin-block: calc(-1 * var(--space-1));\n margin-inline-end: calc(-1 * var(--space-2));\n }\n}\n","/* Every value is a token (--toast-*). The region is fixed; placement is a data attribute. */\n\n@layer components {\n .region {\n --_top: auto;\n --_end: var(--toast-offset);\n --_bottom: var(--toast-offset);\n --_start: auto;\n\n position: fixed;\n z-index: var(--toast-layer);\n inset: var(--_top) var(--_end) var(--_bottom) var(--_start);\n inline-size: min(var(--toast-width), 100vw);\n padding: 0;\n pointer-events: none;\n\n &[data-placement=\"top-end\"] {\n --_top: var(--toast-offset);\n --_bottom: auto;\n }\n\n &[data-placement=\"top-center\"] {\n --_top: var(--toast-offset);\n --_bottom: auto;\n --_start: 0;\n --_end: 0;\n\n margin-inline: auto;\n }\n }\n\n .list {\n display: flex;\n flex-direction: column;\n gap: var(--toast-gap);\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .item {\n pointer-events: auto;\n animation: enter var(--toast-motion-duration) var(--motion-easing-standard);\n }\n\n .toast {\n border-radius: var(--toast-radius);\n box-shadow: var(--toast-shadow);\n }\n\n @keyframes enter {\n from {\n opacity: 0;\n translate: 0 var(--space-2);\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .item {\n animation: none;\n }\n }\n}\n"],"mappings":"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","names":["icon","root","spinner","ring","spin","button","label","iconButton","alert","icon","body","title","content","action","dismiss","region","list","item","toast","enter"]}
1
+ {"version":3,"sources":["../src/icon/Icon.module.css","../src/visually-hidden/VisuallyHidden.module.css","../src/spinner/Spinner.module.css","../src/button/Button.module.css","../src/icon-button/IconButton.module.css","../src/alert/Alert.module.css","../src/toast/Toast.module.css"],"sourcesContent":["/* Every value is a token (--icon-*). The child SVG fills the box; colour is currentColor. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .icon {\n display: inline-flex;\n flex: none;\n inline-size: 1em;\n block-size: 1em;\n font-size: var(--icon-size-md);\n vertical-align: middle;\n\n &[data-size=\"sm\"] { font-size: var(--icon-size-sm); }\n &[data-size=\"lg\"] { font-size: var(--icon-size-lg); }\n &[data-size=\"inherit\"] { font-size: inherit; }\n\n & > * {\n inline-size: 100%;\n block-size: 100%;\n }\n }\n}\n","/* The clip-path technique: present in the accessibility tree, absent from the layout. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .root {\n position: absolute;\n inline-size: var(--visually-hidden-size);\n block-size: var(--visually-hidden-size);\n padding: 0;\n margin: 0;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n}\n","/* Every value is a token (--spinner-*). The ring is a border with one coloured side. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .spinner {\n --_size: var(--spinner-size-md);\n --_track: var(--spinner-track);\n --_indicator: var(--spinner-indicator);\n\n display: inline-flex;\n flex: none;\n inline-size: var(--_size);\n block-size: var(--_size);\n vertical-align: middle;\n\n &[data-size=\"sm\"] { --_size: var(--spinner-size-sm); }\n &[data-size=\"lg\"] { --_size: var(--spinner-size-lg); }\n &[data-size=\"inherit\"] { --_size: 1em; }\n\n &[data-tone=\"inherit\"] {\n --_track: transparent;\n --_indicator: currentcolor;\n }\n }\n\n .ring {\n inline-size: 100%;\n block-size: 100%;\n border: var(--spinner-width) solid var(--_track);\n border-block-start-color: var(--_indicator);\n border-radius: var(--radius-full);\n animation: spin var(--spinner-duration) linear infinite;\n }\n\n @keyframes spin {\n to {\n rotate: 1turn;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .ring {\n animation: none;\n }\n }\n}\n","/*\n * Every value is a token. State is expressed through data attributes so the\n * styling hooks survive a change of styling tool, and so tests and agents can\n * read state off the DOM.\n */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--button-gap);\n min-block-size: var(--button-height-md);\n padding-block: 0;\n padding-inline: var(--button-padding-inline-md);\n border: 1px solid transparent;\n border-radius: var(--button-radius);\n font-family: var(--button-font-family);\n font-size: var(--button-font-size-md);\n font-weight: var(--button-font-weight);\n line-height: 1;\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n -webkit-user-select: none;\n user-select: none;\n transition:\n background-color var(--button-motion-duration) var(--motion-easing-standard),\n border-color var(--button-motion-duration) var(--motion-easing-standard),\n color var(--button-motion-duration) var(--motion-easing-standard);\n\n &:focus-visible {\n outline: var(--button-focus-ring-width) solid var(--button-focus-ring);\n outline-offset: var(--button-focus-ring-offset);\n }\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n cursor: not-allowed;\n opacity: 0.55;\n }\n\n &[data-loading] {\n cursor: progress;\n }\n\n &[data-size=\"sm\"] {\n min-block-size: var(--button-height-sm);\n padding-inline: var(--button-padding-inline-sm);\n font-size: var(--button-font-size-sm);\n }\n\n &[data-size=\"lg\"] {\n min-block-size: var(--button-height-lg);\n padding-inline: var(--button-padding-inline-lg);\n font-size: var(--button-font-size-lg);\n }\n\n &[data-variant=\"primary\"] {\n background-color: var(--button-primary-bg);\n color: var(--button-primary-fg);\n\n &:hover:not(:disabled, [aria-disabled=\"true\"]) {\n background-color: var(--button-primary-bg-hover);\n }\n\n &:active:not(:disabled, [aria-disabled=\"true\"]) {\n background-color: var(--button-primary-bg-active);\n }\n }\n\n &[data-variant=\"secondary\"] {\n background-color: var(--button-secondary-bg);\n border-color: var(--button-secondary-border);\n color: var(--button-secondary-fg);\n\n &:hover:not(:disabled, [aria-disabled=\"true\"]) {\n background-color: var(--button-secondary-bg-hover);\n }\n }\n\n &[data-variant=\"ghost\"] {\n background-color: transparent;\n color: var(--button-ghost-fg);\n\n &:hover:not(:disabled, [aria-disabled=\"true\"]) {\n background-color: var(--button-ghost-bg-hover);\n }\n }\n }\n\n /* tone=\"danger\", after the variants so it wins at equal specificity plus one attribute. */\n .button[data-tone=\"danger\"] {\n &[data-variant=\"primary\"] {\n background-color: var(--button-danger-bg);\n color: var(--button-danger-fg);\n\n &:hover:not(:disabled, [aria-disabled=\"true\"]) {\n background-color: var(--button-danger-bg-hover);\n }\n\n &:active:not(:disabled, [aria-disabled=\"true\"]) {\n background-color: var(--button-danger-bg-active);\n }\n }\n\n &:is([data-variant=\"secondary\"], [data-variant=\"ghost\"]) {\n color: var(--button-danger-text);\n\n &:hover:not(:disabled, [aria-disabled=\"true\"]) {\n background-color: var(--button-danger-quiet-bg-hover);\n }\n }\n }\n\n .label {\n display: inline-block;\n }\n}\n","/* Squares a Button. Selectors carry the data attribute so they outrank Button's own size rules. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .iconButton[data-icon-only] {\n gap: 0;\n inline-size: var(--icon-button-size-md);\n padding-inline: 0;\n\n &[data-size=\"sm\"] { inline-size: var(--icon-button-size-sm); }\n &[data-size=\"lg\"] { inline-size: var(--icon-button-size-lg); }\n }\n}\n","/* Every value is a token (--alert-*). Tone resolves into private custom properties. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .alert {\n --_bg: var(--alert-info-bg);\n --_accent: var(--alert-info-accent);\n --_title: var(--alert-info-title);\n\n display: flex;\n align-items: flex-start;\n gap: var(--alert-gap);\n padding: var(--alert-padding);\n border: var(--alert-border-width) solid var(--_accent);\n border-inline-start-width: var(--alert-accent-width);\n border-radius: var(--alert-radius);\n background-color: var(--_bg);\n color: var(--alert-fg);\n font-size: var(--alert-font-size);\n\n &[data-tone=\"info\"] {\n --_bg: var(--alert-info-bg);\n --_accent: var(--alert-info-accent);\n --_title: var(--alert-info-title);\n }\n\n &[data-tone=\"success\"] {\n --_bg: var(--alert-success-bg);\n --_accent: var(--alert-success-accent);\n --_title: var(--alert-success-title);\n }\n\n &[data-tone=\"warning\"] {\n --_bg: var(--alert-warning-bg);\n --_accent: var(--alert-warning-accent);\n --_title: var(--alert-warning-title);\n }\n\n &[data-tone=\"error\"] {\n --_bg: var(--alert-error-bg);\n --_accent: var(--alert-error-accent);\n --_title: var(--alert-error-title);\n }\n }\n\n .icon {\n flex: none;\n color: var(--_accent);\n }\n\n .body {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--space-1);\n min-inline-size: 0;\n }\n\n .title {\n margin: 0;\n color: var(--_title);\n font-weight: var(--alert-title-font-weight);\n }\n\n .content {\n overflow-wrap: anywhere;\n }\n\n .action {\n display: flex;\n flex-wrap: wrap;\n gap: var(--space-2);\n margin-block-start: var(--space-1);\n }\n\n .dismiss {\n flex: none;\n margin-block: calc(-1 * var(--space-1));\n margin-inline-end: calc(-1 * var(--space-2));\n }\n}\n","/* Every value is a token (--toast-*). The region is fixed; placement is a data attribute. */\n\n@layer reset, tokens, vendor, base, components, utilities;\n\n@layer components {\n .region {\n --_top: auto;\n --_end: var(--toast-offset);\n --_bottom: var(--toast-offset);\n --_start: auto;\n\n position: fixed;\n z-index: var(--toast-layer);\n inset: var(--_top) var(--_end) var(--_bottom) var(--_start);\n inline-size: min(var(--toast-width), 100vw);\n padding: 0;\n pointer-events: none;\n\n &[data-placement=\"top-end\"] {\n --_top: var(--toast-offset);\n --_bottom: auto;\n }\n\n &[data-placement=\"top-center\"] {\n --_top: var(--toast-offset);\n --_bottom: auto;\n --_start: 0;\n --_end: 0;\n\n margin-inline: auto;\n }\n }\n\n .list {\n display: flex;\n flex-direction: column;\n gap: var(--toast-gap);\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .item {\n pointer-events: auto;\n animation: enter var(--toast-motion-duration) var(--motion-easing-standard);\n }\n\n .toast {\n border-radius: var(--toast-radius);\n box-shadow: var(--toast-shadow);\n }\n\n @keyframes enter {\n from {\n opacity: 0;\n translate: 0 var(--space-2);\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .item {\n animation: none;\n }\n }\n}\n"],"mappings":"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","names":["icon","root","spinner","ring","spin","button","label","iconButton","alert","icon","body","title","content","action","dismiss","region","list","item","toast","enter"]}