@etus/ui 0.4.0-beta.3 → 0.4.0-beta.5

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 (170) hide show
  1. package/dist/chunk-2HM5Z2YP.js +834 -0
  2. package/dist/chunk-2HM5Z2YP.js.map +1 -0
  3. package/dist/{chunk-LMTNDUIP.js → chunk-2Y7PQ6ZL.js} +4 -4
  4. package/dist/{chunk-LMTNDUIP.js.map → chunk-2Y7PQ6ZL.js.map} +1 -1
  5. package/dist/{chunk-SAKW2OKH.js → chunk-32IJQOUV.js} +15 -26
  6. package/dist/chunk-32IJQOUV.js.map +1 -0
  7. package/dist/{chunk-CXHA5D3I.js → chunk-33JGPMUW.js} +4 -4
  8. package/dist/{chunk-CXHA5D3I.js.map → chunk-33JGPMUW.js.map} +1 -1
  9. package/dist/{chunk-JLVL76SW.js → chunk-36XTKR3B.js} +4 -4
  10. package/dist/{chunk-JLVL76SW.js.map → chunk-36XTKR3B.js.map} +1 -1
  11. package/dist/{chunk-CUWQUGGB.js → chunk-4GQN76L7.js} +3 -3
  12. package/dist/{chunk-CUWQUGGB.js.map → chunk-4GQN76L7.js.map} +1 -1
  13. package/dist/{chunk-7BAL24EU.js → chunk-5XQIH6WM.js} +4 -4
  14. package/dist/{chunk-7BAL24EU.js.map → chunk-5XQIH6WM.js.map} +1 -1
  15. package/dist/chunk-5ZWFIDO2.js +3 -0
  16. package/dist/{chunk-NNOGFX66.js.map → chunk-5ZWFIDO2.js.map} +1 -1
  17. package/dist/{chunk-43SINRHH.js → chunk-AUCDXPWH.js} +5 -5
  18. package/dist/{chunk-43SINRHH.js.map → chunk-AUCDXPWH.js.map} +1 -1
  19. package/dist/{chunk-4HRQX2IA.js → chunk-AWYOWR5N.js} +3 -3
  20. package/dist/{chunk-4HRQX2IA.js.map → chunk-AWYOWR5N.js.map} +1 -1
  21. package/dist/{chunk-YTGYSNFR.js → chunk-B4ETIQOO.js} +4 -4
  22. package/dist/{chunk-YTGYSNFR.js.map → chunk-B4ETIQOO.js.map} +1 -1
  23. package/dist/{chunk-D5DM6GZB.js → chunk-D6TH3EGA.js} +12 -12
  24. package/dist/chunk-D6TH3EGA.js.map +1 -0
  25. package/dist/{chunk-ZJVZ3LQS.js → chunk-DDM2I5C6.js} +3 -3
  26. package/dist/{chunk-ZJVZ3LQS.js.map → chunk-DDM2I5C6.js.map} +1 -1
  27. package/dist/{chunk-3JIXCWJO.js → chunk-DDR24GOP.js} +3 -3
  28. package/dist/{chunk-3JIXCWJO.js.map → chunk-DDR24GOP.js.map} +1 -1
  29. package/dist/{chunk-GBTVAO4V.js → chunk-EGYWK2XX.js} +3 -3
  30. package/dist/{chunk-GBTVAO4V.js.map → chunk-EGYWK2XX.js.map} +1 -1
  31. package/dist/{chunk-CCUCWL6M.js → chunk-HT5XM6XK.js} +12 -7
  32. package/dist/chunk-HT5XM6XK.js.map +1 -0
  33. package/dist/{chunk-KNH7JW6E.js → chunk-IBVCSZCH.js} +3 -3
  34. package/dist/{chunk-KNH7JW6E.js.map → chunk-IBVCSZCH.js.map} +1 -1
  35. package/dist/{chunk-GLEKBJLR.js → chunk-ILAV2AZ4.js} +3 -3
  36. package/dist/{chunk-GLEKBJLR.js.map → chunk-ILAV2AZ4.js.map} +1 -1
  37. package/dist/{chunk-MDQFZEIC.js → chunk-J62TFQHR.js} +6 -6
  38. package/dist/chunk-J62TFQHR.js.map +1 -0
  39. package/dist/{chunk-AWWBBMMY.js → chunk-JKYB5QAP.js} +5 -5
  40. package/dist/{chunk-AWWBBMMY.js.map → chunk-JKYB5QAP.js.map} +1 -1
  41. package/dist/{chunk-UKC3Q6OA.js → chunk-JMZ4CO6R.js} +3 -3
  42. package/dist/{chunk-UKC3Q6OA.js.map → chunk-JMZ4CO6R.js.map} +1 -1
  43. package/dist/{chunk-VJITPUUS.js → chunk-JONTKXGK.js} +26 -24
  44. package/dist/chunk-JONTKXGK.js.map +1 -0
  45. package/dist/{chunk-POZNQWZE.js → chunk-KC6CHPT3.js} +4 -4
  46. package/dist/{chunk-POZNQWZE.js.map → chunk-KC6CHPT3.js.map} +1 -1
  47. package/dist/{chunk-4J6DHPYY.js → chunk-KPNNSUXM.js} +3 -3
  48. package/dist/{chunk-4J6DHPYY.js.map → chunk-KPNNSUXM.js.map} +1 -1
  49. package/dist/{chunk-RPV77BCQ.js → chunk-ONQCNOLU.js} +4 -9
  50. package/dist/chunk-ONQCNOLU.js.map +1 -0
  51. package/dist/{chunk-QSY52N3A.js → chunk-OWOVCGUZ.js} +3 -3
  52. package/dist/{chunk-QSY52N3A.js.map → chunk-OWOVCGUZ.js.map} +1 -1
  53. package/dist/{chunk-QWRHPNBY.js → chunk-QIETN4UU.js} +4 -4
  54. package/dist/{chunk-QWRHPNBY.js.map → chunk-QIETN4UU.js.map} +1 -1
  55. package/dist/{chunk-NWFRMVI2.js → chunk-QZWKXUZP.js} +3 -3
  56. package/dist/{chunk-NWFRMVI2.js.map → chunk-QZWKXUZP.js.map} +1 -1
  57. package/dist/{chunk-7QDWREVG.js → chunk-R4UOT76L.js} +3 -3
  58. package/dist/{chunk-7QDWREVG.js.map → chunk-R4UOT76L.js.map} +1 -1
  59. package/dist/{chunk-HIEOL77G.js → chunk-RVUO7SDG.js} +4 -4
  60. package/dist/{chunk-HIEOL77G.js.map → chunk-RVUO7SDG.js.map} +1 -1
  61. package/dist/{chunk-XPVKJIWY.js → chunk-SCGKQ5RE.js} +3 -3
  62. package/dist/{chunk-XPVKJIWY.js.map → chunk-SCGKQ5RE.js.map} +1 -1
  63. package/dist/{chunk-UCGT2IR4.js → chunk-SJSYKUCL.js} +3 -3
  64. package/dist/{chunk-UCGT2IR4.js.map → chunk-SJSYKUCL.js.map} +1 -1
  65. package/dist/{chunk-KOTCWE7V.js → chunk-TNROOKX3.js} +11 -4
  66. package/dist/chunk-TNROOKX3.js.map +1 -0
  67. package/dist/{chunk-PGTCXLGY.js → chunk-U6EOAIPK.js} +3 -3
  68. package/dist/chunk-U6EOAIPK.js.map +1 -0
  69. package/dist/{chunk-KXSJSLPJ.js → chunk-V7XHE25E.js} +4 -4
  70. package/dist/{chunk-KXSJSLPJ.js.map → chunk-V7XHE25E.js.map} +1 -1
  71. package/dist/{chunk-5ZKKXLPF.js → chunk-VPNFYQBL.js} +10 -15
  72. package/dist/chunk-VPNFYQBL.js.map +1 -0
  73. package/dist/{chunk-FUCQNVJL.js → chunk-XLTSCY22.js} +10 -7
  74. package/dist/chunk-XLTSCY22.js.map +1 -0
  75. package/dist/{chunk-K3J7YLL4.js → chunk-XOGMDABS.js} +5 -6
  76. package/dist/chunk-XOGMDABS.js.map +1 -0
  77. package/dist/{chunk-53RWD44Z.js → chunk-XRMKL43Y.js} +3 -3
  78. package/dist/{chunk-53RWD44Z.js.map → chunk-XRMKL43Y.js.map} +1 -1
  79. package/dist/{chunk-DZALMUQD.js → chunk-Y3BOERVB.js} +3 -3
  80. package/dist/{chunk-DZALMUQD.js.map → chunk-Y3BOERVB.js.map} +1 -1
  81. package/dist/{chunk-AV5YQ2Z4.js → chunk-Y7UFBSAD.js} +3 -3
  82. package/dist/{chunk-AV5YQ2Z4.js.map → chunk-Y7UFBSAD.js.map} +1 -1
  83. package/dist/{chunk-HNYBLROK.js → chunk-YP2ATSXP.js} +11 -28
  84. package/dist/chunk-YP2ATSXP.js.map +1 -0
  85. package/dist/{chunk-75QBUI2P.js → chunk-ZO2EKJZM.js} +16 -8
  86. package/dist/chunk-ZO2EKJZM.js.map +1 -0
  87. package/dist/{chunk-VOCA4KZB.js → chunk-ZS2WS5NJ.js} +4 -4
  88. package/dist/{chunk-VOCA4KZB.js.map → chunk-ZS2WS5NJ.js.map} +1 -1
  89. package/dist/components/advanced/Calendar/index.js +3 -3
  90. package/dist/components/advanced/EventCalendar/index.js +3 -3
  91. package/dist/components/advanced/FilterBuilder/index.js +3 -3
  92. package/dist/components/advanced/ReportBuilder/index.js +11 -0
  93. package/dist/components/advanced/ReportBuilder/index.js.map +1 -0
  94. package/dist/components/advanced/index.js +14 -10
  95. package/dist/components/data-display/Callout/index.js +1 -1
  96. package/dist/components/data-display/Carousel/index.js +3 -3
  97. package/dist/components/data-display/ChartCard/index.js +2 -2
  98. package/dist/components/data-display/DashboardFilterbar/index.js +5 -5
  99. package/dist/components/data-display/DataTable/FilterBuilder/index.js +3 -3
  100. package/dist/components/data-display/DataTable/index.js +5 -5
  101. package/dist/components/data-display/KPICard/index.js +3 -2
  102. package/dist/components/data-display/List/index.js +3 -3
  103. package/dist/components/data-display/SingleStat/index.js +1 -1
  104. package/dist/components/data-display/VirtualTable/index.js +2 -2
  105. package/dist/components/data-display/index.js +29 -29
  106. package/dist/components/feedback/AlertDialog/index.js +3 -3
  107. package/dist/components/feedback/ConfirmModal/index.js +4 -4
  108. package/dist/components/feedback/Notification/index.js +2 -2
  109. package/dist/components/feedback/index.js +8 -8
  110. package/dist/components/forms/DatePicker/index.js +4 -4
  111. package/dist/components/forms/DateRangePicker/index.js +4 -4
  112. package/dist/components/forms/Field/index.js +2 -2
  113. package/dist/components/forms/Form/index.js +2 -2
  114. package/dist/components/forms/InputGroup/index.js +4 -4
  115. package/dist/components/forms/InputOTPField/index.js +3 -3
  116. package/dist/components/forms/NativeSelect/index.js +1 -1
  117. package/dist/components/forms/TagsInput/index.js +2 -2
  118. package/dist/components/forms/Textarea/index.js +1 -1
  119. package/dist/components/forms/TextareaField/index.js +4 -4
  120. package/dist/components/forms/index.js +26 -26
  121. package/dist/components/index.js +105 -104
  122. package/dist/components/layout/index.js +3 -3
  123. package/dist/components/navigation/AccountSwitch/index.js +3 -3
  124. package/dist/components/navigation/Header/index.js +1 -1
  125. package/dist/components/navigation/MobileSidebar/index.js +2 -2
  126. package/dist/components/navigation/Pagination/index.js +3 -3
  127. package/dist/components/navigation/Sidebar/index.js +4 -4
  128. package/dist/components/navigation/index.js +10 -10
  129. package/dist/components/primitives/Avatar/index.js +1 -1
  130. package/dist/components/primitives/Badge/index.js +1 -1
  131. package/dist/components/primitives/Button/index.js +2 -2
  132. package/dist/components/primitives/ConfirmButton/index.js +4 -4
  133. package/dist/components/primitives/Label/index.js +1 -1
  134. package/dist/components/primitives/SplitButton/index.js +1 -1
  135. package/dist/components/primitives/index.js +17 -17
  136. package/dist/components/workflow/ApprovalFlow/index.js +4 -4
  137. package/dist/components/workflow/CommentSystem/index.js +5 -5
  138. package/dist/components/workflow/Dashboard/index.js +3 -3
  139. package/dist/components/workflow/DashboardBuilder/index.js +4 -4
  140. package/dist/components/workflow/KanbanBoard/index.js +4 -4
  141. package/dist/components/workflow/ReportGenerator/index.js +4 -4
  142. package/dist/components/workflow/Wizard/index.js +3 -3
  143. package/dist/components/workflow/index.js +15 -15
  144. package/dist/fonts/inter-OFL.txt +92 -0
  145. package/dist/fonts/inter-latin-400-normal.woff2 +0 -0
  146. package/dist/fonts/inter-latin-500-normal.woff2 +0 -0
  147. package/dist/fonts/inter-latin-600-normal.woff2 +0 -0
  148. package/dist/fonts/inter-latin-700-normal.woff2 +0 -0
  149. package/dist/fonts/jetbrains-mono-OFL.txt +93 -0
  150. package/dist/fonts/jetbrains-mono-latin-400-normal.woff2 +0 -0
  151. package/dist/fonts/jetbrains-mono-latin-500-normal.woff2 +0 -0
  152. package/dist/fonts/jetbrains-mono-latin-700-normal.woff2 +0 -0
  153. package/dist/index.d.ts +132 -33
  154. package/dist/index.js +105 -104
  155. package/dist/styles.css +291 -13
  156. package/package.json +2 -2
  157. package/dist/chunk-5ZKKXLPF.js.map +0 -1
  158. package/dist/chunk-75QBUI2P.js.map +0 -1
  159. package/dist/chunk-CCUCWL6M.js.map +0 -1
  160. package/dist/chunk-D5DM6GZB.js.map +0 -1
  161. package/dist/chunk-FUCQNVJL.js.map +0 -1
  162. package/dist/chunk-HNYBLROK.js.map +0 -1
  163. package/dist/chunk-K3J7YLL4.js.map +0 -1
  164. package/dist/chunk-KOTCWE7V.js.map +0 -1
  165. package/dist/chunk-MDQFZEIC.js.map +0 -1
  166. package/dist/chunk-NNOGFX66.js +0 -3
  167. package/dist/chunk-PGTCXLGY.js.map +0 -1
  168. package/dist/chunk-RPV77BCQ.js.map +0 -1
  169. package/dist/chunk-SAKW2OKH.js.map +0 -1
  170. package/dist/chunk-VJITPUUS.js.map +0 -1
