vuetify 3.1.3 → 3.1.4
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/LICENSE.md +1 -1
- package/dist/json/attributes.json +682 -642
- package/dist/json/importMap-labs.json +4 -0
- package/dist/json/importMap.json +34 -34
- package/dist/json/tags.json +18 -3
- package/dist/json/web-types.json +943 -830
- package/dist/vuetify-labs.css +2987 -2985
- package/dist/vuetify-labs.d.ts +211 -50
- package/dist/vuetify-labs.esm.js +97 -79
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +96 -78
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +43 -40
- package/dist/vuetify.d.ts +144 -13
- package/dist/vuetify.esm.js +40 -31
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +40 -31
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +487 -484
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs +3 -4
- package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.ts +14 -2
- package/lib/components/VBottomSheet/VBottomSheet.mjs +1 -4
- package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.css +7 -7
- package/lib/components/VBtnGroup/VBtnGroup.mjs +15 -11
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnGroup/index.d.ts +2 -1
- package/lib/components/VBtnToggle/VBtnToggle.mjs +9 -5
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/index.d.ts +122 -1
- package/lib/components/VCalendar/VCalendar.mjs +3 -0
- package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarCategory.sass +9 -3
- package/lib/components/VCalendar/VCalendarDaily.mjs +20 -8
- package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarWeekly.mjs +25 -5
- package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.mjs +20 -16
- package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/mouse.mjs +16 -30
- package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
- package/lib/components/VCard/VCard.css +7 -7
- package/lib/components/VChip/VChip.css +7 -7
- package/lib/components/VChip/VChip.mjs +6 -1
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VData/VData.mjs +2 -4
- package/lib/components/VData/VData.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.mjs +7 -5
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.css +7 -7
- package/lib/components/VField/VField.css +2 -2
- package/lib/components/VField/VField.sass +2 -2
- package/lib/components/VList/VListItem.css +7 -7
- package/lib/components/VOtpInput/VOtpInput.mjs +22 -46
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.mjs +3 -0
- package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.css +2 -2
- package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +1 -1
- package/lib/components/VStepper/VStepper.sass +6 -6
- package/lib/components/VStepper/VStepperStep.mjs +12 -2
- package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
- package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
- package/lib/components/VTimeline/_mixins.sass +1 -1
- package/lib/components/VToolbar/VToolbarTitle.mjs +6 -5
- package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
- package/lib/components/VTreeview/VTreeview.mjs +1 -1
- package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/components/index.d.ts +135 -4
- package/lib/composables/nested/nested.mjs +2 -1
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/directives/ripple/VRipple.css +3 -0
- package/lib/directives/ripple/VRipple.sass +3 -0
- package/lib/directives/ripple/_variables.scss +1 -1
- package/lib/directives/ripple/index.mjs +2 -7
- package/lib/directives/ripple/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +9 -9
- package/lib/labs/VDataTable/VDataTable.mjs +1 -5
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.mjs +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +1 -7
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +0 -3
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/options.mjs +0 -6
- package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +60 -1
- package/lib/labs/VDataTable/index.mjs +1 -0
- package/lib/labs/VDataTable/index.mjs.map +1 -1
- package/lib/labs/VVirtualScroll/VVirtualScroll.css +0 -1
- package/lib/labs/VVirtualScroll/VVirtualScroll.mjs +40 -22
- package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/labs/VVirtualScroll/VVirtualScroll.sass +0 -1
- package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs +20 -8
- package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/labs/VVirtualScroll/index.d.ts +15 -46
- package/lib/labs/components.d.ts +75 -47
- package/lib/locale/ar.mjs +20 -20
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/es.mjs +3 -3
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/fi.mjs +5 -5
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/it.mjs +6 -6
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/sv.mjs +7 -7
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/styles/settings/_variables.scss +6 -6
- package/lib/styles/tools/_states.sass +3 -3
- package/lib/util/helpers.mjs +0 -18
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mouse.mjs","names":["Vue","extend","name","methods","getDefaultMouseEventHandlers","suffix","getEvent","
|
|
1
|
+
{"version":3,"file":"mouse.mjs","names":["Vue","extend","name","methods","getDefaultMouseEventHandlers","suffix","getEvent","listeners","Object","keys","$listeners","filter","key","endsWith","reduce","acc","event","slice","length","getMouseEventHandlers","prevent","result","events","on","eventOptions","prefix","passive","once","capture","handler","e","mouseEvent","button","undefined","buttons","preventDefault","stop","stopPropagation","classSeparator","eventTargetClasses","currentTarget","className","split","currentTargets","document","elementsFromPoint","changedTouches","clientX","clientY","find","t","some","c","includes","target","isSameNode","dispatchEvent","TouchEvent","type","targetTouches","touches","$emit","Array","isArray","push"],"sources":["../../../../src/components/VCalendar/mixins/mouse.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport Vue from 'vue'\n\nexport type MouseHandler = (e: MouseEvent | TouchEvent) => any\n\nexport type MouseEvents = {\n [event: string]: {\n event: string\n passive?: boolean\n capture?: boolean\n once?: boolean\n stop?: boolean\n prevent?: boolean\n button?: number\n result?: any\n }\n}\n\nexport type MouseEventsMap = {\n [event: string]: MouseHandler | MouseHandler[]\n}\n\nexport default Vue.extend({\n name: 'mouse',\n\n methods: {\n getDefaultMouseEventHandlers (suffix: string, getEvent: MouseHandler): MouseEventsMap {\n const listeners = Object.keys(this.$listeners)\n .filter(key => key.endsWith(suffix))\n .reduce((acc, key) => {\n acc[key] = { event: key.slice(0, -suffix.length) }\n return acc\n }, {} as MouseEvents)\n\n return this.getMouseEventHandlers({\n ...listeners,\n ['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },\n }, getEvent)\n },\n getMouseEventHandlers (events: MouseEvents, getEvent: MouseHandler): MouseEventsMap {\n const on: MouseEventsMap = {}\n\n for (const event in events) {\n const eventOptions = events[event]\n\n if (!this.$listeners[event]) continue\n\n // TODO somehow pull in modifiers\n\n const prefix = eventOptions.passive ? '&' : ((eventOptions.once ? '~' : '') + (eventOptions.capture ? '!' : ''))\n const key = prefix + eventOptions.event\n\n const handler: MouseHandler = e => {\n const mouseEvent: MouseEvent = e as MouseEvent\n if (eventOptions.button === undefined || (mouseEvent.buttons > 0 && mouseEvent.button === eventOptions.button)) {\n if (eventOptions.prevent) {\n e.preventDefault()\n }\n if (eventOptions.stop) {\n e.stopPropagation()\n }\n\n // Due to TouchEvent target always returns the element that is first placed\n // Even if touch point has since moved outside the interactive area of that element\n // Ref: https://developer.mozilla.org/en-US/docs/Web/API/Touch/target\n // This block of code aims to make sure touchEvent is always dispatched from the element that is being pointed at\n if (e && 'touches' in e) {\n const classSeparator = ' '\n\n const eventTargetClasses = (e.currentTarget as HTMLElement)?.className.split(classSeparator)\n const currentTargets = document.elementsFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY)\n\n // Get \"the same kind\" current hovering target by checking\n // If element has the same class of initial touch start element (which has touch event listener registered)\n const currentTarget = currentTargets.find(t => t.className.split(classSeparator).some(c => eventTargetClasses.includes(c)))\n\n if (currentTarget &&\n !(e.target as HTMLElement)?.isSameNode(currentTarget)\n ) {\n currentTarget.dispatchEvent(new TouchEvent(e.type, {\n changedTouches: e.changedTouches as unknown as Touch[],\n targetTouches: e.targetTouches as unknown as Touch[],\n touches: e.touches as unknown as Touch[],\n }))\n return\n }\n }\n\n this.$emit(event, getEvent(e), e)\n }\n\n return eventOptions.result\n }\n\n if (key in on) {\n /* istanbul ignore next */\n if (Array.isArray(on[key])) {\n (on[key] as MouseHandler[]).push(handler)\n } else {\n on[key] = [on[key], handler] as MouseHandler[]\n }\n } else {\n on[key] = handler\n }\n }\n\n return on\n },\n },\n})\n"],"mappings":"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"}
|
|
@@ -25,28 +25,28 @@
|
|
|
25
25
|
position: fixed;
|
|
26
26
|
}
|
|
27
27
|
.v-card:hover > .v-card__overlay {
|
|
28
|
-
opacity: calc(
|
|
28
|
+
opacity: calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier));
|
|
29
29
|
}
|
|
30
30
|
.v-card:focus-visible > .v-card__overlay {
|
|
31
|
-
opacity: calc(
|
|
31
|
+
opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier));
|
|
32
32
|
}
|
|
33
33
|
@supports not selector(:focus-visible) {
|
|
34
34
|
.v-card:focus > .v-card__overlay {
|
|
35
|
-
opacity: calc(
|
|
35
|
+
opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier));
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
.v-card--active > .v-card__overlay, .v-card[aria-haspopup=menu][aria-expanded=true] > .v-card__overlay {
|
|
39
|
-
opacity: calc(
|
|
39
|
+
opacity: calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier));
|
|
40
40
|
}
|
|
41
41
|
.v-card--active:hover > .v-card__overlay, .v-card[aria-haspopup=menu][aria-expanded=true]:hover > .v-card__overlay {
|
|
42
|
-
opacity: calc(
|
|
42
|
+
opacity: calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier));
|
|
43
43
|
}
|
|
44
44
|
.v-card--active:focus-visible > .v-card__overlay, .v-card[aria-haspopup=menu][aria-expanded=true]:focus-visible > .v-card__overlay {
|
|
45
|
-
opacity: calc(
|
|
45
|
+
opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier));
|
|
46
46
|
}
|
|
47
47
|
@supports not selector(:focus-visible) {
|
|
48
48
|
.v-card--active:focus > .v-card__overlay, .v-card[aria-haspopup=menu][aria-expanded=true]:focus > .v-card__overlay {
|
|
49
|
-
opacity: calc(
|
|
49
|
+
opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier));
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
.v-card--variant-plain, .v-card--variant-outlined, .v-card--variant-text, .v-card--variant-tonal {
|
|
@@ -252,28 +252,28 @@
|
|
|
252
252
|
}
|
|
253
253
|
|
|
254
254
|
.v-chip:hover > .v-chip__overlay {
|
|
255
|
-
opacity: calc(
|
|
255
|
+
opacity: calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier));
|
|
256
256
|
}
|
|
257
257
|
.v-chip:focus-visible > .v-chip__overlay {
|
|
258
|
-
opacity: calc(
|
|
258
|
+
opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier));
|
|
259
259
|
}
|
|
260
260
|
@supports not selector(:focus-visible) {
|
|
261
261
|
.v-chip:focus > .v-chip__overlay {
|
|
262
|
-
opacity: calc(
|
|
262
|
+
opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier));
|
|
263
263
|
}
|
|
264
264
|
}
|
|
265
265
|
.v-chip--active > .v-chip__overlay, .v-chip[aria-haspopup=menu][aria-expanded=true] > .v-chip__overlay {
|
|
266
|
-
opacity: calc(
|
|
266
|
+
opacity: calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier));
|
|
267
267
|
}
|
|
268
268
|
.v-chip--active:hover > .v-chip__overlay, .v-chip[aria-haspopup=menu][aria-expanded=true]:hover > .v-chip__overlay {
|
|
269
|
-
opacity: calc(
|
|
269
|
+
opacity: calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier));
|
|
270
270
|
}
|
|
271
271
|
.v-chip--active:focus-visible > .v-chip__overlay, .v-chip[aria-haspopup=menu][aria-expanded=true]:focus-visible > .v-chip__overlay {
|
|
272
|
-
opacity: calc(
|
|
272
|
+
opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier));
|
|
273
273
|
}
|
|
274
274
|
@supports not selector(:focus-visible) {
|
|
275
275
|
.v-chip--active:focus > .v-chip__overlay, .v-chip[aria-haspopup=menu][aria-expanded=true]:focus > .v-chip__overlay {
|
|
276
|
-
opacity: calc(
|
|
276
|
+
opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier));
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
279
|
.v-chip--variant-plain, .v-chip--variant-outlined, .v-chip--variant-text, .v-chip--variant-tonal {
|
|
@@ -20,7 +20,8 @@ import { makeSizeProps, useSize } from "../../composables/size.mjs";
|
|
|
20
20
|
import { makeTagProps } from "../../composables/tag.mjs";
|
|
21
21
|
import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
|
|
22
22
|
import { useProxiedModel } from "../../composables/proxiedModel.mjs";
|
|
23
|
-
import { IconValue } from "../../composables/icons.mjs";
|
|
23
|
+
import { IconValue } from "../../composables/icons.mjs";
|
|
24
|
+
import { useLocale } from "../../composables/locale.mjs"; // Directives
|
|
24
25
|
import { Ripple } from "../../directives/ripple/index.mjs"; // Utilities
|
|
25
26
|
import { defineComponent, EventProp } from "../../util/index.mjs";
|
|
26
27
|
import { computed } from 'vue';
|
|
@@ -94,6 +95,9 @@ export const VChip = defineComponent({
|
|
|
94
95
|
emit,
|
|
95
96
|
slots
|
|
96
97
|
} = _ref;
|
|
98
|
+
const {
|
|
99
|
+
t
|
|
100
|
+
} = useLocale();
|
|
97
101
|
const {
|
|
98
102
|
borderClasses
|
|
99
103
|
} = useBorder(props);
|
|
@@ -230,6 +234,7 @@ export const VChip = defineComponent({
|
|
|
230
234
|
}, {
|
|
231
235
|
default: () => [_createVNode("div", {
|
|
232
236
|
"class": "v-chip__close",
|
|
237
|
+
"aria-label": t(props.closeLabel),
|
|
233
238
|
"onClick": onCloseClick
|
|
234
239
|
}, [slots.close ? slots.close() : _createVNode(VIcon, null, null)])]
|
|
235
240
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VChip.mjs","names":["VAvatar","VChipGroupSymbol","VDefaultsProvider","VExpandXTransition","VIcon","genOverlays","makeVariantProps","useVariant","makeBorderProps","useBorder","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","useProxiedModel","IconValue","Ripple","defineComponent","EventProp","computed","VChip","name","directives","props","activeClass","String","appendAvatar","appendIcon","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","undefined","pill","prependAvatar","prependIcon","ripple","text","modelValue","onClick","onClickOnce","tag","variant","emits","e","value","val","click","setup","attrs","emit","slots","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","isLink","isClickable","disabled","onCloseClick","navigate","toggle","onKeyDown","key","preventDefault","Tag","hasAppend","append","hasClose","close","hasFilter","hasPrepend","prepend","hasColor","isSelected","selectedClass","href","icon","image","select","size"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent, EventProp } from '@/util'\nimport { computed } from 'vue'\n\nexport const VChip = defineComponent({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: {\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: Boolean,\n default: true,\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp,\n onClickOnce: EventProp,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n },\n\n emits: {\n 'click:close': (e: Event) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const link = useLink(props, attrs)\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n\n function onCloseClick (e: Event) {\n isActive.value = false\n\n emit('click:close', e)\n }\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppend = !!(slots.append || props.appendIcon || props.appendAvatar)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrepend = !!(slots.prepend || props.prependIcon || props.prependAvatar)\n const hasColor = !group || group.isSelected.value\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n href={ link.href.value }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ [isClickable.value && props.ripple, null] }\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VDefaultsProvider\n key=\"filter\"\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n >\n <VExpandXTransition>\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { slots.filter ? slots.filter() : (<VIcon />) }\n </div>\n </VExpandXTransition>\n </VDefaultsProvider>\n ) }\n\n { hasPrepend && (\n <VDefaultsProvider\n key=\"prepend\"\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n },\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n >\n { slots.prepend\n ? (\n <div class=\"v-chip__prepend\">\n { slots.prepend() }\n </div>\n )\n : props.prependAvatar ? (<VAvatar start />)\n : props.prependIcon ? (<VIcon start />)\n : undefined\n }\n </VDefaultsProvider>\n ) }\n\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? props.text }\n\n { hasAppend && (\n <VDefaultsProvider\n key=\"append\"\n defaults={{\n VAvatar: {\n image: props.appendAvatar,\n },\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n >\n { slots.append\n ? (\n <div class=\"v-chip__append\">\n { slots.append() }\n </div>\n )\n : props.appendAvatar ? (<VAvatar end />)\n : props.appendIcon ? (<VIcon end />)\n : undefined\n }\n </VDefaultsProvider>\n ) }\n\n { hasClose && (\n <VDefaultsProvider\n key=\"close\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n >\n <div\n class=\"v-chip__close\"\n onClick={ onCloseClick }\n >\n { slots.close ? slots.close() : (<VIcon />) }\n </div>\n </VDefaultsProvider>\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":";AAAA;AACA;AACA;;AAEA;AAAA,SACSA,OAAO;AAAA,SACPC,gBAAgB;AAAA,SAChBC,iBAAiB;AAAA,SACjBC,kBAAkB;AAAA,SAClBC,KAAK,8BAEd;AAAA,SACSC,WAAW,EAAEC,gBAAgB,EAAEC,UAAU;AAAA,SACzCC,eAAe,EAAEC,SAAS;AAAA,SAC1BC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,eAAe,EAAEC,OAAO;AAAA,SACxBC,aAAa,EAAEC,OAAO;AAAA,SACtBC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,eAAe;AAAA,SACfC,SAAS,uCAElB;AAAA,SACSC,MAAM,6CAEf;AAAA,SACSC,eAAe,EAAEC,SAAS;AACnC,SAASC,QAAQ,QAAQ,KAAK;AAE9B,OAAO,MAAMC,KAAK,GAAGH,eAAe,CAAC;EACnCI,IAAI,EAAE,OAAO;EAEbC,UAAU,EAAE;IAAEN;EAAO,CAAC;EAEtBO,KAAK,EAAE;IACLC,WAAW,EAAEC,MAAM;IACnBC,YAAY,EAAED,MAAM;IACpBE,UAAU,EAAEZ,SAAS;IACrBa,QAAQ,EAAEC,OAAO;IACjBC,SAAS,EAAE;MACTC,IAAI,EAAEhB,SAAS;MACfiB,OAAO,EAAE;IACX,CAAC;IACDC,UAAU,EAAE;MACVF,IAAI,EAAEN,MAAM;MACZO,OAAO,EAAE;IACX,CAAC;IACDE,SAAS,EAAEL,OAAO;IAClBM,MAAM,EAAEN,OAAO;IACfO,UAAU,EAAE;MACVL,IAAI,EAAEN,MAAM;MACZO,OAAO,EAAE;IACX,CAAC;IACDK,KAAK,EAAER,OAAO;IACdS,IAAI,EAAE;MACJP,IAAI,EAAEF,OAAO;MACbG,OAAO,EAAEO;IACX,CAAC;IACDC,IAAI,EAAEX,OAAO;IACbY,aAAa,EAAEhB,MAAM;IACrBiB,WAAW,EAAE3B,SAAS;IACtB4B,MAAM,EAAE;MACNZ,IAAI,EAAEF,OAAO;MACbG,OAAO,EAAE;IACX,CAAC;IACDY,IAAI,EAAEnB,MAAM;IACZoB,UAAU,EAAE;MACVd,IAAI,EAAEF,OAAO;MACbG,OAAO,EAAE;IACX,CAAC;IAEDc,OAAO,EAAE5B,SAAS;IAClB6B,WAAW,EAAE7B,SAAS;IAEtB,GAAGrB,eAAe,EAAE;IACpB,GAAGE,gBAAgB,EAAE;IACrB,GAAGE,kBAAkB,EAAE;IACvB,GAAGE,kBAAkB,EAAE;IACvB,GAAGE,gBAAgB,EAAE;IACrB,GAAGE,eAAe,EAAE;IACpB,GAAGE,aAAa,EAAE;IAClB,GAAGE,YAAY,CAAC;MAAEqC,GAAG,EAAE;IAAO,CAAC,CAAC;IAChC,GAAGpC,cAAc,EAAE;IACnB,GAAGjB,gBAAgB,CAAC;MAAEsD,OAAO,EAAE;IAAQ,CAAC;EAC1C,CAAC;EAEDC,KAAK,EAAE;IACL,aAAa,EAAGC,CAAQ,IAAK,IAAI;IACjC,mBAAmB,EAAGC,KAAc,IAAK,IAAI;IAC7C,gBAAgB,EAAGC,GAAuB,IAAK,IAAI;IACnDC,KAAK,EAAGH,CAA6B,IAAK;EAC5C,CAAC;EAEDI,KAAK,CAAEhC,KAAK,QAA0B;IAAA,IAAxB;MAAEiC,KAAK;MAAEC,IAAI;MAAEC;IAAM,CAAC;IAClC,MAAM;MAAEC;IAAc,CAAC,GAAG7D,SAAS,CAACyB,KAAK,CAAC;IAC1C,MAAM;MAAEqC,YAAY;MAAEC,WAAW;MAAEC;IAAe,CAAC,GAAGlE,UAAU,CAAC2B,KAAK,CAAC;IACvE,MAAM;MAAEwC;IAAe,CAAC,GAAG/D,UAAU,CAACuB,KAAK,CAAC;IAC5C,MAAM;MAAEyC;IAAiB,CAAC,GAAG9D,YAAY,CAACqB,KAAK,CAAC;IAChD,MAAM;MAAE0C;IAAe,CAAC,GAAG3D,UAAU,CAACiB,KAAK,CAAC;IAC5C,MAAM;MAAE2C;IAAY,CAAC,GAAGxD,OAAO,CAACa,KAAK,CAAC;IACtC,MAAM;MAAE4C;IAAa,CAAC,GAAGtD,YAAY,CAACU,KAAK,CAAC;IAE5C,MAAM6C,QAAQ,GAAGtD,eAAe,CAACS,KAAK,EAAE,YAAY,CAAC;IACrD,MAAM8C,KAAK,GAAGjE,YAAY,CAACmB,KAAK,EAAEjC,gBAAgB,EAAE,KAAK,CAAC;IAC1D,MAAMgD,IAAI,GAAG9B,OAAO,CAACe,KAAK,EAAEiC,KAAK,CAAC;IAClC,MAAMc,MAAM,GAAGnD,QAAQ,CAAC,MAAMI,KAAK,CAACe,IAAI,KAAK,KAAK,IAAIA,IAAI,CAACgC,MAAM,CAAClB,KAAK,CAAC;IACxE,MAAMmB,WAAW,GAAGpD,QAAQ,CAAC,MAC3B,CAACI,KAAK,CAACiD,QAAQ,IACfjD,KAAK,CAACe,IAAI,KAAK,KAAK,KACnB,CAAC,CAAC+B,KAAK,IAAI9C,KAAK,CAACe,IAAI,IAAIA,IAAI,CAACiC,WAAW,CAACnB,KAAK,CAAC,CAClD;IAED,SAASqB,YAAY,CAAEtB,CAAQ,EAAE;MAC/BiB,QAAQ,CAAChB,KAAK,GAAG,KAAK;MAEtBK,IAAI,CAAC,aAAa,EAAEN,CAAC,CAAC;IACxB;IAEA,SAASL,OAAO,CAAEK,CAAa,EAAE;MAAA;MAC/BM,IAAI,CAAC,OAAO,EAAEN,CAAC,CAAC;MAEhB,IAAI,CAACoB,WAAW,CAACnB,KAAK,EAAE;MAExB,kBAAAd,IAAI,CAACoC,QAAQ,qBAAb,oBAAApC,IAAI,EAAYa,CAAC,CAAC;MAClBkB,KAAK,oBAALA,KAAK,CAAEM,MAAM,EAAE;IACjB;IAEA,SAASC,SAAS,CAAEzB,CAAgB,EAAE;MACpC,IAAIA,CAAC,CAAC0B,GAAG,KAAK,OAAO,IAAI1B,CAAC,CAAC0B,GAAG,KAAK,GAAG,EAAE;QACtC1B,CAAC,CAAC2B,cAAc,EAAE;QAClBhC,OAAO,CAACK,CAAC,CAAsB;MACjC;IACF;IAEA,OAAO,MAAM;MAAA;MACX,MAAM4B,GAAG,GAAIzC,IAAI,CAACgC,MAAM,CAAClB,KAAK,GAAI,GAAG,GAAG7B,KAAK,CAACyB,GAAG;MACjD,MAAMgC,SAAS,GAAG,CAAC,EAAEtB,KAAK,CAACuB,MAAM,IAAI1D,KAAK,CAACI,UAAU,IAAIJ,KAAK,CAACG,YAAY,CAAC;MAC5E,MAAMwD,QAAQ,GAAG,CAAC,EAAExB,KAAK,CAACyB,KAAK,IAAI5D,KAAK,CAACK,QAAQ,CAAC;MAClD,MAAMwD,SAAS,GAAG,CAAC,EAAE1B,KAAK,CAACvB,MAAM,IAAIZ,KAAK,CAACY,MAAM,CAAC,IAAIkC,KAAK;MAC3D,MAAMgB,UAAU,GAAG,CAAC,EAAE3B,KAAK,CAAC4B,OAAO,IAAI/D,KAAK,CAACmB,WAAW,IAAInB,KAAK,CAACkB,aAAa,CAAC;MAChF,MAAM8C,QAAQ,GAAG,CAAClB,KAAK,IAAIA,KAAK,CAACmB,UAAU,CAACpC,KAAK;MAEjD,OAAOgB,QAAQ,CAAChB,KAAK;QAAA,SAEV,CACL,QAAQ,EACR;UACE,kBAAkB,EAAE7B,KAAK,CAACiD,QAAQ;UAClC,eAAe,EAAEjD,KAAK,CAACc,KAAK;UAC5B,cAAc,EAAEkC,WAAW,CAACnB,KAAK;UACjC,gBAAgB,EAAEgC,SAAS;UAC3B,cAAc,EAAE7D,KAAK,CAACiB;QACxB,CAAC,EACD2B,YAAY,CAACf,KAAK,EAClBO,aAAa,CAACP,KAAK,EACnBmC,QAAQ,GAAG3B,YAAY,CAACR,KAAK,GAAGb,SAAS,EACzCwB,cAAc,CAACX,KAAK,EACpBY,gBAAgB,CAACZ,KAAK,EACtBa,cAAc,CAACb,KAAK,EACpBc,WAAW,CAACd,KAAK,EACjBU,cAAc,CAACV,KAAK,EACpBiB,KAAK,oBAALA,KAAK,CAAEoB,aAAa,CAACrC,KAAK,CAC3B;QAAA,SACM,CACLmC,QAAQ,GAAG1B,WAAW,CAACT,KAAK,GAAGb,SAAS,CACzC;QAAA,YACUhB,KAAK,CAACiD,QAAQ,IAAIjC,SAAS;QAAA,aAC1BhB,KAAK,CAACW,SAAS;QAAA,QACpBI,IAAI,CAACoD,IAAI,CAACtC,KAAK;QAAA,YACXmB,WAAW,CAACnB,KAAK,GAAG,CAAC,GAAGb,SAAS;QAAA,WAClCO,OAAO;QAAA,aACLyB,WAAW,CAACnB,KAAK,IAAI,CAACkB,MAAM,CAAClB,KAAK,IAAIwB;MAAS;QAAA,gBAGzDlF,WAAW,CAAC6E,WAAW,CAACnB,KAAK,EAAE,QAAQ,CAAC,EAExCgC,SAAS;UAAA,OAEH,QAAQ;UAAA,YACF;YACR3F,KAAK,EAAE;cAAEkG,IAAI,EAAEpE,KAAK,CAACa;YAAW;UAClC;QAAC;UAAA;YAAA;cAAA,SAIS;YAAgB,IAGpBsB,KAAK,CAACvB,MAAM,GAAGuB,KAAK,CAACvB,MAAM,EAAE,kCAAc,cAFpCkC,KAAK,CAACmB,UAAU,CAACpC,KAAK;UAAA;QAAA,EAMtC,EAECiC,UAAU;UAAA,OAEJ,SAAS;UAAA,YACH;YACRhG,OAAO,EAAE;cACPuG,KAAK,EAAErE,KAAK,CAACkB;YACf,CAAC;YACDhD,KAAK,EAAE;cACLkG,IAAI,EAAEpE,KAAK,CAACmB;YACd;UACF;QAAC;UAAA,gBAECgB,KAAK,CAAC4B,OAAO;YAAA,SAEA;UAAiB,IACxB5B,KAAK,CAAC4B,OAAO,EAAE,KAGnB/D,KAAK,CAACkB,aAAa;YAAA;UAAA,WACnBlB,KAAK,CAACmB,WAAW;YAAA;UAAA,WACjBH,SAAS;QAAA,EAGhB,EAEC,mBAAAmB,KAAK,CAAC1B,OAAO,qBAAb,oBAAA0B,KAAK,EAAW;UAChB8B,UAAU,EAAEnB,KAAK,oBAALA,KAAK,CAAEmB,UAAU,CAACpC,KAAK;UACnCqC,aAAa,EAAEpB,KAAK,oBAALA,KAAK,CAAEoB,aAAa,CAACrC,KAAK;UACzCyC,MAAM,EAAExB,KAAK,oBAALA,KAAK,CAAEwB,MAAM;UACrBlB,MAAM,EAAEN,KAAK,oBAALA,KAAK,CAAEM,MAAM;UACrBvB,KAAK,EAAEiB,KAAK,oBAALA,KAAK,CAAEjB,KAAK,CAACA,KAAK;UACzBoB,QAAQ,EAAEjD,KAAK,CAACiD;QAClB,CAAC,CAAC,KAAIjD,KAAK,CAACqB,IAAI,EAEdoC,SAAS;UAAA,OAEH,QAAQ;UAAA,YACF;YACR3F,OAAO,EAAE;cACPuG,KAAK,EAAErE,KAAK,CAACG;YACf,CAAC;YACDjC,KAAK,EAAE;cACLkG,IAAI,EAAEpE,KAAK,CAACI;YACd;UACF;QAAC;UAAA,gBAEC+B,KAAK,CAACuB,MAAM;YAAA,SAEC;UAAgB,IACvBvB,KAAK,CAACuB,MAAM,EAAE,KAGlB1D,KAAK,CAACG,YAAY;YAAA;UAAA,WAClBH,KAAK,CAACI,UAAU;YAAA;UAAA,WAChBY,SAAS;QAAA,EAGhB,EAEC2C,QAAQ;UAAA,OAEF,OAAO;UAAA,YACD;YACRzF,KAAK,EAAE;cACLkG,IAAI,EAAEpE,KAAK,CAACO,SAAS;cACrBgE,IAAI,EAAE;YACR;UACF;QAAC;UAAA;YAAA,SAGO,eAAe;YAAA,WACXrB;UAAY,IAEpBf,KAAK,CAACyB,KAAK,GAAGzB,KAAK,CAACyB,KAAK,EAAE,kCAAc;QAAA,EAGhD;MAAA,mCAlGWZ,WAAW,CAACnB,KAAK,IAAI7B,KAAK,CAACoB,MAAM,EAAE,IAAI,GAoGtD;IACH,CAAC;EACH;AACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"VChip.mjs","names":["VAvatar","VChipGroupSymbol","VDefaultsProvider","VExpandXTransition","VIcon","genOverlays","makeVariantProps","useVariant","makeBorderProps","useBorder","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","useProxiedModel","IconValue","useLocale","Ripple","defineComponent","EventProp","computed","VChip","name","directives","props","activeClass","String","appendAvatar","appendIcon","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","undefined","pill","prependAvatar","prependIcon","ripple","text","modelValue","onClick","onClickOnce","tag","variant","emits","e","value","val","click","setup","attrs","emit","slots","t","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","isLink","isClickable","disabled","onCloseClick","navigate","toggle","onKeyDown","key","preventDefault","Tag","hasAppend","append","hasClose","close","hasFilter","hasPrepend","prepend","hasColor","isSelected","selectedClass","href","icon","image","select","size"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent, EventProp } from '@/util'\nimport { computed } from 'vue'\n\nexport const VChip = defineComponent({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: {\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: Boolean,\n default: true,\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp,\n onClickOnce: EventProp,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n },\n\n emits: {\n 'click:close': (e: Event) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const link = useLink(props, attrs)\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n\n function onCloseClick (e: Event) {\n isActive.value = false\n\n emit('click:close', e)\n }\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppend = !!(slots.append || props.appendIcon || props.appendAvatar)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrepend = !!(slots.prepend || props.prependIcon || props.prependAvatar)\n const hasColor = !group || group.isSelected.value\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n href={ link.href.value }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ [isClickable.value && props.ripple, null] }\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VDefaultsProvider\n key=\"filter\"\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n >\n <VExpandXTransition>\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { slots.filter ? slots.filter() : (<VIcon />) }\n </div>\n </VExpandXTransition>\n </VDefaultsProvider>\n ) }\n\n { hasPrepend && (\n <VDefaultsProvider\n key=\"prepend\"\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n },\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n >\n { slots.prepend\n ? (\n <div class=\"v-chip__prepend\">\n { slots.prepend() }\n </div>\n )\n : props.prependAvatar ? (<VAvatar start />)\n : props.prependIcon ? (<VIcon start />)\n : undefined\n }\n </VDefaultsProvider>\n ) }\n\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? props.text }\n\n { hasAppend && (\n <VDefaultsProvider\n key=\"append\"\n defaults={{\n VAvatar: {\n image: props.appendAvatar,\n },\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n >\n { slots.append\n ? (\n <div class=\"v-chip__append\">\n { slots.append() }\n </div>\n )\n : props.appendAvatar ? (<VAvatar end />)\n : props.appendIcon ? (<VIcon end />)\n : undefined\n }\n </VDefaultsProvider>\n ) }\n\n { hasClose && (\n <VDefaultsProvider\n key=\"close\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n >\n <div\n class=\"v-chip__close\"\n aria-label={ t(props.closeLabel) }\n onClick={ onCloseClick }\n >\n { slots.close ? slots.close() : (<VIcon />) }\n </div>\n </VDefaultsProvider>\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":"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"}
|
|
@@ -19,12 +19,10 @@ export default Vue.extend({
|
|
|
19
19
|
default: () => ({})
|
|
20
20
|
},
|
|
21
21
|
sortBy: {
|
|
22
|
-
type: [String, Array]
|
|
23
|
-
default: () => []
|
|
22
|
+
type: [String, Array]
|
|
24
23
|
},
|
|
25
24
|
sortDesc: {
|
|
26
|
-
type: [Boolean, Array]
|
|
27
|
-
default: () => []
|
|
25
|
+
type: [Boolean, Array]
|
|
28
26
|
},
|
|
29
27
|
customSort: {
|
|
30
28
|
type: Function,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VData.mjs","names":["wrapInArray","sortItems","deepEqual","groupItems","searchItems","fillArray","Vue","extend","name","inheritAttrs","props","items","type","Array","default","options","Object","sortBy","String","sortDesc","Boolean","customSort","Function","mustSort","multiSort","page","Number","itemsPerPage","groupBy","groupDesc","customGroup","locale","disableSort","disablePagination","disableFiltering","search","customFilter","serverItemsLength","data","internalOptions","assign","sortDiff","length","groupDiff","push","computed","itemsLength","filteredItems","pageCount","Math","ceil","pageStart","pageStop","min","isGrouped","pagination","slice","computedItems","paginateItems","groupedItems","scopedProps","sort","sortArray","group","updateOptions","originalItemsLength","computedOptions","watch","handler","old","deep","immediate","$emit","isArray","methods","toggle","key","oldBy","oldDesc","by","desc","byIndex","findIndex","k","splice","map","s","i","max","render","$scopedSlots"],"sources":["../../../src/components/VData/VData.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Helpers\nimport { wrapInArray, sortItems, deepEqual, groupItems, searchItems, fillArray } from '../../util/helpers'\nimport Vue, { VNode } from 'vue'\n\n// Types\nimport {\n DataOptions,\n DataPagination,\n DataScopeProps,\n DataSortFunction,\n DataGroupFunction,\n DataSearchFunction,\n ItemGroup,\n} from 'vuetify/types'\nimport { PropValidator } from 'vue/types/options'\n\nexport default Vue.extend({\n name: 'v-data',\n\n inheritAttrs: false,\n\n props: {\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n options: {\n type: Object,\n default: () => ({}),\n } as PropValidator<Partial<DataOptions>>,\n sortBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<string | string[]>,\n sortDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator<boolean | boolean[]>,\n customSort: {\n type: Function,\n default: sortItems,\n } as PropValidator<DataSortFunction>,\n mustSort: Boolean,\n multiSort: Boolean,\n page: {\n type: Number,\n default: 1,\n },\n itemsPerPage: {\n type: Number,\n default: 10,\n },\n groupBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<string | string[]>,\n groupDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator<boolean | boolean[]>,\n customGroup: {\n type: Function,\n default: groupItems,\n } as PropValidator<DataGroupFunction>,\n locale: {\n type: String,\n default: 'en-US',\n },\n disableSort: Boolean,\n disablePagination: Boolean,\n disableFiltering: Boolean,\n search: String,\n customFilter: {\n type: Function,\n default: searchItems,\n } as PropValidator<DataSearchFunction>,\n serverItemsLength: {\n type: Number,\n default: -1,\n },\n },\n\n data () {\n let internalOptions: DataOptions = {\n page: this.page,\n itemsPerPage: this.itemsPerPage,\n sortBy: wrapInArray(this.sortBy),\n sortDesc: wrapInArray(this.sortDesc),\n groupBy: wrapInArray(this.groupBy),\n groupDesc: wrapInArray(this.groupDesc),\n mustSort: this.mustSort,\n multiSort: this.multiSort,\n }\n\n if (this.options) {\n internalOptions = Object.assign(internalOptions, this.options)\n }\n\n const { sortBy, sortDesc, groupBy, groupDesc } = internalOptions\n const sortDiff = sortBy.length - sortDesc.length\n const groupDiff = groupBy.length - groupDesc.length\n\n if (sortDiff > 0) {\n internalOptions.sortDesc.push(...fillArray(sortDiff, false))\n }\n\n if (groupDiff > 0) {\n internalOptions.groupDesc.push(...fillArray(groupDiff, false))\n }\n\n return {\n internalOptions,\n }\n },\n\n computed: {\n itemsLength (): number {\n return this.serverItemsLength >= 0 ? this.serverItemsLength : this.filteredItems.length\n },\n pageCount (): number {\n return this.internalOptions.itemsPerPage <= 0\n ? 1\n : Math.ceil(this.itemsLength / this.internalOptions.itemsPerPage)\n },\n pageStart (): number {\n if (this.internalOptions.itemsPerPage === -1 || !this.items.length) return 0\n\n return (this.internalOptions.page - 1) * this.internalOptions.itemsPerPage\n },\n pageStop (): number {\n if (this.internalOptions.itemsPerPage === -1) return this.itemsLength\n if (!this.items.length) return 0\n\n return Math.min(this.itemsLength, this.internalOptions.page * this.internalOptions.itemsPerPage)\n },\n isGrouped (): boolean {\n return !!this.internalOptions.groupBy.length\n },\n pagination (): DataPagination {\n return {\n page: this.internalOptions.page,\n itemsPerPage: this.internalOptions.itemsPerPage,\n pageStart: this.pageStart,\n pageStop: this.pageStop,\n pageCount: this.pageCount,\n itemsLength: this.itemsLength,\n }\n },\n filteredItems (): any[] {\n let items = this.items.slice()\n\n if (!this.disableFiltering && this.serverItemsLength <= 0) {\n items = this.customFilter(items, this.search)\n }\n\n return items\n },\n computedItems (): any[] {\n let items = this.filteredItems.slice()\n\n if ((!this.disableSort || this.internalOptions.groupBy.length) && this.serverItemsLength <= 0) {\n items = this.sortItems(items)\n }\n\n if (!this.disablePagination && this.serverItemsLength <= 0) {\n items = this.paginateItems(items)\n }\n\n return items\n },\n groupedItems (): ItemGroup<any>[] | null {\n return this.isGrouped ? this.groupItems(this.computedItems) : null\n },\n scopedProps (): DataScopeProps {\n return {\n sort: this.sort,\n sortArray: this.sortArray,\n group: this.group,\n items: this.computedItems,\n options: this.internalOptions,\n updateOptions: this.updateOptions,\n pagination: this.pagination,\n groupedItems: this.groupedItems,\n originalItemsLength: this.items.length,\n }\n },\n computedOptions (): DataOptions {\n return { ...this.options } as DataOptions\n },\n },\n\n watch: {\n computedOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n\n this.updateOptions(options)\n },\n deep: true,\n immediate: true,\n },\n internalOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n this.$emit('update:options', options)\n },\n deep: true,\n immediate: true,\n },\n page (page: number) {\n this.updateOptions({ page })\n },\n 'internalOptions.page' (page: number) {\n this.$emit('update:page', page)\n },\n itemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage })\n },\n 'internalOptions.itemsPerPage' (itemsPerPage: number) {\n this.$emit('update:items-per-page', itemsPerPage)\n },\n sortBy (sortBy: string | string[]) {\n this.updateOptions({ sortBy: wrapInArray(sortBy) })\n },\n 'internalOptions.sortBy' (sortBy: string[], old: string[]) {\n !deepEqual(sortBy, old) && this.$emit('update:sort-by', Array.isArray(this.sortBy) ? sortBy : sortBy[0])\n },\n sortDesc (sortDesc: boolean | boolean[]) {\n this.updateOptions({ sortDesc: wrapInArray(sortDesc) })\n },\n 'internalOptions.sortDesc' (sortDesc: boolean[], old: boolean[]) {\n !deepEqual(sortDesc, old) && this.$emit('update:sort-desc', Array.isArray(this.sortDesc) ? sortDesc : sortDesc[0])\n },\n groupBy (groupBy: string | string[]) {\n this.updateOptions({ groupBy: wrapInArray(groupBy) })\n },\n 'internalOptions.groupBy' (groupBy: string[], old: string[]) {\n !deepEqual(groupBy, old) && this.$emit('update:group-by', Array.isArray(this.groupBy) ? groupBy : groupBy[0])\n },\n groupDesc (groupDesc: boolean | boolean[]) {\n this.updateOptions({ groupDesc: wrapInArray(groupDesc) })\n },\n 'internalOptions.groupDesc' (groupDesc: boolean[], old: boolean[]) {\n !deepEqual(groupDesc, old) && this.$emit('update:group-desc', Array.isArray(this.groupDesc) ? groupDesc : groupDesc[0])\n },\n multiSort (multiSort: boolean) {\n this.updateOptions({ multiSort })\n },\n 'internalOptions.multiSort' (multiSort: boolean) {\n this.$emit('update:multi-sort', multiSort)\n },\n mustSort (mustSort: boolean) {\n this.updateOptions({ mustSort })\n },\n 'internalOptions.mustSort' (mustSort: boolean) {\n this.$emit('update:must-sort', mustSort)\n },\n pageCount: {\n handler (pageCount: number) {\n this.$emit('page-count', pageCount)\n },\n immediate: true,\n },\n computedItems: {\n handler (computedItems: any[]) {\n this.$emit('current-items', computedItems)\n },\n immediate: true,\n },\n pagination: {\n handler (pagination: DataPagination, old: DataPagination) {\n if (deepEqual(pagination, old)) return\n this.$emit('pagination', this.pagination)\n },\n immediate: true,\n },\n },\n\n methods: {\n toggle (key: string, oldBy: string[], oldDesc: boolean[], page: number, mustSort: boolean, multiSort: boolean) {\n let by = oldBy.slice()\n let desc = oldDesc.slice()\n const byIndex = by.findIndex((k: string) => k === key)\n\n if (byIndex < 0) {\n if (!multiSort) {\n by = []\n desc = []\n }\n\n by.push(key)\n desc.push(false)\n } else if (byIndex >= 0 && !desc[byIndex]) {\n desc[byIndex] = true\n } else if (!mustSort) {\n by.splice(byIndex, 1)\n desc.splice(byIndex, 1)\n } else {\n desc[byIndex] = false\n }\n\n // Reset page to 1 if sortBy or sortDesc have changed\n if (!deepEqual(by, oldBy) || !deepEqual(desc, oldDesc)) {\n page = 1\n }\n\n return { by, desc, page }\n },\n group (key: string): void {\n const { by: groupBy, desc: groupDesc, page } = this.toggle(\n key,\n this.internalOptions.groupBy,\n this.internalOptions.groupDesc,\n this.internalOptions.page,\n true,\n false\n )\n this.updateOptions({ groupBy, groupDesc, page })\n },\n sort (key: string | string[]): void {\n if (Array.isArray(key)) return this.sortArray(key)\n\n const { by: sortBy, desc: sortDesc, page } = this.toggle(\n key,\n this.internalOptions.sortBy,\n this.internalOptions.sortDesc,\n this.internalOptions.page,\n this.internalOptions.mustSort,\n this.internalOptions.multiSort\n )\n this.updateOptions({ sortBy, sortDesc, page })\n },\n sortArray (sortBy: string[]) {\n const sortDesc = sortBy.map(s => {\n const i = this.internalOptions.sortBy.findIndex((k: string) => k === s)\n return i > -1 ? this.internalOptions.sortDesc[i] : false\n })\n\n this.updateOptions({ sortBy, sortDesc })\n },\n updateOptions (options: any) {\n this.internalOptions = {\n ...this.internalOptions,\n ...options,\n page: this.serverItemsLength < 0\n ? Math.max(1, Math.min(options.page || this.internalOptions.page, this.pageCount))\n : options.page || this.internalOptions.page,\n }\n },\n sortItems (items: any[]): any[] {\n let sortBy: string[] = []\n let sortDesc: boolean[] = []\n\n if (!this.disableSort) {\n sortBy = this.internalOptions.sortBy\n sortDesc = this.internalOptions.sortDesc\n }\n\n if (this.internalOptions.groupBy.length) {\n sortBy = [...this.internalOptions.groupBy, ...sortBy]\n sortDesc = [...this.internalOptions.groupDesc, ...sortDesc]\n }\n\n return this.customSort(items, sortBy, sortDesc, this.locale)\n },\n groupItems (items: any[]): ItemGroup<any>[] {\n return this.customGroup(items, this.internalOptions.groupBy, this.internalOptions.groupDesc)\n },\n paginateItems (items: any[]): any[] {\n // Make sure we don't try to display non-existant page if items suddenly change\n // TODO: Could possibly move this to pageStart/pageStop?\n if (this.serverItemsLength === -1 && items.length <= this.pageStart) {\n this.internalOptions.page = Math.max(1, Math.ceil(items.length / this.internalOptions.itemsPerPage)) || 1 // Prevent NaN\n }\n\n return items.slice(this.pageStart, this.pageStop)\n },\n },\n\n render (): VNode {\n return this.$scopedSlots.default && this.$scopedSlots.default(this.scopedProps) as any\n },\n})\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VData.mjs","names":["wrapInArray","sortItems","deepEqual","groupItems","searchItems","fillArray","Vue","extend","name","inheritAttrs","props","items","type","Array","default","options","Object","sortBy","String","sortDesc","Boolean","customSort","Function","mustSort","multiSort","page","Number","itemsPerPage","groupBy","groupDesc","customGroup","locale","disableSort","disablePagination","disableFiltering","search","customFilter","serverItemsLength","data","internalOptions","assign","sortDiff","length","groupDiff","push","computed","itemsLength","filteredItems","pageCount","Math","ceil","pageStart","pageStop","min","isGrouped","pagination","slice","computedItems","paginateItems","groupedItems","scopedProps","sort","sortArray","group","updateOptions","originalItemsLength","computedOptions","watch","handler","old","deep","immediate","$emit","isArray","methods","toggle","key","oldBy","oldDesc","by","desc","byIndex","findIndex","k","splice","map","s","i","max","render","$scopedSlots"],"sources":["../../../src/components/VData/VData.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Helpers\nimport { wrapInArray, sortItems, deepEqual, groupItems, searchItems, fillArray } from '../../util/helpers'\nimport Vue, { VNode } from 'vue'\n\n// Types\nimport {\n DataOptions,\n DataPagination,\n DataScopeProps,\n DataSortFunction,\n DataGroupFunction,\n DataSearchFunction,\n ItemGroup,\n} from 'vuetify/types'\nimport { PropValidator } from 'vue/types/options'\n\nexport default Vue.extend({\n name: 'v-data',\n\n inheritAttrs: false,\n\n props: {\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n options: {\n type: Object,\n default: () => ({}),\n } as PropValidator<Partial<DataOptions>>,\n sortBy: {\n type: [String, Array],\n } as PropValidator<string | string[] | undefined>,\n sortDesc: {\n type: [Boolean, Array],\n } as PropValidator<boolean | boolean[] | undefined>,\n customSort: {\n type: Function,\n default: sortItems,\n } as PropValidator<DataSortFunction>,\n mustSort: Boolean,\n multiSort: Boolean,\n page: {\n type: Number,\n default: 1,\n },\n itemsPerPage: {\n type: Number,\n default: 10,\n },\n groupBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<string | string[]>,\n groupDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator<boolean | boolean[]>,\n customGroup: {\n type: Function,\n default: groupItems,\n } as PropValidator<DataGroupFunction>,\n locale: {\n type: String,\n default: 'en-US',\n },\n disableSort: Boolean,\n disablePagination: Boolean,\n disableFiltering: Boolean,\n search: String,\n customFilter: {\n type: Function,\n default: searchItems,\n } as PropValidator<DataSearchFunction>,\n serverItemsLength: {\n type: Number,\n default: -1,\n },\n },\n\n data () {\n let internalOptions: DataOptions = {\n page: this.page,\n itemsPerPage: this.itemsPerPage,\n sortBy: wrapInArray(this.sortBy),\n sortDesc: wrapInArray(this.sortDesc),\n groupBy: wrapInArray(this.groupBy),\n groupDesc: wrapInArray(this.groupDesc),\n mustSort: this.mustSort,\n multiSort: this.multiSort,\n }\n\n if (this.options) {\n internalOptions = Object.assign(internalOptions, this.options)\n }\n\n const { sortBy, sortDesc, groupBy, groupDesc } = internalOptions\n const sortDiff = sortBy.length - sortDesc.length\n const groupDiff = groupBy.length - groupDesc.length\n\n if (sortDiff > 0) {\n internalOptions.sortDesc.push(...fillArray(sortDiff, false))\n }\n\n if (groupDiff > 0) {\n internalOptions.groupDesc.push(...fillArray(groupDiff, false))\n }\n\n return {\n internalOptions,\n }\n },\n\n computed: {\n itemsLength (): number {\n return this.serverItemsLength >= 0 ? this.serverItemsLength : this.filteredItems.length\n },\n pageCount (): number {\n return this.internalOptions.itemsPerPage <= 0\n ? 1\n : Math.ceil(this.itemsLength / this.internalOptions.itemsPerPage)\n },\n pageStart (): number {\n if (this.internalOptions.itemsPerPage === -1 || !this.items.length) return 0\n\n return (this.internalOptions.page - 1) * this.internalOptions.itemsPerPage\n },\n pageStop (): number {\n if (this.internalOptions.itemsPerPage === -1) return this.itemsLength\n if (!this.items.length) return 0\n\n return Math.min(this.itemsLength, this.internalOptions.page * this.internalOptions.itemsPerPage)\n },\n isGrouped (): boolean {\n return !!this.internalOptions.groupBy.length\n },\n pagination (): DataPagination {\n return {\n page: this.internalOptions.page,\n itemsPerPage: this.internalOptions.itemsPerPage,\n pageStart: this.pageStart,\n pageStop: this.pageStop,\n pageCount: this.pageCount,\n itemsLength: this.itemsLength,\n }\n },\n filteredItems (): any[] {\n let items = this.items.slice()\n\n if (!this.disableFiltering && this.serverItemsLength <= 0) {\n items = this.customFilter(items, this.search)\n }\n\n return items\n },\n computedItems (): any[] {\n let items = this.filteredItems.slice()\n\n if ((!this.disableSort || this.internalOptions.groupBy.length) && this.serverItemsLength <= 0) {\n items = this.sortItems(items)\n }\n\n if (!this.disablePagination && this.serverItemsLength <= 0) {\n items = this.paginateItems(items)\n }\n\n return items\n },\n groupedItems (): ItemGroup<any>[] | null {\n return this.isGrouped ? this.groupItems(this.computedItems) : null\n },\n scopedProps (): DataScopeProps {\n return {\n sort: this.sort,\n sortArray: this.sortArray,\n group: this.group,\n items: this.computedItems,\n options: this.internalOptions,\n updateOptions: this.updateOptions,\n pagination: this.pagination,\n groupedItems: this.groupedItems,\n originalItemsLength: this.items.length,\n }\n },\n computedOptions (): DataOptions {\n return { ...this.options } as DataOptions\n },\n },\n\n watch: {\n computedOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n\n this.updateOptions(options)\n },\n deep: true,\n immediate: true,\n },\n internalOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n this.$emit('update:options', options)\n },\n deep: true,\n immediate: true,\n },\n page (page: number) {\n this.updateOptions({ page })\n },\n 'internalOptions.page' (page: number) {\n this.$emit('update:page', page)\n },\n itemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage })\n },\n 'internalOptions.itemsPerPage' (itemsPerPage: number) {\n this.$emit('update:items-per-page', itemsPerPage)\n },\n sortBy (sortBy: string | string[]) {\n this.updateOptions({ sortBy: wrapInArray(sortBy) })\n },\n 'internalOptions.sortBy' (sortBy: string[], old: string[]) {\n !deepEqual(sortBy, old) && this.$emit('update:sort-by', Array.isArray(this.sortBy) ? sortBy : sortBy[0])\n },\n sortDesc (sortDesc: boolean | boolean[]) {\n this.updateOptions({ sortDesc: wrapInArray(sortDesc) })\n },\n 'internalOptions.sortDesc' (sortDesc: boolean[], old: boolean[]) {\n !deepEqual(sortDesc, old) && this.$emit('update:sort-desc', Array.isArray(this.sortDesc) ? sortDesc : sortDesc[0])\n },\n groupBy (groupBy: string | string[]) {\n this.updateOptions({ groupBy: wrapInArray(groupBy) })\n },\n 'internalOptions.groupBy' (groupBy: string[], old: string[]) {\n !deepEqual(groupBy, old) && this.$emit('update:group-by', Array.isArray(this.groupBy) ? groupBy : groupBy[0])\n },\n groupDesc (groupDesc: boolean | boolean[]) {\n this.updateOptions({ groupDesc: wrapInArray(groupDesc) })\n },\n 'internalOptions.groupDesc' (groupDesc: boolean[], old: boolean[]) {\n !deepEqual(groupDesc, old) && this.$emit('update:group-desc', Array.isArray(this.groupDesc) ? groupDesc : groupDesc[0])\n },\n multiSort (multiSort: boolean) {\n this.updateOptions({ multiSort })\n },\n 'internalOptions.multiSort' (multiSort: boolean) {\n this.$emit('update:multi-sort', multiSort)\n },\n mustSort (mustSort: boolean) {\n this.updateOptions({ mustSort })\n },\n 'internalOptions.mustSort' (mustSort: boolean) {\n this.$emit('update:must-sort', mustSort)\n },\n pageCount: {\n handler (pageCount: number) {\n this.$emit('page-count', pageCount)\n },\n immediate: true,\n },\n computedItems: {\n handler (computedItems: any[]) {\n this.$emit('current-items', computedItems)\n },\n immediate: true,\n },\n pagination: {\n handler (pagination: DataPagination, old: DataPagination) {\n if (deepEqual(pagination, old)) return\n this.$emit('pagination', this.pagination)\n },\n immediate: true,\n },\n },\n\n methods: {\n toggle (key: string, oldBy: string[], oldDesc: boolean[], page: number, mustSort: boolean, multiSort: boolean) {\n let by = oldBy.slice()\n let desc = oldDesc.slice()\n const byIndex = by.findIndex((k: string) => k === key)\n\n if (byIndex < 0) {\n if (!multiSort) {\n by = []\n desc = []\n }\n\n by.push(key)\n desc.push(false)\n } else if (byIndex >= 0 && !desc[byIndex]) {\n desc[byIndex] = true\n } else if (!mustSort) {\n by.splice(byIndex, 1)\n desc.splice(byIndex, 1)\n } else {\n desc[byIndex] = false\n }\n\n // Reset page to 1 if sortBy or sortDesc have changed\n if (!deepEqual(by, oldBy) || !deepEqual(desc, oldDesc)) {\n page = 1\n }\n\n return { by, desc, page }\n },\n group (key: string): void {\n const { by: groupBy, desc: groupDesc, page } = this.toggle(\n key,\n this.internalOptions.groupBy,\n this.internalOptions.groupDesc,\n this.internalOptions.page,\n true,\n false\n )\n this.updateOptions({ groupBy, groupDesc, page })\n },\n sort (key: string | string[]): void {\n if (Array.isArray(key)) return this.sortArray(key)\n\n const { by: sortBy, desc: sortDesc, page } = this.toggle(\n key,\n this.internalOptions.sortBy,\n this.internalOptions.sortDesc,\n this.internalOptions.page,\n this.internalOptions.mustSort,\n this.internalOptions.multiSort\n )\n this.updateOptions({ sortBy, sortDesc, page })\n },\n sortArray (sortBy: string[]) {\n const sortDesc = sortBy.map(s => {\n const i = this.internalOptions.sortBy.findIndex((k: string) => k === s)\n return i > -1 ? this.internalOptions.sortDesc[i] : false\n })\n\n this.updateOptions({ sortBy, sortDesc })\n },\n updateOptions (options: any) {\n this.internalOptions = {\n ...this.internalOptions,\n ...options,\n page: this.serverItemsLength < 0\n ? Math.max(1, Math.min(options.page || this.internalOptions.page, this.pageCount))\n : options.page || this.internalOptions.page,\n }\n },\n sortItems (items: any[]): any[] {\n let sortBy: string[] = []\n let sortDesc: boolean[] = []\n\n if (!this.disableSort) {\n sortBy = this.internalOptions.sortBy\n sortDesc = this.internalOptions.sortDesc\n }\n\n if (this.internalOptions.groupBy.length) {\n sortBy = [...this.internalOptions.groupBy, ...sortBy]\n sortDesc = [...this.internalOptions.groupDesc, ...sortDesc]\n }\n\n return this.customSort(items, sortBy, sortDesc, this.locale)\n },\n groupItems (items: any[]): ItemGroup<any>[] {\n return this.customGroup(items, this.internalOptions.groupBy, this.internalOptions.groupDesc)\n },\n paginateItems (items: any[]): any[] {\n // Make sure we don't try to display non-existant page if items suddenly change\n // TODO: Could possibly move this to pageStart/pageStop?\n if (this.serverItemsLength === -1 && items.length <= this.pageStart) {\n this.internalOptions.page = Math.max(1, Math.ceil(items.length / this.internalOptions.itemsPerPage)) || 1 // Prevent NaN\n }\n\n return items.slice(this.pageStart, this.pageStop)\n },\n },\n\n render (): VNode {\n return this.$scopedSlots.default && this.$scopedSlots.default(this.scopedProps) as any\n },\n})\n"],"mappings":"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"}
|
|
@@ -304,8 +304,9 @@ export default mixins(Localable, Picker
|
|
|
304
304
|
}
|
|
305
305
|
},
|
|
306
306
|
monthClick(value) {
|
|
307
|
-
|
|
308
|
-
this.
|
|
307
|
+
const [year, month] = value.split('-');
|
|
308
|
+
this.inputYear = parseInt(year, 10);
|
|
309
|
+
this.inputMonth = parseInt(month, 10) - 1;
|
|
309
310
|
if (this.type === 'date') {
|
|
310
311
|
if (this.inputDay) {
|
|
311
312
|
this.inputDay = Math.min(this.inputDay, daysInMonth(this.inputYear, this.inputMonth + 1));
|
|
@@ -320,9 +321,10 @@ export default mixins(Localable, Picker
|
|
|
320
321
|
}
|
|
321
322
|
},
|
|
322
323
|
dateClick(value) {
|
|
323
|
-
|
|
324
|
-
this.
|
|
325
|
-
this.
|
|
324
|
+
const [year, month, day] = value.split('-');
|
|
325
|
+
this.inputYear = parseInt(year, 10);
|
|
326
|
+
this.inputMonth = parseInt(month, 10) - 1;
|
|
327
|
+
this.inputDay = parseInt(day, 10);
|
|
326
328
|
this.emitInput(this.inputDate);
|
|
327
329
|
},
|
|
328
330
|
genPickerTitle() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDatePicker.mjs","names":["VDatePickerTitle","VDatePickerHeader","VDatePickerDateTable","VDatePickerMonthTable","VDatePickerYears","Localable","Picker","isDateAllowed","mixins","wrapInArray","daysInMonth","consoleWarn","createItemTypeListeners","createNativeLocaleFormatter","pad","sanitizeDateString","extend","name","props","activePicker","String","allowedDates","Function","dayFormat","disabled","Boolean","events","type","Array","Object","default","eventColor","firstDayOfWeek","Number","headerDateFormat","localeFirstDayOfYear","max","min","monthFormat","multiple","nextIcon","nextMonthAriaLabel","nextYearAriaLabel","pickerDate","prevIcon","prevMonthAriaLabel","prevYearAriaLabel","range","reactive","readonly","scrollable","showCurrent","selectedItemsText","showAdjacentMonths","showWeek","titleDateFormat","validator","includes","value","weekdayFormat","yearFormat","yearIcon","data","now","Date","internalActivePicker","toUpperCase","inputDay","inputMonth","inputYear","isReversing","tableDate","multipleValue","date","length","getFullYear","getMonth","computed","isMultiple","lastValue","selectedMonths","map","val","substr","current","getDate","inputDate","tableMonth","split","tableYear","minMonth","maxMonth","minYear","maxYear","formatters","year","currentLocale","timeZone","titleDate","defaultTitleMultipleDateFormatter","defaultTitleDateFormatter","dates","$vuetify","lang","t","titleFormats","month","weekday","day","titleDateFormatter","start","landscapeFormatter","replace","match","nonDigit","digit","landscape","watch","immediate","handler","$emit","prev","sanitizeType","newValue","oldValue","checkMultipleProp","setInputDate","output","filter","created","methods","emitInput","newInput","indexOf","concat","x","valueType","constructor","expected","yearClick","monthClick","parseInt","Math","dateClick","genPickerTitle","$createElement","selectingYear","slot","on","genTableHeader","color","dark","format","light","locale","nextAriaLabel","prevAriaLabel","toggle","input","genDateTable","ref","genMonthTable","genYears","genPickerBody","children","key","array","render","genPicker"],"sources":["../../../src/components/VDatePicker/VDatePicker.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Components\nimport VDatePickerTitle from './VDatePickerTitle'\nimport VDatePickerHeader from './VDatePickerHeader'\nimport VDatePickerDateTable from './VDatePickerDateTable'\nimport VDatePickerMonthTable from './VDatePickerMonthTable'\nimport VDatePickerYears from './VDatePickerYears'\n\n// Mixins\nimport Localable from '../../mixins/localable'\nimport Picker from '../../mixins/picker'\n\n// Utils\nimport isDateAllowed from './util/isDateAllowed'\nimport mixins from '../../util/mixins'\nimport { wrapInArray } from '../../util/helpers'\nimport { daysInMonth } from '../VCalendar/util/timestamp'\nimport { consoleWarn } from '../../util/console'\nimport {\n createItemTypeListeners,\n createNativeLocaleFormatter,\n pad,\n sanitizeDateString,\n} from './util'\n\n// Types\nimport {\n PropType,\n PropValidator,\n} from 'vue/types/options'\nimport { VNode } from 'vue'\nimport {\n DatePickerFormatter,\n DatePickerMultipleFormatter,\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEvents,\n DatePickerType,\n} from 'vuetify/types'\n\ntype DatePickerValue = string | string[] | undefined\ninterface Formatters {\n year: DatePickerFormatter\n titleDate: DatePickerFormatter | DatePickerMultipleFormatter\n}\n\ntype ActivePicker = 'DATE' | 'MONTH' | 'YEAR';\n\nexport default mixins(\n Localable,\n Picker,\n/* @vue/component */\n).extend({\n name: 'v-date-picker',\n\n props: {\n activePicker: String as PropType<ActivePicker>,\n allowedDates: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n // Function formatting the day in date picker table\n dayFormat: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n disabled: Boolean,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as PropValidator<DatePickerEvents | null>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator<DatePickerEventColors>,\n firstDayOfWeek: {\n type: [String, Number],\n default: 0,\n },\n // Function formatting the tableDate in the day/month table header\n headerDateFormat: Function as PropType<DatePickerFormatter | undefined>,\n localeFirstDayOfYear: {\n type: [String, Number],\n default: 0,\n },\n max: String,\n min: String,\n // Function formatting month in the months table\n monthFormat: Function as PropType<DatePickerFormatter | undefined>,\n multiple: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n nextMonthAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.nextMonthAriaLabel',\n },\n nextYearAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.nextYearAriaLabel',\n },\n pickerDate: String,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n prevMonthAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.prevMonthAriaLabel',\n },\n prevYearAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.prevYearAriaLabel',\n },\n range: Boolean,\n reactive: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n showCurrent: {\n type: [Boolean, String],\n default: true,\n },\n selectedItemsText: {\n type: String,\n default: '$vuetify.datePicker.itemsSelected',\n },\n showAdjacentMonths: Boolean,\n showWeek: Boolean,\n // Function formatting currently selected date in the picker title\n titleDateFormat: Function as PropType<DatePickerFormatter | DatePickerMultipleFormatter | undefined>,\n type: {\n type: String,\n default: 'date',\n validator: (type: any) => ['date', 'month'].includes(type), // TODO: year\n } as PropValidator<DatePickerType>,\n value: [Array, String] as PropType<DatePickerValue>,\n weekdayFormat: Function as PropType<DatePickerFormatter | undefined>,\n // Function formatting the year in table header and pickup title\n yearFormat: Function as PropType<DatePickerFormatter | undefined>,\n yearIcon: String,\n },\n\n data () {\n const now = new Date()\n return {\n internalActivePicker: this.type.toUpperCase(),\n inputDay: null as number | null,\n inputMonth: null as number | null,\n inputYear: null as number | null,\n isReversing: false,\n now,\n // tableDate is a string in 'YYYY' / 'YYYY-M' format (leading zero for month is not required)\n tableDate: (() => {\n if (this.pickerDate) {\n return this.pickerDate\n }\n\n const multipleValue = wrapInArray(this.value)\n const date = multipleValue[multipleValue.length - 1] ||\n (typeof this.showCurrent === 'string' ? this.showCurrent : `${now.getFullYear()}-${now.getMonth() + 1}`)\n return sanitizeDateString(date as string, this.type === 'date' ? 'month' : 'year')\n })(),\n }\n },\n\n computed: {\n multipleValue (): string[] {\n return wrapInArray(this.value)\n },\n isMultiple (): boolean {\n return this.multiple || this.range\n },\n lastValue (): string | null {\n return this.isMultiple ? this.multipleValue[this.multipleValue.length - 1] : (this.value as string | null)\n },\n selectedMonths (): string | string[] | undefined {\n if (!this.value || this.type === 'month') {\n return this.value\n } else if (this.isMultiple) {\n return this.multipleValue.map(val => val.substr(0, 7))\n } else {\n return (this.value as string).substr(0, 7)\n }\n },\n current (): string | null {\n if (this.showCurrent === true) {\n return sanitizeDateString(`${this.now.getFullYear()}-${this.now.getMonth() + 1}-${this.now.getDate()}`, this.type)\n }\n\n return this.showCurrent || null\n },\n inputDate (): string {\n return this.type === 'date'\n ? `${this.inputYear}-${pad(this.inputMonth! + 1)}-${pad(this.inputDay!)}`\n : `${this.inputYear}-${pad(this.inputMonth! + 1)}`\n },\n tableMonth (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[1]) - 1\n },\n tableYear (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[0])\n },\n minMonth (): string | null {\n return this.min ? sanitizeDateString(this.min, 'month') : null\n },\n maxMonth (): string | null {\n return this.max ? sanitizeDateString(this.max, 'month') : null\n },\n minYear (): string | null {\n return this.min ? sanitizeDateString(this.min, 'year') : null\n },\n maxYear (): string | null {\n return this.max ? sanitizeDateString(this.max, 'year') : null\n },\n formatters (): Formatters {\n return {\n year: this.yearFormat || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 }),\n titleDate: this.titleDateFormat ||\n (this.isMultiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter),\n }\n },\n defaultTitleMultipleDateFormatter (): DatePickerMultipleFormatter {\n return dates => {\n if (!dates.length) {\n return '-'\n }\n\n if (dates.length === 1) {\n return this.defaultTitleDateFormatter(dates[0])\n }\n\n return this.$vuetify.lang.t(this.selectedItemsText, dates.length)\n }\n },\n defaultTitleDateFormatter (): DatePickerFormatter {\n const titleFormats = {\n year: { year: 'numeric', timeZone: 'UTC' },\n month: { month: 'long', timeZone: 'UTC' },\n date: { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' },\n }\n\n const titleDateFormatter = createNativeLocaleFormatter(this.currentLocale, titleFormats[this.type], {\n start: 0,\n length: { date: 10, month: 7, year: 4 }[this.type],\n })\n\n const landscapeFormatter = (date: string) => titleDateFormatter(date)\n .replace(/([^\\d\\s])([\\d])/g, (match, nonDigit, digit) => `${nonDigit} ${digit}`)\n .replace(', ', ',<br>')\n\n return this.landscape ? landscapeFormatter : titleDateFormatter\n },\n },\n\n watch: {\n internalActivePicker: {\n immediate: true,\n handler (val: ActivePicker) {\n this.$emit('update:active-picker', val)\n },\n },\n activePicker (val: ActivePicker) {\n this.internalActivePicker = val\n },\n tableDate (val: string, prev: string) {\n // Make a ISO 8601 strings from val and prev for comparision, otherwise it will incorrectly\n // compare for example '2000-9' and '2000-10'\n const sanitizeType = this.type === 'month' ? 'year' : 'month'\n this.isReversing = sanitizeDateString(val, sanitizeType) < sanitizeDateString(prev, sanitizeType)\n this.$emit('update:picker-date', val)\n },\n pickerDate (val: string | null) {\n if (val) {\n this.tableDate = val\n } else if (this.lastValue && this.type === 'date') {\n this.tableDate = sanitizeDateString(this.lastValue, 'month')\n } else if (this.lastValue && this.type === 'month') {\n this.tableDate = sanitizeDateString(this.lastValue, 'year')\n }\n },\n value (newValue: DatePickerValue, oldValue: DatePickerValue) {\n this.checkMultipleProp()\n this.setInputDate()\n\n if (\n (!this.isMultiple && this.value && !this.pickerDate) ||\n (this.isMultiple && this.multipleValue.length && (!oldValue || !oldValue.length) && !this.pickerDate)\n ) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n }\n },\n type (type: DatePickerType) {\n this.internalActivePicker = type.toUpperCase()\n\n if (this.value && this.value.length) {\n const output = this.multipleValue\n .map((val: string) => sanitizeDateString(val, type))\n .filter(this.isDateAllowed)\n this.$emit('input', this.isMultiple ? output : output[0])\n }\n },\n },\n\n created () {\n this.checkMultipleProp()\n\n if (this.pickerDate !== this.tableDate) {\n this.$emit('update:picker-date', this.tableDate)\n }\n this.setInputDate()\n },\n\n methods: {\n emitInput (newInput: string) {\n if (this.range) {\n if (this.multipleValue.length !== 1) {\n this.$emit('input', [newInput])\n } else {\n const output = [this.multipleValue[0], newInput]\n this.$emit('input', output)\n this.$emit('change', output)\n }\n return\n }\n\n const output = this.multiple\n ? (\n this.multipleValue.indexOf(newInput) === -1\n ? this.multipleValue.concat([newInput])\n : this.multipleValue.filter(x => x !== newInput)\n )\n : newInput\n\n this.$emit('input', output)\n this.multiple || this.$emit('change', newInput)\n },\n checkMultipleProp () {\n if (this.value == null) return\n const valueType = this.value.constructor.name\n const expected = this.isMultiple ? 'Array' : 'String'\n if (valueType !== expected) {\n consoleWarn(`Value must be ${this.isMultiple ? 'an' : 'a'} ${expected}, got ${valueType}`, this)\n }\n },\n isDateAllowed (value: string): boolean {\n return isDateAllowed(value, this.min, this.max, this.allowedDates)\n },\n yearClick (value: number) {\n this.inputYear = value\n if (this.type === 'month') {\n this.tableDate = `${value}`\n } else {\n this.tableDate = `${value}-${pad((this.tableMonth || 0) + 1)}`\n }\n this.internalActivePicker = 'MONTH'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n },\n monthClick (value: string) {\n this.inputYear = parseInt(value.split('-')[0], 10)\n this.inputMonth = parseInt(value.split('-')[1], 10) - 1\n if (this.type === 'date') {\n if (this.inputDay) {\n this.inputDay = Math.min(this.inputDay, daysInMonth(this.inputYear, this.inputMonth + 1))\n }\n\n this.tableDate = value\n this.internalActivePicker = 'DATE'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n } else {\n this.emitInput(this.inputDate)\n }\n },\n dateClick (value: string) {\n this.inputYear = parseInt(value.split('-')[0], 10)\n this.inputMonth = parseInt(value.split('-')[1], 10) - 1\n this.inputDay = parseInt(value.split('-')[2], 10)\n this.emitInput(this.inputDate)\n },\n genPickerTitle (): VNode {\n return this.$createElement(VDatePickerTitle, {\n props: {\n date: this.value ? (this.formatters.titleDate as (value: any) => string)(this.isMultiple ? this.multipleValue : this.value) : '',\n disabled: this.disabled,\n readonly: this.readonly,\n selectingYear: this.internalActivePicker === 'YEAR',\n year: this.formatters.year(this.multipleValue.length ? `${this.inputYear}` : this.tableDate),\n yearIcon: this.yearIcon,\n value: this.multipleValue[0],\n },\n slot: 'title',\n on: {\n 'update:selecting-year': (value: boolean) => this.internalActivePicker = value ? 'YEAR' : this.type.toUpperCase(),\n },\n })\n },\n genTableHeader (): VNode {\n return this.$createElement(VDatePickerHeader, {\n props: {\n nextIcon: this.nextIcon,\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n format: this.headerDateFormat,\n light: this.light,\n locale: this.locale,\n min: this.internalActivePicker === 'DATE' ? this.minMonth : this.minYear,\n max: this.internalActivePicker === 'DATE' ? this.maxMonth : this.maxYear,\n nextAriaLabel: this.internalActivePicker === 'DATE' ? this.nextMonthAriaLabel : this.nextYearAriaLabel,\n prevAriaLabel: this.internalActivePicker === 'DATE' ? this.prevMonthAriaLabel : this.prevYearAriaLabel,\n prevIcon: this.prevIcon,\n readonly: this.readonly,\n value: this.internalActivePicker === 'DATE' ? `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}` : `${pad(this.tableYear, 4)}`,\n },\n on: {\n toggle: () => this.internalActivePicker = (this.internalActivePicker === 'DATE' ? 'MONTH' : 'YEAR'),\n input: (value: string) => this.tableDate = value,\n },\n })\n },\n genDateTable (): VNode {\n return this.$createElement(VDatePickerDateTable, {\n props: {\n allowedDates: this.allowedDates,\n color: this.color,\n current: this.current,\n dark: this.dark,\n disabled: this.disabled,\n events: this.events,\n eventColor: this.eventColor,\n firstDayOfWeek: this.firstDayOfWeek,\n format: this.dayFormat,\n light: this.light,\n locale: this.locale,\n localeFirstDayOfYear: this.localeFirstDayOfYear,\n min: this.min,\n max: this.max,\n range: this.range,\n readonly: this.readonly,\n scrollable: this.scrollable,\n showAdjacentMonths: this.showAdjacentMonths,\n showWeek: this.showWeek,\n tableDate: `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}`,\n value: this.value,\n weekdayFormat: this.weekdayFormat,\n },\n ref: 'table',\n on: {\n input: this.dateClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, ':date'),\n },\n })\n },\n genMonthTable (): VNode {\n return this.$createElement(VDatePickerMonthTable, {\n props: {\n allowedDates: this.type === 'month' ? this.allowedDates : null,\n color: this.color,\n current: this.current ? sanitizeDateString(this.current, 'month') : null,\n dark: this.dark,\n disabled: this.disabled,\n events: this.type === 'month' ? this.events : null,\n eventColor: this.type === 'month' ? this.eventColor : null,\n format: this.monthFormat,\n light: this.light,\n locale: this.locale,\n min: this.minMonth,\n max: this.maxMonth,\n range: this.range,\n readonly: this.readonly && this.type === 'month',\n scrollable: this.scrollable,\n value: this.selectedMonths,\n tableDate: `${pad(this.tableYear, 4)}`,\n },\n ref: 'table',\n on: {\n input: this.monthClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, ':month'),\n },\n })\n },\n genYears (): VNode {\n return this.$createElement(VDatePickerYears, {\n props: {\n color: this.color,\n format: this.yearFormat,\n locale: this.locale,\n min: this.minYear,\n max: this.maxYear,\n value: this.tableYear,\n },\n on: {\n input: this.yearClick,\n ...createItemTypeListeners(this, ':year'),\n },\n })\n },\n genPickerBody (): VNode {\n const children = this.internalActivePicker === 'YEAR' ? [\n this.genYears(),\n ] : [\n this.genTableHeader(),\n this.internalActivePicker === 'DATE' ? this.genDateTable() : this.genMonthTable(),\n ]\n\n return this.$createElement('div', {\n key: this.internalActivePicker,\n }, children)\n },\n setInputDate () {\n if (this.lastValue) {\n const array = this.lastValue.split('-')\n this.inputYear = parseInt(array[0], 10)\n this.inputMonth = parseInt(array[1], 10) - 1\n if (this.type === 'date') {\n this.inputDay = parseInt(array[2], 10)\n }\n } else {\n this.inputYear = this.inputYear || this.now.getFullYear()\n this.inputMonth = this.inputMonth == null ? this.inputMonth : this.now.getMonth()\n this.inputDay = this.inputDay || this.now.getDate()\n }\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--date')\n },\n})\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VDatePicker.mjs","names":["VDatePickerTitle","VDatePickerHeader","VDatePickerDateTable","VDatePickerMonthTable","VDatePickerYears","Localable","Picker","isDateAllowed","mixins","wrapInArray","daysInMonth","consoleWarn","createItemTypeListeners","createNativeLocaleFormatter","pad","sanitizeDateString","extend","name","props","activePicker","String","allowedDates","Function","dayFormat","disabled","Boolean","events","type","Array","Object","default","eventColor","firstDayOfWeek","Number","headerDateFormat","localeFirstDayOfYear","max","min","monthFormat","multiple","nextIcon","nextMonthAriaLabel","nextYearAriaLabel","pickerDate","prevIcon","prevMonthAriaLabel","prevYearAriaLabel","range","reactive","readonly","scrollable","showCurrent","selectedItemsText","showAdjacentMonths","showWeek","titleDateFormat","validator","includes","value","weekdayFormat","yearFormat","yearIcon","data","now","Date","internalActivePicker","toUpperCase","inputDay","inputMonth","inputYear","isReversing","tableDate","multipleValue","date","length","getFullYear","getMonth","computed","isMultiple","lastValue","selectedMonths","map","val","substr","current","getDate","inputDate","tableMonth","split","tableYear","minMonth","maxMonth","minYear","maxYear","formatters","year","currentLocale","timeZone","titleDate","defaultTitleMultipleDateFormatter","defaultTitleDateFormatter","dates","$vuetify","lang","t","titleFormats","month","weekday","day","titleDateFormatter","start","landscapeFormatter","replace","match","nonDigit","digit","landscape","watch","immediate","handler","$emit","prev","sanitizeType","newValue","oldValue","checkMultipleProp","setInputDate","output","filter","created","methods","emitInput","newInput","indexOf","concat","x","valueType","constructor","expected","yearClick","monthClick","parseInt","Math","dateClick","genPickerTitle","$createElement","selectingYear","slot","on","genTableHeader","color","dark","format","light","locale","nextAriaLabel","prevAriaLabel","toggle","input","genDateTable","ref","genMonthTable","genYears","genPickerBody","children","key","array","render","genPicker"],"sources":["../../../src/components/VDatePicker/VDatePicker.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Components\nimport VDatePickerTitle from './VDatePickerTitle'\nimport VDatePickerHeader from './VDatePickerHeader'\nimport VDatePickerDateTable from './VDatePickerDateTable'\nimport VDatePickerMonthTable from './VDatePickerMonthTable'\nimport VDatePickerYears from './VDatePickerYears'\n\n// Mixins\nimport Localable from '../../mixins/localable'\nimport Picker from '../../mixins/picker'\n\n// Utils\nimport isDateAllowed from './util/isDateAllowed'\nimport mixins from '../../util/mixins'\nimport { wrapInArray } from '../../util/helpers'\nimport { daysInMonth } from '../VCalendar/util/timestamp'\nimport { consoleWarn } from '../../util/console'\nimport {\n createItemTypeListeners,\n createNativeLocaleFormatter,\n pad,\n sanitizeDateString,\n} from './util'\n\n// Types\nimport {\n PropType,\n PropValidator,\n} from 'vue/types/options'\nimport { VNode } from 'vue'\nimport {\n DatePickerFormatter,\n DatePickerMultipleFormatter,\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEvents,\n DatePickerType,\n} from 'vuetify/types'\n\ntype DatePickerValue = string | string[] | undefined\ninterface Formatters {\n year: DatePickerFormatter\n titleDate: DatePickerFormatter | DatePickerMultipleFormatter\n}\n\ntype ActivePicker = 'DATE' | 'MONTH' | 'YEAR';\n\nexport default mixins(\n Localable,\n Picker,\n/* @vue/component */\n).extend({\n name: 'v-date-picker',\n\n props: {\n activePicker: String as PropType<ActivePicker>,\n allowedDates: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n // Function formatting the day in date picker table\n dayFormat: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n disabled: Boolean,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as PropValidator<DatePickerEvents | null>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator<DatePickerEventColors>,\n firstDayOfWeek: {\n type: [String, Number],\n default: 0,\n },\n // Function formatting the tableDate in the day/month table header\n headerDateFormat: Function as PropType<DatePickerFormatter | undefined>,\n localeFirstDayOfYear: {\n type: [String, Number],\n default: 0,\n },\n max: String,\n min: String,\n // Function formatting month in the months table\n monthFormat: Function as PropType<DatePickerFormatter | undefined>,\n multiple: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n nextMonthAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.nextMonthAriaLabel',\n },\n nextYearAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.nextYearAriaLabel',\n },\n pickerDate: String,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n prevMonthAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.prevMonthAriaLabel',\n },\n prevYearAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.prevYearAriaLabel',\n },\n range: Boolean,\n reactive: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n showCurrent: {\n type: [Boolean, String],\n default: true,\n },\n selectedItemsText: {\n type: String,\n default: '$vuetify.datePicker.itemsSelected',\n },\n showAdjacentMonths: Boolean,\n showWeek: Boolean,\n // Function formatting currently selected date in the picker title\n titleDateFormat: Function as PropType<DatePickerFormatter | DatePickerMultipleFormatter | undefined>,\n type: {\n type: String,\n default: 'date',\n validator: (type: any) => ['date', 'month'].includes(type), // TODO: year\n } as PropValidator<DatePickerType>,\n value: [Array, String] as PropType<DatePickerValue>,\n weekdayFormat: Function as PropType<DatePickerFormatter | undefined>,\n // Function formatting the year in table header and pickup title\n yearFormat: Function as PropType<DatePickerFormatter | undefined>,\n yearIcon: String,\n },\n\n data () {\n const now = new Date()\n return {\n internalActivePicker: this.type.toUpperCase(),\n inputDay: null as number | null,\n inputMonth: null as number | null,\n inputYear: null as number | null,\n isReversing: false,\n now,\n // tableDate is a string in 'YYYY' / 'YYYY-M' format (leading zero for month is not required)\n tableDate: (() => {\n if (this.pickerDate) {\n return this.pickerDate\n }\n\n const multipleValue = wrapInArray(this.value)\n const date = multipleValue[multipleValue.length - 1] ||\n (typeof this.showCurrent === 'string' ? this.showCurrent : `${now.getFullYear()}-${now.getMonth() + 1}`)\n return sanitizeDateString(date as string, this.type === 'date' ? 'month' : 'year')\n })(),\n }\n },\n\n computed: {\n multipleValue (): string[] {\n return wrapInArray(this.value)\n },\n isMultiple (): boolean {\n return this.multiple || this.range\n },\n lastValue (): string | null {\n return this.isMultiple ? this.multipleValue[this.multipleValue.length - 1] : (this.value as string | null)\n },\n selectedMonths (): string | string[] | undefined {\n if (!this.value || this.type === 'month') {\n return this.value\n } else if (this.isMultiple) {\n return this.multipleValue.map(val => val.substr(0, 7))\n } else {\n return (this.value as string).substr(0, 7)\n }\n },\n current (): string | null {\n if (this.showCurrent === true) {\n return sanitizeDateString(`${this.now.getFullYear()}-${this.now.getMonth() + 1}-${this.now.getDate()}`, this.type)\n }\n\n return this.showCurrent || null\n },\n inputDate (): string {\n return this.type === 'date'\n ? `${this.inputYear}-${pad(this.inputMonth! + 1)}-${pad(this.inputDay!)}`\n : `${this.inputYear}-${pad(this.inputMonth! + 1)}`\n },\n tableMonth (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[1]) - 1\n },\n tableYear (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[0])\n },\n minMonth (): string | null {\n return this.min ? sanitizeDateString(this.min, 'month') : null\n },\n maxMonth (): string | null {\n return this.max ? sanitizeDateString(this.max, 'month') : null\n },\n minYear (): string | null {\n return this.min ? sanitizeDateString(this.min, 'year') : null\n },\n maxYear (): string | null {\n return this.max ? sanitizeDateString(this.max, 'year') : null\n },\n formatters (): Formatters {\n return {\n year: this.yearFormat || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 }),\n titleDate: this.titleDateFormat ||\n (this.isMultiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter),\n }\n },\n defaultTitleMultipleDateFormatter (): DatePickerMultipleFormatter {\n return dates => {\n if (!dates.length) {\n return '-'\n }\n\n if (dates.length === 1) {\n return this.defaultTitleDateFormatter(dates[0])\n }\n\n return this.$vuetify.lang.t(this.selectedItemsText, dates.length)\n }\n },\n defaultTitleDateFormatter (): DatePickerFormatter {\n const titleFormats = {\n year: { year: 'numeric', timeZone: 'UTC' },\n month: { month: 'long', timeZone: 'UTC' },\n date: { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' },\n } as const\n\n const titleDateFormatter = createNativeLocaleFormatter(this.currentLocale, titleFormats[this.type], {\n start: 0,\n length: { date: 10, month: 7, year: 4 }[this.type],\n })\n\n const landscapeFormatter = (date: string) => titleDateFormatter(date)\n .replace(/([^\\d\\s])([\\d])/g, (match, nonDigit, digit) => `${nonDigit} ${digit}`)\n .replace(', ', ',<br>')\n\n return this.landscape ? landscapeFormatter : titleDateFormatter\n },\n },\n\n watch: {\n internalActivePicker: {\n immediate: true,\n handler (val: ActivePicker) {\n this.$emit('update:active-picker', val)\n },\n },\n activePicker (val: ActivePicker) {\n this.internalActivePicker = val\n },\n tableDate (val: string, prev: string) {\n // Make a ISO 8601 strings from val and prev for comparision, otherwise it will incorrectly\n // compare for example '2000-9' and '2000-10'\n const sanitizeType = this.type === 'month' ? 'year' : 'month'\n this.isReversing = sanitizeDateString(val, sanitizeType) < sanitizeDateString(prev, sanitizeType)\n this.$emit('update:picker-date', val)\n },\n pickerDate (val: string | null) {\n if (val) {\n this.tableDate = val\n } else if (this.lastValue && this.type === 'date') {\n this.tableDate = sanitizeDateString(this.lastValue, 'month')\n } else if (this.lastValue && this.type === 'month') {\n this.tableDate = sanitizeDateString(this.lastValue, 'year')\n }\n },\n value (newValue: DatePickerValue, oldValue: DatePickerValue) {\n this.checkMultipleProp()\n this.setInputDate()\n\n if (\n (!this.isMultiple && this.value && !this.pickerDate) ||\n (this.isMultiple && this.multipleValue.length && (!oldValue || !oldValue.length) && !this.pickerDate)\n ) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n }\n },\n type (type: DatePickerType) {\n this.internalActivePicker = type.toUpperCase()\n\n if (this.value && this.value.length) {\n const output = this.multipleValue\n .map((val: string) => sanitizeDateString(val, type))\n .filter(this.isDateAllowed)\n this.$emit('input', this.isMultiple ? output : output[0])\n }\n },\n },\n\n created () {\n this.checkMultipleProp()\n\n if (this.pickerDate !== this.tableDate) {\n this.$emit('update:picker-date', this.tableDate)\n }\n this.setInputDate()\n },\n\n methods: {\n emitInput (newInput: string) {\n if (this.range) {\n if (this.multipleValue.length !== 1) {\n this.$emit('input', [newInput])\n } else {\n const output = [this.multipleValue[0], newInput]\n this.$emit('input', output)\n this.$emit('change', output)\n }\n return\n }\n\n const output = this.multiple\n ? (\n this.multipleValue.indexOf(newInput) === -1\n ? this.multipleValue.concat([newInput])\n : this.multipleValue.filter(x => x !== newInput)\n )\n : newInput\n\n this.$emit('input', output)\n this.multiple || this.$emit('change', newInput)\n },\n checkMultipleProp () {\n if (this.value == null) return\n const valueType = this.value.constructor.name\n const expected = this.isMultiple ? 'Array' : 'String'\n if (valueType !== expected) {\n consoleWarn(`Value must be ${this.isMultiple ? 'an' : 'a'} ${expected}, got ${valueType}`, this)\n }\n },\n isDateAllowed (value: string): boolean {\n return isDateAllowed(value, this.min, this.max, this.allowedDates)\n },\n yearClick (value: number) {\n this.inputYear = value\n if (this.type === 'month') {\n this.tableDate = `${value}`\n } else {\n this.tableDate = `${value}-${pad((this.tableMonth || 0) + 1)}`\n }\n this.internalActivePicker = 'MONTH'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n },\n monthClick (value: string) {\n const [year, month] = value.split('-')\n\n this.inputYear = parseInt(year, 10)\n this.inputMonth = parseInt(month, 10) - 1\n\n if (this.type === 'date') {\n if (this.inputDay) {\n this.inputDay = Math.min(this.inputDay, daysInMonth(this.inputYear, this.inputMonth + 1))\n }\n\n this.tableDate = value\n this.internalActivePicker = 'DATE'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n } else {\n this.emitInput(this.inputDate)\n }\n },\n dateClick (value: string) {\n const [year, month, day] = value.split('-')\n\n this.inputYear = parseInt(year, 10)\n this.inputMonth = parseInt(month, 10) - 1\n this.inputDay = parseInt(day, 10)\n\n this.emitInput(this.inputDate)\n },\n genPickerTitle (): VNode {\n return this.$createElement(VDatePickerTitle, {\n props: {\n date: this.value ? (this.formatters.titleDate as (value: any) => string)(this.isMultiple ? this.multipleValue : this.value) : '',\n disabled: this.disabled,\n readonly: this.readonly,\n selectingYear: this.internalActivePicker === 'YEAR',\n year: this.formatters.year(this.multipleValue.length ? `${this.inputYear}` : this.tableDate),\n yearIcon: this.yearIcon,\n value: this.multipleValue[0],\n },\n slot: 'title',\n on: {\n 'update:selecting-year': (value: boolean) => this.internalActivePicker = value ? 'YEAR' : this.type.toUpperCase(),\n },\n })\n },\n genTableHeader (): VNode {\n return this.$createElement(VDatePickerHeader, {\n props: {\n nextIcon: this.nextIcon,\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n format: this.headerDateFormat,\n light: this.light,\n locale: this.locale,\n min: this.internalActivePicker === 'DATE' ? this.minMonth : this.minYear,\n max: this.internalActivePicker === 'DATE' ? this.maxMonth : this.maxYear,\n nextAriaLabel: this.internalActivePicker === 'DATE' ? this.nextMonthAriaLabel : this.nextYearAriaLabel,\n prevAriaLabel: this.internalActivePicker === 'DATE' ? this.prevMonthAriaLabel : this.prevYearAriaLabel,\n prevIcon: this.prevIcon,\n readonly: this.readonly,\n value: this.internalActivePicker === 'DATE' ? `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}` : `${pad(this.tableYear, 4)}`,\n },\n on: {\n toggle: () => this.internalActivePicker = (this.internalActivePicker === 'DATE' ? 'MONTH' : 'YEAR'),\n input: (value: string) => this.tableDate = value,\n },\n })\n },\n genDateTable (): VNode {\n return this.$createElement(VDatePickerDateTable, {\n props: {\n allowedDates: this.allowedDates,\n color: this.color,\n current: this.current,\n dark: this.dark,\n disabled: this.disabled,\n events: this.events,\n eventColor: this.eventColor,\n firstDayOfWeek: this.firstDayOfWeek,\n format: this.dayFormat,\n light: this.light,\n locale: this.locale,\n localeFirstDayOfYear: this.localeFirstDayOfYear,\n min: this.min,\n max: this.max,\n range: this.range,\n readonly: this.readonly,\n scrollable: this.scrollable,\n showAdjacentMonths: this.showAdjacentMonths,\n showWeek: this.showWeek,\n tableDate: `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}`,\n value: this.value,\n weekdayFormat: this.weekdayFormat,\n },\n ref: 'table',\n on: {\n input: this.dateClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, ':date'),\n },\n })\n },\n genMonthTable (): VNode {\n return this.$createElement(VDatePickerMonthTable, {\n props: {\n allowedDates: this.type === 'month' ? this.allowedDates : null,\n color: this.color,\n current: this.current ? sanitizeDateString(this.current, 'month') : null,\n dark: this.dark,\n disabled: this.disabled,\n events: this.type === 'month' ? this.events : null,\n eventColor: this.type === 'month' ? this.eventColor : null,\n format: this.monthFormat,\n light: this.light,\n locale: this.locale,\n min: this.minMonth,\n max: this.maxMonth,\n range: this.range,\n readonly: this.readonly && this.type === 'month',\n scrollable: this.scrollable,\n value: this.selectedMonths,\n tableDate: `${pad(this.tableYear, 4)}`,\n },\n ref: 'table',\n on: {\n input: this.monthClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, ':month'),\n },\n })\n },\n genYears (): VNode {\n return this.$createElement(VDatePickerYears, {\n props: {\n color: this.color,\n format: this.yearFormat,\n locale: this.locale,\n min: this.minYear,\n max: this.maxYear,\n value: this.tableYear,\n },\n on: {\n input: this.yearClick,\n ...createItemTypeListeners(this, ':year'),\n },\n })\n },\n genPickerBody (): VNode {\n const children = this.internalActivePicker === 'YEAR' ? [\n this.genYears(),\n ] : [\n this.genTableHeader(),\n this.internalActivePicker === 'DATE' ? this.genDateTable() : this.genMonthTable(),\n ]\n\n return this.$createElement('div', {\n key: this.internalActivePicker,\n }, children)\n },\n setInputDate () {\n if (this.lastValue) {\n const array = this.lastValue.split('-')\n this.inputYear = parseInt(array[0], 10)\n this.inputMonth = parseInt(array[1], 10) - 1\n if (this.type === 'date') {\n this.inputDay = parseInt(array[2], 10)\n }\n } else {\n this.inputYear = this.inputYear || this.now.getFullYear()\n this.inputMonth = this.inputMonth == null ? this.inputMonth : this.now.getMonth()\n this.inputDay = this.inputDay || this.now.getDate()\n }\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--date')\n },\n})\n"],"mappings":"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"}
|