@optimum-intelligence/opti-ui 0.5.1 → 0.6.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 (44) hide show
  1. package/dist/components/app-shell/AppShell.js +139 -121
  2. package/dist/components/app-shell/AppShell.js.map +1 -1
  3. package/dist/components/badge/Badge.d.ts +4 -2
  4. package/dist/components/badge/Badge.js.map +1 -1
  5. package/dist/components/button/Button.d.ts +6 -1
  6. package/dist/components/button/Button.js +31 -26
  7. package/dist/components/button/Button.js.map +1 -1
  8. package/dist/components/data-table/DataTable.d.ts +14 -2
  9. package/dist/components/data-table/DataTable.js +113 -98
  10. package/dist/components/data-table/DataTable.js.map +1 -1
  11. package/dist/components/data-table/DataTableFilters.d.ts +1 -1
  12. package/dist/components/data-table/DataTableFilters.js +85 -44
  13. package/dist/components/data-table/DataTableFilters.js.map +1 -1
  14. package/dist/components/data-table/export.d.ts +3 -0
  15. package/dist/components/data-table/export.js +31 -0
  16. package/dist/components/data-table/export.js.map +1 -0
  17. package/dist/components/data-table/types.d.ts +32 -5
  18. package/dist/components/data-table/useDataTable.js +18 -4
  19. package/dist/components/data-table/useDataTable.js.map +1 -1
  20. package/dist/components/description-list/DescriptionList.d.ts +29 -0
  21. package/dist/components/description-list/DescriptionList.js +125 -0
  22. package/dist/components/description-list/DescriptionList.js.map +1 -0
  23. package/dist/components/dialog/ConfirmDialog.d.ts +59 -0
  24. package/dist/components/dialog/ConfirmDialog.js +165 -0
  25. package/dist/components/dialog/ConfirmDialog.js.map +1 -0
  26. package/dist/components/dialog/Dialog.d.ts +15 -2
  27. package/dist/components/dialog/Dialog.js +115 -86
  28. package/dist/components/dialog/Dialog.js.map +1 -1
  29. package/dist/components/drawer/Drawer.d.ts +6 -1
  30. package/dist/components/drawer/Drawer.js +139 -132
  31. package/dist/components/drawer/Drawer.js.map +1 -1
  32. package/dist/components/select/Select.d.ts +6 -1
  33. package/dist/components/select/Select.js +110 -92
  34. package/dist/components/select/Select.js.map +1 -1
  35. package/dist/components.json +298 -20
  36. package/dist/icons/index.d.ts +4 -0
  37. package/dist/icons/index.js +6 -1
  38. package/dist/icons/index.js.map +1 -1
  39. package/dist/index.d.ts +2 -0
  40. package/dist/index.js +5 -3
  41. package/dist/llms-full.txt +106 -5
  42. package/dist/llms.txt +3 -0
  43. package/dist/opti-ui.css +445 -20
  44. package/package.json +4 -1
package/dist/opti-ui.css CHANGED
@@ -22,6 +22,19 @@
22
22
  --oui-color-warning-text: #9a4515;
23
23
  --oui-color-danger: #c42b55;
24
24
  --oui-color-danger-text: #7a1f3d;
25
+ --oui-color-on-tone: #ffffff;
26
+ --oui-color-blue: #2f6fd0;
27
+ --oui-color-blue-text: #1f4f99;
28
+ --oui-color-cyan: #1a8aa8;
29
+ --oui-color-cyan-text: #126278;
30
+ --oui-color-green: #3d8a2f;
31
+ --oui-color-green-text: #2a6320;
32
+ --oui-color-yellow: #c99a12;
33
+ --oui-color-yellow-text: #7a5a06;
34
+ --oui-color-purple: #7b4fc4;
35
+ --oui-color-purple-text: #573591;
36
+ --oui-color-pink: #c2479b;
37
+ --oui-color-pink-text: #8c2f6f;
25
38
  --oui-color-chart-1: #63537d;
26
39
  --oui-color-chart-2: #271645;
27
40
  --oui-color-chart-3: #21856d;
@@ -52,8 +65,8 @@
52
65
  --oui-duration-slow: 0.3s;
53
66
  --oui-ease: cubic-bezier(0.3, 0, 0.2, 1);
54
67
  --oui-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
55
- --oui-z-dropdown: 50;
56
68
  --oui-z-dialog: 100;
69
+ --oui-z-dropdown: 110;
57
70
  --oui-z-toast: 120;
58
71
  --oui-z-tooltip: 130;
59
72
  }
@@ -73,17 +86,17 @@
73
86
  --oui-color-text-strong: var(--oui-color-brand);
74
87
  --oui-color-text-muted: color-mix(in srgb, var(--oui-color-brand) 72%, white);
75
88
  --oui-color-text-subtle: color-mix(in srgb, var(--oui-color-text-muted) 86%, transparent);
76
- --oui-color-bg: color-mix(in srgb, var(--oui-color-accent) 4%, white);
89
+ --oui-color-bg: color-mix(in srgb, var(--oui-color-accent) 6%, white);
77
90
  --oui-color-surface: #ffffff;