package/dist/styles.css CHANGED
@@ -19,7 +19,7 @@
19
19
  --accordion-item-border-width: 1px;
20
20
  --accordion-item-padding-x: 16px;
21
21
  --accordion-item-radius: 0.5rem;
22
- --accordion-root-gap: 8px;
22
+ --accordion-root-gap: 16px;
23
23
  --accordion-trigger-gap: 16px;
24
24
  --accordion-trigger-padding-y-lg: 24px;
25
25
  --accordion-trigger-padding-y-md: 16px;
@@ -508,6 +508,33 @@
508
508
  --chart-3: oklch(62.31% 0.1880 259.81);
509
509
  --chart-4: oklch(86.06% 0.1731 91.94);
510
510
  --chart-5: oklch(63.68% 0.2078 25.33);
511
+ --chart-card-bg: oklch(100.00% 0.0000 0);
512
+ --chart-card-border: oklch(92.19% 0.0000 0);
513
+ --chart-card-chart-height: 8rem;
514
+ --chart-card-empty-state-caption-color: oklch(55.55% 0.0000 0);
515
+ --chart-card-empty-state-caption-line-height: 24px;
516
+ --chart-card-empty-state-caption-size: 16px;
517
+ --chart-card-empty-state-icon-radius: 12px;
518
+ --chart-card-empty-state-title-color: oklch(20.46% 0.0000 0);
519
+ --chart-card-empty-state-title-line-height: 32px;
520
+ --chart-card-empty-state-title-size: 24px;
521
+ --chart-card-empty-state-title-weight: 700;
522
+ --chart-card-featured-icon-bg: oklch(97.02% 0.0000 0);
523
+ --chart-card-fg: oklch(14.48% 0.0000 0);
524
+ --chart-card-footer-caption-color: oklch(55.55% 0.0000 0);
525
+ --chart-card-footer-trend-color: oklch(14.48% 0.0000 0);
526
+ --chart-card-gap: 24px;
527
+ --chart-card-padding-bottom: 24px;
528
+ --chart-card-padding-top: 20px;
529
+ --chart-card-padding-x: 24px;
530
+ --chart-card-previous-color: oklch(55.55% 0.0000 0);
531
+ --chart-card-radius: 16px;
532
+ --chart-card-title-color: oklch(20.46% 0.0000 0);
533
+ --chart-card-title-line-height: 24px;
534
+ --chart-card-title-size: 18px;
535
+ --chart-card-title-weight: 600;
536
+ --chart-card-value-color: oklch(14.48% 0.0000 0);
537
+ --chart-card-value-size: 20px;
511
538
  --chart-indicator-dot-size: 10px;
