@vuetify/nightly 3.9.3-dev.2025-08-01 → 3.9.3-dev.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 +8 -3
- package/dist/json/attributes.json +3131 -3115
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +176 -176
- package/dist/json/tags.json +4 -0
- package/dist/json/web-types.json +5775 -5635
- package/dist/vuetify-labs.cjs +63 -21
- package/dist/vuetify-labs.css +4060 -4060
- package/dist/vuetify-labs.d.ts +156 -76
- package/dist/vuetify-labs.esm.js +63 -21
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +63 -21
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +63 -21
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3717 -3717
- package/dist/vuetify.d.ts +128 -76
- package/dist/vuetify.esm.js +63 -21
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +63 -21
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +298 -292
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.d.ts +3 -2
- package/lib/components/VDataIterator/VDataIterator.js +2 -1
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.d.ts +6 -4
- package/lib/components/VDataTable/VDataTable.js +1 -1
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTableRows.d.ts +14 -11
- package/lib/components/VDataTable/VDataTableRows.js +9 -0
- package/lib/components/VDataTable/VDataTableRows.js.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.d.ts +4 -2
- package/lib/components/VDataTable/VDataTableServer.js +1 -1
- package/lib/components/VDataTable/VDataTableServer.js.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.d.ts +4 -2
- 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 +13 -5
- package/lib/components/VDataTable/composables/group.js +11 -5
- 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 +7 -1
- package/lib/components/VDataTable/types.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.d.ts +25 -0
- package/lib/components/VDatePicker/VDatePickerMonth.d.ts +25 -0
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js +6 -4
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +2 -2
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/composables/calendar.d.ts +12 -0
- package/lib/composables/calendar.js +5 -1
- 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 +25 -5
- 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 +61 -61
- package/lib/framework.js +1 -1
- package/lib/labs/VCalendar/VCalendar.d.ts +25 -0
- package/lib/labs/VDateInput/VDateInput.d.ts +25 -0
- package/lib/labs/entry-bundler.d.ts +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VSkeletonLoader.js","names":["useBackgroundColor","makeDimensionProps","useDimension","makeElevationProps","useElevation","useLocale","makeThemeProps","provideTheme","computed","genericComponent","propsFactory","useRender","wrapInArray","rootTypes","actions","article","avatar","button","card","chip","divider","heading","image","ossein","paragraph","sentences","subtitle","table","text","genBone","type","children","arguments","length","undefined","_createElementVNode","_normalizeClass","genBones","bone","split","Array","from","map","genStructure","includes","mapBones","push","bones","replace","makeVSkeletonLoaderProps","boilerplate","Boolean","color","String","loading","loadingText","default","VSkeletonLoader","name","props","setup","_ref","slots","backgroundColorClasses","backgroundColorStyles","dimensionStyles","elevationClasses","themeClasses","t","items","join","isLoading","loadingProps","ariaLive","ariaLabel","role","_mergeProps","value"],"sources":["../../../src/components/VSkeletonLoader/VSkeletonLoader.tsx"],"sourcesContent":["// Styles\nimport './VSkeletonLoader.sass'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useLocale } from '@/composables/locale'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType, VNode } from 'vue'\n\ntype VSkeletonBone<T> = T | VSkeletonBone<T>[]\n\nexport type VSkeletonBones = VSkeletonBone<VNode>\nexport type VSkeletonLoaderType = keyof typeof rootTypes\n\nexport const rootTypes = {\n actions: 'button@2',\n article: 'heading, paragraph',\n avatar: 'avatar',\n button: 'button',\n card: 'image, heading',\n 'card-avatar': 'image, list-item-avatar',\n chip: 'chip',\n 'date-picker': 'list-item, heading, divider, date-picker-options, date-picker-days, actions',\n 'date-picker-options': 'text, avatar@2',\n 'date-picker-days': 'avatar@28',\n divider: 'divider',\n heading: 'heading',\n image: 'image',\n 'list-item': 'text',\n 'list-item-avatar': 'avatar, text',\n 'list-item-two-line': 'sentences',\n 'list-item-avatar-two-line': 'avatar, sentences',\n 'list-item-three-line': 'paragraph',\n 'list-item-avatar-three-line': 'avatar, paragraph',\n ossein: 'ossein',\n paragraph: 'text@3',\n sentences: 'text@2',\n subtitle: 'text',\n table: 'table-heading, table-thead, table-tbody, table-tfoot',\n 'table-heading': 'chip, text',\n 'table-thead': 'heading@6',\n 'table-tbody': 'table-row-divider@6',\n 'table-row-divider': 'table-row, divider',\n 'table-row': 'text@6',\n 'table-tfoot': 'text@2, avatar@2',\n text: 'text',\n} as const\n\nfunction genBone (type: string, children: VSkeletonBones = []) {\n return (\n <div\n class={[\n 'v-skeleton-loader__bone',\n `v-skeleton-loader__${type}`,\n ]}\n >\n { children }\n </div>\n )\n}\n\nfunction genBones (bone: string) {\n // e.g. 'text@3'\n const [type, length] = bone.split('@') as [VSkeletonLoaderType, number]\n\n // Generate a length array based upon\n // value after @ in the bone string\n return Array.from({ length }).map(() => genStructure(type))\n}\n\nfunction genStructure (type?: string): VSkeletonBones {\n let children: VSkeletonBones = []\n\n if (!type) return children\n\n // TODO: figure out a better way to type this\n const bone = (rootTypes as Record<string, string>)[type]\n\n // End of recursion, do nothing\n /* eslint-disable-next-line no-empty, brace-style */\n if (type === bone) {}\n // Array of values - e.g. 'heading, paragraph, text@2'\n else if (type.includes(',')) return mapBones(type)\n // Array of values - e.g. 'paragraph@4'\n else if (type.includes('@')) return genBones(type)\n // Array of values - e.g. 'card@2'\n else if (bone.includes(',')) children = mapBones(bone)\n // Array of values - e.g. 'list-item@2'\n else if (bone.includes('@')) children = genBones(bone)\n // Single value - e.g. 'card-heading'\n else if (bone) children.push(genStructure(bone))\n\n return [genBone(type, children)]\n}\n\nfunction mapBones (bones: string) {\n // Remove spaces and return array of structures\n return bones.replace(/\\s/g, '').split(',').map(genStructure)\n}\n\nexport const makeVSkeletonLoaderProps = propsFactory({\n boilerplate: Boolean,\n color: String,\n loading: Boolean,\n loadingText: {\n type: String,\n default: '$vuetify.loading',\n },\n type: {\n type: [String, Array] as PropType<\n | VSkeletonLoaderType | (string & {})\n | ReadonlyArray<VSkeletonLoaderType | (string & {})>\n >,\n default: 'ossein',\n },\n\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeThemeProps(),\n}, 'VSkeletonLoader')\n\nexport const VSkeletonLoader = genericComponent()({\n name: 'VSkeletonLoader',\n\n props: makeVSkeletonLoaderProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.color)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { themeClasses } = provideTheme(props)\n const { t } = useLocale()\n\n const items = computed(() => genStructure(wrapInArray(props.type).join(',')))\n\n useRender(() => {\n const isLoading = !slots.default || props.loading\n const loadingProps = (props.boilerplate || !isLoading) ? {} : {\n ariaLive: 'polite',\n ariaLabel: t(props.loadingText),\n role: 'alert',\n }\n\n return (\n <div\n class={[\n 'v-skeleton-loader',\n {\n 'v-skeleton-loader--boilerplate': props.boilerplate,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n elevationClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n isLoading ? dimensionStyles.value : {},\n ]}\n { ...loadingProps }\n >\n { isLoading ? items.value : slots.default?.() }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VSkeletonLoader = InstanceType<typeof VSkeletonLoader>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VSkeletonLoader.js","names":["useBackgroundColor","makeDimensionProps","useDimension","makeElevationProps","useElevation","useLocale","makeThemeProps","provideTheme","computed","genericComponent","propsFactory","useRender","wrapInArray","rootTypes","actions","article","avatar","button","card","chip","divider","heading","image","ossein","paragraph","sentences","subtitle","table","text","genBone","type","children","arguments","length","undefined","_createElementVNode","_normalizeClass","genBones","bone","split","Array","from","map","genStructure","includes","mapBones","push","bones","replace","makeVSkeletonLoaderProps","boilerplate","Boolean","color","String","loading","loadingText","default","VSkeletonLoader","name","inheritAttrs","props","setup","_ref","attrs","slots","backgroundColorClasses","backgroundColorStyles","dimensionStyles","elevationClasses","themeClasses","t","items","join","isLoading","loadingProps","ariaLive","ariaLabel","role","_Fragment","_mergeProps","value"],"sources":["../../../src/components/VSkeletonLoader/VSkeletonLoader.tsx"],"sourcesContent":["// Styles\nimport './VSkeletonLoader.sass'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useLocale } from '@/composables/locale'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType, VNode } from 'vue'\n\ntype VSkeletonBone<T> = T | VSkeletonBone<T>[]\n\nexport type VSkeletonBones = VSkeletonBone<VNode>\nexport type VSkeletonLoaderType = keyof typeof rootTypes\n\nexport const rootTypes = {\n actions: 'button@2',\n article: 'heading, paragraph',\n avatar: 'avatar',\n button: 'button',\n card: 'image, heading',\n 'card-avatar': 'image, list-item-avatar',\n chip: 'chip',\n 'date-picker': 'list-item, heading, divider, date-picker-options, date-picker-days, actions',\n 'date-picker-options': 'text, avatar@2',\n 'date-picker-days': 'avatar@28',\n divider: 'divider',\n heading: 'heading',\n image: 'image',\n 'list-item': 'text',\n 'list-item-avatar': 'avatar, text',\n 'list-item-two-line': 'sentences',\n 'list-item-avatar-two-line': 'avatar, sentences',\n 'list-item-three-line': 'paragraph',\n 'list-item-avatar-three-line': 'avatar, paragraph',\n ossein: 'ossein',\n paragraph: 'text@3',\n sentences: 'text@2',\n subtitle: 'text',\n table: 'table-heading, table-thead, table-tbody, table-tfoot',\n 'table-heading': 'chip, text',\n 'table-thead': 'heading@6',\n 'table-tbody': 'table-row-divider@6',\n 'table-row-divider': 'table-row, divider',\n 'table-row': 'text@6',\n 'table-tfoot': 'text@2, avatar@2',\n text: 'text',\n} as const\n\nfunction genBone (type: string, children: VSkeletonBones = []) {\n return (\n <div\n class={[\n 'v-skeleton-loader__bone',\n `v-skeleton-loader__${type}`,\n ]}\n >\n { children }\n </div>\n )\n}\n\nfunction genBones (bone: string) {\n // e.g. 'text@3'\n const [type, length] = bone.split('@') as [VSkeletonLoaderType, number]\n\n // Generate a length array based upon\n // value after @ in the bone string\n return Array.from({ length }).map(() => genStructure(type))\n}\n\nfunction genStructure (type?: string): VSkeletonBones {\n let children: VSkeletonBones = []\n\n if (!type) return children\n\n // TODO: figure out a better way to type this\n const bone = (rootTypes as Record<string, string>)[type]\n\n // End of recursion, do nothing\n /* eslint-disable-next-line no-empty, brace-style */\n if (type === bone) {}\n // Array of values - e.g. 'heading, paragraph, text@2'\n else if (type.includes(',')) return mapBones(type)\n // Array of values - e.g. 'paragraph@4'\n else if (type.includes('@')) return genBones(type)\n // Array of values - e.g. 'card@2'\n else if (bone.includes(',')) children = mapBones(bone)\n // Array of values - e.g. 'list-item@2'\n else if (bone.includes('@')) children = genBones(bone)\n // Single value - e.g. 'card-heading'\n else if (bone) children.push(genStructure(bone))\n\n return [genBone(type, children)]\n}\n\nfunction mapBones (bones: string) {\n // Remove spaces and return array of structures\n return bones.replace(/\\s/g, '').split(',').map(genStructure)\n}\n\nexport const makeVSkeletonLoaderProps = propsFactory({\n boilerplate: Boolean,\n color: String,\n loading: Boolean,\n loadingText: {\n type: String,\n default: '$vuetify.loading',\n },\n type: {\n type: [String, Array] as PropType<\n | VSkeletonLoaderType | (string & {})\n | ReadonlyArray<VSkeletonLoaderType | (string & {})>\n >,\n default: 'ossein',\n },\n\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeThemeProps(),\n}, 'VSkeletonLoader')\n\nexport const VSkeletonLoader = genericComponent()({\n name: 'VSkeletonLoader',\n\n inheritAttrs: false,\n\n props: makeVSkeletonLoaderProps(),\n\n setup (props, { attrs, slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.color)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { themeClasses } = provideTheme(props)\n const { t } = useLocale()\n\n const items = computed(() => genStructure(wrapInArray(props.type).join(',')))\n\n useRender(() => {\n const isLoading = !slots.default || props.loading\n const loadingProps = (props.boilerplate || !isLoading) ? {} : {\n ariaLive: 'polite',\n ariaLabel: t(props.loadingText),\n role: 'alert',\n }\n\n return (\n <>\n { isLoading\n ? (\n <div\n class={[\n 'v-skeleton-loader',\n {\n 'v-skeleton-loader--boilerplate': props.boilerplate,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n elevationClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n ]}\n { ...loadingProps }\n { ...attrs }\n >\n { items.value }\n </div>\n )\n : slots.default?.()\n }\n </>\n )\n })\n\n return {}\n },\n})\n\nexport type VSkeletonLoader = InstanceType<typeof VSkeletonLoader>\n"],"mappings":"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","ignoreList":[]}
|
@@ -11,7 +11,7 @@ import { makeTagProps } from "../../composables/tag.js";
|
|
11
11
|
import { makeThemeProps, provideTheme } from "../../composables/theme.js"; // Directives
|
12
12
|
import vTouch from "../../directives/touch/index.js"; // Utilities
|
13
13
|
import { computed, provide, ref, shallowRef, toRef, watch } from 'vue';
|
14
|
-
import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.js"; // Types
|
14
|
+
import { convertToUnit, genericComponent, PREFERS_REDUCED_MOTION, propsFactory, useRender } from "../../util/index.js"; // Types
|
15
15
|
export const VWindowSymbol = Symbol.for('vuetify:v-window');
|
16
16
|
export const VWindowGroupSymbol = Symbol.for('vuetify:v-window-group');
|
17
17
|
export const makeVWindowProps = propsFactory({
|
@@ -173,7 +173,7 @@ export const VWindow = genericComponent()({
|
|
173
173
|
'v-window--vertical-arrows': !!props.verticalArrows,
|
174
174
|
'v-window--crossfade': !!props.crossfade
|
175
175
|
}, themeClasses.value, props.class]),
|
176
|
-
"style": _normalizeStyle([props.style, props.transitionDuration ? {
|
176
|
+
"style": _normalizeStyle([props.style, props.transitionDuration && !PREFERS_REDUCED_MOTION ? {
|
177
177
|
'--v-window-transition-duration': convertToUnit(props.transitionDuration, 'ms')
|
178
178
|
} : undefined])
|
179
179
|
}, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VWindow.js","names":["VBtn","makeComponentProps","useGroup","useLocale","useRtl","makeTagProps","makeThemeProps","provideTheme","vTouch","computed","provide","ref","shallowRef","toRef","watch","convertToUnit","genericComponent","propsFactory","useRender","VWindowSymbol","Symbol","for","VWindowGroupSymbol","makeVWindowProps","continuous","Boolean","nextIcon","type","String","Function","Object","default","prevIcon","reverse","showArrows","validator","v","verticalArrows","touch","undefined","direction","modelValue","disabled","selectedClass","mandatory","crossfade","transitionDuration","Number","VWindow","name","directives","props","emits","value","setup","_ref","slots","themeClasses","isRtl","t","group","rootRef","isRtlReverse","isReversed","transition","axis","transitionCount","transitionHeight","activeIndex","items","findIndex","item","selected","includes","id","newVal","oldVal","itemsLength","length","lastIndex","canMoveBack","canMoveForward","prev","next","arrows","prevProps","icon","class","onClick","push","_createVNode","_createElementVNode","nextProps","touchOptions","options","left","right","start","_ref2","originalEvent","stopPropagation","_withDirectives","tag","_normalizeClass","_normalizeStyle","style","height","additional"],"sources":["../../../src/components/VWindow/VWindow.tsx"],"sourcesContent":["// Styles\nimport './VWindow.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useGroup } from '@/composables/group'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Directives\nimport vTouch from '@/directives/touch'\n\n// Utilities\nimport { computed, provide, ref, shallowRef, toRef, watch } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { GroupItemProvide, GroupProvide } from '@/composables/group'\nimport type { IconValue } from '@/composables/icons'\nimport type { TouchHandlers } from '@/directives/touch'\nimport type { GenericProps } from '@/util'\n\nexport type VWindowSlots = {\n default: { group: GroupProvide }\n additional: { group: GroupProvide }\n prev: { props: ControlProps }\n next: { props: ControlProps }\n}\n\ntype WindowProvide = {\n transition: ComputedRef<undefined | string>\n transitionCount: Ref<number>\n transitionHeight: Ref<undefined | string>\n isReversed: Ref<boolean>\n rootRef: Ref<HTMLElement | undefined>\n}\n\ntype ControlProps = {\n icon: IconValue\n class: string\n onClick: () => void\n 'aria-label': string\n}\n\nexport const VWindowSymbol: InjectionKey<WindowProvide> = Symbol.for('vuetify:v-window')\nexport const VWindowGroupSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-window-group')\n\nexport const makeVWindowProps = propsFactory({\n continuous: Boolean,\n nextIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => typeof v === 'boolean' || v === 'hover',\n },\n verticalArrows: [Boolean, String] as PropType<boolean | 'left' | 'right'>,\n touch: {\n type: [Object, Boolean] as PropType<boolean | TouchHandlers>,\n default: undefined,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n\n modelValue: null,\n disabled: Boolean,\n selectedClass: {\n type: String,\n default: 'v-window-item--active',\n },\n // TODO: mandatory should probably not be exposed but do this for now\n mandatory: {\n type: [Boolean, String] as PropType<boolean | 'force'>,\n default: 'force' as const,\n },\n crossfade: Boolean,\n transitionDuration: Number,\n\n ...makeComponentProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VWindow')\n\nexport const VWindow = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VWindowSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VWindow',\n\n directives: { vTouch },\n\n props: makeVWindowProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isRtl } = useRtl()\n const { t } = useLocale()\n\n const group = useGroup(props, VWindowGroupSymbol)\n\n const rootRef = ref()\n const isRtlReverse = computed(() => isRtl.value ? !props.reverse : props.reverse)\n const isReversed = shallowRef(false)\n const transition = computed(() => {\n if (props.crossfade) {\n return 'v-window-crossfade-transition'\n }\n\n const axis = props.direction === 'vertical' ? 'y' : 'x'\n const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n })\n const transitionCount = shallowRef(0)\n const transitionHeight = ref<undefined | string>(undefined)\n\n const activeIndex = computed(() => {\n return group.items.value.findIndex(item => group.selected.value.includes(item.id))\n })\n\n watch(activeIndex, (newVal, oldVal) => {\n const itemsLength = group.items.value.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) {\n isReversed.value = newVal < oldVal\n } else if (newVal === lastIndex && oldVal === 0) {\n isReversed.value = true\n } else if (newVal === 0 && oldVal === lastIndex) {\n isReversed.value = false\n } else {\n isReversed.value = newVal < oldVal\n }\n })\n\n provide(VWindowSymbol, {\n transition,\n isReversed,\n transitionCount,\n transitionHeight,\n rootRef,\n })\n\n const canMoveBack = toRef(() => props.continuous || activeIndex.value !== 0)\n const canMoveForward = toRef(() => props.continuous || activeIndex.value !== group.items.value.length - 1)\n\n function prev () {\n canMoveBack.value && group.prev()\n }\n\n function next () {\n canMoveForward.value && group.next()\n }\n\n const arrows = computed(() => {\n const arrows = []\n\n const prevProps = {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,\n onClick: group.prev,\n 'aria-label': t('$vuetify.carousel.prev'),\n }\n\n arrows.push(canMoveBack.value\n ? slots.prev\n ? slots.prev({ props: prevProps })\n : <VBtn { ...prevProps } />\n : <div />\n )\n\n const nextProps = {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,\n onClick: group.next,\n 'aria-label': t('$vuetify.carousel.next'),\n }\n\n arrows.push(canMoveForward.value\n ? slots.next\n ? slots.next({ props: nextProps })\n : <VBtn { ...nextProps } />\n : <div />\n )\n\n return arrows\n })\n\n const touchOptions = computed(() => {\n if (props.touch === false) return props.touch\n\n const options: TouchHandlers = {\n left: () => {\n isRtlReverse.value ? prev() : next()\n },\n right: () => {\n isRtlReverse.value ? next() : prev()\n },\n start: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n }\n\n return {\n ...options,\n ...(props.touch === true ? {} : props.touch),\n }\n })\n\n useRender(() => (\n <props.tag\n ref={ rootRef }\n class={[\n 'v-window',\n {\n 'v-window--show-arrows-on-hover': props.showArrows === 'hover',\n 'v-window--vertical-arrows': !!props.verticalArrows,\n 'v-window--crossfade': !!props.crossfade,\n },\n themeClasses.value,\n props.class,\n ]}\n style={[\n props.style,\n props.transitionDuration\n ? { '--v-window-transition-duration': convertToUnit(props.transitionDuration, 'ms') }\n : undefined,\n ]}\n v-touch={ touchOptions.value }\n >\n <div\n class=\"v-window__container\"\n style={{\n height: transitionHeight.value,\n }}\n >\n { slots.default?.({ group }) }\n\n { props.showArrows !== false && (\n <div\n class={[\n 'v-window__controls',\n { 'v-window__controls--left': props.verticalArrows === 'left' || props.verticalArrows === true },\n { 'v-window__controls--right': props.verticalArrows === 'right' },\n ]}\n >\n { arrows.value }\n </div>\n )}\n </div>\n\n { slots.additional?.({ group }) }\n </props.tag>\n ))\n\n return {\n group,\n }\n },\n})\n\nexport type VWindow = InstanceType<typeof VWindow>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VWindow.js","names":["VBtn","makeComponentProps","useGroup","useLocale","useRtl","makeTagProps","makeThemeProps","provideTheme","vTouch","computed","provide","ref","shallowRef","toRef","watch","convertToUnit","genericComponent","PREFERS_REDUCED_MOTION","propsFactory","useRender","VWindowSymbol","Symbol","for","VWindowGroupSymbol","makeVWindowProps","continuous","Boolean","nextIcon","type","String","Function","Object","default","prevIcon","reverse","showArrows","validator","v","verticalArrows","touch","undefined","direction","modelValue","disabled","selectedClass","mandatory","crossfade","transitionDuration","Number","VWindow","name","directives","props","emits","value","setup","_ref","slots","themeClasses","isRtl","t","group","rootRef","isRtlReverse","isReversed","transition","axis","transitionCount","transitionHeight","activeIndex","items","findIndex","item","selected","includes","id","newVal","oldVal","itemsLength","length","lastIndex","canMoveBack","canMoveForward","prev","next","arrows","prevProps","icon","class","onClick","push","_createVNode","_createElementVNode","nextProps","touchOptions","options","left","right","start","_ref2","originalEvent","stopPropagation","_withDirectives","tag","_normalizeClass","_normalizeStyle","style","height","additional"],"sources":["../../../src/components/VWindow/VWindow.tsx"],"sourcesContent":["// Styles\nimport './VWindow.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useGroup } from '@/composables/group'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Directives\nimport vTouch from '@/directives/touch'\n\n// Utilities\nimport { computed, provide, ref, shallowRef, toRef, watch } from 'vue'\nimport { convertToUnit, genericComponent, PREFERS_REDUCED_MOTION, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { GroupItemProvide, GroupProvide } from '@/composables/group'\nimport type { IconValue } from '@/composables/icons'\nimport type { TouchHandlers } from '@/directives/touch'\nimport type { GenericProps } from '@/util'\n\nexport type VWindowSlots = {\n default: { group: GroupProvide }\n additional: { group: GroupProvide }\n prev: { props: ControlProps }\n next: { props: ControlProps }\n}\n\ntype WindowProvide = {\n transition: ComputedRef<undefined | string>\n transitionCount: Ref<number>\n transitionHeight: Ref<undefined | string>\n isReversed: Ref<boolean>\n rootRef: Ref<HTMLElement | undefined>\n}\n\ntype ControlProps = {\n icon: IconValue\n class: string\n onClick: () => void\n 'aria-label': string\n}\n\nexport const VWindowSymbol: InjectionKey<WindowProvide> = Symbol.for('vuetify:v-window')\nexport const VWindowGroupSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-window-group')\n\nexport const makeVWindowProps = propsFactory({\n continuous: Boolean,\n nextIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => typeof v === 'boolean' || v === 'hover',\n },\n verticalArrows: [Boolean, String] as PropType<boolean | 'left' | 'right'>,\n touch: {\n type: [Object, Boolean] as PropType<boolean | TouchHandlers>,\n default: undefined,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n\n modelValue: null,\n disabled: Boolean,\n selectedClass: {\n type: String,\n default: 'v-window-item--active',\n },\n // TODO: mandatory should probably not be exposed but do this for now\n mandatory: {\n type: [Boolean, String] as PropType<boolean | 'force'>,\n default: 'force' as const,\n },\n crossfade: Boolean,\n transitionDuration: Number,\n\n ...makeComponentProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VWindow')\n\nexport const VWindow = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VWindowSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VWindow',\n\n directives: { vTouch },\n\n props: makeVWindowProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isRtl } = useRtl()\n const { t } = useLocale()\n\n const group = useGroup(props, VWindowGroupSymbol)\n\n const rootRef = ref()\n const isRtlReverse = computed(() => isRtl.value ? !props.reverse : props.reverse)\n const isReversed = shallowRef(false)\n const transition = computed(() => {\n if (props.crossfade) {\n return 'v-window-crossfade-transition'\n }\n\n const axis = props.direction === 'vertical' ? 'y' : 'x'\n const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n })\n const transitionCount = shallowRef(0)\n const transitionHeight = ref<undefined | string>(undefined)\n\n const activeIndex = computed(() => {\n return group.items.value.findIndex(item => group.selected.value.includes(item.id))\n })\n\n watch(activeIndex, (newVal, oldVal) => {\n const itemsLength = group.items.value.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) {\n isReversed.value = newVal < oldVal\n } else if (newVal === lastIndex && oldVal === 0) {\n isReversed.value = true\n } else if (newVal === 0 && oldVal === lastIndex) {\n isReversed.value = false\n } else {\n isReversed.value = newVal < oldVal\n }\n })\n\n provide(VWindowSymbol, {\n transition,\n isReversed,\n transitionCount,\n transitionHeight,\n rootRef,\n })\n\n const canMoveBack = toRef(() => props.continuous || activeIndex.value !== 0)\n const canMoveForward = toRef(() => props.continuous || activeIndex.value !== group.items.value.length - 1)\n\n function prev () {\n canMoveBack.value && group.prev()\n }\n\n function next () {\n canMoveForward.value && group.next()\n }\n\n const arrows = computed(() => {\n const arrows = []\n\n const prevProps = {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,\n onClick: group.prev,\n 'aria-label': t('$vuetify.carousel.prev'),\n }\n\n arrows.push(canMoveBack.value\n ? slots.prev\n ? slots.prev({ props: prevProps })\n : <VBtn { ...prevProps } />\n : <div />\n )\n\n const nextProps = {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,\n onClick: group.next,\n 'aria-label': t('$vuetify.carousel.next'),\n }\n\n arrows.push(canMoveForward.value\n ? slots.next\n ? slots.next({ props: nextProps })\n : <VBtn { ...nextProps } />\n : <div />\n )\n\n return arrows\n })\n\n const touchOptions = computed(() => {\n if (props.touch === false) return props.touch\n\n const options: TouchHandlers = {\n left: () => {\n isRtlReverse.value ? prev() : next()\n },\n right: () => {\n isRtlReverse.value ? next() : prev()\n },\n start: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n }\n\n return {\n ...options,\n ...(props.touch === true ? {} : props.touch),\n }\n })\n\n useRender(() => (\n <props.tag\n ref={ rootRef }\n class={[\n 'v-window',\n {\n 'v-window--show-arrows-on-hover': props.showArrows === 'hover',\n 'v-window--vertical-arrows': !!props.verticalArrows,\n 'v-window--crossfade': !!props.crossfade,\n },\n themeClasses.value,\n props.class,\n ]}\n style={[\n props.style,\n props.transitionDuration && !PREFERS_REDUCED_MOTION\n ? { '--v-window-transition-duration': convertToUnit(props.transitionDuration, 'ms') }\n : undefined,\n ]}\n v-touch={ touchOptions.value }\n >\n <div\n class=\"v-window__container\"\n style={{\n height: transitionHeight.value,\n }}\n >\n { slots.default?.({ group }) }\n\n { props.showArrows !== false && (\n <div\n class={[\n 'v-window__controls',\n { 'v-window__controls--left': props.verticalArrows === 'left' || props.verticalArrows === true },\n { 'v-window__controls--right': props.verticalArrows === 'right' },\n ]}\n >\n { arrows.value }\n </div>\n )}\n </div>\n\n { slots.additional?.({ group }) }\n </props.tag>\n ))\n\n return {\n group,\n }\n },\n})\n\nexport type VWindow = InstanceType<typeof VWindow>\n"],"mappings":"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","ignoreList":[]}
|
@@ -12,6 +12,7 @@ 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;
|
15
16
|
weekdayFormat: 'long' | 'short' | 'narrow' | undefined;
|
16
17
|
'onUpdate:modelValue': ((value: unknown[]) => void) | undefined;
|
17
18
|
'onUpdate:month': ((value: number) => void) | undefined;
|
@@ -49,6 +50,7 @@ export declare const makeCalendarProps: <Defaults extends {
|
|
49
50
|
weekdays?: unknown;
|
50
51
|
weeksInMonth?: unknown;
|
51
52
|
firstDayOfWeek?: unknown;
|
53
|
+
firstDayOfYear?: unknown;
|
52
54
|
weekdayFormat?: unknown;
|
53
55
|
} = {}>(defaults?: Defaults | undefined) => {
|
54
56
|
allowedDates: unknown extends Defaults["allowedDates"] ? PropType<unknown[] | ((date: unknown) => boolean)> : {
|
@@ -123,6 +125,16 @@ export declare const makeCalendarProps: <Defaults extends {
|
|
123
125
|
type: PropType<unknown extends Defaults["firstDayOfWeek"] ? string | number : string | number | Defaults["firstDayOfWeek"]>;
|
124
126
|
default: unknown extends Defaults["firstDayOfWeek"] ? string | number : NonNullable<string | number> | Defaults["firstDayOfWeek"];
|
125
127
|
};
|
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
|
+
};
|
126
138
|
weekdayFormat: unknown extends Defaults["weekdayFormat"] ? PropType<"long" | "short" | "narrow" | undefined> : {
|
127
139
|
type: PropType<unknown extends Defaults["weekdayFormat"] ? "long" | "short" | "narrow" | undefined : "long" | "short" | "narrow" | Defaults["weekdayFormat"] | undefined>;
|
128
140
|
default: unknown extends Defaults["weekdayFormat"] ? "long" | "short" | "narrow" | undefined : Defaults["weekdayFormat"] | NonNullable<"long" | "short" | "narrow" | undefined>;
|
@@ -30,6 +30,10 @@ 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
|
+
},
|
33
37
|
weekdayFormat: String
|
34
38
|
}, 'calendar');
|
35
39
|
export function useCalendar(props) {
|
@@ -121,7 +125,7 @@ export function useCalendar(props) {
|
|
121
125
|
});
|
122
126
|
const weekNumbers = computed(() => {
|
123
127
|
return weeksInMonth.value.map(week => {
|
124
|
-
return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek) : null;
|
128
|
+
return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek, props.firstDayOfYear) : null;
|
125
129
|
});
|
126
130
|
});
|
127
131
|
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","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":[]}
|
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":[]}
|
@@ -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, firstDayOfYear?: number | string): 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, firstDayOfYear?: number | string): 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, firstDayOfYear?: number | string): 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, firstDayOfYear) {
|
68
|
+
return this.base.getWeek(this.base.date(date), firstDayOfWeek, firstDayOfYear);
|
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","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":[]}
|
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":"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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, firstDayOfYear?: number | string): number;
|
44
44
|
getDate(date: Date): number;
|
45
45
|
getNextMonth(date: Date): Date;
|
46
46
|
getPreviousMonth(date: Date): Date;
|
@@ -403,16 +403,35 @@ 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, firstDayOfYear) {
|
407
407
|
const weekInfoFromLocale = weekInfo(locale);
|
408
408
|
const weekStart = firstDayOfWeek ?? weekInfoFromLocale?.firstDay ?? 0;
|
409
|
-
const minWeekSize =
|
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);
|
410
430
|
function firstWeekSize(year) {
|
411
431
|
const yearStart = new Date(year, 0, 1);
|
412
432
|
return 7 - getDiff(yearStart, startOfWeek(yearStart, locale, weekStart), 'days');
|
413
433
|
}
|
414
434
|
let year = getYear(date);
|
415
|
-
const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6);
|
416
435
|
if (year < getYear(currentWeekEnd) && firstWeekSize(year + 1) >= minWeekSize) {
|
417
436
|
year++;
|
418
437
|
}
|
@@ -634,9 +653,10 @@ export class VuetifyDateAdapter {
|
|
634
653
|
getMonth(date) {
|
635
654
|
return getMonth(date);
|
636
655
|
}
|
637
|
-
getWeek(date, firstDayOfWeek,
|
656
|
+
getWeek(date, firstDayOfWeek, firstDayOfYear) {
|
638
657
|
const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
|
639
|
-
|
658
|
+
const firstWeekStart = firstDayOfYear !== undefined ? Number(firstDayOfYear) : undefined;
|
659
|
+
return getWeek(date, this.locale, firstDay, firstWeekStart);
|
640
660
|
}
|
641
661
|
getDate(date) {
|
642
662
|
return getDate(date);
|