@fpkit/acss 3.1.1 → 3.2.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 (202) 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-IWP4VJEP.cjs +18 -0
  19. package/libs/chunk-IWP4VJEP.cjs.map +1 -0
  20. package/libs/{chunk-ZFJ4U45S.js → chunk-KDMX3FAW.js} +2 -2
  21. package/libs/{chunk-DYFAUAB7.cjs → chunk-LXODKKA3.cjs} +4 -4
  22. package/libs/{chunk-MPTMPBFT.js → chunk-M7JLT62Q.js} +2 -2
  23. package/libs/{chunk-IQ76HGVP.js → chunk-MBWI67UT.js} +2 -2
  24. package/libs/{chunk-O5XAJ7BY.cjs → chunk-NCGVF2QS.cjs} +4 -4
  25. package/libs/{chunk-W2UIN7EV.cjs → chunk-NPWHQVYB.cjs} +3 -3
  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-UGMP72J2.js +8 -0
  30. package/libs/chunk-UGMP72J2.js.map +1 -0
  31. package/libs/{chunk-EE3ZWSBY.cjs → chunk-URBGDUFN.cjs} +6 -6
  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 +29 -21
  114. package/src/components/cards/card.tsx +13 -3
  115. package/src/components/cards/card.types.ts +13 -0
  116. package/src/components/cluster/README.mdx +595 -0
  117. package/src/components/cluster/STYLES.mdx +626 -0
  118. package/src/components/cluster/cluster.scss +86 -0
  119. package/src/components/cluster/cluster.stories.tsx +385 -0
  120. package/src/components/cluster/cluster.test.tsx +655 -0
  121. package/src/components/cluster/cluster.tsx +94 -0
  122. package/src/components/cluster/cluster.types.ts +75 -0
  123. package/src/components/details/STYLES.mdx +445 -0
  124. package/src/components/dialog/STYLES.mdx +888 -0
  125. package/src/components/flexbox/STYLES.mdx +1 -1
  126. package/src/components/form/STYLES.mdx +821 -0
  127. package/src/components/grid/README.mdx +709 -0
  128. package/src/components/grid/STYLES.mdx +785 -0
  129. package/src/components/grid/grid.scss +287 -0
  130. package/src/components/grid/grid.stories.tsx +486 -0
  131. package/src/components/grid/grid.test.tsx +981 -0
  132. package/src/components/grid/grid.tsx +222 -0
  133. package/src/components/grid/grid.types.ts +344 -0
  134. package/src/components/icons/STYLES.mdx +56 -0
  135. package/src/components/images/STYLES.mdx +75 -0
  136. package/src/components/layout/STYLES.mdx +556 -0
  137. package/src/components/link/STYLES.mdx +75 -0
  138. package/src/components/list/STYLES.mdx +631 -0
  139. package/src/components/nav/STYLES.mdx +460 -0
  140. package/src/components/progress/STYLES.mdx +64 -0
  141. package/src/components/stack/README.mdx +400 -0
  142. package/src/components/stack/STYLES.mdx +414 -0
  143. package/src/components/stack/stack.scss +109 -0
  144. package/src/components/stack/stack.stories.tsx +559 -0
  145. package/src/components/stack/stack.test.tsx +426 -0
  146. package/src/components/stack/stack.tsx +141 -0
  147. package/src/components/stack/stack.types.ts +133 -0
  148. package/src/components/tag/STYLES.mdx +105 -0
  149. package/src/components/text-to-speech/STYLES.mdx +80 -0
  150. package/src/components/ui.tsx +3 -3
  151. package/src/index.scss +5 -1
  152. package/src/index.ts +305 -12
  153. package/src/sass/GLOBALS-STYLES.md +631 -0
  154. package/src/sass/_globals.scss +45 -24
  155. package/src/styles/box/box.css +220 -0
  156. package/src/styles/box/box.css.map +1 -0
  157. package/src/styles/cards/card.css +22 -17
  158. package/src/styles/cards/card.css.map +1 -1
  159. package/src/styles/cluster/cluster.css +71 -0
  160. package/src/styles/cluster/cluster.css.map +1 -0
  161. package/src/styles/grid/grid.css +238 -0
  162. package/src/styles/grid/grid.css.map +1 -0
  163. package/src/styles/index.css +667 -49
  164. package/src/styles/index.css.map +1 -1
  165. package/src/styles/stack/stack.css +86 -0
  166. package/src/styles/stack/stack.css.map +1 -0
  167. package/src/types/component-props.ts +42 -14
  168. package/src/types/layout-primitives.ts +48 -0
  169. package/src/types/shared.ts +10 -26
  170. package/libs/chunk-ENTCUJ3A.cjs +0 -13
  171. package/libs/chunk-ENTCUJ3A.cjs.map +0 -1
  172. package/libs/chunk-HHLNOC5T.js +0 -7
  173. package/libs/chunk-HHLNOC5T.js.map +0 -1
  174. package/libs/chunk-KK47SYZI.js +0 -8
  175. package/libs/chunk-KK47SYZI.js.map +0 -1
  176. package/libs/chunk-W5TKWBFC.cjs +0 -18
  177. package/libs/chunk-W5TKWBFC.cjs.map +0 -1
  178. package/libs/component-props-67d978a2.d.ts +0 -38
  179. /package/libs/{chunk-2NRIP6RB.cjs.map → chunk-2C3YLBWP.cjs.map} +0 -0
  180. /package/libs/{chunk-NWJDAHP6.cjs.map → chunk-2GJHKWEK.cjs.map} +0 -0
  181. /package/libs/{chunk-FVROL3V5.js.map → chunk-2JCDEC32.js.map} +0 -0
  182. /package/libs/{chunk-IRLFZ3OL.js.map → chunk-3XJC4XUG.js.map} +0 -0
  183. /package/libs/{chunk-L6PRDL6F.cjs.map → chunk-5CJPTDK3.cjs.map} +0 -0
  184. /package/libs/{chunk-E4OSROCA.cjs.map → chunk-5QSNJQVH.cjs.map} +0 -0
  185. /package/libs/{chunk-O3JIHC5M.cjs.map → chunk-6BUJZ4DJ.cjs.map} +0 -0
  186. /package/libs/{chunk-WXBFBWYF.cjs.map → chunk-AFINOD2L.cjs.map} +0 -0
  187. /package/libs/{chunk-HRRHPLER.js.map → chunk-AWZLSWDO.js.map} +0 -0
  188. /package/libs/{chunk-CWRNJA4P.js.map → chunk-DIJBIOFE.js.map} +0 -0
  189. /package/libs/{chunk-GUJSMQ3V.cjs.map → chunk-EKJYOCLY.cjs.map} +0 -0
  190. /package/libs/{chunk-X5RKCLDC.cjs.map → chunk-F64GE6RG.cjs.map} +0 -0
  191. /package/libs/{chunk-5RAWNUVD.js.map → chunk-IBUTNPTQ.js.map} +0 -0
  192. /package/libs/{chunk-ZFJ4U45S.js.map → chunk-KDMX3FAW.js.map} +0 -0
  193. /package/libs/{chunk-DYFAUAB7.cjs.map → chunk-LXODKKA3.cjs.map} +0 -0
  194. /package/libs/{chunk-MPTMPBFT.js.map → chunk-M7JLT62Q.js.map} +0 -0
  195. /package/libs/{chunk-IQ76HGVP.js.map → chunk-MBWI67UT.js.map} +0 -0
  196. /package/libs/{chunk-O5XAJ7BY.cjs.map → chunk-NCGVF2QS.cjs.map} +0 -0
  197. /package/libs/{chunk-W2UIN7EV.cjs.map → chunk-NPWHQVYB.cjs.map} +0 -0
  198. /package/libs/{chunk-43TK2ICH.js.map → chunk-PMWL5XZ4.js.map} +0 -0
  199. /package/libs/{chunk-KVKQLRJG.js.map → chunk-TF3GQKOY.js.map} +0 -0
  200. /package/libs/{chunk-IEB64SWY.js.map → chunk-U5VA34SU.js.map} +0 -0
  201. /package/libs/{chunk-EE3ZWSBY.cjs.map → chunk-URBGDUFN.cjs.map} +0 -0
  202. /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,26 +805,27 @@ 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);
