@fpkit/acss 3.1.1 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/libs/{chunk-2NRIP6RB.cjs → chunk-2C3YLBWP.cjs} +3 -3
  2. package/libs/{chunk-NWJDAHP6.cjs → chunk-2GJHKWEK.cjs} +3 -3
  3. package/libs/{chunk-FVROL3V5.js → chunk-2JCDEC32.js} +3 -3
  4. package/libs/{chunk-IRLFZ3OL.js → chunk-3XJC4XUG.js} +2 -2
  5. package/libs/{chunk-L6PRDL6F.cjs → chunk-5CJPTDK3.cjs} +3 -3
  6. package/libs/{chunk-E4OSROCA.cjs → chunk-5QSNJQVH.cjs} +3 -3
  7. package/libs/{chunk-O3JIHC5M.cjs → chunk-6BUJZ4DJ.cjs} +3 -3
  8. package/libs/{chunk-WXBFBWYF.cjs → chunk-AFINOD2L.cjs} +3 -3
  9. package/libs/{chunk-HRRHPLER.js → chunk-AWZLSWDO.js} +2 -2
  10. package/libs/chunk-DDSXKOUB.js +7 -0
  11. package/libs/chunk-DDSXKOUB.js.map +1 -0
  12. package/libs/{chunk-CWRNJA4P.js → chunk-DIJBIOFE.js} +3 -3
  13. package/libs/chunk-EJ6KYBFE.cjs +13 -0
  14. package/libs/chunk-EJ6KYBFE.cjs.map +1 -0
  15. package/libs/{chunk-GUJSMQ3V.cjs → chunk-EKJYOCLY.cjs} +3 -3
  16. package/libs/{chunk-X5RKCLDC.cjs → chunk-F64GE6RG.cjs} +4 -4
  17. package/libs/{chunk-5RAWNUVD.js → chunk-IBUTNPTQ.js} +2 -2
  18. package/libs/{chunk-ZFJ4U45S.js → chunk-KDMX3FAW.js} +2 -2
  19. package/libs/{chunk-DYFAUAB7.cjs → chunk-LXODKKA3.cjs} +4 -4
  20. package/libs/{chunk-MPTMPBFT.js → chunk-M7JLT62Q.js} +2 -2
  21. package/libs/{chunk-IQ76HGVP.js → chunk-MBWI67UT.js} +2 -2
  22. package/libs/{chunk-O5XAJ7BY.cjs → chunk-NCGVF2QS.cjs} +4 -4
  23. package/libs/{chunk-W2UIN7EV.cjs → chunk-NPWHQVYB.cjs} +3 -3
  24. package/libs/chunk-OU52NIKA.js +8 -0
  25. package/libs/chunk-OU52NIKA.js.map +1 -0
  26. package/libs/{chunk-43TK2ICH.js → chunk-PMWL5XZ4.js} +3 -3
  27. package/libs/{chunk-KVKQLRJG.js → chunk-TF3GQKOY.js} +2 -2
  28. package/libs/{chunk-IEB64SWY.js → chunk-U5VA34SU.js} +2 -2
  29. package/libs/{chunk-EE3ZWSBY.cjs → chunk-URBGDUFN.cjs} +6 -6
  30. package/libs/chunk-WWPLBWCQ.cjs +18 -0
  31. package/libs/chunk-WWPLBWCQ.cjs.map +1 -0
  32. package/libs/{chunk-TPIB3RQP.js → chunk-ZF6Y7W57.js} +5 -5
  33. package/libs/component-props-50e69975.d.ts +66 -0
  34. package/libs/components/box/box.css +1 -0
  35. package/libs/components/box/box.css.map +1 -0
  36. package/libs/components/box/box.min.css +3 -0
  37. package/libs/components/breadcrumbs/breadcrumb.cjs +6 -6
  38. package/libs/components/breadcrumbs/breadcrumb.js +3 -3
  39. package/libs/components/button.cjs +4 -4
  40. package/libs/components/button.d.cts +10 -3
  41. package/libs/components/button.d.ts +10 -3
  42. package/libs/components/button.js +2 -2
  43. package/libs/components/card.cjs +7 -7
  44. package/libs/components/card.d.cts +13 -85
  45. package/libs/components/card.d.ts +13 -85
  46. package/libs/components/card.js +2 -2
  47. package/libs/components/cards/card.css +1 -1
  48. package/libs/components/cards/card.css.map +1 -1
  49. package/libs/components/cards/card.min.css +2 -2
  50. package/libs/components/cluster/cluster.css +1 -0
  51. package/libs/components/cluster/cluster.css.map +1 -0
  52. package/libs/components/cluster/cluster.min.css +3 -0
  53. package/libs/components/dialog/dialog.cjs +7 -7
  54. package/libs/components/dialog/dialog.js +5 -5
  55. package/libs/components/form/fields.cjs +4 -4
  56. package/libs/components/form/fields.js +2 -2
  57. package/libs/components/form/textarea.cjs +4 -4
  58. package/libs/components/form/textarea.js +2 -2
  59. package/libs/components/grid/grid.css +1 -0
  60. package/libs/components/grid/grid.css.map +1 -0
  61. package/libs/components/grid/grid.min.css +3 -0
  62. package/libs/components/heading/heading.cjs +3 -3
  63. package/libs/components/heading/heading.js +2 -2
  64. package/libs/components/icons/icon.cjs +4 -4
  65. package/libs/components/icons/icon.d.cts +2 -2
  66. package/libs/components/icons/icon.d.ts +2 -2
  67. package/libs/components/icons/icon.js +2 -2
  68. package/libs/components/link/link.cjs +6 -6
  69. package/libs/components/link/link.js +2 -2
  70. package/libs/components/list/list.cjs +5 -5
  71. package/libs/components/list/list.js +2 -2
  72. package/libs/components/modal.cjs +4 -4
  73. package/libs/components/modal.d.cts +1 -1
  74. package/libs/components/modal.d.ts +1 -1
  75. package/libs/components/modal.js +3 -3
  76. package/libs/components/nav/nav.cjs +7 -7
  77. package/libs/components/nav/nav.js +3 -3
  78. package/libs/components/stack/stack.css +1 -0
  79. package/libs/components/stack/stack.css.map +1 -0
  80. package/libs/components/stack/stack.min.css +3 -0
  81. package/libs/components/tables/table.d.cts +1 -1
  82. package/libs/components/tables/table.d.ts +1 -1
  83. package/libs/components/text/text.cjs +5 -5
  84. package/libs/components/text/text.js +2 -2
  85. package/libs/hooks.cjs +4 -4
  86. package/libs/hooks.js +3 -3
  87. package/libs/{icons-287fce3a.d.ts → icons-df8e744f.d.ts} +1 -1
  88. package/libs/icons.cjs +3 -3
  89. package/libs/icons.d.cts +2 -2
  90. package/libs/icons.d.ts +2 -2
  91. package/libs/icons.js +2 -2
  92. package/libs/index.cjs +64 -63
  93. package/libs/index.cjs.map +1 -1
  94. package/libs/index.css +1 -1
  95. package/libs/index.css.map +1 -1
  96. package/libs/index.d.cts +923 -4
  97. package/libs/index.d.ts +923 -4
  98. package/libs/index.js +28 -28
  99. package/libs/index.js.map +1 -1
  100. package/package.json +2 -2
  101. package/src/components/alert/STYLES.mdx +790 -0
  102. package/src/components/badge/STYLES.mdx +610 -0
  103. package/src/components/box/README.mdx +401 -0
  104. package/src/components/box/STYLES.mdx +360 -0
  105. package/src/components/box/box.scss +245 -0
  106. package/src/components/box/box.stories.tsx +395 -0
  107. package/src/components/box/box.test.tsx +425 -0
  108. package/src/components/box/box.tsx +170 -0
  109. package/src/components/box/box.types.ts +166 -0
  110. package/src/components/breadcrumbs/STYLES.mdx +99 -0
  111. package/src/components/buttons/STYLES.mdx +766 -0
  112. package/src/components/cards/STYLES.mdx +835 -0
  113. package/src/components/cards/card.scss +30 -21
  114. package/src/components/cards/card.stories.tsx +120 -80
  115. package/src/components/cards/card.tsx +14 -4
  116. package/src/components/cards/card.types.ts +13 -0
  117. package/src/components/cluster/README.mdx +595 -0
  118. package/src/components/cluster/STYLES.mdx +626 -0
  119. package/src/components/cluster/cluster.scss +86 -0
  120. package/src/components/cluster/cluster.stories.tsx +385 -0
  121. package/src/components/cluster/cluster.test.tsx +655 -0
  122. package/src/components/cluster/cluster.tsx +94 -0
  123. package/src/components/cluster/cluster.types.ts +75 -0
  124. package/src/components/details/STYLES.mdx +445 -0
  125. package/src/components/dialog/STYLES.mdx +888 -0
  126. package/src/components/flexbox/STYLES.mdx +1 -1
  127. package/src/components/form/STYLES.mdx +821 -0
  128. package/src/components/grid/README.mdx +709 -0
  129. package/src/components/grid/STYLES.mdx +785 -0
  130. package/src/components/grid/grid.scss +287 -0
  131. package/src/components/grid/grid.stories.tsx +486 -0
  132. package/src/components/grid/grid.test.tsx +981 -0
  133. package/src/components/grid/grid.tsx +222 -0
  134. package/src/components/grid/grid.types.ts +344 -0
  135. package/src/components/icons/STYLES.mdx +56 -0
  136. package/src/components/images/STYLES.mdx +75 -0
  137. package/src/components/layout/STYLES.mdx +556 -0
  138. package/src/components/link/STYLES.mdx +75 -0
  139. package/src/components/list/STYLES.mdx +631 -0
  140. package/src/components/nav/STYLES.mdx +460 -0
  141. package/src/components/progress/STYLES.mdx +64 -0
  142. package/src/components/stack/README.mdx +400 -0
  143. package/src/components/stack/STYLES.mdx +414 -0
  144. package/src/components/stack/stack.scss +109 -0
  145. package/src/components/stack/stack.stories.tsx +559 -0
  146. package/src/components/stack/stack.test.tsx +426 -0
  147. package/src/components/stack/stack.tsx +141 -0
  148. package/src/components/stack/stack.types.ts +133 -0
  149. package/src/components/tag/STYLES.mdx +105 -0
  150. package/src/components/text-to-speech/STYLES.mdx +80 -0
  151. package/src/components/ui.tsx +3 -3
  152. package/src/index.scss +7 -2
  153. package/src/index.ts +305 -12
  154. package/src/sass/GLOBALS-STYLES.md +631 -0
  155. package/src/sass/_globals.scss +45 -24
  156. package/src/sass/_styles.scss +2 -2
  157. package/src/styles/box/box.css +220 -0
  158. package/src/styles/box/box.css.map +1 -0
  159. package/src/styles/cards/card.css +23 -17
  160. package/src/styles/cards/card.css.map +1 -1
  161. package/src/styles/cluster/cluster.css +71 -0
  162. package/src/styles/cluster/cluster.css.map +1 -0
  163. package/src/styles/grid/grid.css +238 -0
  164. package/src/styles/grid/grid.css.map +1 -0
  165. package/src/styles/index.css +668 -49
  166. package/src/styles/index.css.map +1 -1
  167. package/src/styles/stack/stack.css +86 -0
  168. package/src/styles/stack/stack.css.map +1 -0
  169. package/src/types/component-props.ts +42 -14
  170. package/src/types/layout-primitives.ts +48 -0
  171. package/src/types/shared.ts +10 -26
  172. package/libs/chunk-ENTCUJ3A.cjs +0 -13
  173. package/libs/chunk-ENTCUJ3A.cjs.map +0 -1
  174. package/libs/chunk-HHLNOC5T.js +0 -7
  175. package/libs/chunk-HHLNOC5T.js.map +0 -1
  176. package/libs/chunk-KK47SYZI.js +0 -8
  177. package/libs/chunk-KK47SYZI.js.map +0 -1
  178. package/libs/chunk-W5TKWBFC.cjs +0 -18
  179. package/libs/chunk-W5TKWBFC.cjs.map +0 -1
  180. package/libs/component-props-67d978a2.d.ts +0 -38
  181. /package/libs/{chunk-2NRIP6RB.cjs.map → chunk-2C3YLBWP.cjs.map} +0 -0
  182. /package/libs/{chunk-NWJDAHP6.cjs.map → chunk-2GJHKWEK.cjs.map} +0 -0
  183. /package/libs/{chunk-FVROL3V5.js.map → chunk-2JCDEC32.js.map} +0 -0
  184. /package/libs/{chunk-IRLFZ3OL.js.map → chunk-3XJC4XUG.js.map} +0 -0
  185. /package/libs/{chunk-L6PRDL6F.cjs.map → chunk-5CJPTDK3.cjs.map} +0 -0
  186. /package/libs/{chunk-E4OSROCA.cjs.map → chunk-5QSNJQVH.cjs.map} +0 -0
  187. /package/libs/{chunk-O3JIHC5M.cjs.map → chunk-6BUJZ4DJ.cjs.map} +0 -0
  188. /package/libs/{chunk-WXBFBWYF.cjs.map → chunk-AFINOD2L.cjs.map} +0 -0
  189. /package/libs/{chunk-HRRHPLER.js.map → chunk-AWZLSWDO.js.map} +0 -0
  190. /package/libs/{chunk-CWRNJA4P.js.map → chunk-DIJBIOFE.js.map} +0 -0
  191. /package/libs/{chunk-GUJSMQ3V.cjs.map → chunk-EKJYOCLY.cjs.map} +0 -0
  192. /package/libs/{chunk-X5RKCLDC.cjs.map → chunk-F64GE6RG.cjs.map} +0 -0
  193. /package/libs/{chunk-5RAWNUVD.js.map → chunk-IBUTNPTQ.js.map} +0 -0
  194. /package/libs/{chunk-ZFJ4U45S.js.map → chunk-KDMX3FAW.js.map} +0 -0
  195. /package/libs/{chunk-DYFAUAB7.cjs.map → chunk-LXODKKA3.cjs.map} +0 -0
  196. /package/libs/{chunk-MPTMPBFT.js.map → chunk-M7JLT62Q.js.map} +0 -0
  197. /package/libs/{chunk-IQ76HGVP.js.map → chunk-MBWI67UT.js.map} +0 -0
  198. /package/libs/{chunk-O5XAJ7BY.cjs.map → chunk-NCGVF2QS.cjs.map} +0 -0
  199. /package/libs/{chunk-W2UIN7EV.cjs.map → chunk-NPWHQVYB.cjs.map} +0 -0
  200. /package/libs/{chunk-43TK2ICH.js.map → chunk-PMWL5XZ4.js.map} +0 -0
  201. /package/libs/{chunk-KVKQLRJG.js.map → chunk-TF3GQKOY.js.map} +0 -0
  202. /package/libs/{chunk-IEB64SWY.js.map → chunk-U5VA34SU.js.map} +0 -0
  203. /package/libs/{chunk-EE3ZWSBY.cjs.map → chunk-URBGDUFN.cjs.map} +0 -0
  204. /package/libs/{chunk-TPIB3RQP.js.map → chunk-ZF6Y7W57.js.map} +0 -0
