@openreachtech/furo-vue 1.3.2 → 1.5.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 +166 -164
- package/lib/assets/css/furo/0035.variables-semantic-dimension.css +103 -95
- package/lib/assets/css/furo/0040.variables-component-furo.css +26 -24
- package/lib/components/atoms/FuroButton/FuroButton.vue +9 -2
- package/lib/components/atoms/FuroButton/FuroButtonContext.js +1 -1
- package/lib/components/atoms/FuroCheckbox/FuroCheckboxContext.js +3 -3
- package/lib/components/atoms/FuroFileField/FuroFileFieldContext.js +1 -1
- package/lib/components/atoms/FuroRadio/FuroRadio.vue +1 -1
- package/lib/components/atoms/FuroRadio/FuroRadioContext.js +2 -2
- package/lib/components/atoms/FuroSwitch/FuroSwitch.vue +1 -1
- package/lib/components/atoms/FuroSwitch/FuroSwitchContext.js +2 -2
- package/lib/components/atoms/FuroTextarea/FuroTextareaContext.js +3 -3
- package/lib/components/atoms/FuroToggle/FuroToggle.vue +1 -1
- package/lib/components/atoms/FuroToggle/FuroToggleContext.js +2 -2
- package/lib/components/molecules/FuroAccordion/FuroAccordion.vue +1 -1
- package/lib/components/molecules/FuroAccordion/FuroAccordionContext.js +2 -2
- package/lib/components/molecules/FuroAttachment/FuroAttachmentContext.js +2 -2
- package/lib/components/molecules/FuroAutocompleteField/FuroAutocompleteField.vue +9 -0
- package/lib/components/molecules/FuroAutocompleteField/FuroAutocompleteFieldContext.js +34 -7
- package/lib/components/molecules/FuroBreadcrumb/FuroBreadcrumb.vue +1 -1
- package/lib/components/molecules/FuroCollapsible/FuroCollapsible.vue +1 -1
- package/lib/components/molecules/FuroCollapsible/FuroCollapsibleContext.js +2 -2
- package/lib/components/molecules/FuroDatePicker/FuroDatePicker.vue +6 -6
- package/lib/components/molecules/FuroDatePicker/FuroDatePickerContext.js +3 -3
- package/lib/components/molecules/FuroDateTimePicker/FuroDateTimePickerContext.js +3 -3
- package/lib/components/molecules/FuroDropdownMenu/FuroDropdownMenu.vue +2 -2
- package/lib/components/molecules/FuroDropdownMenu/FuroDropdownMenuContext.js +3 -3
- package/lib/components/molecules/FuroEditableField/FuroEditableField.vue +2 -0
- package/lib/components/molecules/FuroEditableField/FuroEditableFieldContext.js +2 -2
- package/lib/components/molecules/FuroPagination/FuroPagination.vue +2 -2
- package/lib/components/molecules/FuroPagination/FuroPaginationContext.js +2 -2
- package/lib/components/molecules/FuroPopover/FuroPopover.vue +3 -2
- package/lib/components/molecules/FuroPopover/FuroPopoverContext.js +1 -1
- package/lib/components/molecules/FuroSelect/FuroSelect.vue +145 -142
- package/lib/components/molecules/FuroSelect/FuroSelectContext.js +12 -3
- package/lib/components/molecules/FuroSkeleton/FuroSkeleton.vue +17 -7
- package/lib/components/molecules/FuroSkeleton/FuroSkeletonContext.js +2 -2
- package/lib/components/molecules/FuroSplitter/FuroSplitter.vue +1 -1
- package/lib/components/molecules/FuroSplitter/FuroSplitterContext.js +2 -2
- package/lib/components/molecules/FuroTimeField/FuroTimeField.vue +1 -1
- package/lib/components/molecules/FuroTimeField/FuroTimeFieldContext.js +3 -3
- package/lib/components/molecules/FuroToggleGroup/FuroToggleGroup.vue +2 -2
- package/lib/components/molecules/FuroToggleGroup/FuroToggleGroupContext.js +5 -3
- package/lib/components/molecules/FuroTooltip/FuroTooltip.vue +1 -1
- package/lib/components/molecules/FuroTooltip/FuroTooltipContext.js +1 -1
- package/lib/components/organisms/FuroAlertDialog/FuroAlertDialog.vue +2 -1
- package/lib/components/organisms/FuroAlertDialog/FuroAlertDialogContext.js +17 -4
- package/lib/components/organisms/FuroDialog/FuroDialog.vue +5 -4
- package/lib/components/organisms/FuroDialog/FuroDialogContext.js +15 -2
- package/lib/components/organisms/FuroDrawer/FuroDrawer.vue +4 -4
- package/lib/components/organisms/FuroDrawer/FuroDrawerContext.js +4 -4
- package/lib/components/organisms/FuroEditor/FuroEditor.vue +1 -1
- package/lib/components/organisms/FuroSidebar/FuroSidebar.vue +5 -2
- package/lib/components/organisms/FuroStepper/FuroStepper.vue +1 -1
- package/lib/components/organisms/FuroStepper/FuroStepperContext.js +2 -2
- package/lib/components/organisms/FuroTable/FuroTable.vue +6 -5
- package/lib/components/organisms/FuroTable/FuroTableContext.js +6 -6
- package/lib/components/organisms/FuroTabs/FuroTabs.vue +3 -3
- package/lib/components/organisms/FuroTabs/FuroTabsContext.js +2 -2
- package/lib/components/organisms/FuroToast/FuroToast.vue +4 -4
- package/lib/components/organisms/FuroToast/FuroToastContext.js +14 -2
- package/lib/components/organisms/FuroToast/ToastQueue.js +0 -1
- package/package.json +23 -22
- package/public/furo-vue/components.json +13 -6
- 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 +463 -4
- package/types/generated/components/molecules/FuroAutocompleteField/FuroAutocompleteFieldContext.d.ts +18 -0
- 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/FuroSkeleton/FuroSkeletonContext.d.ts +2 -2
- 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/FuroAlertDialog/FuroAlertDialogContext.d.ts +6 -0
- package/types/generated/components/organisms/FuroDialog/FuroDialog.vue.d.ts +215 -0
- package/types/generated/components/organisms/FuroDialog/FuroDialogContext.d.ts +6 -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
|
@@ -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;
|
|
@@ -97,9 +97,9 @@ export default class FuroSelectContext extends BaseFuroContext {
|
|
|
97
97
|
*/
|
|
98
98
|
static get EMIT_EVENT_HASH () {
|
|
99
99
|
return {
|
|
100
|
-
[this.EMIT_EVENT_NAME.CHANGE_VALUE]: payload =>
|
|
101
|
-
[this.EMIT_EVENT_NAME.COMMIT_VALUE]: payload =>
|
|
102
|
-
[this.EMIT_EVENT_NAME.UPDATE_VALUE]: value =>
|
|
100
|
+
[this.EMIT_EVENT_NAME.CHANGE_VALUE]: payload => true,
|
|
101
|
+
[this.EMIT_EVENT_NAME.COMMIT_VALUE]: payload => true,
|
|
102
|
+
[this.EMIT_EVENT_NAME.UPDATE_VALUE]: value => true,
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
|
|
@@ -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
|
*
|
|
@@ -78,22 +78,32 @@ export default defineComponent({
|
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
.unit-skeleton.animated {
|
|
81
|
-
|
|
81
|
+
background-image: linear-gradient(
|
|
82
|
+
90deg,
|
|
83
|
+
transparent 0%,
|
|
84
|
+
var(--color-background) 50%,
|
|
85
|
+
transparent 100%
|
|
86
|
+
);
|
|
87
|
+
background-repeat: no-repeat;
|
|
88
|
+
background-size: 200% 100%;
|
|
89
|
+
|
|
90
|
+
animation: furo-skeleton-shimmer 1.8s ease-in-out infinite;
|
|
82
91
|
}
|
|
83
92
|
|
|
84
|
-
@keyframes furo-skeleton-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
opacity: 1;
|
|
93
|
+
@keyframes furo-skeleton-shimmer {
|
|
94
|
+
from {
|
|
95
|
+
background-position: 200% 0;
|
|
88
96
|
}
|
|
89
97
|
|
|
90
|
-
|
|
91
|
-
|
|
98
|
+
to {
|
|
99
|
+
background-position: -200% 0;
|
|
92
100
|
}
|
|
93
101
|
}
|
|
94
102
|
|
|
95
103
|
@media (prefers-reduced-motion: reduce) {
|
|
96
104
|
.unit-skeleton.animated {
|
|
105
|
+
background-image: none;
|
|
106
|
+
|
|
97
107
|
animation: none;
|
|
98
108
|
}
|
|
99
109
|
}
|
|
@@ -5,7 +5,7 @@ import BaseFuroContext from '../../../contexts/BaseFuroContext.js'
|
|
|
5
5
|
*
|
|
6
6
|
* Presentational loading placeholder shown while real content is fetching.
|
|
7
7
|
* Carries no value and emits nothing — shape comes from the variant, size from
|
|
8
|
-
* optional width / height, and a
|
|
8
|
+
* optional width / height, and a shimmer animation signals the loading state.
|
|
9
9
|
*
|
|
10
10
|
* @extends {BaseFuroContext<null, Props, null>}
|
|
11
11
|
*/
|
|
@@ -59,7 +59,7 @@ export default class FuroSkeletonContext extends BaseFuroContext {
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
/**
|
|
62
|
-
* Whether the
|
|
62
|
+
* Whether the shimmer animation runs. Reduced-motion users still get a static
|
|
63
63
|
* placeholder via the CSS media query.
|
|
64
64
|
*
|
|
65
65
|
* @returns {boolean} true when animated; defaults to true.
|
|
@@ -206,7 +206,7 @@ export default defineComponent({
|
|
|
206
206
|
|
|
207
207
|
/* Keyboard focus ring (arrow keys resize the focused handle). */
|
|
208
208
|
.unit-splitter-handle:focus-visible {
|
|
209
|
-
box-shadow: 0 0 0
|
|
209
|
+
box-shadow: 0 0 0 var(--size-focus-ring-spread) var(--color-ring);
|
|
210
210
|
}
|
|
211
211
|
|
|
212
212
|
.unit-splitter-handle[data-disabled] {
|
|
@@ -120,8 +120,8 @@ export default class FuroSplitterContext extends BaseFuroContext {
|
|
|
120
120
|
*/
|
|
121
121
|
static get EMIT_EVENT_HASH () {
|
|
122
122
|
return {
|
|
123
|
-
[this.EMIT_EVENT_NAME.CHANGE_VALUE]: payload =>
|
|
124
|
-
[this.EMIT_EVENT_NAME.UPDATE_VALUE]: layout =>
|
|
123
|
+
[this.EMIT_EVENT_NAME.CHANGE_VALUE]: payload => true,
|
|
124
|
+
[this.EMIT_EVENT_NAME.UPDATE_VALUE]: layout => true,
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
|
|
@@ -245,7 +245,7 @@ export default defineComponent({
|
|
|
245
245
|
|
|
246
246
|
.unit-form-control.time-field > .field > .field-input:focus-visible {
|
|
247
247
|
outline: none;
|
|
248
|
-
box-shadow: 0 0 0
|
|
248
|
+
box-shadow: 0 0 0 var(--size-focus-ring-spread) var(--color-ring);
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
251
|
</style>
|
|
@@ -132,9 +132,9 @@ export default class FuroTimeFieldContext extends BaseFuroContext {
|
|
|
132
132
|
*/
|
|
133
133
|
static get EMIT_EVENT_HASH () {
|
|
134
134
|
return {
|
|
135
|
-
[this.EMIT_EVENT_NAME.CHANGE_VALUE]: payload =>
|
|
136
|
-
[this.EMIT_EVENT_NAME.COMMIT_VALUE]: payload =>
|
|
137
|
-
[this.EMIT_EVENT_NAME.UPDATE_VALUE]: value =>
|
|
135
|
+
[this.EMIT_EVENT_NAME.CHANGE_VALUE]: payload => true,
|
|
136
|
+
[this.EMIT_EVENT_NAME.COMMIT_VALUE]: payload => true,
|
|
137
|
+
[this.EMIT_EVENT_NAME.UPDATE_VALUE]: value => true,
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
|
|
@@ -141,7 +141,7 @@ export default defineComponent({
|
|
|
141
141
|
|
|
142
142
|
.unit-toggle-group-item:focus-visible {
|
|
143
143
|
outline: none;
|
|
144
|
-
box-shadow: 0 0 0
|
|
144
|
+
box-shadow: 0 0 0 var(--size-focus-ring-spread) var(--color-ring);
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
.unit-toggle-group-item.disabled {
|
|
@@ -180,7 +180,7 @@ export default defineComponent({
|
|
|
180
180
|
.unit-toggle-group-item.outline[data-state="on"]:focus-visible {
|
|
181
181
|
box-shadow:
|
|
182
182
|
inset 0 0 0 0.0625rem var(--color-border),
|
|
183
|
-
0 0 0
|
|
183
|
+
0 0 0 var(--size-focus-ring-spread) var(--color-ring);
|
|
184
184
|
}
|
|
185
185
|
|
|
186
186
|
.unit-toggle-group-item.default[data-state="on"]:hover,
|
|
@@ -106,8 +106,8 @@ export default class FuroToggleGroupContext extends BaseFuroContext {
|
|
|
106
106
|
*/
|
|
107
107
|
static get EMIT_EVENT_HASH () {
|
|
108
108
|
return {
|
|
109
|
-
[this.EMIT_EVENT_NAME.CHANGE_VALUE]: payload =>
|
|
110
|
-
[this.EMIT_EVENT_NAME.UPDATE_VALUE]: value =>
|
|
109
|
+
[this.EMIT_EVENT_NAME.CHANGE_VALUE]: payload => true,
|
|
110
|
+
[this.EMIT_EVENT_NAME.UPDATE_VALUE]: value => true,
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
|
|
@@ -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,
|
|
@@ -116,7 +116,7 @@ export default defineComponent({
|
|
|
116
116
|
|
|
117
117
|
.unit-tooltip-trigger:focus-visible {
|
|
118
118
|
outline: none;
|
|
119
|
-
box-shadow: 0 0 0
|
|
119
|
+
box-shadow: 0 0 0 var(--size-focus-ring-spread) var(--color-ring);
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
.unit-tooltip-content {
|
|
@@ -87,6 +87,7 @@ export default defineComponent({
|
|
|
87
87
|
<AlertDialogOverlay class="unit-alert-dialog-overlay" />
|
|
88
88
|
|
|
89
89
|
<AlertDialogContent
|
|
90
|
+
v-bind="context.extractContentAttributes()"
|
|
90
91
|
:class="context.extractContentClassNames()"
|
|
91
92
|
@interact-outside="context.onInteractOutside({
|
|
92
93
|
rawEvent: $event,
|
|
@@ -229,7 +230,7 @@ export default defineComponent({
|
|
|
229
230
|
|
|
230
231
|
.unit-alert-dialog-content:focus-visible {
|
|
231
232
|
outline: none;
|
|
232
|
-
box-shadow: 0 0 0
|
|
233
|
+
box-shadow: 0 0 0 var(--size-focus-ring-spread) var(--color-ring);
|
|
233
234
|
}
|
|
234
235
|
|
|
235
236
|
.unit-alert-dialog-content > .header {
|
|
@@ -120,10 +120,10 @@ export default class FuroAlertDialogContext extends BaseFuroContext {
|
|
|
120
120
|
*/
|
|
121
121
|
static get EMIT_EVENT_HASH () {
|
|
122
122
|
return {
|
|
123
|
-
[this.EMIT_EVENT_NAME.CONFIRM]: () =>
|
|
124
|
-
[this.EMIT_EVENT_NAME.CANCEL]: () =>
|
|
125
|
-
[this.EMIT_EVENT_NAME.OPEN_CHANGE]: payload =>
|
|
126
|
-
[this.EMIT_EVENT_NAME.UPDATE_OPEN]: payload =>
|
|
123
|
+
[this.EMIT_EVENT_NAME.CONFIRM]: () => true,
|
|
124
|
+
[this.EMIT_EVENT_NAME.CANCEL]: () => true,
|
|
125
|
+
[this.EMIT_EVENT_NAME.OPEN_CHANGE]: payload => true,
|
|
126
|
+
[this.EMIT_EVENT_NAME.UPDATE_OPEN]: payload => true,
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
|
|
@@ -268,6 +268,19 @@ export default class FuroAlertDialogContext extends BaseFuroContext {
|
|
|
268
268
|
])
|
|
269
269
|
}
|
|
270
270
|
|
|
271
|
+
/**
|
|
272
|
+
* Extract attributes forwarded to the content element.
|
|
273
|
+
*
|
|
274
|
+
* @returns {Record<string, undefined>} `aria-describedby` cleared when no description renders.
|
|
275
|
+
*/
|
|
276
|
+
extractContentAttributes () {
|
|
277
|
+
return this.hasDescription()
|
|
278
|
+
? {}
|
|
279
|
+
: {
|
|
280
|
+
'aria-describedby': undefined,
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
|
|
271
284
|
/**
|
|
272
285
|
* CSS selector (scoped to dialog content) for the element to focus on open.
|
|
273
286
|
*
|
|
@@ -86,6 +86,7 @@ export default defineComponent({
|
|
|
86
86
|
/>
|
|
87
87
|
|
|
88
88
|
<DialogContent
|
|
89
|
+
v-bind="context.extractContentAttributes()"
|
|
89
90
|
:class="context.extractContentClassNames()"
|
|
90
91
|
@interact-outside="context.onInteractOutside({
|
|
91
92
|
rawEvent: $event,
|
|
@@ -225,7 +226,7 @@ export default defineComponent({
|
|
|
225
226
|
|
|
226
227
|
.unit-dialog-content:focus-visible {
|
|
227
228
|
outline: none;
|
|
228
|
-
box-shadow: 0 0 0
|
|
229
|
+
box-shadow: 0 0 0 var(--size-focus-ring-spread) var(--color-ring);
|
|
229
230
|
}
|
|
230
231
|
|
|
231
232
|
.unit-dialog-content > .header {
|
|
@@ -277,8 +278,8 @@ export default defineComponent({
|
|
|
277
278
|
align-items: center;
|
|
278
279
|
justify-content: center;
|
|
279
280
|
|
|
280
|
-
width:
|
|
281
|
-
height:
|
|
281
|
+
width: var(--size-close-button-medium);
|
|
282
|
+
height: var(--size-close-button-medium);
|
|
282
283
|
|
|
283
284
|
border: none;
|
|
284
285
|
border-radius: var(--size-border-radius-small);
|
|
@@ -301,7 +302,7 @@ export default defineComponent({
|
|
|
301
302
|
|
|
302
303
|
.unit-dialog-content > .built-in-close:focus-visible {
|
|
303
304
|
outline: none;
|
|
304
|
-
box-shadow: 0 0 0
|
|
305
|
+
box-shadow: 0 0 0 var(--size-focus-ring-spread) var(--color-ring);
|
|
305
306
|
}
|
|
306
307
|
|
|
307
308
|
.unit-dialog-content > .built-in-close:disabled {
|
|
@@ -112,8 +112,8 @@ export default class FuroDialogContext extends BaseFuroContext {
|
|
|
112
112
|
*/
|
|
113
113
|
static get EMIT_EVENT_HASH () {
|
|
114
114
|
return {
|
|
115
|
-
[this.EMIT_EVENT_NAME.OPEN_CHANGE]: payload =>
|
|
116
|
-
[this.EMIT_EVENT_NAME.UPDATE_OPEN]: payload =>
|
|
115
|
+
[this.EMIT_EVENT_NAME.OPEN_CHANGE]: payload => true,
|
|
116
|
+
[this.EMIT_EVENT_NAME.UPDATE_OPEN]: payload => true,
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
|
|
@@ -267,6 +267,19 @@ export default class FuroDialogContext extends BaseFuroContext {
|
|
|
267
267
|
])
|
|
268
268
|
}
|
|
269
269
|
|
|
270
|
+
/**
|
|
271
|
+
* Extract attributes forwarded to the content element.
|
|
272
|
+
*
|
|
273
|
+
* @returns {Record<string, undefined>} `aria-describedby` cleared when no description renders.
|
|
274
|
+
*/
|
|
275
|
+
extractContentAttributes () {
|
|
276
|
+
return this.hasDescription()
|
|
277
|
+
? {}
|
|
278
|
+
: {
|
|
279
|
+
'aria-describedby': undefined,
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
|
|
270
283
|
/**
|
|
271
284
|
* CSS selector (scoped to dialog content) for the element to focus on open.
|
|
272
285
|
*
|