78
91
  --oui-color-surface-muted: color-mix(in srgb, var(--oui-color-accent) 4%, white);
79
92
  --oui-color-surface-hover: color-mix(in srgb, var(--oui-color-accent) 6%, var(--oui-color-surface));
80
93
  --oui-color-overlay: color-mix(in srgb, var(--oui-color-brand) 45%, transparent);
81
94
  --oui-color-border: color-mix(
82
95
  in srgb,
83
- var(--oui-color-accent) 12%,
84
- color-mix(in srgb, var(--oui-color-brand) 8%, white)
96
+ var(--oui-color-accent) 26%,
97
+ color-mix(in srgb, var(--oui-color-brand) 14%, white)
85
98
  );
86
- --oui-color-border-subtle: color-mix(in srgb, var(--oui-color-accent) 12%, transparent);
99
+ --oui-color-border-subtle: color-mix(in srgb, var(--oui-color-accent) 20%, transparent);
87
100
  --oui-color-border-control: color-mix(in srgb, var(--oui-color-accent) 24%, transparent);
88
101
  --oui-color-border-hover: color-mix(in srgb, var(--oui-color-accent) 45%, transparent);
89
102
  --oui-color-border-focus: color-mix(in srgb, var(--oui-color-accent) 75%, transparent);
@@ -97,6 +110,18 @@
97
110
  --oui-color-success-border: color-mix(in srgb, var(--oui-color-success) 26%, transparent);
98
111
  --oui-color-warning-border: color-mix(in srgb, var(--oui-color-warning) 28%, transparent);
99
112
  --oui-color-danger-border: color-mix(in srgb, var(--oui-color-danger) 26%, transparent);
113
+ --oui-color-blue-subtle: color-mix(in srgb, var(--oui-color-blue) 10%, transparent);
114
+ --oui-color-blue-border: color-mix(in srgb, var(--oui-color-blue) 26%, transparent);
115
+ --oui-color-cyan-subtle: color-mix(in srgb, var(--oui-color-cyan) 10%, transparent);
116
+ --oui-color-cyan-border: color-mix(in srgb, var(--oui-color-cyan) 26%, transparent);
117
+ --oui-color-green-subtle: color-mix(in srgb, var(--oui-color-green) 10%, transparent);
118
+ --oui-color-green-border: color-mix(in srgb, var(--oui-color-green) 26%, transparent);
119
+ --oui-color-yellow-subtle: color-mix(in srgb, var(--oui-color-yellow) 10%, transparent);
120
+ --oui-color-yellow-border: color-mix(in srgb, var(--oui-color-yellow) 26%, transparent);
121
+ --oui-color-purple-subtle: color-mix(in srgb, var(--oui-color-purple) 10%, transparent);
122
+ --oui-color-purple-border: color-mix(in srgb, var(--oui-color-purple) 26%, transparent);
123
+ --oui-color-pink-subtle: color-mix(in srgb, var(--oui-color-pink) 10%, transparent);
124
+ --oui-color-pink-border: color-mix(in srgb, var(--oui-color-pink) 26%, transparent);
100
125
  --oui-color-inverse: var(--oui-color-brand);
101
126
  --oui-color-on-inverse: #ffffff;
102
127
  --oui-color-on-inverse-muted: rgba(255, 255, 255, 0.72);
@@ -128,7 +153,7 @@
128
153
  --oui-color-primary: color-mix(in oklab, var(--oui-color-accent) 30%, white);
129
154
  --oui-color-primary-hover: color-mix(in oklab, var(--oui-color-accent) 16%, white);
130
155
  --oui-color-on-primary: color-mix(in oklab, var(--oui-color-brand) 75%, black);