512
539
  --chart-indicator-line-width: 4px;
513
540
  --chart-legend-gap: 16px;
@@ -776,7 +803,7 @@
776
803
  --date-picker-footer-gap: 8px;
777
804
  --date-picker-footer-padding: 12px;
778
805
  --date-picker-preset-item-height: 32px;
779
- --date-picker-preset-min-width: 140px;
806
+ --date-picker-preset-min-width: 168px;
780
807
  --date-picker-trigger-border-default: oklch(92.19% 0.0000 0);
781
808
  --date-picker-trigger-border-focus: oklch(81.75% 0.1821 159.79);
782
809
  --date-picker-trigger-disabled-bg: oklch(97.02% 0.0000 0);
@@ -797,7 +824,7 @@
797
824
  --date-picker-trigger-ring-width: 3px;
798
825
  --date-picker-trigger-text-lg: 16px;
799
826
  --date-picker-trigger-text-md: 14px;
800
- --date-picker-trigger-text-sm: 12px;
827
+ --date-picker-trigger-text-sm: 14px;
801
828
  --date-range-picker-calendar-gap: 16px;
802
829
  --date-range-picker-today-button-height: 28px;
803
830
  --date-range-picker-today-button-text-size: 0.75rem;
@@ -1169,10 +1196,12 @@
1169
1196
  --green-800: oklch(44.79% 0.1083 151.33);
1170
1197
  --green-900: oklch(39.25% 0.0896 152.54);
1171
1198
  --green-950: oklch(26.64% 0.0628 152.93);
1199
+ --header-content-height: 36px;
1200
+ --header-height: 64px;
1172
1201
  --header-root-bg: oklch(100.00% 0.0000 0);
1173
1202
  --header-root-border-color: oklch(92.19% 0.0000 0);
1174
- --header-root-padding-x: 16px;
1175
- --header-root-padding-y: 12px;
1203
+ --header-root-padding-x: 32px;
1204
+ --header-root-padding-y: 20px;
1176
1205
  --header-size-lg-height: 80px;
1177
1206
  --header-size-md-height: 64px;
1178
1207
  --header-size-sm-height: 48px;
@@ -1239,6 +1268,13 @@
1239
1268
  --ifta-label-wrapper-height: 60px;
1240
1269
  --ifta-label-wrapper-padding-bottom: 8px;
1241
1270
  --ifta-label-wrapper-padding-top: 24px;
1271
+ --image-gallery-empty-border-color: oklch(97.02% 0.0000 0);
1272
+ --image-gallery-empty-radius: 12px;
1273
+ --image-gallery-item-radius: 8px;
1274
+ --image-gallery-loading-background: oklch(97.02% 0.0000 0);
1275
+ --image-gallery-selection-opacity: 0.5;
1276
+ --image-gallery-selection-ring-color: oklch(81.75% 0.1821 159.79);
1277
+ --image-gallery-selection-ring-width: 2px;
1242
1278
  --image-rounded-circle: 9999px;
1243
1279
  --image-rounded-default: 0px;
1244
1280
  --image-rounded-rounded: 0.375rem;
@@ -1526,6 +1562,15 @@
1526
1562
  --modal-content-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
1527
1563
  --modal-footer-gap: 8px;
1528
1564
  --modal-header-gap: 8px;
