vuetify 3.3.16 → 3.3.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +1249 -1257
- package/dist/json/importMap.json +4 -4
- package/dist/json/tags.json +9 -6
- package/dist/json/web-types.json +1728 -1696
- package/dist/vuetify-labs.css +166 -132
- package/dist/vuetify-labs.d.ts +1425 -1341
- package/dist/vuetify-labs.esm.js +93 -59
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +93 -59
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +98 -99
- package/dist/vuetify.d.ts +2 -2
- package/dist/vuetify.esm.js +34 -27
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +34 -27
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +15 -12
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/md3.mjs +3 -0
- package/lib/blueprints/md3.mjs.map +1 -1
- package/lib/components/VApp/VApp.mjs +1 -2
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -2
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.css +0 -1
- package/lib/components/VSelectionControl/VSelectionControl.sass +0 -1
- package/lib/components/VSlider/VSlider.mjs +2 -2
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.mjs +4 -4
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/index.d.mts +1 -1
- package/lib/components/index.d.mts +1 -1
- package/lib/composables/color.mjs +7 -4
- package/lib/composables/color.mjs.map +1 -1
- package/lib/composables/layout.mjs +1 -1
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/theme.mjs +0 -11
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +1 -1
- package/lib/labs/VBottomSheet/VBottomSheet.mjs +1 -1
- package/lib/labs/VBottomSheet/VBottomSheet.mjs.map +1 -1
- package/lib/labs/VBottomSheet/index.d.mts +3 -11
- package/lib/labs/VDataTable/composables/select.mjs +1 -1
- package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
- package/lib/labs/VDatePicker/VDatePicker.mjs +16 -6
- package/lib/labs/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/labs/VDatePicker/VDatePickerControls.css +29 -2
- package/lib/labs/VDatePicker/VDatePickerControls.mjs +18 -17
- package/lib/labs/VDatePicker/VDatePickerControls.mjs.map +1 -1
- package/lib/labs/VDatePicker/VDatePickerControls.sass +30 -2
- package/lib/labs/VDatePicker/VDatePickerHeader.css +10 -1
- package/lib/labs/VDatePicker/VDatePickerHeader.mjs +12 -4
- package/lib/labs/VDatePicker/VDatePickerHeader.mjs.map +1 -1
- package/lib/labs/VDatePicker/VDatePickerHeader.sass +11 -1
- package/lib/labs/VDatePicker/VDatePickerMonth.mjs +1 -2
- package/lib/labs/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/labs/VDatePicker/VDatePickerYears.mjs +1 -1
- package/lib/labs/VDatePicker/VDatePickerYears.mjs.map +1 -1
- package/lib/labs/VDatePicker/index.d.mts +184 -101
- package/lib/labs/VDateRangePicker/index.d.mts +67 -61
- package/lib/labs/VPicker/VPicker.css +0 -1
- package/lib/labs/VPicker/VPicker.mjs +16 -5
- package/lib/labs/VPicker/VPicker.mjs.map +1 -1
- package/lib/labs/VPicker/VPicker.sass +1 -1
- package/lib/labs/VPicker/index.d.mts +47 -35
- package/lib/labs/components.d.mts +1425 -1341
- package/lib/labs/date/adapters/vuetify.mjs +5 -0
- package/lib/labs/date/adapters/vuetify.mjs.map +1 -1
- package/lib/locale/pl.mjs +14 -14
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/util/colorUtils.mjs +11 -0
- package/lib/util/colorUtils.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDatePickerControls.mjs","names":["VBtn","VSpacer","computed","genericComponent","propsFactory","useRender","makeVDatePickerControlsProps","displayDate","String","disabled","type","Boolean","Array","default","nextIcon","prevIcon","
|
|
1
|
+
{"version":3,"file":"VDatePickerControls.mjs","names":["VBtn","VSpacer","computed","genericComponent","propsFactory","useRender","makeVDatePickerControlsProps","displayDate","String","disabled","type","Boolean","Array","default","nextIcon","prevIcon","modeIcon","variant","viewMode","VDatePickerControls","name","props","emits","click:mode","click:prev","click:next","setup","_ref","emit","disableMode","isArray","includes","disablePrev","disableNext","onClickPrev","onClickNext","onClickMode","_createVNode","_Fragment","value"],"sources":["../../../src/labs/VDatePicker/VDatePickerControls.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerControls.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VSpacer } from '@/components/VGrid'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDatePickerControlsProps = propsFactory({\n displayDate: String,\n disabled: {\n type: [Boolean, String, Array] as PropType<boolean | string | string[]>,\n default: false,\n },\n nextIcon: {\n type: [String],\n default: '$next',\n },\n prevIcon: {\n type: [String],\n default: '$prev',\n },\n modeIcon: {\n type: [String],\n default: '$subgroup',\n },\n variant: {\n type: String,\n default: 'modern',\n },\n viewMode: {\n type: String as PropType<'month' | 'year'>,\n default: 'month',\n },\n}, 'VDatePickerControls')\n\nexport const VDatePickerControls = genericComponent()({\n name: 'VDatePickerControls',\n\n props: makeVDatePickerControlsProps(),\n\n emits: {\n 'click:mode': () => true,\n 'click:prev': () => true,\n 'click:next': () => true,\n },\n\n setup (props, { emit }) {\n const disableMode = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('mode')\n : !!props.disabled\n })\n const disablePrev = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('prev')\n : !!props.disabled\n })\n const disableNext = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('next')\n : !!props.disabled\n })\n\n function onClickPrev () {\n emit('click:prev')\n }\n\n function onClickNext () {\n emit('click:next')\n }\n\n function onClickMode () {\n emit('click:mode')\n }\n\n useRender(() => {\n const displayDate = (\n <div class=\"v-date-picker-controls__date\">{ props.displayDate }</div>\n )\n\n return (\n <div\n class={[\n 'v-date-picker-controls',\n `v-date-picker-controls--variant-${props.variant}`,\n ]}\n >\n { props.variant === 'modern' && (\n <>\n { displayDate }\n\n <VBtn\n key=\"mode-btn\"\n disabled={ disableMode.value }\n density=\"comfortable\"\n icon={ props.modeIcon }\n variant=\"text\"\n onClick={ onClickMode }\n />\n\n <VSpacer key=\"mode-spacer\" />\n </>\n )}\n\n <div\n key=\"month-buttons\"\n class=\"v-date-picker-controls__month\"\n >\n <VBtn\n disabled={ disablePrev.value }\n icon={ props.prevIcon }\n variant=\"text\"\n onClick={ onClickPrev }\n />\n\n { props.variant === 'classic' && displayDate }\n\n <VBtn\n disabled={ disableNext.value }\n icon={ props.nextIcon }\n variant=\"text\"\n onClick={ onClickNext }\n />\n </div>\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePickerControls = InstanceType<typeof VDatePickerControls>\n"],"mappings":"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"}
|
|
@@ -10,14 +10,42 @@
|
|
|
10
10
|
padding-bottom: 4px
|
|
11
11
|
padding-inline-end: 12px
|
|
12
12
|
|
|
13
|
+
&--variant-classic
|
|
14
|
+
padding-inline-start: 12px
|
|
15
|
+
|
|
16
|
+
&--variant-modern
|
|
17
|
+
.v-date-picker__title
|
|
18
|
+
&:not(:hover)
|
|
19
|
+
opacity: .7
|
|
20
|
+
|
|
21
|
+
.v-date-picker--month &
|
|
22
|
+
cursor: pointer
|
|
23
|
+
|
|
24
|
+
.v-date-picker--year &
|
|
25
|
+
opacity: 1
|
|
26
|
+
|
|
13
27
|
.v-btn:last-child
|
|
14
|
-
margin-
|
|
28
|
+
margin-inline-start: 4px
|
|
29
|
+
|
|
30
|
+
.v-date-picker--year &
|
|
31
|
+
> .v-btn
|
|
32
|
+
transform: rotate(180deg)
|
|
15
33
|
|
|
16
34
|
.v-date-picker-controls__date
|
|
17
|
-
margin-
|
|
35
|
+
margin-inline-end: 4px
|
|
36
|
+
|
|
37
|
+
.v-date-picker-controls--variant-classic &
|
|
38
|
+
margin: auto
|
|
39
|
+
text-align: center
|
|
18
40
|
|
|
19
41
|
.v-date-picker-controls__month
|
|
20
42
|
display: flex
|
|
21
43
|
|
|
22
44
|
@include tools.rtl()
|
|
23
45
|
flex-direction: row-reverse
|
|
46
|
+
|
|
47
|
+
.v-date-picker-controls--variant-classic &
|
|
48
|
+
flex: 1 0 auto
|
|
49
|
+
|
|
50
|
+
.v-date-picker__title
|
|
51
|
+
display: inline-block
|
|
@@ -19,12 +19,21 @@
|
|
|
19
19
|
|
|
20
20
|
.v-date-picker-header__content {
|
|
21
21
|
align-items: center;
|
|
22
|
-
display: flex;
|
|
22
|
+
display: inline-flex;
|
|
23
23
|
font-size: 32px;
|
|
24
24
|
line-height: 40px;
|
|
25
25
|
grid-area: content;
|
|
26
26
|
justify-content: space-between;
|
|
27
27
|
}
|
|
28
|
+
.v-date-picker-header--clickable .v-date-picker-header__content:not(:hover) {
|
|
29
|
+
opacity: 0.7;
|
|
30
|
+
}
|
|
31
|
+
.v-date-picker--month .v-date-picker-header__content {
|
|
32
|
+
opacity: 1;
|
|
33
|
+
}
|
|
34
|
+
.v-date-picker--year .v-date-picker-header__content {
|
|
35
|
+
cursor: pointer;
|
|
36
|
+
}
|
|
28
37
|
|
|
29
38
|
.date-picker-header-transition-enter-active,
|
|
30
39
|
.date-picker-header-reverse-transition-enter-active {
|
|
@@ -7,17 +7,19 @@ import { VBtn } from "../../components/VBtn/index.mjs";
|
|
|
7
7
|
import { VDefaultsProvider } from "../../components/VDefaultsProvider/index.mjs"; // Composables
|
|
8
8
|
import { useBackgroundColor } from "../../composables/color.mjs";
|
|
9
9
|
import { MaybeTransition } from "../../composables/transition.mjs"; // Utilities
|
|
10
|
-
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
10
|
+
import { EventProp, genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
11
11
|
export const makeVDatePickerHeaderProps = propsFactory({
|
|
12
12
|
appendIcon: String,
|
|
13
13
|
color: String,
|
|
14
14
|
header: String,
|
|
15
|
-
transition: String
|
|
15
|
+
transition: String,
|
|
16
|
+
onClick: EventProp()
|
|
16
17
|
}, 'VDatePickerHeader');
|
|
17
18
|
export const VDatePickerHeader = genericComponent()({
|
|
18
19
|
name: 'VDatePickerHeader',
|
|
19
20
|
props: makeVDatePickerHeaderProps(),
|
|
20
21
|
emits: {
|
|
22
|
+
click: () => true,
|
|
21
23
|
'click:append': () => true
|
|
22
24
|
},
|
|
23
25
|
setup(props, _ref) {
|
|
@@ -29,6 +31,9 @@ export const VDatePickerHeader = genericComponent()({
|
|
|
29
31
|
backgroundColorClasses,
|
|
30
32
|
backgroundColorStyles
|
|
31
33
|
} = useBackgroundColor(props, 'color');
|
|
34
|
+
function onClick() {
|
|
35
|
+
emit('click');
|
|
36
|
+
}
|
|
32
37
|
function onClickAppend() {
|
|
33
38
|
emit('click:append');
|
|
34
39
|
}
|
|
@@ -36,8 +41,11 @@ export const VDatePickerHeader = genericComponent()({
|
|
|
36
41
|
const hasContent = !!(slots.default || props.header);
|
|
37
42
|
const hasAppend = !!(slots.append || props.appendIcon);
|
|
38
43
|
return _createVNode("div", {
|
|
39
|
-
"class": ['v-date-picker-header',
|
|
40
|
-
|
|
44
|
+
"class": ['v-date-picker-header', {
|
|
45
|
+
'v-date-picker-header--clickable': !!props.onClick
|
|
46
|
+
}, backgroundColorClasses.value],
|
|
47
|
+
"style": backgroundColorStyles.value,
|
|
48
|
+
"onClick": onClick
|
|
41
49
|
}, [slots.prepend && _createVNode("div", {
|
|
42
50
|
"key": "prepend",
|
|
43
51
|
"class": "v-date-picker-header__prepend"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDatePickerHeader.mjs","names":["VBtn","VDefaultsProvider","useBackgroundColor","MaybeTransition","genericComponent","propsFactory","useRender","makeVDatePickerHeaderProps","appendIcon","String","color","header","transition","VDatePickerHeader","name","props","emits","click:append","setup","_ref","emit","slots","backgroundColorClasses","backgroundColorStyles","onClickAppend","hasContent","default","hasAppend","append","_createVNode","value","prepend","icon","variant"],"sources":["../../../src/labs/VDatePicker/VDatePickerHeader.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerHeader.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nexport type VDatePickerHeaderSlots = {\n prepend: never\n default: never\n append: never\n}\n\nexport const makeVDatePickerHeaderProps = propsFactory({\n appendIcon: String,\n color: String,\n header: String,\n transition: String,\n}, 'VDatePickerHeader')\n\nexport const VDatePickerHeader = genericComponent<VDatePickerHeaderSlots>()({\n name: 'VDatePickerHeader',\n\n props: makeVDatePickerHeaderProps(),\n\n emits: {\n 'click:append': () => true,\n },\n\n setup (props, { emit, slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n function onClickAppend () {\n emit('click:append')\n }\n\n useRender(() => {\n const hasContent = !!(slots.default || props.header)\n const hasAppend = !!(slots.append || props.appendIcon)\n\n return (\n <div\n class={[\n 'v-date-picker-header',\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n { slots.prepend && (\n <div key=\"prepend\" class=\"v-date-picker-header__prepend\">\n { slots.prepend() }\n </div>\n )}\n\n { hasContent && (\n <MaybeTransition key=\"content\" name={ props.transition }>\n <div key={ props.header } class=\"v-date-picker-header__content\">\n { slots.default?.() ?? props.header }\n </div>\n </MaybeTransition>\n )}\n\n { hasAppend && (\n <div class=\"v-date-picker-header__append\">\n { !slots.append ? (\n <VBtn\n key=\"append-btn\"\n icon={ props.appendIcon }\n variant=\"text\"\n onClick={ onClickAppend }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VBtn: {\n icon: props.appendIcon,\n variant: 'text',\n },\n }}\n >\n { slots.append?.() }\n </VDefaultsProvider>\n )}\n </div>\n )}\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePickerHeader = InstanceType<typeof VDatePickerHeader>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI;AAAA,SACJC,iBAAiB,wDAE1B;AAAA,SACSC,kBAAkB;AAAA,SAClBC,eAAe,4CAExB;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,
|
|
1
|
+
{"version":3,"file":"VDatePickerHeader.mjs","names":["VBtn","VDefaultsProvider","useBackgroundColor","MaybeTransition","EventProp","genericComponent","propsFactory","useRender","makeVDatePickerHeaderProps","appendIcon","String","color","header","transition","onClick","VDatePickerHeader","name","props","emits","click","click:append","setup","_ref","emit","slots","backgroundColorClasses","backgroundColorStyles","onClickAppend","hasContent","default","hasAppend","append","_createVNode","value","prepend","icon","variant"],"sources":["../../../src/labs/VDatePicker/VDatePickerHeader.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerHeader.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { EventProp, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nexport type VDatePickerHeaderSlots = {\n prepend: never\n default: never\n append: never\n}\n\nexport const makeVDatePickerHeaderProps = propsFactory({\n appendIcon: String,\n color: String,\n header: String,\n transition: String,\n onClick: EventProp<[MouseEvent]>(),\n}, 'VDatePickerHeader')\n\nexport const VDatePickerHeader = genericComponent<VDatePickerHeaderSlots>()({\n name: 'VDatePickerHeader',\n\n props: makeVDatePickerHeaderProps(),\n\n emits: {\n click: () => true,\n 'click:append': () => true,\n },\n\n setup (props, { emit, slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n function onClick () {\n emit('click')\n }\n\n function onClickAppend () {\n emit('click:append')\n }\n\n useRender(() => {\n const hasContent = !!(slots.default || props.header)\n const hasAppend = !!(slots.append || props.appendIcon)\n\n return (\n <div\n class={[\n 'v-date-picker-header',\n {\n 'v-date-picker-header--clickable': !!props.onClick,\n },\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n onClick={ onClick }\n >\n { slots.prepend && (\n <div key=\"prepend\" class=\"v-date-picker-header__prepend\">\n { slots.prepend() }\n </div>\n )}\n\n { hasContent && (\n <MaybeTransition key=\"content\" name={ props.transition }>\n <div key={ props.header } class=\"v-date-picker-header__content\">\n { slots.default?.() ?? props.header }\n </div>\n </MaybeTransition>\n )}\n\n { hasAppend && (\n <div class=\"v-date-picker-header__append\">\n { !slots.append ? (\n <VBtn\n key=\"append-btn\"\n icon={ props.appendIcon }\n variant=\"text\"\n onClick={ onClickAppend }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VBtn: {\n icon: props.appendIcon,\n variant: 'text',\n },\n }}\n >\n { slots.append?.() }\n </VDefaultsProvider>\n )}\n </div>\n )}\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePickerHeader = InstanceType<typeof VDatePickerHeader>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI;AAAA,SACJC,iBAAiB,wDAE1B;AAAA,SACSC,kBAAkB;AAAA,SAClBC,eAAe,4CAExB;AAAA,SACSC,SAAS,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAE7D;AAOA,OAAO,MAAMC,0BAA0B,GAAGF,YAAY,CAAC;EACrDG,UAAU,EAAEC,MAAM;EAClBC,KAAK,EAAED,MAAM;EACbE,MAAM,EAAEF,MAAM;EACdG,UAAU,EAAEH,MAAM;EAClBI,OAAO,EAAEV,SAAS;AACpB,CAAC,EAAE,mBAAmB,CAAC;AAEvB,OAAO,MAAMW,iBAAiB,GAAGV,gBAAgB,EAA0B,CAAC;EAC1EW,IAAI,EAAE,mBAAmB;EAEzBC,KAAK,EAAET,0BAA0B,EAAE;EAEnCU,KAAK,EAAE;IACLC,KAAK,EAAEA,CAAA,KAAM,IAAI;IACjB,cAAc,EAAEC,CAAA,KAAM;EACxB,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAM;MAAEG,sBAAsB;MAAEC;IAAsB,CAAC,GAAGxB,kBAAkB,CAACe,KAAK,EAAE,OAAO,CAAC;IAE5F,SAASH,OAAOA,CAAA,EAAI;MAClBS,IAAI,CAAC,OAAO,CAAC;IACf;IAEA,SAASI,aAAaA,CAAA,EAAI;MACxBJ,IAAI,CAAC,cAAc,CAAC;IACtB;IAEAhB,SAAS,CAAC,MAAM;MACd,MAAMqB,UAAU,GAAG,CAAC,EAAEJ,KAAK,CAACK,OAAO,IAAIZ,KAAK,CAACL,MAAM,CAAC;MACpD,MAAMkB,SAAS,GAAG,CAAC,EAAEN,KAAK,CAACO,MAAM,IAAId,KAAK,CAACR,UAAU,CAAC;MAEtD,OAAAuB,YAAA;QAAA,SAEW,CACL,sBAAsB,EACtB;UACE,iCAAiC,EAAE,CAAC,CAACf,KAAK,CAACH;QAC7C,CAAC,EACDW,sBAAsB,CAACQ,KAAK,CAC7B;QAAA,SACOP,qBAAqB,CAACO,KAAK;QAAA,WACzBnB;MAAO,IAEfU,KAAK,CAACU,OAAO,IAAAF,YAAA;QAAA,OACJ,SAAS;QAAA,SAAO;MAA+B,IACpDR,KAAK,CAACU,OAAO,EAAE,EAEpB,EAECN,UAAU,IAAAI,YAAA,CAAA7B,eAAA;QAAA,OACW,SAAS;QAAA,QAAQc,KAAK,CAACJ;MAAU;QAAAgB,OAAA,EAAAA,CAAA,MAAAG,YAAA;UAAA,OACzCf,KAAK,CAACL,MAAM;UAAA,SAAS;QAA+B,IAC3DY,KAAK,CAACK,OAAO,IAAI,IAAIZ,KAAK,CAACL,MAAM;MAAA,EAGxC,EAECkB,SAAS,IAAAE,YAAA;QAAA,SACE;MAA8B,IACrC,CAACR,KAAK,CAACO,MAAM,GAAAC,YAAA,CAAAhC,IAAA;QAAA,OAEP,YAAY;QAAA,QACTiB,KAAK,CAACR,UAAU;QAAA,WACf,MAAM;QAAA,WACJkB;MAAa,WAAAK,YAAA,CAAA/B,iBAAA;QAAA,OAInB,iBAAiB;QAAA,YACV,CAACgB,KAAK,CAACR,UAAU;QAAA,YAClB;UACRT,IAAI,EAAE;YACJmC,IAAI,EAAElB,KAAK,CAACR,UAAU;YACtB2B,OAAO,EAAE;UACX;QACF;MAAC;QAAAP,OAAA,EAAAA,CAAA,MAECL,KAAK,CAACO,MAAM,IAAI;MAAA,EAErB,EAEJ;IAGP,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|
|
@@ -18,12 +18,22 @@
|
|
|
18
18
|
|
|
19
19
|
.v-date-picker-header__content
|
|
20
20
|
align-items: center
|
|
21
|
-
display: flex
|
|
21
|
+
display: inline-flex
|
|
22
22
|
font-size: 32px
|
|
23
23
|
line-height: 40px
|
|
24
24
|
grid-area: content
|
|
25
25
|
justify-content: space-between
|
|
26
26
|
|
|
27
|
+
.v-date-picker-header--clickable &
|
|
28
|
+
&:not(:hover)
|
|
29
|
+
opacity: .7
|
|
30
|
+
|
|
31
|
+
.v-date-picker--month &
|
|
32
|
+
opacity: 1
|
|
33
|
+
|
|
34
|
+
.v-date-picker--year &
|
|
35
|
+
cursor: pointer
|
|
36
|
+
|
|
27
37
|
.date-picker-header-transition,
|
|
28
38
|
.date-picker-header-reverse-transition
|
|
29
39
|
&-enter-active
|
|
@@ -275,8 +275,7 @@ export const VDatePickerMonth = genericComponent()({
|
|
|
275
275
|
"key": "in-hover",
|
|
276
276
|
"class": "v-date-picker-month__day--hover"
|
|
277
277
|
}, null), (props.showAdjacentMonths || !item.isAdjacent) && _createVNode(VBtn, {
|
|
278
|
-
"
|
|
279
|
-
"color": color,
|
|
278
|
+
"color": !item.isToday || item.isSelected ? color : undefined,
|
|
280
279
|
"disabled": item.isDisabled,
|
|
281
280
|
"icon": true,
|
|
282
281
|
"ripple": false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDatePickerMonth.mjs","names":["VBtn","useDatePicker","useBackgroundColor","computed","ref","genericComponent","omit","propsFactory","getWeek","toIso","dateEmits","makeDateProps","useDate","makeVDatePickerMonthProps","color","String","showAdjacentMonths","Boolean","hideWeekdays","showWeek","hoverDate","multiple","side","type","min","Number","Date","max","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","adapter","isDragging","dragHandle","hasScrolled","month","displayDate","findClosestDate","dates","isSameDay","getDiff","startDate","endDate","distStart","Math","abs","distEnd","weeksInMonth","weeks","getWeekArray","value","days","flat","daysInMonth","length","lastDay","week","day","push","addDays","validDates","modelValue","filter","v","isRange","today","map","index","isDisabled","isAfter","isStart","isEnd","isAdjacent","isSameMonth","isSame","isoDate","formatted","format","year","getYear","getMonth","isWeekStart","isWeekEnd","isSelected","isToday","isHidden","inRange","isWithinRange","isHovered","inHover","localized","backgroundColorClasses","backgroundColorStyles","selectDate","newModel","slice","otherIndex","fn","find","d","closest","indexOf","undefined","i","isBefore","daysRef","findElement","el","dataset","vDate","parentElement","findDate","e","x","changedTouches","clientX","y","clientY","document","elementFromPoint","canDrag","handleMousedown","selected","modelIndex","findIndex","isEqual","window","addEventListener","handleTouchmove","passive","preventDefault","handleTouchend","over","cancelable","removeEventListener","end","_createVNode","_createTextVNode","getWeekdays","weekDay","item","variant","default"],"sources":["../../../src/labs/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { useDatePicker } from './composables'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, omit, propsFactory } from '@/util'\n\n// Types\nimport { getWeek, toIso } from '../date/date'\nimport { dateEmits, makeDateProps } from '../VDateInput/composables'\nimport { useDate } from '@/labs/date'\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n showAdjacentMonths: Boolean,\n hideWeekdays: Boolean,\n showWeek: Boolean,\n hoverDate: null,\n multiple: Boolean,\n side: {\n type: String,\n },\n min: [Number, String, Date],\n max: [Number, String, Date],\n\n ...omit(makeDateProps(), ['inputMode', 'viewMode']),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps({ color: 'surface-variant' }),\n\n emits: {\n ...omit(dateEmits, ['update:inputMode', 'update:viewMode']),\n 'update:hoverDate': (date: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const { isDragging, dragHandle, hasScrolled } = useDatePicker()\n\n const month = computed(() => props.displayDate)\n\n const findClosestDate = (date: any, dates: any[]) => {\n const { isSameDay, getDiff } = adapter\n const [startDate, endDate] = dates\n\n if (isSameDay(startDate, endDate)) {\n return getDiff(date, startDate, 'days') > 0 ? endDate : startDate\n }\n\n const distStart = Math.abs(getDiff(date, startDate))\n const distEnd = Math.abs(getDiff(date, endDate))\n\n return distStart < distEnd ? startDate : endDate\n }\n\n // const hoverRange = computed<[any, any] | null>(() => {\n // if (!props.hoverDate) return null\n\n // const closestDate = findClosestDate(props.hoverDate, props.modelValue)\n\n // if (!closestDate) return null\n\n // return adapter.isAfter(props.hoverDate, closestDate) ? [closestDate, props.hoverDate] : [props.hoverDate, closestDate]\n // })\n\n const weeksInMonth = computed(() => {\n const weeks = adapter.getWeekArray(month.value)\n\n const days = weeks.flat()\n\n // Make sure there's always 6 weeks in month (6 * 7 days)\n // But only do it if we're not hiding adjacent months?\n const daysInMonth = 6 * 7\n if (days.length < daysInMonth && props.showAdjacentMonths) {\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 const daysInMonth = computed(() => {\n const validDates = props.modelValue.filter(v => !!v)\n const isRange = validDates.length > 1\n\n const days = weeksInMonth.value.flat()\n const today = adapter.date()\n\n const startDate = validDates[0]\n const endDate = validDates[1]\n\n return days.map((date, index) => {\n const isDisabled = !!(\n (props.min && adapter.isAfter(props.min, date)) ||\n (props.max && adapter.isAfter(date, props.max))\n )\n const isStart = startDate && adapter.isSameDay(date, startDate)\n const isEnd = endDate && adapter.isSameDay(date, endDate)\n const isAdjacent = !adapter.isSameMonth(date, month.value)\n const isSame = validDates.length === 2 && adapter.isSameDay(startDate, endDate)\n\n return {\n date,\n isoDate: toIso(adapter, date),\n formatted: adapter.format(date, 'keyboardDate'),\n year: adapter.getYear(date),\n month: adapter.getMonth(date),\n isDisabled,\n isWeekStart: index % 7 === 0,\n isWeekEnd: index % 7 === 6,\n isSelected: isStart || isEnd,\n isStart,\n isEnd,\n isToday: adapter.isSameDay(date, today),\n isAdjacent,\n isHidden: isAdjacent && !props.showAdjacentMonths,\n inRange: isRange &&\n !isSame &&\n (isStart || isEnd || (validDates.length === 2 && adapter.isWithinRange(date, validDates as [any, any]))),\n // isHovered: props.hoverDate === date,\n // inHover: hoverRange.value && isWithinRange(date, hoverRange.value),\n isHovered: false,\n inHover: false,\n localized: adapter.format(date, 'dayOfMonth'),\n }\n })\n })\n\n const weeks = computed(() => {\n return weeksInMonth.value.map(week => {\n return getWeek(adapter, week[0])\n })\n })\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n function selectDate (date: any) {\n let newModel = props.modelValue.slice()\n\n if (props.multiple) {\n if (isDragging.value && dragHandle.value != null) {\n const otherIndex = (dragHandle.value + 1) % 2\n const fn = otherIndex === 0 ? 'isBefore' : 'isAfter'\n if (adapter[fn](date, newModel[otherIndex])) {\n newModel[dragHandle.value] = newModel[otherIndex]\n newModel[otherIndex] = date\n dragHandle.value = otherIndex\n } else {\n newModel[dragHandle.value] = date\n }\n } else {\n if (newModel.find(d => adapter.isSameDay(d, date))) {\n newModel = newModel.filter(v => !adapter.isSameDay(v, date))\n } else if (newModel.length === 2) {\n let index: number | undefined\n if (!props.side || adapter.isSameMonth(newModel[0], newModel[1])) {\n const closest = findClosestDate(date, newModel)\n index = newModel.indexOf(closest)\n } else {\n index = props.side === 'start' ? 0 : props.side === 'end' ? 1 : undefined\n }\n\n newModel = newModel.map((v, i) => i === index ? date : v)\n } else {\n if (newModel[0] && adapter.isBefore(newModel[0], date)) {\n newModel = [newModel[0], date]\n } else {\n newModel = [date, newModel[0]]\n }\n }\n }\n } else {\n newModel = [date]\n }\n\n emit('update:modelValue', newModel.filter(v => !!v))\n }\n\n const daysRef = ref()\n\n function findElement (el: HTMLElement | null): any {\n if (!el || el === daysRef.value) return null\n\n if ('vDate' in el.dataset) {\n return adapter.date(el.dataset.vDate)\n }\n\n return findElement(el.parentElement)\n }\n\n function findDate (e: MouseEvent | TouchEvent) {\n const x = 'changedTouches' in e ? e.changedTouches[0]?.clientX : e.clientX\n const y = 'changedTouches' in e ? e.changedTouches[0]?.clientY : e.clientY\n const el = document.elementFromPoint(x, y) as HTMLElement\n\n return findElement(el)\n }\n\n let canDrag = false\n function handleMousedown (e: MouseEvent | TouchEvent) {\n hasScrolled.value = false\n\n const selected = findDate(e)\n\n if (!selected) return\n\n const modelIndex = props.modelValue.findIndex(d => adapter.isEqual(d, selected))\n\n if (modelIndex >= 0) {\n canDrag = true\n dragHandle.value = modelIndex\n\n window.addEventListener('touchmove', handleTouchmove, { passive: false })\n window.addEventListener('mousemove', handleTouchmove, { passive: false })\n\n e.preventDefault()\n }\n\n window.addEventListener('touchend', handleTouchend, { passive: false })\n window.addEventListener('mouseup', handleTouchend, { passive: false })\n }\n\n function handleTouchmove (e: MouseEvent | TouchEvent) {\n if (!canDrag) return\n\n e.preventDefault()\n\n isDragging.value = true\n\n const over = findDate(e)\n\n if (!over) return\n\n selectDate(over)\n }\n\n function handleTouchend (e: MouseEvent | TouchEvent) {\n if (e.cancelable) e.preventDefault()\n\n window.removeEventListener('touchmove', handleTouchmove)\n window.removeEventListener('mousemove', handleTouchmove)\n window.removeEventListener('touchend', handleTouchend)\n window.removeEventListener('mouseup', handleTouchend)\n\n const end = findDate(e)\n\n if (!end) return\n\n if (!hasScrolled.value) {\n selectDate(end)\n }\n\n isDragging.value = false\n dragHandle.value = null\n canDrag = false\n }\n\n return () => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\"> </div>\n )}\n { weeks.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <div\n ref={ daysRef }\n class=\"v-date-picker-month__days\"\n onMousedown={ handleMousedown }\n onTouchstart={ handleMousedown }\n >\n { !props.hideWeekdays && adapter.getWeekdays().map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, index) => {\n const color = (item.isSelected || item.isToday)\n ? props.color\n : (item.isHovered || item.isDisabled)\n ? undefined\n : 'transparent'\n const variant = item.isDisabled\n ? 'text'\n : (item.isToday || item.isHovered) && !item.isSelected\n ? 'outlined'\n : 'flat'\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--start': item.isStart,\n 'v-date-picker-month__day--end': item.isEnd,\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--hovered': item.isHovered,\n },\n ]}\n data-v-date={ !item.isHidden && !item.isDisabled ? item.isoDate : undefined }\n >\n { item.inRange && (\n <div\n key=\"in-range\"\n class={[\n 'v-date-picker-month__day--range',\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n />\n )}\n\n { item.inHover && !item.isStart && !item.isEnd && !item.isHovered && !item.inRange && (\n <div\n key=\"in-hover\"\n class=\"v-date-picker-month__day--hover\"\n />\n )}\n\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n <VBtn\n active={ item.isSelected }\n color={ color }\n disabled={ item.isDisabled }\n icon\n ripple={ false } /* ripple not working correctly since we preventDefault in touchend */\n variant={ variant }\n >\n { item.localized }\n </VBtn>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VDatePickerMonth.mjs","names":["VBtn","useDatePicker","useBackgroundColor","computed","ref","genericComponent","omit","propsFactory","getWeek","toIso","dateEmits","makeDateProps","useDate","makeVDatePickerMonthProps","color","String","showAdjacentMonths","Boolean","hideWeekdays","showWeek","hoverDate","multiple","side","type","min","Number","Date","max","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","adapter","isDragging","dragHandle","hasScrolled","month","displayDate","findClosestDate","dates","isSameDay","getDiff","startDate","endDate","distStart","Math","abs","distEnd","weeksInMonth","weeks","getWeekArray","value","days","flat","daysInMonth","length","lastDay","week","day","push","addDays","validDates","modelValue","filter","v","isRange","today","map","index","isDisabled","isAfter","isStart","isEnd","isAdjacent","isSameMonth","isSame","isoDate","formatted","format","year","getYear","getMonth","isWeekStart","isWeekEnd","isSelected","isToday","isHidden","inRange","isWithinRange","isHovered","inHover","localized","backgroundColorClasses","backgroundColorStyles","selectDate","newModel","slice","otherIndex","fn","find","d","closest","indexOf","undefined","i","isBefore","daysRef","findElement","el","dataset","vDate","parentElement","findDate","e","x","changedTouches","clientX","y","clientY","document","elementFromPoint","canDrag","handleMousedown","selected","modelIndex","findIndex","isEqual","window","addEventListener","handleTouchmove","passive","preventDefault","handleTouchend","over","cancelable","removeEventListener","end","_createVNode","_createTextVNode","getWeekdays","weekDay","item","variant","default"],"sources":["../../../src/labs/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { useDatePicker } from './composables'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, omit, propsFactory } from '@/util'\n\n// Types\nimport { getWeek, toIso } from '../date/date'\nimport { dateEmits, makeDateProps } from '../VDateInput/composables'\nimport { useDate } from '@/labs/date'\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n showAdjacentMonths: Boolean,\n hideWeekdays: Boolean,\n showWeek: Boolean,\n hoverDate: null,\n multiple: Boolean,\n side: {\n type: String,\n },\n min: [Number, String, Date],\n max: [Number, String, Date],\n\n ...omit(makeDateProps(), ['inputMode', 'viewMode']),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps({ color: 'surface-variant' }),\n\n emits: {\n ...omit(dateEmits, ['update:inputMode', 'update:viewMode']),\n 'update:hoverDate': (date: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const { isDragging, dragHandle, hasScrolled } = useDatePicker()\n\n const month = computed(() => props.displayDate)\n\n const findClosestDate = (date: any, dates: any[]) => {\n const { isSameDay, getDiff } = adapter\n const [startDate, endDate] = dates\n\n if (isSameDay(startDate, endDate)) {\n return getDiff(date, startDate, 'days') > 0 ? endDate : startDate\n }\n\n const distStart = Math.abs(getDiff(date, startDate))\n const distEnd = Math.abs(getDiff(date, endDate))\n\n return distStart < distEnd ? startDate : endDate\n }\n\n // const hoverRange = computed<[any, any] | null>(() => {\n // if (!props.hoverDate) return null\n\n // const closestDate = findClosestDate(props.hoverDate, props.modelValue)\n\n // if (!closestDate) return null\n\n // return adapter.isAfter(props.hoverDate, closestDate) ? [closestDate, props.hoverDate] : [props.hoverDate, closestDate]\n // })\n\n const weeksInMonth = computed(() => {\n const weeks = adapter.getWeekArray(month.value)\n\n const days = weeks.flat()\n\n // Make sure there's always 6 weeks in month (6 * 7 days)\n // But only do it if we're not hiding adjacent months?\n const daysInMonth = 6 * 7\n if (days.length < daysInMonth && props.showAdjacentMonths) {\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 const daysInMonth = computed(() => {\n const validDates = props.modelValue.filter(v => !!v)\n const isRange = validDates.length > 1\n\n const days = weeksInMonth.value.flat()\n const today = adapter.date()\n\n const startDate = validDates[0]\n const endDate = validDates[1]\n\n return days.map((date, index) => {\n const isDisabled = !!(\n (props.min && adapter.isAfter(props.min, date)) ||\n (props.max && adapter.isAfter(date, props.max))\n )\n const isStart = startDate && adapter.isSameDay(date, startDate)\n const isEnd = endDate && adapter.isSameDay(date, endDate)\n const isAdjacent = !adapter.isSameMonth(date, month.value)\n const isSame = validDates.length === 2 && adapter.isSameDay(startDate, endDate)\n\n return {\n date,\n isoDate: toIso(adapter, date),\n formatted: adapter.format(date, 'keyboardDate'),\n year: adapter.getYear(date),\n month: adapter.getMonth(date),\n isDisabled,\n isWeekStart: index % 7 === 0,\n isWeekEnd: index % 7 === 6,\n isSelected: isStart || isEnd,\n isStart,\n isEnd,\n isToday: adapter.isSameDay(date, today),\n isAdjacent,\n isHidden: isAdjacent && !props.showAdjacentMonths,\n inRange: isRange &&\n !isSame &&\n (isStart || isEnd || (validDates.length === 2 && adapter.isWithinRange(date, validDates as [any, any]))),\n // isHovered: props.hoverDate === date,\n // inHover: hoverRange.value && isWithinRange(date, hoverRange.value),\n isHovered: false,\n inHover: false,\n localized: adapter.format(date, 'dayOfMonth'),\n }\n })\n })\n\n const weeks = computed(() => {\n return weeksInMonth.value.map(week => {\n return getWeek(adapter, week[0])\n })\n })\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n function selectDate (date: any) {\n let newModel = props.modelValue.slice()\n\n if (props.multiple) {\n if (isDragging.value && dragHandle.value != null) {\n const otherIndex = (dragHandle.value + 1) % 2\n const fn = otherIndex === 0 ? 'isBefore' : 'isAfter'\n if (adapter[fn](date, newModel[otherIndex])) {\n newModel[dragHandle.value] = newModel[otherIndex]\n newModel[otherIndex] = date\n dragHandle.value = otherIndex\n } else {\n newModel[dragHandle.value] = date\n }\n } else {\n if (newModel.find(d => adapter.isSameDay(d, date))) {\n newModel = newModel.filter(v => !adapter.isSameDay(v, date))\n } else if (newModel.length === 2) {\n let index: number | undefined\n if (!props.side || adapter.isSameMonth(newModel[0], newModel[1])) {\n const closest = findClosestDate(date, newModel)\n index = newModel.indexOf(closest)\n } else {\n index = props.side === 'start' ? 0 : props.side === 'end' ? 1 : undefined\n }\n\n newModel = newModel.map((v, i) => i === index ? date : v)\n } else {\n if (newModel[0] && adapter.isBefore(newModel[0], date)) {\n newModel = [newModel[0], date]\n } else {\n newModel = [date, newModel[0]]\n }\n }\n }\n } else {\n newModel = [date]\n }\n\n emit('update:modelValue', newModel.filter(v => !!v))\n }\n\n const daysRef = ref()\n\n function findElement (el: HTMLElement | null): any {\n if (!el || el === daysRef.value) return null\n\n if ('vDate' in el.dataset) {\n return adapter.date(el.dataset.vDate)\n }\n\n return findElement(el.parentElement)\n }\n\n function findDate (e: MouseEvent | TouchEvent) {\n const x = 'changedTouches' in e ? e.changedTouches[0]?.clientX : e.clientX\n const y = 'changedTouches' in e ? e.changedTouches[0]?.clientY : e.clientY\n const el = document.elementFromPoint(x, y) as HTMLElement\n\n return findElement(el)\n }\n\n let canDrag = false\n function handleMousedown (e: MouseEvent | TouchEvent) {\n hasScrolled.value = false\n\n const selected = findDate(e)\n\n if (!selected) return\n\n const modelIndex = props.modelValue.findIndex(d => adapter.isEqual(d, selected))\n\n if (modelIndex >= 0) {\n canDrag = true\n dragHandle.value = modelIndex\n\n window.addEventListener('touchmove', handleTouchmove, { passive: false })\n window.addEventListener('mousemove', handleTouchmove, { passive: false })\n\n e.preventDefault()\n }\n\n window.addEventListener('touchend', handleTouchend, { passive: false })\n window.addEventListener('mouseup', handleTouchend, { passive: false })\n }\n\n function handleTouchmove (e: MouseEvent | TouchEvent) {\n if (!canDrag) return\n\n e.preventDefault()\n\n isDragging.value = true\n\n const over = findDate(e)\n\n if (!over) return\n\n selectDate(over)\n }\n\n function handleTouchend (e: MouseEvent | TouchEvent) {\n if (e.cancelable) e.preventDefault()\n\n window.removeEventListener('touchmove', handleTouchmove)\n window.removeEventListener('mousemove', handleTouchmove)\n window.removeEventListener('touchend', handleTouchend)\n window.removeEventListener('mouseup', handleTouchend)\n\n const end = findDate(e)\n\n if (!end) return\n\n if (!hasScrolled.value) {\n selectDate(end)\n }\n\n isDragging.value = false\n dragHandle.value = null\n canDrag = false\n }\n\n return () => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\"> </div>\n )}\n { weeks.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <div\n ref={ daysRef }\n class=\"v-date-picker-month__days\"\n onMousedown={ handleMousedown }\n onTouchstart={ handleMousedown }\n >\n { !props.hideWeekdays && adapter.getWeekdays().map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, index) => {\n const color = (item.isSelected || item.isToday)\n ? props.color\n : (item.isHovered || item.isDisabled)\n ? undefined\n : 'transparent'\n const variant = item.isDisabled\n ? 'text'\n : (item.isToday || item.isHovered) && !item.isSelected\n ? 'outlined'\n : 'flat'\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--start': item.isStart,\n 'v-date-picker-month__day--end': item.isEnd,\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--hovered': item.isHovered,\n },\n ]}\n data-v-date={ !item.isHidden && !item.isDisabled ? item.isoDate : undefined }\n >\n { item.inRange && (\n <div\n key=\"in-range\"\n class={[\n 'v-date-picker-month__day--range',\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n />\n )}\n\n { item.inHover && !item.isStart && !item.isEnd && !item.isHovered && !item.inRange && (\n <div\n key=\"in-hover\"\n class=\"v-date-picker-month__day--hover\"\n />\n )}\n\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n <VBtn\n color={ (!item.isToday || item.isSelected) ? color : undefined }\n disabled={ item.isDisabled }\n icon\n ripple={ false } /* ripple not working correctly since we preventDefault in touchend */\n variant={ variant }\n >\n { item.localized }\n </VBtn>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ export const VDatePickerYears = genericComponent()({
|
|
|
30
30
|
const years = computed(() => {
|
|
31
31
|
const min = props.min ? adapter.date(props.min).getFullYear() : displayYear.value - 100;
|
|
32
32
|
const max = props.max ? adapter.date(props.max).getFullYear() : displayYear.value + 50;
|
|
33
|
-
return createRange(max - min, min);
|
|
33
|
+
return createRange(max - min + 1, min);
|
|
34
34
|
});
|
|
35
35
|
const yearRef = ref();
|
|
36
36
|
onMounted(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDatePickerYears.mjs","names":["VBtn","useDate","computed","onMounted","ref","convertToUnit","createRange","genericComponent","propsFactory","useRender","makeVDatePickerYearsProps","color","String","height","Number","displayDate","min","Date","max","VDatePickerYears","name","props","emits","date","click:mode","setup","_ref","emit","adapter","displayYear","getYear","years","getFullYear","value","yearRef","$el","scrollIntoView","block","_createVNode","map","year","onClick","setYear","undefined"],"sources":["../../../src/labs/VDatePicker/VDatePickerYears.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerYears.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { useDate } from '@/labs/date'\n\n// Utilities\nimport { computed, onMounted, ref } from 'vue'\nimport { convertToUnit, createRange, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVDatePickerYearsProps = propsFactory({\n color: String,\n height: [String, Number],\n displayDate: null,\n min: [Number, String, Date],\n max: [Number, String, Date],\n}, 'VDatePickerYears')\n\nexport const VDatePickerYears = genericComponent()({\n name: 'VDatePickerYears',\n\n props: makeVDatePickerYearsProps(),\n\n emits: {\n 'update:displayDate': (date: any) => true,\n 'click:mode': () => true,\n },\n\n setup (props, { emit }) {\n const adapter = useDate()\n const displayYear = computed(() => adapter.getYear(props.displayDate ?? new Date()))\n const years = computed(() => {\n const min = props.min ? adapter.date(props.min).getFullYear() : displayYear.value - 100\n const max = props.max ? adapter.date(props.max).getFullYear() : displayYear.value + 50\n\n return createRange(max - min, min)\n })\n\n const yearRef = ref<VBtn>()\n onMounted(() => {\n yearRef.value?.$el.scrollIntoView({ block: 'center' })\n })\n\n useRender(() => (\n <div\n class=\"v-date-picker-years\"\n style={{\n height: convertToUnit(props.height),\n }}\n >\n <div class=\"v-date-picker-years__content\">\n { years.value.map(year => {\n function onClick () {\n emit('update:displayDate', adapter.setYear(props.displayDate, year))\n emit('click:mode')\n }\n\n return (\n <VBtn\n ref={ year === displayYear.value ? yearRef : undefined }\n active={ year === displayYear.value }\n color={ year === displayYear.value ? props.color : undefined }\n rounded=\"xl\"\n text={ String(year) }\n variant={ year === displayYear.value ? 'flat' : 'text' }\n onClick={ onClick }\n />\n )\n })}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VDatePickerYears = InstanceType<typeof VDatePickerYears>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI,2CAEb;AAAA,SACSC,OAAO,6BAEhB;AACA,SAASC,QAAQ,EAAEC,SAAS,EAAEC,GAAG,QAAQ,KAAK;AAAA,SACrCC,aAAa,EAAEC,WAAW,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAE9E,OAAO,MAAMC,yBAAyB,GAAGF,YAAY,CAAC;EACpDG,KAAK,EAAEC,MAAM;EACbC,MAAM,EAAE,CAACD,MAAM,EAAEE,MAAM,CAAC;EACxBC,WAAW,EAAE,IAAI;EACjBC,GAAG,EAAE,CAACF,MAAM,EAAEF,MAAM,EAAEK,IAAI,CAAC;EAC3BC,GAAG,EAAE,CAACJ,MAAM,EAAEF,MAAM,EAAEK,IAAI;AAC5B,CAAC,EAAE,kBAAkB,CAAC;AAEtB,OAAO,MAAME,gBAAgB,GAAGZ,gBAAgB,EAAE,CAAC;EACjDa,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAEX,yBAAyB,EAAE;EAElCY,KAAK,EAAE;IACL,oBAAoB,EAAGC,IAAS,IAAK,IAAI;IACzC,YAAY,EAAEC,CAAA,KAAM;EACtB,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAY;IAAA,IAAV;MAAEC;IAAK,CAAC,GAAAD,IAAA;IACpB,MAAME,OAAO,GAAG3B,OAAO,EAAE;IACzB,MAAM4B,WAAW,GAAG3B,QAAQ,CAAC,MAAM0B,OAAO,CAACE,OAAO,CAACT,KAAK,CAACN,WAAW,IAAI,IAAIE,IAAI,EAAE,CAAC,CAAC;IACpF,MAAMc,KAAK,GAAG7B,QAAQ,CAAC,MAAM;MAC3B,MAAMc,GAAG,GAAGK,KAAK,CAACL,GAAG,GAAGY,OAAO,CAACL,IAAI,CAACF,KAAK,CAACL,GAAG,CAAC,CAACgB,WAAW,EAAE,GAAGH,WAAW,CAACI,KAAK,GAAG,GAAG;MACvF,MAAMf,GAAG,GAAGG,KAAK,CAACH,GAAG,GAAGU,OAAO,CAACL,IAAI,CAACF,KAAK,CAACH,GAAG,CAAC,CAACc,WAAW,EAAE,GAAGH,WAAW,CAACI,KAAK,GAAG,EAAE;MAEtF,OAAO3B,WAAW,CAACY,GAAG,GAAGF,GAAG,EAAEA,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"VDatePickerYears.mjs","names":["VBtn","useDate","computed","onMounted","ref","convertToUnit","createRange","genericComponent","propsFactory","useRender","makeVDatePickerYearsProps","color","String","height","Number","displayDate","min","Date","max","VDatePickerYears","name","props","emits","date","click:mode","setup","_ref","emit","adapter","displayYear","getYear","years","getFullYear","value","yearRef","$el","scrollIntoView","block","_createVNode","map","year","onClick","setYear","undefined"],"sources":["../../../src/labs/VDatePicker/VDatePickerYears.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerYears.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { useDate } from '@/labs/date'\n\n// Utilities\nimport { computed, onMounted, ref } from 'vue'\nimport { convertToUnit, createRange, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVDatePickerYearsProps = propsFactory({\n color: String,\n height: [String, Number],\n displayDate: null,\n min: [Number, String, Date],\n max: [Number, String, Date],\n}, 'VDatePickerYears')\n\nexport const VDatePickerYears = genericComponent()({\n name: 'VDatePickerYears',\n\n props: makeVDatePickerYearsProps(),\n\n emits: {\n 'update:displayDate': (date: any) => true,\n 'click:mode': () => true,\n },\n\n setup (props, { emit }) {\n const adapter = useDate()\n const displayYear = computed(() => adapter.getYear(props.displayDate ?? new Date()))\n const years = computed(() => {\n const min = props.min ? adapter.date(props.min).getFullYear() : displayYear.value - 100\n const max = props.max ? adapter.date(props.max).getFullYear() : displayYear.value + 50\n\n return createRange(max - min + 1, min)\n })\n\n const yearRef = ref<VBtn>()\n onMounted(() => {\n yearRef.value?.$el.scrollIntoView({ block: 'center' })\n })\n\n useRender(() => (\n <div\n class=\"v-date-picker-years\"\n style={{\n height: convertToUnit(props.height),\n }}\n >\n <div class=\"v-date-picker-years__content\">\n { years.value.map(year => {\n function onClick () {\n emit('update:displayDate', adapter.setYear(props.displayDate, year))\n emit('click:mode')\n }\n\n return (\n <VBtn\n ref={ year === displayYear.value ? yearRef : undefined }\n active={ year === displayYear.value }\n color={ year === displayYear.value ? props.color : undefined }\n rounded=\"xl\"\n text={ String(year) }\n variant={ year === displayYear.value ? 'flat' : 'text' }\n onClick={ onClick }\n />\n )\n })}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VDatePickerYears = InstanceType<typeof VDatePickerYears>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI,2CAEb;AAAA,SACSC,OAAO,6BAEhB;AACA,SAASC,QAAQ,EAAEC,SAAS,EAAEC,GAAG,QAAQ,KAAK;AAAA,SACrCC,aAAa,EAAEC,WAAW,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAE9E,OAAO,MAAMC,yBAAyB,GAAGF,YAAY,CAAC;EACpDG,KAAK,EAAEC,MAAM;EACbC,MAAM,EAAE,CAACD,MAAM,EAAEE,MAAM,CAAC;EACxBC,WAAW,EAAE,IAAI;EACjBC,GAAG,EAAE,CAACF,MAAM,EAAEF,MAAM,EAAEK,IAAI,CAAC;EAC3BC,GAAG,EAAE,CAACJ,MAAM,EAAEF,MAAM,EAAEK,IAAI;AAC5B,CAAC,EAAE,kBAAkB,CAAC;AAEtB,OAAO,MAAME,gBAAgB,GAAGZ,gBAAgB,EAAE,CAAC;EACjDa,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAEX,yBAAyB,EAAE;EAElCY,KAAK,EAAE;IACL,oBAAoB,EAAGC,IAAS,IAAK,IAAI;IACzC,YAAY,EAAEC,CAAA,KAAM;EACtB,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAY;IAAA,IAAV;MAAEC;IAAK,CAAC,GAAAD,IAAA;IACpB,MAAME,OAAO,GAAG3B,OAAO,EAAE;IACzB,MAAM4B,WAAW,GAAG3B,QAAQ,CAAC,MAAM0B,OAAO,CAACE,OAAO,CAACT,KAAK,CAACN,WAAW,IAAI,IAAIE,IAAI,EAAE,CAAC,CAAC;IACpF,MAAMc,KAAK,GAAG7B,QAAQ,CAAC,MAAM;MAC3B,MAAMc,GAAG,GAAGK,KAAK,CAACL,GAAG,GAAGY,OAAO,CAACL,IAAI,CAACF,KAAK,CAACL,GAAG,CAAC,CAACgB,WAAW,EAAE,GAAGH,WAAW,CAACI,KAAK,GAAG,GAAG;MACvF,MAAMf,GAAG,GAAGG,KAAK,CAACH,GAAG,GAAGU,OAAO,CAACL,IAAI,CAACF,KAAK,CAACH,GAAG,CAAC,CAACc,WAAW,EAAE,GAAGH,WAAW,CAACI,KAAK,GAAG,EAAE;MAEtF,OAAO3B,WAAW,CAACY,GAAG,GAAGF,GAAG,GAAG,CAAC,EAAEA,GAAG,CAAC;IACxC,CAAC,CAAC;IAEF,MAAMkB,OAAO,GAAG9B,GAAG,EAAQ;IAC3BD,SAAS,CAAC,MAAM;MACd+B,OAAO,CAACD,KAAK,EAAEE,GAAG,CAACC,cAAc,CAAC;QAAEC,KAAK,EAAE;MAAS,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF5B,SAAS,CAAC,MAAA6B,YAAA;MAAA,SAEA,qBAAqB;MAAA,SACpB;QACLzB,MAAM,EAAER,aAAa,CAACgB,KAAK,CAACR,MAAM;MACpC;IAAC,IAAAyB,YAAA;MAAA,SAEU;IAA8B,IACrCP,KAAK,CAACE,KAAK,CAACM,GAAG,CAACC,IAAI,IAAI;MACxB,SAASC,OAAOA,CAAA,EAAI;QAClBd,IAAI,CAAC,oBAAoB,EAAEC,OAAO,CAACc,OAAO,CAACrB,KAAK,CAACN,WAAW,EAAEyB,IAAI,CAAC,CAAC;QACpEb,IAAI,CAAC,YAAY,CAAC;MACpB;MAEA,OAAAW,YAAA,CAAAtC,IAAA;QAAA,OAEUwC,IAAI,KAAKX,WAAW,CAACI,KAAK,GAAGC,OAAO,GAAGS,SAAS;QAAA,UAC7CH,IAAI,KAAKX,WAAW,CAACI,KAAK;QAAA,SAC3BO,IAAI,KAAKX,WAAW,CAACI,KAAK,GAAGZ,KAAK,CAACV,KAAK,GAAGgC,SAAS;QAAA,WACpD,IAAI;QAAA,QACL/B,MAAM,CAAC4B,IAAI,CAAC;QAAA,WACTA,IAAI,KAAKX,WAAW,CAACI,KAAK,GAAG,MAAM,GAAG,MAAM;QAAA,WAC5CQ;MAAO;IAGvB,CAAC,CAAC,IAGP,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|