@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.
- package/dist/css/a11y.css +1 -0
- package/dist/css/badge.css +19 -15
- package/dist/css/button.css +40 -31
- package/dist/css/color-picker.css +377 -0
- package/dist/css/color.css +20 -21
- package/dist/css/combobox.css +140 -34
- package/dist/css/content.css +30 -10
- package/dist/css/floatable.css +12 -10
- package/dist/css/form.css +400 -129
- package/dist/css/listbox.css +43 -17
- package/dist/css/message.css +15 -10
- package/dist/css/mixins/badge.mixins.css +2 -0
- package/dist/css/mixins/button.mixins.css +2 -0
- package/dist/css/mixins/message.mixins.css +1 -0
- package/dist/css/mixins/misc.mixins.css +2 -0
- package/dist/css/mixins/shadow.mixins.css +1 -0
- package/dist/css/reset.css +31 -90
- package/dist/css/splitter.css +3 -3
- package/dist/css/tabs.css +103 -0
- package/dist/js/color-picker.d.mts +213 -0
- package/dist/js/color-picker.mjs +924 -0
- package/dist/js/combobox/dom.combobox.mjs +8 -4
- package/dist/js/combobox/event.combobox.mjs +1 -1
- package/dist/js/combobox/index.d.mts +1 -1
- package/dist/js/combobox/index.mjs +56 -2
- package/dist/js/combobox/misc.combobox.d.mts +1 -1
- package/dist/js/combobox/misc.combobox.mjs +1 -1
- package/dist/js/combobox/state.combobox.d.mts +1 -1
- package/dist/js/combobox/state.combobox.mjs +1 -1
- package/dist/js/dialog.mjs +2 -2
- package/dist/js/floatable/floatable.embedded.mjs +13 -10
- package/dist/js/focus-trap/focus-trap.embedded.mjs +9 -13
- package/dist/js/{index-EfkUSals.d.mts → index-DJdFlTLm.d.mts} +39 -1
- package/dist/js/index.d.mts +4 -2
- package/dist/js/index.mjs +5 -3
- package/dist/js/internal/draggable.mjs +20 -26
- package/dist/js/internal/listbox/listbox.data.mjs +1 -1
- package/dist/js/internal/listbox/listbox.dom.mjs +1 -1
- package/dist/js/internal/listbox/listbox.event.mjs +1 -1
- package/dist/js/internal/listbox/listbox.form.mjs +17 -16
- package/dist/js/internal/listbox/listbox.misc.mjs +1 -1
- package/dist/js/internal/listbox/listbox.state.mjs +4 -4
- package/dist/js/internal/navigable.d.mts +11 -5
- package/dist/js/internal/navigable.mjs +46 -19
- package/dist/js/listbox/event.listbox.mjs +1 -1
- package/dist/js/listbox/index.d.mts +38 -0
- package/dist/js/listbox/index.mjs +56 -2
- package/dist/js/listbox/misc.listbox.mjs +1 -1
- package/dist/js/listbox/state.listbox.mjs +1 -1
- package/dist/js/{listbox.data-BWd0PCy7.mjs → listbox.data-C7CRa5Ya.mjs} +5 -4
- package/dist/js/menu.mjs +1 -1
- package/dist/js/{misc.listbox-BI-XsTOf.mjs → misc.listbox-Cyz2CRDy.mjs} +2 -3
- package/dist/js/movable/movable.embedded.mjs +5 -8
- package/dist/js/popover.mjs +2 -2
- package/dist/js/resizable/resizable.embedded.mjs +21 -31
- package/dist/js/sortable/sortable.embedded.mjs +4 -4
- package/dist/js/splitter.mjs +20 -17
- package/dist/js/{state.combobox-4xq0FPCF.mjs → state.combobox-Qm3FWzYW.mjs} +3 -3
- package/dist/js/tabs.d.mts +25 -0
- package/dist/js/tabs.mjs +237 -0
- package/dist/js/tooltip.mjs +16 -15
- package/package.json +7 -5
- package/src/css/a11y.scss +2 -2
- package/src/css/badge.scss +8 -20
- package/src/css/button.scss +8 -47
- package/src/css/color-picker.scss +344 -0
- package/src/css/color.scss +20 -22
- package/src/css/combobox.scss +29 -57
- package/src/css/content.scss +34 -6
- package/src/css/floatable.scss +22 -19
- package/src/css/form.scss +94 -80
- package/src/css/listbox.scss +6 -34
- package/src/css/message.scss +16 -30
- package/src/css/mixins/badge.mixins.scss +53 -0
- package/src/css/mixins/button.mixins.scss +112 -0
- package/src/css/mixins/input.mixins.scss +114 -0
- package/src/css/mixins/message.mixins.scss +41 -0
- package/src/css/mixins/misc.mixins.scss +48 -0
- package/src/css/mixins/shadow.mixins.scss +57 -0
- package/src/css/reset.scss +39 -88
- package/src/css/splitter.scss +3 -3
- package/src/css/tabs.scss +74 -0
- package/src/js/color-picker.ts +1653 -0
- package/src/js/combobox/dom.combobox.ts +4 -0
- package/src/js/combobox/index.ts +63 -1
- package/src/js/dialog.ts +1 -1
- package/src/js/floatable/floatable.embedded.ts +18 -14
- package/src/js/focus-trap/focus-trap.embedded.ts +11 -19
- package/src/js/index.ts +2 -0
- package/src/js/internal/draggable.ts +29 -33
- package/src/js/internal/listbox/listbox.dom.ts +2 -1
- package/src/js/internal/listbox/listbox.form.ts +32 -22
- package/src/js/internal/listbox/listbox.state.ts +3 -3
- package/src/js/internal/navigable.ts +82 -23
- package/src/js/listbox/index.ts +62 -0
- package/src/js/listbox/state.listbox.ts +0 -2
- package/src/js/movable/movable.embedded.ts +11 -13
- package/src/js/popover.ts +1 -1
- package/src/js/resizable/resizable.embedded.ts +25 -39
- package/src/js/splitter.ts +21 -18
- package/src/js/tabs.ts +441 -0
- package/src/js/tooltip.ts +20 -17
- package/src/css/mixins.scss +0 -194
- /package/dist/css/{mixins.css → mixins/input.mixins.css} +0 -0
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
/*! https://github.com/oscarpalmer/oui */
|
|
2
|
+
|
|
3
|
+
@use './mixins/button.mixins.scss' as buttonMixins;
|
|
4
|
+
@use './mixins/input.mixins.scss' as inputMixins;
|
|
5
|
+
@use './mixins/misc.mixins.scss' as miscMixins;
|
|
6
|
+
@use './mixins/shadow.mixins.scss' as shadowMixins;
|
|
7
|
+
|
|
8
|
+
oui-color-picker {
|
|
9
|
+
:where(&) {
|
|
10
|
+
outline: none;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
:where(
|
|
15
|
+
oui-color-picker[inline] [oui-color-picker-content],
|
|
16
|
+
[oui-color-picker-content]:popover-open
|
|
17
|
+
) {
|
|
18
|
+
display: flex !important;
|
|
19
|
+
flex-flow: column nowrap;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
:where(
|
|
23
|
+
oui-color-picker[inline] [oui-color-picker-content],
|
|
24
|
+
[oui-color-picker-hue],
|
|
25
|
+
[oui-color-picker-opacity]
|
|
26
|
+
) {
|
|
27
|
+
margin: 1em 0 0;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
[oui-color-picker-anchor] {
|
|
31
|
+
:where(&) {
|
|
32
|
+
display: flex;
|
|
33
|
+
flex-flow: row nowrap;
|
|
34
|
+
align-items: stretch;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
& * {
|
|
38
|
+
:where(&) {
|
|
39
|
+
position: relative;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
:where(&:focus) {
|
|
43
|
+
z-index: 1;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@media (hover: hover) {
|
|
47
|
+
:where(&:hover) {
|
|
48
|
+
z-index: 1;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
[oui-color-picker-button] {
|
|
55
|
+
:where(&) {
|
|
56
|
+
@include buttonMixins.button;
|
|
57
|
+
@include shadowMixins.shadow-1(var(--oui-shadow-value));
|
|
58
|
+
|
|
59
|
+
--oui-background-value: var(--oui-color-picker-hex);
|
|
60
|
+
--oui-outline-value: var(--oui-gray-6);
|
|
61
|
+
|
|
62
|
+
width: 2.5em;
|
|
63
|
+
margin: 1px 0;
|
|
64
|
+
border: 2px solid var(--oui-absolute);
|
|
65
|
+
border-top-left-radius: 0;
|
|
66
|
+
border-bottom-left-radius: 0;
|
|
67
|
+
position: relative;
|
|
68
|
+
|
|
69
|
+
&::after {
|
|
70
|
+
display: none;
|
|
71
|
+
color: var(--oui-color-picker-foreground);
|
|
72
|
+
font-size: 8px;
|
|
73
|
+
position: absolute;
|
|
74
|
+
inset: 50% auto auto 50%;
|
|
75
|
+
transform: translate3d(-50%, -50%, 0);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
&[aria-expanded='false' i]::after {
|
|
79
|
+
content: '▶';
|
|
80
|
+
display: inline-flex;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
&[aria-expanded='true' i]::after {
|
|
84
|
+
content: '▼';
|
|
85
|
+
display: inline-flex;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
:where(&:active) {
|
|
90
|
+
scale: 1;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
[oui-color-picker-content] {
|
|
95
|
+
&[popover] {
|
|
96
|
+
:where(&) {
|
|
97
|
+
@include miscMixins.floatable;
|
|
98
|
+
@include shadowMixins.shadow-5;
|
|
99
|
+
|
|
100
|
+
min-width: anchor-size(width);
|
|
101
|
+
border-radius: 0.25em;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
:where(&:not(:has(> [oui-color-picker-opacity]))) {
|
|
105
|
+
border-radius: 0.25em 0.25em 0.75em 0.75em;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
:where(
|
|
109
|
+
[oui-color-picker-content],
|
|
110
|
+
[oui-color-picker-hue],
|
|
111
|
+
[oui-color-picker-opacity],
|
|
112
|
+
[oui-color-picker-well]
|
|
113
|
+
) {
|
|
114
|
+
margin: 1em 1em 0;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
:where(& > :last-child) {
|
|
118
|
+
margin-bottom: 1em !important;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
:where([oui-color-picker-hue], [oui-color-picker-opacity]) {
|
|
124
|
+
position: relative;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
:where([oui-color-picker-hue-input], [oui-color-picker-opacity-input]) {
|
|
128
|
+
opacity: 0;
|
|
129
|
+
position: absolute;
|
|
130
|
+
inset: -0.25em -0.75em;
|
|
131
|
+
z-index: 1;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
:where([oui-color-picker-hue-label], [oui-color-picker-opacity-label]) {
|
|
135
|
+
display: none;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
:where([oui-color-picker-hue-knob]),
|
|
139
|
+
:where([oui-color-picker-hue-track]),
|
|
140
|
+
:where([oui-color-picker-opacity-knob]),
|
|
141
|
+
:where([oui-color-picker-opacity-track]),
|
|
142
|
+
:where([oui-color-picker-well-knob]) {
|
|
143
|
+
--oui-outline-percentage: 100%;
|
|
144
|
+
--oui-outline-value: var(--oui-blue-6);
|
|
145
|
+
|
|
146
|
+
outline: 4px solid
|
|
147
|
+
color-mix(in oklab, var(--oui-outline-value), transparent var(--oui-outline-percentage));
|
|
148
|
+
transition: outline 0.125s ease-in-out;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
:where([oui-color-picker-hue-knob]),
|
|
152
|
+
:where([oui-color-picker-opacity-knob]),
|
|
153
|
+
:where([oui-color-picker-well-knob]) {
|
|
154
|
+
@include shadowMixins.shadow-5(rgb(0 0 0 / 6.25%));
|
|
155
|
+
|
|
156
|
+
width: 1.5em;
|
|
157
|
+
height: 1.5em;
|
|
158
|
+
border: 0.3333em solid var(--oui-absolute);
|
|
159
|
+
border-radius: 1.5em;
|
|
160
|
+
position: absolute;
|
|
161
|
+
z-index: 1;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
:where([oui-color-picker-hue-knob]),
|
|
165
|
+
:where([oui-color-picker-well-knob]) {
|
|
166
|
+
background-color: var(--oui-color-picker-hex);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
:where([oui-color-picker-hue-knob]),
|
|
170
|
+
:where([oui-color-picker-opacity-knob]) {
|
|
171
|
+
transform: translate3d(-50%, -0.25em, 0);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
:where([oui-color-picker-hue-knob]) {
|
|
175
|
+
inset: 0 0 0 calc((var(--oui-color-picker-hue) / 360) * 100%);
|
|
176
|
+
pointer-events: none;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
:where([oui-color-picker-hue-track]),
|
|
180
|
+
:where([oui-color-picker-opacity-track]),
|
|
181
|
+
:where([oui-color-picker-well]) {
|
|
182
|
+
box-shadow:
|
|
183
|
+
inset 0 0 0 1px rgb(0 0 0 / 5%),
|
|
184
|
+
inset 0 1px 2px -0.5px rgb(0 0 0 / 5%),
|
|
185
|
+
inset 0 2px 4px -1px rgb(0 0 0 / 5%),
|
|
186
|
+
inset 0 4px 8px -2px rgb(0 0 0 / 5%);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
:where([oui-color-picker-hue-track]),
|
|
190
|
+
:where([oui-color-picker-opacity-track]) {
|
|
191
|
+
height: 1em;
|
|
192
|
+
border: 1px solid transparent;
|
|
193
|
+
border-radius: 1em;
|
|
194
|
+
pointer-events: none;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
:where([oui-color-picker-hue-track]) {
|
|
198
|
+
background-image: linear-gradient(
|
|
199
|
+
to right,
|
|
200
|
+
hsl(0deg 100% 50%) 0%,
|
|
201
|
+
hsl(60deg 100% 50%) 16.6667%,
|
|
202
|
+
hsl(120deg 100% 50%) 33.3333%,
|
|
203
|
+
hsl(180deg 100% 50%) 50%,
|
|
204
|
+
hsl(240deg 100% 50%) 66.6667%,
|
|
205
|
+
hsl(300deg 100% 50%) 83.3333%,
|
|
206
|
+
hsl(360deg 100% 50%) 100%
|
|
207
|
+
);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
[oui-color-picker-hue-input]:focus-visible + [oui-color-picker-hue-track],
|
|
211
|
+
[oui-color-picker-opacity-input]:focus-visible + [oui-color-picker-opacity-track] {
|
|
212
|
+
:where(&, & [oui-color-picker-hue-knob], & [oui-color-picker-opacity-knob]) {
|
|
213
|
+
--oui-outline-percentage: 75%;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
:where(&) {
|
|
217
|
+
border-color: var(--oui-absolute);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
[oui-color-picker-input] {
|
|
222
|
+
:where(&) {
|
|
223
|
+
@include inputMixins.input;
|
|
224
|
+
|
|
225
|
+
--oui-background-value: var(--oui-absolute);
|
|
226
|
+
|
|
227
|
+
padding: 0.5em 0.75em;
|
|
228
|
+
border-radius: 0.25em;
|
|
229
|
+
font-family: monospace, monospace;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
:where(&:has(+ button)) {
|
|
233
|
+
border-radius: 0.25em 0 0 0.25em;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
:where(&:is([disabled], [aria-disabled='true' i])) {
|
|
237
|
+
--oui-background-percentage: 50%;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
:where([oui-color-picker-opacity-knob]) {
|
|
242
|
+
background-color: var(--oui-absolute);
|
|
243
|
+
background-image: linear-gradient(
|
|
244
|
+
to right,
|
|
245
|
+
color-mix(
|
|
246
|
+
in oklab,
|
|
247
|
+
var(--oui-color-picker-hex),
|
|
248
|
+
transparent calc((100 - var(--oui-color-picker-alpha)) * 1%)
|
|
249
|
+
)
|
|
250
|
+
0%,
|
|
251
|
+
color-mix(
|
|
252
|
+
in oklab,
|
|
253
|
+
var(--oui-color-picker-hex),
|
|
254
|
+
transparent calc((100 - var(--oui-color-picker-alpha)) * 1%)
|
|
255
|
+
)
|
|
256
|
+
100%
|
|
257
|
+
);
|
|
258
|
+
inset: 0 0 0 calc(var(--oui-color-picker-alpha) * 1%);
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
:where([oui-color-picker-opacity-track]) {
|
|
262
|
+
background-color: var(--oui-absolute);
|
|
263
|
+
background-image: linear-gradient(
|
|
264
|
+
to right,
|
|
265
|
+
transparent 0%,
|
|
266
|
+
hsl(var(--oui-color-picker-hue) 100% 50%) 100%
|
|
267
|
+
);
|
|
268
|
+
position: relative;
|
|
269
|
+
|
|
270
|
+
&::after {
|
|
271
|
+
content: '';
|
|
272
|
+
background-image:
|
|
273
|
+
linear-gradient(45deg, rgb(0 0 0 / 10%) 25%, transparent 25%),
|
|
274
|
+
linear-gradient(135deg, rgb(0 0 0 / 10%) 25%, transparent 25%),
|
|
275
|
+
linear-gradient(45deg, transparent 75%, rgb(0 0 0 / 10%) 75%),
|
|
276
|
+
linear-gradient(135deg, transparent 75%, rgb(0 0 0 / 10%) 75%);
|
|
277
|
+
background-size: 0.5em 0.5em;
|
|
278
|
+
background-position:
|
|
279
|
+
0 0,
|
|
280
|
+
0.25em 0,
|
|
281
|
+
0.25em -0.25em,
|
|
282
|
+
0 0.25em;
|
|
283
|
+
border-radius: 1em;
|
|
284
|
+
position: absolute;
|
|
285
|
+
inset: 0;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
[oui-color-picker-well] {
|
|
290
|
+
:where(&) {
|
|
291
|
+
--oui-outline-percentage: 100%;
|
|
292
|
+
--oui-outline-value: var(--oui-blue-6);
|
|
293
|
+
|
|
294
|
+
padding: 100% 0 0;
|
|
295
|
+
background-color: hsl(var(--oui-color-picker-hue) 100% 50%);
|
|
296
|
+
background-image:
|
|
297
|
+
linear-gradient(
|
|
298
|
+
to bottom,
|
|
299
|
+
hsl(0deg 0% 100%) 0%,
|
|
300
|
+
hsl(0deg 0% 100% / 0%) 50%,
|
|
301
|
+
hsl(0deg 0% 0% / 0%) 50%,
|
|
302
|
+
hsl(0deg 0% 0%) 100%
|
|
303
|
+
),
|
|
304
|
+
linear-gradient(to right, hsl(0deg 0% 50%) 0%, hsl(0deg 0% 50% / 0%) 100%);
|
|
305
|
+
outline: 4px solid
|
|
306
|
+
color-mix(in oklab, var(--oui-outline-value), transparent var(--oui-outline-percentage));
|
|
307
|
+
outline-offset: 4px;
|
|
308
|
+
border-radius: 0.125em;
|
|
309
|
+
position: relative;
|
|
310
|
+
transition: outline 0.125s ease-in-out;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
:where(&:has(:focus-visible)) {
|
|
314
|
+
--oui-outline-percentage: 75%;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
@media (hover: hover) {
|
|
318
|
+
:where(&:hover) {
|
|
319
|
+
--oui-outline-percentage: 75%;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
[oui-color-picker-well-knob] {
|
|
325
|
+
:where(&) {
|
|
326
|
+
--oui-outline-value: var(--oui-absolute);
|
|
327
|
+
|
|
328
|
+
outline-offset: 2px;
|
|
329
|
+
inset: calc((100 - var(--oui-color-picker-lightness)) * 1%) 0 0
|
|
330
|
+
calc(var(--oui-color-picker-saturation) * 1%);
|
|
331
|
+
transform: translate3d(-50%, -50%, 0);
|
|
332
|
+
cursor: move;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
:where(&:focus-visible) {
|
|
336
|
+
--oui-outline-percentage: 33.3333%;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
@media (hover: hover) {
|
|
340
|
+
:where(&:hover) {
|
|
341
|
+
--oui-outline-percentage: 33.3333%;
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
}
|
package/src/css/color.scss
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
/*! https://github.com/oscarpalmer/oui */
|
|
2
2
|
|
|
3
|
-
@use './mixins' as mixins;
|
|
4
|
-
|
|
5
3
|
:root {
|
|
6
4
|
--oui-absolute: light-dark(white, black);
|
|
7
5
|
|
|
@@ -17,8 +15,8 @@
|
|
|
17
15
|
--oui-blue-9: light-dark(oklch(35% 0.1 251deg), oklch(90% 0.03 259deg));
|
|
18
16
|
--oui-blue-10: light-dark(oklch(30% 0.09 250deg), oklch(95% 0.02 260deg));
|
|
19
17
|
|
|
20
|
-
--oui-green-0: light-dark(oklch(99% 0.01 150deg), oklch(20% 0.08 140deg));
|
|
21
|
-
--oui-green-1: light-dark(oklch(98% 0.02 149deg), oklch(25% 0.09 141deg));
|
|
18
|
+
--oui-green-0: light-dark(oklch(99.5% 0.01 150deg), oklch(20% 0.08 140deg));
|
|
19
|
+
--oui-green-1: light-dark(oklch(98.25% 0.02 149deg), oklch(25% 0.09 141deg));
|
|
22
20
|
--oui-green-2: light-dark(oklch(95% 0.03 148deg), oklch(32% 0.1 142deg));
|
|
23
21
|
--oui-green-3: light-dark(oklch(90% 0.04 147deg), oklch(40% 0.09 143deg));
|
|
24
22
|
--oui-green-4: light-dark(oklch(80% 0.06 146deg), oklch(50% 0.08 144deg));
|
|
@@ -29,11 +27,11 @@
|
|
|
29
27
|
--oui-green-9: light-dark(oklch(35% 0.1 141deg), oklch(90% 0.03 149deg));
|
|
30
28
|
--oui-green-10: light-dark(oklch(30% 0.09 140deg), oklch(95% 0.02 150deg));
|
|
31
29
|
|
|
32
|
-
--oui-orange-0: light-dark(oklch(99% 0.02 60deg), oklch(20% 0.08 50deg));
|
|
33
|
-
--oui-orange-1: light-dark(oklch(98.
|
|
34
|
-
--oui-orange-2: light-dark(oklch(97% 0.05 58deg), oklch(32% 0.1 52deg));
|
|
35
|
-
--oui-orange-3: light-dark(oklch(93% 0.07 57deg), oklch(40% 0.09 53deg));
|
|
36
|
-
--oui-orange-4: light-dark(oklch(87% 0.1 56deg), oklch(50% 0.08 54deg));
|
|
30
|
+
--oui-orange-0: light-dark(oklch(99.5% 0.02 60deg), oklch(20% 0.08 50deg));
|
|
31
|
+
--oui-orange-1: light-dark(oklch(98.75% 0.035 59deg), oklch(25% 0.09 51deg));
|
|
32
|
+
--oui-orange-2: light-dark(oklch(97.5% 0.05 58deg), oklch(32% 0.1 52deg));
|
|
33
|
+
--oui-orange-3: light-dark(oklch(93.25% 0.07 57deg), oklch(40% 0.09 53deg));
|
|
34
|
+
--oui-orange-4: light-dark(oklch(87.125% 0.1 56deg), oklch(50% 0.08 54deg));
|
|
37
35
|
--oui-orange-5: light-dark(oklch(76% 0.11 55deg), oklch(60% 0.07 55deg));
|
|
38
36
|
--oui-orange-6: light-dark(oklch(65% 0.12 54deg), oklch(70% 0.06 56deg));
|
|
39
37
|
--oui-orange-7: light-dark(oklch(55% 0.14 53deg), oklch(80% 0.05 57deg));
|
|
@@ -41,8 +39,8 @@
|
|
|
41
39
|
--oui-orange-9: light-dark(oklch(37.5% 0.11 51deg), oklch(90% 0.03 59deg));
|
|
42
40
|
--oui-orange-10: light-dark(oklch(30% 0.09 50deg), oklch(95% 0.02 60deg));
|
|
43
41
|
|
|
44
|
-
--oui-purple-0: light-dark(oklch(99% 0.02 300deg), oklch(20% 0.08 290deg));
|
|
45
|
-
--oui-purple-1: light-dark(oklch(98% 0.035 299deg), oklch(25% 0.09 291deg));
|
|
42
|
+
--oui-purple-0: light-dark(oklch(99.5% 0.02 300deg), oklch(20% 0.08 290deg));
|
|
43
|
+
--oui-purple-1: light-dark(oklch(98.25% 0.035 299deg), oklch(25% 0.09 291deg));
|
|
46
44
|
--oui-purple-2: light-dark(oklch(95% 0.05 298deg), oklch(32% 0.1 292deg));
|
|
47
45
|
--oui-purple-3: light-dark(oklch(90% 0.07 297deg), oklch(40% 0.09 293deg));
|
|
48
46
|
--oui-purple-4: light-dark(oklch(80% 0.1 296deg), oklch(50% 0.08 294deg));
|
|
@@ -53,11 +51,11 @@
|
|
|
53
51
|
--oui-purple-9: light-dark(oklch(35% 0.11 291deg), oklch(90% 0.03 299deg));
|
|
54
52
|
--oui-purple-10: light-dark(oklch(30% 0.09 290deg), oklch(95% 0.02 300deg));
|
|
55
53
|
|
|
56
|
-
--oui-red-0: light-dark(oklch(99% 0.024 25deg), oklch(20% 0.08 25deg));
|
|
57
|
-
--oui-red-1: light-dark(oklch(98.
|
|
58
|
-
--oui-red-2: light-dark(oklch(97% 0.05 23deg), oklch(32% 0.1 23deg));
|
|
59
|
-
--oui-red-3: light-dark(oklch(93% 0.07 22deg), oklch(40% 0.09 22deg));
|
|
60
|
-
--oui-red-4: light-dark(oklch(87% 0.1 21deg), oklch(50% 0.08 21deg));
|
|
54
|
+
--oui-red-0: light-dark(oklch(99.5% 0.024 25deg), oklch(20% 0.08 25deg));
|
|
55
|
+
--oui-red-1: light-dark(oklch(98.75% 0.032 24deg), oklch(25% 0.09 24deg));
|
|
56
|
+
--oui-red-2: light-dark(oklch(97.5% 0.05 23deg), oklch(32% 0.1 23deg));
|
|
57
|
+
--oui-red-3: light-dark(oklch(93.25% 0.07 22deg), oklch(40% 0.09 22deg));
|
|
58
|
+
--oui-red-4: light-dark(oklch(87.125% 0.1 21deg), oklch(50% 0.08 21deg));
|
|
61
59
|
--oui-red-5: light-dark(oklch(76% 0.11 20deg), oklch(60% 0.07 20deg));
|
|
62
60
|
--oui-red-6: light-dark(oklch(65% 0.12 19deg), oklch(70% 0.06 19deg));
|
|
63
61
|
--oui-red-7: light-dark(oklch(55% 0.14 18deg), oklch(80% 0.05 18deg));
|
|
@@ -65,10 +63,10 @@
|
|
|
65
63
|
--oui-red-9: light-dark(oklch(37.5% 0.11 16deg), oklch(90% 0.03 16deg));
|
|
66
64
|
--oui-red-10: light-dark(oklch(30% 0.09 15deg), oklch(95% 0.02 15deg));
|
|
67
65
|
|
|
68
|
-
--oui-yellow-0: light-dark(oklch(99% 0.02 100deg), oklch(20% 0.08 90deg));
|
|
66
|
+
--oui-yellow-0: light-dark(oklch(99.5% 0.02 100deg), oklch(20% 0.08 90deg));
|
|
69
67
|
--oui-yellow-1: light-dark(oklch(98.5% 0.035 99deg), oklch(25% 0.09 91deg));
|
|
70
|
-
--oui-yellow-2: light-dark(oklch(97% 0.05 98deg), oklch(32% 0.1 92deg));
|
|
71
|
-
--oui-yellow-3: light-dark(oklch(93% 0.07 97deg), oklch(40% 0.09 93deg));
|
|
68
|
+
--oui-yellow-2: light-dark(oklch(97.25% 0.05 98deg), oklch(32% 0.1 92deg));
|
|
69
|
+
--oui-yellow-3: light-dark(oklch(93.125% 0.07 97deg), oklch(40% 0.09 93deg));
|
|
72
70
|
--oui-yellow-4: light-dark(oklch(87% 0.1 96deg), oklch(50% 0.08 94deg));
|
|
73
71
|
--oui-yellow-5: light-dark(oklch(78% 0.11 95deg), oklch(60% 0.07 95deg));
|
|
74
72
|
--oui-yellow-6: light-dark(oklch(65% 0.12 94deg), oklch(70% 0.06 96deg));
|
|
@@ -78,7 +76,7 @@
|
|
|
78
76
|
--oui-yellow-10: light-dark(oklch(30% 0.09 90deg), oklch(95% 0.02 100deg));
|
|
79
77
|
|
|
80
78
|
--oui-gray-0: light-dark(oklch(98% 0 0deg), oklch(22% 0 0deg));
|
|
81
|
-
--oui-gray-1: light-dark(oklch(
|
|
79
|
+
--oui-gray-1: light-dark(oklch(97% 0 0deg), oklch(26% 0 0deg));
|
|
82
80
|
--oui-gray-2: light-dark(oklch(95% 0 0deg), oklch(32% 0 0deg));
|
|
83
81
|
--oui-gray-3: light-dark(oklch(90% 0 0deg), oklch(40% 0 0deg));
|
|
84
82
|
--oui-gray-4: light-dark(oklch(80% 0 0deg), oklch(50% 0 0deg));
|
|
@@ -101,8 +99,8 @@
|
|
|
101
99
|
--oui-slate-9: light-dark(oklch(35% 0.0075 255deg), oklch(90% 0.0075 255deg));
|
|
102
100
|
--oui-slate-10: light-dark(oklch(30% 0.005 255deg), oklch(95% 0.005 255deg));
|
|
103
101
|
|
|
104
|
-
--oui-stone-0: light-dark(oklch(99% 0.0033 95deg), oklch(22% 0.005 95deg));
|
|
105
|
-
--oui-stone-1: light-dark(oklch(98% 0.0067 95deg), oklch(26% 0.0075 95deg));
|
|
102
|
+
--oui-stone-0: light-dark(oklch(99.5% 0.0033 95deg), oklch(22% 0.005 95deg));
|
|
103
|
+
--oui-stone-1: light-dark(oklch(98.25% 0.0067 95deg), oklch(26% 0.0075 95deg));
|
|
106
104
|
--oui-stone-2: light-dark(oklch(95% 0.01 95deg), oklch(32% 0.01 95deg));
|
|
107
105
|
--oui-stone-3: light-dark(oklch(90% 0.0125 95deg), oklch(40% 0.0125 95deg));
|
|
108
106
|
--oui-stone-4: light-dark(oklch(80% 0.015 95deg), oklch(50% 0.015 95deg));
|
package/src/css/combobox.scss
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
/*! https://github.com/oscarpalmer/oui */
|
|
2
2
|
|
|
3
|
-
@use './mixins.scss' as
|
|
3
|
+
@use './mixins/button.mixins.scss' as buttonMixins;
|
|
4
|
+
@use './mixins/input.mixins.scss' as inputMixins;
|
|
5
|
+
@use './mixins/misc.mixins.scss' as miscMixins;
|
|
6
|
+
@use './mixins/shadow.mixins.scss' as shadowMixins;
|
|
4
7
|
|
|
5
8
|
[oui-combobox-anchor] {
|
|
6
9
|
:where(&) {
|
|
7
|
-
@include
|
|
10
|
+
@include inputMixins.input;
|
|
8
11
|
|
|
9
12
|
--oui-background-value: var(--oui-absolute);
|
|
10
13
|
|
|
@@ -17,32 +20,28 @@
|
|
|
17
20
|
position: relative;
|
|
18
21
|
}
|
|
19
22
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
+ [oui-combobox-content]:focus-within
|
|
25
|
-
)
|
|
26
|
-
) {
|
|
27
|
-
@include mixins.input-focus;
|
|
28
|
-
}
|
|
23
|
+
&:not([disabled], [readonly], [aria-disabled='true' i], [aria-readonly='true' i]) {
|
|
24
|
+
:where(&:focus-visible, &:focus-within, &:has(+ [oui-combobox-content]:focus-within)) {
|
|
25
|
+
@include inputMixins.input-focus;
|
|
26
|
+
}
|
|
29
27
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
@include mixins.input-hover;
|
|
28
|
+
@media (hover: hover) {
|
|
29
|
+
:where(&:hover) {
|
|
30
|
+
@include inputMixins.input-hover;
|
|
31
|
+
}
|
|
35
32
|
}
|
|
36
33
|
}
|
|
37
34
|
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
&:is([disabled], [readonly], [aria-disabled='true' i], [aria-readonly='true' i]) {
|
|
36
|
+
:where(&) {
|
|
37
|
+
--oui-foreground-percentage: 25%;
|
|
40
38
|
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
font-style: italic;
|
|
40
|
+
}
|
|
43
41
|
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
:where(&:focus-visible, &:focus-within, &:has(+ [oui-combobox-content]:focus-within)) {
|
|
43
|
+
--oui-outline-percentage: 75%;
|
|
44
|
+
}
|
|
46
45
|
}
|
|
47
46
|
|
|
48
47
|
:where(&:is([disabled], [aria-disabled='true' i])) {
|
|
@@ -62,8 +61,8 @@
|
|
|
62
61
|
}
|
|
63
62
|
|
|
64
63
|
:where([oui-combobox-content]) {
|
|
65
|
-
@include
|
|
66
|
-
@include
|
|
64
|
+
@include miscMixins.floatable;
|
|
65
|
+
@include shadowMixins.shadow-5;
|
|
67
66
|
|
|
68
67
|
width: fit-content;
|
|
69
68
|
height: fit-content;
|
|
@@ -99,7 +98,7 @@
|
|
|
99
98
|
}
|
|
100
99
|
|
|
101
100
|
:where([oui-combobox-filter-input]) {
|
|
102
|
-
@include
|
|
101
|
+
@include inputMixins.input;
|
|
103
102
|
|
|
104
103
|
--oui-background-value: var(--oui-absolute);
|
|
105
104
|
--oui-border-value: var(--oui-yellow-3);
|
|
@@ -109,30 +108,6 @@
|
|
|
109
108
|
outline-width: 0;
|
|
110
109
|
border-radius: 0.25em;
|
|
111
110
|
font-size: 0.875rem;
|
|
112
|
-
|
|
113
|
-
:where(&:focus) {
|
|
114
|
-
@include mixins.input-focus;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
@media (hover: hover) {
|
|
118
|
-
:where(&:hover) {
|
|
119
|
-
@include mixins.input-hover;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
:where(&:is([disabled], [readonly], [aria-disabled='true' i], [aria-readonly='true' i])) {
|
|
124
|
-
--oui-foreground-percentage: 25%;
|
|
125
|
-
|
|
126
|
-
font-style: italic;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
:where(&:is([disabled], [readonly], [aria-disabled='true' i], [aria-readonly='true' i]):focus) {
|
|
130
|
-
--oui-outline-percentage: 75%;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
:where(&:is([disabled], [aria-disabled='true' i])) {
|
|
134
|
-
--oui-background-percentage: 50%;
|
|
135
|
-
}
|
|
136
111
|
}
|
|
137
112
|
|
|
138
113
|
:where([oui-combobox-header]) {
|
|
@@ -146,7 +121,7 @@
|
|
|
146
121
|
}
|
|
147
122
|
|
|
148
123
|
:where([oui-combobox-hidden]) {
|
|
149
|
-
@include
|
|
124
|
+
@include miscMixins.visually-hidden;
|
|
150
125
|
|
|
151
126
|
position: absolute;
|
|
152
127
|
}
|
|
@@ -169,7 +144,6 @@
|
|
|
169
144
|
outline-offset: -4px;
|
|
170
145
|
line-height: 1.25;
|
|
171
146
|
cursor: pointer;
|
|
172
|
-
transition: 0.125s ease-in-out;
|
|
173
147
|
}
|
|
174
148
|
|
|
175
149
|
:where(&[aria-selected='true' i]) {
|
|
@@ -182,9 +156,7 @@
|
|
|
182
156
|
margin: 0 0.75em 0 0;
|
|
183
157
|
}
|
|
184
158
|
|
|
185
|
-
:
|
|
186
|
-
oui-combobox:not([disabled], [readonly], [aria-disabled='true' i], [aria-readonly='true' i]) &
|
|
187
|
-
) {
|
|
159
|
+
oui-combobox:not([disabled], [readonly], [aria-disabled='true' i], [aria-readonly='true' i]) & {
|
|
188
160
|
@media (hover: hover) {
|
|
189
161
|
:where(&:hover) {
|
|
190
162
|
background-color: var(--oui-blue-1);
|
|
@@ -215,11 +187,11 @@
|
|
|
215
187
|
|
|
216
188
|
[oui-combobox-selection-item] {
|
|
217
189
|
:where(&) {
|
|
218
|
-
@include
|
|
190
|
+
@include buttonMixins.button;
|
|
219
191
|
|
|
220
|
-
--oui-background-value: var(--oui-blue-
|
|
221
|
-
--oui-foreground-percentage: 12.5%;
|
|
192
|
+
--oui-background-value: var(--oui-blue-2);
|
|
222
193
|
--oui-foreground-value: var(--oui-blue-8);
|
|
194
|
+
--oui-outline-value: var(--oui-blue-6);
|
|
223
195
|
--oui-shadow-percentage: 90%;
|
|
224
196
|
|
|
225
197
|
padding: 0.5em 1em;
|
package/src/css/content.scss
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/*! https://github.com/oscarpalmer/oui */
|
|
2
2
|
|
|
3
|
-
@use './mixins' as
|
|
3
|
+
@use './mixins/misc.mixins.scss' as miscMixins;
|
|
4
|
+
@use './mixins/shadow.mixins.scss' as shadowMixins;
|
|
4
5
|
|
|
5
6
|
@mixin thumb($background, $shadow) {
|
|
6
|
-
@include
|
|
7
|
+
@include shadowMixins.shadow-0(
|
|
7
8
|
color-mix(in oklab, $shadow, transparent 33%),
|
|
8
|
-
color-mix(in oklab,
|
|
9
|
+
color-mix(in oklab, var(--oui-absolute), transparent 82.5%)
|
|
9
10
|
);
|
|
10
11
|
|
|
11
12
|
appearance: none;
|
|
@@ -28,7 +29,7 @@
|
|
|
28
29
|
|
|
29
30
|
.oui-card {
|
|
30
31
|
:where(&) {
|
|
31
|
-
@include
|
|
32
|
+
@include miscMixins.card;
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
|
|
@@ -56,7 +57,7 @@
|
|
|
56
57
|
mask-size: contain;
|
|
57
58
|
mask-position: center;
|
|
58
59
|
mask-repeat: no-repeat;
|
|
59
|
-
transition: 0.125s ease-in-out;
|
|
60
|
+
transition: transform 0.125s ease-in-out;
|
|
60
61
|
transform: rotate(-90deg);
|
|
61
62
|
}
|
|
62
63
|
|
|
@@ -85,7 +86,7 @@
|
|
|
85
86
|
|
|
86
87
|
.oui-formatted {
|
|
87
88
|
:where(&) {
|
|
88
|
-
@include
|
|
89
|
+
@include miscMixins.card;
|
|
89
90
|
|
|
90
91
|
color: var(--oui-gray-8);
|
|
91
92
|
font-family: monospace, monospace;
|
|
@@ -151,3 +152,30 @@
|
|
|
151
152
|
}
|
|
152
153
|
}
|
|
153
154
|
}
|
|
155
|
+
|
|
156
|
+
.oui-shadow {
|
|
157
|
+
:where(&),
|
|
158
|
+
:where(&-0) {
|
|
159
|
+
@include shadowMixins.shadow-0;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
:where(&-1) {
|
|
163
|
+
@include shadowMixins.shadow-1;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
:where(&-2) {
|
|
167
|
+
@include shadowMixins.shadow-2;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
:where(&-3) {
|
|
171
|
+
@include shadowMixins.shadow-3;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
:where(&-4) {
|
|
175
|
+
@include shadowMixins.shadow-4;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
:where(&-5) {
|
|
179
|
+
@include shadowMixins.shadow-5;
|
|
180
|
+
}
|
|
181
|
+
}
|