@@ -265,6 +265,24 @@ svg[role=img] {
265
265
  --min-w: 20rem;
266
266
  --border-radius: 0.25rem;
267
267
  --padding: 1.5rem;
268
+ --spacing-0: 0;
269
+ --spacing-xs: clamp(0.25rem, 0.2rem + 0.25vw, 0.5rem); /* 4-8px */
270
+ --spacing-sm: clamp(0.5rem, 0.45rem + 0.35vw, 0.75rem); /* 8-12px */
271
+ --spacing-md: clamp(0.75rem, 0.65rem + 0.45vw, 1.125rem); /* 12-18px */
272
+ --spacing-lg: clamp(1rem, 0.85rem + 0.6vw, 1.5rem); /* 16-24px */
273
+ --spacing-xl: clamp(1.5rem, 1.25rem + 0.75vw, 2rem); /* 24-32px */
274
+ --box-max-width-xs: 30rem; /* 480px */
275
+ --box-max-width-sm: 40rem; /* 640px */
276
+ --box-max-width-md: 48rem; /* 768px */
277
+ --box-max-width-lg: 64rem; /* 1024px */
278
+ --box-max-width-xl: 80rem; /* 1280px */
279
+ --box-max-width-container: 75rem; /* 1200px */
280
+ --box-radius-xs: 0.125rem; /* 2px */
281
+ --box-radius-sm: 0.25rem; /* 4px */
282
+ --box-radius-md: 0.375rem; /* 6px */
283
+ --box-radius-lg: 0.5rem; /* 8px */
284
+ --box-radius-xl: 0.75rem; /* 12px */
285
+ --box-radius-full: 9999px;
268
286
  }