1565
+ --modal-icon-pill-color-default-bg: oklch(97.02% 0.0000 0);
1566
+ --modal-icon-pill-color-default-fg: oklch(55.55% 0.0000 0);
1567
+ --modal-icon-pill-color-destructive-bg: oklch(97.05% 0.0129 17.38);
1568
+ --modal-icon-pill-color-destructive-fg: oklch(50.54% 0.1905 27.52);
1569
+ --modal-icon-pill-color-warning-bg: oklch(98.73% 0.0262 102.21);
1570
+ --modal-icon-pill-color-warning-fg: oklch(55.38% 0.1207 66.44);
1571
+ --modal-icon-pill-icon-size: 16px;
1572
+ --modal-icon-pill-padding: 8px;
1573
+ --modal-icon-pill-radius: 999px;
1529
1574
  --modal-overlay-bg: oklch(0.00% 0.0000 0 / 60.0%);
1530
1575
  --multiselect-content-bg: oklch(100.00% 0.0000 0);
1531
1576
  --multiselect-content-fg: oklch(20.46% 0.0000 0);
@@ -1627,9 +1672,8 @@
1627
1672
  --notification-dot-color-info: oklch(54.61% 0.2152 262.88);
1628
1673
  --notification-dot-color-success: oklch(62.71% 0.1699 149.21);
1629
1674
  --notification-dot-color-warning: oklch(86.06% 0.1731 91.94);
1630
- --notification-dot-left: 6px;
1675
+ --notification-dot-gap: 6px;
1631
1676
  --notification-dot-size: 8px;
1632
- --notification-dot-top: 16px;
1633
1677
  --notification-root-gap: 12px;
1634
1678
  --notification-root-padding: 12px;
1635
1679
  --overlay: oklch(0.00% 0.0000 0 / 60.0%);
@@ -1643,7 +1687,7 @@
1643
1687
  --panel-header-padding-y: 12px;
1644
1688
  --panel-root-border-color: oklch(92.19% 0.0000 0);
1645
1689
  --panel-root-radius: 8px;
1646
- --panel-root-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
1690
+ --panel-root-shadow: 0 4px 8px 0 rgb(0 0 0 / 0.10), 0 2px 4px 0 rgb(0 0 0 / 0.06);
1647
1691
  --panel-size-lg: 400px;
1648
1692
  --panel-size-md: 320px;
1649
1693
  --panel-size-sm: 280px;
@@ -1827,6 +1871,27 @@
1827
1871
  --red-800: oklch(44.37% 0.1613 26.90);
1828
1872
  --red-900: oklch(39.58% 0.1331 25.72);
1829
1873
  --red-950: oklch(25.75% 0.0886 26.04);
1874
+ --report-builder-accent-bg-subtle: oklch(97.14% 0.0108 256.69);
1875
+ --report-builder-accent-bg: oklch(95.32% 0.0207 261.77);
1876
+ --report-builder-accent-border: oklch(91.09% 0.0388 257.92);
1877
+ --report-builder-accent-bright: oklch(63.04% 0.1800 259.96);
1878
+ --report-builder-accent-hover: oklch(53.18% 0.1807 258.26);
1879
+ --report-builder-accent: oklch(57.37% 0.1946 257.86);
1880
+ --report-builder-border-strong: oklch(90.67% 0.0000 0);
1881
+ --report-builder-border: oklch(89.41% 0.0059 264.53);
1882
+ --report-builder-fg-muted: oklch(49.79% 0.0094 253.91);
1883
+ --report-builder-fg-secondary: oklch(36.88% 0.0074 240.02);
1884
+ --report-builder-fg-strong: rgba(0, 0, 0, 0.87);
1885
+ --report-builder-fg-subtle: oklch(56.24% 0.0000 0);
1886
+ --report-builder-fg: oklch(24.79% 0.0058 271.18);
1887
+ --report-builder-on-accent: oklch(100.00% 0.0000 0);
1888
+ --report-builder-positive: oklch(64.75% 0.1603 148.50);
1889
+ --report-builder-shadow-subtle: rgba(60, 64, 67, 0.15);
1890
+ --report-builder-shadow: rgba(60, 64, 67, 0.3);
1891
+ --report-builder-surface-hover: oklch(96.29% 0.0025 228.78);
1892
+ --report-builder-surface-muted: oklch(97.02% 0.0000 0);
1893
+ --report-builder-surface-subtle: oklch(98.16% 0.0017 247.84);
1894
+ --report-builder-surface: oklch(100.00% 0.0000 0);
1830
1895
  --report-generator-output-max-height-lg: 500px;
1831
1896
  --report-generator-root-min-height-lg: 500px;
1832
1897
  --resizable-handle-bg: oklch(92.19% 0.0000 0);
@@ -2561,7 +2626,7 @@
2561
2626
  --tooltip-content-text-size: 0.75rem;
2562
2627
  --tooltip-content-z-index: 50;
2563
2628
  --topbar-leading-gap: 8px;
2564
- --topbar-root-background: oklch(97.02% 0.0000 0);
2629
+ --topbar-root-background: oklch(98.51% 0.0000 0);
2565
2630
  --topbar-root-border-color: oklch(92.19% 0.0000 0);
2566
2631
  --topbar-root-gap: 16px;
2567
2632
  --topbar-root-height-default: 3.5rem;
@@ -2985,6 +3050,17 @@
2985
3050
  --chart-3: oklch(62.31% 0.1880 259.81);
2986
3051
  --chart-4: oklch(86.06% 0.1731 91.94);
2987
3052
  --chart-5: oklch(63.68% 0.2078 25.33);
3053
+ --chart-card-bg: oklch(26.86% 0.0000 0);
3054
+ --chart-card-border: oklch(37.15% 0.0000 0);
3055
+ --chart-card-empty-state-caption-color: oklch(71.55% 0.0000 0);
3056
+ --chart-card-empty-state-title-color: oklch(98.51% 0.0000 0);
3057
+ --chart-card-featured-icon-bg: oklch(26.86% 0.0000 0);
3058
+ --chart-card-fg: oklch(98.51% 0.0000 0);
3059
+ --chart-card-footer-caption-color: oklch(71.55% 0.0000 0);
3060
+ --chart-card-footer-trend-color: oklch(98.51% 0.0000 0);
3061
+ --chart-card-previous-color: oklch(71.55% 0.0000 0);
3062
+ --chart-card-title-color: oklch(97.02% 0.0000 0);
3063
+ --chart-card-value-color: oklch(98.51% 0.0000 0);
2988
3064
  --chart-tooltip-bg: oklch(14.48% 0.0000 0);
2989
3065
  --chart-tooltip-border: oklch(37.15% 0.0000 0);
2990
3066
  --checkbox-indicator-color: oklch(18.34% 0.0338 166.67);
@@ -3170,6 +3246,9 @@
3170
3246
  --ifta-label-label-color-muted: oklch(71.55% 0.0000 0);
3171
3247
  --ifta-label-ring-destructive: oklch(63.68% 0.2078 25.33);
3172
3248
  --ifta-label-ring-primary: oklch(84.11% 0.1609 163.31);
3249
+ --image-gallery-empty-border-color: oklch(26.86% 0.0000 0);
3250
+ --image-gallery-loading-background: oklch(26.86% 0.0000 0);
3251
+ --image-gallery-selection-ring-color: oklch(84.11% 0.1609 163.31);
3173
3252
  --image-skeleton-bg: oklch(26.86% 0.0000 0);
