@olenbetong/appframe-ds 1.7.1 → 1.8.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/CHANGELOG.md +12 -0
- package/package.json +2 -2
- package/src/autocomplete/Autocomplete.css +260 -253
- package/src/autocomplete/Autocomplete.tsx +320 -320
- package/src/autocomplete/AutocompleteFrame.tsx +168 -168
- package/src/autocomplete/Combobox.tsx +286 -286
- package/src/autocomplete/index.ts +4 -4
- package/src/autocomplete/types.ts +204 -204
- package/src/autocomplete/utils.ts +183 -183
- package/src/grid/Toolbar.tsx +75 -10
- package/src/grid/index.tsx +4 -0
- package/src/input/InputAdornments.css +101 -80
- package/src/input/InputAdornments.tsx +102 -102
- package/src/input/NumberInput.css +9 -9
- package/src/input/NumberInput.test.tsx +212 -212
- package/src/input/NumberInput.tsx +268 -268
- package/src/input/index.ts +3 -3
- package/src/input/numberFormat.test.ts +79 -79
- package/src/input/numberFormat.ts +94 -94
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @olenbetong/appframe-ds
|
|
2
2
|
|
|
3
|
+
## 1.8.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- eb09c99: Grid toolbar buttons for compact toolbars: `GridToolbarFilterButton` and `GridToolbarRefreshButton` take `iconOnly`, and `GridToolbarMoreOptionsButton` takes `showColumns` (the column panel as a menu item) and extra items as `children`. The more menu now closes when an item is chosen.
|
|
8
|
+
|
|
9
|
+
## 1.7.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- c3e56aa: `InputAdornments` is as tall as a `Textfield` or `Combobox` beside it: the input and any Designsystemet button inside it now fit within the control's height instead of a full-size button making it taller. Both `InputAdornments` and `Combobox`/`Autocomplete` now start their text where a `Textfield` does, and `InputAdornments` uses a `Textfield`'s font size and the `Combobox` its placeholder colour, so the three line up side by side.
|
|
14
|
+
|
|
3
15
|
## 1.7.1
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@olenbetong/appframe-ds",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "Components that bind Designsystemet components to Appframe data objects",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./es/index.d.ts",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"@atlaskit/pragmatic-drag-and-drop-hitbox": "3.0.0",
|
|
65
65
|
"@base-ui/react": "1.9.0",
|
|
66
66
|
"@olenbetong/appframe-core": "^2.15.2",
|
|
67
|
-
"@olenbetong/appframe-data": "^1.8.
|
|
67
|
+
"@olenbetong/appframe-data": "^1.8.5",
|
|
68
68
|
"@olenbetong/appframe-react": "^2.2.8",
|
|
69
69
|
"clsx": "^2.1.1",
|
|
70
70
|
"dockview-react": "8.6.1",
|
|
@@ -1,253 +1,260 @@
|
|
|
1
|
-
.ObAutocomplete-root {
|
|
2
|
-
--obAutocomplete-padding: 0.25rem;
|
|
3
|
-
--obAutocomplete-gap: 0.25rem;
|
|
4
|
-
|
|
5
|
-
display: inline-grid;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
/*
|
|
9
|
-
* The root is not a `.ds-field`, so it has to space its label, description,
|
|
10
|
-
* control and validation message itself. Mirrors `.ds-field > * + *`, including
|
|
11
|
-
* the description sitting tight under the label.
|
|
12
|
-
*/
|
|
13
|
-
.ObAutocomplete-root > * + * {
|
|
14
|
-
margin-block-start: var(--ds-size-2);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.ObAutocomplete-root > [data-field="description"] {
|
|
18
|
-
margin-block-start: 0;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.ObAutocomplete-root[data-full-width="true"] {
|
|
22
|
-
display: grid;
|
|
23
|
-
inline-size: 100%;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/*
|
|
27
|
-
* Font size is deliberately never set: `ds-input` inherits its font size when a
|
|
28
|
-
* `data-size` attribute is present, so referencing `--ds-font-size-*` here — which
|
|
29
|
-
* `data-size` rescales — would render the text smaller than a `Textfield` or
|
|
30
|
-
* `Select` of the same size. Only the padding varies per size, and only for the
|
|
31
|
-
* sizes Designsystemet components come in (sm, md, lg; xs and xl are typography-only).
|
|
32
|
-
*/
|
|
33
|
-
.ObAutocomplete-root[data-size="sm"] {
|
|
34
|
-
--obAutocomplete-padding: 0.25rem;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.ObAutocomplete-root[data-size="md"] {
|
|
38
|
-
--obAutocomplete-padding: 0.25rem;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
.ObAutocomplete-root[data-size="lg"] {
|
|
42
|
-
--obAutocomplete-padding: 0.375rem;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/*
|
|
46
|
-
* The control is the visual input: it owns the border, background, hover and
|
|
47
|
-
* focus styling, so the chips, the bare input and the buttons read as a single
|
|
48
|
-
* control. Mirrors how Designsystemet's Suggestion renders selected chips
|
|
49
|
-
* above the input.
|
|
50
|
-
*/
|
|
51
|
-
.ObAutocomplete-control {
|
|
52
|
-
display: flex;
|
|
53
|
-
flex-direction: column;
|
|
54
|
-
justify-content: center;
|
|
55
|
-
box-sizing: border-box;
|
|
56
|
-
gap: var(--obAutocomplete-gap);
|
|
57
|
-
padding: var(--obAutocomplete-padding);
|
|
58
|
-
inline-size: 100%;
|
|
59
|
-
/* Matches `--dsc-input-size`, so the control lines up with a Textfield. */
|
|
60
|
-
min-block-size: var(--ds-size-12);
|
|
61
|
-
color: var(--ds-color-neutral-text-default);
|
|
62
|
-
background-color: var(--ds-color-neutral-surface-default);
|
|
63
|
-
border: var(--ds-border-width-default) solid var(--ds-color-neutral-border-default);
|
|
64
|
-
border-radius: var(--ds-border-radius-md);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.ObAutocomplete-control:hover:not(:focus-within) {
|
|
68
|
-
border-color: var(--ds-color-neutral-border-strong);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
.ObAutocomplete-control:has(.ObAutocomplete-input:focus-visible) {
|
|
72
|
-
box-shadow: var(--dsc-focus-boxShadow);
|
|
73
|
-
outline: var(--dsc-focus-outline);
|
|
74
|
-
outline-offset: var(--ds-border-width-focus);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
.ObAutocomplete-control[data-invalid="true"] {
|
|
78
|
-
border-color: var(--ds-color-danger-border-default);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
.ObAutocomplete-control[data-disabled="true"] {
|
|
82
|
-
cursor: not-allowed;
|
|
83
|
-
opacity: var(--ds-opacity-disabled);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
.ObAutocomplete-chips {
|
|
87
|
-
display: flex;
|
|
88
|
-
flex-wrap: wrap;
|
|
89
|
-
gap: var(--obAutocomplete-gap);
|
|
90
|
-
padding: var(--obAutocomplete-padding);
|
|
91
|
-
padding-block-end: 0;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.ObAutocomplete-inputGroup {
|
|
95
|
-
display: flex;
|
|
96
|
-
align-items: center;
|
|
97
|
-
gap: var(--obAutocomplete-gap);
|
|
98
|
-
min-inline-size: 0;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
.ObAutocomplete-input {
|
|
102
|
-
flex: 1;
|
|
103
|
-
min-inline-size: 0;
|
|
104
|
-
padding: var(--ds-size-1);
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
background
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
.ObAutocomplete-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
.
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
1
|
+
.ObAutocomplete-root {
|
|
2
|
+
--obAutocomplete-padding: 0.25rem;
|
|
3
|
+
--obAutocomplete-gap: 0.25rem;
|
|
4
|
+
|
|
5
|
+
display: inline-grid;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/*
|
|
9
|
+
* The root is not a `.ds-field`, so it has to space its label, description,
|
|
10
|
+
* control and validation message itself. Mirrors `.ds-field > * + *`, including
|
|
11
|
+
* the description sitting tight under the label.
|
|
12
|
+
*/
|
|
13
|
+
.ObAutocomplete-root > * + * {
|
|
14
|
+
margin-block-start: var(--ds-size-2);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.ObAutocomplete-root > [data-field="description"] {
|
|
18
|
+
margin-block-start: 0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.ObAutocomplete-root[data-full-width="true"] {
|
|
22
|
+
display: grid;
|
|
23
|
+
inline-size: 100%;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/*
|
|
27
|
+
* Font size is deliberately never set: `ds-input` inherits its font size when a
|
|
28
|
+
* `data-size` attribute is present, so referencing `--ds-font-size-*` here — which
|
|
29
|
+
* `data-size` rescales — would render the text smaller than a `Textfield` or
|
|
30
|
+
* `Select` of the same size. Only the padding varies per size, and only for the
|
|
31
|
+
* sizes Designsystemet components come in (sm, md, lg; xs and xl are typography-only).
|
|
32
|
+
*/
|
|
33
|
+
.ObAutocomplete-root[data-size="sm"] {
|
|
34
|
+
--obAutocomplete-padding: 0.25rem;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.ObAutocomplete-root[data-size="md"] {
|
|
38
|
+
--obAutocomplete-padding: 0.25rem;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.ObAutocomplete-root[data-size="lg"] {
|
|
42
|
+
--obAutocomplete-padding: 0.375rem;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/*
|
|
46
|
+
* The control is the visual input: it owns the border, background, hover and
|
|
47
|
+
* focus styling, so the chips, the bare input and the buttons read as a single
|
|
48
|
+
* control. Mirrors how Designsystemet's Suggestion renders selected chips
|
|
49
|
+
* above the input.
|
|
50
|
+
*/
|
|
51
|
+
.ObAutocomplete-control {
|
|
52
|
+
display: flex;
|
|
53
|
+
flex-direction: column;
|
|
54
|
+
justify-content: center;
|
|
55
|
+
box-sizing: border-box;
|
|
56
|
+
gap: var(--obAutocomplete-gap);
|
|
57
|
+
padding: var(--obAutocomplete-padding);
|
|
58
|
+
inline-size: 100%;
|
|
59
|
+
/* Matches `--dsc-input-size`, so the control lines up with a Textfield. */
|
|
60
|
+
min-block-size: var(--ds-size-12);
|
|
61
|
+
color: var(--ds-color-neutral-text-default);
|
|
62
|
+
background-color: var(--ds-color-neutral-surface-default);
|
|
63
|
+
border: var(--ds-border-width-default) solid var(--ds-color-neutral-border-default);
|
|
64
|
+
border-radius: var(--ds-border-radius-md);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.ObAutocomplete-control:hover:not(:focus-within) {
|
|
68
|
+
border-color: var(--ds-color-neutral-border-strong);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.ObAutocomplete-control:has(.ObAutocomplete-input:focus-visible) {
|
|
72
|
+
box-shadow: var(--dsc-focus-boxShadow);
|
|
73
|
+
outline: var(--dsc-focus-outline);
|
|
74
|
+
outline-offset: var(--ds-border-width-focus);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.ObAutocomplete-control[data-invalid="true"] {
|
|
78
|
+
border-color: var(--ds-color-danger-border-default);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.ObAutocomplete-control[data-disabled="true"] {
|
|
82
|
+
cursor: not-allowed;
|
|
83
|
+
opacity: var(--ds-opacity-disabled);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.ObAutocomplete-chips {
|
|
87
|
+
display: flex;
|
|
88
|
+
flex-wrap: wrap;
|
|
89
|
+
gap: var(--obAutocomplete-gap);
|
|
90
|
+
padding: var(--obAutocomplete-padding);
|
|
91
|
+
padding-block-end: 0;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.ObAutocomplete-inputGroup {
|
|
95
|
+
display: flex;
|
|
96
|
+
align-items: center;
|
|
97
|
+
gap: var(--obAutocomplete-gap);
|
|
98
|
+
min-inline-size: 0;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.ObAutocomplete-input {
|
|
102
|
+
flex: 1;
|
|
103
|
+
min-inline-size: 0;
|
|
104
|
+
padding: var(--ds-size-1);
|
|
105
|
+
/* The text starts where a Textfield's does (its inline padding, inside the control's own). */
|
|
106
|
+
padding-inline-start: calc(var(--ds-size-3) - var(--obAutocomplete-padding));
|
|
107
|
+
font: inherit;
|
|
108
|
+
color: inherit;
|
|
109
|
+
background: transparent;
|
|
110
|
+
border: none;
|
|
111
|
+
outline: none;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/* Designsystemet's input placeholder colour, rather than the browser default grey. */
|
|
115
|
+
.ObAutocomplete-input::placeholder {
|
|
116
|
+
color: color-mix(in srgb, var(--ds-color-neutral-text-default), transparent 30%);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.ObAutocomplete-input:disabled {
|
|
120
|
+
cursor: not-allowed;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.ObAutocomplete-button {
|
|
124
|
+
display: inline-flex;
|
|
125
|
+
align-items: center;
|
|
126
|
+
justify-content: center;
|
|
127
|
+
flex: none;
|
|
128
|
+
padding: var(--ds-size-1);
|
|
129
|
+
color: inherit;
|
|
130
|
+
background: transparent;
|
|
131
|
+
border: none;
|
|
132
|
+
border-radius: var(--ds-border-radius-sm);
|
|
133
|
+
cursor: pointer;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.ObAutocomplete-button:hover:not(:disabled) {
|
|
137
|
+
background-color: var(--ds-color-neutral-surface-hover);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.ObAutocomplete-button:disabled {
|
|
141
|
+
cursor: not-allowed;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.ObAutocomplete-button[data-visible="false"] {
|
|
145
|
+
display: none;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.ObAutocomplete-trigger[data-popup-open] svg {
|
|
149
|
+
rotate: 180deg;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.ObAutocomplete-spinner {
|
|
153
|
+
flex: none;
|
|
154
|
+
display: inline-flex;
|
|
155
|
+
align-items: center;
|
|
156
|
+
padding-inline: var(--ds-size-1);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.ObAutocomplete-positioner {
|
|
160
|
+
z-index: 1500;
|
|
161
|
+
/* Base UI renders the positioner even while closed */
|
|
162
|
+
outline: none;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.ObAutocomplete-popup {
|
|
166
|
+
box-sizing: border-box;
|
|
167
|
+
inline-size: var(--anchor-width);
|
|
168
|
+
max-block-size: min(24rem, var(--available-height));
|
|
169
|
+
overflow-y: auto;
|
|
170
|
+
overscroll-behavior: contain;
|
|
171
|
+
padding: var(--ds-size-1);
|
|
172
|
+
color: var(--ds-color-neutral-text-default);
|
|
173
|
+
background-color: var(--ds-color-neutral-surface-default);
|
|
174
|
+
border: var(--ds-border-width-default) solid var(--ds-color-neutral-border-subtle);
|
|
175
|
+
border-radius: var(--ds-border-radius-md);
|
|
176
|
+
box-shadow: var(--ds-shadow-md);
|
|
177
|
+
transform-origin: var(--transform-origin);
|
|
178
|
+
transition:
|
|
179
|
+
opacity 0.12s ease-out,
|
|
180
|
+
scale 0.12s ease-out;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.ObAutocomplete-popup[data-starting-style],
|
|
184
|
+
.ObAutocomplete-popup[data-ending-style] {
|
|
185
|
+
opacity: 0;
|
|
186
|
+
scale: 0.98;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.ObAutocomplete-list {
|
|
190
|
+
display: flex;
|
|
191
|
+
flex-direction: column;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.ObAutocomplete-item {
|
|
195
|
+
display: flex;
|
|
196
|
+
align-items: center;
|
|
197
|
+
gap: var(--ds-size-2);
|
|
198
|
+
padding: var(--ds-size-2);
|
|
199
|
+
border-radius: var(--ds-border-radius-sm);
|
|
200
|
+
cursor: default;
|
|
201
|
+
user-select: none;
|
|
202
|
+
scroll-margin-block: var(--ds-size-1);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/*
|
|
206
|
+
* The `accent` colour set does not exist in every Designsystemet theme, and the
|
|
207
|
+
* contextual `--ds-color-*` aliases of the 1.13 token build are gone since 1.21,
|
|
208
|
+
* so the option states use the neutral set explicitly.
|
|
209
|
+
*/
|
|
210
|
+
.ObAutocomplete-item[data-highlighted] {
|
|
211
|
+
color: var(--ds-color-neutral-text-default);
|
|
212
|
+
background-color: var(--ds-color-neutral-surface-hover);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.ObAutocomplete-item[data-selected] {
|
|
216
|
+
font-weight: var(--ds-font-weight-medium);
|
|
217
|
+
color: var(--ds-color-neutral-text-default);
|
|
218
|
+
background-color: var(--ds-color-neutral-surface-tinted);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
.ObAutocomplete-item[data-selected][data-highlighted] {
|
|
222
|
+
background-color: var(--ds-color-neutral-surface-active);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.ObAutocomplete-item[data-disabled] {
|
|
226
|
+
cursor: not-allowed;
|
|
227
|
+
opacity: var(--ds-opacity-disabled);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/*
|
|
231
|
+
* The option's content. It is a flex row rather than the inline box it looks like, because
|
|
232
|
+
* `renderOption` is normally an icon or an avatar beside a block of text — and a block child in an
|
|
233
|
+
* inline parent drops onto its own line, stacking the two instead of setting them side by side.
|
|
234
|
+
*/
|
|
235
|
+
.ObAutocomplete-itemContent {
|
|
236
|
+
display: flex;
|
|
237
|
+
align-items: center;
|
|
238
|
+
gap: var(--ds-size-2);
|
|
239
|
+
flex: 1;
|
|
240
|
+
min-inline-size: 0;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
.ObAutocomplete-itemIndicator {
|
|
244
|
+
display: inline-flex;
|
|
245
|
+
flex: none;
|
|
246
|
+
inline-size: 1em;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
.ObAutocomplete-groupLabel {
|
|
250
|
+
padding: var(--ds-size-2);
|
|
251
|
+
font-size: var(--ds-font-size-1);
|
|
252
|
+
font-weight: var(--ds-font-weight-semibold);
|
|
253
|
+
color: var(--ds-color-neutral-text-subtle);
|
|
254
|
+
text-transform: uppercase;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
.ObAutocomplete-empty:not(:empty) {
|
|
258
|
+
padding: var(--ds-size-2);
|
|
259
|
+
color: var(--ds-color-neutral-text-subtle);
|
|
260
|
+
}
|