@openreachtech/furo-vue 1.4.0 → 1.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.
- package/lib/assets/css/furo/0010.variables-palette-color-scale.css +277 -275
- package/lib/assets/css/furo/0020.variables-z-index.css +11 -9
- package/lib/assets/css/furo/0030.variables-semantic-color.css +180 -164
- package/lib/assets/css/furo/0035.variables-semantic-dimension.css +103 -98
- package/lib/assets/css/furo/0040.variables-component-furo.css +26 -24
- package/lib/components/atoms/FuroIcon/FuroIcon.vue +1 -1
- package/lib/components/molecules/FuroAttachment/FuroAttachment.vue +1 -1
- package/lib/components/molecules/FuroBreadcrumb/FuroBreadcrumb.vue +1 -1
- package/lib/components/molecules/FuroControlBlock/FuroControlBlock.vue +2 -2
- package/lib/components/molecules/FuroDropdownMenu/FuroDropdownMenu.vue +2 -2
- package/lib/components/molecules/FuroErrorState/FuroErrorState.vue +1 -1
- package/lib/components/molecules/FuroSearchField/FuroSearchField.vue +1 -1
- package/lib/components/molecules/FuroSelect/FuroSelect.vue +145 -142
- package/lib/components/molecules/FuroSelect/FuroSelectContext.js +9 -0
- package/lib/components/molecules/FuroToggleGroup/FuroToggleGroupContext.js +3 -1
- package/lib/components/organisms/FuroDialog/FuroDialog.vue +2 -2
- package/lib/components/organisms/FuroDrawer/FuroDrawer.vue +2 -2
- package/lib/components/organisms/FuroSidebar/FuroSidebar.vue +6 -3
- package/lib/components/organisms/FuroTable/FuroTable.vue +1 -1
- package/lib/components/organisms/FuroToast/FuroToast.vue +2 -2
- package/lib/components/organisms/FuroToast/FuroToastContext.js +12 -0
- package/lib/components/organisms/FuroToast/ToastQueue.js +0 -1
- package/package.json +26 -27
- package/public/furo-vue/components.json +3 -3
- package/types/generated/components/atoms/FuroAvatar/FuroAvatar.vue.d.ts +81 -0
- package/types/generated/components/atoms/FuroBadge/FuroBadge.vue.d.ts +46 -0
- package/types/generated/components/atoms/FuroButton/FuroButton.vue.d.ts +54 -0
- package/types/generated/components/atoms/FuroCheckbox/FuroCheckbox.vue.d.ts +83 -1
- package/types/generated/components/atoms/FuroEmailField/FuroEmailField.vue.d.ts +3 -0
- package/types/generated/components/atoms/FuroFileField/FuroFileField.vue.d.ts +3 -0
- package/types/generated/components/atoms/FuroIcon/FuroIcon.vue.d.ts +3 -0
- package/types/generated/components/atoms/FuroNumberField/FuroNumberField.vue.d.ts +32 -5
- package/types/generated/components/atoms/FuroPasswordField/FuroPasswordField.vue.d.ts +3 -0
- package/types/generated/components/atoms/FuroRadio/FuroRadio.vue.d.ts +106 -0
- package/types/generated/components/atoms/FuroSwitch/FuroSwitch.vue.d.ts +74 -1
- package/types/generated/components/atoms/FuroTextField/FuroTextField.vue.d.ts +3 -0
- package/types/generated/components/atoms/FuroTextarea/FuroTextarea.vue.d.ts +3 -0
- package/types/generated/components/atoms/FuroToggle/FuroToggle.vue.d.ts +26 -0
- package/types/generated/components/molecules/FuroAccordion/FuroAccordion.vue.d.ts +150 -1
- package/types/generated/components/molecules/FuroAttachment/FuroAttachment.vue.d.ts +53 -0
- package/types/generated/components/molecules/FuroAutocompleteField/FuroAutocompleteField.vue.d.ts +460 -4
- package/types/generated/components/molecules/FuroAvatarGroup/FuroAvatarGroup.vue.d.ts +25 -0
- package/types/generated/components/molecules/FuroBreadcrumb/FuroBreadcrumb.vue.d.ts +55 -0
- package/types/generated/components/molecules/FuroCollapsible/FuroCollapsible.vue.d.ts +107 -0
- package/types/generated/components/molecules/FuroControlBlock/FuroControlBlock.vue.d.ts +7 -0
- package/types/generated/components/molecules/FuroDatePicker/FuroDatePicker.vue.d.ts +39 -0
- package/types/generated/components/molecules/FuroDateTimePicker/FuroDateTimePicker.vue.d.ts +9 -0
- package/types/generated/components/molecules/FuroDropdownMenu/FuroDropdownMenu.vue.d.ts +144 -1
- package/types/generated/components/molecules/FuroDropdownMenu/FuroDropdownMenuOptionRows.vue.d.ts +274 -1
- package/types/generated/components/molecules/FuroEditableField/FuroEditableField.vue.d.ts +139 -0
- package/types/generated/components/molecules/FuroEmptyState/FuroEmptyState.vue.d.ts +10 -0
- package/types/generated/components/molecules/FuroErrorState/FuroErrorState.vue.d.ts +10 -0
- package/types/generated/components/molecules/FuroPagination/FuroPagination.vue.d.ts +144 -0
- package/types/generated/components/molecules/FuroPopover/FuroPopover.vue.d.ts +20 -0
- package/types/generated/components/molecules/FuroScrollArea/FuroScrollArea.vue.d.ts +120 -0
- package/types/generated/components/molecules/FuroSearchField/FuroSearchField.vue.d.ts +31 -0
- package/types/generated/components/molecules/FuroSectionHeader/FuroSectionHeader.vue.d.ts +32 -0
- package/types/generated/components/molecules/FuroSelect/FuroSelect.vue.d.ts +456 -4
- package/types/generated/components/molecules/FuroSelect/FuroSelectContext.d.ts +6 -0
- package/types/generated/components/molecules/FuroSeparator/FuroSeparator.vue.d.ts +7 -0
- package/types/generated/components/molecules/FuroSkeleton/FuroSkeleton.vue.d.ts +3 -0
- package/types/generated/components/molecules/FuroSplitter/FuroSplitter.vue.d.ts +154 -0
- package/types/generated/components/molecules/FuroTimeField/FuroTimeField.vue.d.ts +76 -0
- package/types/generated/components/molecules/FuroToggleGroup/FuroToggleGroup.vue.d.ts +80 -0
- package/types/generated/components/molecules/FuroToolBar/FuroToolBar.vue.d.ts +16 -0
- package/types/generated/components/molecules/FuroTooltip/FuroTooltip.vue.d.ts +24 -0
- package/types/generated/components/organisms/FuroAlertDialog/FuroAlertDialog.vue.d.ts +227 -0
- package/types/generated/components/organisms/FuroDialog/FuroDialog.vue.d.ts +215 -0
- package/types/generated/components/organisms/FuroDrawer/FuroDrawer.vue.d.ts +264 -5
- package/types/generated/components/organisms/FuroEditor/FuroEditor.vue.d.ts +84 -1
- package/types/generated/components/organisms/FuroEditor/FuroEditorMentionMenu.vue.d.ts +3 -0
- package/types/generated/components/organisms/FuroSidebar/FuroSidebar.vue.d.ts +71 -0
- package/types/generated/components/organisms/FuroStepper/FuroStepper.vue.d.ts +207 -0
- package/types/generated/components/organisms/FuroTable/FuroTable.vue.d.ts +82 -1
- package/types/generated/components/organisms/FuroTabs/FuroTabs.vue.d.ts +132 -1
- package/types/generated/components/organisms/FuroToast/FuroToast.vue.d.ts +349 -0
- package/types/generated/components/organisms/FuroToast/FuroToastContext.d.ts +6 -0
- package/types/generated/components/organisms/FuroToast/FuroToaster.vue.d.ts +7 -0
|
@@ -1,28 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
@layer furo {
|
|
2
|
+
:root {
|
|
3
|
+
/* Checkbox */
|
|
4
|
+
--furo-checkbox-size: 1.125rem;
|
|
5
|
+
--furo-checkbox-icon-size: 1rem;
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
/* Dialog */
|
|
8
|
+
--furo-dialog-overlay-background: rgba(0, 0, 0, 0.5);
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
/* Toast — per-type icon accent (the toast body stays neutral) */
|
|
11
|
+
--furo-toast-info-accent: var(--color-muted-foreground);
|
|
12
|
+
--furo-toast-success-accent: #16a34a;
|
|
13
|
+
--furo-toast-warning-accent: #d97706;
|
|
14
|
+
--furo-toast-error-accent: var(--color-destructive);
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
16
|
+
/* Toast — rich colors (full type-colored surface, opt-in) */
|
|
17
|
+
--furo-toast-info-bg: #eff6ff;
|
|
18
|
+
--furo-toast-info-border: #bfdbfe;
|
|
19
|
+
--furo-toast-info-foreground: #1e40af;
|
|
20
|
+
--furo-toast-success-bg: #f0fdf4;
|
|
21
|
+
--furo-toast-success-border: #bbf7d0;
|
|
22
|
+
--furo-toast-success-foreground: #166534;
|
|
23
|
+
--furo-toast-warning-bg: #fffbeb;
|
|
24
|
+
--furo-toast-warning-border: #fde68a;
|
|
25
|
+
--furo-toast-warning-foreground: #92400e;
|
|
26
|
+
--furo-toast-error-bg: #fef2f2;
|
|
27
|
+
--furo-toast-error-border: #fecaca;
|
|
28
|
+
--furo-toast-error-foreground: #991b1b;
|
|
29
|
+
}
|
|
28
30
|
}
|
|
@@ -125,7 +125,7 @@ export default defineComponent({
|
|
|
125
125
|
.unit-form-control-block > .label > .required-mark {
|
|
126
126
|
margin-inline-start: 0.125rem;
|
|
127
127
|
|
|
128
|
-
color: var(--color-destructive);
|
|
128
|
+
color: var(--color-destructive-text);
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
.unit-form-control-block.horizontal > .control {
|
|
@@ -138,7 +138,7 @@ export default defineComponent({
|
|
|
138
138
|
|
|
139
139
|
list-style: none;
|
|
140
140
|
|
|
141
|
-
color: var(--color-destructive);
|
|
141
|
+
color: var(--color-destructive-text);
|
|
142
142
|
font: var(--font-body-small);
|
|
143
143
|
}
|
|
144
144
|
|
|
@@ -309,7 +309,7 @@ export default defineComponent({
|
|
|
309
309
|
padding-block: 0.25rem;
|
|
310
310
|
padding-inline: 0.375rem;
|
|
311
311
|
|
|
312
|
-
min-height:
|
|
312
|
+
min-height: var(--size-option-height);
|
|
313
313
|
|
|
314
314
|
user-select: none;
|
|
315
315
|
cursor: default;
|
|
@@ -329,7 +329,7 @@ export default defineComponent({
|
|
|
329
329
|
}
|
|
330
330
|
|
|
331
331
|
.unit-dropdown-menu-content > .menu-option.destructive {
|
|
332
|
-
color: var(--color-destructive);
|
|
332
|
+
color: var(--color-destructive-text);
|
|
333
333
|
}
|
|
334
334
|
|
|
335
335
|
.unit-dropdown-menu-content > .menu-option.destructive[data-highlighted]:not([data-disabled]) {
|
|
@@ -19,6 +19,7 @@ export default defineComponent({
|
|
|
19
19
|
SelectTrigger: RekaSelect['Trigger'],
|
|
20
20
|
SelectValue: RekaSelect['Value'],
|
|
21
21
|
SelectIcon: RekaSelect['Icon'],
|
|
22
|
+
SelectPortal: RekaSelect['Portal'],
|
|
22
23
|
SelectContent: RekaSelect['Content'],
|
|
23
24
|
SelectViewport: RekaSelect['Viewport'],
|
|
24
25
|
SelectScrollUpButton: RekaSelect['ScrollUpButton'],
|
|
@@ -150,163 +151,165 @@ export default defineComponent({
|
|
|
150
151
|
</slot>
|
|
151
152
|
</SelectTrigger>
|
|
152
153
|
|
|
153
|
-
<
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
<
|
|
162
|
-
<
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
<SelectViewport class="viewport">
|
|
167
|
-
<template
|
|
168
|
-
v-for="(option, index) in context.parcel?.options"
|
|
169
|
-
:key="index"
|
|
170
|
-
>
|
|
171
|
-
<template v-if="context.shouldShowGroupOption({ option })">
|
|
172
|
-
<SelectGroup
|
|
173
|
-
class="group"
|
|
174
|
-
:disabled="option.disabled"
|
|
175
|
-
>
|
|
176
|
-
<slot
|
|
177
|
-
name="group"
|
|
178
|
-
:group="option"
|
|
179
|
-
:group-index="index"
|
|
180
|
-
>
|
|
181
|
-
<SelectLabel class="label">
|
|
182
|
-
<slot
|
|
183
|
-
name="group-label"
|
|
184
|
-
:group="option"
|
|
185
|
-
:group-index="index"
|
|
186
|
-
>
|
|
187
|
-
{{ context.resolveOptionLabel({ option }) }}
|
|
188
|
-
</slot>
|
|
189
|
-
</SelectLabel>
|
|
154
|
+
<SelectPortal v-bind="context.extractPortalAttributes()">
|
|
155
|
+
<SelectContent
|
|
156
|
+
class="unit-select-content"
|
|
157
|
+
:side-offset="4"
|
|
158
|
+
v-bind="context.extractContentAttributes()"
|
|
159
|
+
>
|
|
160
|
+
<slot name="content-before" />
|
|
161
|
+
|
|
162
|
+
<SelectScrollUpButton class="scroll-up-button">
|
|
163
|
+
<slot name="scroll-up-button">
|
|
164
|
+
<FuroIcon name="ph:caret-up" />
|
|
165
|
+
</slot>
|
|
166
|
+
</SelectScrollUpButton>
|
|
190
167
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
168
|
+
<SelectViewport class="viewport">
|
|
169
|
+
<template
|
|
170
|
+
v-for="(option, index) in context.parcel?.options"
|
|
171
|
+
:key="index"
|
|
172
|
+
>
|
|
173
|
+
<template v-if="context.shouldShowGroupOption({ option })">
|
|
174
|
+
<SelectGroup
|
|
175
|
+
class="group"
|
|
176
|
+
:disabled="option.disabled"
|
|
177
|
+
>
|
|
178
|
+
<slot
|
|
179
|
+
name="group"
|
|
180
|
+
:group="option"
|
|
181
|
+
:group-index="index"
|
|
194
182
|
>
|
|
195
|
-
<
|
|
196
|
-
class="option"
|
|
197
|
-
:value="context.resolveOptionValue({ option: groupChildOption })"
|
|
198
|
-
:disabled="groupChildOption.disabled || option.disabled"
|
|
199
|
-
>
|
|
183
|
+
<SelectLabel class="label">
|
|
200
184
|
<slot
|
|
201
|
-
name="
|
|
185
|
+
name="group-label"
|
|
202
186
|
:group="option"
|
|
203
187
|
:group-index="index"
|
|
204
|
-
:option="groupChildOption"
|
|
205
|
-
:option-index="groupChildIndex"
|
|
206
188
|
>
|
|
207
|
-
|
|
208
|
-
<slot
|
|
209
|
-
name="option-text"
|
|
210
|
-
:option="groupChildOption"
|
|
211
|
-
:option-index="groupChildIndex"
|
|
212
|
-
>
|
|
213
|
-
{{ context.resolveOptionLabel({ option: groupChildOption }) }}
|
|
214
|
-
</slot>
|
|
215
|
-
</SelectOptionText>
|
|
216
|
-
|
|
217
|
-
<SelectOptionIndicator class="select-indicator">
|
|
218
|
-
<slot
|
|
219
|
-
name="option-indicator"
|
|
220
|
-
:option="groupChildOption"
|
|
221
|
-
:option-index="groupChildIndex"
|
|
222
|
-
>
|
|
223
|
-
<FuroIcon name="ph:check" />
|
|
224
|
-
</slot>
|
|
225
|
-
</SelectOptionIndicator>
|
|
189
|
+
{{ context.resolveOptionLabel({ option }) }}
|
|
226
190
|
</slot>
|
|
227
|
-
</
|
|
191
|
+
</SelectLabel>
|
|
228
192
|
|
|
229
|
-
<
|
|
230
|
-
v-
|
|
231
|
-
|
|
232
|
-
:option="groupChildOption"
|
|
233
|
-
:option-index="groupChildIndex"
|
|
193
|
+
<template
|
|
194
|
+
v-for="(groupChildOption, groupChildIndex) in context.extractGroupOptions({ option })"
|
|
195
|
+
:key="groupChildIndex"
|
|
234
196
|
>
|
|
235
|
-
<
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
197
|
+
<SelectOption
|
|
198
|
+
class="option"
|
|
199
|
+
:value="context.resolveOptionValue({ option: groupChildOption })"
|
|
200
|
+
:disabled="groupChildOption.disabled || option.disabled"
|
|
201
|
+
>
|
|
202
|
+
<slot
|
|
203
|
+
name="option"
|
|
204
|
+
:group="option"
|
|
205
|
+
:group-index="index"
|
|
206
|
+
:option="groupChildOption"
|
|
207
|
+
:option-index="groupChildIndex"
|
|
208
|
+
>
|
|
209
|
+
<SelectOptionText>
|
|
210
|
+
<slot
|
|
211
|
+
name="option-text"
|
|
212
|
+
:option="groupChildOption"
|
|
213
|
+
:option-index="groupChildIndex"
|
|
214
|
+
>
|
|
215
|
+
{{ context.resolveOptionLabel({ option: groupChildOption }) }}
|
|
216
|
+
</slot>
|
|
217
|
+
</SelectOptionText>
|
|
218
|
+
|
|
219
|
+
<SelectOptionIndicator class="select-indicator">
|
|
220
|
+
<slot
|
|
221
|
+
name="option-indicator"
|
|
222
|
+
:option="groupChildOption"
|
|
223
|
+
:option-index="groupChildIndex"
|
|
224
|
+
>
|
|
225
|
+
<FuroIcon name="ph:check" />
|
|
226
|
+
</slot>
|
|
227
|
+
</SelectOptionIndicator>
|
|
228
|
+
</slot>
|
|
229
|
+
</SelectOption>
|
|
241
230
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
231
|
+
<slot
|
|
232
|
+
v-if="groupChildOption.separator"
|
|
233
|
+
name="separator"
|
|
234
|
+
:option="groupChildOption"
|
|
235
|
+
:option-index="groupChildIndex"
|
|
236
|
+
>
|
|
237
|
+
<SelectSeparator class="separator" />
|
|
238
|
+
</slot>
|
|
239
|
+
</template>
|
|
240
|
+
</slot>
|
|
241
|
+
</SelectGroup>
|
|
242
|
+
</template>
|
|
243
|
+
|
|
244
|
+
<template v-else>
|
|
245
|
+
<SelectOption
|
|
246
|
+
:value="context.resolveOptionValue({ option })"
|
|
247
|
+
class="option"
|
|
248
|
+
:disabled="option.disabled"
|
|
252
249
|
>
|
|
253
|
-
<
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
>
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
>
|
|
269
|
-
<
|
|
270
|
-
name="
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
250
|
+
<slot
|
|
251
|
+
name="option"
|
|
252
|
+
:option="option"
|
|
253
|
+
:option-index="index"
|
|
254
|
+
>
|
|
255
|
+
<SelectOptionText>
|
|
256
|
+
<slot
|
|
257
|
+
name="option-text"
|
|
258
|
+
:option="option"
|
|
259
|
+
:option-index="index"
|
|
260
|
+
>
|
|
261
|
+
{{ context.resolveOptionLabel({ option }) }}
|
|
262
|
+
</slot>
|
|
263
|
+
</SelectOptionText>
|
|
264
|
+
|
|
265
|
+
<SelectOptionIndicator class="select-indicator">
|
|
266
|
+
<slot
|
|
267
|
+
name="option-indicator"
|
|
268
|
+
:option="option"
|
|
269
|
+
:option-index="index"
|
|
270
|
+
>
|
|
271
|
+
<FuroIcon
|
|
272
|
+
name="ph:check"
|
|
273
|
+
/>
|
|
274
|
+
</slot>
|
|
275
|
+
</SelectOptionIndicator>
|
|
276
|
+
</slot>
|
|
277
|
+
</SelectOption>
|
|
278
|
+
</template>
|
|
279
|
+
|
|
280
|
+
<slot
|
|
281
|
+
v-if="option.separator"
|
|
282
|
+
name="separator"
|
|
283
|
+
:option="option"
|
|
284
|
+
:option-index="index"
|
|
285
|
+
>
|
|
286
|
+
<SelectSeparator class="separator" />
|
|
287
|
+
</slot>
|
|
276
288
|
</template>
|
|
277
289
|
|
|
278
|
-
<
|
|
279
|
-
v-if="
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
290
|
+
<SelectOption
|
|
291
|
+
v-if="context.hasEmptyOptions()"
|
|
292
|
+
:value="null"
|
|
293
|
+
class="option"
|
|
294
|
+
@select.stop.prevent
|
|
283
295
|
>
|
|
284
|
-
<
|
|
296
|
+
<SelectOptionText class="empty-text">
|
|
297
|
+
<slot name="empty">
|
|
298
|
+
No options
|
|
299
|
+
</slot>
|
|
300
|
+
</SelectOptionText>
|
|
301
|
+
</SelectOption>
|
|
302
|
+
</SelectViewport>
|
|
303
|
+
|
|
304
|
+
<SelectScrollDownButton class="scroll-down-button">
|
|
305
|
+
<slot name="scroll-down-button">
|
|
306
|
+
<FuroIcon name="ph:caret-down" />
|
|
285
307
|
</slot>
|
|
286
|
-
</
|
|
308
|
+
</SelectScrollDownButton>
|
|
287
309
|
|
|
288
|
-
<
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
class="option"
|
|
292
|
-
@select.stop.prevent
|
|
293
|
-
>
|
|
294
|
-
<SelectOptionText class="empty-text">
|
|
295
|
-
<slot name="empty">
|
|
296
|
-
No options
|
|
297
|
-
</slot>
|
|
298
|
-
</SelectOptionText>
|
|
299
|
-
</SelectOption>
|
|
300
|
-
</SelectViewport>
|
|
301
|
-
|
|
302
|
-
<SelectScrollDownButton class="scroll-down-button">
|
|
303
|
-
<slot name="scroll-down-button">
|
|
304
|
-
<FuroIcon name="ph:caret-down" />
|
|
305
|
-
</slot>
|
|
306
|
-
</SelectScrollDownButton>
|
|
307
|
-
|
|
308
|
-
<slot name="content-after" />
|
|
309
|
-
</SelectContent>
|
|
310
|
+
<slot name="content-after" />
|
|
311
|
+
</SelectContent>
|
|
312
|
+
</SelectPortal>
|
|
310
313
|
</SelectRoot>
|
|
311
314
|
</div>
|
|
312
315
|
</template>
|
|
@@ -426,7 +429,7 @@ export default defineComponent({
|
|
|
426
429
|
padding-block: 0.25rem;
|
|
427
430
|
padding-inline: 0.375rem;
|
|
428
431
|
|
|
429
|
-
min-height:
|
|
432
|
+
min-height: var(--size-option-height);
|
|
430
433
|
|
|
431
434
|
font: var(--font-body-medium);
|
|
432
435
|
user-select: none;
|
|
@@ -369,6 +369,15 @@ export default class FuroSelectContext extends BaseFuroContext {
|
|
|
369
369
|
return this.triggerParcel
|
|
370
370
|
}
|
|
371
371
|
|
|
372
|
+
/**
|
|
373
|
+
* Extract portal attributes.
|
|
374
|
+
*
|
|
375
|
+
* @returns {Props['portalParcel']}
|
|
376
|
+
*/
|
|
377
|
+
extractPortalAttributes () {
|
|
378
|
+
return this.portalParcel
|
|
379
|
+
}
|
|
380
|
+
|
|
372
381
|
/**
|
|
373
382
|
* Extract content attributes.
|
|
374
383
|
*
|
|
@@ -437,7 +437,9 @@ export default class FuroToggleGroupContext extends BaseFuroContext {
|
|
|
437
437
|
const value = rawValue
|
|
438
438
|
?? this.resolveDefaultValue()
|
|
439
439
|
|
|
440
|
-
this.
|
|
440
|
+
if (!this.isControlled()) {
|
|
441
|
+
this.internalValueRef.value = value
|
|
442
|
+
}
|
|
441
443
|
|
|
442
444
|
const customEvent = this.buildCustomEvent({
|
|
443
445
|
name: this.EMIT_EVENT_NAME.CHANGE_VALUE,
|
|
@@ -278,8 +278,8 @@ export default defineComponent({
|
|
|
278
278
|
align-items: center;
|
|
279
279
|
justify-content: center;
|
|
280
280
|
|
|
281
|
-
width:
|
|
282
|
-
height:
|
|
281
|
+
width: var(--size-close-button-medium);
|
|
282
|
+
height: var(--size-close-button-medium);
|
|
283
283
|
|
|
284
284
|
border: none;
|
|
285
285
|
border-radius: var(--size-border-radius-small);
|
|
@@ -479,8 +479,8 @@ export default defineComponent({
|
|
|
479
479
|
align-items: center;
|
|
480
480
|
justify-content: center;
|
|
481
481
|
|
|
482
|
-
width:
|
|
483
|
-
height:
|
|
482
|
+
width: var(--size-close-button-medium);
|
|
483
|
+
height: var(--size-close-button-medium);
|
|
484
484
|
|
|
485
485
|
border: none;
|
|
486
486
|
border-radius: var(--size-border-radius-small);
|
|
@@ -217,6 +217,7 @@ export default defineComponent({
|
|
|
217
217
|
.unit-sidebar {
|
|
218
218
|
border-inline-end: var(--size-thinnest) solid var(--color-border);
|
|
219
219
|
|
|
220
|
+
box-sizing: border-box;
|
|
220
221
|
width: var(--size-sidebar-width);
|
|
221
222
|
height: 100%;
|
|
222
223
|
|
|
@@ -270,7 +271,7 @@ export default defineComponent({
|
|
|
270
271
|
padding-block: 0.5rem;
|
|
271
272
|
padding-inline: 0.5rem;
|
|
272
273
|
|
|
273
|
-
color: var(--color-foreground-
|
|
274
|
+
color: var(--color-foreground-secondary);
|
|
274
275
|
font: var(--font-label-tiny);
|
|
275
276
|
}
|
|
276
277
|
|
|
@@ -292,6 +293,7 @@ export default defineComponent({
|
|
|
292
293
|
border: none;
|
|
293
294
|
border-radius: var(--size-border-radius-large);
|
|
294
295
|
|
|
296
|
+
box-sizing: border-box;
|
|
295
297
|
width: 100%;
|
|
296
298
|
|
|
297
299
|
display: flex;
|
|
@@ -379,7 +381,7 @@ export default defineComponent({
|
|
|
379
381
|
width: 0.875rem;
|
|
380
382
|
height: 0.875rem;
|
|
381
383
|
|
|
382
|
-
color: var(--color-foreground-
|
|
384
|
+
color: var(--color-foreground-glyph);
|
|
383
385
|
}
|
|
384
386
|
|
|
385
387
|
/* nested sub-rows */
|
|
@@ -425,6 +427,7 @@ export default defineComponent({
|
|
|
425
427
|
border: none;
|
|
426
428
|
border-radius: var(--size-border-radius-large);
|
|
427
429
|
|
|
430
|
+
box-sizing: border-box;
|
|
428
431
|
width: 100%;
|
|
429
432
|
|
|
430
433
|
display: flex;
|
|
@@ -435,7 +438,7 @@ export default defineComponent({
|
|
|
435
438
|
|
|
436
439
|
background-color: transparent;
|
|
437
440
|
|
|
438
|
-
color: var(--color-foreground-
|
|
441
|
+
color: var(--color-foreground-secondary);
|
|
439
442
|
font: var(--font-label-small);
|
|
440
443
|
text-align: start;
|
|
441
444
|
|
|
@@ -524,8 +524,8 @@ export default defineComponent({
|
|
|
524
524
|
align-items: center;
|
|
525
525
|
justify-content: center;
|
|
526
526
|
|
|
527
|
-
width:
|
|
528
|
-
height:
|
|
527
|
+
width: var(--size-close-button-small);
|
|
528
|
+
height: var(--size-close-button-small);
|
|
529
529
|
|
|
530
530
|
border: none;
|
|
531
531
|
border-radius: var(--size-border-radius-small);
|
|
@@ -306,6 +306,17 @@ export default class FuroToastContext extends BaseFuroContext {
|
|
|
306
306
|
}
|
|
307
307
|
}
|
|
308
308
|
|
|
309
|
+
/**
|
|
310
|
+
* get: explicitLabel
|
|
311
|
+
*
|
|
312
|
+
* @returns {string | null} Label the app set, without the default, so an unset label keeps the hotkey in the default name.
|
|
313
|
+
*/
|
|
314
|
+
get explicitLabel () {
|
|
315
|
+
return this.props.parcel
|
|
316
|
+
?.label
|
|
317
|
+
?? null
|
|
318
|
+
}
|
|
319
|
+
|
|
309
320
|
/**
|
|
310
321
|
* Resolve the swipe-to-dismiss direction. Honors an explicit
|
|
311
322
|
* `parcel.swipeDirection`; otherwise derives it from the position so a
|
|
@@ -606,6 +617,7 @@ export default class FuroToastContext extends BaseFuroContext {
|
|
|
606
617
|
*/
|
|
607
618
|
extractViewportAttributes () {
|
|
608
619
|
const entries = [
|
|
620
|
+
['label', this.explicitLabel],
|
|
609
621
|
['hotkey', this.parcel?.hotkey ?? null],
|
|
610
622
|
]
|
|
611
623
|
.filter(([, attributeValue]) => attributeValue !== null)
|