@oscarpalmer/oui 0.36.0 → 0.38.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 (104) hide show
  1. package/dist/css/a11y.css +1 -0
  2. package/dist/css/badge.css +19 -15
  3. package/dist/css/button.css +40 -31
  4. package/dist/css/color-picker.css +377 -0
  5. package/dist/css/color.css +20 -21
  6. package/dist/css/combobox.css +140 -34
  7. package/dist/css/content.css +30 -10
  8. package/dist/css/floatable.css +12 -10
  9. package/dist/css/form.css +400 -129
  10. package/dist/css/listbox.css +43 -17
  11. package/dist/css/message.css +15 -10
  12. package/dist/css/mixins/badge.mixins.css +2 -0
  13. package/dist/css/mixins/button.mixins.css +2 -0
  14. package/dist/css/mixins/message.mixins.css +1 -0
  15. package/dist/css/mixins/misc.mixins.css +2 -0
  16. package/dist/css/mixins/shadow.mixins.css +1 -0
  17. package/dist/css/reset.css +31 -90
  18. package/dist/css/splitter.css +3 -3
  19. package/dist/css/tabs.css +103 -0
  20. package/dist/js/color-picker.d.mts +213 -0
  21. package/dist/js/color-picker.mjs +924 -0
  22. package/dist/js/combobox/dom.combobox.mjs +8 -4
  23. package/dist/js/combobox/event.combobox.mjs +1 -1
  24. package/dist/js/combobox/index.d.mts +1 -1
  25. package/dist/js/combobox/index.mjs +56 -2
  26. package/dist/js/combobox/misc.combobox.d.mts +1 -1
  27. package/dist/js/combobox/misc.combobox.mjs +1 -1
  28. package/dist/js/combobox/state.combobox.d.mts +1 -1
  29. package/dist/js/combobox/state.combobox.mjs +1 -1
  30. package/dist/js/dialog.mjs +2 -2
  31. package/dist/js/floatable/floatable.embedded.mjs +13 -10
  32. package/dist/js/focus-trap/focus-trap.embedded.mjs +9 -13
  33. package/dist/js/{index-EfkUSals.d.mts → index-DJdFlTLm.d.mts} +39 -1
  34. package/dist/js/index.d.mts +4 -2
  35. package/dist/js/index.mjs +5 -3
  36. package/dist/js/internal/draggable.mjs +20 -26
  37. package/dist/js/internal/listbox/listbox.data.mjs +1 -1
  38. package/dist/js/internal/listbox/listbox.dom.mjs +1 -1
  39. package/dist/js/internal/listbox/listbox.event.mjs +1 -1
  40. package/dist/js/internal/listbox/listbox.form.mjs +17 -16
  41. package/dist/js/internal/listbox/listbox.misc.mjs +1 -1
  42. package/dist/js/internal/listbox/listbox.state.mjs +4 -4
  43. package/dist/js/internal/navigable.d.mts +11 -5
  44. package/dist/js/internal/navigable.mjs +46 -19
  45. package/dist/js/listbox/event.listbox.mjs +1 -1
  46. package/dist/js/listbox/index.d.mts +38 -0
  47. package/dist/js/listbox/index.mjs +56 -2
  48. package/dist/js/listbox/misc.listbox.mjs +1 -1
  49. package/dist/js/listbox/state.listbox.mjs +1 -1
  50. package/dist/js/{listbox.data-BWd0PCy7.mjs → listbox.data-C7CRa5Ya.mjs} +5 -4
  51. package/dist/js/menu.mjs +1 -1
  52. package/dist/js/{misc.listbox-BI-XsTOf.mjs → misc.listbox-Cyz2CRDy.mjs} +2 -3
  53. package/dist/js/movable/movable.embedded.mjs +5 -8
  54. package/dist/js/popover.mjs +2 -2
  55. package/dist/js/resizable/resizable.embedded.mjs +21 -31
  56. package/dist/js/sortable/sortable.embedded.mjs +4 -4
  57. package/dist/js/splitter.mjs +20 -17
  58. package/dist/js/{state.combobox-4xq0FPCF.mjs → state.combobox-Qm3FWzYW.mjs} +3 -3
  59. package/dist/js/tabs.d.mts +25 -0
  60. package/dist/js/tabs.mjs +237 -0
  61. package/dist/js/tooltip.mjs +16 -15
  62. package/package.json +7 -5
  63. package/src/css/a11y.scss +2 -2
  64. package/src/css/badge.scss +8 -20
  65. package/src/css/button.scss +8 -47
  66. package/src/css/color-picker.scss +344 -0
  67. package/src/css/color.scss +20 -22
  68. package/src/css/combobox.scss +29 -57
  69. package/src/css/content.scss +34 -6
  70. package/src/css/floatable.scss +22 -19
  71. package/src/css/form.scss +94 -80
  72. package/src/css/listbox.scss +6 -34
  73. package/src/css/message.scss +16 -30
  74. package/src/css/mixins/badge.mixins.scss +53 -0
  75. package/src/css/mixins/button.mixins.scss +112 -0
  76. package/src/css/mixins/input.mixins.scss +114 -0
  77. package/src/css/mixins/message.mixins.scss +41 -0
  78. package/src/css/mixins/misc.mixins.scss +48 -0
  79. package/src/css/mixins/shadow.mixins.scss +57 -0
  80. package/src/css/reset.scss +39 -88
  81. package/src/css/splitter.scss +3 -3
  82. package/src/css/tabs.scss +74 -0
  83. package/src/js/color-picker.ts +1653 -0
  84. package/src/js/combobox/dom.combobox.ts +4 -0
  85. package/src/js/combobox/index.ts +63 -1
  86. package/src/js/dialog.ts +1 -1
  87. package/src/js/floatable/floatable.embedded.ts +18 -14
  88. package/src/js/focus-trap/focus-trap.embedded.ts +11 -19
  89. package/src/js/index.ts +2 -0
  90. package/src/js/internal/draggable.ts +29 -33
  91. package/src/js/internal/listbox/listbox.dom.ts +2 -1
  92. package/src/js/internal/listbox/listbox.form.ts +32 -22
  93. package/src/js/internal/listbox/listbox.state.ts +3 -3
  94. package/src/js/internal/navigable.ts +82 -23
  95. package/src/js/listbox/index.ts +62 -0
  96. package/src/js/listbox/state.listbox.ts +0 -2
  97. package/src/js/movable/movable.embedded.ts +11 -13
  98. package/src/js/popover.ts +1 -1
  99. package/src/js/resizable/resizable.embedded.ts +25 -39
  100. package/src/js/splitter.ts +21 -18
  101. package/src/js/tabs.ts +441 -0
  102. package/src/js/tooltip.ts +20 -17
  103. package/src/css/mixins.scss +0 -194
  104. /package/dist/css/{mixins.css → mixins/input.mixins.css} +0 -0