3174
3253
  --info-border: oklch(54.61% 0.2152 262.88);
3175
3254
  --info-foreground: oklch(100.00% 0.0000 0);
@@ -3233,6 +3312,12 @@
3233
3312
  --menu-item-fg-hover: oklch(95.21% 0.0467 171.12);
3234
3313
  --modal-content-bg: oklch(14.48% 0.0000 0);
3235
3314
  --modal-content-border: oklch(37.15% 0.0000 0);
3315
+ --modal-icon-pill-color-default-bg: oklch(26.86% 0.0000 0);
3316
+ --modal-icon-pill-color-default-fg: oklch(71.55% 0.0000 0);
3317
+ --modal-icon-pill-color-destructive-bg: oklch(25.75% 0.0886 26.04);
3318
+ --modal-icon-pill-color-destructive-fg: oklch(80.77% 0.1035 19.57);
3319
+ --modal-icon-pill-color-warning-bg: oklch(28.57% 0.0639 53.81);
3320
+ --modal-icon-pill-color-warning-fg: oklch(90.52% 0.1657 98.11);
3236
3321
  --modal-overlay-bg: oklch(0.00% 0.0000 0 / 80.0%);
3237
3322
  --multiselect-content-bg: oklch(20.46% 0.0000 0);
3238
3323
  --multiselect-content-fg: oklch(98.51% 0.0000 0);
@@ -3325,8 +3410,29 @@
3325
3410
  --rail-accent-foreground: oklch(95.21% 0.0467 171.12);
3326
3411
  --rail-accent: oklch(26.88% 0.0527 163.85);
3327
3412
  --rail-background: oklch(20.46% 0.0000 0);
3328
- --rail-border: oklch(26.86% 0.0000 0);
3413
+ --rail-border: oklch(37.15% 0.0000 0);
3329
3414
  --rating-icon-color-filled: oklch(79.52% 0.1617 86.05);
3415
+ --report-builder-accent-bg-subtle: oklch(33.49% 0.0383 251.89);
3416
+ --report-builder-accent-bg: oklch(34.67% 0.0731 256.69);
3417
+ --report-builder-accent-border: oklch(46.92% 0.0851 258.47);
3418
+ --report-builder-accent-bright: oklch(76.61% 0.1083 259.79);
3419
+ --report-builder-accent-hover: oklch(83.69% 0.0733 259.99);
3420
+ --report-builder-accent: oklch(76.61% 0.1083 259.79);
3421
+ --report-builder-border-strong: oklch(36.88% 0.0074 240.02);
3422
+ --report-builder-border: oklch(49.79% 0.0094 253.91);
3423
+ --report-builder-fg-muted: oklch(70.28% 0.0111 247.99);
3424
+ --report-builder-fg-secondary: oklch(80.93% 0.0083 253.87);
3425
+ --report-builder-fg-strong: rgba(232, 234, 237, 0.87);
3426
+ --report-builder-fg-subtle: oklch(70.28% 0.0111 247.99);
3427
+ --report-builder-fg: oklch(93.64% 0.0046 258.33);
3428
+ --report-builder-on-accent: oklch(24.79% 0.0058 271.18);
3429
+ --report-builder-positive: oklch(77.44% 0.1039 152.19);
3430
+ --report-builder-shadow-subtle: rgba(0, 0, 0, 0.3);
3431
+ --report-builder-shadow: rgba(0, 0, 0, 0.5);
3432
+ --report-builder-surface-hover: oklch(33.34% 0.0071 274.76);
3433
+ --report-builder-surface-muted: oklch(28.52% 0.0056 271.22);
3434
+ --report-builder-surface-subtle: oklch(28.52% 0.0056 271.22);
3435
+ --report-builder-surface: oklch(24.79% 0.0058 271.18);
3330
3436
  --resizable-handle-bg: oklch(37.15% 0.0000 0);
3331
3437
  --resizable-handle-grip-bg: oklch(37.15% 0.0000 0);
3332
3438
  --resizable-handle-ring: oklch(84.11% 0.1609 163.31);
@@ -3365,7 +3471,7 @@
3365
3471
  --sidebar-accent-foreground: oklch(95.21% 0.0467 171.12);
3366
3472
  --sidebar-accent: oklch(26.88% 0.0527 163.85);
3367
3473
  --sidebar-background: oklch(20.46% 0.0000 0);
3368
- --sidebar-border: oklch(26.86% 0.0000 0);
3474
+ --sidebar-border: oklch(37.15% 0.0000 0);
3369
3475
  --sidebar-container-background: oklch(20.46% 0.0000 0);
3370
3476
  --sidebar-foreground: oklch(97.02% 0.0000 0);
3371
3477
  --sidebar-input-background: oklch(14.48% 0.0000 0);
@@ -3532,7 +3638,7 @@
3532
3638
  --toolbar-separator-color: oklch(37.15% 0.0000 0);
3533
3639
  --tooltip-content-background: oklch(98.51% 0.0000 0);
3534
3640
  --tooltip-content-foreground: oklch(14.48% 0.0000 0);
3535
- --topbar-root-background: oklch(26.86% 0.0000 0);
3641
+ --topbar-root-background: oklch(20.46% 0.0000 0);
3536
3642
  --topbar-root-border-color: oklch(37.15% 0.0000 0);
3537
3643
  --warning-border: oklch(55.38% 0.1207 66.44);
3538
3644
  --warning-foreground: oklch(28.57% 0.0639 53.81);
@@ -3687,6 +3793,17 @@
3687
3793
  --chart-3: oklch(62.31% 0.1880 259.81);
3688
3794
  --chart-4: oklch(86.06% 0.1731 91.94);
3689
3795
  --chart-5: oklch(63.68% 0.2078 25.33);
3796
+ --chart-card-bg: oklch(100.00% 0.0000 0);
3797
+ --chart-card-border: oklch(92.19% 0.0000 0);
3798
+ --chart-card-empty-state-caption-color: oklch(55.55% 0.0000 0);
3799
+ --chart-card-empty-state-title-color: oklch(20.46% 0.0000 0);
3800
+ --chart-card-featured-icon-bg: oklch(97.02% 0.0000 0);
3801
+ --chart-card-fg: oklch(14.48% 0.0000 0);
3802
+ --chart-card-footer-caption-color: oklch(55.55% 0.0000 0);
3803
+ --chart-card-footer-trend-color: oklch(14.48% 0.0000 0);
3804
+ --chart-card-previous-color: oklch(55.55% 0.0000 0);
3805
+ --chart-card-title-color: oklch(20.46% 0.0000 0);
3806
+ --chart-card-value-color: oklch(14.48% 0.0000 0);
3690
3807
  --chart-tooltip-bg: oklch(100.00% 0.0000 0);
3691
3808
  --chart-tooltip-border: oklch(92.19% 0.0000 0);
3692
3809
  --checkbox-indicator-color: oklch(18.34% 0.0338 166.67);
@@ -3872,6 +3989,9 @@
3872
3989
  --ifta-label-label-color-muted: oklch(55.55% 0.0000 0);
3873
3990
  --ifta-label-ring-destructive: oklch(63.68% 0.2078 25.33);
