vuetify 3.10.8 → 3.10.10
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 +1543 -1543
- package/dist/json/importMap-labs.json +18 -18
- package/dist/json/importMap.json +174 -174
- package/dist/json/web-types.json +2937 -2937
- package/dist/vuetify-labs.cjs +205 -216
- package/dist/vuetify-labs.css +4754 -4730
- package/dist/vuetify-labs.d.ts +72 -72
- package/dist/vuetify-labs.esm.js +205 -216
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +205 -216
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +137 -99
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +2766 -2730
- package/dist/vuetify.d.ts +56 -56
- package/dist/vuetify.esm.js +137 -99
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +137 -99
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +334 -330
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAvatar/VAvatar.css +1 -1
- package/lib/components/VAvatar/_variables.scss +1 -1
- package/lib/components/VBtnToggle/VBtnToggle.css +21 -0
- package/lib/components/VBtnToggle/VBtnToggle.sass +22 -0
- package/lib/components/VCard/VCard.js +8 -1
- package/lib/components/VCard/VCard.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +7 -16
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VList/VList.css +6 -0
- package/lib/components/VList/VList.sass +6 -0
- package/lib/components/VList/VListItem.css +0 -3
- package/lib/components/VList/VListItem.sass +0 -4
- package/lib/components/VOverlay/useActivator.js +2 -1
- package/lib/components/VOverlay/useActivator.js.map +1 -1
- package/lib/components/VTabs/VTab.css +8 -0
- package/lib/components/VTabs/VTab.sass +7 -0
- package/lib/components/VTextField/VTextField.js +17 -7
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTextarea/VTextarea.js +17 -7
- package/lib/components/VTextarea/VTextarea.js.map +1 -1
- package/lib/composables/calendar.d.ts +6 -0
- package/lib/composables/calendar.js +37 -2
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/delay.js +3 -2
- package/lib/composables/delay.js.map +1 -1
- package/lib/composables/hotkey/hotkey.js +42 -53
- package/lib/composables/hotkey/hotkey.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/entry-bundler.js.map +1 -1
- package/lib/framework.d.ts +56 -56
- package/lib/framework.js +1 -1
- package/lib/framework.js.map +1 -1
- package/lib/labs/VDateInput/VDateInput.js +8 -12
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/lib/labs/VHotkey/VHotkey.css +4 -16
- package/lib/labs/VHotkey/VHotkey.d.ts +29 -29
- package/lib/labs/VHotkey/VHotkey.js +62 -106
- package/lib/labs/VHotkey/VHotkey.js.map +1 -1
- package/lib/labs/VHotkey/VHotkey.scss +8 -25
- package/lib/styles/main.css +4 -0
- package/lib/styles/settings/_variables.scss +1 -0
- package/lib/util/box.js +3 -8
- package/lib/util/box.js.map +1 -1
- package/lib/util/throttle.js +2 -2
- package/lib/util/throttle.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hotkey.js","names":["splitKeyCombination","splitKeySequence","
|
|
1
|
+
{"version":3,"file":"hotkey.js","names":["splitKeyCombination","splitKeySequence","onScopeDispose","toValue","watch","IN_BROWSER","useHotkey","keys","callback","options","arguments","length","undefined","event","inputs","preventDefault","sequenceTimeout","isMac","navigator","userAgent","includes","timeout","keyGroups","isSequence","groupIndex","isInputFocused","activeElement","document","tagName","isContentEditable","contentEditable","resetSequence","clearTimeout","handler","e","group","matchesKeyGroup","window","setTimeout","cleanup","removeEventListener","newKeys","groups","toLowerCase","addEventListener","immediate","newEvent","oldEvent","modifiers","actualKey","parseKeyGroup","expectCtrl","ctrl","cmd","meta","expectMeta","ctrlKey","metaKey","shiftKey","shift","altKey","alt","key","MODIFIERS","parts","Object","fromEntries","map","m","part"],"sources":["../../../src/composables/hotkey/hotkey.ts"],"sourcesContent":["// Composables\nimport { splitKeyCombination, splitKeySequence } from '@/composables/hotkey/hotkey-parsing'\n\n// Utilities\nimport { onScopeDispose, toValue, watch } from 'vue'\nimport { IN_BROWSER } from '@/util'\n\n// Types\nimport type { MaybeRef } from '@/util'\n\ninterface HotkeyOptions {\n event?: MaybeRef<'keydown' | 'keyup'>\n inputs?: MaybeRef<boolean>\n preventDefault?: MaybeRef<boolean>\n sequenceTimeout?: MaybeRef<number>\n}\n\nexport function useHotkey (\n keys: MaybeRef<string | undefined>,\n callback: (e: KeyboardEvent) => void,\n options: HotkeyOptions = {}\n) {\n if (!IN_BROWSER) return function () {}\n\n const {\n event = 'keydown',\n inputs = false,\n preventDefault = true,\n sequenceTimeout = 1000,\n } = options\n\n const isMac = navigator?.userAgent?.includes('Macintosh') ?? false\n let timeout = 0\n let keyGroups: string[]\n let isSequence = false\n let groupIndex = 0\n\n function isInputFocused () {\n if (toValue(inputs)) return false\n\n const activeElement = document.activeElement as HTMLElement\n\n return activeElement && (\n activeElement.tagName === 'INPUT' ||\n activeElement.tagName === 'TEXTAREA' ||\n activeElement.isContentEditable ||\n activeElement.contentEditable === 'true'\n )\n }\n\n function resetSequence () {\n groupIndex = 0\n clearTimeout(timeout)\n }\n\n function handler (e: KeyboardEvent) {\n const group = keyGroups[groupIndex]\n\n if (!group || isInputFocused()) return\n\n if (!matchesKeyGroup(e, group, isMac)) {\n if (isSequence) resetSequence()\n return\n }\n\n if (toValue(preventDefault)) e.preventDefault()\n\n if (!isSequence) {\n callback(e)\n return\n }\n\n clearTimeout(timeout)\n groupIndex++\n\n if (groupIndex === keyGroups.length) {\n callback(e)\n resetSequence()\n return\n }\n\n timeout = window.setTimeout(resetSequence, toValue(sequenceTimeout))\n }\n\n function cleanup () {\n window.removeEventListener(toValue(event), handler)\n clearTimeout(timeout)\n }\n\n watch(() => toValue(keys), newKeys => {\n cleanup()\n\n if (newKeys) {\n const groups = splitKeySequence(newKeys.toLowerCase())\n isSequence = groups.length > 1\n keyGroups = groups\n resetSequence()\n window.addEventListener(toValue(event), handler)\n }\n }, { immediate: true })\n\n // Watch for changes in the event type to re-register the listener\n watch(() => toValue(event), (newEvent, oldEvent) => {\n if (oldEvent && keyGroups && keyGroups.length > 0) {\n window.removeEventListener(oldEvent, handler)\n window.addEventListener(newEvent, handler)\n }\n })\n\n onScopeDispose(cleanup, true)\n\n return cleanup\n}\n\nfunction matchesKeyGroup (e: KeyboardEvent, group: string, isMac: boolean) {\n const { modifiers, actualKey } = parseKeyGroup(group)\n\n const expectCtrl = modifiers.ctrl || (!isMac && (modifiers.cmd || modifiers.meta))\n const expectMeta = isMac && (modifiers.cmd || modifiers.meta)\n\n return (\n e.ctrlKey === expectCtrl &&\n e.metaKey === expectMeta &&\n e.shiftKey === modifiers.shift &&\n e.altKey === modifiers.alt &&\n e.key.toLowerCase() === actualKey?.toLowerCase()\n )\n}\n\nfunction parseKeyGroup (group: string) {\n const MODIFIERS = ['ctrl', 'shift', 'alt', 'meta', 'cmd']\n\n // Use the shared combination splitting logic\n const parts = splitKeyCombination(group.toLowerCase())\n\n // If the combination is invalid, return empty result\n if (parts.length === 0) {\n return { modifiers: Object.fromEntries(MODIFIERS.map(m => [m, false])), actualKey: undefined }\n }\n\n const modifiers = Object.fromEntries(MODIFIERS.map(m => [m, false])) as Record<string, boolean>\n let actualKey: string | undefined\n\n for (const part of parts) {\n if (MODIFIERS.includes(part)) {\n modifiers[part] = true\n } else {\n actualKey = part\n }\n }\n\n return { modifiers, actualKey }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/entry-bundler.js
CHANGED
|
@@ -16,7 +16,7 @@ export const createVuetify = function () {
|
|
|
16
16
|
...options
|
|
17
17
|
});
|
|
18
18
|
};
|
|
19
|
-
export const version = "3.10.
|
|
19
|
+
export const version = "3.10.10";
|
|
20
20
|
createVuetify.version = version;
|
|
21
21
|
export { blueprints, components, directives };
|
|
22
22
|
export * from "./composables/index.js";
|
package/lib/entry-bundler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-bundler.js","names":["blueprints","components","directives","createVuetify","_createVuetify","options","arguments","length","undefined","version"],"sources":["../src/entry-bundler.ts"],"sourcesContent":["/* eslint-disable local-rules/sort-imports */\n\n// Styles\nimport './styles/main.sass'\n\n// Components\nimport * as blueprints from './blueprints'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\n\n// Types\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\nexport {\n blueprints,\n components,\n directives,\n}\nexport * from './composables'\n"],"mappings":"AAAA;;AAEA;AACA;;AAEA;AAAA,OACO,KAAKA,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,SACbC,aAAa,IAAIC,cAAc,0BAExC;AAGA,OAAO,MAAMD,aAAa,GAAG,SAAAA,CAAA,EAAkC;EAAA,IAAjCE,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxD,OAAOF,cAAc,CAAC;IAAEH,UAAU;IAAEC,UAAU;IAAE,GAAGG;EAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMI,OAAO,
|
|
1
|
+
{"version":3,"file":"entry-bundler.js","names":["blueprints","components","directives","createVuetify","_createVuetify","options","arguments","length","undefined","version"],"sources":["../src/entry-bundler.ts"],"sourcesContent":["/* eslint-disable local-rules/sort-imports */\n\n// Styles\nimport './styles/main.sass'\n\n// Components\nimport * as blueprints from './blueprints'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\n\n// Types\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\nexport {\n blueprints,\n components,\n directives,\n}\nexport * from './composables'\n"],"mappings":"AAAA;;AAEA;AACA;;AAEA;AAAA,OACO,KAAKA,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,SACbC,aAAa,IAAIC,cAAc,0BAExC;AAGA,OAAO,MAAMD,aAAa,GAAG,SAAAA,CAAA,EAAkC;EAAA,IAAjCE,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxD,OAAOF,cAAc,CAAC;IAAEH,UAAU;IAAEC,UAAU;IAAE,GAAGG;EAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMI,OAAO,YAAsB;AAC1CN,aAAa,CAACM,OAAO,GAAGA,OAAO;AAE/B,SACET,UAAU,EACVC,UAAU,EACVC,UAAU;AACX","ignoreList":[]}
|
package/lib/framework.d.ts
CHANGED
|
@@ -2722,24 +2722,26 @@ declare module 'vue' {
|
|
|
2722
2722
|
$children?: VNodeChild
|
|
2723
2723
|
}
|
|
2724
2724
|
export interface GlobalComponents {
|
|
2725
|
-
VApp: typeof import('vuetify/components')['VApp']
|
|
2726
|
-
VAlert: typeof import('vuetify/components')['VAlert']
|
|
2727
|
-
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
|
2728
|
-
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
|
2729
2725
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
|
2730
2726
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
|
2731
2727
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
|
2732
|
-
|
|
2733
|
-
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
|
2734
|
-
VBannerText: typeof import('vuetify/components')['VBannerText']
|
|
2728
|
+
VApp: typeof import('vuetify/components')['VApp']
|
|
2735
2729
|
VBadge: typeof import('vuetify/components')['VBadge']
|
|
2736
|
-
VAvatar: typeof import('vuetify/components')['VAvatar']
|
|
2737
2730
|
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
|
2738
|
-
|
|
2731
|
+
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
|
2732
|
+
VAlert: typeof import('vuetify/components')['VAlert']
|
|
2733
|
+
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
|
2734
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
|
2735
|
+
VAvatar: typeof import('vuetify/components')['VAvatar']
|
|
2739
2736
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
|
2740
2737
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
|
2741
2738
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
|
2742
|
-
|
|
2739
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
|
2740
|
+
VBanner: typeof import('vuetify/components')['VBanner']
|
|
2741
|
+
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
|
2742
|
+
VBannerText: typeof import('vuetify/components')['VBannerText']
|
|
2743
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
|
2744
|
+
VCode: typeof import('vuetify/components')['VCode']
|
|
2743
2745
|
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
|
2744
2746
|
VCard: typeof import('vuetify/components')['VCard']
|
|
2745
2747
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
|
@@ -2749,11 +2751,13 @@ declare module 'vue' {
|
|
|
2749
2751
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
|
2750
2752
|
VCarousel: typeof import('vuetify/components')['VCarousel']
|
|
2751
2753
|
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
|
2754
|
+
VChip: typeof import('vuetify/components')['VChip']
|
|
2752
2755
|
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
|
2753
|
-
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
|
2754
2756
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
|
2755
2757
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
|
2756
|
-
|
|
2758
|
+
VCombobox: typeof import('vuetify/components')['VCombobox']
|
|
2759
|
+
VFab: typeof import('vuetify/components')['VFab']
|
|
2760
|
+
VCounter: typeof import('vuetify/components')['VCounter']
|
|
2757
2761
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
|
2758
2762
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
|
2759
2763
|
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
|
@@ -2762,40 +2766,40 @@ declare module 'vue' {
|
|
|
2762
2766
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
|
2763
2767
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
|
2764
2768
|
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
|
|
2769
|
+
VDialog: typeof import('vuetify/components')['VDialog']
|
|
2770
|
+
VDivider: typeof import('vuetify/components')['VDivider']
|
|
2771
|
+
VFooter: typeof import('vuetify/components')['VFooter']
|
|
2772
|
+
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
|
2773
|
+
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
|
2774
|
+
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
|
2775
|
+
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
|
2768
2776
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
|
2769
2777
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
|
2770
2778
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
|
2771
2779
|
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
|
2772
2780
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
|
2773
2781
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
|
2774
|
-
VDialog: typeof import('vuetify/components')['VDialog']
|
|
2775
|
-
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
|
2776
2782
|
VField: typeof import('vuetify/components')['VField']
|
|
2777
2783
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
|
2778
|
-
|
|
2779
|
-
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
|
2780
|
-
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
|
2781
|
-
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
|
2782
|
-
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
|
2783
|
-
VFooter: typeof import('vuetify/components')['VFooter']
|
|
2784
|
-
VFab: typeof import('vuetify/components')['VFab']
|
|
2784
|
+
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
|
2785
2785
|
VFileInput: typeof import('vuetify/components')['VFileInput']
|
|
2786
|
+
VImg: typeof import('vuetify/components')['VImg']
|
|
2786
2787
|
VIcon: typeof import('vuetify/components')['VIcon']
|
|
2787
2788
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
|
2788
2789
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
|
2789
2790
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
|
2790
2791
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
|
2791
|
-
VImg: typeof import('vuetify/components')['VImg']
|
|
2792
|
-
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
|
2793
2792
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
|
2794
2793
|
VItem: typeof import('vuetify/components')['VItem']
|
|
2795
2794
|
VKbd: typeof import('vuetify/components')['VKbd']
|
|
2795
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
|
2796
|
+
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
|
2797
|
+
VMain: typeof import('vuetify/components')['VMain']
|
|
2796
2798
|
VInput: typeof import('vuetify/components')['VInput']
|
|
2799
|
+
VMenu: typeof import('vuetify/components')['VMenu']
|
|
2797
2800
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
|
2798
|
-
|
|
2801
|
+
VOverlay: typeof import('vuetify/components')['VOverlay']
|
|
2802
|
+
VMessages: typeof import('vuetify/components')['VMessages']
|
|
2799
2803
|
VList: typeof import('vuetify/components')['VList']
|
|
2800
2804
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
|
2801
2805
|
VListImg: typeof import('vuetify/components')['VListImg']
|
|
@@ -2805,28 +2809,22 @@ declare module 'vue' {
|
|
|
2805
2809
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
|
2806
2810
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
|
2807
2811
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
|
2808
|
-
VMenu: typeof import('vuetify/components')['VMenu']
|
|
2809
|
-
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
|
2810
|
-
VMessages: typeof import('vuetify/components')['VMessages']
|
|
2811
2812
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
|
2812
|
-
|
|
2813
|
+
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
|
2813
2814
|
VPagination: typeof import('vuetify/components')['VPagination']
|
|
2814
|
-
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
|
2815
|
-
VOverlay: typeof import('vuetify/components')['VOverlay']
|
|
2816
|
-
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
|
2817
|
-
VRating: typeof import('vuetify/components')['VRating']
|
|
2818
2815
|
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
|
2819
|
-
|
|
2816
|
+
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
|
2817
|
+
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
|
2820
2818
|
VSelect: typeof import('vuetify/components')['VSelect']
|
|
2819
|
+
VRating: typeof import('vuetify/components')['VRating']
|
|
2821
2820
|
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
|
2821
|
+
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
|
2822
|
+
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
|
2823
|
+
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
|
2824
|
+
VSheet: typeof import('vuetify/components')['VSheet']
|
|
2822
2825
|
VSlider: typeof import('vuetify/components')['VSlider']
|
|
2823
2826
|
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
|
2824
|
-
VSheet: typeof import('vuetify/components')['VSheet']
|
|
2825
2827
|
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
|
2826
|
-
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
|
2827
|
-
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
|
2828
|
-
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
|
2829
|
-
VSwitch: typeof import('vuetify/components')['VSwitch']
|
|
2830
2828
|
VStepper: typeof import('vuetify/components')['VStepper']
|
|
2831
2829
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
|
2832
2830
|
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
|
@@ -2837,46 +2835,49 @@ declare module 'vue' {
|
|
|
2837
2835
|
VTabs: typeof import('vuetify/components')['VTabs']
|
|
2838
2836
|
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
|
2839
2837
|
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
|
2838
|
+
VSwitch: typeof import('vuetify/components')['VSwitch']
|
|
2839
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
|
2840
2840
|
VTable: typeof import('vuetify/components')['VTable']
|
|
2841
2841
|
VTextarea: typeof import('vuetify/components')['VTextarea']
|
|
2842
|
-
VTextField: typeof import('vuetify/components')['VTextField']
|
|
2843
2842
|
VTimePicker: typeof import('vuetify/components')['VTimePicker']
|
|
2844
2843
|
VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
|
|
2845
2844
|
VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
|
|
2845
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
|
2846
|
+
VToolbar: typeof import('vuetify/components')['VToolbar']
|
|
2847
|
+
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
|
2848
|
+
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
|
2846
2849
|
VTimeline: typeof import('vuetify/components')['VTimeline']
|
|
2847
2850
|
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
|
2851
|
+
VTooltip: typeof import('vuetify/components')['VTooltip']
|
|
2848
2852
|
VTreeview: typeof import('vuetify/components')['VTreeview']
|
|
2849
2853
|
VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
|
|
2850
2854
|
VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
|
|
2851
|
-
VTooltip: typeof import('vuetify/components')['VTooltip']
|
|
2852
|
-
VToolbar: typeof import('vuetify/components')['VToolbar']
|
|
2853
|
-
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
|
2854
|
-
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
|
2855
2855
|
VWindow: typeof import('vuetify/components')['VWindow']
|
|
2856
2856
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
|
2857
2857
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
|
2858
2858
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
|
2859
2859
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
|
2860
2860
|
VForm: typeof import('vuetify/components')['VForm']
|
|
2861
|
-
VHover: typeof import('vuetify/components')['VHover']
|
|
2862
2861
|
VContainer: typeof import('vuetify/components')['VContainer']
|
|
2863
2862
|
VCol: typeof import('vuetify/components')['VCol']
|
|
2864
2863
|
VRow: typeof import('vuetify/components')['VRow']
|
|
2865
2864
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
|
2866
|
-
VLazy: typeof import('vuetify/components')['VLazy']
|
|
2867
2865
|
VLayout: typeof import('vuetify/components')['VLayout']
|
|
2868
2866
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
|
2867
|
+
VHover: typeof import('vuetify/components')['VHover']
|
|
2868
|
+
VLazy: typeof import('vuetify/components')['VLazy']
|
|
2869
2869
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
|
2870
2870
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
|
2871
2871
|
VParallax: typeof import('vuetify/components')['VParallax']
|
|
2872
2872
|
VRadio: typeof import('vuetify/components')['VRadio']
|
|
2873
2873
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
|
2874
2874
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
|
2875
|
-
VSparkline: typeof import('vuetify/components')['VSparkline']
|
|
2876
2875
|
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
|
2876
|
+
VSparkline: typeof import('vuetify/components')['VSparkline']
|
|
2877
2877
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
|
2878
|
-
VValidation: typeof import('vuetify/components')['VValidation']
|
|
2879
2878
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
|
2879
|
+
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
|
2880
|
+
VValidation: typeof import('vuetify/components')['VValidation']
|
|
2880
2881
|
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
|
2881
2882
|
VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
|
|
2882
2883
|
VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
|
|
@@ -2893,21 +2894,20 @@ declare module 'vue' {
|
|
|
2893
2894
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
|
2894
2895
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
|
2895
2896
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
|
2896
|
-
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
|
2897
2897
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
|
2898
|
+
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
|
2898
2899
|
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
|
2899
2900
|
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
|
2900
|
-
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
|
2901
2901
|
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
|
2902
2902
|
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
|
2903
2903
|
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
|
2904
|
+
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
|
2905
|
+
VHotkey: typeof import('vuetify/labs/components')['VHotkey']
|
|
2906
|
+
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
|
2907
|
+
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
|
2904
2908
|
VPie: typeof import('vuetify/labs/components')['VPie']
|
|
2905
2909
|
VPieSegment: typeof import('vuetify/labs/components')['VPieSegment']
|
|
2906
2910
|
VPieTooltip: typeof import('vuetify/labs/components')['VPieTooltip']
|
|
2907
|
-
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
|
2908
|
-
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
|
2909
|
-
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
|
2910
|
-
VHotkey: typeof import('vuetify/labs/components')['VHotkey']
|
|
2911
2911
|
VVideo: typeof import('vuetify/labs/components')['VVideo']
|
|
2912
2912
|
VVideoControls: typeof import('vuetify/labs/components')['VVideoControls']
|
|
2913
2913
|
VVideoVolume: typeof import('vuetify/labs/components')['VVideoVolume']
|
package/lib/framework.js
CHANGED
package/lib/framework.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework.js","names":["createDate","DateAdapterSymbol","DateOptionsSymbol","createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createGoTo","GoToSymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","effectScope","nextTick","reactive","defineComponent","IN_BROWSER","mergeDeep","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","scope","run","defaults","display","ssr","theme","icons","locale","date","goTo","install","app","key","directive","component","name","aliasName","appScope","onUnmount","stop","provide","instance","$nuxt","hook","update","mount","vm","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","unmount","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDate, DateAdapterSymbol, DateOptionsSymbol } from '@/composables/date/date'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createGoTo, GoToSymbol } from '@/composables/goto'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { effectScope, nextTick, reactive } from 'vue'\nimport { defineComponent, IN_BROWSER, mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DateOptions } from '@/composables/date'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions, SSROptions } from '@/composables/display'\nimport type { GoToOptions } from '@/composables/goto'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\n// Exports\nexport * from './composables'\nexport * from './types'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n date?: DateOptions\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n goTo?: GoToOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: SSROptions\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options: VuetifyOptions = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const scope = effectScope()\n return scope.run(() => {\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n const date = createDate(options.date, locale)\n const goTo = createGoTo(options.goTo, locale)\n\n function install (app: App) {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n const appScope = effectScope()\n appScope.run(() => {\n theme.install(app)\n })\n app.onUnmount(() => appScope.stop())\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n app.provide(DateOptionsSymbol, date.options)\n app.provide(DateAdapterSymbol, date.instance)\n app.provide(GoToSymbol, goTo)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n date: inject.call(this, DateAdapterSymbol),\n })\n },\n },\n })\n }\n }\n\n function unmount () {\n scope.stop()\n }\n\n return {\n install,\n unmount,\n defaults,\n display,\n theme,\n icons,\n locale,\n date,\n goTo,\n }\n })!\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"framework.js","names":["createDate","DateAdapterSymbol","DateOptionsSymbol","createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createGoTo","GoToSymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","effectScope","nextTick","reactive","defineComponent","IN_BROWSER","mergeDeep","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","scope","run","defaults","display","ssr","theme","icons","locale","date","goTo","install","app","key","directive","component","name","aliasName","appScope","onUnmount","stop","provide","instance","$nuxt","hook","update","mount","vm","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","unmount","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDate, DateAdapterSymbol, DateOptionsSymbol } from '@/composables/date/date'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createGoTo, GoToSymbol } from '@/composables/goto'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { effectScope, nextTick, reactive } from 'vue'\nimport { defineComponent, IN_BROWSER, mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DateOptions } from '@/composables/date'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions, SSROptions } from '@/composables/display'\nimport type { GoToOptions } from '@/composables/goto'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\n// Exports\nexport * from './composables'\nexport * from './types'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n date?: DateOptions\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n goTo?: GoToOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: SSROptions\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options: VuetifyOptions = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const scope = effectScope()\n return scope.run(() => {\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n const date = createDate(options.date, locale)\n const goTo = createGoTo(options.goTo, locale)\n\n function install (app: App) {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n const appScope = effectScope()\n appScope.run(() => {\n theme.install(app)\n })\n app.onUnmount(() => appScope.stop())\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n app.provide(DateOptionsSymbol, date.options)\n app.provide(DateAdapterSymbol, date.instance)\n app.provide(GoToSymbol, goTo)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n date: inject.call(this, DateAdapterSymbol),\n })\n },\n },\n })\n }\n }\n\n function unmount () {\n scope.stop()\n }\n\n return {\n install,\n unmount,\n defaults,\n display,\n theme,\n icons,\n locale,\n date,\n goTo,\n }\n })!\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ import { makeVConfirmEditProps, VConfirmEdit } from "../../components/VConfirmEd
|
|
|
4
4
|
import { makeVDatePickerProps, VDatePicker } from "../../components/VDatePicker/VDatePicker.js";
|
|
5
5
|
import { VMenu } from "../../components/VMenu/VMenu.js";
|
|
6
6
|
import { makeVTextFieldProps, VTextField } from "../../components/VTextField/VTextField.js"; // Composables
|
|
7
|
+
import { useCalendarRange } from "../../composables/calendar.js";
|
|
7
8
|
import { useDate } from "../../composables/date/index.js";
|
|
8
9
|
import { createDateRange } from "../../composables/date/date.js";
|
|
9
10
|
import { makeDateFormatProps, useDateFormat } from "../../composables/dateFormat.js";
|
|
@@ -74,15 +75,10 @@ export const VDateInput = genericComponent()({
|
|
|
74
75
|
const {
|
|
75
76
|
mobile
|
|
76
77
|
} = useDisplay(props);
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
if (props.min && adapter.isBefore(date, props.min)) {
|
|
82
|
-
return props.min;
|
|
83
|
-
}
|
|
84
|
-
return date;
|
|
85
|
-
};
|
|
78
|
+
const {
|
|
79
|
+
clampDate,
|
|
80
|
+
isInAllowedRange
|
|
81
|
+
} = useCalendarRange(props);
|
|
86
82
|
const emptyModelValue = () => props.multiple ? [] : null;
|
|
87
83
|
const model = useProxiedModel(props, 'modelValue', emptyModelValue(), val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val, val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val);
|
|
88
84
|
const menu = useProxiedModel(props, 'menu');
|
|
@@ -178,16 +174,16 @@ export const VDateInput = genericComponent()({
|
|
|
178
174
|
model.value = emptyModelValue();
|
|
179
175
|
} else if (!props.multiple) {
|
|
180
176
|
if (isValid(value)) {
|
|
181
|
-
model.value =
|
|
177
|
+
model.value = clampDate(parseDate(value));
|
|
182
178
|
}
|
|
183
179
|
} else {
|
|
184
180
|
const parts = value.trim().split(/\D+-\D+|[^\d\-/.]+/);
|
|
185
181
|
if (parts.every(isValid)) {
|
|
186
182
|
if (props.multiple === 'range') {
|
|
187
|
-
const [start, stop] = parts.map(parseDate).map(
|
|
183
|
+
const [start, stop] = parts.map(parseDate).map(clampDate).toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1);
|
|
188
184
|
model.value = createDateRange(adapter, start, stop);
|
|
189
185
|
} else {
|
|
190
|
-
model.value = parts.map(parseDate).
|
|
186
|
+
model.value = parts.map(parseDate).filter(isInAllowedRange);
|
|
191
187
|
}
|
|
192
188
|
}
|
|
193
189
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDateInput.js","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","useDate","createDateRange","makeDateFormatProps","useDateFormat","makeDisplayProps","useDisplay","makeFocusProps","forwardRefs","useLocale","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","pick","propsFactory","useRender","wrapInArray","makeVDateInputProps","displayFormat","type","Function","String","default","undefined","location","menu","Boolean","updateOn","Array","mobile","hideActions","prependIcon","hideHeader","showAdjacentMonths","VDateInput","name","props","emits","save","value","cancel","val","setup","_ref","emit","slots","t","current","currentLocale","adapter","isValid","parseDate","formatDate","parserFormat","clamp","date","max","isAfter","min","isBefore","emptyModelValue","multiple","model","isArray","map","item","toJsDate","isEditingInput","isFocused","focused","vTextFieldRef","disabledActions","format","display","length","start","end","inputmode","isInteractive","disabled","readonly","isReadonly","onKeydown","e","key","includes","onUserInput","target","onClick","preventDefault","stopPropagation","onCancel","onSave","onUpdateDisplayModel","onBlur","_ref2","trim","parts","split","every","stop","toSorted","a","b","confirmEditProps","filterProps","datePickerProps","datePickerSlots","textFieldProps","_createVNode","_mergeProps","class","style","placeholder","event","_createElementVNode","_Fragment","$event","_ref3","actions","proxyModel","isPristine","onUpdateModel"],"sources":["../../../src/labs/VDateInput/VDateInput.tsx"],"sourcesContent":["// Components\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { makeVDatePickerProps, VDatePicker } from '@/components/VDatePicker/VDatePicker'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { createDateRange } from '@/composables/date/date'\nimport { makeDateFormatProps, useDateFormat } from '@/composables/dateFormat'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { makeFocusProps } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, pick, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VDatePickerSlots } from '@/components/VDatePicker/VDatePicker'\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\nimport type { GenericProps } from '@/util'\n\n// Types\nexport type VDateInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VDateInputSlots = Omit<VTextFieldSlots, 'default'> &\n Pick<VDatePickerSlots, 'title' | 'header' | 'day' | 'month' | 'year'> & {\n actions: VDateInputActionsSlot\n default: never\n }\n\nexport const makeVDateInputProps = propsFactory({\n displayFormat: {\n type: [Function, String] as PropType<string | ((date: unknown) => any)>,\n default: undefined,\n },\n location: {\n type: String as PropType<StrategyProps['location']>,\n default: 'bottom start',\n },\n menu: Boolean,\n updateOn: {\n type: Array as PropType<('blur' | 'enter')[]>,\n default: () => ['blur', 'enter'],\n },\n\n ...makeDateFormatProps(),\n ...makeDisplayProps({\n mobile: null,\n }),\n ...makeFocusProps(),\n ...makeVConfirmEditProps({\n hideActions: true,\n }),\n ...makeVTextFieldProps({\n prependIcon: '$calendar',\n }),\n ...omit(makeVDatePickerProps({\n hideHeader: true,\n showAdjacentMonths: true,\n }), [\n 'active',\n 'location',\n 'rounded',\n 'height',\n 'minHeight',\n 'maxHeight',\n ]),\n}, 'VDateInput')\n\nexport const VDateInput = genericComponent<new <\n T,\n Multiple extends boolean | 'range' | number | (string & {}) = false,\n TModel = Multiple extends true | number | string\n ? T[]\n : T,\n> (\n props: {\n modelValue?: TModel\n onSave?: (value: TModel) => void\n 'onUpdate:modelValue'?: (value: TModel) => void\n multiple?: Multiple\n },\n slots: VDateInputSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDateInput',\n\n props: makeVDateInputProps(),\n\n emits: {\n save: (value: unknown) => true,\n cancel: () => true,\n 'update:focused': (val: boolean) => true,\n 'update:modelValue': (val: unknown) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t, current: currentLocale } = useLocale()\n const adapter = useDate()\n const { isValid, parseDate, formatDate, parserFormat } = useDateFormat(props, currentLocale)\n const { mobile } = useDisplay(props)\n\n const clamp = (date: unknown) => {\n if (props.max && adapter.isAfter(date, props.max)) {\n return props.max\n }\n if (props.min && adapter.isBefore(date, props.min)) {\n return props.min\n }\n return date\n }\n\n const emptyModelValue = () => props.multiple ? [] : null\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n emptyModelValue(),\n val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val,\n val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val\n )\n\n const menu = useProxiedModel(props, 'menu')\n const isEditingInput = shallowRef(false)\n const isFocused = shallowRef(props.focused)\n const vTextFieldRef = ref<VTextField>()\n const disabledActions = ref<typeof VConfirmEdit['props']['disabled']>(['save'])\n\n function format (date: unknown) {\n if (typeof props.displayFormat === 'function') {\n return props.displayFormat(date)\n }\n if (props.displayFormat) {\n return adapter.format(date, props.displayFormat ?? 'keyboardDate')\n }\n return formatDate(date)\n }\n\n const display = computed(() => {\n const value = wrapInArray(model.value)\n\n if (!value.length) return null\n\n if (props.multiple === true) {\n return t('$vuetify.datePicker.itemsSelected', value.length)\n }\n\n if (props.multiple === 'range') {\n const start = value[0]\n const end = value[value.length - 1]\n\n if (!adapter.isValid(start) || !adapter.isValid(end)) return ''\n\n return `${format(adapter.date(start))} - ${format(adapter.date(end))}`\n }\n\n return adapter.isValid(model.value) ? format(adapter.date(model.value)) : ''\n })\n\n const inputmode = computed(() => {\n if (!mobile.value) return undefined\n if (isEditingInput.value) return 'text'\n\n return 'none'\n })\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n const isReadonly = computed(() => {\n if (!props.updateOn.length) return true\n\n return !(mobile.value && isEditingInput.value) && props.readonly\n })\n\n watch(menu, val => {\n if (val) return\n\n isEditingInput.value = false\n disabledActions.value = ['save']\n })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter') return\n\n if (!menu.value || !isFocused.value) {\n menu.value = true\n }\n\n if (props.updateOn.includes('enter') && !props.readonly) {\n onUserInput(e.target as HTMLInputElement)\n }\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n if (menu.value && mobile.value) {\n isEditingInput.value = true\n } else {\n menu.value = true\n }\n }\n\n function onCancel () {\n emit('cancel')\n menu.value = false\n isEditingInput.value = false\n }\n\n function onSave (value: string) {\n emit('save', value)\n menu.value = false\n }\n\n function onUpdateDisplayModel (value: unknown) {\n if (value != null) return\n\n model.value = emptyModelValue()\n }\n\n function onBlur (e: FocusEvent) {\n if (props.updateOn.includes('blur') && !props.readonly) {\n onUserInput(e.target as HTMLInputElement)\n }\n\n // When in mobile mode and editing is done (due to keyboard dismissal), close the menu\n if (mobile.value && isEditingInput.value && !isFocused.value) {\n menu.value = false\n isEditingInput.value = false\n }\n }\n\n function onUserInput ({ value }: HTMLInputElement) {\n if (!value.trim()) {\n model.value = emptyModelValue()\n } else if (!props.multiple) {\n if (isValid(value)) {\n model.value = clamp(parseDate(value))\n }\n } else {\n const parts = value.trim().split(/\\D+-\\D+|[^\\d\\-/.]+/)\n if (parts.every(isValid)) {\n if (props.multiple === 'range') {\n const [start, stop] = parts.map(parseDate).map(clamp).toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1)\n model.value = createDateRange(adapter, start, stop)\n } else {\n model.value = parts.map(parseDate).map(clamp)\n }\n }\n }\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = VDatePicker.filterProps(omit(props, [\n 'active',\n 'bgColor',\n 'color',\n 'location',\n 'rounded',\n 'maxWidth',\n 'minWidth',\n 'width',\n ]))\n const datePickerSlots = pick(slots, ['title', 'header', 'day', 'month', 'year'])\n const textFieldProps = VTextField.filterProps(omit(props, ['placeholder']))\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n inputmode={ inputmode.value }\n placeholder={ props.placeholder ?? parserFormat.value }\n readonly={ isReadonly.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onBlur={ onBlur }\n validationValue={ model.value }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ onUpdateDisplayModel }\n onUpdate:focused={ event => isFocused.value = event }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n minWidth=\"0\"\n eager={ isFocused.value }\n location={ props.location }\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n disabled={ disabledActions.value }\n onSave={ onSave }\n onCancel={ onCancel }\n >\n {{\n default: ({ actions, model: proxyModel, save, cancel, isPristine }) => {\n function onUpdateModel (value: string) {\n if (!props.hideActions) {\n proxyModel.value = value\n } else {\n model.value = value\n\n if (!props.multiple) {\n menu.value = false\n }\n }\n\n emit('save', value)\n\n disabledActions.value = []\n }\n\n return (\n <VDatePicker\n { ...datePickerProps }\n modelValue={ props.hideActions ? model.value : proxyModel.value }\n onUpdate:modelValue={ value => onUpdateModel(value) }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n ...datePickerSlots,\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VDatePicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vTextFieldRef)\n },\n})\n\nexport type VDateInput = InstanceType<typeof VDateInput>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VDateInput.js","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","useCalendarRange","useDate","createDateRange","makeDateFormatProps","useDateFormat","makeDisplayProps","useDisplay","makeFocusProps","forwardRefs","useLocale","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","pick","propsFactory","useRender","wrapInArray","makeVDateInputProps","displayFormat","type","Function","String","default","undefined","location","menu","Boolean","updateOn","Array","mobile","hideActions","prependIcon","hideHeader","showAdjacentMonths","VDateInput","name","props","emits","save","value","cancel","val","setup","_ref","emit","slots","t","current","currentLocale","adapter","isValid","parseDate","formatDate","parserFormat","clampDate","isInAllowedRange","emptyModelValue","multiple","model","isArray","map","item","toJsDate","date","isEditingInput","isFocused","focused","vTextFieldRef","disabledActions","format","display","length","start","end","inputmode","isInteractive","disabled","readonly","isReadonly","onKeydown","e","key","includes","onUserInput","target","onClick","preventDefault","stopPropagation","onCancel","onSave","onUpdateDisplayModel","onBlur","_ref2","trim","parts","split","every","stop","toSorted","a","b","isAfter","filter","confirmEditProps","filterProps","datePickerProps","datePickerSlots","textFieldProps","_createVNode","_mergeProps","class","style","placeholder","event","_createElementVNode","_Fragment","$event","_ref3","actions","proxyModel","isPristine","onUpdateModel"],"sources":["../../../src/labs/VDateInput/VDateInput.tsx"],"sourcesContent":["// Components\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { makeVDatePickerProps, VDatePicker } from '@/components/VDatePicker/VDatePicker'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useCalendarRange } from '@/composables/calendar'\nimport { useDate } from '@/composables/date'\nimport { createDateRange } from '@/composables/date/date'\nimport { makeDateFormatProps, useDateFormat } from '@/composables/dateFormat'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { makeFocusProps } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, pick, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VDatePickerSlots } from '@/components/VDatePicker/VDatePicker'\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\nimport type { GenericProps } from '@/util'\n\n// Types\nexport type VDateInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VDateInputSlots = Omit<VTextFieldSlots, 'default'> &\n Pick<VDatePickerSlots, 'title' | 'header' | 'day' | 'month' | 'year'> & {\n actions: VDateInputActionsSlot\n default: never\n }\n\nexport const makeVDateInputProps = propsFactory({\n displayFormat: {\n type: [Function, String] as PropType<string | ((date: unknown) => any)>,\n default: undefined,\n },\n location: {\n type: String as PropType<StrategyProps['location']>,\n default: 'bottom start',\n },\n menu: Boolean,\n updateOn: {\n type: Array as PropType<('blur' | 'enter')[]>,\n default: () => ['blur', 'enter'],\n },\n\n ...makeDateFormatProps(),\n ...makeDisplayProps({\n mobile: null,\n }),\n ...makeFocusProps(),\n ...makeVConfirmEditProps({\n hideActions: true,\n }),\n ...makeVTextFieldProps({\n prependIcon: '$calendar',\n }),\n ...omit(makeVDatePickerProps({\n hideHeader: true,\n showAdjacentMonths: true,\n }), [\n 'active',\n 'location',\n 'rounded',\n 'height',\n 'minHeight',\n 'maxHeight',\n ]),\n}, 'VDateInput')\n\nexport const VDateInput = genericComponent<new <\n T,\n Multiple extends boolean | 'range' | number | (string & {}) = false,\n TModel = Multiple extends true | number | string\n ? T[]\n : T,\n> (\n props: {\n modelValue?: TModel\n onSave?: (value: TModel) => void\n 'onUpdate:modelValue'?: (value: TModel) => void\n multiple?: Multiple\n },\n slots: VDateInputSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDateInput',\n\n props: makeVDateInputProps(),\n\n emits: {\n save: (value: unknown) => true,\n cancel: () => true,\n 'update:focused': (val: boolean) => true,\n 'update:modelValue': (val: unknown) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t, current: currentLocale } = useLocale()\n const adapter = useDate()\n const { isValid, parseDate, formatDate, parserFormat } = useDateFormat(props, currentLocale)\n const { mobile } = useDisplay(props)\n\n const { clampDate, isInAllowedRange } = useCalendarRange(props)\n\n const emptyModelValue = () => props.multiple ? [] : null\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n emptyModelValue(),\n val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val,\n val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val\n )\n\n const menu = useProxiedModel(props, 'menu')\n const isEditingInput = shallowRef(false)\n const isFocused = shallowRef(props.focused)\n const vTextFieldRef = ref<VTextField>()\n const disabledActions = ref<typeof VConfirmEdit['props']['disabled']>(['save'])\n\n function format (date: unknown) {\n if (typeof props.displayFormat === 'function') {\n return props.displayFormat(date)\n }\n if (props.displayFormat) {\n return adapter.format(date, props.displayFormat ?? 'keyboardDate')\n }\n return formatDate(date)\n }\n\n const display = computed(() => {\n const value = wrapInArray(model.value)\n\n if (!value.length) return null\n\n if (props.multiple === true) {\n return t('$vuetify.datePicker.itemsSelected', value.length)\n }\n\n if (props.multiple === 'range') {\n const start = value[0]\n const end = value[value.length - 1]\n\n if (!adapter.isValid(start) || !adapter.isValid(end)) return ''\n\n return `${format(adapter.date(start))} - ${format(adapter.date(end))}`\n }\n\n return adapter.isValid(model.value) ? format(adapter.date(model.value)) : ''\n })\n\n const inputmode = computed(() => {\n if (!mobile.value) return undefined\n if (isEditingInput.value) return 'text'\n\n return 'none'\n })\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n const isReadonly = computed(() => {\n if (!props.updateOn.length) return true\n\n return !(mobile.value && isEditingInput.value) && props.readonly\n })\n\n watch(menu, val => {\n if (val) return\n\n isEditingInput.value = false\n disabledActions.value = ['save']\n })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter') return\n\n if (!menu.value || !isFocused.value) {\n menu.value = true\n }\n\n if (props.updateOn.includes('enter') && !props.readonly) {\n onUserInput(e.target as HTMLInputElement)\n }\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n if (menu.value && mobile.value) {\n isEditingInput.value = true\n } else {\n menu.value = true\n }\n }\n\n function onCancel () {\n emit('cancel')\n menu.value = false\n isEditingInput.value = false\n }\n\n function onSave (value: string) {\n emit('save', value)\n menu.value = false\n }\n\n function onUpdateDisplayModel (value: unknown) {\n if (value != null) return\n\n model.value = emptyModelValue()\n }\n\n function onBlur (e: FocusEvent) {\n if (props.updateOn.includes('blur') && !props.readonly) {\n onUserInput(e.target as HTMLInputElement)\n }\n\n // When in mobile mode and editing is done (due to keyboard dismissal), close the menu\n if (mobile.value && isEditingInput.value && !isFocused.value) {\n menu.value = false\n isEditingInput.value = false\n }\n }\n\n function onUserInput ({ value }: HTMLInputElement) {\n if (!value.trim()) {\n model.value = emptyModelValue()\n } else if (!props.multiple) {\n if (isValid(value)) {\n model.value = clampDate(parseDate(value))\n }\n } else {\n const parts = value.trim().split(/\\D+-\\D+|[^\\d\\-/.]+/)\n if (parts.every(isValid)) {\n if (props.multiple === 'range') {\n const [start, stop] = parts\n .map(parseDate)\n .map(clampDate)\n .toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1)\n model.value = createDateRange(adapter, start, stop)\n } else {\n model.value = parts\n .map(parseDate)\n .filter(isInAllowedRange)\n }\n }\n }\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = VDatePicker.filterProps(omit(props, [\n 'active',\n 'bgColor',\n 'color',\n 'location',\n 'rounded',\n 'maxWidth',\n 'minWidth',\n 'width',\n ]))\n const datePickerSlots = pick(slots, ['title', 'header', 'day', 'month', 'year'])\n const textFieldProps = VTextField.filterProps(omit(props, ['placeholder']))\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n inputmode={ inputmode.value }\n placeholder={ props.placeholder ?? parserFormat.value }\n readonly={ isReadonly.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onBlur={ onBlur }\n validationValue={ model.value }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ onUpdateDisplayModel }\n onUpdate:focused={ event => isFocused.value = event }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n minWidth=\"0\"\n eager={ isFocused.value }\n location={ props.location }\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n disabled={ disabledActions.value }\n onSave={ onSave }\n onCancel={ onCancel }\n >\n {{\n default: ({ actions, model: proxyModel, save, cancel, isPristine }) => {\n function onUpdateModel (value: string) {\n if (!props.hideActions) {\n proxyModel.value = value\n } else {\n model.value = value\n\n if (!props.multiple) {\n menu.value = false\n }\n }\n\n emit('save', value)\n\n disabledActions.value = []\n }\n\n return (\n <VDatePicker\n { ...datePickerProps }\n modelValue={ props.hideActions ? model.value : proxyModel.value }\n onUpdate:modelValue={ value => onUpdateModel(value) }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n ...datePickerSlots,\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VDatePicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vTextFieldRef)\n },\n})\n\nexport type VDateInput = InstanceType<typeof VDateInput>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -205,13 +205,10 @@
|
|
|
205
205
|
.v-hotkey--variant-flat .v-hotkey__key.v-kbd {
|
|
206
206
|
box-shadow: none;
|
|
207
207
|
}
|
|
208
|
-
.v-hotkey--variant-outlined .v-hotkey__key.v-kbd {
|
|
209
|
-
box-shadow: 0px 0px 0px 0px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 0px 0px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 0px 0px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
|
|
210
|
-
}
|
|
211
208
|
.v-hotkey--variant-outlined .v-hotkey__key.v-kbd {
|
|
212
209
|
background: none;
|
|
213
210
|
}
|
|
214
|
-
.v-hotkey--variant-
|
|
211
|
+
.v-hotkey--variant-outlined .v-hotkey__key.v-kbd {
|
|
215
212
|
box-shadow: 0px 0px 0px 0px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 0px 0px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 0px 0px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
|
|
216
213
|
}
|
|
217
214
|
.v-hotkey--variant-text .v-hotkey__key.v-kbd {
|
|
@@ -221,22 +218,13 @@
|
|
|
221
218
|
padding-right: 0;
|
|
222
219
|
min-width: auto;
|
|
223
220
|
}
|
|
221
|
+
.v-hotkey--variant-text .v-hotkey__key.v-kbd {
|
|
222
|
+
box-shadow: 0px 0px 0px 0px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 0px 0px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 0px 0px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
|
|
223
|
+
}
|
|
224
224
|
.v-hotkey--variant-text .v-hotkey__combination {
|
|
225
225
|
gap: 1px;
|
|
226
226
|
}
|
|
227
227
|
.v-hotkey--variant-tonal .v-hotkey__key.v-kbd {
|
|
228
228
|
border: unset;
|
|
229
229
|
box-shadow: unset;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
.sr-only {
|
|
233
|
-
position: absolute;
|
|
234
|
-
width: 1px;
|
|
235
|
-
height: 1px;
|
|
236
|
-
padding: 0;
|
|
237
|
-
margin: -1px;
|
|
238
|
-
overflow: hidden;
|
|
239
|
-
clip: rect(0, 0, 0, 0);
|
|
240
|
-
white-space: nowrap;
|
|
241
|
-
border: 0;
|
|
242
230
|
}
|