@@ -1,20 +1,73 @@
1
1
  @charset "UTF-8";
2
2
  /*! https://github.com/oscarpalmer/oui */
3
3
 
4
+
5
+
6
+
4
7
  :where([oui-combobox-anchor]) {
5
- --oui-background-percentage: 0%;
6
- --oui-foreground-percentage: 0%;
7
8
  --oui-outline-percentage: 100%;
8
9
  --oui-outline-value: var(--oui-blue-6);
9
10
  outline: 4px solid color-mix(in oklab, var(--oui-outline-value), transparent var(--oui-outline-percentage));
10
11
  outline-offset: 0;
11
- transition: 0.125s ease-in-out;
12
+ --oui-background-percentage: 0%;
13
+ --oui-foreground-percentage: 0%;
12
14
  align-content: center;
13
15
  background-color: color-mix(in oklab, var(--oui-background-value), transparent var(--oui-background-percentage));
14
16
  border: 1px solid var(--oui-border-value, var(--oui-gray-3));
15
17
  box-shadow: inset 0 2px 4px -1px var(--oui-gray-3);
16
18
  color: color-mix(in oklab, var(--oui-foreground-value, inherit), transparent var(--oui-foreground-percentage));
17
19
  -webkit-text-fill-color: color-mix(in oklab, var(--oui-foreground-value, inherit), transparent var(--oui-foreground-percentage));
20
+ transition: 0.125s ease-in-out;
21
+ transition-property: background, outline, border, box-shadow, color;
22
+ }
23
+ :where([oui-combobox-anchor]).oui-validate:not([disabled],
24
+ [readonly],
25
+ [aria-disabled=true i],
26
+ [aria-readonly=true i],
27
+ :focus-visible,
28
+ :focus-within):is(:user-invalid:not([aria-invalid=false i]), [aria-invalid=true i]) {
29
+ --oui-border-value: var(--oui-red-5);
30
+ --oui-foreground-value: var(--oui-red-9);
31
+ --oui-outline-percentage: 82.5%;
32
+ --oui-outline-value: var(--oui-red-6);
33
+ }
34
+ :where([oui-combobox-anchor]).oui-validate:not([disabled],
35
+ [readonly],
36
+ [aria-disabled=true i],
37
+ [aria-readonly=true i],
38
+ :focus-visible,
39
+ :focus-within):is(:user-valid:not([aria-invalid=true i]), [aria-invalid=false i]) {
40
+ --oui-border-value: var(--oui-green-5);
41
+ --oui-foreground-value: var(--oui-green-9);
42
+ --oui-outline-percentage: 82.5%;
43
+ --oui-outline-value: var(--oui-green-6);
44
+ }
45
+ :where([oui-combobox-anchor]):not([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):focus-visible, :where([oui-combobox-anchor]):not([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):focus-within {
46
+ --oui-border-value: var(--oui-blue-5);
47
+ --oui-foreground-value: inherit;
48
+ --oui-outline-percentage: 75%;
49
+ --oui-outline-value: var(--oui-blue-6);
50
+ }
51
+ @media (hover: hover) {
52
+ :where([oui-combobox-anchor]):not([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):hover {
53
+ --oui-border-value: var(--oui-blue-4);
54
+ --oui-foreground-percentage: 0%;
55
+ --oui-foreground-value: inherit;
56
+ --oui-outline-percentage: 90%;
57
+ --oui-outline-value: var(--oui-blue-6);
58
+ }
59
+ }
60
+ :where([oui-combobox-anchor]):is([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]) {
61
+ --oui-foreground-percentage: 25%;
62
+ font-style: italic;
63
+ }
64
+ :where([oui-combobox-anchor]):is([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):focus-visible {
65
+ --oui-outline-percentage: 75%;
66
+ }
67
+ :where([oui-combobox-anchor]):is([disabled], [aria-disabled=true i]) {
68
+ --oui-background-percentage: 50%;
69
+ }
70
+ :where([oui-combobox-anchor]) {
18
71
  --oui-background-value: var(--oui-absolute);
19
72
  padding: 0.5em 2em 0.5em 0.75em;
20
73
  border-radius: 0.25em;
@@ -24,7 +77,7 @@
24
77
  background-size: 1em;
25
78
  position: relative;
26
79
  }
27
- :where([oui-combobox-anchor]:not([disabled], [readonly], [aria-disabled=true i]):focus), :where([oui-combobox-anchor]:not([disabled], [readonly], [aria-disabled=true i]):focus-within), :where([oui-combobox-anchor]:not([disabled], [readonly], [aria-disabled=true i]):has(+ [oui-combobox-content]:focus-within)) {
80
+ :where([oui-combobox-anchor]:not([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):focus-visible, [oui-combobox-anchor]:not([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):focus-within, [oui-combobox-anchor]:not([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):has(+ [oui-combobox-content]:focus-within)) {
28
81
  --oui-border-value: var(--oui-blue-5);
29
82
  --oui-foreground-value: inherit;
30
83
  --oui-outline-percentage: 75%;
@@ -43,7 +96,7 @@
43
96
  --oui-foreground-percentage: 25%;
44
97
  font-style: italic;
45
98
  }
46
- :where([oui-combobox-anchor]:is([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):focus) {
99
+ :where([oui-combobox-anchor]:is([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):focus-visible, [oui-combobox-anchor]:is([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):focus-within, [oui-combobox-anchor]:is([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):has(+ [oui-combobox-content]:focus-within)) {
47
100
  --oui-outline-percentage: 75%;
48
101
  }
49
102
  :where([oui-combobox-anchor]:is([disabled], [aria-disabled=true i])) {
@@ -67,16 +120,16 @@
67
120
  inset-block: var(--margin-top) var(--margin-bottom);
68
121
  inset-inline: var(--margin-left) var(--margin-right);
69
122
  }
70
- :where([oui-combobox-content])[oui-position$=bottom] {
123
+ :where([oui-combobox-content])[oui-position$=bottom i] {
71
124
  --margin-bottom: 0;
72
125
  }
73
- :where([oui-combobox-content])[oui-position$=end] {
126
+ :where([oui-combobox-content])[oui-position$=end i] {
74
127
  --margin-right: 0;
75
128
  }
76
- :where([oui-combobox-content])[oui-position$=start] {
129
+ :where([oui-combobox-content])[oui-position$=start i] {
77
130
  --margin-left: 0;
78
131
  }
79
- :where([oui-combobox-content])[oui-position$=top] {
132
+ :where([oui-combobox-content])[oui-position$=top i] {
80
133
  --margin-top: 0;
81
134
  }
82
135
  :where([oui-combobox-content]) {
@@ -114,35 +167,51 @@
114
167
  }
115
168
 
116
169
  :where([oui-combobox-filter-input]) {
117
- --oui-background-percentage: 0%;
118
- --oui-foreground-percentage: 0%;
119
170
  --oui-outline-percentage: 100%;
120
171
  --oui-outline-value: var(--oui-blue-6);
121
172
  outline: 4px solid color-mix(in oklab, var(--oui-outline-value), transparent var(--oui-outline-percentage));
122
173
  outline-offset: 0;
123
- transition: 0.125s ease-in-out;
174
+ --oui-background-percentage: 0%;
175
+ --oui-foreground-percentage: 0%;
124
176
  align-content: center;
125
177
  background-color: color-mix(in oklab, var(--oui-background-value), transparent var(--oui-background-percentage));
126
178
  border: 1px solid var(--oui-border-value, var(--oui-gray-3));
127
179
  box-shadow: inset 0 2px 4px -1px var(--oui-gray-3);
128
180
  color: color-mix(in oklab, var(--oui-foreground-value, inherit), transparent var(--oui-foreground-percentage));
129
181
  -webkit-text-fill-color: color-mix(in oklab, var(--oui-foreground-value, inherit), transparent var(--oui-foreground-percentage));
130
- --oui-background-value: var(--oui-absolute);
131
- --oui-border-value: var(--oui-yellow-3);
132
- width: 100%;
133
- padding: 0.5em 0.75em;
134
- outline-width: 0;
135
- border-radius: 0.25em;
136
- font-size: 0.875rem;
182
+ transition: 0.125s ease-in-out;
183
+ transition-property: background, outline, border, box-shadow, color;
184
+ }
185
+ :where([oui-combobox-filter-input]).oui-validate:not([disabled],
186
+ [readonly],
187
+ [aria-disabled=true i],
188
+ [aria-readonly=true i],
189
+ :focus-visible,
190
+ :focus-within):is(:user-invalid:not([aria-invalid=false i]), [aria-invalid=true i]) {
191
+ --oui-border-value: var(--oui-red-5);
192
+ --oui-foreground-value: var(--oui-red-9);
193
+ --oui-outline-percentage: 82.5%;
194
+ --oui-outline-value: var(--oui-red-6);
137
195
  }
138
- :where(:where([oui-combobox-filter-input]):focus) {
196
+ :where([oui-combobox-filter-input]).oui-validate:not([disabled],
197
+ [readonly],
198
+ [aria-disabled=true i],
199
+ [aria-readonly=true i],
200
+ :focus-visible,
201
+ :focus-within):is(:user-valid:not([aria-invalid=true i]), [aria-invalid=false i]) {
202
+ --oui-border-value: var(--oui-green-5);
203
+ --oui-foreground-value: var(--oui-green-9);
204
+ --oui-outline-percentage: 82.5%;
205
+ --oui-outline-value: var(--oui-green-6);
206
+ }
207
+ :where([oui-combobox-filter-input]):not([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):focus-visible, :where([oui-combobox-filter-input]):not([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):focus-within {
139
208
  --oui-border-value: var(--oui-blue-5);
140
209
  --oui-foreground-value: inherit;
141
210
  --oui-outline-percentage: 75%;
142
211
  --oui-outline-value: var(--oui-blue-6);
143
212
  }
144
213
  @media (hover: hover) {
145
- :where(:where([oui-combobox-filter-input]):hover) {
214
+ :where([oui-combobox-filter-input]):not([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):hover {
146
215
  --oui-border-value: var(--oui-blue-4);
147
216
  --oui-foreground-percentage: 0%;
148
217
  --oui-foreground-value: inherit;
@@ -150,16 +219,25 @@
150
219
  --oui-outline-value: var(--oui-blue-6);
151
220
  }
152
221
  }
153
- :where(:where([oui-combobox-filter-input]):is([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i])) {
222
+ :where([oui-combobox-filter-input]):is([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]) {
154
223
  --oui-foreground-percentage: 25%;
155
224
  font-style: italic;
156
225
  }
157
- :where(:where([oui-combobox-filter-input]):is([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):focus) {
226
+ :where([oui-combobox-filter-input]):is([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]):focus-visible {
158
227
  --oui-outline-percentage: 75%;
159
228
  }
160
- :where(:where([oui-combobox-filter-input]):is([disabled], [aria-disabled=true i])) {
229
+ :where([oui-combobox-filter-input]):is([disabled], [aria-disabled=true i]) {
161
230
  --oui-background-percentage: 50%;
162
231
  }
232
+ :where([oui-combobox-filter-input]) {
233
+ --oui-background-value: var(--oui-absolute);
234
+ --oui-border-value: var(--oui-yellow-3);
235
+ width: 100%;
236
+ padding: 0.5em 0.75em;
237
+ outline-width: 0;
238
+ border-radius: 0.25em;
239
+ font-size: 0.875rem;
240
+ }
163
241
 
164
242
  :where([oui-combobox-header]) {
165
243
  padding: 0.5em 1em;
@@ -199,7 +277,6 @@
199
277
  outline-offset: -4px;
200
278
  line-height: 1.25;
201
279
  cursor: pointer;
202
- transition: 0.125s ease-in-out;
203
280
  }
204
281
  :where([oui-combobox-option][aria-selected=true i]) {
205
282
  background-color: var(--oui-blue-3);
@@ -210,7 +287,7 @@
210
287
  margin: 0 0.75em 0 0;
211
288
  }
212
289
  @media (hover: hover) {
213
- :where(:where(oui-combobox:not([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]) [oui-combobox-option]):hover) {
290
+ :where(oui-combobox:not([disabled], [readonly], [aria-disabled=true i], [aria-readonly=true i]) [oui-combobox-option]:hover) {
214
291
  background-color: var(--oui-blue-1);
215
292
  color: var(--oui-blue-8);
216
293
  }
@@ -237,31 +314,60 @@
237
314
 
238
315
  :where([oui-combobox-selection-item]) {
239
316
  --oui-background-percentage: 25%;
317
+ --oui-background-value: var(--oui-gray-2);
240
318
  --oui-foreground-percentage: 0%;
319
+ --oui-foreground-value: var(--oui-gray-8);
241
320
  --oui-outline-percentage: 100%;
242
- --oui-shadow-inset: color-mix(in oklab, white, transparent 75%);
321
+ --oui-outline-value: var(--oui-gray-6);
322
+ --oui-shadow-inset: color-mix(in oklab, var(--oui-absolute), transparent 75%);
243
323
  --oui-shadow-percentage: 82.5%;
244
324
  --oui-shadow-value: color-mix(
245
325
  in oklab,
246
- var(--oui-outline-value, var(--oui-gray-6)),
326
+ var(--oui-outline-value),
247
327
  transparent var(--oui-shadow-percentage)
248
328
  );
249
- box-shadow: inset 0 1px 0 0 var(--oui-shadow-inset), 0 0 0 1px var(--oui-shadow-value), 0 1px 2px -0.5px var(--oui-shadow-value), 0 2px 4px -1px var(--oui-shadow-value);
329
+ box-shadow: inset 0 1px 0 0 var(--oui-shadow-inset), 0 0 0 1px var(--oui-shadow-value), 0 1px 2px -0.5px var(--oui-shadow-value), 0 2px 4px -1px var(--oui-shadow-value), 0 4px 8px -2px var(--oui-shadow-value);
250
330
  padding: 0.5em 0.75em;
251
331
  display: inline-flex;
252
332
  flex-flow: row wrap;
253
333
  gap: 0.75em;
254
334
  align-items: center;
255
335
  border-radius: 0.25em;
256
- background-color: color-mix(in oklab, var(--oui-background-value, var(--oui-gray-2)), transparent var(--oui-background-percentage));
257
- outline: 4px solid color-mix(in oklab, var(--oui-outline-value, var(--oui-gray-6)), transparent var(--oui-outline-percentage));
336
+ background-color: color-mix(in oklab, var(--oui-background-value), transparent var(--oui-background-percentage));
337
+ outline: 4px solid color-mix(in oklab, var(--oui-outline-value), transparent var(--oui-outline-percentage));
258
338
  border: none;
259
- color: color-mix(in oklab, var(--oui-foreground-value, var(--oui-gray-8)), transparent var(--oui-foreground-percentage));
339
+ color: color-mix(in oklab, var(--oui-foreground-value), transparent var(--oui-foreground-percentage));
260
340
  line-height: 1.25;
261
341
  transition: 0.125s ease-in-out;
262
- --oui-background-value: var(--oui-blue-1);
263
- --oui-foreground-percentage: 12.5%;
342
+ transition-property: background, outline, box-shadow, color;
343
+ }
344
+ :where([oui-combobox-selection-item]):focus-visible {
345
+ --oui-outline-percentage: 75%;
346
+ }
347
+ @media (hover: hover) {
348
+ :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i]):hover {
349
+ --oui-background-percentage: 50%;
350
+ --oui-foreground-percentage: 25%;
351
+ --oui-shadow-percentage: 90%;
352
+ }
353
+ }
354
+ :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i]):active {
355
+ box-shadow: 0 0 0 1px var(--oui-shadow-value), inset 0 1px 2px 0 var(--oui-shadow-value), inset 0 2px 4px 0 var(--oui-shadow-value);
356
+ scale: 0.95;
357
+ }
358
+ :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i]):active[aria-pressed=true i], :where([oui-combobox-selection-item]):not([disabled], [aria-disabled=true i]):active[aria-selected=true i] {
359
+ scale: 1;
360
+ }
361
+ :where([oui-combobox-selection-item])[disabled], :where([oui-combobox-selection-item])[aria-disabled=true i] {
362
+ --oui-background-percentage: 80%;
363
+ --oui-foreground-percentage: 25%;
364
+ --oui-shadow-percentage: 92.5%;
365
+ font-style: italic;
366
+ }
367
+ :where([oui-combobox-selection-item]) {
368
+ --oui-background-value: var(--oui-blue-2);
264
369
  --oui-foreground-value: var(--oui-blue-8);
370
+ --oui-outline-value: var(--oui-blue-6);
265
371
  --oui-shadow-percentage: 90%;
266
372
  padding: 0.5em 1em;
267
373
  flex-wrap: nowrap;
@@ -1,5 +1,6 @@
1
1
  /*! https://github.com/oscarpalmer/oui */
2
2
 
3
+
3
4
  :where(.oui-card) {
4
5
  box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px color-mix(in oklab, var(--oui-gray-6), transparent 92.5%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-gray-6), transparent 92.5%), 0 2px 4px -1px color-mix(in oklab, var(--oui-gray-6), transparent 92.5%);
5
6
  padding: 1em 1.25em;
@@ -31,7 +32,7 @@
31
32
  mask-position: center;
32
33
  -webkit-mask-repeat: no-repeat;
33
34
  mask-repeat: no-repeat;
34
- transition: 0.125s ease-in-out;
35
+ transition: transform 0.125s ease-in-out;
35
36
  transform: rotate(-90deg);
36
37
  }
37
38
  :where(.oui-details > summary):focus-visible {
@@ -75,7 +76,7 @@
75
76
  border-radius: 0.375em;
76
77
  }
77
78
  :where(.oui-meter)::-moz-meter-bar {
78
- box-shadow: inset 0 1px 0 0 color-mix(in oklab, white, transparent 82.5%), 0 0 0 1px color-mix(in oklab, var(--oui-blue-6), transparent 33%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-blue-6), transparent 33%);
79
+ box-shadow: inset 0 1px 0 0 color-mix(in oklab, var(--oui-absolute), transparent 82.5%), 0 0 0 1px color-mix(in oklab, var(--oui-blue-6), transparent 33%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-blue-6), transparent 33%);
79
80
  -webkit-appearance: none;
80
81
  -moz-appearance: none;
81
82
  appearance: none;
@@ -85,7 +86,7 @@
85
86
  border-radius: 0.25em;
86
87
  }
87
88
  :where(.oui-meter):-moz-meter-optimum::-moz-meter-bar {
88
- box-shadow: inset 0 1px 0 0 color-mix(in oklab, white, transparent 82.5%), 0 0 0 1px color-mix(in oklab, var(--oui-green-6), transparent 33%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-green-6), transparent 33%);
89
+ box-shadow: inset 0 1px 0 0 color-mix(in oklab, var(--oui-absolute), transparent 82.5%), 0 0 0 1px color-mix(in oklab, var(--oui-green-6), transparent 33%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-green-6), transparent 33%);
89
90
  -webkit-appearance: none;
90
91
  -moz-appearance: none;
91
92
  appearance: none;
@@ -95,7 +96,7 @@
95
96
  border-radius: 0.25em;
96
97
  }
97
98
  :where(.oui-meter):-moz-meter-sub-optimum::-moz-meter-bar {
98
- box-shadow: inset 0 1px 0 0 color-mix(in oklab, white, transparent 82.5%), 0 0 0 1px color-mix(in oklab, var(--oui-yellow-6), transparent 33%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-yellow-6), transparent 33%);
99
+ box-shadow: inset 0 1px 0 0 color-mix(in oklab, var(--oui-absolute), transparent 82.5%), 0 0 0 1px color-mix(in oklab, var(--oui-yellow-6), transparent 33%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-yellow-6), transparent 33%);
99
100
  -webkit-appearance: none;
100
101
  -moz-appearance: none;
101
102
  appearance: none;
@@ -105,7 +106,7 @@
105
106
  border-radius: 0.25em;
106
107
  }
107
108
  :where(.oui-meter):-moz-meter-sub-sub-optimum::-moz-meter-bar {
108
- box-shadow: inset 0 1px 0 0 color-mix(in oklab, white, transparent 82.5%), 0 0 0 1px color-mix(in oklab, var(--oui-red-6), transparent 33%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-red-6), transparent 33%);
109
+ box-shadow: inset 0 1px 0 0 color-mix(in oklab, var(--oui-absolute), transparent 82.5%), 0 0 0 1px color-mix(in oklab, var(--oui-red-6), transparent 33%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-red-6), transparent 33%);
109
110
  -webkit-appearance: none;
110
111
  -moz-appearance: none;
111
112
  appearance: none;
@@ -120,7 +121,7 @@
120
121
  background: none;
121
122
  }
122
123
  :where(.oui-meter)::-webkit-meter-even-less-good-value {
123
- box-shadow: inset 0 1px 0 0 color-mix(in oklab, white, transparent 82.5%), 0 0 0 1px color-mix(in oklab, var(--oui-red-6), transparent 33%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-red-6), transparent 33%);
124
+ box-shadow: inset 0 1px 0 0 color-mix(in oklab, var(--oui-absolute), transparent 82.5%), 0 0 0 1px color-mix(in oklab, var(--oui-red-6), transparent 33%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-red-6), transparent 33%);
124
125
  -webkit-appearance: none;
125
126
  -moz-appearance: none;
126
127
  appearance: none;
@@ -130,7 +131,7 @@
130
131
  border-radius: 0.25em;
131
132
  }
132
133
  :where(.oui-meter)::-webkit-meter-optimum-value {
133
- box-shadow: inset 0 1px 0 0 color-mix(in oklab, white, transparent 82.5%), 0 0 0 1px color-mix(in oklab, var(--oui-green-6), transparent 33%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-green-6), transparent 33%);
134
+ box-shadow: inset 0 1px 0 0 color-mix(in oklab, var(--oui-absolute), transparent 82.5%), 0 0 0 1px color-mix(in oklab, var(--oui-green-6), transparent 33%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-green-6), transparent 33%);
134
135
  -webkit-appearance: none;
135
136
  -moz-appearance: none;
136
137
  appearance: none;
@@ -140,7 +141,7 @@
140
141
  border-radius: 0.25em;
141
142
  }
142
143
  :where(.oui-meter)::-webkit-meter-suboptimum-value {
143
- box-shadow: inset 0 1px 0 0 color-mix(in oklab, white, transparent 82.5%), 0 0 0 1px color-mix(in oklab, var(--oui-yellow-6), transparent 33%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-yellow-6), transparent 33%);
144
+ box-shadow: inset 0 1px 0 0 color-mix(in oklab, var(--oui-absolute), transparent 82.5%), 0 0 0 1px color-mix(in oklab, var(--oui-yellow-6), transparent 33%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-yellow-6), transparent 33%);
144
145
  -webkit-appearance: none;
145
146
  -moz-appearance: none;
146
147
  appearance: none;
@@ -163,7 +164,7 @@
163
164
  border-radius: 0.375em;
164
165
  }
165
166
  :where(.oui-progress)::-moz-progress-bar {
166
- box-shadow: inset 0 1px 0 0 color-mix(in oklab, white, transparent 82.5%), 0 0 0 1px color-mix(in oklab, var(--oui-blue-6), transparent 33%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-blue-6), transparent 33%);
167
+ box-shadow: inset 0 1px 0 0 color-mix(in oklab, var(--oui-absolute), transparent 82.5%), 0 0 0 1px color-mix(in oklab, var(--oui-blue-6), transparent 33%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-blue-6), transparent 33%);
167
168
  -webkit-appearance: none;
168
169
  -moz-appearance: none;
169
170
  appearance: none;
@@ -178,7 +179,7 @@
178
179
  background: none;
179
180
  }
180
181
  :where(.oui-progress)::-webkit-progress-value {
181
- box-shadow: inset 0 1px 0 0 color-mix(in oklab, white, transparent 82.5%), 0 0 0 1px color-mix(in oklab, var(--oui-blue-6), transparent 33%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-blue-6), transparent 33%);
182
+ box-shadow: inset 0 1px 0 0 color-mix(in oklab, var(--oui-absolute), transparent 82.5%), 0 0 0 1px color-mix(in oklab, var(--oui-blue-6), transparent 33%), 0 1px 2px -0.5px color-mix(in oklab, var(--oui-blue-6), transparent 33%);
182
183
  -webkit-appearance: none;
183
184
  -moz-appearance: none;
184
185
  appearance: none;
@@ -188,4 +189,23 @@
188
189
  border-radius: 0.25em;
189
190
  }
190
191
 
192
+ :where(.oui-shadow), :where(.oui-shadow-0) {
193
+ box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px rgba(0, 0, 0, 0.05), 0 1px 2px -0.5px rgba(0, 0, 0, 0.05);
194
+ }
195
+ :where(.oui-shadow-1) {
196
+ box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px rgba(0, 0, 0, 0.05), 0 1px 2px -0.5px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.05);
197
+ }
198
+ :where(.oui-shadow-2) {
199
+ box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px rgba(0, 0, 0, 0.05), 0 1px 2px -0.5px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.05), 0 4px 8px -2px rgba(0, 0, 0, 0.05);
200
+ }
201
+ :where(.oui-shadow-3) {
202
+ box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px rgba(0, 0, 0, 0.05), 0 1px 2px -0.5px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.05), 0 4px 8px -2px rgba(0, 0, 0, 0.05), 0 8px 16px -4px rgba(0, 0, 0, 0.05);
203
+ }
204
+ :where(.oui-shadow-4) {
205
+ box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px rgba(0, 0, 0, 0.05), 0 1px 2px -0.5px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.05), 0 4px 8px -2px rgba(0, 0, 0, 0.05), 0 8px 16px -4px rgba(0, 0, 0, 0.05), 0 16px 32px -8px rgba(0, 0, 0, 0.05);
206
+ }
207
+ :where(.oui-shadow-5) {
208
+ box-shadow: inset 0 1px 0 0 transparent, 0 0 0 1px rgba(0, 0, 0, 0.05), 0 1px 2px -0.5px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.05), 0 4px 8px -2px rgba(0, 0, 0, 0.05), 0 8px 16px -4px rgba(0, 0, 0, 0.05), 0 16px 32px -8px rgba(0, 0, 0, 0.05), 0 32px 64px -16px rgba(0, 0, 0, 0.05), 0 64px 128px -32px rgba(0, 0, 0, 0.05);
209
+ }
210
+
191
211
 
