@vuetify/nightly 3.9.3-master.2025-08-03 → 3.9.3-master.2025-08-05
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/CHANGELOG.md +7 -6
- package/dist/json/attributes.json +3159 -3171
- package/dist/json/importMap-labs.json +42 -42
- package/dist/json/importMap.json +174 -174
- package/dist/json/tags.json +1 -4
- package/dist/json/web-types.json +5928 -6047
- package/dist/vuetify-labs.cjs +30 -71
- package/dist/vuetify-labs.css +3504 -3503
- package/dist/vuetify-labs.d.ts +86 -160
- package/dist/vuetify-labs.esm.js +30 -71
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +30 -71
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +26 -70
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +4352 -4351
- package/dist/vuetify.d.ts +81 -132
- package/dist/vuetify.esm.js +26 -70
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +26 -70
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +245 -251
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.css +1 -0
- package/lib/components/VColorPicker/VColorPickerCanvas.sass +1 -0
- package/lib/components/VDataIterator/VDataIterator.d.ts +2 -2
- package/lib/components/VDataIterator/VDataIterator.js +1 -1
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.d.ts +4 -6
- package/lib/components/VDataTable/VDataTable.js +1 -1
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTableRows.d.ts +11 -14
- package/lib/components/VDataTable/VDataTableRows.js +0 -9
- package/lib/components/VDataTable/VDataTableRows.js.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.d.ts +2 -4
- package/lib/components/VDataTable/VDataTableServer.js +1 -1
- package/lib/components/VDataTable/VDataTableServer.js.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.d.ts +2 -4
- package/lib/components/VDataTable/VDataTableVirtual.js +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
- package/lib/components/VDataTable/composables/group.d.ts +5 -13
- package/lib/components/VDataTable/composables/group.js +5 -11
- package/lib/components/VDataTable/composables/group.js.map +1 -1
- package/lib/components/VDataTable/composables/paginate.d.ts +3 -3
- package/lib/components/VDataTable/composables/paginate.js.map +1 -1
- package/lib/components/VDataTable/types.d.ts +1 -7
- package/lib/components/VDataTable/types.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.d.ts +0 -25
- package/lib/components/VDatePicker/VDatePickerMonth.d.ts +0 -25
- package/lib/components/VOverlay/scrollStrategies.js +7 -7
- package/lib/components/VOverlay/scrollStrategies.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewChildren.d.ts +2 -20
- package/lib/components/VTreeview/VTreeviewChildren.js +2 -7
- package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
- package/lib/composables/calendar.d.ts +0 -12
- package/lib/composables/calendar.js +1 -5
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/date/DateAdapter.d.ts +1 -1
- package/lib/composables/date/DateAdapter.js.map +1 -1
- package/lib/composables/date/adapters/string.d.ts +1 -1
- package/lib/composables/date/adapters/string.js +2 -2
- package/lib/composables/date/adapters/string.js.map +1 -1
- package/lib/composables/date/adapters/vuetify.d.ts +1 -1
- package/lib/composables/date/adapters/vuetify.js +5 -25
- package/lib/composables/date/adapters/vuetify.js.map +1 -1
- package/lib/composables/date/date.d.ts +1 -1
- package/lib/entry-bundler.d.ts +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +66 -66
- package/lib/framework.js +1 -1
- package/lib/labs/VCalendar/VCalendar.d.ts +0 -25
- package/lib/labs/VDateInput/VDateInput.d.ts +0 -25
- package/lib/labs/VVideo/VVideo.css +3 -3
- package/lib/labs/VVideo/VVideo.d.ts +10 -0
- package/lib/labs/VVideo/VVideo.js +4 -1
- package/lib/labs/VVideo/VVideo.js.map +1 -1
- package/lib/labs/VVideo/VVideo.sass +2 -2
- package/lib/labs/VVideo/_variables.scss +3 -2
- package/lib/labs/entry-bundler.d.ts +1 -1
- package/package.json +1 -1
@@ -39,11 +39,11 @@ function closeScrollStrategy(data) {
|
|
39
39
|
function onScroll(e) {
|
40
40
|
data.isActive.value = false;
|
41
41
|
}
|
42
|
-
bindScroll(data.target.value
|
42
|
+
bindScroll(getTargetEl(data.target.value, data.contentEl.value), onScroll);
|
43
43
|
}
|
44
44
|
function blockScrollStrategy(data, props) {
|
45
45
|
const offsetParent = data.root.value?.offsetParent;
|
46
|
-
const target =
|
46
|
+
const target = getTargetEl(data.target.value, data.contentEl.value);
|
47
47
|
const scrollElements = [...new Set([...getScrollParents(target, props.contained ? offsetParent : undefined), ...getScrollParents(data.contentEl.value, props.contained ? offsetParent : undefined)])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'));
|
48
48
|
const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth;
|
49
49
|
const scrollableParent = (el => hasScrollbar(el) && el)(offsetParent || document.documentElement);
|
@@ -91,7 +91,7 @@ function repositionScrollStrategy(data, props, scope) {
|
|
91
91
|
}
|
92
92
|
ric = (typeof requestIdleCallback === 'undefined' ? cb => cb() : requestIdleCallback)(() => {
|
93
93
|
scope.run(() => {
|
94
|
-
bindScroll(data.target.value
|
94
|
+
bindScroll(getTargetEl(data.target.value, data.contentEl.value), e => {
|
95
95
|
if (slow) {
|
96
96
|
// If the position calculation is slow,
|
97
97
|
// defer updates until scrolling is finished.
|
@@ -114,10 +114,10 @@ function repositionScrollStrategy(data, props, scope) {
|
|
114
114
|
cancelAnimationFrame(raf);
|
115
115
|
});
|
116
116
|
}
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
117
|
+
function getTargetEl(target, contentEl) {
|
118
|
+
return Array.isArray(target) ? document.elementsFromPoint(...target).find(el => !contentEl?.contains(el)) : target ?? contentEl;
|
119
|
+
}
|
120
|
+
function bindScroll(el, onScroll) {
|
121
121
|
const scrollElements = [document, ...getScrollParents(el)];
|
122
122
|
scrollElements.forEach(el => {
|
123
123
|
el.addEventListener('scroll', onScroll, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"scrollStrategies.js","names":["effectScope","onScopeDispose","watchEffect","requestNewFrame","convertToUnit","getScrollParents","hasScrollbar","IN_BROWSER","propsFactory","scrollStrategies","none","close","closeScrollStrategy","block","blockScrollStrategy","reposition","repositionScrollStrategy","makeScrollStrategyProps","scrollStrategy","type","String","Function","default","validator","val","useScrollStrategies","props","data","scope","stop","isActive","value","Promise","resolve","setTimeout","active","run","onScroll","e","bindScroll","target","contentEl","offsetParent","root","Array","isArray","document","elementFromPoint","scrollElements","Set","contained","undefined","filter","el","classList","contains","scrollbarWidth","window","innerWidth","documentElement","offsetWidth","scrollableParent","add","forEach","i","style","setProperty","scrollLeft","scrollTop","x","parseFloat","getPropertyValue","y","scrollBehavior","removeProperty","remove","slow","raf","ric","update","start","performance","now","updateLocation","time","requestIdleCallback","cb","cancelAnimationFrame","requestAnimationFrame","cancelIdleCallback","addEventListener","passive","removeEventListener"],"sources":["../../../src/components/VOverlay/scrollStrategies.ts"],"sourcesContent":["// Utilities\nimport { effectScope, onScopeDispose, watchEffect } from 'vue'\nimport { requestNewFrame } from './requestNewFrame'\nimport { convertToUnit, getScrollParents, hasScrollbar, IN_BROWSER, propsFactory } from '@/util'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\n\nexport interface ScrollStrategyData {\n root: Ref<HTMLElement | undefined>\n contentEl: Ref<HTMLElement | undefined>\n targetEl: Ref<HTMLElement | undefined>\n target: Ref<HTMLElement | [x: number, y: number] | undefined>\n isActive: Ref<boolean>\n updateLocation: Ref<((e: Event) => void) | undefined>\n}\n\nexport type ScrollStrategyFunction = (data: ScrollStrategyData, props: StrategyProps, scope: EffectScope) => void\n\nconst scrollStrategies = {\n none: null,\n close: closeScrollStrategy,\n block: blockScrollStrategy,\n reposition: repositionScrollStrategy,\n}\n\nexport interface StrategyProps {\n scrollStrategy: keyof typeof scrollStrategies | ScrollStrategyFunction\n contained: boolean | undefined\n}\n\nexport const makeScrollStrategyProps = propsFactory({\n scrollStrategy: {\n type: [String, Function] as PropType<StrategyProps['scrollStrategy']>,\n default: 'block',\n validator: (val: any) => typeof val === 'function' || val in scrollStrategies,\n },\n}, 'VOverlay-scroll-strategies')\n\nexport function useScrollStrategies (\n props: StrategyProps,\n data: ScrollStrategyData\n) {\n if (!IN_BROWSER) return\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n\n if (!(data.isActive.value && props.scrollStrategy)) return\n\n scope = effectScope()\n await new Promise(resolve => setTimeout(resolve))\n scope.active && scope.run(() => {\n if (typeof props.scrollStrategy === 'function') {\n props.scrollStrategy(data, props, scope!)\n } else {\n scrollStrategies[props.scrollStrategy]?.(data, props, scope!)\n }\n })\n })\n\n onScopeDispose(() => {\n scope?.stop()\n })\n}\n\nfunction closeScrollStrategy (data: ScrollStrategyData) {\n function onScroll (e: Event) {\n data.isActive.value = false\n }\n\n bindScroll(data.target.value ?? data.contentEl.value, onScroll)\n}\n\nfunction blockScrollStrategy (data: ScrollStrategyData, props: StrategyProps) {\n const offsetParent = data.root.value?.offsetParent\n const target = Array.isArray(data.target.value)\n ? document.elementFromPoint(...data.target.value)\n : data.target.value\n const scrollElements = [...new Set([\n ...getScrollParents(target, props.contained ? offsetParent : undefined),\n ...getScrollParents(data.contentEl.value, props.contained ? offsetParent : undefined),\n ])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'))\n const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth\n\n const scrollableParent = (el => hasScrollbar(el) && el)(offsetParent || document.documentElement)\n if (scrollableParent) {\n data.root.value!.classList.add('v-overlay--scroll-blocked')\n }\n\n scrollElements.forEach((el, i) => {\n el.style.setProperty('--v-body-scroll-x', convertToUnit(-el.scrollLeft))\n el.style.setProperty('--v-body-scroll-y', convertToUnit(-el.scrollTop))\n\n if (el !== document.documentElement) {\n el.style.setProperty('--v-scrollbar-offset', convertToUnit(scrollbarWidth))\n }\n\n el.classList.add('v-overlay-scroll-blocked')\n })\n\n onScopeDispose(() => {\n scrollElements.forEach((el, i) => {\n const x = parseFloat(el.style.getPropertyValue('--v-body-scroll-x'))\n const y = parseFloat(el.style.getPropertyValue('--v-body-scroll-y'))\n\n const scrollBehavior = el.style.scrollBehavior\n\n el.style.scrollBehavior = 'auto'\n el.style.removeProperty('--v-body-scroll-x')\n el.style.removeProperty('--v-body-scroll-y')\n el.style.removeProperty('--v-scrollbar-offset')\n el.classList.remove('v-overlay-scroll-blocked')\n\n el.scrollLeft = -x\n el.scrollTop = -y\n\n el.style.scrollBehavior = scrollBehavior\n })\n if (scrollableParent) {\n data.root.value!.classList.remove('v-overlay--scroll-blocked')\n }\n })\n}\n\nfunction repositionScrollStrategy (data: ScrollStrategyData, props: StrategyProps, scope: EffectScope) {\n let slow = false\n let raf = -1\n let ric = -1\n\n function update (e: Event) {\n requestNewFrame(() => {\n const start = performance.now()\n data.updateLocation.value?.(e)\n const time = performance.now() - start\n slow = time / (1000 / 60) > 2\n })\n }\n\n ric = (typeof requestIdleCallback === 'undefined' ? (cb: Function) => cb() : requestIdleCallback)(() => {\n scope.run(() => {\n bindScroll(data.target.value ?? data.contentEl.value, e => {\n if (slow) {\n // If the position calculation is slow,\n // defer updates until scrolling is finished.\n // Browsers usually fire one scroll event per frame so\n // we just wait until we've got two frames without an event\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(() => {\n update(e)\n })\n })\n } else {\n update(e)\n }\n })\n })\n })\n\n onScopeDispose(() => {\n typeof cancelIdleCallback !== 'undefined' && cancelIdleCallback(ric)\n cancelAnimationFrame(raf)\n })\n}\n\n/** @private */\nfunction bindScroll (target: HTMLElement | [x: number, y: number] | undefined, onScroll: (e: Event) => void) {\n const el = Array.isArray(target) ? document.elementFromPoint(...target) : target\n const scrollElements = [document, ...getScrollParents(el)]\n scrollElements.forEach(el => {\n el.addEventListener('scroll', onScroll, { passive: true })\n })\n\n onScopeDispose(() => {\n scrollElements.forEach(el => {\n el.removeEventListener('scroll', onScroll)\n })\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"scrollStrategies.js","names":["effectScope","onScopeDispose","watchEffect","requestNewFrame","convertToUnit","getScrollParents","hasScrollbar","IN_BROWSER","propsFactory","scrollStrategies","none","close","closeScrollStrategy","block","blockScrollStrategy","reposition","repositionScrollStrategy","makeScrollStrategyProps","scrollStrategy","type","String","Function","default","validator","val","useScrollStrategies","props","data","scope","stop","isActive","value","Promise","resolve","setTimeout","active","run","onScroll","e","bindScroll","getTargetEl","target","contentEl","offsetParent","root","scrollElements","Set","contained","undefined","filter","el","classList","contains","scrollbarWidth","window","innerWidth","document","documentElement","offsetWidth","scrollableParent","add","forEach","i","style","setProperty","scrollLeft","scrollTop","x","parseFloat","getPropertyValue","y","scrollBehavior","removeProperty","remove","slow","raf","ric","update","start","performance","now","updateLocation","time","requestIdleCallback","cb","cancelAnimationFrame","requestAnimationFrame","cancelIdleCallback","Array","isArray","elementsFromPoint","find","addEventListener","passive","removeEventListener"],"sources":["../../../src/components/VOverlay/scrollStrategies.ts"],"sourcesContent":["// Utilities\nimport { effectScope, onScopeDispose, watchEffect } from 'vue'\nimport { requestNewFrame } from './requestNewFrame'\nimport { convertToUnit, getScrollParents, hasScrollbar, IN_BROWSER, propsFactory } from '@/util'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\n\nexport interface ScrollStrategyData {\n root: Ref<HTMLElement | undefined>\n contentEl: Ref<HTMLElement | undefined>\n targetEl: Ref<HTMLElement | undefined>\n target: Ref<HTMLElement | [x: number, y: number] | undefined>\n isActive: Ref<boolean>\n updateLocation: Ref<((e: Event) => void) | undefined>\n}\n\nexport type ScrollStrategyFunction = (data: ScrollStrategyData, props: StrategyProps, scope: EffectScope) => void\n\nconst scrollStrategies = {\n none: null,\n close: closeScrollStrategy,\n block: blockScrollStrategy,\n reposition: repositionScrollStrategy,\n}\n\nexport interface StrategyProps {\n scrollStrategy: keyof typeof scrollStrategies | ScrollStrategyFunction\n contained: boolean | undefined\n}\n\nexport const makeScrollStrategyProps = propsFactory({\n scrollStrategy: {\n type: [String, Function] as PropType<StrategyProps['scrollStrategy']>,\n default: 'block',\n validator: (val: any) => typeof val === 'function' || val in scrollStrategies,\n },\n}, 'VOverlay-scroll-strategies')\n\nexport function useScrollStrategies (\n props: StrategyProps,\n data: ScrollStrategyData\n) {\n if (!IN_BROWSER) return\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n\n if (!(data.isActive.value && props.scrollStrategy)) return\n\n scope = effectScope()\n await new Promise(resolve => setTimeout(resolve))\n scope.active && scope.run(() => {\n if (typeof props.scrollStrategy === 'function') {\n props.scrollStrategy(data, props, scope!)\n } else {\n scrollStrategies[props.scrollStrategy]?.(data, props, scope!)\n }\n })\n })\n\n onScopeDispose(() => {\n scope?.stop()\n })\n}\n\nfunction closeScrollStrategy (data: ScrollStrategyData) {\n function onScroll (e: Event) {\n data.isActive.value = false\n }\n\n bindScroll(getTargetEl(data.target.value, data.contentEl.value), onScroll)\n}\n\nfunction blockScrollStrategy (data: ScrollStrategyData, props: StrategyProps) {\n const offsetParent = data.root.value?.offsetParent\n const target = getTargetEl(data.target.value, data.contentEl.value)\n const scrollElements = [...new Set([\n ...getScrollParents(target, props.contained ? offsetParent : undefined),\n ...getScrollParents(data.contentEl.value, props.contained ? offsetParent : undefined),\n ])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'))\n const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth\n\n const scrollableParent = (el => hasScrollbar(el) && el)(offsetParent || document.documentElement)\n if (scrollableParent) {\n data.root.value!.classList.add('v-overlay--scroll-blocked')\n }\n\n scrollElements.forEach((el, i) => {\n el.style.setProperty('--v-body-scroll-x', convertToUnit(-el.scrollLeft))\n el.style.setProperty('--v-body-scroll-y', convertToUnit(-el.scrollTop))\n\n if (el !== document.documentElement) {\n el.style.setProperty('--v-scrollbar-offset', convertToUnit(scrollbarWidth))\n }\n\n el.classList.add('v-overlay-scroll-blocked')\n })\n\n onScopeDispose(() => {\n scrollElements.forEach((el, i) => {\n const x = parseFloat(el.style.getPropertyValue('--v-body-scroll-x'))\n const y = parseFloat(el.style.getPropertyValue('--v-body-scroll-y'))\n\n const scrollBehavior = el.style.scrollBehavior\n\n el.style.scrollBehavior = 'auto'\n el.style.removeProperty('--v-body-scroll-x')\n el.style.removeProperty('--v-body-scroll-y')\n el.style.removeProperty('--v-scrollbar-offset')\n el.classList.remove('v-overlay-scroll-blocked')\n\n el.scrollLeft = -x\n el.scrollTop = -y\n\n el.style.scrollBehavior = scrollBehavior\n })\n if (scrollableParent) {\n data.root.value!.classList.remove('v-overlay--scroll-blocked')\n }\n })\n}\n\nfunction repositionScrollStrategy (data: ScrollStrategyData, props: StrategyProps, scope: EffectScope) {\n let slow = false\n let raf = -1\n let ric = -1\n\n function update (e: Event) {\n requestNewFrame(() => {\n const start = performance.now()\n data.updateLocation.value?.(e)\n const time = performance.now() - start\n slow = time / (1000 / 60) > 2\n })\n }\n\n ric = (typeof requestIdleCallback === 'undefined' ? (cb: Function) => cb() : requestIdleCallback)(() => {\n scope.run(() => {\n bindScroll(getTargetEl(data.target.value, data.contentEl.value), e => {\n if (slow) {\n // If the position calculation is slow,\n // defer updates until scrolling is finished.\n // Browsers usually fire one scroll event per frame so\n // we just wait until we've got two frames without an event\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(() => {\n update(e)\n })\n })\n } else {\n update(e)\n }\n })\n })\n })\n\n onScopeDispose(() => {\n typeof cancelIdleCallback !== 'undefined' && cancelIdleCallback(ric)\n cancelAnimationFrame(raf)\n })\n}\n\nfunction getTargetEl (\n target: HTMLElement | [x: number, y: number] | undefined,\n contentEl: HTMLElement | undefined,\n) {\n return Array.isArray(target)\n ? document.elementsFromPoint(...target).find(el => !contentEl?.contains(el))\n : target ?? contentEl\n}\n\nfunction bindScroll (el: Element | undefined, onScroll: (e: Event) => void) {\n const scrollElements = [document, ...getScrollParents(el)]\n scrollElements.forEach(el => {\n el.addEventListener('scroll', onScroll, { passive: true })\n })\n\n onScopeDispose(() => {\n scrollElements.forEach(el => {\n el.removeEventListener('scroll', onScroll)\n })\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -16,12 +16,6 @@ export type VTreeviewChildrenSlots<T> = {
|
|
16
16
|
item: T;
|
17
17
|
internalItem: InternalListItem<T>;
|
18
18
|
};
|
19
|
-
header: {
|
20
|
-
props: InternalListItem['props'];
|
21
|
-
item: T;
|
22
|
-
internalItem: InternalListItem<T>;
|
23
|
-
loading: boolean;
|
24
|
-
};
|
25
19
|
divider: {
|
26
20
|
props: InternalListItem['props'];
|
27
21
|
};
|
@@ -198,7 +192,7 @@ export declare const VTreeviewChildren: {
|
|
198
192
|
selectedColor?: string | undefined;
|
199
193
|
loadChildren?: ((item: unknown) => Promise<void>) | undefined;
|
200
194
|
indentLinesVariant?: IndentLinesVariant | undefined;
|
201
|
-
}, () => import("vue").VNodeChild[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slots" | "v-slot:default" | "items" | "v-slot:prepend" | "v-slot:append" | "v-slot:title" | "v-slot:subtitle" | "v-slot:item" | "v-slot:
|
195
|
+
}, () => import("vue").VNodeChild[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slots" | "v-slot:default" | "items" | "v-slot:prepend" | "v-slot:append" | "v-slot:title" | "v-slot:subtitle" | "v-slot:item" | "v-slot:divider" | "v-slot:subheader">, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
|
202
196
|
path: number[];
|
203
197
|
disabled: boolean;
|
204
198
|
isLastGroup: boolean;
|
@@ -235,12 +229,6 @@ export declare const VTreeviewChildren: {
|
|
235
229
|
item: InternalListItem<any>;
|
236
230
|
internalItem: InternalListItem<InternalListItem<any>>;
|
237
231
|
}) => import("vue").VNode[];
|
238
|
-
header: (arg: {
|
239
|
-
props: InternalListItem["props"];
|
240
|
-
item: InternalListItem<any>;
|
241
|
-
internalItem: InternalListItem<InternalListItem<any>>;
|
242
|
-
loading: boolean;
|
243
|
-
}) => import("vue").VNode[];
|
244
232
|
divider: (arg: {
|
245
233
|
props: InternalListItem["props"];
|
246
234
|
}) => import("vue").VNode[];
|
@@ -318,7 +306,7 @@ export declare const VTreeviewChildren: {
|
|
318
306
|
selectedColor?: string | undefined;
|
319
307
|
loadChildren?: ((item: unknown) => Promise<void>) | undefined;
|
320
308
|
indentLinesVariant?: IndentLinesVariant | undefined;
|
321
|
-
}, () => import("vue").VNodeChild[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slots" | "v-slot:default" | "items" | "v-slot:prepend" | "v-slot:append" | "v-slot:title" | "v-slot:subtitle" | "v-slot:item" | "v-slot:
|
309
|
+
}, () => import("vue").VNodeChild[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slots" | "v-slot:default" | "items" | "v-slot:prepend" | "v-slot:append" | "v-slot:title" | "v-slot:subtitle" | "v-slot:item" | "v-slot:divider" | "v-slot:subheader">, string, {
|
322
310
|
path: number[];
|
323
311
|
disabled: boolean;
|
324
312
|
isLastGroup: boolean;
|
@@ -355,12 +343,6 @@ export declare const VTreeviewChildren: {
|
|
355
343
|
item: InternalListItem<any>;
|
356
344
|
internalItem: InternalListItem<InternalListItem<any>>;
|
357
345
|
}) => import("vue").VNode[];
|
358
|
-
header: (arg: {
|
359
|
-
props: InternalListItem["props"];
|
360
|
-
item: InternalListItem<any>;
|
361
|
-
internalItem: InternalListItem<InternalListItem<any>>;
|
362
|
-
loading: boolean;
|
363
|
-
}) => import("vue").VNode[];
|
364
346
|
divider: (arg: {
|
365
347
|
props: InternalListItem["props"];
|
366
348
|
}) => import("vue").VNode[];
|
@@ -159,19 +159,14 @@ export const VTreeviewChildren = genericComponent()({
|
|
159
159
|
onToggleExpand: [() => checkChildren(item), activatorProps.onClick],
|
160
160
|
onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected)
|
161
161
|
};
|
162
|
-
return
|
163
|
-
props: listItemProps,
|
164
|
-
item: item.raw,
|
165
|
-
internalItem: item,
|
166
|
-
loading
|
167
|
-
}, () => _createVNode(VTreeviewItem, _mergeProps({
|
162
|
+
return _createVNode(VTreeviewItem, _mergeProps({
|
168
163
|
"ref": el => activatorItems.value[index] = el
|
169
164
|
}, listItemProps, {
|
170
165
|
"hideActions": props.hideActions,
|
171
166
|
"indentLines": indentLines.node,
|
172
167
|
"value": props.returnObject ? item.raw : itemProps.value,
|
173
168
|
"loading": loading
|
174
|
-
}), slotsWithItem)
|
169
|
+
}), slotsWithItem);
|
175
170
|
},
|
176
171
|
default: () => _createVNode(VTreeviewChildren, _mergeProps(treeviewChildrenProps, {
|
177
172
|
"items": children,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VTreeviewChildren.js","names":["VTreeviewGroup","makeVTreeviewItemProps","VTreeviewItem","VCheckboxBtn","VDivider","VListSubheader","makeDensityProps","IconValue","computed","reactive","ref","toRaw","genericComponent","getIndentLines","pick","propsFactory","renderSlot","makeVTreeviewChildrenProps","fluid","Boolean","disabled","loadChildren","Function","loadingIcon","type","String","default","items","Array","openOnClick","undefined","indeterminateIcon","falseIcon","trueIcon","returnObject","activatable","selectable","selectedColor","selectStrategy","Object","index","Number","isLastGroup","separateRoots","parentIndentLines","indentLinesVariant","path","VTreeviewChildren","name","props","setup","_ref","slots","isLoading","Set","activatorItems","isClickOnOpen","checkChildren","item","length","children","add","value","raw","delete","selectItem","select","isSelected","map","itemProps","loading","has","nextItemHasChildren","at","depth","isLast","treeItemProps","isFirst","hideAction","hideActions","indentLines","leafLinks","variant","slotsWithItem","prepend","slotProps","_createElementVNode","_Fragment","includes","_createVNode","density","isIndeterminate","v","e","stopPropagation","key","internalItem","append","title","subtitle","treeviewGroupProps","filterProps","treeviewChildrenProps","_mergeProps","activator","_ref2","activatorProps","listItemProps","onToggleExpand","onClick","header","el","node","divider","subheader","leaf"],"sources":["../../../src/components/VTreeview/VTreeviewChildren.tsx"],"sourcesContent":["// Components\nimport { VTreeviewGroup } from './VTreeviewGroup'\nimport { makeVTreeviewItemProps, VTreeviewItem } from './VTreeviewItem'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VDivider } from '@/components/VDivider'\nimport { VListSubheader } from '@/components/VList'\n\n// Composables\nimport { makeDensityProps } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, reactive, ref, toRaw } from 'vue'\nimport { genericComponent, getIndentLines, pick, propsFactory, renderSlot } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\nimport type { SelectStrategyProp } from '@/composables/nested/nested'\nimport type { GenericProps, IndentLinesVariant, IndentLineType } from '@/util'\n\nexport type VTreeviewChildrenSlots<T> = {\n [K in keyof Omit<VListItemSlots, 'default'>]: VListItemSlots[K] & {\n item: T\n internalItem: InternalListItem<T>\n }\n} & {\n default: never\n item: {\n props: InternalListItem['props']\n item: T\n internalItem: InternalListItem<T>\n }\n header: {\n props: InternalListItem['props']\n item: T\n internalItem: InternalListItem<T>\n loading: boolean\n }\n divider: { props: InternalListItem['props'] }\n subheader: { props: InternalListItem['props'] }\n}\n\nexport const makeVTreeviewChildrenProps = propsFactory({\n fluid: Boolean,\n disabled: Boolean,\n loadChildren: Function as PropType<(item: unknown) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n items: Array as PropType<readonly InternalListItem[]>,\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n indeterminateIcon: {\n type: IconValue,\n default: '$checkboxIndeterminate',\n },\n falseIcon: IconValue,\n trueIcon: IconValue,\n returnObject: Boolean,\n activatable: Boolean,\n selectable: Boolean,\n selectedColor: String,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n index: Number,\n isLastGroup: Boolean,\n separateRoots: Boolean,\n parentIndentLines: Array as PropType<IndentLineType[]>,\n indentLinesVariant: String as PropType<IndentLinesVariant>,\n path: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n ...pick(makeVTreeviewItemProps(), ['hideActions']),\n ...makeDensityProps(),\n}, 'VTreeviewChildren')\n\nexport const VTreeviewChildren = genericComponent<new <T extends InternalListItem>(\n props: {\n items?: readonly T[]\n },\n slots: VTreeviewChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeviewChildren',\n\n props: makeVTreeviewChildrenProps(),\n\n setup (props, { slots }) {\n const isLoading = reactive(new Set<unknown>())\n const activatorItems = ref<VTreeviewItem[]>([])\n\n const isClickOnOpen = computed(() => (\n !props.disabled && (\n props.openOnClick != null\n ? props.openOnClick\n : props.selectable && !props.activatable\n )))\n\n async function checkChildren (item: InternalListItem) {\n try {\n if (!props.items?.length || !props.loadChildren) return\n\n if (item?.children?.length === 0) {\n isLoading.add(item.value)\n await props.loadChildren(item.raw)\n }\n } finally {\n isLoading.delete(item.value)\n }\n }\n\n function selectItem (select: (value: boolean) => void, isSelected: boolean) {\n if (props.selectable) {\n select(isSelected)\n }\n }\n\n return () => slots.default?.() ?? props.items?.map((item, index, items) => {\n const { children, props: itemProps } = item\n const loading = isLoading.has(item.value)\n const nextItemHasChildren = !!items.at(index + 1)?.children\n\n const depth = props.path?.length ?? 0\n const isLast = items.length - 1 === index\n const treeItemProps = {\n index,\n depth,\n isFirst: index === 0,\n isLast,\n path: [...props.path, index],\n hideAction: props.hideActions,\n }\n\n const indentLines = getIndentLines({\n depth,\n isLast,\n isLastGroup: props.isLastGroup,\n leafLinks: !props.hideActions && !props.fluid,\n separateRoots: props.separateRoots,\n parentIndentLines: props.parentIndentLines,\n variant: props.indentLinesVariant,\n })\n\n const slotsWithItem = {\n prepend: slotProps => (\n <>\n { props.selectable && (!children || (children && !['leaf', 'single-leaf'].includes(props.selectStrategy as string))) && (\n <div>\n <VCheckboxBtn\n key={ item.value }\n modelValue={ slotProps.isSelected }\n disabled={ props.disabled }\n loading={ loading }\n color={ props.selectedColor }\n density={ props.density }\n indeterminate={ slotProps.isIndeterminate }\n indeterminateIcon={ props.indeterminateIcon }\n falseIcon={ props.falseIcon }\n trueIcon={ props.trueIcon }\n onUpdate:modelValue={ v => selectItem(slotProps.select, v) }\n onClick={ (e: PointerEvent) => e.stopPropagation() }\n onKeydown={ (e: KeyboardEvent) => {\n if (!['Enter', 'Space'].includes(e.key)) return\n e.stopPropagation()\n selectItem(slotProps.select, slotProps.isSelected)\n }}\n />\n </div>\n )}\n\n { slots.prepend?.({ ...slotProps, ...treeItemProps, item: item.raw, internalItem: item }) }\n </>\n ),\n append: slots.append\n ? slotProps => slots.append?.({ ...slotProps, ...treeItemProps, item: item.raw, internalItem: item })\n : undefined,\n title: slots.title ? slotProps => slots.title?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n subtitle: slots.subtitle ? slotProps => slots.subtitle?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n } satisfies VTreeviewItem['$props']['$children']\n\n const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps)\n const treeviewChildrenProps = VTreeviewChildren.filterProps({ ...props, ...treeItemProps })\n\n return children ? (\n <VTreeviewGroup\n { ...treeviewGroupProps }\n value={ props.returnObject ? item.raw : treeviewGroupProps?.value }\n rawId={ treeviewGroupProps?.value }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: itemProps?.value,\n onToggleExpand: [() => checkChildren(item), activatorProps.onClick] as any,\n onClick: isClickOnOpen.value\n ? [() => checkChildren(item), activatorProps.onClick] as any\n : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected),\n }\n\n return renderSlot(\n slots.header,\n { props: listItemProps, item: item.raw, internalItem: item, loading },\n () => (\n <VTreeviewItem\n ref={ el => activatorItems.value[index] = el as VTreeviewItem }\n { ...listItemProps }\n hideActions={ props.hideActions }\n indentLines={ indentLines.node }\n value={ props.returnObject ? item.raw : itemProps.value }\n loading={ loading }\n v-slots={ slotsWithItem }\n />\n )\n )\n },\n default: () => (\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n items={ children }\n indentLinesVariant={ props.indentLinesVariant }\n parentIndentLines={ indentLines.children }\n isLastGroup={ nextItemHasChildren }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n ),\n }}\n </VTreeviewGroup>\n ) : renderSlot(\n slots.item,\n { props: itemProps, item: item.raw, internalItem: item },\n () => {\n if (item.type === 'divider') {\n return renderSlot(\n slots.divider,\n { props: item.raw },\n () => <VDivider { ...item.props } />,\n )\n }\n if (item.type === 'subheader') {\n return renderSlot(\n slots.subheader,\n { props: item.raw },\n () => <VListSubheader { ...item.props } />,\n )\n }\n return (\n <VTreeviewItem\n { ...itemProps }\n hideActions={ props.hideActions }\n indentLines={ indentLines.leaf }\n value={ props.returnObject ? toRaw(item.raw) : itemProps.value }\n v-slots={ slotsWithItem }\n />\n )\n })\n })\n },\n})\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VTreeviewChildren.js","names":["VTreeviewGroup","makeVTreeviewItemProps","VTreeviewItem","VCheckboxBtn","VDivider","VListSubheader","makeDensityProps","IconValue","computed","reactive","ref","toRaw","genericComponent","getIndentLines","pick","propsFactory","renderSlot","makeVTreeviewChildrenProps","fluid","Boolean","disabled","loadChildren","Function","loadingIcon","type","String","default","items","Array","openOnClick","undefined","indeterminateIcon","falseIcon","trueIcon","returnObject","activatable","selectable","selectedColor","selectStrategy","Object","index","Number","isLastGroup","separateRoots","parentIndentLines","indentLinesVariant","path","VTreeviewChildren","name","props","setup","_ref","slots","isLoading","Set","activatorItems","isClickOnOpen","checkChildren","item","length","children","add","value","raw","delete","selectItem","select","isSelected","map","itemProps","loading","has","nextItemHasChildren","at","depth","isLast","treeItemProps","isFirst","hideAction","hideActions","indentLines","leafLinks","variant","slotsWithItem","prepend","slotProps","_createElementVNode","_Fragment","includes","_createVNode","density","isIndeterminate","v","e","stopPropagation","key","internalItem","append","title","subtitle","treeviewGroupProps","filterProps","treeviewChildrenProps","_mergeProps","activator","_ref2","activatorProps","listItemProps","onToggleExpand","onClick","el","node","divider","subheader","leaf"],"sources":["../../../src/components/VTreeview/VTreeviewChildren.tsx"],"sourcesContent":["// Components\nimport { VTreeviewGroup } from './VTreeviewGroup'\nimport { makeVTreeviewItemProps, VTreeviewItem } from './VTreeviewItem'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VDivider } from '@/components/VDivider'\nimport { VListSubheader } from '@/components/VList'\n\n// Composables\nimport { makeDensityProps } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, reactive, ref, toRaw } from 'vue'\nimport { genericComponent, getIndentLines, pick, propsFactory, renderSlot } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\nimport type { SelectStrategyProp } from '@/composables/nested/nested'\nimport type { GenericProps, IndentLinesVariant, IndentLineType } from '@/util'\n\nexport type VTreeviewChildrenSlots<T> = {\n [K in keyof Omit<VListItemSlots, 'default'>]: VListItemSlots[K] & {\n item: T\n internalItem: InternalListItem<T>\n }\n} & {\n default: never\n item: {\n props: InternalListItem['props']\n item: T\n internalItem: InternalListItem<T>\n }\n divider: { props: InternalListItem['props'] }\n subheader: { props: InternalListItem['props'] }\n}\n\nexport const makeVTreeviewChildrenProps = propsFactory({\n fluid: Boolean,\n disabled: Boolean,\n loadChildren: Function as PropType<(item: unknown) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n items: Array as PropType<readonly InternalListItem[]>,\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n indeterminateIcon: {\n type: IconValue,\n default: '$checkboxIndeterminate',\n },\n falseIcon: IconValue,\n trueIcon: IconValue,\n returnObject: Boolean,\n activatable: Boolean,\n selectable: Boolean,\n selectedColor: String,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n index: Number,\n isLastGroup: Boolean,\n separateRoots: Boolean,\n parentIndentLines: Array as PropType<IndentLineType[]>,\n indentLinesVariant: String as PropType<IndentLinesVariant>,\n path: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n ...pick(makeVTreeviewItemProps(), ['hideActions']),\n ...makeDensityProps(),\n}, 'VTreeviewChildren')\n\nexport const VTreeviewChildren = genericComponent<new <T extends InternalListItem>(\n props: {\n items?: readonly T[]\n },\n slots: VTreeviewChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeviewChildren',\n\n props: makeVTreeviewChildrenProps(),\n\n setup (props, { slots }) {\n const isLoading = reactive(new Set<unknown>())\n const activatorItems = ref<VTreeviewItem[]>([])\n\n const isClickOnOpen = computed(() => (\n !props.disabled && (\n props.openOnClick != null\n ? props.openOnClick\n : props.selectable && !props.activatable\n )))\n\n async function checkChildren (item: InternalListItem) {\n try {\n if (!props.items?.length || !props.loadChildren) return\n\n if (item?.children?.length === 0) {\n isLoading.add(item.value)\n await props.loadChildren(item.raw)\n }\n } finally {\n isLoading.delete(item.value)\n }\n }\n\n function selectItem (select: (value: boolean) => void, isSelected: boolean) {\n if (props.selectable) {\n select(isSelected)\n }\n }\n\n return () => slots.default?.() ?? props.items?.map((item, index, items) => {\n const { children, props: itemProps } = item\n const loading = isLoading.has(item.value)\n const nextItemHasChildren = !!items.at(index + 1)?.children\n\n const depth = props.path?.length ?? 0\n const isLast = items.length - 1 === index\n const treeItemProps = {\n index,\n depth,\n isFirst: index === 0,\n isLast,\n path: [...props.path, index],\n hideAction: props.hideActions,\n }\n\n const indentLines = getIndentLines({\n depth,\n isLast,\n isLastGroup: props.isLastGroup,\n leafLinks: !props.hideActions && !props.fluid,\n separateRoots: props.separateRoots,\n parentIndentLines: props.parentIndentLines,\n variant: props.indentLinesVariant,\n })\n\n const slotsWithItem = {\n prepend: slotProps => (\n <>\n { props.selectable && (!children || (children && !['leaf', 'single-leaf'].includes(props.selectStrategy as string))) && (\n <div>\n <VCheckboxBtn\n key={ item.value }\n modelValue={ slotProps.isSelected }\n disabled={ props.disabled }\n loading={ loading }\n color={ props.selectedColor }\n density={ props.density }\n indeterminate={ slotProps.isIndeterminate }\n indeterminateIcon={ props.indeterminateIcon }\n falseIcon={ props.falseIcon }\n trueIcon={ props.trueIcon }\n onUpdate:modelValue={ v => selectItem(slotProps.select, v) }\n onClick={ (e: PointerEvent) => e.stopPropagation() }\n onKeydown={ (e: KeyboardEvent) => {\n if (!['Enter', 'Space'].includes(e.key)) return\n e.stopPropagation()\n selectItem(slotProps.select, slotProps.isSelected)\n }}\n />\n </div>\n )}\n\n { slots.prepend?.({ ...slotProps, ...treeItemProps, item: item.raw, internalItem: item }) }\n </>\n ),\n append: slots.append\n ? slotProps => slots.append?.({ ...slotProps, ...treeItemProps, item: item.raw, internalItem: item })\n : undefined,\n title: slots.title ? slotProps => slots.title?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n subtitle: slots.subtitle ? slotProps => slots.subtitle?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n } satisfies VTreeviewItem['$props']['$children']\n\n const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps)\n const treeviewChildrenProps = VTreeviewChildren.filterProps({ ...props, ...treeItemProps })\n\n return children ? (\n <VTreeviewGroup\n { ...treeviewGroupProps }\n value={ props.returnObject ? item.raw : treeviewGroupProps?.value }\n rawId={ treeviewGroupProps?.value }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: itemProps?.value,\n onToggleExpand: [() => checkChildren(item), activatorProps.onClick] as any,\n onClick: isClickOnOpen.value\n ? [() => checkChildren(item), activatorProps.onClick] as any\n : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected),\n }\n\n return (\n <VTreeviewItem\n ref={ el => activatorItems.value[index] = el as VTreeviewItem }\n { ...listItemProps }\n hideActions={ props.hideActions }\n indentLines={ indentLines.node }\n value={ props.returnObject ? item.raw : itemProps.value }\n loading={ loading }\n v-slots={ slotsWithItem }\n />\n )\n },\n default: () => (\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n items={ children }\n indentLinesVariant={ props.indentLinesVariant }\n parentIndentLines={ indentLines.children }\n isLastGroup={ nextItemHasChildren }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n ),\n }}\n </VTreeviewGroup>\n ) : renderSlot(\n slots.item,\n { props: itemProps, item: item.raw, internalItem: item },\n () => {\n if (item.type === 'divider') {\n return renderSlot(\n slots.divider,\n { props: item.raw },\n () => <VDivider { ...item.props } />,\n )\n }\n if (item.type === 'subheader') {\n return renderSlot(\n slots.subheader,\n { props: item.raw },\n () => <VListSubheader { ...item.props } />,\n )\n }\n return (\n <VTreeviewItem\n { ...itemProps }\n hideActions={ props.hideActions }\n indentLines={ indentLines.leaf }\n value={ props.returnObject ? toRaw(item.raw) : itemProps.value }\n v-slots={ slotsWithItem }\n />\n )\n })\n })\n },\n})\n"],"mappings":"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","ignoreList":[]}
|
@@ -12,7 +12,6 @@ export interface CalendarProps {
|
|
12
12
|
year: number | string | undefined;
|
13
13
|
weeksInMonth: 'dynamic' | 'static';
|
14
14
|
firstDayOfWeek: number | string | undefined;
|
15
|
-
firstDayOfYear: number | string | undefined;
|
16
15
|
weekdayFormat: 'long' | 'short' | 'narrow' | undefined;
|
17
16
|
'onUpdate:modelValue': ((value: unknown[]) => void) | undefined;
|
18
17
|
'onUpdate:month': ((value: number) => void) | undefined;
|
@@ -50,7 +49,6 @@ export declare const makeCalendarProps: <Defaults extends {
|
|
50
49
|
weekdays?: unknown;
|
51
50
|
weeksInMonth?: unknown;
|
52
51
|
firstDayOfWeek?: unknown;
|
53
|
-
firstDayOfYear?: unknown;
|
54
52
|
weekdayFormat?: unknown;
|
55
53
|
} = {}>(defaults?: Defaults | undefined) => {
|
56
54
|
allowedDates: unknown extends Defaults["allowedDates"] ? PropType<unknown[] | ((date: unknown) => boolean)> : {
|
@@ -125,16 +123,6 @@ export declare const makeCalendarProps: <Defaults extends {
|
|
125
123
|
type: PropType<unknown extends Defaults["firstDayOfWeek"] ? string | number : string | number | Defaults["firstDayOfWeek"]>;
|
126
124
|
default: unknown extends Defaults["firstDayOfWeek"] ? string | number : NonNullable<string | number> | Defaults["firstDayOfWeek"];
|
127
125
|
};
|
128
|
-
firstDayOfYear: unknown extends Defaults["firstDayOfYear"] ? {
|
129
|
-
type: (StringConstructor | NumberConstructor)[];
|
130
|
-
default: undefined;
|
131
|
-
} : Omit<{
|
132
|
-
type: (StringConstructor | NumberConstructor)[];
|
133
|
-
default: undefined;
|
134
|
-
}, "type" | "default"> & {
|
135
|
-
type: PropType<unknown extends Defaults["firstDayOfYear"] ? string | number : string | number | Defaults["firstDayOfYear"]>;
|
136
|
-
default: unknown extends Defaults["firstDayOfYear"] ? string | number : NonNullable<string | number> | Defaults["firstDayOfYear"];
|
137
|
-
};
|
138
126
|
weekdayFormat: unknown extends Defaults["weekdayFormat"] ? PropType<"long" | "short" | "narrow" | undefined> : {
|
139
127
|
type: PropType<unknown extends Defaults["weekdayFormat"] ? "long" | "short" | "narrow" | undefined : "long" | "short" | "narrow" | Defaults["weekdayFormat"] | undefined>;
|
140
128
|
default: unknown extends Defaults["weekdayFormat"] ? "long" | "short" | "narrow" | undefined : Defaults["weekdayFormat"] | NonNullable<"long" | "short" | "narrow" | undefined>;
|
@@ -30,10 +30,6 @@ export const makeCalendarProps = propsFactory({
|
|
30
30
|
type: [Number, String],
|
31
31
|
default: undefined
|
32
32
|
},
|
33
|
-
firstDayOfYear: {
|
34
|
-
type: [Number, String],
|
35
|
-
default: undefined
|
36
|
-
},
|
37
33
|
weekdayFormat: String
|
38
34
|
}, 'calendar');
|
39
35
|
export function useCalendar(props) {
|
@@ -125,7 +121,7 @@ export function useCalendar(props) {
|
|
125
121
|
});
|
126
122
|
const weekNumbers = computed(() => {
|
127
123
|
return weeksInMonth.value.map(week => {
|
128
|
-
return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek
|
124
|
+
return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek) : null;
|
129
125
|
});
|
130
126
|
});
|
131
127
|
function isDisabled(value) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"calendar.js","names":["useDate","useProxiedModel","computed","propsFactory","wrapInArray","makeCalendarProps","allowedDates","Array","Function","disabled","type","Boolean","default","displayValue","modelValue","month","Number","String","max","min","showAdjacentMonths","year","weekdays","weeksInMonth","firstDayOfWeek","undefined","firstDayOfYear","weekdayFormat","useCalendar","props","adapter","model","v","map","i","date","value","length","isArray","getYear","startOfYear","setYear","getMonth","startOfMonth","setMonth","weekdayLabels","toJsDate","startOfWeek","getDay","getWeekdays","filter","_","includes","weeks","getWeekArray","days","flat","daysInMonth","lastDay","week","day","push","addDays","genDays","today","index","isoDate","toISO","isAdjacent","isSameMonth","isStart","isSameDay","isEnd","endOfMonth","isSame","weekdaysCount","formatted","format","isDisabled","isHidden","isSelected","some","isToday","isWeekEnd","isWeekStart","localized","daysInWeek","weekNumbers","getWeek","isBefore","endOfDay","isAfter","d"],"sources":["../../src/composables/calendar.ts"],"sourcesContent":["// Composables\nimport { useDate } from '@/composables/date/date'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\nexport interface CalendarProps {\n allowedDates: unknown[] | ((date: unknown) => boolean) | undefined\n disabled: boolean\n displayValue?: unknown\n modelValue: unknown[] | undefined\n max: unknown\n min: unknown\n showAdjacentMonths: boolean\n month: number | string | undefined\n weekdays: number[]\n year: number | string | undefined\n weeksInMonth: 'dynamic' | 'static'\n firstDayOfWeek: number | string | undefined\n firstDayOfYear: number | string | undefined\n weekdayFormat: 'long' | 'short' | 'narrow' | undefined\n\n 'onUpdate:modelValue': ((value: unknown[]) => void) | undefined\n 'onUpdate:month': ((value: number) => void) | undefined\n 'onUpdate:year': ((value: number) => void) | undefined\n}\n\nexport type CalendarDay = {\n date: Date\n formatted: string\n isAdjacent: boolean\n isDisabled: boolean\n isEnd: boolean\n isHidden: boolean\n isSame: boolean\n isSelected: boolean\n isStart: boolean\n isToday: boolean\n isWeekEnd: boolean\n isWeekStart: boolean\n isoDate: string\n localized: string\n month: number\n year: number\n}\n\nexport type CalendarWeekdays = 0 | 1 | 2 | 3 | 4 | 5 | 6\n\n// Composables\nexport const makeCalendarProps = propsFactory({\n allowedDates: [Array, Function] as PropType<unknown[] | ((date: unknown) => boolean)>,\n disabled: {\n type: Boolean,\n default: null,\n },\n displayValue: null as any as PropType<unknown>,\n modelValue: Array as PropType<unknown[]>,\n month: [Number, String],\n max: null as any as PropType<unknown>,\n min: null as any as PropType<unknown>,\n showAdjacentMonths: Boolean,\n year: [Number, String],\n weekdays: {\n type: Array as PropType<CalendarWeekdays[]>,\n default: () => [0, 1, 2, 3, 4, 5, 6],\n },\n weeksInMonth: {\n type: String as PropType<'dynamic' | 'static'>,\n default: 'dynamic',\n },\n firstDayOfWeek: {\n type: [Number, String],\n default: undefined,\n },\n firstDayOfYear: {\n type: [Number, String],\n default: undefined,\n },\n weekdayFormat: String as PropType<'long' | 'short' | 'narrow' | undefined>,\n}, 'calendar')\n\nexport function useCalendar (props: CalendarProps) {\n const adapter = useDate()\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => wrapInArray(v).map(i => adapter.date(i)),\n )\n const displayValue = computed(() => {\n if (props.displayValue) return adapter.date(props.displayValue)\n if (model.value.length > 0) return adapter.date(model.value[0])\n if (props.min) return adapter.date(props.min)\n if (Array.isArray(props.allowedDates)) return adapter.date(props.allowedDates[0])\n\n return adapter.date()\n })\n\n const year = useProxiedModel(\n props,\n 'year',\n undefined,\n v => {\n const value = v != null ? Number(v) : adapter.getYear(displayValue.value)\n\n return adapter.startOfYear(adapter.setYear(adapter.date(), value))\n },\n v => adapter.getYear(v)\n )\n\n const month = useProxiedModel(\n props,\n 'month',\n undefined,\n v => {\n const value = v != null ? Number(v) : adapter.getMonth(displayValue.value)\n const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value))\n\n return adapter.setMonth(date, value)\n },\n v => adapter.getMonth(v)\n )\n\n const weekdayLabels = computed(() => {\n const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay()\n return adapter.getWeekdays(props.firstDayOfWeek, props.weekdayFormat)\n .filter((_, i) => props.weekdays.includes((i + firstDayOfWeek) % 7))\n })\n\n const weeksInMonth = computed(() => {\n const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek)\n\n const days = weeks.flat()\n\n // Make sure there's always 6 weeks in month (6 * 7 days)\n // if weeksInMonth is 'static'\n const daysInMonth = 6 * 7\n if (props.weeksInMonth === 'static' && days.length < daysInMonth) {\n const lastDay = days[days.length - 1]\n\n let week = []\n for (let day = 1; day <= daysInMonth - days.length; day++) {\n week.push(adapter.addDays(lastDay, day))\n\n if (day % 7 === 0) {\n weeks.push(week)\n week = []\n }\n }\n }\n\n return weeks\n })\n\n function genDays (days: Date[], today: Date): CalendarDay[] {\n return days.filter(date => {\n return props.weekdays.includes(adapter.toJsDate(date).getDay())\n }).map((date, index) => {\n const isoDate = adapter.toISO(date)\n const isAdjacent = !adapter.isSameMonth(date, month.value)\n const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value))\n const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value))\n const isSame = adapter.isSameDay(date, month.value)\n const weekdaysCount = props.weekdays.length\n\n return {\n date,\n formatted: adapter.format(date, 'keyboardDate'),\n isAdjacent,\n isDisabled: isDisabled(date),\n isEnd,\n isHidden: isAdjacent && !props.showAdjacentMonths,\n isSame,\n isSelected: model.value.some(value => adapter.isSameDay(date, value)),\n isStart,\n isToday: adapter.isSameDay(date, today),\n isWeekEnd: index % weekdaysCount === weekdaysCount - 1,\n isWeekStart: index % weekdaysCount === 0,\n isoDate,\n localized: adapter.format(date, 'dayOfMonth'),\n month: adapter.getMonth(date),\n year: adapter.getYear(date),\n }\n })\n }\n\n const daysInWeek = computed(() => {\n const lastDay = adapter.startOfWeek(displayValue.value, props.firstDayOfWeek)\n const week: Date[] = []\n for (let day = 0; day <= 6; day++) {\n week.push(adapter.addDays(lastDay, day) as Date)\n }\n\n const today = adapter.date() as Date\n\n return genDays(week as Date[], today as Date)\n })\n\n const daysInMonth = computed(() => {\n const days = weeksInMonth.value.flat() as Date[]\n const today = adapter.date() as Date\n\n return genDays(days as Date[], today)\n })\n\n const weekNumbers = computed(() => {\n return weeksInMonth.value.map(week => {\n return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek, props.firstDayOfYear) : null\n })\n })\n\n function isDisabled (value: unknown) {\n if (props.disabled) return true\n\n const date = adapter.date(value)\n\n if (props.min && adapter.isBefore(adapter.endOfDay(date), adapter.date(props.min))) return true\n if (props.max && adapter.isAfter(date, adapter.date(props.max))) return true\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length > 0) {\n return !props.allowedDates.some(d => adapter.isSameDay(adapter.date(d), date))\n }\n\n if (typeof props.allowedDates === 'function') {\n return !props.allowedDates(date)\n }\n\n return false\n }\n\n return {\n displayValue,\n daysInMonth,\n daysInWeek,\n genDays,\n model,\n weeksInMonth,\n weekdayLabels,\n weekNumbers,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"calendar.js","names":["useDate","useProxiedModel","computed","propsFactory","wrapInArray","makeCalendarProps","allowedDates","Array","Function","disabled","type","Boolean","default","displayValue","modelValue","month","Number","String","max","min","showAdjacentMonths","year","weekdays","weeksInMonth","firstDayOfWeek","undefined","weekdayFormat","useCalendar","props","adapter","model","v","map","i","date","value","length","isArray","getYear","startOfYear","setYear","getMonth","startOfMonth","setMonth","weekdayLabels","toJsDate","startOfWeek","getDay","getWeekdays","filter","_","includes","weeks","getWeekArray","days","flat","daysInMonth","lastDay","week","day","push","addDays","genDays","today","index","isoDate","toISO","isAdjacent","isSameMonth","isStart","isSameDay","isEnd","endOfMonth","isSame","weekdaysCount","formatted","format","isDisabled","isHidden","isSelected","some","isToday","isWeekEnd","isWeekStart","localized","daysInWeek","weekNumbers","getWeek","isBefore","endOfDay","isAfter","d"],"sources":["../../src/composables/calendar.ts"],"sourcesContent":["// Composables\nimport { useDate } from '@/composables/date/date'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\nexport interface CalendarProps {\n allowedDates: unknown[] | ((date: unknown) => boolean) | undefined\n disabled: boolean\n displayValue?: unknown\n modelValue: unknown[] | undefined\n max: unknown\n min: unknown\n showAdjacentMonths: boolean\n month: number | string | undefined\n weekdays: number[]\n year: number | string | undefined\n weeksInMonth: 'dynamic' | 'static'\n firstDayOfWeek: number | string | undefined\n weekdayFormat: 'long' | 'short' | 'narrow' | undefined\n\n 'onUpdate:modelValue': ((value: unknown[]) => void) | undefined\n 'onUpdate:month': ((value: number) => void) | undefined\n 'onUpdate:year': ((value: number) => void) | undefined\n}\n\nexport type CalendarDay = {\n date: Date\n formatted: string\n isAdjacent: boolean\n isDisabled: boolean\n isEnd: boolean\n isHidden: boolean\n isSame: boolean\n isSelected: boolean\n isStart: boolean\n isToday: boolean\n isWeekEnd: boolean\n isWeekStart: boolean\n isoDate: string\n localized: string\n month: number\n year: number\n}\n\nexport type CalendarWeekdays = 0 | 1 | 2 | 3 | 4 | 5 | 6\n\n// Composables\nexport const makeCalendarProps = propsFactory({\n allowedDates: [Array, Function] as PropType<unknown[] | ((date: unknown) => boolean)>,\n disabled: {\n type: Boolean,\n default: null,\n },\n displayValue: null as any as PropType<unknown>,\n modelValue: Array as PropType<unknown[]>,\n month: [Number, String],\n max: null as any as PropType<unknown>,\n min: null as any as PropType<unknown>,\n showAdjacentMonths: Boolean,\n year: [Number, String],\n weekdays: {\n type: Array as PropType<CalendarWeekdays[]>,\n default: () => [0, 1, 2, 3, 4, 5, 6],\n },\n weeksInMonth: {\n type: String as PropType<'dynamic' | 'static'>,\n default: 'dynamic',\n },\n firstDayOfWeek: {\n type: [Number, String],\n default: undefined,\n },\n weekdayFormat: String as PropType<'long' | 'short' | 'narrow' | undefined>,\n}, 'calendar')\n\nexport function useCalendar (props: CalendarProps) {\n const adapter = useDate()\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => wrapInArray(v).map(i => adapter.date(i)),\n )\n const displayValue = computed(() => {\n if (props.displayValue) return adapter.date(props.displayValue)\n if (model.value.length > 0) return adapter.date(model.value[0])\n if (props.min) return adapter.date(props.min)\n if (Array.isArray(props.allowedDates)) return adapter.date(props.allowedDates[0])\n\n return adapter.date()\n })\n\n const year = useProxiedModel(\n props,\n 'year',\n undefined,\n v => {\n const value = v != null ? Number(v) : adapter.getYear(displayValue.value)\n\n return adapter.startOfYear(adapter.setYear(adapter.date(), value))\n },\n v => adapter.getYear(v)\n )\n\n const month = useProxiedModel(\n props,\n 'month',\n undefined,\n v => {\n const value = v != null ? Number(v) : adapter.getMonth(displayValue.value)\n const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value))\n\n return adapter.setMonth(date, value)\n },\n v => adapter.getMonth(v)\n )\n\n const weekdayLabels = computed(() => {\n const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay()\n return adapter.getWeekdays(props.firstDayOfWeek, props.weekdayFormat)\n .filter((_, i) => props.weekdays.includes((i + firstDayOfWeek) % 7))\n })\n\n const weeksInMonth = computed(() => {\n const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek)\n\n const days = weeks.flat()\n\n // Make sure there's always 6 weeks in month (6 * 7 days)\n // if weeksInMonth is 'static'\n const daysInMonth = 6 * 7\n if (props.weeksInMonth === 'static' && days.length < daysInMonth) {\n const lastDay = days[days.length - 1]\n\n let week = []\n for (let day = 1; day <= daysInMonth - days.length; day++) {\n week.push(adapter.addDays(lastDay, day))\n\n if (day % 7 === 0) {\n weeks.push(week)\n week = []\n }\n }\n }\n\n return weeks\n })\n\n function genDays (days: Date[], today: Date): CalendarDay[] {\n return days.filter(date => {\n return props.weekdays.includes(adapter.toJsDate(date).getDay())\n }).map((date, index) => {\n const isoDate = adapter.toISO(date)\n const isAdjacent = !adapter.isSameMonth(date, month.value)\n const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value))\n const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value))\n const isSame = adapter.isSameDay(date, month.value)\n const weekdaysCount = props.weekdays.length\n\n return {\n date,\n formatted: adapter.format(date, 'keyboardDate'),\n isAdjacent,\n isDisabled: isDisabled(date),\n isEnd,\n isHidden: isAdjacent && !props.showAdjacentMonths,\n isSame,\n isSelected: model.value.some(value => adapter.isSameDay(date, value)),\n isStart,\n isToday: adapter.isSameDay(date, today),\n isWeekEnd: index % weekdaysCount === weekdaysCount - 1,\n isWeekStart: index % weekdaysCount === 0,\n isoDate,\n localized: adapter.format(date, 'dayOfMonth'),\n month: adapter.getMonth(date),\n year: adapter.getYear(date),\n }\n })\n }\n\n const daysInWeek = computed(() => {\n const lastDay = adapter.startOfWeek(displayValue.value, props.firstDayOfWeek)\n const week: Date[] = []\n for (let day = 0; day <= 6; day++) {\n week.push(adapter.addDays(lastDay, day) as Date)\n }\n\n const today = adapter.date() as Date\n\n return genDays(week as Date[], today as Date)\n })\n\n const daysInMonth = computed(() => {\n const days = weeksInMonth.value.flat() as Date[]\n const today = adapter.date() as Date\n\n return genDays(days as Date[], today)\n })\n\n const weekNumbers = computed(() => {\n return weeksInMonth.value.map(week => {\n return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek) : null\n })\n })\n\n function isDisabled (value: unknown) {\n if (props.disabled) return true\n\n const date = adapter.date(value)\n\n if (props.min && adapter.isBefore(adapter.endOfDay(date), adapter.date(props.min))) return true\n if (props.max && adapter.isAfter(date, adapter.date(props.max))) return true\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length > 0) {\n return !props.allowedDates.some(d => adapter.isSameDay(adapter.date(d), date))\n }\n\n if (typeof props.allowedDates === 'function') {\n return !props.allowedDates(date)\n }\n\n return false\n }\n\n return {\n displayValue,\n daysInMonth,\n daysInWeek,\n genDays,\n model,\n weeksInMonth,\n weekdayLabels,\n weekNumbers,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -31,7 +31,7 @@ export interface DateAdapter<T = unknown> {
|
|
31
31
|
getDiff(date: T, comparing: T | string, unit?: string): number;
|
32
32
|
getWeekArray(date: T, firstDayOfWeek?: number | string): T[][];
|
33
33
|
getWeekdays(firstDayOfWeek?: number | string, weekdayFormat?: 'long' | 'short' | 'narrow'): string[];
|
34
|
-
getWeek(date: T, firstDayOfWeek?: number | string,
|
34
|
+
getWeek(date: T, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number;
|
35
35
|
getMonth(date: T): number;
|
36
36
|
setMonth(date: T, month: number): T;
|
37
37
|
getDate(date: T): number;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DateAdapter.js","names":[],"sources":["../../../src/composables/date/DateAdapter.ts"],"sourcesContent":["export interface DateAdapter<T = unknown> {\n date (value?: any): T | null\n format (date: T, formatString: string): string\n toJsDate (value: T): Date\n parseISO (date: string): T\n toISO (date: T): string\n\n startOfDay (date: T): T\n endOfDay (date: T): T\n startOfWeek (date: T, firstDayOfWeek?: number | string): T\n endOfWeek (date: T): T\n startOfMonth (date: T): T\n endOfMonth (date: T): T\n startOfYear (date: T): T\n endOfYear (date: T): T\n\n isAfter (date: T, comparing: T): boolean\n isAfterDay(date: T, comparing: T): boolean\n\n isSameDay (date: T, comparing: T): boolean\n isSameMonth (date: T, comparing: T): boolean\n isSameYear(date: T, comparing: T): boolean\n\n isBefore (date: T, comparing: T): boolean\n isEqual (date: T, comparing: T): boolean\n isValid (date: any): boolean\n isWithinRange (date: T, range: [T, T]): boolean\n\n addMinutes (date: T, amount: number): T\n addHours (date: T, amount: number): T\n addDays (date: T, amount: number): T\n addWeeks (date: T, amount: number): T\n addMonths (date: T, amount: number): T\n\n getYear (date: T): number\n setYear (date: T, year: number): T\n getDiff (date: T, comparing: T | string, unit?: string): number\n getWeekArray (date: T, firstDayOfWeek?: number | string): T[][]\n getWeekdays (firstDayOfWeek?: number | string, weekdayFormat?: 'long' | 'short' | 'narrow'): string[]\n getWeek (date: T, firstDayOfWeek?: number | string,
|
1
|
+
{"version":3,"file":"DateAdapter.js","names":[],"sources":["../../../src/composables/date/DateAdapter.ts"],"sourcesContent":["export interface DateAdapter<T = unknown> {\n date (value?: any): T | null\n format (date: T, formatString: string): string\n toJsDate (value: T): Date\n parseISO (date: string): T\n toISO (date: T): string\n\n startOfDay (date: T): T\n endOfDay (date: T): T\n startOfWeek (date: T, firstDayOfWeek?: number | string): T\n endOfWeek (date: T): T\n startOfMonth (date: T): T\n endOfMonth (date: T): T\n startOfYear (date: T): T\n endOfYear (date: T): T\n\n isAfter (date: T, comparing: T): boolean\n isAfterDay(date: T, comparing: T): boolean\n\n isSameDay (date: T, comparing: T): boolean\n isSameMonth (date: T, comparing: T): boolean\n isSameYear(date: T, comparing: T): boolean\n\n isBefore (date: T, comparing: T): boolean\n isEqual (date: T, comparing: T): boolean\n isValid (date: any): boolean\n isWithinRange (date: T, range: [T, T]): boolean\n\n addMinutes (date: T, amount: number): T\n addHours (date: T, amount: number): T\n addDays (date: T, amount: number): T\n addWeeks (date: T, amount: number): T\n addMonths (date: T, amount: number): T\n\n getYear (date: T): number\n setYear (date: T, year: number): T\n getDiff (date: T, comparing: T | string, unit?: string): number\n getWeekArray (date: T, firstDayOfWeek?: number | string): T[][]\n getWeekdays (firstDayOfWeek?: number | string, weekdayFormat?: 'long' | 'short' | 'narrow'): string[]\n getWeek (date: T, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number\n getMonth (date: T): number\n setMonth (date: T, month: number): T\n getDate (date: T): number\n setDate (date: T, day: number): T\n getNextMonth (date: T): T\n getPreviousMonth(date: T): T\n\n getHours (date: T): number\n setHours (date: T, hours: number): T\n getMinutes (date: T): number\n setMinutes (date: T, minutes: number): T\n}\n"],"mappings":"","ignoreList":[]}
|
@@ -23,7 +23,7 @@ export declare class StringDateAdapter implements DateAdapter<string> {
|
|
23
23
|
getHours(date: string): number;
|
24
24
|
getMinutes(date: string): number;
|
25
25
|
getMonth(date: string): number;
|
26
|
-
getWeek(date: string, firstDayOfWeek?: number | string,
|
26
|
+
getWeek(date: string, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number;
|
27
27
|
getNextMonth(date: string): string;
|
28
28
|
getPreviousMonth(date: string): string;
|
29
29
|
getWeekArray(date: string, firstDayOfWeek?: number | string): string[][];
|
@@ -64,8 +64,8 @@ export class StringDateAdapter {
|
|
64
64
|
getMonth(date) {
|
65
65
|
return this.base.getMonth(this.base.date(date));
|
66
66
|
}
|
67
|
-
getWeek(date, firstDayOfWeek,
|
68
|
-
return this.base.getWeek(this.base.date(date), firstDayOfWeek,
|
67
|
+
getWeek(date, firstDayOfWeek, firstWeekMinSize) {
|
68
|
+
return this.base.getWeek(this.base.date(date), firstDayOfWeek, firstWeekMinSize);
|
69
69
|
}
|
70
70
|
getNextMonth(date) {
|
71
71
|
return this.base.toISO(this.base.getNextMonth(this.base.date(date)));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"string.js","names":["VuetifyDateAdapter","StringDateAdapter","constructor","options","_this","base","locale","formats","Object","fromEntries","entries","map","_ref","k","v","date","_len","arguments","length","args","Array","_key","toISO","addDays","amount","addHours","addMinutes","addMonths","addWeeks","value","endOfDay","endOfMonth","endOfWeek","endOfYear","format","formatString","getDate","getDiff","comparing","unit","getHours","getMinutes","getMonth","getWeek","firstDayOfWeek","firstDayOfYear","getNextMonth","getPreviousMonth","getWeekArray","week","day","getWeekdays","weekdayFormat","getYear","isAfter","isAfterDay","isBefore","isEqual","isSameDay","isSameMonth","isSameYear","isValid","isWithinRange","range","parseISO","setDate","setHours","hours","setMinutes","minutes","setMonth","month","setYear","year","startOfDay","startOfMonth","startOfWeek","startOfYear","toJsDate"],"sources":["../../../../src/composables/date/adapters/string.ts"],"sourcesContent":["// Composables\nimport { VuetifyDateAdapter } from '@/composables/date/adapters/vuetify'\n\n// Types\nimport type { DateAdapter } from '@/composables/date'\n\ntype CustomDateFormat = Intl.DateTimeFormatOptions | ((date: string, formatString: string, locale: string) => string)\n\nexport class StringDateAdapter implements DateAdapter<string> {\n base: VuetifyDateAdapter\n\n constructor (options: { locale: string, formats?: Record<string, CustomDateFormat> }) {\n this.base = new VuetifyDateAdapter({\n locale: options.locale,\n formats: options.formats && Object.fromEntries(\n Object.entries(options.formats).map(([k, v]) => {\n return [\n k,\n typeof v === 'function'\n ? (date, ...args) => v(this.base.toISO(date), ...args)\n : v,\n ]\n })\n ),\n })\n }\n\n addDays (date: string, amount: number): string {\n return this.base.toISO(\n this.base.addDays(this.base.date(date)!, amount)\n )\n }\n\n addHours (date: string, amount: number): string {\n return this.base.toISO(\n this.base.addHours(this.base.date(date)!, amount)\n )\n }\n\n addMinutes (date: string, amount: number): string {\n return this.base.toISO(\n this.base.addMinutes(this.base.date(date)!, amount)\n )\n }\n\n addMonths (date: string, amount: number): string {\n return this.base.toISO(\n this.base.addMonths(this.base.date(date)!, amount)\n )\n }\n\n addWeeks (date: string, amount: number): string {\n return this.base.toISO(\n this.base.addWeeks(this.base.date(date)!, amount)\n )\n }\n\n date (value?: any): string | null {\n return this.base.toISO(\n this.base.date(value)!\n )\n }\n\n endOfDay (date: string): string {\n return this.base.toISO(\n this.base.endOfDay(this.base.date(date)!)\n )\n }\n\n endOfMonth (date: string): string {\n return this.base.toISO(\n this.base.endOfMonth(this.base.date(date)!)\n )\n }\n\n endOfWeek (date: string): string {\n return this.base.toISO(\n this.base.endOfWeek(this.base.date(date)!)\n )\n }\n\n endOfYear (date: string): string {\n return this.base.toISO(\n this.base.endOfYear(this.base.date(date)!)\n )\n }\n\n format (date: string, formatString: string): string {\n return this.base.format(\n this.base.date(date)!,\n formatString\n )\n }\n\n getDate (date: string): number {\n return this.base.getDate(this.base.date(date)!)\n }\n\n getDiff (date: string, comparing: string, unit?: string): number {\n return this.base.getDiff(this.base.date(date)!, comparing, unit)\n }\n\n getHours (date: string): number {\n return this.base.getHours(this.base.date(date)!)\n }\n\n getMinutes (date: string): number {\n return this.base.getMinutes(this.base.date(date)!)\n }\n\n getMonth (date: string): number {\n return this.base.getMonth(this.base.date(date)!)\n }\n\n getWeek (date: string, firstDayOfWeek?: number | string, firstDayOfYear?: number | string): number {\n return this.base.getWeek(this.base.date(date)!, firstDayOfWeek, firstDayOfYear)\n }\n\n getNextMonth (date: string): string {\n return this.base.toISO(\n this.base.getNextMonth(this.base.date(date)!)\n )\n }\n\n getPreviousMonth (date: string): string {\n return this.base.toISO(\n this.base.getPreviousMonth(this.base.date(date)!)\n )\n }\n\n getWeekArray (date: string, firstDayOfWeek?: number | string): string[][] {\n return this.base.getWeekArray(\n this.base.date(date)!,\n firstDayOfWeek,\n ).map(week => {\n return week.map(day => {\n return this.base.toISO(day)\n })\n })\n }\n\n getWeekdays (firstDayOfWeek?: number | string, weekdayFormat?: 'long' | 'short' | 'narrow'): string[] {\n return this.base.getWeekdays(firstDayOfWeek, weekdayFormat)\n }\n\n getYear (date: string): number {\n return this.base.getYear(this.base.date(date)!)\n }\n\n isAfter (date: string, comparing: string): boolean {\n return this.base.isAfter(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isAfterDay (date: string, comparing: string): boolean {\n return this.base.isAfterDay(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isBefore (date: string, comparing: string): boolean {\n return this.base.isBefore(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isEqual (date: string, comparing: string): boolean {\n return this.base.isEqual(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isSameDay (date: string, comparing: string): boolean {\n return this.base.isSameDay(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isSameMonth (date: string, comparing: string): boolean {\n return this.base.isSameMonth(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isSameYear (date: string, comparing: string): boolean {\n return this.base.isSameYear(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isValid (date: any): boolean {\n return this.base.isValid(date)\n }\n\n isWithinRange (date: string, range: [string, string]): boolean {\n return this.base.isWithinRange(\n this.base.date(date)!,\n [this.base.date(range[0])!, this.base.date(range[1])!],\n )\n }\n\n parseISO (date: string): string {\n return this.base.toISO(this.base.parseISO(date))\n }\n\n setDate (date: string, day: number): string {\n return this.base.toISO(\n this.base.setDate(this.base.date(date)!, day)\n )\n }\n\n setHours (date: string, hours: number): string {\n return this.base.toISO(\n this.base.setHours(this.base.date(date)!, hours)\n )\n }\n\n setMinutes (date: string, minutes: number): string {\n return this.base.toISO(\n this.base.setMinutes(this.base.date(date)!, minutes)\n )\n }\n\n setMonth (date: string, month: number): string {\n return this.base.toISO(\n this.base.setMonth(this.base.date(date)!, month)\n )\n }\n\n setYear (date: string, year: number): string {\n return this.base.toISO(\n this.base.setYear(this.base.date(date)!, year)\n )\n }\n\n startOfDay (date: string): string {\n return this.base.toISO(\n this.base.startOfDay(this.base.date(date)!)\n )\n }\n\n startOfMonth (date: string): string {\n return this.base.toISO(\n this.base.startOfMonth(this.base.date(date)!)\n )\n }\n\n startOfWeek (date: string, firstDayOfWeek?: number | string): string {\n return this.base.toISO(\n this.base.startOfWeek(this.base.date(date)!, firstDayOfWeek)\n )\n }\n\n startOfYear (date: string): string {\n return this.base.toISO(\n this.base.startOfYear(this.base.date(date)!)\n )\n }\n\n toISO (date: string): string {\n return this.base.toISO(\n this.base.date(date)!\n )\n }\n\n toJsDate (value: string): Date {\n return this.base.date(value)!\n }\n}\n"],"mappings":"AAAA;AAAA,SACSA,kBAAkB,wBAE3B;AAKA,OAAO,MAAMC,iBAAiB,CAAgC;EAG5DC,WAAWA,CAAEC,OAAuE,EAAE;IAAA,IAAAC,KAAA;IACpF,IAAI,CAACC,IAAI,GAAG,IAAIL,kBAAkB,CAAC;MACjCM,MAAM,EAAEH,OAAO,CAACG,MAAM;MACtBC,OAAO,EAAEJ,OAAO,CAACI,OAAO,IAAIC,MAAM,CAACC,WAAW,CAC5CD,MAAM,CAACE,OAAO,CAACP,OAAO,CAACI,OAAO,CAAC,CAACI,GAAG,CAACC,IAAA,IAAY;QAAA,IAAX,CAACC,CAAC,EAAEC,CAAC,CAAC,GAAAF,IAAA;QACzC,OAAO,CACLC,CAAC,EACD,OAAOC,CAAC,KAAK,UAAU,GACnB,UAACC,IAAI;UAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAKC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,OAAAA,IAAA,WAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;YAAJF,IAAI,CAAAE,IAAA,QAAAJ,SAAA,CAAAI,IAAA;UAAA;UAAA,OAAKP,CAAC,CAACV,KAAI,CAACC,IAAI,CAACiB,KAAK,CAACP,IAAI,CAAC,EAAE,GAAGI,IAAI,CAAC;QAAA,IACpDL,CAAC,CACN;MACH,CAAC,CACH;IACF,CAAC,CAAC;EACJ;EAEAS,OAAOA,CAAER,IAAY,EAAES,MAAc,EAAU;IAC7C,OAAO,IAAI,CAACnB,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAACkB,OAAO,CAAC,IAAI,CAAClB,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EAAGS,MAAM,CACjD,CAAC;EACH;EAEAC,QAAQA,CAAEV,IAAY,EAAES,MAAc,EAAU;IAC9C,OAAO,IAAI,CAACnB,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAACoB,QAAQ,CAAC,IAAI,CAACpB,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EAAGS,MAAM,CAClD,CAAC;EACH;EAEAE,UAAUA,CAAEX,IAAY,EAAES,MAAc,EAAU;IAChD,OAAO,IAAI,CAACnB,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAACqB,UAAU,CAAC,IAAI,CAACrB,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EAAGS,MAAM,CACpD,CAAC;EACH;EAEAG,SAASA,CAAEZ,IAAY,EAAES,MAAc,EAAU;IAC/C,OAAO,IAAI,CAACnB,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAACsB,SAAS,CAAC,IAAI,CAACtB,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EAAGS,MAAM,CACnD,CAAC;EACH;EAEAI,QAAQA,CAAEb,IAAY,EAAES,MAAc,EAAU;IAC9C,OAAO,IAAI,CAACnB,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAACuB,QAAQ,CAAC,IAAI,CAACvB,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EAAGS,MAAM,CAClD,CAAC;EACH;EAEAT,IAAIA,CAAEc,KAAW,EAAiB;IAChC,OAAO,IAAI,CAACxB,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAACU,IAAI,CAACc,KAAK,CACtB,CAAC;EACH;EAEAC,QAAQA,CAAEf,IAAY,EAAU;IAC9B,OAAO,IAAI,CAACV,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAACyB,QAAQ,CAAC,IAAI,CAACzB,IAAI,CAACU,IAAI,CAACA,IAAI,CAAE,CAC1C,CAAC;EACH;EAEAgB,UAAUA,CAAEhB,IAAY,EAAU;IAChC,OAAO,IAAI,CAACV,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAAC0B,UAAU,CAAC,IAAI,CAAC1B,IAAI,CAACU,IAAI,CAACA,IAAI,CAAE,CAC5C,CAAC;EACH;EAEAiB,SAASA,CAAEjB,IAAY,EAAU;IAC/B,OAAO,IAAI,CAACV,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAAC2B,SAAS,CAAC,IAAI,CAAC3B,IAAI,CAACU,IAAI,CAACA,IAAI,CAAE,CAC3C,CAAC;EACH;EAEAkB,SAASA,CAAElB,IAAY,EAAU;IAC/B,OAAO,IAAI,CAACV,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAAC4B,SAAS,CAAC,IAAI,CAAC5B,IAAI,CAACU,IAAI,CAACA,IAAI,CAAE,CAC3C,CAAC;EACH;EAEAmB,MAAMA,CAAEnB,IAAY,EAAEoB,YAAoB,EAAU;IAClD,OAAO,IAAI,CAAC9B,IAAI,CAAC6B,MAAM,CACrB,IAAI,CAAC7B,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EACpBoB,YACF,CAAC;EACH;EAEAC,OAAOA,CAAErB,IAAY,EAAU;IAC7B,OAAO,IAAI,CAACV,IAAI,CAAC+B,OAAO,CAAC,IAAI,CAAC/B,IAAI,CAACU,IAAI,CAACA,IAAI,CAAE,CAAC;EACjD;EAEAsB,OAAOA,CAAEtB,IAAY,EAAEuB,SAAiB,EAAEC,IAAa,EAAU;IAC/D,OAAO,IAAI,CAAClC,IAAI,CAACgC,OAAO,CAAC,IAAI,CAAChC,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EAAGuB,SAAS,EAAEC,IAAI,CAAC;EAClE;EAEAC,QAAQA,CAAEzB,IAAY,EAAU;IAC9B,OAAO,IAAI,CAACV,IAAI,CAACmC,QAAQ,CAAC,IAAI,CAACnC,IAAI,CAACU,IAAI,CAACA,IAAI,CAAE,CAAC;EAClD;EAEA0B,UAAUA,CAAE1B,IAAY,EAAU;IAChC,OAAO,IAAI,CAACV,IAAI,CAACoC,UAAU,CAAC,IAAI,CAACpC,IAAI,CAACU,IAAI,CAACA,IAAI,CAAE,CAAC;EACpD;EAEA2B,QAAQA,CAAE3B,IAAY,EAAU;IAC9B,OAAO,IAAI,CAACV,IAAI,CAACqC,QAAQ,CAAC,IAAI,CAACrC,IAAI,CAACU,IAAI,CAACA,IAAI,CAAE,CAAC;EAClD;EAEA4B,OAAOA,CAAE5B,IAAY,EAAE6B,cAAgC,EAAEC,cAAgC,EAAU;IACjG,OAAO,IAAI,CAACxC,IAAI,CAACsC,OAAO,CAAC,IAAI,CAACtC,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EAAG6B,cAAc,EAAEC,cAAc,CAAC;EACjF;EAEAC,YAAYA,CAAE/B,IAAY,EAAU;IAClC,OAAO,IAAI,CAACV,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAACyC,YAAY,CAAC,IAAI,CAACzC,IAAI,CAACU,IAAI,CAACA,IAAI,CAAE,CAC9C,CAAC;EACH;EAEAgC,gBAAgBA,CAAEhC,IAAY,EAAU;IACtC,OAAO,IAAI,CAACV,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAAC0C,gBAAgB,CAAC,IAAI,CAAC1C,IAAI,CAACU,IAAI,CAACA,IAAI,CAAE,CAClD,CAAC;EACH;EAEAiC,YAAYA,CAAEjC,IAAY,EAAE6B,cAAgC,EAAc;IACxE,OAAO,IAAI,CAACvC,IAAI,CAAC2C,YAAY,CAC3B,IAAI,CAAC3C,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EACpB6B,cACF,CAAC,CAACjC,GAAG,CAACsC,IAAI,IAAI;MACZ,OAAOA,IAAI,CAACtC,GAAG,CAACuC,GAAG,IAAI;QACrB,OAAO,IAAI,CAAC7C,IAAI,CAACiB,KAAK,CAAC4B,GAAG,CAAC;MAC7B,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEAC,WAAWA,CAAEP,cAAgC,EAAEQ,aAA2C,EAAY;IACpG,OAAO,IAAI,CAAC/C,IAAI,CAAC8C,WAAW,CAACP,cAAc,EAAEQ,aAAa,CAAC;EAC7D;EAEAC,OAAOA,CAAEtC,IAAY,EAAU;IAC7B,OAAO,IAAI,CAACV,IAAI,CAACgD,OAAO,CAAC,IAAI,CAAChD,IAAI,CAACU,IAAI,CAACA,IAAI,CAAE,CAAC;EACjD;EAEAuC,OAAOA,CAAEvC,IAAY,EAAEuB,SAAiB,EAAW;IACjD,OAAO,IAAI,CAACjC,IAAI,CAACiD,OAAO,CACtB,IAAI,CAACjD,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EACpB,IAAI,CAACV,IAAI,CAACU,IAAI,CAACuB,SAAS,CAC1B,CAAC;EACH;EAEAiB,UAAUA,CAAExC,IAAY,EAAEuB,SAAiB,EAAW;IACpD,OAAO,IAAI,CAACjC,IAAI,CAACkD,UAAU,CACzB,IAAI,CAAClD,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EACpB,IAAI,CAACV,IAAI,CAACU,IAAI,CAACuB,SAAS,CAC1B,CAAC;EACH;EAEAkB,QAAQA,CAAEzC,IAAY,EAAEuB,SAAiB,EAAW;IAClD,OAAO,IAAI,CAACjC,IAAI,CAACmD,QAAQ,CACvB,IAAI,CAACnD,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EACpB,IAAI,CAACV,IAAI,CAACU,IAAI,CAACuB,SAAS,CAC1B,CAAC;EACH;EAEAmB,OAAOA,CAAE1C,IAAY,EAAEuB,SAAiB,EAAW;IACjD,OAAO,IAAI,CAACjC,IAAI,CAACoD,OAAO,CACtB,IAAI,CAACpD,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EACpB,IAAI,CAACV,IAAI,CAACU,IAAI,CAACuB,SAAS,CAC1B,CAAC;EACH;EAEAoB,SAASA,CAAE3C,IAAY,EAAEuB,SAAiB,EAAW;IACnD,OAAO,IAAI,CAACjC,IAAI,CAACqD,SAAS,CACxB,IAAI,CAACrD,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EACpB,IAAI,CAACV,IAAI,CAACU,IAAI,CAACuB,SAAS,CAC1B,CAAC;EACH;EAEAqB,WAAWA,CAAE5C,IAAY,EAAEuB,SAAiB,EAAW;IACrD,OAAO,IAAI,CAACjC,IAAI,CAACsD,WAAW,CAC1B,IAAI,CAACtD,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EACpB,IAAI,CAACV,IAAI,CAACU,IAAI,CAACuB,SAAS,CAC1B,CAAC;EACH;EAEAsB,UAAUA,CAAE7C,IAAY,EAAEuB,SAAiB,EAAW;IACpD,OAAO,IAAI,CAACjC,IAAI,CAACuD,UAAU,CACzB,IAAI,CAACvD,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EACpB,IAAI,CAACV,IAAI,CAACU,IAAI,CAACuB,SAAS,CAC1B,CAAC;EACH;EAEAuB,OAAOA,CAAE9C,IAAS,EAAW;IAC3B,OAAO,IAAI,CAACV,IAAI,CAACwD,OAAO,CAAC9C,IAAI,CAAC;EAChC;EAEA+C,aAAaA,CAAE/C,IAAY,EAAEgD,KAAuB,EAAW;IAC7D,OAAO,IAAI,CAAC1D,IAAI,CAACyD,aAAa,CAC5B,IAAI,CAACzD,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EACpB,CAAC,IAAI,CAACV,IAAI,CAACU,IAAI,CAACgD,KAAK,CAAC,CAAC,CAAC,CAAC,EAAG,IAAI,CAAC1D,IAAI,CAACU,IAAI,CAACgD,KAAK,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;EACH;EAEAC,QAAQA,CAAEjD,IAAY,EAAU;IAC9B,OAAO,IAAI,CAACV,IAAI,CAACiB,KAAK,CAAC,IAAI,CAACjB,IAAI,CAAC2D,QAAQ,CAACjD,IAAI,CAAC,CAAC;EAClD;EAEAkD,OAAOA,CAAElD,IAAY,EAAEmC,GAAW,EAAU;IAC1C,OAAO,IAAI,CAAC7C,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAAC4D,OAAO,CAAC,IAAI,CAAC5D,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EAAGmC,GAAG,CAC9C,CAAC;EACH;EAEAgB,QAAQA,CAAEnD,IAAY,EAAEoD,KAAa,EAAU;IAC7C,OAAO,IAAI,CAAC9D,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAAC6D,QAAQ,CAAC,IAAI,CAAC7D,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EAAGoD,KAAK,CACjD,CAAC;EACH;EAEAC,UAAUA,CAAErD,IAAY,EAAEsD,OAAe,EAAU;IACjD,OAAO,IAAI,CAAChE,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAAC+D,UAAU,CAAC,IAAI,CAAC/D,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EAAGsD,OAAO,CACrD,CAAC;EACH;EAEAC,QAAQA,CAAEvD,IAAY,EAAEwD,KAAa,EAAU;IAC7C,OAAO,IAAI,CAAClE,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAACiE,QAAQ,CAAC,IAAI,CAACjE,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EAAGwD,KAAK,CACjD,CAAC;EACH;EAEAC,OAAOA,CAAEzD,IAAY,EAAE0D,IAAY,EAAU;IAC3C,OAAO,IAAI,CAACpE,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAACmE,OAAO,CAAC,IAAI,CAACnE,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EAAG0D,IAAI,CAC/C,CAAC;EACH;EAEAC,UAAUA,CAAE3D,IAAY,EAAU;IAChC,OAAO,IAAI,CAACV,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAACqE,UAAU,CAAC,IAAI,CAACrE,IAAI,CAACU,IAAI,CAACA,IAAI,CAAE,CAC5C,CAAC;EACH;EAEA4D,YAAYA,CAAE5D,IAAY,EAAU;IAClC,OAAO,IAAI,CAACV,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAACsE,YAAY,CAAC,IAAI,CAACtE,IAAI,CAACU,IAAI,CAACA,IAAI,CAAE,CAC9C,CAAC;EACH;EAEA6D,WAAWA,CAAE7D,IAAY,EAAE6B,cAAgC,EAAU;IACnE,OAAO,IAAI,CAACvC,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAACuE,WAAW,CAAC,IAAI,CAACvE,IAAI,CAACU,IAAI,CAACA,IAAI,CAAC,EAAG6B,cAAc,CAC7D,CAAC;EACH;EAEAiC,WAAWA,CAAE9D,IAAY,EAAU;IACjC,OAAO,IAAI,CAACV,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAACwE,WAAW,CAAC,IAAI,CAACxE,IAAI,CAACU,IAAI,CAACA,IAAI,CAAE,CAC7C,CAAC;EACH;EAEAO,KAAKA,CAAEP,IAAY,EAAU;IAC3B,OAAO,IAAI,CAACV,IAAI,CAACiB,KAAK,CACpB,IAAI,CAACjB,IAAI,CAACU,IAAI,CAACA,IAAI,CACrB,CAAC;EACH;EAEA+D,QAAQA,CAAEjD,KAAa,EAAQ;IAC7B,OAAO,IAAI,CAACxB,IAAI,CAACU,IAAI,CAACc,KAAK,CAAC;EAC9B;AACF","ignoreList":[]}
|
1
|
+
{"version":3,"file":"string.js","names":["VuetifyDateAdapter","StringDateAdapter","constructor","options","_this","base","locale","formats","Object","fromEntries","entries","map","_ref","k","v","date","_len","arguments","length","args","Array","_key","toISO","addDays","amount","addHours","addMinutes","addMonths","addWeeks","value","endOfDay","endOfMonth","endOfWeek","endOfYear","format","formatString","getDate","getDiff","comparing","unit","getHours","getMinutes","getMonth","getWeek","firstDayOfWeek","firstWeekMinSize","getNextMonth","getPreviousMonth","getWeekArray","week","day","getWeekdays","weekdayFormat","getYear","isAfter","isAfterDay","isBefore","isEqual","isSameDay","isSameMonth","isSameYear","isValid","isWithinRange","range","parseISO","setDate","setHours","hours","setMinutes","minutes","setMonth","month","setYear","year","startOfDay","startOfMonth","startOfWeek","startOfYear","toJsDate"],"sources":["../../../../src/composables/date/adapters/string.ts"],"sourcesContent":["// Composables\nimport { VuetifyDateAdapter } from '@/composables/date/adapters/vuetify'\n\n// Types\nimport type { DateAdapter } from '@/composables/date'\n\ntype CustomDateFormat = Intl.DateTimeFormatOptions | ((date: string, formatString: string, locale: string) => string)\n\nexport class StringDateAdapter implements DateAdapter<string> {\n base: VuetifyDateAdapter\n\n constructor (options: { locale: string, formats?: Record<string, CustomDateFormat> }) {\n this.base = new VuetifyDateAdapter({\n locale: options.locale,\n formats: options.formats && Object.fromEntries(\n Object.entries(options.formats).map(([k, v]) => {\n return [\n k,\n typeof v === 'function'\n ? (date, ...args) => v(this.base.toISO(date), ...args)\n : v,\n ]\n })\n ),\n })\n }\n\n addDays (date: string, amount: number): string {\n return this.base.toISO(\n this.base.addDays(this.base.date(date)!, amount)\n )\n }\n\n addHours (date: string, amount: number): string {\n return this.base.toISO(\n this.base.addHours(this.base.date(date)!, amount)\n )\n }\n\n addMinutes (date: string, amount: number): string {\n return this.base.toISO(\n this.base.addMinutes(this.base.date(date)!, amount)\n )\n }\n\n addMonths (date: string, amount: number): string {\n return this.base.toISO(\n this.base.addMonths(this.base.date(date)!, amount)\n )\n }\n\n addWeeks (date: string, amount: number): string {\n return this.base.toISO(\n this.base.addWeeks(this.base.date(date)!, amount)\n )\n }\n\n date (value?: any): string | null {\n return this.base.toISO(\n this.base.date(value)!\n )\n }\n\n endOfDay (date: string): string {\n return this.base.toISO(\n this.base.endOfDay(this.base.date(date)!)\n )\n }\n\n endOfMonth (date: string): string {\n return this.base.toISO(\n this.base.endOfMonth(this.base.date(date)!)\n )\n }\n\n endOfWeek (date: string): string {\n return this.base.toISO(\n this.base.endOfWeek(this.base.date(date)!)\n )\n }\n\n endOfYear (date: string): string {\n return this.base.toISO(\n this.base.endOfYear(this.base.date(date)!)\n )\n }\n\n format (date: string, formatString: string): string {\n return this.base.format(\n this.base.date(date)!,\n formatString\n )\n }\n\n getDate (date: string): number {\n return this.base.getDate(this.base.date(date)!)\n }\n\n getDiff (date: string, comparing: string, unit?: string): number {\n return this.base.getDiff(this.base.date(date)!, comparing, unit)\n }\n\n getHours (date: string): number {\n return this.base.getHours(this.base.date(date)!)\n }\n\n getMinutes (date: string): number {\n return this.base.getMinutes(this.base.date(date)!)\n }\n\n getMonth (date: string): number {\n return this.base.getMonth(this.base.date(date)!)\n }\n\n getWeek (date: string, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number {\n return this.base.getWeek(this.base.date(date)!, firstDayOfWeek, firstWeekMinSize)\n }\n\n getNextMonth (date: string): string {\n return this.base.toISO(\n this.base.getNextMonth(this.base.date(date)!)\n )\n }\n\n getPreviousMonth (date: string): string {\n return this.base.toISO(\n this.base.getPreviousMonth(this.base.date(date)!)\n )\n }\n\n getWeekArray (date: string, firstDayOfWeek?: number | string): string[][] {\n return this.base.getWeekArray(\n this.base.date(date)!,\n firstDayOfWeek,\n ).map(week => {\n return week.map(day => {\n return this.base.toISO(day)\n })\n })\n }\n\n getWeekdays (firstDayOfWeek?: number | string, weekdayFormat?: 'long' | 'short' | 'narrow'): string[] {\n return this.base.getWeekdays(firstDayOfWeek, weekdayFormat)\n }\n\n getYear (date: string): number {\n return this.base.getYear(this.base.date(date)!)\n }\n\n isAfter (date: string, comparing: string): boolean {\n return this.base.isAfter(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isAfterDay (date: string, comparing: string): boolean {\n return this.base.isAfterDay(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isBefore (date: string, comparing: string): boolean {\n return this.base.isBefore(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isEqual (date: string, comparing: string): boolean {\n return this.base.isEqual(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isSameDay (date: string, comparing: string): boolean {\n return this.base.isSameDay(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isSameMonth (date: string, comparing: string): boolean {\n return this.base.isSameMonth(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isSameYear (date: string, comparing: string): boolean {\n return this.base.isSameYear(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isValid (date: any): boolean {\n return this.base.isValid(date)\n }\n\n isWithinRange (date: string, range: [string, string]): boolean {\n return this.base.isWithinRange(\n this.base.date(date)!,\n [this.base.date(range[0])!, this.base.date(range[1])!],\n )\n }\n\n parseISO (date: string): string {\n return this.base.toISO(this.base.parseISO(date))\n }\n\n setDate (date: string, day: number): string {\n return this.base.toISO(\n this.base.setDate(this.base.date(date)!, day)\n )\n }\n\n setHours (date: string, hours: number): string {\n return this.base.toISO(\n this.base.setHours(this.base.date(date)!, hours)\n )\n }\n\n setMinutes (date: string, minutes: number): string {\n return this.base.toISO(\n this.base.setMinutes(this.base.date(date)!, minutes)\n )\n }\n\n setMonth (date: string, month: number): string {\n return this.base.toISO(\n this.base.setMonth(this.base.date(date)!, month)\n )\n }\n\n setYear (date: string, year: number): string {\n return this.base.toISO(\n this.base.setYear(this.base.date(date)!, year)\n )\n }\n\n startOfDay (date: string): string {\n return this.base.toISO(\n this.base.startOfDay(this.base.date(date)!)\n )\n }\n\n startOfMonth (date: string): string {\n return this.base.toISO(\n this.base.startOfMonth(this.base.date(date)!)\n )\n }\n\n startOfWeek (date: string, firstDayOfWeek?: number | string): string {\n return this.base.toISO(\n this.base.startOfWeek(this.base.date(date)!, firstDayOfWeek)\n )\n }\n\n startOfYear (date: string): string {\n return this.base.toISO(\n this.base.startOfYear(this.base.date(date)!)\n )\n }\n\n toISO (date: string): string {\n return this.base.toISO(\n this.base.date(date)!\n )\n }\n\n toJsDate (value: string): Date {\n return this.base.date(value)!\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -40,7 +40,7 @@ export declare class VuetifyDateAdapter implements DateAdapter<Date> {
|
|
40
40
|
getWeekdays(firstDayOfWeek?: number | string, weekdayFormat?: 'long' | 'short' | 'narrow'): string[];
|
41
41
|
getYear(date: Date): number;
|
42
42
|
getMonth(date: Date): number;
|
43
|
-
getWeek(date: Date, firstDayOfWeek?: number | string,
|
43
|
+
getWeek(date: Date, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number;
|
44
44
|
getDate(date: Date): number;
|
45
45
|
getNextMonth(date: Date): Date;
|
46
46
|
getPreviousMonth(date: Date): Date;
|
@@ -403,35 +403,16 @@ function getYear(date) {
|
|
403
403
|
function getMonth(date) {
|
404
404
|
return date.getMonth();
|
405
405
|
}
|
406
|
-
function getWeek(date, locale, firstDayOfWeek,
|
406
|
+
function getWeek(date, locale, firstDayOfWeek, firstWeekMinSize) {
|
407
407
|
const weekInfoFromLocale = weekInfo(locale);
|
408
408
|
const weekStart = firstDayOfWeek ?? weekInfoFromLocale?.firstDay ?? 0;
|
409
|
-
const minWeekSize = weekInfoFromLocale?.firstWeekSize ?? 1;
|
410
|
-
return firstDayOfYear !== undefined ? calculateWeekWithFirstDayOfYear(date, locale, weekStart, firstDayOfYear) : calculateWeekWithMinWeekSize(date, locale, weekStart, minWeekSize);
|
411
|
-
}
|
412
|
-
function calculateWeekWithFirstDayOfYear(date, locale, weekStart, firstDayOfYear) {
|
413
|
-
const firstDayOfYearOffset = (7 + firstDayOfYear - weekStart) % 7;
|
414
|
-
const currentWeekStart = startOfWeek(date, locale, weekStart);
|
415
|
-
const currentWeekEnd = addDays(currentWeekStart, 6);
|
416
|
-
function yearStartWeekdayOffset(year) {
|
417
|
-
return (7 + new Date(year, 0, 1).getDay() - weekStart) % 7;
|
418
|
-
}
|
419
|
-
let year = getYear(date);
|
420
|
-
if (year < getYear(currentWeekEnd) && yearStartWeekdayOffset(year + 1) <= firstDayOfYearOffset) {
|
421
|
-
year++;
|
422
|
-
}
|
423
|
-
const yearStart = new Date(year, 0, 1);
|
424
|
-
const offset = yearStartWeekdayOffset(year);
|
425
|
-
const d1w1 = offset <= firstDayOfYearOffset ? addDays(yearStart, -offset) : addDays(yearStart, 7 - offset);
|
426
|
-
return 1 + getDiff(endOfDay(date), startOfDay(d1w1), 'weeks');
|
427
|
-
}
|
428
|
-
function calculateWeekWithMinWeekSize(date, locale, weekStart, minWeekSize) {
|
429
|
-
const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6);
|
409
|
+
const minWeekSize = firstWeekMinSize ?? weekInfoFromLocale?.firstWeekSize ?? 1;
|
430
410
|
function firstWeekSize(year) {
|
431
411
|
const yearStart = new Date(year, 0, 1);
|
432
412
|
return 7 - getDiff(yearStart, startOfWeek(yearStart, locale, weekStart), 'days');
|
433
413
|
}
|
434
414
|
let year = getYear(date);
|
415
|
+
const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6);
|
435
416
|
if (year < getYear(currentWeekEnd) && firstWeekSize(year + 1) >= minWeekSize) {
|
436
417
|
year++;
|
437
418
|
}
|
@@ -653,10 +634,9 @@ export class VuetifyDateAdapter {
|
|
653
634
|
getMonth(date) {
|
654
635
|
return getMonth(date);
|
655
636
|
}
|
656
|
-
getWeek(date, firstDayOfWeek,
|
637
|
+
getWeek(date, firstDayOfWeek, firstWeekMinSize) {
|
657
638
|
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
658
|
-
|
659
|
-
return getWeek(date, this.locale, firstDay, firstWeekStart);
|
639
|
+
return getWeek(date, this.locale, firstDay, firstWeekMinSize);
|
660
640
|
}
|
661
641
|
getDate(date) {
|
662
642
|
return getDate(date);
|