3874
3991
  --ifta-label-ring-primary: oklch(81.75% 0.1821 159.79);
3992
+ --image-gallery-empty-border-color: oklch(97.02% 0.0000 0);
3993
+ --image-gallery-loading-background: oklch(97.02% 0.0000 0);
3994
+ --image-gallery-selection-ring-color: oklch(81.75% 0.1821 159.79);
3875
3995
  --image-skeleton-bg: oklch(97.02% 0.0000 0);
3876
3996
  --info-border: oklch(88.23% 0.0571 254.13);
3877
3997
  --info-foreground: oklch(100.00% 0.0000 0);
@@ -3935,6 +4055,12 @@
3935
4055
  --menu-item-fg-hover: oklch(26.88% 0.0527 163.85);
3936
4056
  --modal-content-bg: oklch(100.00% 0.0000 0);
3937
4057
  --modal-content-border: oklch(92.19% 0.0000 0);
4058
+ --modal-icon-pill-color-default-bg: oklch(97.02% 0.0000 0);
4059
+ --modal-icon-pill-color-default-fg: oklch(55.55% 0.0000 0);
4060
+ --modal-icon-pill-color-destructive-bg: oklch(97.05% 0.0129 17.38);
4061
+ --modal-icon-pill-color-destructive-fg: oklch(50.54% 0.1905 27.52);
4062
+ --modal-icon-pill-color-warning-bg: oklch(98.73% 0.0262 102.21);
4063
+ --modal-icon-pill-color-warning-fg: oklch(55.38% 0.1207 66.44);
3938
4064
  --modal-overlay-bg: oklch(0.00% 0.0000 0 / 60.0%);
3939
4065
  --multiselect-content-bg: oklch(100.00% 0.0000 0);
3940
4066
  --multiselect-content-fg: oklch(20.46% 0.0000 0);
@@ -4029,6 +4155,27 @@
4029
4155
  --rail-background: oklch(98.51% 0.0000 0);
4030
4156
  --rail-border: oklch(92.19% 0.0000 0);
4031
4157
  --rating-icon-color-filled: oklch(86.06% 0.1731 91.94);
4158
+ --report-builder-accent-bg-subtle: oklch(97.14% 0.0108 256.69);
4159
+ --report-builder-accent-bg: oklch(95.32% 0.0207 261.77);
4160
+ --report-builder-accent-border: oklch(91.09% 0.0388 257.92);
4161
+ --report-builder-accent-bright: oklch(63.04% 0.1800 259.96);
4162
+ --report-builder-accent-hover: oklch(53.18% 0.1807 258.26);
4163
+ --report-builder-accent: oklch(57.37% 0.1946 257.86);
4164
+ --report-builder-border-strong: oklch(90.67% 0.0000 0);
4165
+ --report-builder-border: oklch(89.41% 0.0059 264.53);
4166
+ --report-builder-fg-muted: oklch(49.79% 0.0094 253.91);
4167
+ --report-builder-fg-secondary: oklch(36.88% 0.0074 240.02);
4168
+ --report-builder-fg-strong: rgba(0, 0, 0, 0.87);
4169
+ --report-builder-fg-subtle: oklch(56.24% 0.0000 0);
4170
+ --report-builder-fg: oklch(24.79% 0.0058 271.18);
4171
+ --report-builder-on-accent: oklch(100.00% 0.0000 0);
4172
+ --report-builder-positive: oklch(64.75% 0.1603 148.50);
4173
+ --report-builder-shadow-subtle: rgba(60, 64, 67, 0.15);
4174
+ --report-builder-shadow: rgba(60, 64, 67, 0.3);
4175
+ --report-builder-surface-hover: oklch(96.29% 0.0025 228.78);
4176
+ --report-builder-surface-muted: oklch(97.02% 0.0000 0);
4177
+ --report-builder-surface-subtle: oklch(98.16% 0.0017 247.84);
4178
+ --report-builder-surface: oklch(100.00% 0.0000 0);
4032
4179
  --resizable-handle-bg: oklch(92.19% 0.0000 0);
4033
4180
  --resizable-handle-grip-bg: oklch(92.19% 0.0000 0);
4034
4181
  --resizable-handle-ring: oklch(81.75% 0.1821 159.79);
@@ -4234,7 +4381,7 @@
4234
4381
  --toolbar-separator-color: oklch(92.19% 0.0000 0);
4235
4382
  --tooltip-content-background: oklch(14.48% 0.0000 0);
4236
4383
  --tooltip-content-foreground: oklch(100.00% 0.0000 0);
4237
- --topbar-root-background: oklch(97.02% 0.0000 0);
4384
+ --topbar-root-background: oklch(98.51% 0.0000 0);
4238
4385
  --topbar-root-border-color: oklch(92.19% 0.0000 0);
4239
4386
  --warning-border: oklch(94.51% 0.1243 101.54);
4240
4387
  --warning-foreground: oklch(28.57% 0.0639 53.81);
@@ -4498,6 +4645,17 @@
4498
4645
  --color-chart-3: var(--chart-3);
4499
4646
  --color-chart-4: var(--chart-4);
4500
4647
  --color-chart-5: var(--chart-5);
4648
+ --color-chart-card-bg: var(--chart-card-bg);
4649
+ --color-chart-card-border: var(--chart-card-border);
4650
+ --color-chart-card-empty-state-caption-color: var(--chart-card-empty-state-caption-color);
4651
+ --color-chart-card-empty-state-title-color: var(--chart-card-empty-state-title-color);
4652
+ --color-chart-card-featured-icon-bg: var(--chart-card-featured-icon-bg);
4653
+ --color-chart-card-fg: var(--chart-card-fg);
4654
+ --color-chart-card-footer-caption-color: var(--chart-card-footer-caption-color);
4655
+ --color-chart-card-footer-trend-color: var(--chart-card-footer-trend-color);
4656
+ --color-chart-card-previous-color: var(--chart-card-previous-color);
4657
+ --color-chart-card-title-color: var(--chart-card-title-color);
4658
+ --color-chart-card-value-color: var(--chart-card-value-color);
4501
4659
  --color-chart-tooltip-bg: var(--chart-tooltip-bg);
4502
4660
  --color-chart-tooltip-border: var(--chart-tooltip-border);
4503
4661
  --color-checkbox-indicator-color: var(--checkbox-indicator-color);
@@ -4690,6 +4848,9 @@
4690
4848
  --color-ifta-label-label-color-muted: var(--ifta-label-label-color-muted);
4691
4849
  --color-ifta-label-ring-destructive: var(--ifta-label-ring-destructive);
4692
4850
  --color-ifta-label-ring-primary: var(--ifta-label-ring-primary);
4851
+ --color-image-gallery-empty-border-color: var(--image-gallery-empty-border-color);
4852
+ --color-image-gallery-loading-background: var(--image-gallery-loading-background);
4853
+ --color-image-gallery-selection-ring-color: var(--image-gallery-selection-ring-color);
4693
4854
  --color-image-rounded-circle: var(--image-rounded-circle);
4694
4855
  --color-image-rounded-rounded: var(--image-rounded-rounded);
4695
4856
  --color-image-skeleton-bg: var(--image-skeleton-bg);