269
287
 
270
288
  html {
@@ -273,7 +291,7 @@ html {
273
291
  }
274
292
 
275
293
  body {
276
- display: var(--body-dsp, flex);
294
+ display: var(--body-display, flex);
277
295
  min-height: 100%;
278
296
  flex-direction: var(--body-direction, column);
279
297
  min-width: 20.3125rem;
@@ -293,39 +311,18 @@ body > a[href^="#"] {
293
311
  z-index: 100;
294
312
  transition: top 0.3s;
295
313
  border-radius: 0;
296
- background-color: whitesmoke;
314
+ background-color: var(--color-skip-link-bg, #f5f5f5);
297
315
  }
298
316
  body > a[href^="#"]:focus {
299
317
  top: 0;
300
318
  }
301
319
 
302
- div:empty {
303
- display: none;
304
- }
305
-
306
320
  main,
307
321
  header,
308
322
  footer,
309
323
  section {
310
324
  font-size: var(--fs-0);
311
325
  }
312
- main > section,
313
- main > div,
314
- header > section,
315
- header > div,
316
- footer > section,
317
- footer > div,
318
- section > section,
319
- section > div {
320
- margin-inline: auto;
321
- width: var(--content-w, 80%);
322
- }
323
- main > div,
324
- header > div,
325
- footer > div,
326
- section > div {
327
- text-align: center;
328
- }
329
326
 
330
327
  section:not(nav) {
331
328
  margin-inline: var(--sect-y, auto);
@@ -333,7 +330,6 @@ section:not(nav) {
333
330
  }
334
331
 
335
332
  p {
336
- max-width: 75ch;
337
333
  max-width: 75ch;
338
334
  font-size: var(--fs-0);
339
335
  line-height: 1.6;
@@ -372,8 +368,12 @@ sup {
372
368
  }
373
369
 
374
370
  blockquote {
375
- padding: 1rem;
376
- border-left: 5px lightgray solid;
371
+ --blockquote-padding: 1rem;
372
+ --blockquote-border-width: 0.3125rem;
373
+ --blockquote-border-style: solid;
374
+ --blockquote-border-color: var(--color-border, #d3d3d3);
375
+ padding: var(--blockquote-padding);
376
+ border-left: var(--blockquote-border-width) var(--blockquote-border-style) var(--blockquote-border-color);
377
377
  }
378
378
 
379
379
  strong {
@@ -393,13 +393,15 @@ h6 {
393
393
  }
394
394
 
395
395
  hr {
396
- --hr-h: 0.0625rem;
397
- --hr-color: lightgray;
398
- --hr-my: 1.5rem;
399
- --hr-style: dotted;
396
+ --hr-border-width: 0.0625rem;
397
+ --hr-border-color: var(--color-border-subtle, #d3d3d3);
398
+ --hr-margin-block: 1.5rem;
399
+ --hr-border-style: solid;
400
400
  border: none;
401
- border-bottom: var(--hr-h) var(--hr-style) var(--hr-color);
402
- margin-block: var(--hr-my);
401
+ border-bottom: var(--hr-border-width) var(--hr-border-style) var(--hr-border-color);
402
+ margin-block: var(--hr-margin-block);
403
+ display: block;
404
+ min-width: 100%;
403
405
  }
404
406
 
405
407
  h1[data-ui~=display], h1:has(span:first-of-type) > span,
@@ -803,28 +805,30 @@ figure:has(img[alt]) > figcaption {
803
805
  }
804
806
 
805
807
  :root {
806
- --card-padding: 2rem;
807
- --card-bg: #fff;
808
+ --card-padding: 1.5rem;
809
+ --card-bg: var(--color-surface, #ffffff);
808
810
  --card-radius: calc(var(--card-padding) / 4);
809
- --card-position: relative;
810
- --card-display: flex;
811
- --card-direction: column;
812
811
  --card-gap: 1rem;
813
812
  --card-header-padding: 1rem 1.5rem;
814
- --card-header-bg: #f8f9fa;
815
- --card-header-border-bottom: 1px solid #dee2e6;
813
+ --card-header-bg: var(--color-surface-secondary, #f8f9fa);
814
+ --card-header-border-bottom-width: 0.0625rem;
815
+ --card-header-border-bottom-style: solid;
816
+ --card-header-border-bottom-color: var(--color-border, #dee2e6);
816
817
  --card-body-padding: 1.5rem;
817
818
  --card-footer-padding: 1rem 1.5rem;
818
- --card-footer-bg: #f8f9fa;
819
- --card-footer-border-top: 1px solid #dee2e6;
819
+ --card-footer-bg: var(--color-surface-secondary, #f8f9fa);
820
+ --card-footer-border-top-width: 0.0625rem;
821
+ --card-footer-border-top-style: solid;
822
+ --card-footer-border-top-color: var(--color-border, #dee2e6);
820
823
  }
821
824
 
822
825
  [data-card],
823
826
  [data-component~=card] {
824
- display: var(--card-display);
825
- flex-direction: var(--card-direction);
827
+ display: flex;
828
+ flex-direction: column;
826
829
  gap: var(--card-gap);
827
830
  border-radius: var(--card-radius);
831
+ border: var(--card-border, 0.0625rem solid rgba(0, 0, 0, 0.08));
828
832
  background-color: var(--card-bg);
829
833
  text-align: var(--card-align, left);
830
834
  }
@@ -863,7 +867,7 @@ figure:has(img[alt]) > figcaption {
863
867
  [data-component~=card] > [data-card-header] {
864
868
  padding: var(--card-header-padding);
865
869
  background-color: var(--card-header-bg);
866
- border-bottom: var(--card-header-border-bottom);
870
+ border-bottom: var(--card-header-border-bottom-width) var(--card-header-border-bottom-style) var(--card-header-border-bottom-color);
867
871
  border-radius: var(--card-radius) var(--card-radius) 0 0;
868
872
  }
869
873
  [data-card] > [data-card-body],
@@ -877,20 +881,24 @@ figure:has(img[alt]) > figcaption {
877
881
  [data-component~=card] > [data-card-footer] {
878
882
  padding: var(--card-footer-padding);
879
883
  background-color: var(--card-footer-bg);
880
- border-top: var(--card-footer-border-top);
884
+ border-top: var(--card-footer-border-top-width) var(--card-footer-border-top-style) var(--card-footer-border-top-color);
881
885
  border-radius: 0 0 var(--card-radius) var(--card-radius);
882
886
  }
883
887
 
884
888
  [data-card=interactive] {
889
+ --card-transition-duration: 0.2s;
890
+ --card-transition-timing: ease;
891
+ --card-hover-lift: -0.125rem;
892
+ --card-hover-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.15);
885
893
  cursor: pointer;
886
- transition: box-shadow 0.2s ease, transform 0.2s ease;
894
+ transition: box-shadow var(--card-transition-duration) var(--card-transition-timing), transform var(--card-transition-duration) var(--card-transition-timing);
887
895
  }
888
896
  [data-card=interactive]:hover {
889
- transform: translateY(-2px);
890
- box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.15);
897
+ transform: translateY(var(--card-hover-lift));
898
+ box-shadow: var(--card-hover-shadow);
891
899
  }
892
900
  [data-card=interactive]:focus-visible {
893
- outline: 0.125rem solid var(--focus-color, #0066CC);
901
+ outline: 0.125rem solid var(--color-focus, #0066cc);
894
902
  outline-offset: 0.125rem;
895
903
  }
896
904
  [data-card=interactive]:focus:not(:focus-visible) {
@@ -1319,6 +1327,617 @@ footer > div {
1319
1327
  text-align: center;
1320
1328
  }
1321
1329
 
1330
+ /**
1331
+ * Box Component Styles
1332
+ *
1333
+ * Utility classes for the Box layout primitive.
1334
+ * All spacing values use the unified spacing scale from globals.
1335
+ * All units are in rem (1rem = 16px base).
1336
+ */
1337
+ .box-padding-0 {
1338
+ padding: 0;
1339
+ }
1340
+
1341
+ .box-padding-xs {
1342
+ padding: var(--spacing-xs);
1343
+ }
1344
+
1345
+ .box-padding-sm {
1346
+ padding: var(--spacing-sm);
1347
+ }
1348
+
1349
+ .box-padding-md {
1350
+ padding: var(--spacing-md);
1351
+ }
1352
+
1353
+ .box-padding-lg {
1354
+ padding: var(--spacing-lg);
1355
+ }
1356
+
1357
+ .box-padding-xl {
1358
+ padding: var(--spacing-xl);
1359
+ }
1360
+
1361
+ .box-padding-inline-0 {
1362
+ padding-inline: 0;
1363
+ }
1364
+
1365
+ .box-padding-inline-xs {
1366
+ padding-inline: var(--spacing-xs);
1367
+ }
1368
+
1369
+ .box-padding-inline-sm {
1370
+ padding-inline: var(--spacing-sm);
1371
+ }
1372
+
1373
+ .box-padding-inline-md {
1374
+ padding-inline: var(--spacing-md);
1375
+ }
1376
+
1377
+ .box-padding-inline-lg {
1378
+ padding-inline: var(--spacing-lg);
1379
+ }
1380
+
1381
+ .box-padding-inline-xl {
1382
+ padding-inline: var(--spacing-xl);
1383
+ }
1384
+
1385
+ .box-padding-block-0 {
1386
+ padding-block: 0;
1387
+ }
1388
+
1389
+ .box-padding-block-xs {
1390
+ padding-block: var(--spacing-xs);
1391
+ }
1392
+
1393
+ .box-padding-block-sm {
1394
+ padding-block: var(--spacing-sm);
1395
+ }
1396
+
1397
+ .box-padding-block-md {
1398
+ padding-block: var(--spacing-md);
1399
+ }
1400
+
1401
+ .box-padding-block-lg {
1402
+ padding-block: var(--spacing-lg);
1403
+ }
1404
+
1405
+ .box-padding-block-xl {
1406
+ padding-block: var(--spacing-xl);
1407
+ }
1408
+
1409
+ .box-margin-0 {
1410
+ margin: 0;
1411
+ }
1412
+
1413
+ .box-margin-xs {
1414
+ margin: var(--spacing-xs);
1415
+ }
1416
+
1417
+ .box-margin-sm {
1418
+ margin: var(--spacing-sm);
1419
+ }
1420
+
1421
+ .box-margin-md {
1422
+ margin: var(--spacing-md);
1423
+ }
1424
+
1425
+ .box-margin-lg {
1426
+ margin: var(--spacing-lg);
1427
+ }
1428
+
1429
+ .box-margin-xl {
1430
+ margin: var(--spacing-xl);
1431
+ }
1432
+
1433
+ .box-margin-inline-0 {
1434
+ margin-inline: 0;
1435
+ }
1436
+
1437
+ .box-margin-inline-xs {
1438
+ margin-inline: var(--spacing-xs);
1439
+ }
1440
+
1441
+ .box-margin-inline-sm {
1442
+ margin-inline: var(--spacing-sm);
1443
+ }
1444
+
1445
+ .box-margin-inline-md {
1446
+ margin-inline: var(--spacing-md);
1447
+ }
1448
+
1449
+ .box-margin-inline-lg {
1450
+ margin-inline: var(--spacing-lg);
1451
+ }
1452
+
1453
+ .box-margin-inline-xl {
1454
+ margin-inline: var(--spacing-xl);
1455
+ }
1456
+
1457
+ .box-margin-block-0 {
1458
+ margin-block: 0;
1459
+ }
1460
+
1461
+ .box-margin-block-xs {
1462
+ margin-block: var(--spacing-xs);
1463
+ }
1464
+
1465
+ .box-margin-block-sm {
1466
+ margin-block: var(--spacing-sm);
1467
+ }
1468
+
1469
+ .box-margin-block-md {
1470
+ margin-block: var(--spacing-md);
1471
+ }
1472
+
1473
+ .box-margin-block-lg {
1474
+ margin-block: var(--spacing-lg);
1475
+ }
1476
+
1477
+ .box-margin-block-xl {
1478
+ margin-block: var(--spacing-xl);
1479
+ }
1480
+
1481
+ .box-width-auto {
1482
+ width: auto;
1483
+ }
1484
+
1485
+ .box-width-full {
1486
+ width: 100%;
1487
+ }
1488
+
1489
+ .box-width-fit {
1490
+ width: fit-content;
1491
+ }
1492
+
1493
+ .box-width-max {
1494
+ width: max-content;
1495
+ }
1496
+
1497
+ .box-max-width-xs {
1498
+ max-width: var(--box-max-width-xs);
1499
+ }
1500
+
1501
+ .box-max-width-sm {
1502
+ max-width: var(--box-max-width-sm);
1503
+ }
1504
+
1505
+ .box-max-width-md {
1506
+ max-width: var(--box-max-width-md);
1507
+ }
1508
+
1509
+ .box-max-width-lg {
1510
+ max-width: var(--box-max-width-lg);
1511
+ }
1512
+
1513
+ .box-max-width-xl {
1514
+ max-width: var(--box-max-width-xl);
1515
+ }
1516
+
1517
+ .box-max-width-container {
1518
+ max-width: var(--box-max-width-container);
1519
+ }
1520
+
1521
+ .box-radius-0 {
1522
+ border-radius: 0;
1523
+ }
1524
+
1525
+ .box-radius-xs {
1526
+ border-radius: var(--box-radius-xs);
1527
+ }
1528
+
1529
+ .box-radius-sm {
1530
+ border-radius: var(--box-radius-sm);
1531
+ }
1532
+
1533
+ .box-radius-md {
1534
+ border-radius: var(--box-radius-md);
1535
+ }
1536
+
1537
+ .box-radius-lg {
1538
+ border-radius: var(--box-radius-lg);
1539
+ }
1540
+
1541
+ .box-radius-xl {
1542
+ border-radius: var(--box-radius-xl);
1543
+ }
1544
+
1545
+ .box-radius-full {
1546
+ border-radius: var(--box-radius-full);
1547
+ }
1548
+
1549
+ /**
1550
+ * Stack Component Styles
1551
+ *
1552
+ * Utility classes for the Stack layout primitive.
1553
+ * Provides flexbox-based vertical/horizontal layouts with gap spacing.
1554
+ * All spacing values use the unified spacing scale from globals.
1555
+ * All units are in rem (1rem = 16px base).
1556
+ */
1557
+ .stack {
1558
+ display: flex;
1559
+ flex-direction: column;
1560
+ }
1561
+
1562
+ .stack-vertical {
1563
+ flex-direction: column;
1564
+ }
1565
+
1566
+ .stack-horizontal {
1567
+ flex-direction: row;
1568
+ }
1569
+
1570
+ .stack-gap-0 {
1571
+ gap: 0;
1572
+ }
1573
+
1574
+ .stack-gap-xs {
1575
+ gap: var(--spacing-xs);
1576
+ }
1577
+
1578
+ .stack-gap-sm {
1579
+ gap: var(--spacing-sm);
1580
+ }
1581
+
1582
+ .stack-gap-md {
1583
+ gap: var(--spacing-md);
1584
+ }
1585
+
1586
+ .stack-gap-lg {
1587
+ gap: var(--spacing-lg);
1588
+ }
1589
+
1590
+ .stack-gap-xl {
1591
+ gap: var(--spacing-xl);
1592
+ }
1593
+
1594
+ .stack-align-start {
1595
+ align-items: flex-start;
1596
+ }
1597
+
1598
+ .stack-align-center {
1599
+ align-items: center;
1600
+ }
1601
+
1602
+ .stack-align-end {
1603
+ align-items: flex-end;
1604
+ }
1605
+
1606
+ .stack-align-stretch {
1607
+ align-items: stretch;
1608
+ }
1609
+
1610
+ .stack-justify-start {
1611
+ justify-content: flex-start;
1612
+ }
1613
+
1614
+ .stack-justify-center {
1615
+ justify-content: center;
1616
+ }
1617
+
1618
+ .stack-justify-end {
1619
+ justify-content: flex-end;
1620
+ }
1621
+
1622
+ .stack-justify-between {
1623
+ justify-content: space-between;
1624
+ }
1625
+
1626
+ .stack-wrap {
1627
+ flex-wrap: wrap;
1628
+ }
1629
+
1630
+ .stack-nowrap {
1631
+ flex-wrap: nowrap;
1632
+ }
1633
+
1634
+ /**
1635
+ * Cluster Component Styles
1636
+ *
1637
+ * Utility classes for the Cluster layout primitive.
1638
+ * Provides wrapping flex layout for inline groups (tags, badges, buttons).
1639
+ * All spacing values use the unified spacing scale from globals.
1640
+ * All units are in rem (1rem = 16px base).
1641
+ */
1642
+ .cluster {
1643
+ display: flex;
1644
+ flex-wrap: wrap;
1645
+ gap: var(--spacing-sm);
1646
+ }
1647
+
1648
+ .cluster-gap-0 {
1649
+ gap: 0;
1650
+ }
1651
+
1652
+ .cluster-gap-xs {
1653
+ gap: var(--spacing-xs);
1654
+ }
1655
+
1656
+ .cluster-gap-sm {
1657
+ gap: var(--spacing-sm);
1658
+ }
1659
+
1660
+ .cluster-gap-md {
1661
+ gap: var(--spacing-md);
1662
+ }
1663
+
1664
+ .cluster-gap-lg {
1665
+ gap: var(--spacing-lg);
1666
+ }
1667
+
1668
+ .cluster-gap-xl {
1669
+ gap: var(--spacing-xl);
1670
+ }
1671
+
1672
+ .cluster-justify-start {
1673
+ justify-content: flex-start;
1674
+ }
1675
+
1676
+ .cluster-justify-center {
1677
+ justify-content: center;
1678
+ }
1679
+
1680
+ .cluster-justify-end {
1681
+ justify-content: flex-end;
1682
+ }
1683
+
1684
+ .cluster-justify-between {
1685
+ justify-content: space-between;
1686
+ }
1687
+
1688
+ .cluster-align-start {
1689
+ align-items: flex-start;
1690
+ }
1691
+
1692
+ .cluster-align-center {
1693
+ align-items: center;
1694
+ }
1695
+
1696
+ .cluster-align-end {
1697
+ align-items: flex-end;
1698
+ }
1699
+
1700
+ .cluster-align-baseline {
1701
+ align-items: baseline;
1702
+ }
1703
+
1704
+ /**
1705
+ * Grid Component Styles
1706
+ *
1707
+ * Utility classes for the Grid layout primitive and Grid.Item sub-component.
1708
+ * Provides CSS Grid-based layouts with responsive columns, gap spacing, and alignment.
1709
+ * All spacing values use the unified spacing scale from globals.
1710
+ * All units are in rem (1rem = 16px base).
1711
+ */
1712
+ .grid {
1713
+ display: grid;
1714
+ gap: var(--spacing-md);
1715
+ }
1716
+
1717
+ .grid-cols-1 {
1718
+ grid-template-columns: repeat(1, 1fr);
1719
+ }
1720
+
1721
+ .grid-cols-2 {
1722
+ grid-template-columns: repeat(2, 1fr);
1723
+ }
1724
+
1725
+ .grid-cols-3 {
1726
+ grid-template-columns: repeat(3, 1fr);
1727
+ }
1728
+
1729
+ .grid-cols-4 {
1730
+ grid-template-columns: repeat(4, 1fr);
1731
+ }
1732
+
1733
+ .grid-cols-5 {
1734
+ grid-template-columns: repeat(5, 1fr);
1735
+ }
1736
+
1737
+ .grid-cols-6 {
1738
+ grid-template-columns: repeat(6, 1fr);
1739
+ }
1740
+
1741
+ .grid-cols-7 {
1742
+ grid-template-columns: repeat(7, 1fr);
1743
+ }
1744
+
1745
+ .grid-cols-8 {
1746
+ grid-template-columns: repeat(8, 1fr);
1747
+ }
1748
+
1749
+ .grid-cols-9 {
1750
+ grid-template-columns: repeat(9, 1fr);
1751
+ }
1752
+
1753
+ .grid-cols-10 {
1754
+ grid-template-columns: repeat(10, 1fr);
1755
+ }
1756
+
1757
+ .grid-cols-11 {
1758
+ grid-template-columns: repeat(11, 1fr);
1759
+ }
1760
+
1761
+ .grid-cols-12 {
1762
+ grid-template-columns: repeat(12, 1fr);
1763
+ }
1764
+
1765
+ .grid-gap-0 {
1766
+ gap: 0;
1767
+ }
1768
+
1769
+ .grid-gap-xs {
1770
+ gap: var(--spacing-xs);
1771
+ }
1772
+
1773
+ .grid-gap-sm {
1774
+ gap: var(--spacing-sm);
1775
+ }
1776
+
1777
+ .grid-gap-md {
1778
+ gap: var(--spacing-md);
1779
+ }
1780
+
1781
+ .grid-gap-lg {
1782
+ gap: var(--spacing-lg);
1783
+ }
1784
+
1785
+ .grid-gap-xl {
1786
+ gap: var(--spacing-xl);
1787
+ }
1788
+
1789
+ .grid-gap-x-0 {
1790
+ column-gap: 0;
1791
+ }
1792
+
1793
+ .grid-gap-x-xs {
1794
+ column-gap: var(--spacing-xs);
1795
+ }
1796
+
1797
+ .grid-gap-x-sm {
1798
+ column-gap: var(--spacing-sm);
1799
+ }
1800
+
1801
+ .grid-gap-x-md {
1802
+ column-gap: var(--spacing-md);
1803
+ }
1804
+
1805
+ .grid-gap-x-lg {
1806
+ column-gap: var(--spacing-lg);
1807
+ }
1808
+
1809
+ .grid-gap-x-xl {
1810
+ column-gap: var(--spacing-xl);
1811
+ }
1812
+
1813
+ .grid-gap-y-0 {
1814
+ row-gap: 0;
1815
+ }
1816
+
1817
+ .grid-gap-y-xs {
1818
+ row-gap: var(--spacing-xs);
1819
+ }
1820
+
1821
+ .grid-gap-y-sm {
1822
+ row-gap: var(--spacing-sm);
1823
+ }
1824
+
1825
+ .grid-gap-y-md {
1826
+ row-gap: var(--spacing-md);
1827
+ }
1828
+
1829
+ .grid-gap-y-lg {
1830
+ row-gap: var(--spacing-lg);
1831
+ }
1832
+
1833
+ .grid-gap-y-xl {
1834
+ row-gap: var(--spacing-xl);
1835
+ }
1836
+
1837
+ .grid-justify-items-start {
1838
+ justify-items: start;
1839
+ }
1840
+
1841
+ .grid-justify-items-center {
1842
+ justify-items: center;
1843
+ }
1844
+
1845
+ .grid-justify-items-end {
1846
+ justify-items: end;
1847
+ }
1848
+
1849
+ .grid-justify-items-stretch {
1850
+ justify-items: stretch;
1851
+ }
1852
+
1853
+ .grid-align-items-start {
1854
+ align-items: start;
1855
+ }
1856
+
1857
+ .grid-align-items-center {
1858
+ align-items: center;
1859
+ }
1860
+
1861
+ .grid-align-items-end {
1862
+ align-items: end;
1863
+ }
1864
+
1865
+ .grid-align-items-stretch {
1866
+ align-items: stretch;
1867
+ }
1868
+
1869
+ .grid-col-span-1 {
1870
+ grid-column: span 1;
1871
+ }
1872
+
1873
+ .grid-col-span-2 {
1874
+ grid-column: span 2;
1875
+ }
1876
+
1877
+ .grid-col-span-3 {
1878
+ grid-column: span 3;
1879
+ }
1880
+
1881
+ .grid-col-span-4 {
1882
+ grid-column: span 4;
1883
+ }
1884
+
1885
+ .grid-col-span-5 {
1886
+ grid-column: span 5;
1887
+ }
1888
+
1889
+ .grid-col-span-6 {
1890
+ grid-column: span 6;
1891
+ }
1892
+
1893
+ .grid-col-span-7 {
1894
+ grid-column: span 7;
1895
+ }
1896
+
1897
+ .grid-col-span-8 {
1898
+ grid-column: span 8;
1899
+ }
1900
+
1901
+ .grid-col-span-9 {
1902
+ grid-column: span 9;
1903
+ }
1904
+
1905
+ .grid-col-span-10 {
1906
+ grid-column: span 10;
1907
+ }
1908
+
1909
+ .grid-col-span-11 {
1910
+ grid-column: span 11;
1911
+ }
1912
+
1913
+ .grid-col-span-12 {
1914
+ grid-column: span 12;
1915
+ }
1916
+
1917
+ .grid-row-span-1 {
1918
+ grid-row: span 1;
1919
+ }
1920
+
1921
+ .grid-row-span-2 {
1922
+ grid-row: span 2;
1923
+ }
1924
+
1925
+ .grid-row-span-3 {
1926
+ grid-row: span 3;
1927
+ }
1928
+
1929
+ .grid-row-span-4 {
1930
+ grid-row: span 4;
1931
+ }
1932
+
1933
+ .grid-row-span-5 {
1934
+ grid-row: span 5;
1935
+ }
1936
+
1937
+ .grid-row-span-6 {
1938
+ grid-row: span 6;
1939
+ }
1940
+
1322
1941
  :root {
1323
1942
  --dialog-min-width: max(20rem, 80%);
1324
1943
  --dialog-gap: 0.625rem;