@openreachtech/furo-vue 1.4.0 → 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 -98
- package/lib/assets/css/furo/0040.variables-component-furo.css +26 -24
- package/lib/components/molecules/FuroDropdownMenu/FuroDropdownMenu.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 +3 -0
- 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 +23 -23
- 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
|
@@ -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
|
|
|
@@ -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;
|
|
@@ -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;
|
|
@@ -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)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openreachtech/furo-vue",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "furo for Vue",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "./types/index.d.ts",
|
|
@@ -77,22 +77,22 @@
|
|
|
77
77
|
},
|
|
78
78
|
"license": "Apache-2.0",
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@iconify/vue": "^5.0.
|
|
81
|
-
"@openreachtech/furo": "^1.
|
|
82
|
-
"@tiptap/core": "^3.
|
|
83
|
-
"@tiptap/extension-highlight": "^3.
|
|
84
|
-
"@tiptap/extension-image": "^3.
|
|
85
|
-
"@tiptap/extension-mention": "^3.
|
|
86
|
-
"@tiptap/extension-text-align": "^3.
|
|
87
|
-
"@tiptap/extension-text-style": "^3.
|
|
88
|
-
"@tiptap/extension-typography": "^3.
|
|
89
|
-
"@tiptap/extensions": "^3.
|
|
90
|
-
"@tiptap/pm": "^3.
|
|
91
|
-
"@tiptap/starter-kit": "^3.
|
|
92
|
-
"@tiptap/vue-3": "^3.
|
|
93
|
-
"marked": "^18.0
|
|
94
|
-
"reka-ui": "^2.
|
|
95
|
-
"vue": "^3.5.
|
|
80
|
+
"@iconify/vue": "^5.0.3",
|
|
81
|
+
"@openreachtech/furo": "^1.11.0",
|
|
82
|
+
"@tiptap/core": "^3.31.4",
|
|
83
|
+
"@tiptap/extension-highlight": "^3.31.4",
|
|
84
|
+
"@tiptap/extension-image": "^3.31.4",
|
|
85
|
+
"@tiptap/extension-mention": "^3.31.4",
|
|
86
|
+
"@tiptap/extension-text-align": "^3.31.4",
|
|
87
|
+
"@tiptap/extension-text-style": "^3.31.4",
|
|
88
|
+
"@tiptap/extension-typography": "^3.31.4",
|
|
89
|
+
"@tiptap/extensions": "^3.31.4",
|
|
90
|
+
"@tiptap/pm": "^3.31.4",
|
|
91
|
+
"@tiptap/starter-kit": "^3.31.4",
|
|
92
|
+
"@tiptap/vue-3": "^3.31.4",
|
|
93
|
+
"marked": "^18.1.0",
|
|
94
|
+
"reka-ui": "^2.11.0",
|
|
95
|
+
"vue": "^3.5.43"
|
|
96
96
|
},
|
|
97
97
|
"peerDependencies": {
|
|
98
98
|
"@nuxt/icon": "^1.0.0",
|
|
@@ -108,27 +108,27 @@
|
|
|
108
108
|
},
|
|
109
109
|
"devDependencies": {
|
|
110
110
|
"@babel/core": "^7.29.7",
|
|
111
|
-
"@babel/eslint-parser": "^7.29.
|
|
111
|
+
"@babel/eslint-parser": "^7.29.9",
|
|
112
112
|
"@babel/preset-env": "^7.29.7",
|
|
113
113
|
"@iconify-json/ph": "^1.2.2",
|
|
114
114
|
"@nuxt/icon": "^1.15.0",
|
|
115
115
|
"@openreachtech/eslint-config": "^3.0.2",
|
|
116
|
-
"@openreachtech/jest-constructor-spy": "^1.1.
|
|
117
|
-
"@openreachtech/jest-deep-containing": "^1.0.
|
|
116
|
+
"@openreachtech/jest-constructor-spy": "^1.1.2",
|
|
117
|
+
"@openreachtech/jest-deep-containing": "^1.0.2",
|
|
118
118
|
"@types/jest": "^30.0.0",
|
|
119
|
-
"@vue/test-utils": "^2.
|
|
119
|
+
"@vue/test-utils": "^2.5.1",
|
|
120
120
|
"@vue/vue3-jest": "^29.2.6",
|
|
121
121
|
"babel-jest": "^29.7.0",
|
|
122
122
|
"core-js": "^3.50.0",
|
|
123
123
|
"eslint": "^9.39.5",
|
|
124
124
|
"eslint-plugin-eslint-comments": "^3.2.0",
|
|
125
125
|
"eslint-plugin-vue": "^9.33.0",
|
|
126
|
-
"globals": "^17.
|
|
126
|
+
"globals": "^17.13.0",
|
|
127
127
|
"jest": "^29.7.0",
|
|
128
128
|
"jest-environment-jsdom": "^29.7.0",
|
|
129
129
|
"nuxt": "^3.21.11",
|
|
130
130
|
"typescript": "^5.9.3",
|
|
131
|
-
"vue-tsc": "^3.3.
|
|
131
|
+
"vue-tsc": "^3.3.12",
|
|
132
132
|
"whatwg-fetch": "^3.6.20"
|
|
133
133
|
},
|
|
134
134
|
"overrides": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"library": "@openreachtech/furo-vue",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"generatedFrom": "app/docs/component-registry.js",
|
|
5
5
|
"layers": [
|
|
6
6
|
"foundation",
|
|
@@ -1610,7 +1610,7 @@
|
|
|
1610
1610
|
"name": "portalParcel",
|
|
1611
1611
|
"type": "object | null",
|
|
1612
1612
|
"default": "null",
|
|
1613
|
-
"description": "
|
|
1613
|
+
"description": "Attributes of the portal the option list renders in, such as to or disabled. The list renders at body by default."
|
|
1614
1614
|
},
|
|
1615
1615
|
{
|
|
1616
1616
|
"name": "contentParcel",
|
|
@@ -4547,7 +4547,7 @@
|
|
|
4547
4547
|
"name": "label",
|
|
4548
4548
|
"type": "string",
|
|
4549
4549
|
"default": "'Notifications'",
|
|
4550
|
-
"description": "Accessible
|
|
4550
|
+
"description": "Accessible name of the toast region, in the app's own language. It also prefixes the announcement of each toast. When unset, the region keeps its default name, Notifications (F8)."
|
|
4551
4551
|
},
|
|
4552
4552
|
{
|
|
4553
4553
|
"name": "hotkey",
|
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
declare const _default: typeof __VLS_export;
|
|
2
2
|
export default _default;
|
|
3
|
+
export type __VLS_LocalComponents = typeof __VLS_componentsOption;
|
|
4
|
+
export type __VLS_GlobalComponents = import("vue").GlobalComponents;
|
|
5
|
+
export type __VLS_LocalDirectives = {};
|
|
6
|
+
export type __VLS_StyleScopedClasses = {} & {
|
|
7
|
+
"unit-avatar": boolean;
|
|
8
|
+
} & {
|
|
9
|
+
"circle": boolean;
|
|
10
|
+
} & {
|
|
11
|
+
"square": boolean;
|
|
12
|
+
} & {
|
|
13
|
+
"image": boolean;
|
|
14
|
+
} & {
|
|
15
|
+
"fallback": boolean;
|
|
16
|
+
};
|
|
17
|
+
export type __VLS_Slots = {} & {
|
|
18
|
+
fallback?: (props: typeof __VLS_18) => any;
|
|
19
|
+
};
|
|
3
20
|
declare const __VLS_export: import("vue").DefineComponent<{
|
|
4
21
|
parcel: import("./FuroAvatarContext.js").FuroAvatarParcel | null;
|
|
5
22
|
}, {
|
|
@@ -71,4 +88,68 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
71
88
|
};
|
|
72
89
|
});
|
|
73
90
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
91
|
+
declare namespace __VLS_componentsOption {
|
|
92
|
+
let AvatarRoot: {
|
|
93
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("reka-ui").AvatarRootProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {}, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
94
|
+
P: {};
|
|
95
|
+
B: {};
|
|
96
|
+
D: {};
|
|
97
|
+
C: {};
|
|
98
|
+
M: {};
|
|
99
|
+
Defaults: {};
|
|
100
|
+
}, Readonly<import("reka-ui").AvatarRootProps> & Readonly<{}>, {}, {}, {}, {}, {}>;
|
|
101
|
+
__isFragment?: never;
|
|
102
|
+
__isTeleport?: never;
|
|
103
|
+
__isSuspense?: never;
|
|
104
|
+
} & import("vue").ComponentOptionsBase<Readonly<import("reka-ui").AvatarRootProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
105
|
+
$slots: {
|
|
106
|
+
default?: (props: {}) => any;
|
|
107
|
+
};
|
|
108
|
+
});
|
|
109
|
+
let AvatarImage: {
|
|
110
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("reka-ui").AvatarImageProps> & Readonly<{
|
|
111
|
+
onLoadingStatusChange?: ((value: "idle" | "loading" | "loaded" | "error") => any) | undefined;
|
|
112
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
113
|
+
loadingStatusChange: (value: "idle" | "loading" | "loaded" | "error") => any;
|
|
114
|
+
}, import("vue").PublicProps, {}, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
115
|
+
P: {};
|
|
116
|
+
B: {};
|
|
117
|
+
D: {};
|
|
118
|
+
C: {};
|
|
119
|
+
M: {};
|
|
120
|
+
Defaults: {};
|
|
121
|
+
}, Readonly<import("reka-ui").AvatarImageProps> & Readonly<{
|
|
122
|
+
onLoadingStatusChange?: ((value: "idle" | "loading" | "loaded" | "error") => any) | undefined;
|
|
123
|
+
}>, {}, {}, {}, {}, {}>;
|
|
124
|
+
__isFragment?: never;
|
|
125
|
+
__isTeleport?: never;
|
|
126
|
+
__isSuspense?: never;
|
|
127
|
+
} & import("vue").ComponentOptionsBase<Readonly<import("reka-ui").AvatarImageProps> & Readonly<{
|
|
128
|
+
onLoadingStatusChange?: ((value: "idle" | "loading" | "loaded" | "error") => any) | undefined;
|
|
129
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
130
|
+
loadingStatusChange: (value: "idle" | "loading" | "loaded" | "error") => any;
|
|
131
|
+
}, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
132
|
+
$slots: {
|
|
133
|
+
default?: (props: {}) => any;
|
|
134
|
+
};
|
|
135
|
+
});
|
|
136
|
+
let AvatarFallback: {
|
|
137
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("reka-ui").AvatarFallbackProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {}, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
138
|
+
P: {};
|
|
139
|
+
B: {};
|
|
140
|
+
D: {};
|
|
141
|
+
C: {};
|
|
142
|
+
M: {};
|
|
143
|
+
Defaults: {};
|
|
144
|
+
}, Readonly<import("reka-ui").AvatarFallbackProps> & Readonly<{}>, {}, {}, {}, {}, {}>;
|
|
145
|
+
__isFragment?: never;
|
|
146
|
+
__isTeleport?: never;
|
|
147
|
+
__isSuspense?: never;
|
|
148
|
+
} & import("vue").ComponentOptionsBase<Readonly<import("reka-ui").AvatarFallbackProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
149
|
+
$slots: {
|
|
150
|
+
default?: (props: {}) => any;
|
|
151
|
+
};
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
declare var __VLS_18: {};
|
|
74
155
|
import FuroAvatarContext from './FuroAvatarContext.js';
|