@@ -1,3 +1,5 @@
1
+ /*! https://github.com/oscarpalmer/oui */
2
+
1
3
 
2
4
  :where([oui-dialog], [oui-popover], [oui-tooltip-content]),
3
5
  :where([oui-dialog])::backdrop {
@@ -47,16 +49,16 @@
47
49
  inset-block: var(--margin-top) var(--margin-bottom);
48
50
  inset-inline: var(--margin-left) var(--margin-right);
49
51
  }
50
- :where([oui-popover], [oui-tooltip-content])[oui-position$=bottom] {
52
+ :where([oui-popover], [oui-tooltip-content])[oui-position$=bottom i] {
51
53
  --margin-bottom: 0;
52
54
  }
53
- :where([oui-popover], [oui-tooltip-content])[oui-position$=end] {
55
+ :where([oui-popover], [oui-tooltip-content])[oui-position$=end i] {
54
56
  --margin-right: 0;
55
57
  }
56
- :where([oui-popover], [oui-tooltip-content])[oui-position$=start] {
58
+ :where([oui-popover], [oui-tooltip-content])[oui-position$=start i] {
57
59
  --margin-left: 0;
58
60
  }
59
- :where([oui-popover], [oui-tooltip-content])[oui-position$=top] {
61
+ :where([oui-popover], [oui-tooltip-content])[oui-position$=top i] {
60
62
  --margin-top: 0;
61
63
  }
62
64
 
@@ -105,24 +107,24 @@ var)) {
105
107
  display: block;
106
108
  position: absolute;
107
109
  }
108
- :where([oui-tooltip-content])[oui-position^=above]::after, :where([oui-tooltip-content])[oui-position^=below]::after, :where([oui-tooltip-content])[oui-position^=bottom]::after, :where([oui-tooltip-content])[oui-position^=top]::after {
110
+ :where([oui-tooltip-content])[oui-position^=above i]::after, :where([oui-tooltip-content])[oui-position^=below i]::after, :where([oui-tooltip-content])[oui-position^=bottom i]::after, :where([oui-tooltip-content])[oui-position^=top i]::after {
109
111
  width: 100%;
110
112
  height: 1em;
111
113
  }
112
- :where([oui-tooltip-content])[oui-position^=above]::after, :where([oui-tooltip-content])[oui-position^=top]::after {
114
+ :where([oui-tooltip-content])[oui-position^=above i]::after, :where([oui-tooltip-content])[oui-position^=top i]::after {
113
115
  inset: calc(100% - 0.5em) 0 0;
114
116
  }
115
- :where([oui-tooltip-content])[oui-position^=below]::after, :where([oui-tooltip-content])[oui-position^=bottom]::after {
117
+ :where([oui-tooltip-content])[oui-position^=below i]::after, :where([oui-tooltip-content])[oui-position^=bottom i]::after {
116
118
  inset: -0.5em 0 0;
117
119
  }
118
- :where([oui-tooltip-content])[oui-position^=end]::after, :where([oui-tooltip-content])[oui-position^=left]::after, :where([oui-tooltip-content])[oui-position^=right]::after, :where([oui-tooltip-content])[oui-position^=start]::after {
120
+ :where([oui-tooltip-content])[oui-position^=end i]::after, :where([oui-tooltip-content])[oui-position^=left i]::after, :where([oui-tooltip-content])[oui-position^=right i]::after, :where([oui-tooltip-content])[oui-position^=start i]::after {
119
121
  width: 1em;
120
122
  height: 100%;
121
123
  }
122
- :where([oui-tooltip-content])[oui-position^=end]::after, :where([oui-tooltip-content])[oui-position^=right]::after {
124
+ :where([oui-tooltip-content])[oui-position^=end i]::after, :where([oui-tooltip-content])[oui-position^=right i]::after {
123
125
  inset: 0 0 0 -0.5em;
124
126
  }
125
- :where([oui-tooltip-content])[oui-position^=left]::after, :where([oui-tooltip-content])[oui-position^=start]::after {
127
+ :where([oui-tooltip-content])[oui-position^=left i]::after, :where([oui-tooltip-content])[oui-position^=start i]::after {
126
128
  inset: 0 0 0 calc(100% - 0.5em);
127
129
  }
128
130