vuetify 3.7.12 → 3.7.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +2442 -2430
- package/dist/json/importMap-labs.json +8 -8
- package/dist/json/importMap.json +146 -146
- package/dist/json/tags.json +4 -1
- package/dist/json/web-types.json +4796 -4506
- package/dist/vuetify-labs.css +2781 -2771
- package/dist/vuetify-labs.d.ts +427 -163
- package/dist/vuetify-labs.esm.js +224 -143
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +223 -142
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +4465 -4469
- package/dist/vuetify.d.ts +173 -152
- package/dist/vuetify.esm.js +103 -85
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +102 -84
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1082 -1077
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.mts +1 -1
- package/lib/blueprints/md1.d.mts +1 -1
- package/lib/blueprints/md2.d.mts +1 -1
- package/lib/blueprints/md3.d.mts +1 -1
- package/lib/components/VAlert/VAlert.mjs +1 -1
- package/lib/components/VAlert/index.d.mts +1 -1
- package/lib/components/VAppBar/VAppBar.mjs +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +1 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs +1 -1
- package/lib/components/VAppBar/index.d.mts +5 -5
- package/lib/components/VAutocomplete/VAutocomplete.mjs +1 -1
- package/lib/components/VAutocomplete/index.d.mts +4 -4
- package/lib/components/VAvatar/index.d.mts +1 -1
- package/lib/components/VBadge/VBadge.mjs +1 -1
- package/lib/components/VBadge/index.d.mts +1 -1
- package/lib/components/VBanner/VBanner.mjs +1 -1
- package/lib/components/VBanner/index.d.mts +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.css +1 -0
- package/lib/components/VBottomNavigation/VBottomNavigation.sass +1 -0
- package/lib/components/VBottomNavigation/index.d.mts +1 -1
- package/lib/components/VBottomSheet/VBottomSheet.mjs +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +1 -1
- package/lib/components/VBreadcrumbs/index.d.mts +5 -5
- package/lib/components/VBtn/VBtn.mjs +1 -1
- package/lib/components/VBtn/index.d.mts +5 -5
- package/lib/components/VBtnGroup/VBtnGroup.mjs +1 -1
- package/lib/components/VBtnToggle/VBtnToggle.mjs +1 -1
- package/lib/components/VBtnToggle/index.d.mts +1 -1
- package/lib/components/VCard/VCard.mjs +1 -1
- package/lib/components/VCard/VCardItem.mjs +1 -1
- package/lib/components/VCard/VCardSubtitle.mjs +1 -1
- package/lib/components/VCard/VCardText.mjs +1 -1
- package/lib/components/VCard/index.d.mts +5 -5
- package/lib/components/VCarousel/VCarousel.mjs +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs +1 -1
- package/lib/components/VCarousel/index.d.mts +1 -1
- package/lib/components/VCheckbox/VCheckbox.mjs +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -1
- package/lib/components/VCheckbox/index.d.mts +1 -1
- package/lib/components/VChip/VChip.mjs +1 -1
- package/lib/components/VChip/index.d.mts +5 -5
- package/lib/components/VChipGroup/VChipGroup.mjs +1 -1
- package/lib/components/VChipGroup/index.d.mts +1 -1
- package/lib/components/VColorPicker/VColorPicker.mjs +1 -1
- package/lib/components/VColorPicker/index.d.mts +10 -10
- package/lib/components/VCombobox/VCombobox.mjs +1 -1
- package/lib/components/VCombobox/index.d.mts +4 -4
- package/lib/components/VConfirmEdit/VConfirmEdit.mjs +1 -1
- package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs +5 -5
- package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs.map +1 -1
- package/lib/components/VConfirmEdit/index.d.mts +1 -1
- package/lib/components/VCounter/VCounter.mjs +1 -1
- package/lib/components/VDataIterator/index.d.mts +1 -1
- package/lib/components/VDataTable/VDataTable.mjs +1 -1
- package/lib/components/VDataTable/VDataTableFooter.mjs +1 -1
- package/lib/components/VDataTable/VDataTableGroupHeaderRow.mjs +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.mjs +1 -1
- package/lib/components/VDataTable/VDataTableRow.mjs +1 -1
- package/lib/components/VDataTable/VDataTableRows.mjs +1 -1
- package/lib/components/VDataTable/VDataTableServer.mjs +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.mjs +1 -1
- package/lib/components/VDataTable/composables/sort.mjs +12 -8
- package/lib/components/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/components/VDataTable/index.d.mts +1 -1
- package/lib/components/VDatePicker/VDatePicker.mjs +20 -11
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerControls.mjs +1 -1
- package/lib/components/VDatePicker/VDatePickerControls.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.mjs +1 -1
- package/lib/components/VDatePicker/VDatePickerMonths.mjs +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.mjs +1 -1
- package/lib/components/VDatePicker/index.d.mts +28 -16
- package/lib/components/VDialog/VDialog.mjs +1 -1
- package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs +1 -1
- package/lib/components/VDialog/index.d.mts +3 -3
- package/lib/components/VEmptyState/VEmptyState.mjs +1 -1
- package/lib/components/VEmptyState/index.d.mts +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +1 -1
- package/lib/components/VFab/VFab.mjs +1 -1
- package/lib/components/VFab/index.d.mts +5 -5
- package/lib/components/VField/VField.mjs +1 -1
- package/lib/components/VField/VFieldLabel.mjs +1 -1
- package/lib/components/VField/index.d.mts +1 -1
- package/lib/components/VFileInput/VFileInput.css +0 -1
- package/lib/components/VFileInput/VFileInput.mjs +13 -4
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.sass +0 -1
- package/lib/components/VFileInput/index.d.mts +4 -4
- package/lib/components/VFooter/VFooter.mjs +1 -1
- package/lib/components/VGrid/VContainer.mjs +1 -1
- package/lib/components/VIcon/index.d.mts +1 -1
- package/lib/components/VImg/VImg.mjs +1 -1
- package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs +1 -1
- package/lib/components/VInput/VInput.mjs +3 -3
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.mts +1 -1
- package/lib/components/VItemGroup/index.d.mts +1 -1
- package/lib/components/VLazy/VLazy.mjs +1 -1
- package/lib/components/VList/VList.mjs +2 -2
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListChildren.mjs +1 -1
- package/lib/components/VList/VListGroup.mjs +1 -1
- package/lib/components/VList/VListItem.mjs +3 -2
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItemAction.mjs +1 -1
- package/lib/components/VList/VListItemMedia.mjs +1 -1
- package/lib/components/VList/VListItemSubtitle.mjs +1 -1
- package/lib/components/VList/index.d.mts +17 -5
- package/lib/components/VMenu/VMenu.mjs +1 -1
- package/lib/components/VMenu/index.d.mts +3 -3
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +0 -4
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +3 -6
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +0 -5
- package/lib/components/VOtpInput/VOtpInput.mjs +3 -3
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.mjs +1 -1
- package/lib/components/VPagination/VPagination.mjs +1 -1
- package/lib/components/VPagination/index.d.mts +1 -1
- package/lib/components/VParallax/VParallax.mjs +1 -1
- package/lib/components/VRadio/VRadio.mjs +1 -1
- package/lib/components/VRadio/index.d.mts +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs +1 -1
- package/lib/components/VRadioGroup/index.d.mts +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs +1 -1
- package/lib/components/VRating/VRating.mjs +1 -1
- package/lib/components/VRating/index.d.mts +1 -1
- package/lib/components/VSelect/VSelect.mjs +1 -1
- package/lib/components/VSelect/index.d.mts +4 -4
- package/lib/components/VSelectionControl/VSelectionControl.mjs +1 -1
- package/lib/components/VSelectionControl/index.d.mts +1 -1
- package/lib/components/VSelectionControlGroup/index.d.mts +1 -1
- package/lib/components/VSheet/VSheet.mjs +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +1 -1
- package/lib/components/VSlideGroup/index.d.mts +1 -1
- package/lib/components/VSlider/VSlider.mjs +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +1 -1
- package/lib/components/VSnackbar/VSnackbar.mjs +1 -1
- package/lib/components/VSnackbar/index.d.mts +3 -3
- package/lib/components/VSparkline/VBarline.mjs +1 -2
- package/lib/components/VSparkline/VBarline.mjs.map +1 -1
- package/lib/components/VSparkline/VSparkline.mjs +1 -1
- package/lib/components/VSparkline/VTrendline.mjs +1 -2
- package/lib/components/VSparkline/VTrendline.mjs.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.mjs +1 -1
- package/lib/components/VStepper/VStepper.mjs +3 -3
- package/lib/components/VStepper/VStepper.mjs.map +1 -1
- package/lib/components/VStepper/VStepperItem.mjs +1 -1
- package/lib/components/VStepper/VStepperWindow.mjs +1 -1
- package/lib/components/VStepper/VStepperWindowItem.mjs +1 -1
- package/lib/components/VStepper/index.d.mts +1 -1
- package/lib/components/VSwitch/VSwitch.mjs +1 -1
- package/lib/components/VSwitch/index.d.mts +1 -1
- package/lib/components/VSystemBar/VSystemBar.mjs +1 -1
- package/lib/components/VTabs/VTab.mjs +1 -1
- package/lib/components/VTabs/VTabs.mjs +1 -1
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/VTabsWindow.mjs +1 -1
- package/lib/components/VTabs/VTabsWindowItem.mjs +1 -1
- package/lib/components/VTabs/index.d.mts +21 -21
- package/lib/components/VTextField/VTextField.mjs +1 -1
- package/lib/components/VTextField/index.d.mts +7 -7
- package/lib/components/VTextarea/VTextarea.mjs +1 -1
- package/lib/components/VTextarea/index.d.mts +4 -4
- package/lib/components/VTimeline/VTimeline.mjs +3 -3
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +1 -1
- package/lib/components/VTimeline/index.d.mts +1 -1
- package/lib/components/VToolbar/VToolbar.mjs +1 -1
- package/lib/components/VTooltip/VTooltip.mjs +1 -1
- package/lib/components/VTooltip/index.d.mts +3 -3
- package/lib/components/VValidation/index.d.mts +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +1 -1
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +1 -1
- package/lib/components/VVirtualScroll/index.d.mts +1 -1
- package/lib/components/VWindow/VWindow.mjs +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +1 -1
- package/lib/components/VWindow/index.d.mts +1 -1
- package/lib/components/index.d.mts +127 -106
- package/lib/components/transitions/dialog-transition.mjs +1 -2
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/composables/calendar.mjs +4 -1
- package/lib/composables/calendar.mjs.map +1 -1
- package/lib/composables/date/adapters/vuetify.mjs +9 -21
- package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
- package/lib/composables/density.mjs +1 -1
- package/lib/composables/density.mjs.map +1 -1
- package/lib/composables/icons.mjs +1 -1
- package/lib/composables/list-items.mjs +2 -3
- package/lib/composables/list-items.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +16 -1
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/variant.mjs +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/iconsets/fa-svg.d.mts +1 -1
- package/lib/iconsets/fa.d.mts +1 -1
- package/lib/iconsets/fa4.d.mts +1 -1
- package/lib/iconsets/md.d.mts +1 -1
- package/lib/iconsets/mdi-svg.d.mts +1 -1
- package/lib/iconsets/mdi.d.mts +1 -1
- package/lib/index.d.mts +47 -47
- package/lib/labs/VCalendar/VCalendar.mjs +1 -1
- package/lib/labs/VCalendar/VCalendarDay.mjs +1 -1
- package/lib/labs/VCalendar/index.d.mts +8 -2
- package/lib/labs/VDateInput/VDateInput.mjs +4 -3
- package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
- package/lib/labs/VDateInput/index.d.mts +256 -3
- package/lib/labs/VFileUpload/VFileUpload.mjs +3 -3
- package/lib/labs/VFileUpload/VFileUpload.mjs.map +1 -1
- package/lib/labs/VFileUpload/VFileUploadItem.mjs +1 -1
- package/lib/labs/VFileUpload/index.d.mts +5 -5
- package/lib/labs/VNumberInput/VNumberInput.css +10 -2
- package/lib/labs/VNumberInput/VNumberInput.mjs +94 -36
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/VNumberInput.sass +12 -2
- package/lib/labs/VNumberInput/index.d.mts +59 -32
- package/lib/labs/VPicker/VPicker.mjs +1 -1
- package/lib/labs/VSnackbarQueue/VSnackbarQueue.mjs +1 -1
- package/lib/labs/VSnackbarQueue/index.d.mts +3 -3
- package/lib/labs/VStepperVertical/VStepperVertical.mjs +1 -1
- package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs +1 -1
- package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs +1 -1
- package/lib/labs/VStepperVertical/index.d.mts +1 -1
- package/lib/labs/VTimePicker/VTimePicker.mjs +1 -1
- package/lib/labs/VTimePicker/VTimePickerControls.mjs +1 -1
- package/lib/labs/VTimePicker/VTimePickerControls.sass +16 -16
- package/lib/labs/VTimePicker/_variables.scss +12 -12
- package/lib/labs/VTreeview/VTreeview.mjs +7 -3
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewChildren.mjs +6 -9
- package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewGroup.mjs +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.css +15 -9
- package/lib/labs/VTreeview/VTreeviewItem.mjs +14 -14
- package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.sass +16 -10
- package/lib/labs/VTreeview/_variables.scss +2 -5
- package/lib/labs/VTreeview/index.d.mts +14 -20
- package/lib/labs/components.d.mts +365 -122
- package/lib/locale/adapters/vue-i18n.mjs +0 -1
- package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
- package/lib/locale/ja.mjs +19 -19
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/styles/tools/_functions.sass +1 -1
- package/lib/util/helpers.mjs +3 -9
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +17 -16
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as vue from 'vue';
|
|
2
|
-
import { ComponentPropsOptions, ExtractPropTypes, PropType, ComponentPublicInstance, FunctionalComponent, Ref } from 'vue';
|
|
2
|
+
import { ComponentPropsOptions, ExtractPropTypes, PropType, ComponentPublicInstance, FunctionalComponent, ComputedRef, Ref } from 'vue';
|
|
3
3
|
|
|
4
4
|
type ClassValue = any;
|
|
5
5
|
|
|
@@ -33,6 +33,17 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
|
|
|
33
33
|
type EventProp<T extends any[] = any[], F = (...args: T) => void> = F;
|
|
34
34
|
declare const EventProp: <T extends any[] = any[]>() => PropType<EventProp<T>>;
|
|
35
35
|
|
|
36
|
+
type VCounterSlot = {
|
|
37
|
+
counter: string;
|
|
38
|
+
max: string | number | undefined;
|
|
39
|
+
value: string | number | undefined;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
interface LoaderSlotProps {
|
|
43
|
+
color: string | undefined;
|
|
44
|
+
isActive: boolean;
|
|
45
|
+
}
|
|
46
|
+
|
|
36
47
|
type Density = null | 'default' | 'comfortable' | 'compact';
|
|
37
48
|
|
|
38
49
|
type ValidationResult = string | boolean;
|
|
@@ -61,6 +72,32 @@ type JSXComponent<Props = any> = {
|
|
|
61
72
|
type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
|
|
62
73
|
declare const IconValue: PropType<IconValue>;
|
|
63
74
|
|
|
75
|
+
type VMessageSlot = {
|
|
76
|
+
message: string;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
interface VInputSlot {
|
|
80
|
+
id: ComputedRef<string>;
|
|
81
|
+
messagesId: ComputedRef<string>;
|
|
82
|
+
isDirty: ComputedRef<boolean>;
|
|
83
|
+
isDisabled: ComputedRef<boolean>;
|
|
84
|
+
isReadonly: ComputedRef<boolean>;
|
|
85
|
+
isPristine: Ref<boolean>;
|
|
86
|
+
isValid: ComputedRef<boolean | null>;
|
|
87
|
+
isValidating: Ref<boolean>;
|
|
88
|
+
reset: () => void;
|
|
89
|
+
resetValidation: () => void;
|
|
90
|
+
validate: () => void;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
interface DefaultInputSlot {
|
|
94
|
+
isActive: Ref<boolean>;
|
|
95
|
+
isFocused: Ref<boolean>;
|
|
96
|
+
controlRef: Ref<HTMLElement | undefined>;
|
|
97
|
+
focus: () => void;
|
|
98
|
+
blur: () => void;
|
|
99
|
+
}
|
|
100
|
+
|
|
64
101
|
interface LocationStrategyData {
|
|
65
102
|
contentEl: Ref<HTMLElement | undefined>;
|
|
66
103
|
target: Ref<HTMLElement | [x: number, y: number] | undefined>;
|
|
@@ -202,14 +239,59 @@ declare const VDateInput: {
|
|
|
202
239
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
|
203
240
|
} & {
|
|
204
241
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
242
|
+
message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
|
|
243
|
+
clear?: ((arg: DefaultInputSlot & {
|
|
244
|
+
props: Record<string, any>;
|
|
245
|
+
}) => vue.VNodeChild) | undefined;
|
|
246
|
+
details?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
247
|
+
label?: ((arg: DefaultInputSlot & {
|
|
248
|
+
label: string | undefined;
|
|
249
|
+
props: Record<string, any>;
|
|
250
|
+
}) => vue.VNodeChild) | undefined;
|
|
251
|
+
append?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
252
|
+
prepend?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
253
|
+
loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
254
|
+
counter?: ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
|
|
255
|
+
'prepend-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
256
|
+
'append-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
205
257
|
actions?: ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
|
|
206
258
|
default?: (() => vue.VNodeChild) | undefined;
|
|
207
259
|
};
|
|
208
260
|
'v-slots'?: {
|
|
261
|
+
message?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
|
|
262
|
+
clear?: false | ((arg: DefaultInputSlot & {
|
|
263
|
+
props: Record<string, any>;
|
|
264
|
+
}) => vue.VNodeChild) | undefined;
|
|
265
|
+
details?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
266
|
+
label?: false | ((arg: DefaultInputSlot & {
|
|
267
|
+
label: string | undefined;
|
|
268
|
+
props: Record<string, any>;
|
|
269
|
+
}) => vue.VNodeChild) | undefined;
|
|
270
|
+
append?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
271
|
+
prepend?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
272
|
+
loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
273
|
+
counter?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
|
|
274
|
+
'prepend-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
275
|
+
'append-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
209
276
|
actions?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
|
|
210
277
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
211
278
|
} | undefined;
|
|
212
279
|
} & {
|
|
280
|
+
"v-slot:message"?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
|
|
281
|
+
"v-slot:clear"?: false | ((arg: DefaultInputSlot & {
|
|
282
|
+
props: Record<string, any>;
|
|
283
|
+
}) => vue.VNodeChild) | undefined;
|
|
284
|
+
"v-slot:details"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
285
|
+
"v-slot:label"?: false | ((arg: DefaultInputSlot & {
|
|
286
|
+
label: string | undefined;
|
|
287
|
+
props: Record<string, any>;
|
|
288
|
+
}) => vue.VNodeChild) | undefined;
|
|
289
|
+
"v-slot:append"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
290
|
+
"v-slot:prepend"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
291
|
+
"v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
292
|
+
"v-slot:counter"?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
|
|
293
|
+
"v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
294
|
+
"v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
213
295
|
"v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
|
|
214
296
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
215
297
|
} & {
|
|
@@ -317,14 +399,59 @@ declare const VDateInput: {
|
|
|
317
399
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
|
318
400
|
} & {
|
|
319
401
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
402
|
+
message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
|
|
403
|
+
clear?: ((arg: DefaultInputSlot & {
|
|
404
|
+
props: Record<string, any>;
|
|
405
|
+
}) => vue.VNodeChild) | undefined;
|
|
406
|
+
details?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
407
|
+
label?: ((arg: DefaultInputSlot & {
|
|
408
|
+
label: string | undefined;
|
|
409
|
+
props: Record<string, any>;
|
|
410
|
+
}) => vue.VNodeChild) | undefined;
|
|
411
|
+
append?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
412
|
+
prepend?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
413
|
+
loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
414
|
+
counter?: ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
|
|
415
|
+
'prepend-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
416
|
+
'append-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
320
417
|
actions?: ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
|
|
321
418
|
default?: (() => vue.VNodeChild) | undefined;
|
|
322
419
|
};
|
|
323
420
|
'v-slots'?: {
|
|
421
|
+
message?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
|
|
422
|
+
clear?: false | ((arg: DefaultInputSlot & {
|
|
423
|
+
props: Record<string, any>;
|
|
424
|
+
}) => vue.VNodeChild) | undefined;
|
|
425
|
+
details?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
426
|
+
label?: false | ((arg: DefaultInputSlot & {
|
|
427
|
+
label: string | undefined;
|
|
428
|
+
props: Record<string, any>;
|
|
429
|
+
}) => vue.VNodeChild) | undefined;
|
|
430
|
+
append?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
431
|
+
prepend?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
432
|
+
loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
433
|
+
counter?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
|
|
434
|
+
'prepend-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
435
|
+
'append-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
324
436
|
actions?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
|
|
325
437
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
326
438
|
} | undefined;
|
|
327
439
|
} & {
|
|
440
|
+
"v-slot:message"?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
|
|
441
|
+
"v-slot:clear"?: false | ((arg: DefaultInputSlot & {
|
|
442
|
+
props: Record<string, any>;
|
|
443
|
+
}) => vue.VNodeChild) | undefined;
|
|
444
|
+
"v-slot:details"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
445
|
+
"v-slot:label"?: false | ((arg: DefaultInputSlot & {
|
|
446
|
+
label: string | undefined;
|
|
447
|
+
props: Record<string, any>;
|
|
448
|
+
}) => vue.VNodeChild) | undefined;
|
|
449
|
+
"v-slot:append"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
450
|
+
"v-slot:prepend"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
451
|
+
"v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
452
|
+
"v-slot:counter"?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
|
|
453
|
+
"v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
454
|
+
"v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
328
455
|
"v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
|
|
329
456
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
330
457
|
} & {
|
|
@@ -382,6 +509,21 @@ declare const VDateInput: {
|
|
|
382
509
|
hideHeader: boolean;
|
|
383
510
|
hideActions: boolean;
|
|
384
511
|
}, true, {}, vue.SlotsType<Partial<{
|
|
512
|
+
message: (arg: VMessageSlot) => vue.VNode[];
|
|
513
|
+
clear: (arg: DefaultInputSlot & {
|
|
514
|
+
props: Record<string, any>;
|
|
515
|
+
}) => vue.VNode[];
|
|
516
|
+
details: (arg: VInputSlot) => vue.VNode[];
|
|
517
|
+
label: (arg: DefaultInputSlot & {
|
|
518
|
+
label: string | undefined;
|
|
519
|
+
props: Record<string, any>;
|
|
520
|
+
}) => vue.VNode[];
|
|
521
|
+
append: (arg: VInputSlot) => vue.VNode[];
|
|
522
|
+
prepend: (arg: VInputSlot) => vue.VNode[];
|
|
523
|
+
loader: (arg: LoaderSlotProps) => vue.VNode[];
|
|
524
|
+
counter: (arg: VCounterSlot) => vue.VNode[];
|
|
525
|
+
'prepend-inner': (arg: DefaultInputSlot) => vue.VNode[];
|
|
526
|
+
'append-inner': (arg: DefaultInputSlot) => vue.VNode[];
|
|
385
527
|
actions: (arg: VDateInputActionsSlot) => vue.VNode[];
|
|
386
528
|
default: () => vue.VNode[];
|
|
387
529
|
}>>, {
|
|
@@ -492,14 +634,59 @@ declare const VDateInput: {
|
|
|
492
634
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
|
493
635
|
} & {
|
|
494
636
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
637
|
+
message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
|
|
638
|
+
clear?: ((arg: DefaultInputSlot & {
|
|
639
|
+
props: Record<string, any>;
|
|
640
|
+
}) => vue.VNodeChild) | undefined;
|
|
641
|
+
details?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
642
|
+
label?: ((arg: DefaultInputSlot & {
|
|
643
|
+
label: string | undefined;
|
|
644
|
+
props: Record<string, any>;
|
|
645
|
+
}) => vue.VNodeChild) | undefined;
|
|
646
|
+
append?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
647
|
+
prepend?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
648
|
+
loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
649
|
+
counter?: ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
|
|
650
|
+
'prepend-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
651
|
+
'append-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
495
652
|
actions?: ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
|
|
496
653
|
default?: (() => vue.VNodeChild) | undefined;
|
|
497
654
|
};
|
|
498
655
|
'v-slots'?: {
|
|
656
|
+
message?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
|
|
657
|
+
clear?: false | ((arg: DefaultInputSlot & {
|
|
658
|
+
props: Record<string, any>;
|
|
659
|
+
}) => vue.VNodeChild) | undefined;
|
|
660
|
+
details?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
661
|
+
label?: false | ((arg: DefaultInputSlot & {
|
|
662
|
+
label: string | undefined;
|
|
663
|
+
props: Record<string, any>;
|
|
664
|
+
}) => vue.VNodeChild) | undefined;
|
|
665
|
+
append?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
666
|
+
prepend?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
667
|
+
loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
668
|
+
counter?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
|
|
669
|
+
'prepend-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
670
|
+
'append-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
499
671
|
actions?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
|
|
500
672
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
501
673
|
} | undefined;
|
|
502
674
|
} & {
|
|
675
|
+
"v-slot:message"?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
|
|
676
|
+
"v-slot:clear"?: false | ((arg: DefaultInputSlot & {
|
|
677
|
+
props: Record<string, any>;
|
|
678
|
+
}) => vue.VNodeChild) | undefined;
|
|
679
|
+
"v-slot:details"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
680
|
+
"v-slot:label"?: false | ((arg: DefaultInputSlot & {
|
|
681
|
+
label: string | undefined;
|
|
682
|
+
props: Record<string, any>;
|
|
683
|
+
}) => vue.VNodeChild) | undefined;
|
|
684
|
+
"v-slot:append"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
685
|
+
"v-slot:prepend"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
686
|
+
"v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
687
|
+
"v-slot:counter"?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
|
|
688
|
+
"v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
689
|
+
"v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
503
690
|
"v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
|
|
504
691
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
505
692
|
} & {
|
|
@@ -661,14 +848,59 @@ declare const VDateInput: {
|
|
|
661
848
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
|
662
849
|
} & {
|
|
663
850
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
851
|
+
message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
|
|
852
|
+
clear?: ((arg: DefaultInputSlot & {
|
|
853
|
+
props: Record<string, any>;
|
|
854
|
+
}) => vue.VNodeChild) | undefined;
|
|
855
|
+
details?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
856
|
+
label?: ((arg: DefaultInputSlot & {
|
|
857
|
+
label: string | undefined;
|
|
858
|
+
props: Record<string, any>;
|
|
859
|
+
}) => vue.VNodeChild) | undefined;
|
|
860
|
+
append?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
861
|
+
prepend?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
862
|
+
loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
863
|
+
counter?: ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
|
|
864
|
+
'prepend-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
865
|
+
'append-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
664
866
|
actions?: ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
|
|
665
867
|
default?: (() => vue.VNodeChild) | undefined;
|
|
666
868
|
};
|
|
667
869
|
'v-slots'?: {
|
|
870
|
+
message?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
|
|
871
|
+
clear?: false | ((arg: DefaultInputSlot & {
|
|
872
|
+
props: Record<string, any>;
|
|
873
|
+
}) => vue.VNodeChild) | undefined;
|
|
874
|
+
details?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
875
|
+
label?: false | ((arg: DefaultInputSlot & {
|
|
876
|
+
label: string | undefined;
|
|
877
|
+
props: Record<string, any>;
|
|
878
|
+
}) => vue.VNodeChild) | undefined;
|
|
879
|
+
append?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
880
|
+
prepend?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
881
|
+
loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
882
|
+
counter?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
|
|
883
|
+
'prepend-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
884
|
+
'append-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
668
885
|
actions?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
|
|
669
886
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
670
887
|
} | undefined;
|
|
671
888
|
} & {
|
|
889
|
+
"v-slot:message"?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
|
|
890
|
+
"v-slot:clear"?: false | ((arg: DefaultInputSlot & {
|
|
891
|
+
props: Record<string, any>;
|
|
892
|
+
}) => vue.VNodeChild) | undefined;
|
|
893
|
+
"v-slot:details"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
894
|
+
"v-slot:label"?: false | ((arg: DefaultInputSlot & {
|
|
895
|
+
label: string | undefined;
|
|
896
|
+
props: Record<string, any>;
|
|
897
|
+
}) => vue.VNodeChild) | undefined;
|
|
898
|
+
"v-slot:append"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
899
|
+
"v-slot:prepend"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
900
|
+
"v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
901
|
+
"v-slot:counter"?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
|
|
902
|
+
"v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
903
|
+
"v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
|
|
672
904
|
"v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
|
|
673
905
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
674
906
|
} & {
|
|
@@ -728,6 +960,21 @@ declare const VDateInput: {
|
|
|
728
960
|
hideHeader: boolean;
|
|
729
961
|
hideActions: boolean;
|
|
730
962
|
}, {}, string, vue.SlotsType<Partial<{
|
|
963
|
+
message: (arg: VMessageSlot) => vue.VNode[];
|
|
964
|
+
clear: (arg: DefaultInputSlot & {
|
|
965
|
+
props: Record<string, any>;
|
|
966
|
+
}) => vue.VNode[];
|
|
967
|
+
details: (arg: VInputSlot) => vue.VNode[];
|
|
968
|
+
label: (arg: DefaultInputSlot & {
|
|
969
|
+
label: string | undefined;
|
|
970
|
+
props: Record<string, any>;
|
|
971
|
+
}) => vue.VNode[];
|
|
972
|
+
append: (arg: VInputSlot) => vue.VNode[];
|
|
973
|
+
prepend: (arg: VInputSlot) => vue.VNode[];
|
|
974
|
+
loader: (arg: LoaderSlotProps) => vue.VNode[];
|
|
975
|
+
counter: (arg: VCounterSlot) => vue.VNode[];
|
|
976
|
+
'prepend-inner': (arg: DefaultInputSlot) => vue.VNode[];
|
|
977
|
+
'append-inner': (arg: DefaultInputSlot) => vue.VNode[];
|
|
731
978
|
actions: (arg: VDateInputActionsSlot) => vue.VNode[];
|
|
732
979
|
default: () => vue.VNode[];
|
|
733
980
|
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
|
|
@@ -762,7 +1009,10 @@ declare const VDateInput: {
|
|
|
762
1009
|
default: string;
|
|
763
1010
|
};
|
|
764
1011
|
text: StringConstructor;
|
|
765
|
-
disabled:
|
|
1012
|
+
disabled: {
|
|
1013
|
+
type: BooleanConstructor;
|
|
1014
|
+
default: null;
|
|
1015
|
+
};
|
|
766
1016
|
multiple: PropType<boolean | "range" | number | (string & {})>;
|
|
767
1017
|
month: (StringConstructor | NumberConstructor)[];
|
|
768
1018
|
year: NumberConstructor;
|
|
@@ -980,7 +1230,10 @@ declare const VDateInput: {
|
|
|
980
1230
|
default: string;
|
|
981
1231
|
};
|
|
982
1232
|
text: StringConstructor;
|
|
983
|
-
disabled:
|
|
1233
|
+
disabled: {
|
|
1234
|
+
type: BooleanConstructor;
|
|
1235
|
+
default: null;
|
|
1236
|
+
};
|
|
984
1237
|
multiple: PropType<boolean | "range" | number | (string & {})>;
|
|
985
1238
|
month: (StringConstructor | NumberConstructor)[];
|
|
986
1239
|
year: NumberConstructor;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from "vue";
|
|
2
2
|
// Styles
|
|
3
3
|
import "./VFileUpload.css";
|
|
4
4
|
|
|
@@ -16,7 +16,7 @@ import { IconValue } from "../../composables/icons.mjs";
|
|
|
16
16
|
import { useLocale } from "../../composables/locale.mjs";
|
|
17
17
|
import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
|
|
18
18
|
import { onMounted, onUnmounted, ref, shallowRef } from 'vue';
|
|
19
|
-
import { filterInputAttrs, genericComponent,
|
|
19
|
+
import { filterInputAttrs, genericComponent, pick, propsFactory, useRender, wrapInArray } from "../../util/index.mjs"; // Types
|
|
20
20
|
export const makeVFileUploadProps = propsFactory({
|
|
21
21
|
browseText: {
|
|
22
22
|
type: String,
|
|
@@ -54,7 +54,7 @@ export const makeVFileUploadProps = propsFactory({
|
|
|
54
54
|
name: String,
|
|
55
55
|
...makeDelayProps(),
|
|
56
56
|
...makeDensityProps(),
|
|
57
|
-
...
|
|
57
|
+
...pick(makeVDividerProps({
|
|
58
58
|
length: 150
|
|
59
59
|
}), ['length', 'thickness', 'opacity']),
|
|
60
60
|
...makeVSheetProps()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VFileUpload.mjs","names":["VFileUploadItem","VBtn","VDefaultsProvider","makeVDividerProps","VDivider","VIcon","VOverlay","makeVSheetProps","VSheet","makeDelayProps","makeDensityProps","useDensity","IconValue","useLocale","useProxiedModel","onMounted","onUnmounted","ref","shallowRef","filterInputAttrs","genericComponent","only","propsFactory","useRender","wrapInArray","makeVFileUploadProps","browseText","type","String","default","dividerText","title","subtitle","icon","modelValue","Array","Object","validator","val","every","v","clearable","Boolean","disabled","hideBrowse","multiple","scrim","showSize","name","length","VFileUpload","inheritAttrs","props","emits","files","setup","_ref","attrs","slots","t","densityClasses","model","isArray","dragOver","vSheetRef","inputRef","value","$el","addEventListener","onDragOver","onDrop","removeEventListener","e","preventDefault","stopImmediatePropagation","onDragLeave","from","dataTransfer","array","slice","file","some","f","push","onClick","click","onClickRemove","index","filter","_","i","hasTitle","hasIcon","hasBrowse","browse","density","cardProps","filterProps","dividerProps","rootAttrs","inputAttrs","inputNode","_createVNode","_mergeProps","target","_Fragment","undefined","divider","readonly","size","text","variant","input","map","slotProps","onClick:remove","item"],"sources":["../../../src/labs/VFileUpload/VFileUpload.tsx"],"sourcesContent":["// Styles\nimport './VFileUpload.sass'\n\n// Components\nimport { VFileUploadItem } from './VFileUploadItem'\nimport { VBtn } from '@/components/VBtn/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider/VDefaultsProvider'\nimport { makeVDividerProps, VDivider } from '@/components/VDivider/VDivider'\nimport { VIcon } from '@/components/VIcon/VIcon'\nimport { VOverlay } from '@/components/VOverlay/VOverlay'\nimport { makeVSheetProps, VSheet } from '@/components/VSheet/VSheet'\n\n// Composables\nimport { makeDelayProps } from '@/composables/delay'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { onMounted, onUnmounted, ref, shallowRef } from 'vue'\nimport { filterInputAttrs, genericComponent, only, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType, VNode } from 'vue'\n\nexport type VFileUploadSlots = {\n browse: {\n props: { onClick: (e: MouseEvent) => void }\n }\n default: never\n icon: never\n input: {\n inputNode: VNode\n }\n item: {\n file: File\n props: { 'onClick:remove': () => void }\n }\n title: never\n divider: never\n}\n\nexport const makeVFileUploadProps = propsFactory({\n browseText: {\n type: String,\n default: '$vuetify.fileUpload.browse',\n },\n dividerText: {\n type: String,\n default: '$vuetify.fileUpload.divider',\n },\n title: {\n type: String,\n default: '$vuetify.fileUpload.title',\n },\n subtitle: String,\n icon: {\n type: IconValue,\n default: '$upload',\n },\n modelValue: {\n type: [Array, Object] as PropType<File[] | File>,\n default: null,\n validator: (val: any) => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n },\n clearable: Boolean,\n disabled: Boolean,\n hideBrowse: Boolean,\n multiple: Boolean,\n scrim: {\n type: [Boolean, String],\n default: true,\n },\n showSize: Boolean,\n name: String,\n\n ...makeDelayProps(),\n ...makeDensityProps(),\n ...only(makeVDividerProps({\n length: 150,\n }), ['length', 'thickness', 'opacity']),\n ...makeVSheetProps(),\n}, 'VFileUpload')\n\nexport const VFileUpload = genericComponent<VFileUploadSlots>()({\n name: 'VFileUpload',\n\n inheritAttrs: false,\n\n props: makeVFileUploadProps(),\n\n emits: {\n 'update:modelValue': (files: File[]) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { t } = useLocale()\n const { densityClasses } = useDensity(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n props.modelValue,\n val => wrapInArray(val),\n val => (props.multiple || Array.isArray(props.modelValue)) ? val : val[0],\n )\n\n const dragOver = shallowRef(false)\n const vSheetRef = ref<InstanceType<typeof VSheet> | null>(null)\n const inputRef = ref<HTMLInputElement | null>(null)\n\n onMounted(() => {\n vSheetRef.value?.$el.addEventListener('dragover', onDragOver)\n vSheetRef.value?.$el.addEventListener('drop', onDrop)\n })\n\n onUnmounted(() => {\n vSheetRef.value?.$el.removeEventListener('dragover', onDragOver)\n vSheetRef.value?.$el.removeEventListener('drop', onDrop)\n })\n\n function onDragOver (e: DragEvent) {\n e.preventDefault()\n e.stopImmediatePropagation()\n dragOver.value = true\n }\n\n function onDragLeave (e: DragEvent) {\n e.preventDefault()\n dragOver.value = false\n }\n\n function onDrop (e: DragEvent) {\n e.preventDefault()\n e.stopImmediatePropagation()\n dragOver.value = false\n\n const files = Array.from(e.dataTransfer?.files ?? [])\n\n if (!files.length) return\n\n if (!props.multiple) {\n model.value = [files[0]]\n\n return\n }\n\n const array = model.value.slice()\n\n for (const file of files) {\n if (!array.some(f => f.name === file.name)) {\n array.push(file)\n }\n }\n\n model.value = array\n }\n\n function onClick () {\n inputRef.value?.click()\n }\n\n function onClickRemove (index: number) {\n model.value = model.value.filter((_, i) => i !== index)\n\n if (model.value.length > 0 || !inputRef.value) return\n\n inputRef.value.value = ''\n }\n\n useRender(() => {\n const hasTitle = !!(slots.title || props.title)\n const hasIcon = !!(slots.icon || props.icon)\n const hasBrowse = !!(!props.hideBrowse && (slots.browse || props.density === 'default'))\n const cardProps = VSheet.filterProps(props)\n const dividerProps = VDivider.filterProps(props)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n\n const inputNode = (\n <input\n ref={ inputRef }\n type=\"file\"\n disabled={ props.disabled }\n multiple={ props.multiple }\n name={ props.name }\n onChange={ e => {\n if (!e.target) return\n\n const target = e.target as HTMLInputElement\n model.value = [...target.files ?? []]\n }}\n { ...inputAttrs }\n />\n )\n\n return (\n <>\n <VSheet\n ref={ vSheetRef }\n { ...cardProps }\n class={[\n 'v-file-upload',\n {\n 'v-file-upload--clickable': !hasBrowse,\n 'v-file-upload--disabled': props.disabled,\n 'v-file-upload--dragging': dragOver.value,\n },\n densityClasses.value,\n ]}\n onDragleave={ onDragLeave }\n onDragover={ onDragOver }\n onDrop={ onDrop }\n onClick={ !hasBrowse ? onClick : undefined }\n { ...rootAttrs }\n >\n { hasIcon && (\n <div key=\"icon\" class=\"v-file-upload-icon\">\n { !slots.icon ? (\n <VIcon\n key=\"icon-icon\"\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"icon-defaults\"\n defaults={{\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.icon() }\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n { hasTitle && (\n <div key=\"title\" class=\"v-file-upload-title\">\n { slots.title?.() ?? t(props.title) }\n </div>\n )}\n\n { props.density === 'default' && (\n <>\n <div key=\"upload-divider\" class=\"v-file-upload-divider\">\n { slots.divider?.() ?? (\n <VDivider { ...dividerProps }>\n { t(props.dividerText) }\n </VDivider>\n )}\n </div>\n\n { hasBrowse && (\n <>\n { !slots.browse ? (\n <VBtn\n readonly={ props.disabled }\n size=\"large\"\n text={ t(props.browseText) }\n variant=\"tonal\"\n onClick={ onClick }\n />\n ) : (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n readonly: props.disabled,\n size: 'large',\n text: t(props.browseText),\n variant: 'tonal',\n },\n }}\n >\n { slots.browse({ props: { onClick } }) }\n </VDefaultsProvider>\n )}\n </>\n )}\n\n { props.subtitle && (\n <div class=\"v-file-upload-subtitle\">\n { props.subtitle }\n </div>\n )}\n </>\n )}\n\n <VOverlay\n model-value={ dragOver.value }\n contained\n scrim={ props.scrim }\n />\n\n { slots.input?.({ inputNode }) ?? inputNode }\n </VSheet>\n\n { model.value.length > 0 && (\n <div class=\"v-file-upload-items\">\n { model.value.map((file, i) => {\n const slotProps = {\n file,\n props: {\n 'onClick:remove': () => onClickRemove(i),\n },\n }\n\n return (\n <VDefaultsProvider\n key={ i }\n defaults={{\n VFileUploadItem: {\n file,\n clearable: props.clearable,\n disabled: props.disabled,\n showSize: props.showSize,\n },\n }}\n >\n { slots.item?.(slotProps) ?? (\n <VFileUploadItem\n key={ i }\n onClick:remove={ () => onClickRemove(i) }\n v-slots={ slots }\n />\n )}\n </VDefaultsProvider>\n )\n })}\n </div>\n )}\n </>\n )\n })\n },\n})\n\nexport type VFileUpload = InstanceType<typeof VFileUpload>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VFileUpload.mjs","names":["VFileUploadItem","VBtn","VDefaultsProvider","makeVDividerProps","VDivider","VIcon","VOverlay","makeVSheetProps","VSheet","makeDelayProps","makeDensityProps","useDensity","IconValue","useLocale","useProxiedModel","onMounted","onUnmounted","ref","shallowRef","filterInputAttrs","genericComponent","pick","propsFactory","useRender","wrapInArray","makeVFileUploadProps","browseText","type","String","default","dividerText","title","subtitle","icon","modelValue","Array","Object","validator","val","every","v","clearable","Boolean","disabled","hideBrowse","multiple","scrim","showSize","name","length","VFileUpload","inheritAttrs","props","emits","files","setup","_ref","attrs","slots","t","densityClasses","model","isArray","dragOver","vSheetRef","inputRef","value","$el","addEventListener","onDragOver","onDrop","removeEventListener","e","preventDefault","stopImmediatePropagation","onDragLeave","from","dataTransfer","array","slice","file","some","f","push","onClick","click","onClickRemove","index","filter","_","i","hasTitle","hasIcon","hasBrowse","browse","density","cardProps","filterProps","dividerProps","rootAttrs","inputAttrs","inputNode","_createVNode","_mergeProps","target","_Fragment","undefined","divider","readonly","size","text","variant","input","map","slotProps","onClick:remove","item"],"sources":["../../../src/labs/VFileUpload/VFileUpload.tsx"],"sourcesContent":["// Styles\nimport './VFileUpload.sass'\n\n// Components\nimport { VFileUploadItem } from './VFileUploadItem'\nimport { VBtn } from '@/components/VBtn/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider/VDefaultsProvider'\nimport { makeVDividerProps, VDivider } from '@/components/VDivider/VDivider'\nimport { VIcon } from '@/components/VIcon/VIcon'\nimport { VOverlay } from '@/components/VOverlay/VOverlay'\nimport { makeVSheetProps, VSheet } from '@/components/VSheet/VSheet'\n\n// Composables\nimport { makeDelayProps } from '@/composables/delay'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { onMounted, onUnmounted, ref, shallowRef } from 'vue'\nimport { filterInputAttrs, genericComponent, pick, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType, VNode } from 'vue'\n\nexport type VFileUploadSlots = {\n browse: {\n props: { onClick: (e: MouseEvent) => void }\n }\n default: never\n icon: never\n input: {\n inputNode: VNode\n }\n item: {\n file: File\n props: { 'onClick:remove': () => void }\n }\n title: never\n divider: never\n}\n\nexport const makeVFileUploadProps = propsFactory({\n browseText: {\n type: String,\n default: '$vuetify.fileUpload.browse',\n },\n dividerText: {\n type: String,\n default: '$vuetify.fileUpload.divider',\n },\n title: {\n type: String,\n default: '$vuetify.fileUpload.title',\n },\n subtitle: String,\n icon: {\n type: IconValue,\n default: '$upload',\n },\n modelValue: {\n type: [Array, Object] as PropType<File[] | File>,\n default: null,\n validator: (val: any) => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n },\n clearable: Boolean,\n disabled: Boolean,\n hideBrowse: Boolean,\n multiple: Boolean,\n scrim: {\n type: [Boolean, String],\n default: true,\n },\n showSize: Boolean,\n name: String,\n\n ...makeDelayProps(),\n ...makeDensityProps(),\n ...pick(makeVDividerProps({\n length: 150,\n }), ['length', 'thickness', 'opacity']),\n ...makeVSheetProps(),\n}, 'VFileUpload')\n\nexport const VFileUpload = genericComponent<VFileUploadSlots>()({\n name: 'VFileUpload',\n\n inheritAttrs: false,\n\n props: makeVFileUploadProps(),\n\n emits: {\n 'update:modelValue': (files: File[]) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { t } = useLocale()\n const { densityClasses } = useDensity(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n props.modelValue,\n val => wrapInArray(val),\n val => (props.multiple || Array.isArray(props.modelValue)) ? val : val[0],\n )\n\n const dragOver = shallowRef(false)\n const vSheetRef = ref<InstanceType<typeof VSheet> | null>(null)\n const inputRef = ref<HTMLInputElement | null>(null)\n\n onMounted(() => {\n vSheetRef.value?.$el.addEventListener('dragover', onDragOver)\n vSheetRef.value?.$el.addEventListener('drop', onDrop)\n })\n\n onUnmounted(() => {\n vSheetRef.value?.$el.removeEventListener('dragover', onDragOver)\n vSheetRef.value?.$el.removeEventListener('drop', onDrop)\n })\n\n function onDragOver (e: DragEvent) {\n e.preventDefault()\n e.stopImmediatePropagation()\n dragOver.value = true\n }\n\n function onDragLeave (e: DragEvent) {\n e.preventDefault()\n dragOver.value = false\n }\n\n function onDrop (e: DragEvent) {\n e.preventDefault()\n e.stopImmediatePropagation()\n dragOver.value = false\n\n const files = Array.from(e.dataTransfer?.files ?? [])\n\n if (!files.length) return\n\n if (!props.multiple) {\n model.value = [files[0]]\n\n return\n }\n\n const array = model.value.slice()\n\n for (const file of files) {\n if (!array.some(f => f.name === file.name)) {\n array.push(file)\n }\n }\n\n model.value = array\n }\n\n function onClick () {\n inputRef.value?.click()\n }\n\n function onClickRemove (index: number) {\n model.value = model.value.filter((_, i) => i !== index)\n\n if (model.value.length > 0 || !inputRef.value) return\n\n inputRef.value.value = ''\n }\n\n useRender(() => {\n const hasTitle = !!(slots.title || props.title)\n const hasIcon = !!(slots.icon || props.icon)\n const hasBrowse = !!(!props.hideBrowse && (slots.browse || props.density === 'default'))\n const cardProps = VSheet.filterProps(props)\n const dividerProps = VDivider.filterProps(props)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n\n const inputNode = (\n <input\n ref={ inputRef }\n type=\"file\"\n disabled={ props.disabled }\n multiple={ props.multiple }\n name={ props.name }\n onChange={ e => {\n if (!e.target) return\n\n const target = e.target as HTMLInputElement\n model.value = [...target.files ?? []]\n }}\n { ...inputAttrs }\n />\n )\n\n return (\n <>\n <VSheet\n ref={ vSheetRef }\n { ...cardProps }\n class={[\n 'v-file-upload',\n {\n 'v-file-upload--clickable': !hasBrowse,\n 'v-file-upload--disabled': props.disabled,\n 'v-file-upload--dragging': dragOver.value,\n },\n densityClasses.value,\n ]}\n onDragleave={ onDragLeave }\n onDragover={ onDragOver }\n onDrop={ onDrop }\n onClick={ !hasBrowse ? onClick : undefined }\n { ...rootAttrs }\n >\n { hasIcon && (\n <div key=\"icon\" class=\"v-file-upload-icon\">\n { !slots.icon ? (\n <VIcon\n key=\"icon-icon\"\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"icon-defaults\"\n defaults={{\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.icon() }\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n { hasTitle && (\n <div key=\"title\" class=\"v-file-upload-title\">\n { slots.title?.() ?? t(props.title) }\n </div>\n )}\n\n { props.density === 'default' && (\n <>\n <div key=\"upload-divider\" class=\"v-file-upload-divider\">\n { slots.divider?.() ?? (\n <VDivider { ...dividerProps }>\n { t(props.dividerText) }\n </VDivider>\n )}\n </div>\n\n { hasBrowse && (\n <>\n { !slots.browse ? (\n <VBtn\n readonly={ props.disabled }\n size=\"large\"\n text={ t(props.browseText) }\n variant=\"tonal\"\n onClick={ onClick }\n />\n ) : (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n readonly: props.disabled,\n size: 'large',\n text: t(props.browseText),\n variant: 'tonal',\n },\n }}\n >\n { slots.browse({ props: { onClick } }) }\n </VDefaultsProvider>\n )}\n </>\n )}\n\n { props.subtitle && (\n <div class=\"v-file-upload-subtitle\">\n { props.subtitle }\n </div>\n )}\n </>\n )}\n\n <VOverlay\n model-value={ dragOver.value }\n contained\n scrim={ props.scrim }\n />\n\n { slots.input?.({ inputNode }) ?? inputNode }\n </VSheet>\n\n { model.value.length > 0 && (\n <div class=\"v-file-upload-items\">\n { model.value.map((file, i) => {\n const slotProps = {\n file,\n props: {\n 'onClick:remove': () => onClickRemove(i),\n },\n }\n\n return (\n <VDefaultsProvider\n key={ i }\n defaults={{\n VFileUploadItem: {\n file,\n clearable: props.clearable,\n disabled: props.disabled,\n showSize: props.showSize,\n },\n }}\n >\n { slots.item?.(slotProps) ?? (\n <VFileUploadItem\n key={ i }\n onClick:remove={ () => onClickRemove(i) }\n v-slots={ slots }\n />\n )}\n </VDefaultsProvider>\n )\n })}\n </div>\n )}\n </>\n )\n })\n },\n})\n\nexport type VFileUpload = InstanceType<typeof VFileUpload>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
|
|
2
2
|
// Components
|
|
3
3
|
import { VAvatar } from "../../components/VAvatar/VAvatar.mjs";
|
|
4
4
|
import { VBtn } from "../../components/VBtn/VBtn.mjs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as vue from 'vue';
|
|
2
|
-
import { ComponentPropsOptions, ExtractPropTypes,
|
|
2
|
+
import { ComponentPropsOptions, ExtractPropTypes, ComponentPublicInstance, FunctionalComponent, PropType, VNode, DirectiveBinding } from 'vue';
|
|
3
3
|
// @ts-ignore
|
|
4
4
|
import * as vue_router from 'vue-router';
|
|
5
5
|
|
|
@@ -754,7 +754,7 @@ declare const VFileUploadItem: {
|
|
|
754
754
|
title?: string | number | undefined;
|
|
755
755
|
class?: any;
|
|
756
756
|
theme?: string | undefined;
|
|
757
|
-
to?: vue_router.
|
|
757
|
+
to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
|
|
758
758
|
onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined;
|
|
759
759
|
onClickOnce?: ((args_0: MouseEvent) => void) | undefined;
|
|
760
760
|
href?: string | undefined;
|
|
@@ -844,7 +844,7 @@ declare const VFileUploadItem: {
|
|
|
844
844
|
title?: string | number | undefined;
|
|
845
845
|
class?: any;
|
|
846
846
|
theme?: string | undefined;
|
|
847
|
-
to?: vue_router.
|
|
847
|
+
to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
|
|
848
848
|
onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined;
|
|
849
849
|
onClickOnce?: ((args_0: MouseEvent) => void) | undefined;
|
|
850
850
|
href?: string | undefined;
|
|
@@ -972,7 +972,7 @@ declare const VFileUploadItem: {
|
|
|
972
972
|
title?: string | number | undefined;
|
|
973
973
|
class?: any;
|
|
974
974
|
theme?: string | undefined;
|
|
975
|
-
to?: vue_router.
|
|
975
|
+
to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
|
|
976
976
|
onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined;
|
|
977
977
|
onClickOnce?: ((args_0: MouseEvent) => void) | undefined;
|
|
978
978
|
href?: string | undefined;
|
|
@@ -1086,7 +1086,7 @@ declare const VFileUploadItem: {
|
|
|
1086
1086
|
title?: string | number | undefined;
|
|
1087
1087
|
class?: any;
|
|
1088
1088
|
theme?: string | undefined;
|
|
1089
|
-
to?: vue_router.
|
|
1089
|
+
to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
|
|
1090
1090
|
onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined;
|
|
1091
1091
|
onClickOnce?: ((args_0: MouseEvent) => void) | undefined;
|
|
1092
1092
|
href?: string | undefined;
|
|
@@ -4,10 +4,18 @@
|
|
|
4
4
|
.v-number-input input[type=number]::-webkit-outer-spin-button, .v-number-input input[type=number]::-webkit-inner-spin-button {
|
|
5
5
|
-webkit-appearance: none;
|
|
6
6
|
}
|
|
7
|
-
.v-number-input .v-field {
|
|
8
|
-
padding-inline-end: 0;
|
|
7
|
+
.v-number-input .v-field:not(:has(.v-field__prepend-inner > .v-icon)) {
|
|
9
8
|
padding-inline-start: 0;
|
|
10
9
|
}
|
|
10
|
+
.v-number-input .v-field:not(:has(.v-field__append-inner > .v-icon)) {
|
|
11
|
+
padding-inline-end: 0;
|
|
12
|
+
}
|
|
13
|
+
.v-number-input .v-field__prepend-inner:has(.v-number-input__control) > .v-icon {
|
|
14
|
+
margin-inline-end: 12px;
|
|
15
|
+
}
|
|
16
|
+
.v-number-input .v-field__append-inner:has(.v-number-input__control) > .v-icon {
|
|
17
|
+
margin-inline-start: 12px;
|
|
18
|
+
}
|
|
11
19
|
.v-number-input--inset .v-divider {
|
|
12
20
|
height: 55%;
|
|
13
21
|
width: 55%;
|