@@ -4762,6 +4923,12 @@
4762
4923
  --color-menu-item-fg-hover: var(--menu-item-fg-hover);
4763
4924
  --color-modal-content-bg: var(--modal-content-bg);
4764
4925
  --color-modal-content-border: var(--modal-content-border);
4926
+ --color-modal-icon-pill-color-default-bg: var(--modal-icon-pill-color-default-bg);
4927
+ --color-modal-icon-pill-color-default-fg: var(--modal-icon-pill-color-default-fg);
4928
+ --color-modal-icon-pill-color-destructive-bg: var(--modal-icon-pill-color-destructive-bg);
4929
+ --color-modal-icon-pill-color-destructive-fg: var(--modal-icon-pill-color-destructive-fg);
4930
+ --color-modal-icon-pill-color-warning-bg: var(--modal-icon-pill-color-warning-bg);
4931
+ --color-modal-icon-pill-color-warning-fg: var(--modal-icon-pill-color-warning-fg);
4765
4932
  --color-modal-overlay-bg: var(--modal-overlay-bg);
4766
4933
  --color-multiselect-content-bg: var(--multiselect-content-bg);
4767
4934
  --color-multiselect-content-fg: var(--multiselect-content-fg);
@@ -4865,6 +5032,27 @@
4865
5032
  --color-rail-border: var(--rail-border);
4866
5033
  --color-rating-icon-color-empty: var(--rating-icon-color-empty);
4867
5034
  --color-rating-icon-color-filled: var(--rating-icon-color-filled);
5035
+ --color-report-builder-accent-bg-subtle: var(--report-builder-accent-bg-subtle);
5036
+ --color-report-builder-accent-bg: var(--report-builder-accent-bg);
5037
+ --color-report-builder-accent-border: var(--report-builder-accent-border);
5038
+ --color-report-builder-accent-bright: var(--report-builder-accent-bright);
5039
+ --color-report-builder-accent-hover: var(--report-builder-accent-hover);
5040
+ --color-report-builder-accent: var(--report-builder-accent);
5041
+ --color-report-builder-border-strong: var(--report-builder-border-strong);
5042
+ --color-report-builder-border: var(--report-builder-border);
5043
+ --color-report-builder-fg-muted: var(--report-builder-fg-muted);
5044
+ --color-report-builder-fg-secondary: var(--report-builder-fg-secondary);
5045
+ --color-report-builder-fg-strong: var(--report-builder-fg-strong);
5046
+ --color-report-builder-fg-subtle: var(--report-builder-fg-subtle);
5047
+ --color-report-builder-fg: var(--report-builder-fg);
5048
+ --color-report-builder-on-accent: var(--report-builder-on-accent);
5049
+ --color-report-builder-positive: var(--report-builder-positive);
5050
+ --color-report-builder-shadow-subtle: var(--report-builder-shadow-subtle);
5051
+ --color-report-builder-shadow: var(--report-builder-shadow);
5052
+ --color-report-builder-surface-hover: var(--report-builder-surface-hover);
5053
+ --color-report-builder-surface-muted: var(--report-builder-surface-muted);
5054
+ --color-report-builder-surface-subtle: var(--report-builder-surface-subtle);
5055
+ --color-report-builder-surface: var(--report-builder-surface);
4868
5056
  --color-resizable-handle-bg: var(--resizable-handle-bg);
4869
5057
  --color-resizable-handle-grip-bg: var(--resizable-handle-grip-bg);
4870
5058
  --color-resizable-handle-ring: var(--resizable-handle-ring);
@@ -5203,6 +5391,96 @@
5203
5391
  --text-xl: var(--text-font-size-xl);
5204
5392
  --text-xs: var(--text-font-size-xs);
5205
5393
  }