828
831
  background-color: var(--card-bg);
@@ -863,7 +866,7 @@ figure:has(img[alt]) > figcaption {
863
866
  [data-component~=card] > [data-card-header] {
864
867
  padding: var(--card-header-padding);
865
868
  background-color: var(--card-header-bg);
866
- border-bottom: var(--card-header-border-bottom);
869
+ border-bottom: var(--card-header-border-bottom-width) var(--card-header-border-bottom-style) var(--card-header-border-bottom-color);
867
870
  border-radius: var(--card-radius) var(--card-radius) 0 0;
868
871
  }
869
872
  [data-card] > [data-card-body],
@@ -877,20 +880,24 @@ figure:has(img[alt]) > figcaption {
877
880
  [data-component~=card] > [data-card-footer] {
878
881
  padding: var(--card-footer-padding);
879
882
  background-color: var(--card-footer-bg);
880
- border-top: var(--card-footer-border-top);
883
+ border-top: var(--card-footer-border-top-width) var(--card-footer-border-top-style) var(--card-footer-border-top-color);
881
884
  border-radius: 0 0 var(--card-radius) var(--card-radius);
882
885
  }
883
886
 
884
887
  [data-card=interactive] {
888
+ --card-transition-duration: 0.2s;
889
+ --card-transition-timing: ease;
890
+ --card-hover-lift: -0.125rem;
891
+ --card-hover-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.15);
885
892
  cursor: pointer;
886
- transition: box-shadow 0.2s ease, transform 0.2s ease;
893
+ transition: box-shadow var(--card-transition-duration) var(--card-transition-timing), transform var(--card-transition-duration) var(--card-transition-timing);
887
894
  }
888
895
  [data-card=interactive]:hover {
889
- transform: translateY(-2px);
890
- box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.15);
896
+ transform: translateY(var(--card-hover-lift));
897
+ box-shadow: var(--card-hover-shadow);
891
898
  }