131
- --oui-color-accent-text: color-mix(in oklab, var(--oui-color-accent) 55%, white);
156
+ --oui-color-accent-text: color-mix(in oklab, var(--oui-color-accent) 35%, white);
132
157
  --oui-color-text: color-mix(in oklab, var(--oui-color-accent) 6%, #ececf0);
133
158
  --oui-color-text-strong: #ffffff;
134
159
  --oui-color-text-muted: color-mix(in oklab, var(--oui-color-accent) 25%, #a6a1ae);
@@ -143,6 +168,19 @@
143
168
  --oui-color-warning-text: #ffb68a;
144
169
  --oui-color-danger: #f0587f;
145
170
  --oui-color-danger-text: #ff9db5;
171
+ --oui-color-on-tone: #15121b;
172
+ --oui-color-blue: #5b9bf0;
173
+ --oui-color-blue-text: #a8cbff;
174
+ --oui-color-cyan: #3ec1df;
175
+ --oui-color-cyan-text: #8fe3f5;
176
+ --oui-color-green: #6fcf5a;
177
+ --oui-color-green-text: #b2eba3;
178
+ --oui-color-yellow: #f0c53e;
179
+ --oui-color-yellow-text: #ffe08a;
180
+ --oui-color-purple: #a585f0;
181
+ --oui-color-purple-text: #d2c1ff;
182
+ --oui-color-pink: #f07ac8;
183
+ --oui-color-pink-text: #ffb8e4;
146
184
  --oui-color-inverse: color-mix(in oklab, var(--oui-color-accent) 8%, #0a0810);
147
185
  --oui-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
148
186
  --oui-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.3), 0 6px 18px -2px rgba(0, 0, 0, 0.3);
@@ -652,6 +690,21 @@
652
690
  outline: 2px solid var(--_focus);
653
691
  outline-offset: -2px;
654
692
  }
693
+ .oui-navbar .oui-toggle-group[data-variant=segmented] {
694
+ background: color-mix(in srgb, var(--_fg) 8%, transparent);
695
+ }
696
+ .oui-navbar .oui-toggle-group[data-variant=segmented] > .oui-toggle {
697
+ color: var(--_fg-muted);
698
+ }
699
+ .oui-navbar .oui-toggle-group[data-variant=segmented] > .oui-toggle:hover:not([data-disabled], [data-pressed]) {
700
+ background: var(--_hover);
701
+ color: var(--_fg);
702
+ }
703
+ .oui-navbar .oui-toggle-group[data-variant=segmented] > .oui-toggle[data-pressed] {
704
+ background: color-mix(in srgb, var(--_fg) 18%, transparent);
705
+ box-shadow: none;
706
+ color: var(--_fg);
707
+ }
655
708
  .oui-navbar[data-collapsed] .oui-navbar__toggle svg,
656
709
  .oui-navbar[data-peek] .oui-navbar__toggle svg {
657
710
  transform: rotate(180deg);
@@ -740,7 +793,7 @@
740
793
  position: absolute;
741
794
  top: 0;
742
795
  left: 0;
743
- z-index: calc(var(--oui-z-dropdown) - 1);
796
+ z-index: calc(var(--oui-z-dialog) - 1);
744
797
  width: 100%;
745
798
  }
746
799
  .oui-app-shell__navbar > .oui-navbar[data-peek] {
@@ -845,12 +898,46 @@
845
898
  .oui-app-shell__drawer[data-starting-style], .oui-app-shell__drawer[data-ending-style] {
846
899
  transform: translateX(-100%);
847
900
  }
901
+ .oui-app-shell__menu-button,
902
+ .oui-app-shell__drawer-close {
903
+ box-sizing: border-box;
904
+ margin: 0;
905
+ font-family: var(--oui-font-body);
906
+ -webkit-font-smoothing: antialiased;
907
+ -moz-osx-font-smoothing: grayscale;
908
+ display: inline-flex;
909
+ align-items: center;
910
+ justify-content: center;
911
+ width: 2.25rem;
912
+ height: 2.25rem;
913
+ padding: 0;
914
+ border: 0;
915
+ border-radius: var(--oui-radius-sm);
916
+ background: transparent;
917
+ color: var(--oui-color-on-inverse);
918
+ cursor: pointer;
919
+ transition: background-color var(--oui-duration-normal) var(--oui-ease);
920
+ }
921
+ .oui-app-shell__menu-button svg,
922
+ .oui-app-shell__drawer-close svg {
923
+ flex-shrink: 0;
924
+ width: 1.25rem;
925
+ height: 1.25rem;
926
+ }
927
+ .oui-app-shell__menu-button:hover,
928
+ .oui-app-shell__drawer-close:hover {
929
+ background: var(--oui-color-inverse-hover);
930
+ }
931
+ .oui-app-shell__menu-button:focus-visible,
932
+ .oui-app-shell__drawer-close:focus-visible {
933
+ outline: 2px solid var(--oui-color-on-inverse);
934
+ outline-offset: -2px;
935
+ }
848
936
  .oui-app-shell__drawer-close {
849
937
  position: absolute;
850
938
  top: 1.35rem;
851
939
  right: 0.75rem;
852
940
  z-index: 1;
853
- color: var(--oui-color-on-inverse);
854
941
  }
855
942
  @media (max-width: 900px) {
856
943
  .oui-app-shell {
@@ -1046,12 +1133,14 @@
1046
1133
  --_tone-text: var(--oui-color-text-strong);
1047
1134
  --_tone-subtle: var(--oui-color-surface-muted);
1048
1135
  --_tone-border: var(--oui-color-border);
1136
+ --_tone-fg: var(--oui-color-on-tone);
1049
1137
  }
1050
- .oui-badge[data-tone=accent], .oui-badge[data-tone=info] {
1051
- --_tone: var(--oui-color-accent);
1052
- --_tone-text: var(--oui-color-accent-text);
1053
- --_tone-subtle: var(--oui-color-accent-subtle);
1138
+ .oui-badge[data-tone=info] {
1139
+ --_tone: var(--oui-color-info);
1140
+ --_tone-text: var(--oui-color-info-text);
1141
+ --_tone-subtle: var(--oui-color-info-subtle);
1054
1142
  --_tone-border: var(--oui-color-info-border);
1143
+ --_tone-fg: var(--oui-color-on-accent);
1055
1144
  }
1056
1145
  .oui-badge[data-tone=success] {
1057
1146
  --_tone: var(--oui-color-success);
@@ -1064,6 +1153,7 @@
1064
1153
  --_tone-text: var(--oui-color-warning-text);
1065
1154
  --_tone-subtle: var(--oui-color-warning-subtle);
1066
1155
  --_tone-border: var(--oui-color-warning-border);
1156
+ --_tone-fg: color-mix(in oklab, var(--_tone) 22%, black);
1067
1157
  }
1068
1158
  .oui-badge[data-tone=danger] {
1069
1159
  --_tone: var(--oui-color-danger);
@@ -1071,6 +1161,50 @@
1071
1161
  --_tone-subtle: var(--oui-color-danger-subtle);
1072
1162
  --_tone-border: var(--oui-color-danger-border);
1073
1163
  }
1164
+ .oui-badge[data-tone=blue] {
1165
+ --_tone: var(--oui-color-blue);
1166
+ --_tone-text: var(--oui-color-blue-text);
1167
+ --_tone-subtle: var(--oui-color-blue-subtle);
1168
+ --_tone-border: var(--oui-color-blue-border);
1169
+ }
1170
+ .oui-badge[data-tone=cyan] {
1171
+ --_tone: var(--oui-color-cyan);
1172
+ --_tone-text: var(--oui-color-cyan-text);
1173
+ --_tone-subtle: var(--oui-color-cyan-subtle);
1174
+ --_tone-border: var(--oui-color-cyan-border);
1175
+ }
1176
+ .oui-badge[data-tone=green] {
1177
+ --_tone: var(--oui-color-green);
1178
+ --_tone-text: var(--oui-color-green-text);
1179
+ --_tone-subtle: var(--oui-color-green-subtle);
1180
+ --_tone-border: var(--oui-color-green-border);
1181
+ }
1182
+ .oui-badge[data-tone=yellow] {
1183
+ --_tone: var(--oui-color-yellow);
1184
+ --_tone-text: var(--oui-color-yellow-text);
1185
+ --_tone-subtle: var(--oui-color-yellow-subtle);
1186
+ --_tone-border: var(--oui-color-yellow-border);
1187
+ --_tone-fg: color-mix(in oklab, var(--_tone) 22%, black);
1188
+ }
1189
+ .oui-badge[data-tone=purple] {
1190
+ --_tone: var(--oui-color-purple);
1191
+ --_tone-text: var(--oui-color-purple-text);
1192
+ --_tone-subtle: var(--oui-color-purple-subtle);
1193
+ --_tone-border: var(--oui-color-purple-border);
1194
+ }
1195
+ .oui-badge[data-tone=pink] {
1196
+ --_tone: var(--oui-color-pink);
1197
+ --_tone-text: var(--oui-color-pink-text);
1198
+ --_tone-subtle: var(--oui-color-pink-subtle);
1199
+ --_tone-border: var(--oui-color-pink-border);
1200
+ }
1201
+ .oui-badge[data-tone=accent], .oui-badge[data-tone=info] {
1202
+ --_tone: var(--oui-color-accent);
1203
+ --_tone-text: var(--oui-color-accent-text);
1204
+ --_tone-subtle: var(--oui-color-accent-subtle);
1205
+ --_tone-border: var(--oui-color-info-border);
1206
+ --_tone-fg: var(--oui-color-on-accent);
1207
+ }
1074
1208
  .oui-badge {
1075
1209
  display: inline-flex;
1076
1210
  align-items: center;
@@ -1103,7 +1237,7 @@
1103
1237
  .oui-badge[data-variant=solid] {
1104
1238
  border-color: transparent;
1105
1239
  background: var(--_tone);
1106
- color: #ffffff;
1240
+ color: var(--_tone-fg);
1107
1241
  }
1108
1242
  .oui-badge[data-variant=solid][data-tone=neutral] {
1109
1243
  background: var(--oui-color-primary);
@@ -1294,6 +1428,97 @@
1294
1428
  --_bg-hover: color-mix(in oklab, var(--oui-color-danger) 86%, black);
1295
1429
  --_fg: #ffffff;
1296
1430
  }
1431
+ .oui-button[data-tone] {
1432
+ --_tone-fg: var(--oui-color-on-tone);
1433
+ }
1434
+ .oui-button[data-tone=info] {
1435
+ --_tone: var(--oui-color-info);
1436
+ --_tone-text: var(--oui-color-info-text);
1437
+ --_tone-subtle: var(--oui-color-info-subtle);
1438
+ --_tone-border: var(--oui-color-info-border);
1439
+ --_tone-fg: var(--oui-color-on-accent);
1440
+ }
1441
+ .oui-button[data-tone=success] {
1442
+ --_tone: var(--oui-color-success);
1443
+ --_tone-text: var(--oui-color-success-text);
1444
+ --_tone-subtle: var(--oui-color-success-subtle);
1445
+ --_tone-border: var(--oui-color-success-border);
1446
+ }
1447
+ .oui-button[data-tone=warning] {
1448
+ --_tone: var(--oui-color-warning);
1449
+ --_tone-text: var(--oui-color-warning-text);
1450
+ --_tone-subtle: var(--oui-color-warning-subtle);
1451
+ --_tone-border: var(--oui-color-warning-border);
1452
+ --_tone-fg: color-mix(in oklab, var(--_tone) 22%, black);
1453
+ }
1454
+ .oui-button[data-tone=danger] {
1455
+ --_tone: var(--oui-color-danger);
1456
+ --_tone-text: var(--oui-color-danger-text);
1457
+ --_tone-subtle: var(--oui-color-danger-subtle);
1458
+ --_tone-border: var(--oui-color-danger-border);
1459
+ }
1460
+ .oui-button[data-tone=blue] {
1461
+ --_tone: var(--oui-color-blue);
1462
+ --_tone-text: var(--oui-color-blue-text);
1463
+ --_tone-subtle: var(--oui-color-blue-subtle);
1464
+ --_tone-border: var(--oui-color-blue-border);
1465
+ }
1466
+ .oui-button[data-tone=cyan] {
1467
+ --_tone: var(--oui-color-cyan);
1468
+ --_tone-text: var(--oui-color-cyan-text);
1469
+ --_tone-subtle: var(--oui-color-cyan-subtle);
1470
+ --_tone-border: var(--oui-color-cyan-border);
1471
+ }
1472
+ .oui-button[data-tone=green] {
1473
+ --_tone: var(--oui-color-green);
1474
+ --_tone-text: var(--oui-color-green-text);
1475
+ --_tone-subtle: var(--oui-color-green-subtle);
1476
+ --_tone-border: var(--oui-color-green-border);
1477
+ }
1478
+ .oui-button[data-tone=yellow] {
1479
+ --_tone: var(--oui-color-yellow);
1480
+ --_tone-text: var(--oui-color-yellow-text);
1481
+ --_tone-subtle: var(--oui-color-yellow-subtle);
1482
+ --_tone-border: var(--oui-color-yellow-border);
1483
+ --_tone-fg: color-mix(in oklab, var(--_tone) 22%, black);
1484
+ }
1485
+ .oui-button[data-tone=purple] {
1486
+ --_tone: var(--oui-color-purple);
1487
+ --_tone-text: var(--oui-color-purple-text);
1488
+ --_tone-subtle: var(--oui-color-purple-subtle);
1489
+ --_tone-border: var(--oui-color-purple-border);
1490
+ }
1491
+ .oui-button[data-tone=pink] {
1492
+ --_tone: var(--oui-color-pink);
1493
+ --_tone-text: var(--oui-color-pink-text);
1494
+ --_tone-subtle: var(--oui-color-pink-subtle);
1495
+ --_tone-border: var(--oui-color-pink-border);
1496
+ }
1497
+ .oui-button[data-tone]:is([data-variant=primary], [data-variant=accent], [data-variant=danger]) {
1498
+ --_bg: var(--_tone);
1499
+ --_bg-hover: color-mix(in oklab, var(--_tone) 86%, black);
1500
+ --_fg: var(--_tone-fg);
1501
+ }
1502
+ .oui-button[data-tone][data-variant=secondary] {
1503
+ --_bg-hover: var(--_tone-subtle);
1504
+ --_fg: var(--_tone-text);
1505
+ --_border: var(--_tone-border);
1506
+ --_border-hover: var(--_tone);
1507
+ }
1508
+ .oui-button[data-tone][data-variant=soft] {
1509
+ --_bg: var(--_tone-subtle);
1510
+ --_bg-hover: color-mix(in srgb, var(--_tone) 18%, transparent);
1511
+ --_fg: var(--_tone-text);
1512
+ }
1513
+ .oui-button[data-tone][data-variant=ghost] {
1514
+ --_bg-hover: var(--_tone-subtle);
1515
+ --_fg: var(--_tone-text);
1516
+ }
1517
+ @media (hover: hover) {
1518
+ .oui-button[data-tone][data-variant=ghost]:hover:not([data-disabled]) {
1519
+ color: var(--_tone-text);
1520
+ }
1521
+ }
1297
1522
  .oui-button__spinner {
1298
1523
  width: 1.1em;
1299
1524
  height: 1.1em;
@@ -1678,6 +1903,7 @@
1678
1903
  justify-content: center;
1679
1904
  width: var(--_box);
1680
1905
  height: var(--_box);
1906
+ vertical-align: middle;
1681
1907
  border: var(--oui-control-border-width) solid var(--oui-color-border-hover);
1682
1908
  background: var(--oui-color-surface);
1683
1909
  color: var(--oui-color-on-accent);
@@ -2388,9 +2614,48 @@
2388
2614
  background: var(--oui-color-accent-subtle);
2389
2615
  color: var(--oui-color-text-strong);
2390
2616
  }
2391
- .oui-data-table__filter-label {
2617
+ .oui-data-table .oui-data-table__chips > .oui-toggle:has(> .oui-badge) {
2618
+ height: auto;
2619
+ min-width: 0;
2620
+ padding: 0;
2621
+ border-color: transparent;
2622
+ border-radius: var(--oui-radius-pill);
2623
+ background: transparent;
2624
+ }
2625
+ .oui-data-table .oui-data-table__chips > .oui-toggle:has(> .oui-badge) > .oui-badge {
2626
+ transition: border-color var(--oui-duration-fast) var(--oui-ease);
2627
+ }
2628
+ @media (hover: hover) {
2629
+ .oui-data-table .oui-data-table__chips > .oui-toggle:has(> .oui-badge):hover:not([data-disabled], [data-pressed]) {
2630
+ border-color: transparent;
2631
+ }
2632
+ .oui-data-table .oui-data-table__chips > .oui-toggle:has(> .oui-badge):hover:not([data-disabled], [data-pressed]) > .oui-badge {
2633
+ border-color: var(--_tone-border);
2634
+ }
2635
+ }
2636
+ .oui-data-table .oui-data-table__chips > .oui-toggle:has(> .oui-badge)[data-pressed] > .oui-badge {
2637
+ border-color: var(--_tone);
2638
+ box-shadow: inset 0 0 0 0.5px var(--_tone);
2639
+ }
2640
+ .oui-data-table__filter-label,
2641
+ .oui-data-table__filter-count {
2392
2642
  color: var(--oui-color-text-muted);
2393
2643
  }
2644
+ .oui-data-table__filter-count {
2645
+ font-variant-numeric: tabular-nums;
2646
+ }
2647
+ .oui-data-table[data-fill] {
2648
+ flex: 1;
2649
+ min-height: 0;
2650
+ }
2651
+ .oui-data-table[data-fill] .oui-data-table__scroll {
2652
+ flex: 1;
2653
+ min-height: 0;
2654
+ }
2655
+ .oui-card__content:has(> .oui-data-table[data-fill]) {
2656
+ display: flex;
2657
+ flex-direction: column;
2658
+ }
2394
2659
  .oui-data-table__actions {
2395
2660
  display: flex;
2396
2661
  flex-wrap: wrap;
@@ -2410,6 +2675,9 @@
2410
2675
  .oui-data-table .oui-table__row[data-clickable] {
2411
2676
  cursor: pointer;
2412
2677
  }
2678
+ .oui-data-table .oui-table__row[data-clickable][data-clickable]:hover:not([data-selected], [data-editing]) {
2679
+ background: var(--oui-color-accent-subtle);
2680
+ }
2413
2681
  .oui-data-table .oui-table__row[data-clickable]:focus-visible {
2414
2682
  outline: 2px solid var(--oui-color-border-focus);
2415
2683
  outline-offset: -2px;
@@ -2433,19 +2701,66 @@
2433
2701
  }
2434
2702
  .oui-data-table .oui-table__row[data-tone][data-tone=info] {
2435
2703
  --_tone: var(--oui-color-info);
2704
+ --_tone-text: var(--oui-color-info-text);
2436
2705
  --_tone-subtle: var(--oui-color-info-subtle);
2706
+ --_tone-border: var(--oui-color-info-border);
2707
+ --_tone-fg: var(--oui-color-on-accent);
2437
2708
  }
2438
2709
  .oui-data-table .oui-table__row[data-tone][data-tone=success] {
2439
2710
  --_tone: var(--oui-color-success);
2711
+ --_tone-text: var(--oui-color-success-text);
2440
2712
  --_tone-subtle: var(--oui-color-success-subtle);
2713
+ --_tone-border: var(--oui-color-success-border);
2441
2714
  }
2442
2715
  .oui-data-table .oui-table__row[data-tone][data-tone=warning] {
2443
2716
  --_tone: var(--oui-color-warning);
2717
+ --_tone-text: var(--oui-color-warning-text);
2444
2718
  --_tone-subtle: var(--oui-color-warning-subtle);
2719
+ --_tone-border: var(--oui-color-warning-border);
2720
+ --_tone-fg: color-mix(in oklab, var(--_tone) 22%, black);
2445
2721
  }
2446
2722
  .oui-data-table .oui-table__row[data-tone][data-tone=danger] {
2447
2723
  --_tone: var(--oui-color-danger);
2724
+ --_tone-text: var(--oui-color-danger-text);
2448
2725
  --_tone-subtle: var(--oui-color-danger-subtle);
2726
+ --_tone-border: var(--oui-color-danger-border);
2727
+ }
2728
+ .oui-data-table .oui-table__row[data-tone][data-tone=blue] {
2729
+ --_tone: var(--oui-color-blue);
2730
+ --_tone-text: var(--oui-color-blue-text);
2731
+ --_tone-subtle: var(--oui-color-blue-subtle);
2732
+ --_tone-border: var(--oui-color-blue-border);
2733
+ }
2734
+ .oui-data-table .oui-table__row[data-tone][data-tone=cyan] {
2735
+ --_tone: var(--oui-color-cyan);
2736
+ --_tone-text: var(--oui-color-cyan-text);
2737
+ --_tone-subtle: var(--oui-color-cyan-subtle);
2738
+ --_tone-border: var(--oui-color-cyan-border);
2739
+ }
2740
+ .oui-data-table .oui-table__row[data-tone][data-tone=green] {
2741
+ --_tone: var(--oui-color-green);
2742
+ --_tone-text: var(--oui-color-green-text);
2743
+ --_tone-subtle: var(--oui-color-green-subtle);
2744
+ --_tone-border: var(--oui-color-green-border);
2745
+ }
2746
+ .oui-data-table .oui-table__row[data-tone][data-tone=yellow] {
2747
+ --_tone: var(--oui-color-yellow);
2748
+ --_tone-text: var(--oui-color-yellow-text);
2749
+ --_tone-subtle: var(--oui-color-yellow-subtle);
2750
+ --_tone-border: var(--oui-color-yellow-border);
2751
+ --_tone-fg: color-mix(in oklab, var(--_tone) 22%, black);
2752
+ }
2753
+ .oui-data-table .oui-table__row[data-tone][data-tone=purple] {
2754
+ --_tone: var(--oui-color-purple);
2755
+ --_tone-text: var(--oui-color-purple-text);
2756
+ --_tone-subtle: var(--oui-color-purple-subtle);
2757
+ --_tone-border: var(--oui-color-purple-border);
2758
+ }
2759
+ .oui-data-table .oui-table__row[data-tone][data-tone=pink] {
2760
+ --_tone: var(--oui-color-pink);
2761
+ --_tone-text: var(--oui-color-pink-text);
2762
+ --_tone-subtle: var(--oui-color-pink-subtle);
2763
+ --_tone-border: var(--oui-color-pink-border);
2449
2764
  }
2450
2765
  .oui-data-table .oui-data-table__row-actions {
2451
2766
  width: 1%;
@@ -2708,22 +3023,80 @@
2708
3023
  opacity: var(--oui-control-disabled-opacity);
2709
3024
  }
2710
3025
  }
3026
+ @layer oui.components {
3027
+ .oui-description-list {
3028
+ box-sizing: border-box;
3029
+ margin: 0;
3030
+ font-family: var(--oui-font-body);
3031
+ -webkit-font-smoothing: antialiased;
3032
+ -moz-osx-font-smoothing: grayscale;
3033
+ font-size: var(--oui-font-size-md);
3034
+ }
3035
+ .oui-description-list[data-layout=rows] > .oui-description-list__item {
3036
+ display: grid;
3037
+ grid-template-columns: 1fr 1.3fr;
3038
+ align-items: start;
3039
+ gap: var(--oui-space-8);
3040
+ padding: var(--oui-space-8) 0;
3041
+ border-bottom: 1px solid var(--oui-color-border-subtle);
3042
+ }
3043
+ .oui-description-list[data-layout=rows] > .oui-description-list__item:last-child {
3044
+ border-bottom: 0;
3045
+ }
3046
+ .oui-description-list[data-layout=grid] {
3047
+ display: grid;
3048
+ grid-template-columns: repeat(auto-fill, minmax(var(--oui-description-list-columns, 16rem), 1fr));
3049
+ gap: var(--oui-space-6) var(--oui-space-12);
3050
+ }
3051
+ .oui-description-list[data-layout=grid] .oui-description-list__label {
3052
+ color: var(--oui-color-text-muted);
3053
+ font-size: var(--oui-font-size-sm);
3054
+ }
3055
+ .oui-description-list__label {
3056
+ color: var(--oui-color-text-subtle);
3057
+ }
3058
+ .oui-description-list__value {
3059
+ margin: 0;
3060
+ color: var(--oui-color-text);
3061
+ overflow-wrap: anywhere;
3062
+ white-space: pre-wrap;
3063
+ }
3064
+ @media (max-width: 440px) {
3065
+ .oui-description-list[data-layout=rows] > .oui-description-list__item {
3066
+ grid-template-columns: 1fr;
3067
+ gap: var(--oui-space-3);
3068
+ }
3069
+ }
3070
+ }
2711
3071
  @layer oui.components {
2712
3072
  .oui-dialog__backdrop {
3073
+ --_blur: 8px;
2713
3074
  position: fixed;
2714
3075
  inset: 0;
2715
3076
  z-index: var(--oui-z-dialog);
2716
3077
  min-height: 100dvh;
2717
3078
  background: var(--oui-color-overlay);
2718
- backdrop-filter: blur(4px);
3079
+ backdrop-filter: blur(var(--oui-backdrop-blur, var(--_blur)));
2719
3080
  transition: opacity var(--oui-duration-normal) var(--oui-ease);
2720
3081
  }
2721
3082
  .oui-dialog__backdrop[data-starting-style], .oui-dialog__backdrop[data-ending-style] {
2722
3083
  opacity: 0;
2723
3084
  }
2724
- .oui-dialog__backdrop[data-nested] {
3085
+ .oui-dialog__backdrop[data-blur=none] {
3086
+ --_blur: 0px;
3087
+ }
3088
+ .oui-dialog__backdrop[data-blur=sm] {
3089
+ --_blur: 4px;
3090
+ }
3091
+ .oui-dialog__backdrop[data-blur=lg] {
3092
+ --_blur: 16px;
3093
+ }
3094
+ .oui-dialog__backdrop[data-nested]:not([data-show-nested]) {
2725
3095
  display: none;
2726
3096
  }
3097
+ .oui-dialog__backdrop[data-nested][data-show-nested] {
3098
+ background: transparent;
3099
+ }
2727
3100
  .oui-dialog {
2728
3101
  box-sizing: border-box;
2729
3102
  margin: 0;
@@ -4838,6 +5211,11 @@
4838
5211
  .oui-table[data-hoverable] .oui-table__body .oui-table__row:hover {
4839
5212
  background: var(--oui-color-surface-hover);
4840
5213
  }
5214
+ .oui-table .oui-table__cell a:not(.oui-button, .oui-link):hover {
5215
+ color: var(--oui-color-accent-text);
5216
+ text-decoration: underline;
5217
+ text-underline-offset: 0.2em;
5218
+ }
4841
5219
  .oui-table[data-sticky-header] .oui-table__head {
4842
5220
  position: sticky;
4843
5221
  top: 0;
@@ -5091,12 +5469,14 @@
5091
5469
  --_tone-text: var(--oui-color-text-strong);
5092
5470
  --_tone-subtle: var(--oui-color-surface-muted);
5093
5471
  --_tone-border: var(--oui-color-border);
5472
+ --_tone-fg: var(--oui-color-on-tone);
5094
5473
  }
5095
- .oui-tag[data-tone=accent], .oui-tag[data-tone=info] {
5096
- --_tone: var(--oui-color-accent);
5097
- --_tone-text: var(--oui-color-accent-text);
5098
- --_tone-subtle: var(--oui-color-accent-subtle);
5474
+ .oui-tag[data-tone=info] {
5475
+ --_tone: var(--oui-color-info);
5476
+ --_tone-text: var(--oui-color-info-text);
5477
+ --_tone-subtle: var(--oui-color-info-subtle);
5099
5478
  --_tone-border: var(--oui-color-info-border);
5479
+ --_tone-fg: var(--oui-color-on-accent);
5100
5480
  }
5101
5481
  .oui-tag[data-tone=success] {
5102
5482
  --_tone: var(--oui-color-success);
@@ -5109,6 +5489,7 @@
5109
5489
  --_tone-text: var(--oui-color-warning-text);
5110
5490
  --_tone-subtle: var(--oui-color-warning-subtle);
5111
5491
  --_tone-border: var(--oui-color-warning-border);
5492
+ --_tone-fg: color-mix(in oklab, var(--_tone) 22%, black);
5112
5493
  }
5113
5494
  .oui-tag[data-tone=danger] {
5114
5495
  --_tone: var(--oui-color-danger);
@@ -5116,6 +5497,50 @@
5116
5497
  --_tone-subtle: var(--oui-color-danger-subtle);
5117
5498
  --_tone-border: var(--oui-color-danger-border);
5118
5499
  }
5500
+ .oui-tag[data-tone=blue] {
5501
+ --_tone: var(--oui-color-blue);
5502
+ --_tone-text: var(--oui-color-blue-text);
5503
+ --_tone-subtle: var(--oui-color-blue-subtle);
5504
+ --_tone-border: var(--oui-color-blue-border);
5505
+ }
5506
+ .oui-tag[data-tone=cyan] {
5507
+ --_tone: var(--oui-color-cyan);
5508
+ --_tone-text: var(--oui-color-cyan-text);
5509
+ --_tone-subtle: var(--oui-color-cyan-subtle);
5510
+ --_tone-border: var(--oui-color-cyan-border);
5511
+ }
5512
+ .oui-tag[data-tone=green] {
5513
+ --_tone: var(--oui-color-green);
5514
+ --_tone-text: var(--oui-color-green-text);
5515
+ --_tone-subtle: var(--oui-color-green-subtle);
5516
+ --_tone-border: var(--oui-color-green-border);
5517
+ }
5518
+ .oui-tag[data-tone=yellow] {
5519
+ --_tone: var(--oui-color-yellow);
5520
+ --_tone-text: var(--oui-color-yellow-text);
5521
+ --_tone-subtle: var(--oui-color-yellow-subtle);
5522
+ --_tone-border: var(--oui-color-yellow-border);
5523
+ --_tone-fg: color-mix(in oklab, var(--_tone) 22%, black);
5524
+ }
5525
+ .oui-tag[data-tone=purple] {
5526
+ --_tone: var(--oui-color-purple);
5527
+ --_tone-text: var(--oui-color-purple-text);
5528
+ --_tone-subtle: var(--oui-color-purple-subtle);
5529
+ --_tone-border: var(--oui-color-purple-border);
5530
+ }
5531
+ .oui-tag[data-tone=pink] {
5532
+ --_tone: var(--oui-color-pink);
5533
+ --_tone-text: var(--oui-color-pink-text);
5534
+ --_tone-subtle: var(--oui-color-pink-subtle);
5535
+ --_tone-border: var(--oui-color-pink-border);
5536
+ }
5537
+ .oui-tag[data-tone=accent], .oui-tag[data-tone=info] {
5538
+ --_tone: var(--oui-color-accent);
5539
+ --_tone-text: var(--oui-color-accent-text);
5540
+ --_tone-subtle: var(--oui-color-accent-subtle);
5541
+ --_tone-border: var(--oui-color-info-border);
5542
+ --_tone-fg: var(--oui-color-on-accent);
5543
+ }
5119
5544
  .oui-tag {
5120
5545
  display: inline-flex;
5121
5546
  align-items: center;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optimum-intelligence/opti-ui",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "Optimum's customizable React component library, built on Base UI.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Optimum Intelligence",
@@ -73,5 +73,8 @@
73
73
  },
74
74
  "publishConfig": {
75
75
  "access": "public"
76
+ },
77
+ "allowScripts": {
78
+ "@parcel/watcher@2.6.0": true
76
79
  }
77
80
  }