5394
+ /* =========================================================================
5395
+ Typography — self-hosted brand faces (Inter + JetBrains Mono)
5396
+ =========================================================================
5397
+
5398
+ Per DESIGN.md: Inter is the only sans face (UI, body, headings, display);
5399
+ JetBrains Mono is the code/keyboard face. Both are self-hosted (SIL OFL 1.1
5400
+ — see ./fonts/inter-OFL.txt and ./fonts/jetbrains-mono-OFL.txt) so
5401
+ `font-sans`/`font-mono` and `var(--font-sans)`/`var(--font-mono)` resolve to
5402
+ real branded faces for every @etus/ui consumer instead of falling back to
5403
+ the OS sans/monospace stacks.
5404
+
5405
+ Loaded via @font-face — never an import rule — on purpose: the
5406
+ self-contained dist/styles.css build (tsup.config.ts onSuccess) hard-fails
5407
+ on any surviving import at-rule. The woff2 files are copied to dist/fonts/
5408
+ by the same step, so `./fonts/*` URLs resolve relative to the published
5409
+ stylesheet. Browsers fetch each weight lazily, so a consumer that overrides
5410
+ --font-sans/--font-mono (e.g. the showcase) never downloads unused faces.
5411
+ ========================================================================= */
5412
+
5413
+ /* Inter — sans face. Only 400/500/600/700 ship (DESIGN.md). */
5414
+ @font-face {
5415
+ font-family: "Inter";
5416
+ font-style: normal;
5417
+ font-weight: 400;
5418
+ font-display: swap;
5419
+ src: url("./fonts/inter-latin-400-normal.woff2") format("woff2");
5420
+ }
5421
+
5422
+ @font-face {
5423
+ font-family: "Inter";
5424
+ font-style: normal;
5425
+ font-weight: 500;
5426
+ font-display: swap;
5427
+ src: url("./fonts/inter-latin-500-normal.woff2") format("woff2");
5428
+ }
5429
+
5430
+ @font-face {
5431
+ font-family: "Inter";
5432
+ font-style: normal;
5433
+ font-weight: 600;
5434
+ font-display: swap;
5435
+ src: url("./fonts/inter-latin-600-normal.woff2") format("woff2");
5436
+ }
5437
+
5438
+ @font-face {
5439
+ font-family: "Inter";
5440
+ font-style: normal;
5441
+ font-weight: 700;
5442
+ font-display: swap;
5443
+ src: url("./fonts/inter-latin-700-normal.woff2") format("woff2");
5444
+ }
5445
+
5446
+ /* JetBrains Mono — mono/code face. */
5447
+ @font-face {
5448
+ font-family: "JetBrains Mono";
5449
+ font-style: normal;
5450
+ font-weight: 400;
5451
+ font-display: swap;
5452
+ src: url("./fonts/jetbrains-mono-latin-400-normal.woff2") format("woff2");
5453
+ }
5454
+
5455
+ @font-face {
5456
+ font-family: "JetBrains Mono";
5457
+ font-style: normal;
5458
+ font-weight: 500;
5459
+ font-display: swap;
5460
+ src: url("./fonts/jetbrains-mono-latin-500-normal.woff2") format("woff2");
5461
+ }
5462
+
5463
+ @font-face {
5464
+ font-family: "JetBrains Mono";
5465
+ font-style: normal;
5466
+ font-weight: 700;
5467
+ font-display: swap;
5468
+ src: url("./fonts/jetbrains-mono-latin-700-normal.woff2") format("woff2");
5469
+ }
5470
+
5471
+ :root {
5472
+ /* Seven brand faces (DESIGN.md). Consumers may override locally. */
5473
+ --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
5474
+ --font-mono:
5475
+ "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
5476
+ }
5477
+
5478
+ @theme inline {
5479
+ /* Drive Tailwind v4's `font-sans` / `font-mono` utilities from the tokens. */
5480
+ --font-sans: var(--font-sans);
5481
+ --font-mono: var(--font-mono);
5482
+ }
5483
+
5206
5484
  /* =========================================================================
5207
5485
  Scrollbar — tokenized, cross-browser, theme-aware
5208
5486
  =========================================================================
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etus/ui",
3
- "version": "0.4.0-beta.3",
3
+ "version": "0.4.0-beta.5",
4
4
  "description": "Seven Design System - UI components for ETUS applications",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -113,7 +113,7 @@
113
113
  "sonner": "^2.0.7",
114
114
  "tailwind-merge": "^3.4.0",
115
115
  "vaul": "^1.1.2",
116
- "@etus/tokens": "^0.4.0-beta.2"
116
+ "@etus/tokens": "^0.4.0-beta.4"
117
117
  },
118
118
  "devDependencies": {
119
119
  "@storybook/react-vite": "^10.2.15",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/navigation/Header/Header.variants.ts","../src/components/navigation/Header/Header.tsx"],"names":[],"mappings":"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","file":"chunk-5ZKKXLPF.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * Header root variant styles\n */\nexport const headerVariants = cva(\n [\n // Base styles\n \"flex w-full items-center\",\n // Transition\n \"transition-colors\",\n ],\n {\n variants: {\n variant: {\n default: \"bg-background border-b border-border\",\n transparent: \"bg-transparent\",\n floating: \"bg-background/80 backdrop-blur-sm border-b border-border/50 shadow-sm\",\n },\n size: {\n sm: \"h-12\",\n md: \"h-14\",\n lg: \"h-16\",\n },\n sticky: {\n true: \"sticky top-0 z-[var(--header-sticky-z-index)]\",\n false: \"\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n sticky: false,\n },\n }\n)\n\n/**\n * Header container variant styles (inner wrapper)\n */\nexport const headerContainerVariants = cva(\n [\n \"flex w-full items-center gap-4 px-4\",\n ],\n {\n variants: {\n contained: {\n true: \"mx-auto max-w-7xl\",\n false: \"\",\n },\n layout: {\n // Brand left, Nav middle, Actions right (default)\n default: \"justify-between\",\n // Brand center; Nav and Actions on sides if provided\n \"logo-centered\":\n \"justify-center [&>[data-slot=header-brand]]:order-2 [&>[data-slot=header-nav]]:order-1 [&>[data-slot=header-actions]]:order-3 [&>[data-slot=header-nav]]:flex-1 [&>[data-slot=header-actions]]:flex-1\",\n // Nav left, Brand right (mirror of default)\n \"links-left\":\n \"justify-between [&>[data-slot=header-brand]]:order-2 [&>[data-slot=header-nav]]:order-1 [&>[data-slot=header-actions]]:order-3\",\n // Brand + Nav clustered center, Actions right\n centered:\n \"[&>[data-slot=header-brand]]:flex-none [&>[data-slot=header-nav]]:flex-1 [&>[data-slot=header-nav]]:justify-center [&>[data-slot=header-actions]]:flex-none [&>[data-slot=header-actions]]:ml-auto\",\n },\n },\n defaultVariants: {\n contained: false,\n layout: \"default\",\n },\n }\n)\n\n/**\n * HeaderBrand variant styles\n */\nexport const headerBrandVariants = cva([\n \"flex shrink-0 items-center gap-2\",\n])\n\n/**\n * HeaderNav variant styles\n */\nexport const headerNavVariants = cva([\n \"hidden md:flex items-center gap-1\",\n])\n\n/**\n * HeaderActions variant styles\n */\nexport const headerActionsVariants = cva(\n [\n \"flex items-center gap-2\",\n ],\n {\n variants: {\n align: {\n start: \"justify-start\",\n center: \"justify-center\",\n end: \"justify-end\",\n },\n },\n defaultVariants: {\n align: \"end\",\n },\n }\n)\n","\"use client\"\n\nimport type {\n HeaderActionsProps,\n HeaderBrandProps,\n HeaderNavProps,\n HeaderProps,\n} from \"./Header.types\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n headerActionsVariants,\n headerBrandVariants,\n headerContainerVariants,\n headerNavVariants,\n headerVariants,\n} from \"./Header.variants\"\n\n/**\n * Header - A responsive header component for site navigation.\n *\n * Supports multiple visual variants, sizes, and sticky positioning.\n *\n * @example\n * <Header variant=\"default\" size=\"md\" sticky>\n * <HeaderBrand asLink href=\"/\">Logo</HeaderBrand>\n * <HeaderNav>\n * <a href=\"/about\">About</a>\n * <a href=\"/contact\">Contact</a>\n * </HeaderNav>\n * <HeaderActions>\n * <Button>Sign In</Button>\n * </HeaderActions>\n * </Header>\n */\nfunction Header({\n className,\n variant = \"default\",\n size = \"md\",\n sticky = false,\n contained = false,\n layout = \"default\",\n containerClassName,\n children,\n ...props\n}: HeaderProps) {\n return (\n <header\n className={cn(headerVariants({ variant, size, sticky }), className)}\n data-slot=\"header\"\n {...props}\n >\n <div\n className={cn(\n headerContainerVariants({ contained, layout }),\n containerClassName\n )}\n data-layout={layout}\n data-slot=\"header-container\"\n >\n {children}\n </div>\n </header>\n )\n}\n\n/**\n * HeaderBrand - Logo/brand area of the header.\n *\n * Can optionally render as a link when asLink is true.\n */\nfunction HeaderBrand({\n className,\n asLink = false,\n href = \"/\",\n children,\n ...props\n}: HeaderBrandProps) {\n if (asLink) {\n return (\n <a\n className={cn(headerBrandVariants(), className)}\n data-slot=\"header-brand\"\n href={href}\n {...(props as React.ComponentProps<\"a\">)}\n >\n {children}\n </a>\n )\n }\n\n return (\n <div\n className={cn(headerBrandVariants(), className)}\n data-slot=\"header-brand\"\n {...props}\n >\n {children}\n </div>\n )\n}\n\n/**\n * HeaderNav - Navigation container for header links.\n */\nfunction HeaderNav({ className, children, ...props }: HeaderNavProps) {\n return (\n <nav\n className={cn(headerNavVariants(), className)}\n data-slot=\"header-nav\"\n {...props}\n >\n {children}\n </nav>\n )\n}\n\n/**\n * HeaderActions - Actions container for buttons/controls.\n */\nfunction HeaderActions({\n className,\n align = \"end\",\n children,\n ...props\n}: HeaderActionsProps) {\n return (\n <div\n className={cn(headerActionsVariants({ align }), className)}\n data-slot=\"header-actions\"\n {...props}\n >\n {children}\n </div>\n )\n}\n\nexport { Header, HeaderActions, HeaderBrand, HeaderNav }\n"]}