892
899
  [data-card=interactive]:focus-visible {
893
- outline: 0.125rem solid var(--focus-color, #0066CC);
900
+ outline: 0.125rem solid var(--color-focus, #0066cc);
894
901
  outline-offset: 0.125rem;
895
902
  }
896
903
  [data-card=interactive]:focus:not(:focus-visible) {
@@ -1319,6 +1326,617 @@ footer > div {
1319
1326
  text-align: center;
1320
1327
  }
1321
1328
 
1329
+ /**
1330
+ * Box Component Styles
1331
+ *
1332
+ * Utility classes for the Box layout primitive.
1333
+ * All spacing values use the unified spacing scale from globals.
1334
+ * All units are in rem (1rem = 16px base).
1335
+ */
1336
+ .box-padding-0 {
1337
+ padding: 0;
1338
+ }
1339
+
1340
+ .box-padding-xs {
1341
+ padding: var(--spacing-xs);
1342
+ }
1343
+
1344
+ .box-padding-sm {
1345
+ padding: var(--spacing-sm);
1346
+ }
1347
+
1348
+ .box-padding-md {
1349
+ padding: var(--spacing-md);
1350
+ }
1351
+
1352
+ .box-padding-lg {
1353
+ padding: var(--spacing-lg);
1354
+ }
1355
+
1356
+ .box-padding-xl {
1357
+ padding: var(--spacing-xl);
1358
+ }
1359
+
1360
+ .box-padding-inline-0 {
1361
+ padding-inline: 0;
1362
+ }
1363
+
1364
+ .box-padding-inline-xs {
1365
+ padding-inline: var(--spacing-xs);
1366
+ }
1367
+
1368
+ .box-padding-inline-sm {
1369
+ padding-inline: var(--spacing-sm);
1370
+ }
1371
+
1372
+ .box-padding-inline-md {
1373
+ padding-inline: var(--spacing-md);
1374
+ }
1375
+
1376
+ .box-padding-inline-lg {
1377
+ padding-inline: var(--spacing-lg);
1378
+ }
1379
+
1380
+ .box-padding-inline-xl {
1381
+ padding-inline: var(--spacing-xl);
1382
+ }
1383
+
1384
+ .box-padding-block-0 {
1385
+ padding-block: 0;
1386
+ }
1387
+
1388
+ .box-padding-block-xs {
1389
+ padding-block: var(--spacing-xs);
1390
+ }
1391
+
1392
+ .box-padding-block-sm {
1393
+ padding-block: var(--spacing-sm);
1394
+ }
1395
+
1396
+ .box-padding-block-md {
1397
+ padding-block: var(--spacing-md);
1398
+ }
1399
+
1400
+ .box-padding-block-lg {
1401
+ padding-block: var(--spacing-lg);
1402
+ }
1403
+
1404
+ .box-padding-block-xl {
1405
+ padding-block: var(--spacing-xl);
1406
+ }
1407
+
1408
+ .box-margin-0 {
1409
+ margin: 0;
1410
+ }
1411
+
1412
+ .box-margin-xs {
1413
+ margin: var(--spacing-xs);
1414
+ }
1415
+
1416
+ .box-margin-sm {
1417
+ margin: var(--spacing-sm);
1418
+ }
1419
+
1420
+ .box-margin-md {
1421
+ margin: var(--spacing-md);
1422
+ }
1423
+
1424
+ .box-margin-lg {
1425
+ margin: var(--spacing-lg);
1426
+ }
1427
+
1428
+ .box-margin-xl {
1429
+ margin: var(--spacing-xl);
1430
+ }
1431
+
1432
+ .box-margin-inline-0 {
1433
+ margin-inline: 0;
1434
+ }
1435
+
1436
+ .box-margin-inline-xs {
1437
+ margin-inline: var(--spacing-xs);
1438
+ }
1439
+
1440
+ .box-margin-inline-sm {
1441
+ margin-inline: var(--spacing-sm);
1442
+ }
1443
+
1444
+ .box-margin-inline-md {
1445
+ margin-inline: var(--spacing-md);
1446
+ }
1447
+
1448
+ .box-margin-inline-lg {
1449
+ margin-inline: var(--spacing-lg);
1450
+ }
1451
+
1452
+ .box-margin-inline-xl {
1453
+ margin-inline: var(--spacing-xl);
1454
+ }
1455
+
1456
+ .box-margin-block-0 {
1457
+ margin-block: 0;
1458
+ }
1459
+
1460
+ .box-margin-block-xs {
1461
+ margin-block: var(--spacing-xs);
1462
+ }
1463
+
1464
+ .box-margin-block-sm {
1465
+ margin-block: var(--spacing-sm);
1466
+ }
1467
+
1468
+ .box-margin-block-md {
1469
+ margin-block: var(--spacing-md);
1470
+ }
1471
+
1472
+ .box-margin-block-lg {
1473
+ margin-block: var(--spacing-lg);
1474
+ }
1475
+
1476
+ .box-margin-block-xl {
1477
+ margin-block: var(--spacing-xl);
1478
+ }
1479
+
1480
+ .box-width-auto {
1481
+ width: auto;
1482
+ }
1483
+
1484
+ .box-width-full {
1485
+ width: 100%;
1486
+ }
1487
+
1488
+ .box-width-fit {
1489
+ width: fit-content;
1490
+ }
1491
+
1492
+ .box-width-max {
1493
+ width: max-content;
1494
+ }
1495
+
1496
+ .box-max-width-xs {
1497
+ max-width: var(--box-max-width-xs);
1498
+ }
1499
+
1500
+ .box-max-width-sm {
1501
+ max-width: var(--box-max-width-sm);
1502
+ }
1503
+
1504
+ .box-max-width-md {
1505
+ max-width: var(--box-max-width-md);
1506
+ }
1507
+
1508
+ .box-max-width-lg {
1509
+ max-width: var(--box-max-width-lg);
1510
+ }
1511
+
1512
+ .box-max-width-xl {
1513
+ max-width: var(--box-max-width-xl);
1514
+ }
1515
+
1516
+ .box-max-width-container {
1517
+ max-width: var(--box-max-width-container);
1518
+ }
1519
+
1520
+ .box-radius-0 {
1521
+ border-radius: 0;
1522
+ }
1523
+
1524
+ .box-radius-xs {
1525
+ border-radius: var(--box-radius-xs);
1526
+ }
1527
+
1528
+ .box-radius-sm {
1529
+ border-radius: var(--box-radius-sm);
1530
+ }
1531
+
1532
+ .box-radius-md {
1533
+ border-radius: var(--box-radius-md);
1534
+ }
1535
+
1536
+ .box-radius-lg {
1537
+ border-radius: var(--box-radius-lg);
1538
+ }
1539
+
1540
+ .box-radius-xl {
1541
+ border-radius: var(--box-radius-xl);
1542
+ }
1543
+
1544
+ .box-radius-full {
1545
+ border-radius: var(--box-radius-full);
1546
+ }
1547
+
1548
+ /**
1549
+ * Stack Component Styles
1550
+ *
1551
+ * Utility classes for the Stack layout primitive.
1552
+ * Provides flexbox-based vertical/horizontal layouts with gap spacing.
1553
+ * All spacing values use the unified spacing scale from globals.
1554
+ * All units are in rem (1rem = 16px base).
1555
+ */
1556
+ .stack {
1557
+ display: flex;
1558
+ flex-direction: column;
1559
+ }
1560
+
1561
+ .stack-vertical {
1562
+ flex-direction: column;
1563
+ }
1564
+
1565
+ .stack-horizontal {
1566
+ flex-direction: row;
1567
+ }
1568
+
1569
+ .stack-gap-0 {
1570
+ gap: 0;
1571
+ }
1572
+
1573
+ .stack-gap-xs {
1574
+ gap: var(--spacing-xs);
1575
+ }
1576
+
1577
+ .stack-gap-sm {
1578
+ gap: var(--spacing-sm);
1579
+ }
1580
+
1581
+ .stack-gap-md {
1582
+ gap: var(--spacing-md);
1583
+ }
1584
+
1585
+ .stack-gap-lg {
1586
+ gap: var(--spacing-lg);
1587
+ }
1588
+
1589
+ .stack-gap-xl {
1590
+ gap: var(--spacing-xl);
1591
+ }
1592
+
1593
+ .stack-align-start {
1594
+ align-items: flex-start;
1595
+ }
1596
+
1597
+ .stack-align-center {
1598
+ align-items: center;
1599
+ }
1600
+
1601
+ .stack-align-end {
1602
+ align-items: flex-end;
1603
+ }
1604
+
1605
+ .stack-align-stretch {
1606
+ align-items: stretch;
1607
+ }
1608
+
1609
+ .stack-justify-start {
1610
+ justify-content: flex-start;
1611
+ }
1612
+
1613
+ .stack-justify-center {
1614
+ justify-content: center;
1615
+ }
1616
+
1617
+ .stack-justify-end {
1618
+ justify-content: flex-end;
1619
+ }
1620
+
1621
+ .stack-justify-between {
1622
+ justify-content: space-between;
1623
+ }
1624
+
1625
+ .stack-wrap {
1626
+ flex-wrap: wrap;
1627
+ }
1628
+
1629
+ .stack-nowrap {
1630
+ flex-wrap: nowrap;
1631
+ }
1632
+
1633
+ /**
1634
+ * Cluster Component Styles
1635
+ *
1636
+ * Utility classes for the Cluster layout primitive.
1637
+ * Provides wrapping flex layout for inline groups (tags, badges, buttons).
1638
+ * All spacing values use the unified spacing scale from globals.
1639
+ * All units are in rem (1rem = 16px base).
1640
+ */
1641
+ .cluster {
1642
+ display: flex;
1643
+ flex-wrap: wrap;
1644
+ gap: var(--spacing-sm);
1645
+ }
1646
+
1647
+ .cluster-gap-0 {
1648
+ gap: 0;
1649
+ }
1650
+
1651
+ .cluster-gap-xs {
1652
+ gap: var(--spacing-xs);
1653
+ }
1654
+
1655
+ .cluster-gap-sm {
1656
+ gap: var(--spacing-sm);
1657
+ }
1658
+
1659
+ .cluster-gap-md {
1660
+ gap: var(--spacing-md);
1661
+ }
1662
+
1663
+ .cluster-gap-lg {
1664
+ gap: var(--spacing-lg);
1665
+ }
1666
+
1667
+ .cluster-gap-xl {
1668
+ gap: var(--spacing-xl);
1669
+ }
1670
+
1671
+ .cluster-justify-start {
1672
+ justify-content: flex-start;
1673
+ }
1674
+
1675
+ .cluster-justify-center {
1676
+ justify-content: center;
1677
+ }
1678
+
1679
+ .cluster-justify-end {
1680
+ justify-content: flex-end;
1681
+ }
1682
+
1683
+ .cluster-justify-between {
1684
+ justify-content: space-between;
1685
+ }
1686
+
1687
+ .cluster-align-start {
1688
+ align-items: flex-start;
1689
+ }
1690
+
1691
+ .cluster-align-center {
1692
+ align-items: center;
1693
+ }
1694
+
1695
+ .cluster-align-end {
1696
+ align-items: flex-end;
1697
+ }
1698
+
1699
+ .cluster-align-baseline {
1700
+ align-items: baseline;
1701
+ }
1702
+
1703
+ /**
1704
+ * Grid Component Styles
1705
+ *
1706
+ * Utility classes for the Grid layout primitive and Grid.Item sub-component.
1707
+ * Provides CSS Grid-based layouts with responsive columns, gap spacing, and alignment.
1708
+ * All spacing values use the unified spacing scale from globals.
1709
+ * All units are in rem (1rem = 16px base).
1710
+ */
1711
+ .grid {
1712
+ display: grid;
1713
+ gap: var(--spacing-md);
1714
+ }
1715
+
1716
+ .grid-cols-1 {
1717
+ grid-template-columns: repeat(1, 1fr);
1718
+ }
1719
+
1720
+ .grid-cols-2 {
1721
+ grid-template-columns: repeat(2, 1fr);
1722
+ }
1723
+
1724
+ .grid-cols-3 {
1725
+ grid-template-columns: repeat(3, 1fr);
1726
+ }
1727
+
1728
+ .grid-cols-4 {
1729
+ grid-template-columns: repeat(4, 1fr);
1730
+ }
1731
+
1732
+ .grid-cols-5 {
1733
+ grid-template-columns: repeat(5, 1fr);
1734
+ }
1735
+
1736
+ .grid-cols-6 {
1737
+ grid-template-columns: repeat(6, 1fr);
1738
+ }
1739
+
1740
+ .grid-cols-7 {
1741
+ grid-template-columns: repeat(7, 1fr);
1742
+ }
1743
+
1744
+ .grid-cols-8 {
1745
+ grid-template-columns: repeat(8, 1fr);
1746
+ }
1747
+
1748
+ .grid-cols-9 {
1749
+ grid-template-columns: repeat(9, 1fr);
1750
+ }
1751
+
1752
+ .grid-cols-10 {
1753
+ grid-template-columns: repeat(10, 1fr);
1754
+ }
1755
+
1756
+ .grid-cols-11 {
1757
+ grid-template-columns: repeat(11, 1fr);
1758
+ }
1759
+
1760
+ .grid-cols-12 {
1761
+ grid-template-columns: repeat(12, 1fr);
1762
+ }
1763
+
1764
+ .grid-gap-0 {
1765
+ gap: 0;
1766
+ }
1767
+
1768
+ .grid-gap-xs {
1769
+ gap: var(--spacing-xs);
1770
+ }
1771
+
1772
+ .grid-gap-sm {
1773
+ gap: var(--spacing-sm);
1774
+ }
1775
+
1776
+ .grid-gap-md {
1777
+ gap: var(--spacing-md);
1778
+ }
1779
+
1780
+ .grid-gap-lg {
1781
+ gap: var(--spacing-lg);
1782
+ }
1783
+
1784
+ .grid-gap-xl {
1785
+ gap: var(--spacing-xl);
1786
+ }
1787
+
1788
+ .grid-gap-x-0 {
1789
+ column-gap: 0;
1790
+ }
1791
+
1792
+ .grid-gap-x-xs {
1793
+ column-gap: var(--spacing-xs);
1794
+ }
1795
+
1796
+ .grid-gap-x-sm {
1797
+ column-gap: var(--spacing-sm);
1798
+ }
1799
+
1800
+ .grid-gap-x-md {
1801
+ column-gap: var(--spacing-md);
1802
+ }
1803
+
1804
+ .grid-gap-x-lg {
1805
+ column-gap: var(--spacing-lg);
1806
+ }
1807
+
1808
+ .grid-gap-x-xl {
1809
+ column-gap: var(--spacing-xl);
1810
+ }
1811
+
1812
+ .grid-gap-y-0 {
1813
+ row-gap: 0;
1814
+ }
1815
+
1816
+ .grid-gap-y-xs {
1817
+ row-gap: var(--spacing-xs);
1818
+ }
1819
+
1820
+ .grid-gap-y-sm {
1821
+ row-gap: var(--spacing-sm);
1822
+ }
1823
+
1824
+ .grid-gap-y-md {
1825
+ row-gap: var(--spacing-md);
1826
+ }
1827
+
1828
+ .grid-gap-y-lg {
1829
+ row-gap: var(--spacing-lg);
1830
+ }
1831
+
1832
+ .grid-gap-y-xl {
1833
+ row-gap: var(--spacing-xl);
1834
+ }
1835
+
1836
+ .grid-justify-items-start {
1837
+ justify-items: start;
1838
+ }
1839
+
1840
+ .grid-justify-items-center {
1841
+ justify-items: center;
1842
+ }
1843
+
1844
+ .grid-justify-items-end {
1845
+ justify-items: end;
1846
+ }
1847
+
1848
+ .grid-justify-items-stretch {
1849
+ justify-items: stretch;
1850
+ }
1851
+
1852
+ .grid-align-items-start {
1853
+ align-items: start;
1854
+ }
1855
+
1856
+ .grid-align-items-center {
1857
+ align-items: center;
1858
+ }
1859
+
1860
+ .grid-align-items-end {
1861
+ align-items: end;
1862
+ }
1863
+
1864
+ .grid-align-items-stretch {
1865
+ align-items: stretch;
1866
+ }
1867
+
1868
+ .grid-col-span-1 {
1869
+ grid-column: span 1;
1870
+ }
1871
+
1872
+ .grid-col-span-2 {
1873
+ grid-column: span 2;
1874
+ }
1875
+
1876
+ .grid-col-span-3 {
1877
+ grid-column: span 3;
1878
+ }
1879
+
1880
+ .grid-col-span-4 {
1881
+ grid-column: span 4;
1882
+ }
1883
+
1884
+ .grid-col-span-5 {
1885
+ grid-column: span 5;
1886
+ }
1887
+
1888
+ .grid-col-span-6 {
1889
+ grid-column: span 6;
1890
+ }
1891
+
1892
+ .grid-col-span-7 {
1893
+ grid-column: span 7;
1894
+ }
1895
+
1896
+ .grid-col-span-8 {
1897
+ grid-column: span 8;
1898
+ }
1899
+
1900
+ .grid-col-span-9 {
1901
+ grid-column: span 9;
1902
+ }
1903
+
1904
+ .grid-col-span-10 {
1905
+ grid-column: span 10;
1906
+ }
1907
+
1908
+ .grid-col-span-11 {
1909
+ grid-column: span 11;
1910
+ }
1911
+
1912
+ .grid-col-span-12 {
1913
+ grid-column: span 12;
1914
+ }
1915
+
1916
+ .grid-row-span-1 {
1917
+ grid-row: span 1;
1918
+ }
1919
+
1920
+ .grid-row-span-2 {
1921
+ grid-row: span 2;
1922
+ }
1923
+
1924
+ .grid-row-span-3 {
1925
+ grid-row: span 3;
1926
+ }
1927
+
1928
+ .grid-row-span-4 {
1929
+ grid-row: span 4;
1930
+ }
1931
+
1932
+ .grid-row-span-5 {
1933
+ grid-row: span 5;
1934
+ }
1935
+
1936
+ .grid-row-span-6 {
1937
+ grid-row: span 6;
1938
+ }
1939
+
1322
1940
  :root {
1323
1941
  --dialog-min-width: max(20rem, 80%);
1324
1942
  --dialog-gap: 0.625rem;