@vuetify/nightly 3.2.0-next-20230114.0 → 4.0.0-next-20230205.0
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 +203 -11
- package/dist/json/importMap-labs.json +8 -4
- package/dist/json/importMap.json +12 -12
- package/dist/vuetify-labs.css +173 -165
- package/dist/vuetify-labs.d.ts +399 -176
- package/dist/vuetify-labs.esm.js +362 -278
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +361 -277
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +53 -45
- package/dist/vuetify.d.ts +330 -179
- package/dist/vuetify.esm.js +329 -248
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +328 -247
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +700 -689
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.ts +2 -2
- package/lib/blueprints/md1.d.ts +2 -2
- package/lib/blueprints/md2.d.ts +2 -2
- package/lib/blueprints/md3.d.ts +2 -2
- package/lib/components/VAutocomplete/VAutocomplete.mjs +3 -2
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +43 -20
- package/lib/components/VBottomSheet/VBottomSheet.mjs +1 -4
- package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.css +7 -7
- package/lib/components/VBtn/VBtn.mjs +16 -5
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.mjs +15 -11
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnGroup/index.d.ts +2 -1
- package/lib/components/VBtnToggle/VBtnToggle.mjs +9 -5
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/index.d.ts +122 -1
- package/lib/components/VCalendar/VCalendar.mjs +3 -0
- package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarCategory.sass +9 -3
- package/lib/components/VCalendar/VCalendarDaily.mjs +20 -8
- package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarWeekly.mjs +25 -5
- package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.mjs +20 -16
- package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/mouse.mjs +16 -30
- package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
- package/lib/components/VCard/VCard.css +7 -7
- package/lib/components/VChip/VChip.css +7 -7
- package/lib/components/VCombobox/VCombobox.mjs +4 -4
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +43 -20
- package/lib/components/VData/VData.mjs +2 -4
- package/lib/components/VData/VData.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.mjs +7 -5
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/index.d.ts +5 -4
- package/lib/components/VDialog/VDialog.mjs +6 -5
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/index.d.ts +57 -34
- package/lib/components/VDivider/VDivider.mjs +6 -6
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.css +7 -7
- package/lib/components/VField/VField.css +2 -2
- package/lib/components/VField/VField.mjs +28 -26
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +2 -2
- package/lib/components/VFileInput/VFileInput.css +1 -0
- package/lib/components/VFileInput/VFileInput.mjs +7 -4
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.sass +1 -0
- package/lib/components/VForm/index.d.ts +0 -3
- package/lib/components/VList/VList.mjs +4 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +8 -8
- package/lib/components/VList/VListItem.mjs +29 -19
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +1 -1
- package/lib/components/VMenu/VMenu.mjs +6 -5
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.ts +57 -34
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +4 -0
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +4 -0
- package/lib/components/VNavigationDrawer/index.d.ts +3 -3
- package/lib/components/VNavigationDrawer/touch.mjs +7 -6
- package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.mjs +22 -46
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.mjs +3 -0
- package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.ts +34 -11
- package/lib/components/VOverlay/locationStrategies.mjs +40 -29
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/scrollStrategies.mjs +25 -16
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs +1 -1
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs +13 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/index.d.ts +18 -0
- package/lib/components/VSelect/VSelect.mjs +3 -4
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +43 -20
- package/lib/components/VSelectionControl/VSelectionControl.css +2 -2
- package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +1 -1
- package/lib/components/VSnackbar/index.d.ts +42 -19
- package/lib/components/VStepper/VStepper.sass +6 -6
- package/lib/components/VStepper/VStepperStep.mjs +12 -2
- package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
- package/lib/components/VTable/VTable.css +4 -4
- package/lib/components/VTable/VTable.sass +2 -2
- package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
- package/lib/components/VTimeline/_mixins.sass +1 -1
- package/lib/components/VTooltip/VTooltip.mjs +4 -3
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.ts +57 -34
- package/lib/components/VTreeview/VTreeview.mjs +1 -1
- package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/components/index.d.ts +328 -176
- package/lib/composables/defaults.mjs +1 -1
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/filter.mjs +3 -3
- package/lib/composables/filter.mjs.map +1 -1
- package/lib/composables/form.mjs +0 -1
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/toggleScope.mjs +14 -7
- package/lib/composables/toggleScope.mjs.map +1 -1
- package/lib/directives/ripple/VRipple.css +3 -0
- package/lib/directives/ripple/VRipple.sass +3 -0
- package/lib/directives/ripple/_variables.scss +1 -1
- package/lib/directives/ripple/index.mjs +2 -7
- package/lib/directives/ripple/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +5 -5
- package/lib/labs/VDataTable/VDataTable.mjs +6 -6
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.mjs +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +19 -12
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +6 -5
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/options.mjs +3 -7
- package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +71 -1
- package/lib/labs/VDataTable/index.mjs +1 -0
- package/lib/labs/VDataTable/index.mjs.map +1 -1
- package/lib/labs/components.d.ts +71 -1
- package/lib/locale/adapters/vue-i18n.mjs +12 -2
- package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
- package/lib/locale/ar.mjs +20 -20
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/en.mjs +2 -2
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs +3 -3
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/fi.mjs +5 -5
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/it.mjs +6 -6
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/sv.mjs +13 -13
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/styles/settings/_variables.scss +6 -6
- package/lib/styles/tools/_states.sass +3 -3
- package/lib/util/defineComponent.mjs +21 -18
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +5 -19
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VBtnGroup.mjs","names":["makeBorderProps","useBorder","makeDensityProps","useDensity","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","provideDefaults","
|
1
|
+
{"version":3,"file":"VBtnGroup.mjs","names":["makeBorderProps","useBorder","makeDensityProps","useDensity","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","provideDefaults","toRef","defineComponent","pick","propsFactory","useRender","makeVBtnGroupProps","divided","Boolean","VBtnGroup","name","props","setup","slots","themeClasses","densityClasses","borderClasses","elevationClasses","roundedClasses","VBtn","height","color","density","flat","variant","value","filterVBtnGroupProps","Object","keys"],"sources":["../../../src/components/VBtnGroup/VBtnGroup.tsx"],"sourcesContent":["// Styles\nimport './VBtnGroup.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utility\nimport { toRef } from 'vue'\nimport { defineComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ExtractPropTypes } from 'vue'\n\nexport const makeVBtnGroupProps = propsFactory({\n divided: Boolean,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps(),\n}, 'v-btn-group')\n\nexport const VBtnGroup = defineComponent({\n name: 'VBtnGroup',\n\n props: makeVBtnGroupProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n provideDefaults({\n VBtn: {\n height: 'auto',\n color: toRef(props, 'color'),\n density: toRef(props, 'density'),\n flat: true,\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-btn-group',\n {\n 'v-btn-group--divided': props.divided,\n },\n themeClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n v-slots={ slots }\n />\n )\n })\n },\n})\n\nexport type VBtnGroup = InstanceType<typeof VBtnGroup>\n\nexport function filterVBtnGroupProps (props: Partial<ExtractPropTypes<ReturnType<typeof makeVBtnGroupProps>>>) {\n return pick(props, Object.keys(VBtnGroup.props) as any)\n}\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,eAAe,EAAEC,SAAS;AAAA,SAC1BC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,gBAAgB;AAAA,SAChBC,eAAe,0CAExB;AACA,SAASC,KAAK,QAAQ,KAAK;AAAA,SAClBC,eAAe,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAEvD;AAGA,OAAO,MAAMC,kBAAkB,GAAGF,YAAY,CAAC;EAC7CG,OAAO,EAAEC,OAAO;EAEhB,GAAGpB,eAAe,EAAE;EACpB,GAAGE,gBAAgB,EAAE;EACrB,GAAGE,kBAAkB,EAAE;EACvB,GAAGE,gBAAgB,EAAE;EACrB,GAAGE,YAAY,EAAE;EACjB,GAAGC,cAAc,EAAE;EACnB,GAAGE,gBAAgB;AACrB,CAAC,EAAE,aAAa,CAAC;AAEjB,OAAO,MAAMU,SAAS,GAAGP,eAAe,CAAC;EACvCQ,IAAI,EAAE,WAAW;EAEjBC,KAAK,EAAEL,kBAAkB,EAAE;EAE3BM,KAAK,CAAED,KAAK,QAAa;IAAA,IAAX;MAAEE;IAAM,CAAC;IACrB,MAAM;MAAEC;IAAa,CAAC,GAAGhB,YAAY,CAACa,KAAK,CAAC;IAC5C,MAAM;MAAEI;IAAe,CAAC,GAAGxB,UAAU,CAACoB,KAAK,CAAC;IAC5C,MAAM;MAAEK;IAAc,CAAC,GAAG3B,SAAS,CAACsB,KAAK,CAAC;IAC1C,MAAM;MAAEM;IAAiB,CAAC,GAAGxB,YAAY,CAACkB,KAAK,CAAC;IAChD,MAAM;MAAEO;IAAe,CAAC,GAAGvB,UAAU,CAACgB,KAAK,CAAC;IAE5CX,eAAe,CAAC;MACdmB,IAAI,EAAE;QACJC,MAAM,EAAE,MAAM;QACdC,KAAK,EAAEpB,KAAK,CAACU,KAAK,EAAE,OAAO,CAAC;QAC5BW,OAAO,EAAErB,KAAK,CAACU,KAAK,EAAE,SAAS,CAAC;QAChCY,IAAI,EAAE,IAAI;QACVC,OAAO,EAAEvB,KAAK,CAACU,KAAK,EAAE,SAAS;MACjC;IACF,CAAC,CAAC;IAEFN,SAAS,CAAC,MAAM;MACd;QAAA,SAEW,CACL,aAAa,EACb;UACE,sBAAsB,EAAEM,KAAK,CAACJ;QAChC,CAAC,EACDO,YAAY,CAACW,KAAK,EAClBT,aAAa,CAACS,KAAK,EACnBV,cAAc,CAACU,KAAK,EACpBR,gBAAgB,CAACQ,KAAK,EACtBP,cAAc,CAACO,KAAK;MACrB,GACSZ,KAAK;IAGrB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC;AAIF,OAAO,SAASa,oBAAoB,CAAEf,KAAuE,EAAE;EAC7G,OAAOR,IAAI,CAACQ,KAAK,EAAEgB,MAAM,CAACC,IAAI,CAACnB,SAAS,CAACE,KAAK,CAAC,CAAQ;AACzD"}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import * as vue from 'vue';
|
2
|
+
import { ExtractPropTypes } from 'vue';
|
2
3
|
|
3
4
|
declare type Density = null | 'default' | 'comfortable' | 'compact';
|
4
5
|
|
@@ -29,7 +30,7 @@ declare const VBtnGroup: vue.DefineComponent<{
|
|
29
30
|
};
|
30
31
|
border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
31
32
|
divided: BooleanConstructor;
|
32
|
-
}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<
|
33
|
+
}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<ExtractPropTypes<{
|
33
34
|
color: StringConstructor;
|
34
35
|
variant: {
|
35
36
|
type: vue.PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
|
@@ -1,15 +1,18 @@
|
|
1
|
-
import { createVNode as _createVNode } from "vue";
|
1
|
+
import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
|
2
2
|
// Styles
|
3
3
|
import "./VBtnToggle.css";
|
4
4
|
|
5
5
|
// Components
|
6
|
-
import { VBtnGroup } from "../VBtnGroup/
|
6
|
+
import { filterVBtnGroupProps, makeVBtnGroupProps, VBtnGroup } from "../VBtnGroup/VBtnGroup.mjs"; // Composables
|
7
7
|
import { makeGroupProps, useGroup } from "../../composables/group.mjs"; // Utility
|
8
8
|
import { genericComponent, useRender } from "../../util/index.mjs"; // Types
|
9
9
|
export const VBtnToggleSymbol = Symbol.for('vuetify:v-btn-toggle');
|
10
10
|
export const VBtnToggle = genericComponent()({
|
11
11
|
name: 'VBtnToggle',
|
12
|
-
props:
|
12
|
+
props: {
|
13
|
+
...makeVBtnGroupProps(),
|
14
|
+
...makeGroupProps()
|
15
|
+
},
|
13
16
|
emits: {
|
14
17
|
'update:modelValue': value => true
|
15
18
|
},
|
@@ -26,9 +29,10 @@ export const VBtnToggle = genericComponent()({
|
|
26
29
|
} = useGroup(props, VBtnToggleSymbol);
|
27
30
|
useRender(() => {
|
28
31
|
var _slots$default;
|
29
|
-
|
32
|
+
const [btnGroupProps] = filterVBtnGroupProps(props);
|
33
|
+
return _createVNode(VBtnGroup, _mergeProps({
|
30
34
|
"class": "v-btn-toggle"
|
31
|
-
}, {
|
35
|
+
}, btnGroupProps), {
|
32
36
|
default: () => [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, {
|
33
37
|
isSelected,
|
34
38
|
next,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VBtnToggle.mjs","names":["VBtnGroup","makeGroupProps","useGroup","genericComponent","useRender","VBtnToggleSymbol","Symbol","for","VBtnToggle","name","props","emits","value","setup","slots","isSelected","next","prev","select","selected","default"],"sources":["../../../src/components/VBtnToggle/VBtnToggle.tsx"],"sourcesContent":["// Styles\nimport './VBtnToggle.sass'\n\n// Components\nimport { VBtnGroup } from '@/components/VBtnGroup'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\n\n// Utility\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey } from 'vue'\nimport type { SlotsToProps } from '@/util'\nimport type { GroupProvide } from '@/composables/group'\n\nexport type BtnToggleSlotProps = 'isSelected' | 'select' | 'selected' | 'next' | 'prev'\nexport interface DefaultBtnToggleSlot extends Pick<GroupProvide, BtnToggleSlotProps> {}\n\nexport const VBtnToggleSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-btn-toggle')\n\nexport const VBtnToggle = genericComponent<new <T>() => {\n $props: SlotsToProps<{\n default: [DefaultBtnToggleSlot]\n }>\n}>()({\n name: 'VBtnToggle',\n\n props: makeGroupProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { isSelected, next, prev, select, selected } = useGroup(props, VBtnToggleSymbol)\n\n useRender(() => (\n <VBtnGroup
|
1
|
+
{"version":3,"file":"VBtnToggle.mjs","names":["filterVBtnGroupProps","makeVBtnGroupProps","VBtnGroup","makeGroupProps","useGroup","genericComponent","useRender","VBtnToggleSymbol","Symbol","for","VBtnToggle","name","props","emits","value","setup","slots","isSelected","next","prev","select","selected","btnGroupProps","default"],"sources":["../../../src/components/VBtnToggle/VBtnToggle.tsx"],"sourcesContent":["// Styles\nimport './VBtnToggle.sass'\n\n// Components\nimport { filterVBtnGroupProps, makeVBtnGroupProps, VBtnGroup } from '@/components/VBtnGroup/VBtnGroup'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\n\n// Utility\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey } from 'vue'\nimport type { SlotsToProps } from '@/util'\nimport type { GroupProvide } from '@/composables/group'\n\nexport type BtnToggleSlotProps = 'isSelected' | 'select' | 'selected' | 'next' | 'prev'\nexport interface DefaultBtnToggleSlot extends Pick<GroupProvide, BtnToggleSlotProps> {}\n\nexport const VBtnToggleSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-btn-toggle')\n\nexport const VBtnToggle = genericComponent<new <T>() => {\n $props: SlotsToProps<{\n default: [DefaultBtnToggleSlot]\n }>\n}>()({\n name: 'VBtnToggle',\n\n props: {\n ...makeVBtnGroupProps(),\n ...makeGroupProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { isSelected, next, prev, select, selected } = useGroup(props, VBtnToggleSymbol)\n\n useRender(() => {\n const [btnGroupProps] = filterVBtnGroupProps(props)\n\n return (\n <VBtnGroup\n class=\"v-btn-toggle\"\n { ...btnGroupProps }\n >\n { slots.default?.({\n isSelected,\n next,\n prev,\n select,\n selected,\n } as DefaultBtnToggleSlot) }\n </VBtnGroup>\n )\n })\n\n return {\n next,\n prev,\n select,\n }\n },\n})\n\nexport type VBtnToggle = InstanceType<typeof VBtnToggle>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,oBAAoB,EAAEC,kBAAkB,EAAEC,SAAS,sCAE5D;AAAA,SACSC,cAAc,EAAEC,QAAQ,uCAEjC;AAAA,SACSC,gBAAgB,EAAEC,SAAS,gCAEpC;AAQA,OAAO,MAAMC,gBAA4C,GAAGC,MAAM,CAACC,GAAG,CAAC,sBAAsB,CAAC;AAE9F,OAAO,MAAMC,UAAU,GAAGL,gBAAgB,EAItC,CAAC;EACHM,IAAI,EAAE,YAAY;EAElBC,KAAK,EAAE;IACL,GAAGX,kBAAkB,EAAE;IACvB,GAAGE,cAAc;EACnB,CAAC;EAEDU,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAU,IAAK;EACvC,CAAC;EAEDC,KAAK,CAAEH,KAAK,QAAa;IAAA,IAAX;MAAEI;IAAM,CAAC;IACrB,MAAM;MAAEC,UAAU;MAAEC,IAAI;MAAEC,IAAI;MAAEC,MAAM;MAAEC;IAAS,CAAC,GAAGjB,QAAQ,CAACQ,KAAK,EAAEL,gBAAgB,CAAC;IAEtFD,SAAS,CAAC,MAAM;MAAA;MACd,MAAM,CAACgB,aAAa,CAAC,GAAGtB,oBAAoB,CAACY,KAAK,CAAC;MAEnD;QAAA,SAEU;MAAc,GACfU,aAAa;QAAA,kCAEhBN,KAAK,CAACO,OAAO,qBAAb,oBAAAP,KAAK,EAAW;UAChBC,UAAU;UACVC,IAAI;UACJC,IAAI;UACJC,MAAM;UACNC;QACF,CAAC,CAAyB;MAAA;IAGhC,CAAC,CAAC;IAEF,OAAO;MACLH,IAAI;MACJC,IAAI;MACJC;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
|
@@ -1,6 +1,8 @@
|
|
1
1
|
import * as vue from 'vue';
|
2
2
|
import { VNodeChild, ComponentInternalInstance, Ref, ComputedRef } from 'vue';
|
3
3
|
|
4
|
+
declare type Density = null | 'default' | 'comfortable' | 'compact';
|
5
|
+
|
4
6
|
declare type SlotsToProps<T extends Record<string, any>> = T extends Record<string, Slot> ? ({
|
5
7
|
$children?: (VNodeChild | (keyof T extends 'default' ? T['default'] : {}) | {
|
6
8
|
[K in keyof T]?: T[K];
|
@@ -49,7 +51,12 @@ declare const VBtnToggle: {
|
|
49
51
|
$props: Partial<{
|
50
52
|
disabled: boolean;
|
51
53
|
multiple: boolean;
|
54
|
+
tag: string;
|
55
|
+
rounded: string | number | boolean;
|
56
|
+
density: Density;
|
57
|
+
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
|
52
58
|
modelValue: any;
|
59
|
+
divided: boolean;
|
53
60
|
}> & Omit<Readonly<vue.ExtractPropTypes<Omit<{
|
54
61
|
modelValue: {
|
55
62
|
type: null;
|
@@ -60,9 +67,35 @@ declare const VBtnToggle: {
|
|
60
67
|
max: NumberConstructor;
|
61
68
|
selectedClass: StringConstructor;
|
62
69
|
disabled: BooleanConstructor;
|
70
|
+
color: StringConstructor;
|
71
|
+
variant: {
|
72
|
+
type: vue.PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
|
73
|
+
default: string;
|
74
|
+
validator: (v: any) => boolean;
|
75
|
+
};
|
76
|
+
theme: StringConstructor;
|
77
|
+
tag: {
|
78
|
+
type: StringConstructor;
|
79
|
+
default: string;
|
80
|
+
};
|
81
|
+
rounded: {
|
82
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
83
|
+
default: undefined;
|
84
|
+
};
|
85
|
+
elevation: {
|
86
|
+
type: (StringConstructor | NumberConstructor)[];
|
87
|
+
validator(v: any): boolean;
|
88
|
+
};
|
89
|
+
density: {
|
90
|
+
type: vue.PropType<Density>;
|
91
|
+
default: string;
|
92
|
+
validator: (v: any) => boolean;
|
93
|
+
};
|
94
|
+
border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
95
|
+
divided: BooleanConstructor;
|
63
96
|
}, "$children" | "v-slots" | "v-slot:default">>> & {
|
64
97
|
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
65
|
-
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "disabled" | "multiple" | "modelValue">;
|
98
|
+
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "disabled" | "multiple" | "tag" | "rounded" | "density" | "variant" | "modelValue" | "divided">;
|
66
99
|
$attrs: {
|
67
100
|
[x: string]: unknown;
|
68
101
|
};
|
@@ -86,6 +119,32 @@ declare const VBtnToggle: {
|
|
86
119
|
max: NumberConstructor;
|
87
120
|
selectedClass: StringConstructor;
|
88
121
|
disabled: BooleanConstructor;
|
122
|
+
color: StringConstructor;
|
123
|
+
variant: {
|
124
|
+
type: vue.PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
|
125
|
+
default: string;
|
126
|
+
validator: (v: any) => boolean;
|
127
|
+
};
|
128
|
+
theme: StringConstructor;
|
129
|
+
tag: {
|
130
|
+
type: StringConstructor;
|
131
|
+
default: string;
|
132
|
+
};
|
133
|
+
rounded: {
|
134
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
135
|
+
default: undefined;
|
136
|
+
};
|
137
|
+
elevation: {
|
138
|
+
type: (StringConstructor | NumberConstructor)[];
|
139
|
+
validator(v: any): boolean;
|
140
|
+
};
|
141
|
+
density: {
|
142
|
+
type: vue.PropType<Density>;
|
143
|
+
default: string;
|
144
|
+
validator: (v: any) => boolean;
|
145
|
+
};
|
146
|
+
border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
147
|
+
divided: BooleanConstructor;
|
89
148
|
}, "$children" | "v-slots" | "v-slot:default">>> & {
|
90
149
|
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
91
150
|
}, {
|
@@ -97,7 +156,12 @@ declare const VBtnToggle: {
|
|
97
156
|
}, "$children" | "v-slots" | "v-slot:default">, string, {
|
98
157
|
disabled: boolean;
|
99
158
|
multiple: boolean;
|
159
|
+
tag: string;
|
160
|
+
rounded: string | number | boolean;
|
161
|
+
density: Density;
|
162
|
+
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
|
100
163
|
modelValue: any;
|
164
|
+
divided: boolean;
|
101
165
|
}> & {
|
102
166
|
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
|
103
167
|
created?: ((() => void) | (() => void)[]) | undefined;
|
@@ -128,6 +192,32 @@ declare const VBtnToggle: {
|
|
128
192
|
max: NumberConstructor;
|
129
193
|
selectedClass: StringConstructor;
|
130
194
|
disabled: BooleanConstructor;
|
195
|
+
color: StringConstructor;
|
196
|
+
variant: {
|
197
|
+
type: vue.PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
|
198
|
+
default: string;
|
199
|
+
validator: (v: any) => boolean;
|
200
|
+
};
|
201
|
+
theme: StringConstructor;
|
202
|
+
tag: {
|
203
|
+
type: StringConstructor;
|
204
|
+
default: string;
|
205
|
+
};
|
206
|
+
rounded: {
|
207
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
208
|
+
default: undefined;
|
209
|
+
};
|
210
|
+
elevation: {
|
211
|
+
type: (StringConstructor | NumberConstructor)[];
|
212
|
+
validator(v: any): boolean;
|
213
|
+
};
|
214
|
+
density: {
|
215
|
+
type: vue.PropType<Density>;
|
216
|
+
default: string;
|
217
|
+
validator: (v: any) => boolean;
|
218
|
+
};
|
219
|
+
border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
220
|
+
divided: BooleanConstructor;
|
131
221
|
}, "$children" | "v-slots" | "v-slot:default">>> & {
|
132
222
|
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
133
223
|
} & vue.ShallowUnwrapRef<{
|
@@ -148,6 +238,32 @@ declare const VBtnToggle: {
|
|
148
238
|
max: NumberConstructor;
|
149
239
|
selectedClass: StringConstructor;
|
150
240
|
disabled: BooleanConstructor;
|
241
|
+
color: StringConstructor;
|
242
|
+
variant: {
|
243
|
+
type: vue.PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
|
244
|
+
default: string;
|
245
|
+
validator: (v: any) => boolean;
|
246
|
+
};
|
247
|
+
theme: StringConstructor;
|
248
|
+
tag: {
|
249
|
+
type: StringConstructor;
|
250
|
+
default: string;
|
251
|
+
};
|
252
|
+
rounded: {
|
253
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
254
|
+
default: undefined;
|
255
|
+
};
|
256
|
+
elevation: {
|
257
|
+
type: (StringConstructor | NumberConstructor)[];
|
258
|
+
validator(v: any): boolean;
|
259
|
+
};
|
260
|
+
density: {
|
261
|
+
type: vue.PropType<Density>;
|
262
|
+
default: string;
|
263
|
+
validator: (v: any) => boolean;
|
264
|
+
};
|
265
|
+
border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
266
|
+
divided: BooleanConstructor;
|
151
267
|
}, "$children" | "v-slots" | "v-slot:default">>> & {
|
152
268
|
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
153
269
|
}, {
|
@@ -159,7 +275,12 @@ declare const VBtnToggle: {
|
|
159
275
|
}, "$children" | "v-slots" | "v-slot:default">, string, {
|
160
276
|
disabled: boolean;
|
161
277
|
multiple: boolean;
|
278
|
+
tag: string;
|
279
|
+
rounded: string | number | boolean;
|
280
|
+
density: Density;
|
281
|
+
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
|
162
282
|
modelValue: any;
|
283
|
+
divided: boolean;
|
163
284
|
}> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new <T>() => {
|
164
285
|
$props: SlotsToProps<{
|
165
286
|
default: [DefaultBtnToggleSlot];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VCalendar.mjs","names":["CalendarWithEvents","props","DAYS_IN_MONTH_MAX","DAY_MIN","DAYS_IN_WEEK","parseTimestamp","validateTimestamp","relativeDays","nextDay","prevDay","copyTimestamp","updateFormatted","updateWeekday","updateRelative","getStartOfMonth","getEndOfMonth","timestampToDate","VCalendarMonthly","VCalendarDaily","VCalendarWeekly","VCalendarCategory","getParsedCategories","extend","name","calendar","weeks","intervals","category","data","lastStart","lastEnd","computed","parsedValue","value","parsedStart","times","today","parsedCategoryDays","parseInt","categoryDays","renderProps","around","component","maxDays","weekdays","parsedWeekdays","categories","parsedCategories","start","end","type","getStartOfWeek","getEndOfWeek","weekday","parsedEnd","days","i","push","getCategoryList","Error","eventWeekdays","categoryMode","title","spanYears","year","spanMonths","month","monthShortFormatter","monthLongFormatter","getFormatter","timeZone","categoryText","watch","mounted","updateEventVisibility","checkChange","updated","window","requestAnimationFrame","methods","date","$emit","move","amount","moved","forward","mover","limit","day","now","Date","getTime","next","prev","timeToY","time","clamp","c","$children","timeDelta","minutesToPixels","minutes","scrollToTime","input","required","timestamp","noEvents","categoryMap","reduce","map","index","categoryName","count","categoryHideDynamic","categoryShowAll","categoryLength","length","parsedEvents","forEach","ev","categoryForInvalid","filter","hasOwnProperty","render","h","staticClass","class","$props","directives","modifiers","quiet","on","$listeners","e","scopedSlots","getScopedSlots"],"sources":["../../../src/components/VCalendar/VCalendar.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\n// import '../../stylus/components/_calendar-daily.styl'\n\n// Types\nimport { VNode, Component } from 'vue'\n\n// Mixins\nimport CalendarWithEvents from './mixins/calendar-with-events'\n\n// Util\nimport props from './util/props'\nimport {\n DAYS_IN_MONTH_MAX,\n DAY_MIN,\n DAYS_IN_WEEK,\n parseTimestamp,\n validateTimestamp,\n relativeDays,\n nextDay,\n prevDay,\n copyTimestamp,\n updateFormatted,\n updateWeekday,\n updateRelative,\n getStartOfMonth,\n getEndOfMonth,\n VTime,\n VTimestampInput,\n timestampToDate,\n} from './util/timestamp'\n\n// Calendars\nimport VCalendarMonthly from './VCalendarMonthly'\nimport VCalendarDaily from './VCalendarDaily'\nimport VCalendarWeekly from './VCalendarWeekly'\nimport VCalendarCategory from './VCalendarCategory'\nimport { CalendarTimestamp, CalendarFormatter, CalendarCategory } from 'vuetify/types'\nimport { getParsedCategories } from './util/parser'\n\n// Types\ninterface VCalendarRenderProps {\n start: CalendarTimestamp\n end: CalendarTimestamp\n component: string | Component\n maxDays: number\n weekdays: number[]\n categories: CalendarCategory[]\n}\n\n/* @vue/component */\nexport default CalendarWithEvents.extend({\n name: 'v-calendar',\n\n props: {\n ...props.calendar,\n ...props.weeks,\n ...props.intervals,\n ...props.category,\n },\n\n data: () => ({\n lastStart: null as CalendarTimestamp | null,\n lastEnd: null as CalendarTimestamp | null,\n }),\n\n computed: {\n parsedValue (): CalendarTimestamp {\n return (validateTimestamp(this.value)\n ? parseTimestamp(this.value, true)\n : (this.parsedStart || this.times.today))\n },\n parsedCategoryDays (): number {\n return parseInt(this.categoryDays) || 1\n },\n renderProps (): VCalendarRenderProps {\n const around = this.parsedValue\n let component: any = null\n let maxDays = this.maxDays\n let weekdays = this.parsedWeekdays\n let categories = this.parsedCategories\n let start = around\n let end = around\n switch (this.type) {\n case 'month':\n component = VCalendarMonthly\n start = getStartOfMonth(around)\n end = getEndOfMonth(around)\n break\n case 'week':\n component = VCalendarDaily\n start = this.getStartOfWeek(around)\n end = this.getEndOfWeek(around)\n maxDays = 7\n break\n case 'day':\n component = VCalendarDaily\n maxDays = 1\n weekdays = [start.weekday]\n break\n case '4day':\n component = VCalendarDaily\n end = relativeDays(copyTimestamp(end), nextDay, 3)\n updateFormatted(end)\n maxDays = 4\n weekdays = [\n start.weekday,\n (start.weekday + 1) % 7,\n (start.weekday + 2) % 7,\n (start.weekday + 3) % 7,\n ]\n break\n case 'custom-weekly':\n component = VCalendarWeekly\n start = this.parsedStart || around\n end = this.parsedEnd\n break\n case 'custom-daily':\n component = VCalendarDaily\n start = this.parsedStart || around\n end = this.parsedEnd\n break\n case 'category':\n const days = this.parsedCategoryDays\n\n component = VCalendarCategory\n end = relativeDays(copyTimestamp(end), nextDay, days)\n updateFormatted(end)\n maxDays = days\n weekdays = []\n\n for (let i = 0; i < days; i++) {\n weekdays.push((start.weekday + i) % 7)\n }\n\n categories = this.getCategoryList(categories)\n break\n default:\n throw new Error(this.type + ' is not a valid Calendar type')\n }\n\n return { component, start, end, maxDays, weekdays, categories }\n },\n eventWeekdays (): number[] {\n return this.renderProps.weekdays\n },\n categoryMode (): boolean {\n return this.type === 'category'\n },\n title (): string {\n const { start, end } = this.renderProps\n const spanYears = start.year !== end.year\n const spanMonths = spanYears || start.month !== end.month\n\n if (spanYears) {\n return this.monthShortFormatter(start, true) + ' ' + start.year + ' - ' + this.monthShortFormatter(end, true) + ' ' + end.year\n }\n\n if (spanMonths) {\n return this.monthShortFormatter(start, true) + ' - ' + this.monthShortFormatter(end, true) + ' ' + end.year\n } else {\n return this.monthLongFormatter(start, false) + ' ' + start.year\n }\n },\n monthLongFormatter (): CalendarFormatter {\n return this.getFormatter({\n timeZone: 'UTC', month: 'long',\n })\n },\n monthShortFormatter (): CalendarFormatter {\n return this.getFormatter({\n timeZone: 'UTC', month: 'short',\n })\n },\n parsedCategories (): CalendarCategory[] {\n return getParsedCategories(this.categories, this.categoryText)\n },\n },\n\n watch: {\n renderProps: 'checkChange',\n },\n\n mounted () {\n this.updateEventVisibility()\n this.checkChange()\n },\n\n updated () {\n window.requestAnimationFrame(this.updateEventVisibility)\n },\n\n methods: {\n checkChange (): void {\n const { lastStart, lastEnd } = this\n const { start, end } = this.renderProps\n if (!lastStart || !lastEnd ||\n start.date !== lastStart.date ||\n end.date !== lastEnd.date) {\n this.lastStart = start\n this.lastEnd = end\n this.$emit('change', { start, end })\n }\n },\n move (amount = 1): void {\n const moved = copyTimestamp(this.parsedValue)\n const forward = amount > 0\n const mover = forward ? nextDay : prevDay\n const limit = forward ? DAYS_IN_MONTH_MAX : DAY_MIN\n let times = forward ? amount : -amount\n\n while (--times >= 0) {\n switch (this.type) {\n case 'month':\n moved.day = limit\n mover(moved)\n break\n case 'week':\n relativeDays(moved, mover, DAYS_IN_WEEK)\n break\n case 'day':\n relativeDays(moved, mover, 1)\n break\n case '4day':\n relativeDays(moved, mover, 4)\n break\n case 'category':\n relativeDays(moved, mover, this.parsedCategoryDays)\n break\n }\n }\n\n updateWeekday(moved)\n updateFormatted(moved)\n updateRelative(moved, this.times.now)\n\n if (this.value instanceof Date) {\n this.$emit('input', timestampToDate(moved))\n } else if (typeof this.value === 'number') {\n this.$emit('input', timestampToDate(moved).getTime())\n } else {\n this.$emit('input', moved.date)\n }\n\n this.$emit('moved', moved)\n },\n next (amount = 1): void {\n this.move(amount)\n },\n prev (amount = 1): void {\n this.move(-amount)\n },\n timeToY (time: VTime, clamp = true): number | false {\n const c = this.$children[0] as any\n\n if (c && c.timeToY) {\n return c.timeToY(time, clamp)\n } else {\n return false\n }\n },\n timeDelta (time: VTime): number | false {\n const c = this.$children[0] as any\n\n if (c && c.timeDelta) {\n return c.timeDelta(time)\n } else {\n return false\n }\n },\n minutesToPixels (minutes: number): number {\n const c = this.$children[0] as any\n\n if (c && c.minutesToPixels) {\n return c.minutesToPixels(minutes)\n } else {\n return -1\n }\n },\n scrollToTime (time: VTime): boolean {\n const c = this.$children[0] as any\n\n if (c && c.scrollToTime) {\n return c.scrollToTime(time)\n } else {\n return false\n }\n },\n parseTimestamp (input: VTimestampInput, required?: false): CalendarTimestamp | null {\n return parseTimestamp(input, required, this.times.now)\n },\n timestampToDate (timestamp: CalendarTimestamp): Date {\n return timestampToDate(timestamp)\n },\n getCategoryList (categories: CalendarCategory[]): CalendarCategory[] {\n if (!this.noEvents) {\n const categoryMap: any = categories.reduce((map: any, category, index) => {\n if (typeof category === 'object' && category.categoryName) map[category.categoryName] = { index, count: 0 }\n else if (typeof category === 'string') map[category] = { index, count: 0 }\n return map\n }, {})\n\n if (!this.categoryHideDynamic || !this.categoryShowAll) {\n let categoryLength = categories.length\n\n this.parsedEvents.forEach(ev => {\n let category = ev.category\n\n if (typeof category !== 'string') {\n category = this.categoryForInvalid\n }\n\n if (!category) {\n return\n }\n\n if (category in categoryMap) {\n categoryMap[category].count++\n } else if (!this.categoryHideDynamic) {\n categoryMap[category] = {\n index: categoryLength++,\n count: 1,\n }\n }\n })\n }\n\n if (!this.categoryShowAll) {\n for (const category in categoryMap) {\n if (categoryMap[category].count === 0) {\n delete categoryMap[category]\n }\n }\n }\n\n categories = categories.filter((category: CalendarCategory) => {\n if (typeof category === 'object' && category.categoryName) {\n return categoryMap.hasOwnProperty(category.categoryName)\n } else if (typeof category === 'string') {\n return categoryMap.hasOwnProperty(category)\n }\n return false\n })\n }\n return categories\n },\n },\n\n render (h): VNode {\n const { start, end, maxDays, component, weekdays, categories } = this.renderProps\n\n return h(component, {\n staticClass: 'v-calendar',\n class: {\n 'v-calendar-events': !this.noEvents,\n },\n props: {\n ...this.$props,\n start: start.date,\n end: end.date,\n maxDays,\n weekdays,\n categories,\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.updateEventVisibility,\n }],\n on: {\n ...this.$listeners,\n 'click:date': (day: CalendarTimestamp, e?: MouseEvent) => {\n if (this.$listeners.input) {\n this.$emit('input', day.date)\n }\n if (this.$listeners['click:date']) {\n this.$emit('click:date', day, e)\n }\n },\n },\n scopedSlots: this.getScopedSlots(),\n })\n },\n})\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"VCalendar.mjs","names":["CalendarWithEvents","props","DAYS_IN_MONTH_MAX","DAY_MIN","DAYS_IN_WEEK","parseTimestamp","validateTimestamp","relativeDays","nextDay","prevDay","copyTimestamp","updateFormatted","updateWeekday","updateRelative","getStartOfMonth","getEndOfMonth","timestampToDate","VCalendarMonthly","VCalendarDaily","VCalendarWeekly","VCalendarCategory","getParsedCategories","extend","name","calendar","weeks","intervals","category","data","lastStart","lastEnd","computed","parsedValue","value","parsedStart","times","today","parsedCategoryDays","parseInt","categoryDays","renderProps","around","component","maxDays","weekdays","parsedWeekdays","categories","parsedCategories","start","end","type","getStartOfWeek","getEndOfWeek","weekday","parsedEnd","days","i","push","getCategoryList","Error","eventWeekdays","categoryMode","title","spanYears","year","spanMonths","month","monthShortFormatter","monthLongFormatter","getFormatter","timeZone","categoryText","watch","mounted","updateEventVisibility","checkChange","updated","window","requestAnimationFrame","methods","date","$emit","move","amount","moved","forward","mover","limit","day","now","Date","getTime","next","prev","timeToY","time","clamp","c","$children","timeDelta","minutesToPixels","minutes","scrollToTime","input","required","timestamp","noEvents","categoryMap","reduce","map","index","categoryName","count","categoryHideDynamic","categoryShowAll","categoryLength","length","parsedEvents","forEach","ev","categoryForInvalid","filter","hasOwnProperty","render","h","staticClass","class","$props","attrs","role","directives","modifiers","quiet","on","$listeners","e","scopedSlots","getScopedSlots"],"sources":["../../../src/components/VCalendar/VCalendar.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\n// import '../../stylus/components/_calendar-daily.styl'\n\n// Types\nimport { VNode, Component } from 'vue'\n\n// Mixins\nimport CalendarWithEvents from './mixins/calendar-with-events'\n\n// Util\nimport props from './util/props'\nimport {\n DAYS_IN_MONTH_MAX,\n DAY_MIN,\n DAYS_IN_WEEK,\n parseTimestamp,\n validateTimestamp,\n relativeDays,\n nextDay,\n prevDay,\n copyTimestamp,\n updateFormatted,\n updateWeekday,\n updateRelative,\n getStartOfMonth,\n getEndOfMonth,\n VTime,\n VTimestampInput,\n timestampToDate,\n} from './util/timestamp'\n\n// Calendars\nimport VCalendarMonthly from './VCalendarMonthly'\nimport VCalendarDaily from './VCalendarDaily'\nimport VCalendarWeekly from './VCalendarWeekly'\nimport VCalendarCategory from './VCalendarCategory'\nimport { CalendarTimestamp, CalendarFormatter, CalendarCategory } from 'vuetify/types'\nimport { getParsedCategories } from './util/parser'\n\n// Types\ninterface VCalendarRenderProps {\n start: CalendarTimestamp\n end: CalendarTimestamp\n component: string | Component\n maxDays: number\n weekdays: number[]\n categories: CalendarCategory[]\n}\n\n/* @vue/component */\nexport default CalendarWithEvents.extend({\n name: 'v-calendar',\n\n props: {\n ...props.calendar,\n ...props.weeks,\n ...props.intervals,\n ...props.category,\n },\n\n data: () => ({\n lastStart: null as CalendarTimestamp | null,\n lastEnd: null as CalendarTimestamp | null,\n }),\n\n computed: {\n parsedValue (): CalendarTimestamp {\n return (validateTimestamp(this.value)\n ? parseTimestamp(this.value, true)\n : (this.parsedStart || this.times.today))\n },\n parsedCategoryDays (): number {\n return parseInt(this.categoryDays) || 1\n },\n renderProps (): VCalendarRenderProps {\n const around = this.parsedValue\n let component: any = null\n let maxDays = this.maxDays\n let weekdays = this.parsedWeekdays\n let categories = this.parsedCategories\n let start = around\n let end = around\n switch (this.type) {\n case 'month':\n component = VCalendarMonthly\n start = getStartOfMonth(around)\n end = getEndOfMonth(around)\n break\n case 'week':\n component = VCalendarDaily\n start = this.getStartOfWeek(around)\n end = this.getEndOfWeek(around)\n maxDays = 7\n break\n case 'day':\n component = VCalendarDaily\n maxDays = 1\n weekdays = [start.weekday]\n break\n case '4day':\n component = VCalendarDaily\n end = relativeDays(copyTimestamp(end), nextDay, 3)\n updateFormatted(end)\n maxDays = 4\n weekdays = [\n start.weekday,\n (start.weekday + 1) % 7,\n (start.weekday + 2) % 7,\n (start.weekday + 3) % 7,\n ]\n break\n case 'custom-weekly':\n component = VCalendarWeekly\n start = this.parsedStart || around\n end = this.parsedEnd\n break\n case 'custom-daily':\n component = VCalendarDaily\n start = this.parsedStart || around\n end = this.parsedEnd\n break\n case 'category':\n const days = this.parsedCategoryDays\n\n component = VCalendarCategory\n end = relativeDays(copyTimestamp(end), nextDay, days)\n updateFormatted(end)\n maxDays = days\n weekdays = []\n\n for (let i = 0; i < days; i++) {\n weekdays.push((start.weekday + i) % 7)\n }\n\n categories = this.getCategoryList(categories)\n break\n default:\n throw new Error(this.type + ' is not a valid Calendar type')\n }\n\n return { component, start, end, maxDays, weekdays, categories }\n },\n eventWeekdays (): number[] {\n return this.renderProps.weekdays\n },\n categoryMode (): boolean {\n return this.type === 'category'\n },\n title (): string {\n const { start, end } = this.renderProps\n const spanYears = start.year !== end.year\n const spanMonths = spanYears || start.month !== end.month\n\n if (spanYears) {\n return this.monthShortFormatter(start, true) + ' ' + start.year + ' - ' + this.monthShortFormatter(end, true) + ' ' + end.year\n }\n\n if (spanMonths) {\n return this.monthShortFormatter(start, true) + ' - ' + this.monthShortFormatter(end, true) + ' ' + end.year\n } else {\n return this.monthLongFormatter(start, false) + ' ' + start.year\n }\n },\n monthLongFormatter (): CalendarFormatter {\n return this.getFormatter({\n timeZone: 'UTC', month: 'long',\n })\n },\n monthShortFormatter (): CalendarFormatter {\n return this.getFormatter({\n timeZone: 'UTC', month: 'short',\n })\n },\n parsedCategories (): CalendarCategory[] {\n return getParsedCategories(this.categories, this.categoryText)\n },\n },\n\n watch: {\n renderProps: 'checkChange',\n },\n\n mounted () {\n this.updateEventVisibility()\n this.checkChange()\n },\n\n updated () {\n window.requestAnimationFrame(this.updateEventVisibility)\n },\n\n methods: {\n checkChange (): void {\n const { lastStart, lastEnd } = this\n const { start, end } = this.renderProps\n if (!lastStart || !lastEnd ||\n start.date !== lastStart.date ||\n end.date !== lastEnd.date) {\n this.lastStart = start\n this.lastEnd = end\n this.$emit('change', { start, end })\n }\n },\n move (amount = 1): void {\n const moved = copyTimestamp(this.parsedValue)\n const forward = amount > 0\n const mover = forward ? nextDay : prevDay\n const limit = forward ? DAYS_IN_MONTH_MAX : DAY_MIN\n let times = forward ? amount : -amount\n\n while (--times >= 0) {\n switch (this.type) {\n case 'month':\n moved.day = limit\n mover(moved)\n break\n case 'week':\n relativeDays(moved, mover, DAYS_IN_WEEK)\n break\n case 'day':\n relativeDays(moved, mover, 1)\n break\n case '4day':\n relativeDays(moved, mover, 4)\n break\n case 'category':\n relativeDays(moved, mover, this.parsedCategoryDays)\n break\n }\n }\n\n updateWeekday(moved)\n updateFormatted(moved)\n updateRelative(moved, this.times.now)\n\n if (this.value instanceof Date) {\n this.$emit('input', timestampToDate(moved))\n } else if (typeof this.value === 'number') {\n this.$emit('input', timestampToDate(moved).getTime())\n } else {\n this.$emit('input', moved.date)\n }\n\n this.$emit('moved', moved)\n },\n next (amount = 1): void {\n this.move(amount)\n },\n prev (amount = 1): void {\n this.move(-amount)\n },\n timeToY (time: VTime, clamp = true): number | false {\n const c = this.$children[0] as any\n\n if (c && c.timeToY) {\n return c.timeToY(time, clamp)\n } else {\n return false\n }\n },\n timeDelta (time: VTime): number | false {\n const c = this.$children[0] as any\n\n if (c && c.timeDelta) {\n return c.timeDelta(time)\n } else {\n return false\n }\n },\n minutesToPixels (minutes: number): number {\n const c = this.$children[0] as any\n\n if (c && c.minutesToPixels) {\n return c.minutesToPixels(minutes)\n } else {\n return -1\n }\n },\n scrollToTime (time: VTime): boolean {\n const c = this.$children[0] as any\n\n if (c && c.scrollToTime) {\n return c.scrollToTime(time)\n } else {\n return false\n }\n },\n parseTimestamp (input: VTimestampInput, required?: false): CalendarTimestamp | null {\n return parseTimestamp(input, required, this.times.now)\n },\n timestampToDate (timestamp: CalendarTimestamp): Date {\n return timestampToDate(timestamp)\n },\n getCategoryList (categories: CalendarCategory[]): CalendarCategory[] {\n if (!this.noEvents) {\n const categoryMap: any = categories.reduce((map: any, category, index) => {\n if (typeof category === 'object' && category.categoryName) map[category.categoryName] = { index, count: 0 }\n else if (typeof category === 'string') map[category] = { index, count: 0 }\n return map\n }, {})\n\n if (!this.categoryHideDynamic || !this.categoryShowAll) {\n let categoryLength = categories.length\n\n this.parsedEvents.forEach(ev => {\n let category = ev.category\n\n if (typeof category !== 'string') {\n category = this.categoryForInvalid\n }\n\n if (!category) {\n return\n }\n\n if (category in categoryMap) {\n categoryMap[category].count++\n } else if (!this.categoryHideDynamic) {\n categoryMap[category] = {\n index: categoryLength++,\n count: 1,\n }\n }\n })\n }\n\n if (!this.categoryShowAll) {\n for (const category in categoryMap) {\n if (categoryMap[category].count === 0) {\n delete categoryMap[category]\n }\n }\n }\n\n categories = categories.filter((category: CalendarCategory) => {\n if (typeof category === 'object' && category.categoryName) {\n return categoryMap.hasOwnProperty(category.categoryName)\n } else if (typeof category === 'string') {\n return categoryMap.hasOwnProperty(category)\n }\n return false\n })\n }\n return categories\n },\n },\n\n render (h): VNode {\n const { start, end, maxDays, component, weekdays, categories } = this.renderProps\n\n return h(component, {\n staticClass: 'v-calendar',\n class: {\n 'v-calendar-events': !this.noEvents,\n },\n props: {\n ...this.$props,\n start: start.date,\n end: end.date,\n maxDays,\n weekdays,\n categories,\n },\n attrs: {\n role: 'grid',\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.updateEventVisibility,\n }],\n on: {\n ...this.$listeners,\n\n 'click:date': (day: CalendarTimestamp, e?: MouseEvent) => {\n if (this.$listeners.input) {\n this.$emit('input', day.date)\n }\n if (this.$listeners['click:date']) {\n this.$emit('click:date', day, e)\n }\n },\n },\n scopedSlots: this.getScopedSlots(),\n })\n },\n})\n"],"mappings":"AAAA;AACA;AAEA;AACA;AAEA;AAGA;AAAA,OACOA,kBAAkB,2CAEzB;AAAA,OACOC,KAAK;AAAA,SAEVC,iBAAiB,EACjBC,OAAO,EACPC,YAAY,EACZC,cAAc,EACdC,iBAAiB,EACjBC,YAAY,EACZC,OAAO,EACPC,OAAO,EACPC,aAAa,EACbC,eAAe,EACfC,aAAa,EACbC,cAAc,EACdC,eAAe,EACfC,aAAa,EAGbC,eAAe,gCAGjB;AAAA,OACOC,gBAAgB;AAAA,OAChBC,cAAc;AAAA,OACdC,eAAe;AAAA,OACfC,iBAAiB;AAAA,SAEfC,mBAAmB,6BAE5B;AAUA;AACA,eAAerB,kBAAkB,CAACsB,MAAM,CAAC;EACvCC,IAAI,EAAE,YAAY;EAElBtB,KAAK,EAAE;IACL,GAAGA,KAAK,CAACuB,QAAQ;IACjB,GAAGvB,KAAK,CAACwB,KAAK;IACd,GAAGxB,KAAK,CAACyB,SAAS;IAClB,GAAGzB,KAAK,CAAC0B;EACX,CAAC;EAEDC,IAAI,EAAE,OAAO;IACXC,SAAS,EAAE,IAAgC;IAC3CC,OAAO,EAAE;EACX,CAAC,CAAC;EAEFC,QAAQ,EAAE;IACRC,WAAW,GAAuB;MAChC,OAAQ1B,iBAAiB,CAAC,IAAI,CAAC2B,KAAK,CAAC,GACjC5B,cAAc,CAAC,IAAI,CAAC4B,KAAK,EAAE,IAAI,CAAC,GAC/B,IAAI,CAACC,WAAW,IAAI,IAAI,CAACC,KAAK,CAACC,KAAM;IAC5C,CAAC;IACDC,kBAAkB,GAAY;MAC5B,OAAOC,QAAQ,CAAC,IAAI,CAACC,YAAY,CAAC,IAAI,CAAC;IACzC,CAAC;IACDC,WAAW,GAA0B;MACnC,MAAMC,MAAM,GAAG,IAAI,CAACT,WAAW;MAC/B,IAAIU,SAAc,GAAG,IAAI;MACzB,IAAIC,OAAO,GAAG,IAAI,CAACA,OAAO;MAC1B,IAAIC,QAAQ,GAAG,IAAI,CAACC,cAAc;MAClC,IAAIC,UAAU,GAAG,IAAI,CAACC,gBAAgB;MACtC,IAAIC,KAAK,GAAGP,MAAM;MAClB,IAAIQ,GAAG,GAAGR,MAAM;MAChB,QAAQ,IAAI,CAACS,IAAI;QACf,KAAK,OAAO;UACVR,SAAS,GAAGzB,gBAAgB;UAC5B+B,KAAK,GAAGlC,eAAe,CAAC2B,MAAM,CAAC;UAC/BQ,GAAG,GAAGlC,aAAa,CAAC0B,MAAM,CAAC;UAC3B;QACF,KAAK,MAAM;UACTC,SAAS,GAAGxB,cAAc;UAC1B8B,KAAK,GAAG,IAAI,CAACG,cAAc,CAACV,MAAM,CAAC;UACnCQ,GAAG,GAAG,IAAI,CAACG,YAAY,CAACX,MAAM,CAAC;UAC/BE,OAAO,GAAG,CAAC;UACX;QACF,KAAK,KAAK;UACRD,SAAS,GAAGxB,cAAc;UAC1ByB,OAAO,GAAG,CAAC;UACXC,QAAQ,GAAG,CAACI,KAAK,CAACK,OAAO,CAAC;UAC1B;QACF,KAAK,MAAM;UACTX,SAAS,GAAGxB,cAAc;UAC1B+B,GAAG,GAAG1C,YAAY,CAACG,aAAa,CAACuC,GAAG,CAAC,EAAEzC,OAAO,EAAE,CAAC,CAAC;UAClDG,eAAe,CAACsC,GAAG,CAAC;UACpBN,OAAO,GAAG,CAAC;UACXC,QAAQ,GAAG,CACTI,KAAK,CAACK,OAAO,EACb,CAACL,KAAK,CAACK,OAAO,GAAG,CAAC,IAAI,CAAC,EACvB,CAACL,KAAK,CAACK,OAAO,GAAG,CAAC,IAAI,CAAC,EACvB,CAACL,KAAK,CAACK,OAAO,GAAG,CAAC,IAAI,CAAC,CACxB;UACD;QACF,KAAK,eAAe;UAClBX,SAAS,GAAGvB,eAAe;UAC3B6B,KAAK,GAAG,IAAI,CAACd,WAAW,IAAIO,MAAM;UAClCQ,GAAG,GAAG,IAAI,CAACK,SAAS;UACpB;QACF,KAAK,cAAc;UACjBZ,SAAS,GAAGxB,cAAc;UAC1B8B,KAAK,GAAG,IAAI,CAACd,WAAW,IAAIO,MAAM;UAClCQ,GAAG,GAAG,IAAI,CAACK,SAAS;UACpB;QACF,KAAK,UAAU;UACb,MAAMC,IAAI,GAAG,IAAI,CAAClB,kBAAkB;UAEpCK,SAAS,GAAGtB,iBAAiB;UAC7B6B,GAAG,GAAG1C,YAAY,CAACG,aAAa,CAACuC,GAAG,CAAC,EAAEzC,OAAO,EAAE+C,IAAI,CAAC;UACrD5C,eAAe,CAACsC,GAAG,CAAC;UACpBN,OAAO,GAAGY,IAAI;UACdX,QAAQ,GAAG,EAAE;UAEb,KAAK,IAAIY,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,IAAI,EAAEC,CAAC,EAAE,EAAE;YAC7BZ,QAAQ,CAACa,IAAI,CAAC,CAACT,KAAK,CAACK,OAAO,GAAGG,CAAC,IAAI,CAAC,CAAC;UACxC;UAEAV,UAAU,GAAG,IAAI,CAACY,eAAe,CAACZ,UAAU,CAAC;UAC7C;QACF;UACE,MAAM,IAAIa,KAAK,CAAC,IAAI,CAACT,IAAI,GAAG,+BAA+B,CAAC;MAAA;MAGhE,OAAO;QAAER,SAAS;QAAEM,KAAK;QAAEC,GAAG;QAAEN,OAAO;QAAEC,QAAQ;QAAEE;MAAW,CAAC;IACjE,CAAC;IACDc,aAAa,GAAc;MACzB,OAAO,IAAI,CAACpB,WAAW,CAACI,QAAQ;IAClC,CAAC;IACDiB,YAAY,GAAa;MACvB,OAAO,IAAI,CAACX,IAAI,KAAK,UAAU;IACjC,CAAC;IACDY,KAAK,GAAY;MACf,MAAM;QAAEd,KAAK;QAAEC;MAAI,CAAC,GAAG,IAAI,CAACT,WAAW;MACvC,MAAMuB,SAAS,GAAGf,KAAK,CAACgB,IAAI,KAAKf,GAAG,CAACe,IAAI;MACzC,MAAMC,UAAU,GAAGF,SAAS,IAAIf,KAAK,CAACkB,KAAK,KAAKjB,GAAG,CAACiB,KAAK;MAEzD,IAAIH,SAAS,EAAE;QACb,OAAO,IAAI,CAACI,mBAAmB,CAACnB,KAAK,EAAE,IAAI,CAAC,GAAG,GAAG,GAAGA,KAAK,CAACgB,IAAI,GAAG,KAAK,GAAG,IAAI,CAACG,mBAAmB,CAAClB,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAGA,GAAG,CAACe,IAAI;MAChI;MAEA,IAAIC,UAAU,EAAE;QACd,OAAO,IAAI,CAACE,mBAAmB,CAACnB,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAACmB,mBAAmB,CAAClB,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAGA,GAAG,CAACe,IAAI;MAC7G,CAAC,MAAM;QACL,OAAO,IAAI,CAACI,kBAAkB,CAACpB,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,GAAGA,KAAK,CAACgB,IAAI;MACjE;IACF,CAAC;IACDI,kBAAkB,GAAuB;MACvC,OAAO,IAAI,CAACC,YAAY,CAAC;QACvBC,QAAQ,EAAE,KAAK;QAAEJ,KAAK,EAAE;MAC1B,CAAC,CAAC;IACJ,CAAC;IACDC,mBAAmB,GAAuB;MACxC,OAAO,IAAI,CAACE,YAAY,CAAC;QACvBC,QAAQ,EAAE,KAAK;QAAEJ,KAAK,EAAE;MAC1B,CAAC,CAAC;IACJ,CAAC;IACDnB,gBAAgB,GAAwB;MACtC,OAAO1B,mBAAmB,CAAC,IAAI,CAACyB,UAAU,EAAE,IAAI,CAACyB,YAAY,CAAC;IAChE;EACF,CAAC;EAEDC,KAAK,EAAE;IACLhC,WAAW,EAAE;EACf,CAAC;EAEDiC,OAAO,GAAI;IACT,IAAI,CAACC,qBAAqB,EAAE;IAC5B,IAAI,CAACC,WAAW,EAAE;EACpB,CAAC;EAEDC,OAAO,GAAI;IACTC,MAAM,CAACC,qBAAqB,CAAC,IAAI,CAACJ,qBAAqB,CAAC;EAC1D,CAAC;EAEDK,OAAO,EAAE;IACPJ,WAAW,GAAU;MACnB,MAAM;QAAE9C,SAAS;QAAEC;MAAQ,CAAC,GAAG,IAAI;MACnC,MAAM;QAAEkB,KAAK;QAAEC;MAAI,CAAC,GAAG,IAAI,CAACT,WAAW;MACvC,IAAI,CAACX,SAAS,IAAI,CAACC,OAAO,IACxBkB,KAAK,CAACgC,IAAI,KAAKnD,SAAS,CAACmD,IAAI,IAC7B/B,GAAG,CAAC+B,IAAI,KAAKlD,OAAO,CAACkD,IAAI,EAAE;QAC3B,IAAI,CAACnD,SAAS,GAAGmB,KAAK;QACtB,IAAI,CAAClB,OAAO,GAAGmB,GAAG;QAClB,IAAI,CAACgC,KAAK,CAAC,QAAQ,EAAE;UAAEjC,KAAK;UAAEC;QAAI,CAAC,CAAC;MACtC;IACF,CAAC;IACDiC,IAAI,GAAoB;MAAA,IAAlBC,MAAM,uEAAG,CAAC;MACd,MAAMC,KAAK,GAAG1E,aAAa,CAAC,IAAI,CAACsB,WAAW,CAAC;MAC7C,MAAMqD,OAAO,GAAGF,MAAM,GAAG,CAAC;MAC1B,MAAMG,KAAK,GAAGD,OAAO,GAAG7E,OAAO,GAAGC,OAAO;MACzC,MAAM8E,KAAK,GAAGF,OAAO,GAAGnF,iBAAiB,GAAGC,OAAO;MACnD,IAAIgC,KAAK,GAAGkD,OAAO,GAAGF,MAAM,GAAG,CAACA,MAAM;MAEtC,OAAO,EAAEhD,KAAK,IAAI,CAAC,EAAE;QACnB,QAAQ,IAAI,CAACe,IAAI;UACf,KAAK,OAAO;YACVkC,KAAK,CAACI,GAAG,GAAGD,KAAK;YACjBD,KAAK,CAACF,KAAK,CAAC;YACZ;UACF,KAAK,MAAM;YACT7E,YAAY,CAAC6E,KAAK,EAAEE,KAAK,EAAElF,YAAY,CAAC;YACxC;UACF,KAAK,KAAK;YACRG,YAAY,CAAC6E,KAAK,EAAEE,KAAK,EAAE,CAAC,CAAC;YAC7B;UACF,KAAK,MAAM;YACT/E,YAAY,CAAC6E,KAAK,EAAEE,KAAK,EAAE,CAAC,CAAC;YAC7B;UACF,KAAK,UAAU;YACb/E,YAAY,CAAC6E,KAAK,EAAEE,KAAK,EAAE,IAAI,CAACjD,kBAAkB,CAAC;YACnD;QAAK;MAEX;MAEAzB,aAAa,CAACwE,KAAK,CAAC;MACpBzE,eAAe,CAACyE,KAAK,CAAC;MACtBvE,cAAc,CAACuE,KAAK,EAAE,IAAI,CAACjD,KAAK,CAACsD,GAAG,CAAC;MAErC,IAAI,IAAI,CAACxD,KAAK,YAAYyD,IAAI,EAAE;QAC9B,IAAI,CAACT,KAAK,CAAC,OAAO,EAAEjE,eAAe,CAACoE,KAAK,CAAC,CAAC;MAC7C,CAAC,MAAM,IAAI,OAAO,IAAI,CAACnD,KAAK,KAAK,QAAQ,EAAE;QACzC,IAAI,CAACgD,KAAK,CAAC,OAAO,EAAEjE,eAAe,CAACoE,KAAK,CAAC,CAACO,OAAO,EAAE,CAAC;MACvD,CAAC,MAAM;QACL,IAAI,CAACV,KAAK,CAAC,OAAO,EAAEG,KAAK,CAACJ,IAAI,CAAC;MACjC;MAEA,IAAI,CAACC,KAAK,CAAC,OAAO,EAAEG,KAAK,CAAC;IAC5B,CAAC;IACDQ,IAAI,GAAoB;MAAA,IAAlBT,MAAM,uEAAG,CAAC;MACd,IAAI,CAACD,IAAI,CAACC,MAAM,CAAC;IACnB,CAAC;IACDU,IAAI,GAAoB;MAAA,IAAlBV,MAAM,uEAAG,CAAC;MACd,IAAI,CAACD,IAAI,CAAC,CAACC,MAAM,CAAC;IACpB,CAAC;IACDW,OAAO,CAAEC,IAAW,EAAgC;MAAA,IAA9BC,KAAK,uEAAG,IAAI;MAChC,MAAMC,CAAC,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC,CAAQ;MAElC,IAAID,CAAC,IAAIA,CAAC,CAACH,OAAO,EAAE;QAClB,OAAOG,CAAC,CAACH,OAAO,CAACC,IAAI,EAAEC,KAAK,CAAC;MAC/B,CAAC,MAAM;QACL,OAAO,KAAK;MACd;IACF,CAAC;IACDG,SAAS,CAAEJ,IAAW,EAAkB;MACtC,MAAME,CAAC,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC,CAAQ;MAElC,IAAID,CAAC,IAAIA,CAAC,CAACE,SAAS,EAAE;QACpB,OAAOF,CAAC,CAACE,SAAS,CAACJ,IAAI,CAAC;MAC1B,CAAC,MAAM;QACL,OAAO,KAAK;MACd;IACF,CAAC;IACDK,eAAe,CAAEC,OAAe,EAAU;MACxC,MAAMJ,CAAC,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC,CAAQ;MAElC,IAAID,CAAC,IAAIA,CAAC,CAACG,eAAe,EAAE;QAC1B,OAAOH,CAAC,CAACG,eAAe,CAACC,OAAO,CAAC;MACnC,CAAC,MAAM;QACL,OAAO,CAAC,CAAC;MACX;IACF,CAAC;IACDC,YAAY,CAAEP,IAAW,EAAW;MAClC,MAAME,CAAC,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC,CAAQ;MAElC,IAAID,CAAC,IAAIA,CAAC,CAACK,YAAY,EAAE;QACvB,OAAOL,CAAC,CAACK,YAAY,CAACP,IAAI,CAAC;MAC7B,CAAC,MAAM;QACL,OAAO,KAAK;MACd;IACF,CAAC;IACD1F,cAAc,CAAEkG,KAAsB,EAAEC,QAAgB,EAA4B;MAClF,OAAOnG,cAAc,CAACkG,KAAK,EAAEC,QAAQ,EAAE,IAAI,CAACrE,KAAK,CAACsD,GAAG,CAAC;IACxD,CAAC;IACDzE,eAAe,CAAEyF,SAA4B,EAAQ;MACnD,OAAOzF,eAAe,CAACyF,SAAS,CAAC;IACnC,CAAC;IACD/C,eAAe,CAAEZ,UAA8B,EAAsB;MACnE,IAAI,CAAC,IAAI,CAAC4D,QAAQ,EAAE;QAClB,MAAMC,WAAgB,GAAG7D,UAAU,CAAC8D,MAAM,CAAC,CAACC,GAAQ,EAAElF,QAAQ,EAAEmF,KAAK,KAAK;UACxE,IAAI,OAAOnF,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,CAACoF,YAAY,EAAEF,GAAG,CAAClF,QAAQ,CAACoF,YAAY,CAAC,GAAG;YAAED,KAAK;YAAEE,KAAK,EAAE;UAAE,CAAC,MACtG,IAAI,OAAOrF,QAAQ,KAAK,QAAQ,EAAEkF,GAAG,CAAClF,QAAQ,CAAC,GAAG;YAAEmF,KAAK;YAAEE,KAAK,EAAE;UAAE,CAAC;UAC1E,OAAOH,GAAG;QACZ,CAAC,EAAE,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,IAAI,CAACI,mBAAmB,IAAI,CAAC,IAAI,CAACC,eAAe,EAAE;UACtD,IAAIC,cAAc,GAAGrE,UAAU,CAACsE,MAAM;UAEtC,IAAI,CAACC,YAAY,CAACC,OAAO,CAACC,EAAE,IAAI;YAC9B,IAAI5F,QAAQ,GAAG4F,EAAE,CAAC5F,QAAQ;YAE1B,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;cAChCA,QAAQ,GAAG,IAAI,CAAC6F,kBAAkB;YACpC;YAEA,IAAI,CAAC7F,QAAQ,EAAE;cACb;YACF;YAEA,IAAIA,QAAQ,IAAIgF,WAAW,EAAE;cAC3BA,WAAW,CAAChF,QAAQ,CAAC,CAACqF,KAAK,EAAE;YAC/B,CAAC,MAAM,IAAI,CAAC,IAAI,CAACC,mBAAmB,EAAE;cACpCN,WAAW,CAAChF,QAAQ,CAAC,GAAG;gBACtBmF,KAAK,EAAEK,cAAc,EAAE;gBACvBH,KAAK,EAAE;cACT,CAAC;YACH;UACF,CAAC,CAAC;QACJ;QAEA,IAAI,CAAC,IAAI,CAACE,eAAe,EAAE;UACzB,KAAK,MAAMvF,QAAQ,IAAIgF,WAAW,EAAE;YAClC,IAAIA,WAAW,CAAChF,QAAQ,CAAC,CAACqF,KAAK,KAAK,CAAC,EAAE;cACrC,OAAOL,WAAW,CAAChF,QAAQ,CAAC;YAC9B;UACF;QACF;QAEAmB,UAAU,GAAGA,UAAU,CAAC2E,MAAM,CAAE9F,QAA0B,IAAK;UAC7D,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,CAACoF,YAAY,EAAE;YACzD,OAAOJ,WAAW,CAACe,cAAc,CAAC/F,QAAQ,CAACoF,YAAY,CAAC;UAC1D,CAAC,MAAM,IAAI,OAAOpF,QAAQ,KAAK,QAAQ,EAAE;YACvC,OAAOgF,WAAW,CAACe,cAAc,CAAC/F,QAAQ,CAAC;UAC7C;UACA,OAAO,KAAK;QACd,CAAC,CAAC;MACJ;MACA,OAAOmB,UAAU;IACnB;EACF,CAAC;EAED6E,MAAM,CAAEC,CAAC,EAAS;IAChB,MAAM;MAAE5E,KAAK;MAAEC,GAAG;MAAEN,OAAO;MAAED,SAAS;MAAEE,QAAQ;MAAEE;IAAW,CAAC,GAAG,IAAI,CAACN,WAAW;IAEjF,OAAOoF,CAAC,CAAClF,SAAS,EAAE;MAClBmF,WAAW,EAAE,YAAY;MACzBC,KAAK,EAAE;QACL,mBAAmB,EAAE,CAAC,IAAI,CAACpB;MAC7B,CAAC;MACDzG,KAAK,EAAE;QACL,GAAG,IAAI,CAAC8H,MAAM;QACd/E,KAAK,EAAEA,KAAK,CAACgC,IAAI;QACjB/B,GAAG,EAAEA,GAAG,CAAC+B,IAAI;QACbrC,OAAO;QACPC,QAAQ;QACRE;MACF,CAAC;MACDkF,KAAK,EAAE;QACLC,IAAI,EAAE;MACR,CAAC;MACDC,UAAU,EAAE,CAAC;QACXC,SAAS,EAAE;UAAEC,KAAK,EAAE;QAAK,CAAC;QAC1B7G,IAAI,EAAE,QAAQ;QACdU,KAAK,EAAE,IAAI,CAACyC;MACd,CAAC,CAAC;MACF2D,EAAE,EAAE;QACF,GAAG,IAAI,CAACC,UAAU;QAElB,YAAY,EAAE,CAAC9C,GAAsB,EAAE+C,CAAc,KAAK;UACxD,IAAI,IAAI,CAACD,UAAU,CAAC/B,KAAK,EAAE;YACzB,IAAI,CAACtB,KAAK,CAAC,OAAO,EAAEO,GAAG,CAACR,IAAI,CAAC;UAC/B;UACA,IAAI,IAAI,CAACsD,UAAU,CAAC,YAAY,CAAC,EAAE;YACjC,IAAI,CAACrD,KAAK,CAAC,YAAY,EAAEO,GAAG,EAAE+C,CAAC,CAAC;UAClC;QACF;MACF,CAAC;MACDC,WAAW,EAAE,IAAI,CAACC,cAAc;IAClC,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
|
@@ -6,6 +6,15 @@
|
|
6
6
|
.v-calendar-category__column-header
|
7
7
|
border-right: map-deep-get($material, 'calendar', 'line-color') $calendar-line-width solid
|
8
8
|
|
9
|
+
.v-calendar-daily__head
|
10
|
+
background: map-deep-get($material, 'calendar', 'background-color')
|
11
|
+
|
12
|
+
.v-calendar-daily__intervals-head
|
13
|
+
background: map-deep-get($material, 'calendar', 'background-color')
|
14
|
+
|
15
|
+
.v-calendar-daily__intervals-body
|
16
|
+
background: map-deep-get($material, 'calendar', 'background-color')
|
17
|
+
|
9
18
|
.v-calendar-category
|
10
19
|
overflow: auto
|
11
20
|
position: relative
|
@@ -33,7 +42,6 @@
|
|
33
42
|
min-width: 100%
|
34
43
|
position: sticky
|
35
44
|
top: 0
|
36
|
-
background: white
|
37
45
|
z-index: 2
|
38
46
|
|
39
47
|
.v-calendar-daily_head-day
|
@@ -44,7 +52,6 @@
|
|
44
52
|
position: sticky
|
45
53
|
left: 0
|
46
54
|
top: 0
|
47
|
-
background: white
|
48
55
|
z-index: 2
|
49
56
|
|
50
57
|
.v-calendar-daily_head-weekday
|
@@ -63,7 +70,6 @@
|
|
63
70
|
.v-calendar-daily__intervals-body
|
64
71
|
position: sticky
|
65
72
|
left: 0
|
66
|
-
background: white
|
67
73
|
z-index: 1
|
68
74
|
|
69
75
|
.v-calendar-daily__interval
|
@@ -67,8 +67,11 @@ export default CalendarWithIntervals.extend({
|
|
67
67
|
key: day.date,
|
68
68
|
staticClass: 'v-calendar-daily_head-day',
|
69
69
|
class: this.getRelativeClasses(day),
|
70
|
-
on: this.getDefaultMouseEventHandlers(':day',
|
71
|
-
return
|
70
|
+
on: this.getDefaultMouseEventHandlers(':day', nativeEvent => {
|
71
|
+
return {
|
72
|
+
nativeEvent,
|
73
|
+
...this.getSlotScope(day)
|
74
|
+
};
|
72
75
|
})
|
73
76
|
}, [this.genHeadWeekday(day), this.genHeadDayLabel(day), ...this.genDayHeader(day, index)]);
|
74
77
|
},
|
@@ -109,8 +112,11 @@ export default CalendarWithIntervals.extend({
|
|
109
112
|
prevent: true,
|
110
113
|
result: false
|
111
114
|
}
|
112
|
-
},
|
113
|
-
return
|
115
|
+
}, nativeEvent => {
|
116
|
+
return {
|
117
|
+
nativeEvent,
|
118
|
+
...day
|
119
|
+
};
|
114
120
|
})
|
115
121
|
}, this.dayFormatter(day, false));
|
116
122
|
},
|
@@ -147,8 +153,11 @@ export default CalendarWithIntervals.extend({
|
|
147
153
|
key: day.date,
|
148
154
|
staticClass: 'v-calendar-daily__day',
|
149
155
|
class: this.getRelativeClasses(day),
|
150
|
-
on: this.getDefaultMouseEventHandlers(':time',
|
151
|
-
return
|
156
|
+
on: this.getDefaultMouseEventHandlers(':time', nativeEvent => {
|
157
|
+
return {
|
158
|
+
nativeEvent,
|
159
|
+
...this.getSlotScope(this.getTimestampAtEvent(nativeEvent, day))
|
160
|
+
};
|
152
161
|
})
|
153
162
|
}, [...this.genDayIntervals(index), ...this.genDayBody(day)]);
|
154
163
|
},
|
@@ -179,8 +188,11 @@ export default CalendarWithIntervals.extend({
|
|
179
188
|
style: {
|
180
189
|
width
|
181
190
|
},
|
182
|
-
on: this.getDefaultMouseEventHandlers(':interval',
|
183
|
-
return
|
191
|
+
on: this.getDefaultMouseEventHandlers(':interval', nativeEvent => {
|
192
|
+
return {
|
193
|
+
nativeEvent,
|
194
|
+
...this.getTimestampAtEvent(nativeEvent, this.parsedStart)
|
195
|
+
};
|
184
196
|
})
|
185
197
|
};
|
186
198
|
return this.$createElement('div', data, this.genIntervalLabels());
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VCalendarDaily.mjs","names":["Resize","VBtn","CalendarWithIntervals","convertToUnit","getSlot","extend","name","directives","data","scrollPush","computed","classes","themeClasses","mounted","init","methods","$nextTick","onResize","getScrollPush","area","$refs","scrollArea","pane","offsetWidth","genHead","$createElement","staticClass","style","marginRight","genHeadIntervals","genHeadDays","width","intervalWidth","days","map","genHeadDay","day","index","key","date","class","getRelativeClasses","on","getDefaultMouseEventHandlers","_e","getSlotScope","genHeadWeekday","genHeadDayLabel","genDayHeader","week","color","present","undefined","setTextColor","weekdayFormatter","shortWeekdays","genHeadDayButton","props","fab","depressed","getMouseEventHandlers","event","stop","prevent","result","dayFormatter","genBody","genScrollArea","ref","genPane","height","bodyHeight","genDayContainer","genBodyIntervals","genDays","genDay","e","getTimestampAtEvent","genDayIntervals","genDayBody","intervals","genDayInterval","interval","intervalHeight","styler","intervalStyle","intervalStyleDefault","time","children","parsedStart","genIntervalLabels","length","genIntervalLabel","short","shortIntervals","shower","showIntervalLabel","showIntervalLabelDefault","show","label","intervalFormatter","render","h","dragstart","preventDefault","modifiers","quiet","value","hideHeader"],"sources":["../../../src/components/VCalendar/VCalendarDaily.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport './VCalendarDaily.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Mixins\nimport CalendarWithIntervals from './mixins/calendar-with-intervals'\n\n// Util\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { CalendarTimestamp } from 'vuetify/types'\n\n/* @vue/component */\nexport default CalendarWithIntervals.extend({\n name: 'v-calendar-daily',\n\n directives: { Resize },\n\n data: () => ({\n scrollPush: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-calendar-daily': true,\n ...this.themeClasses,\n }\n },\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init () {\n this.$nextTick(this.onResize)\n },\n onResize () {\n this.scrollPush = this.getScrollPush()\n },\n getScrollPush (): number {\n const area = this.$refs.scrollArea as HTMLElement\n const pane = this.$refs.pane as HTMLElement\n\n return area && pane ? (area.offsetWidth - pane.offsetWidth) : 0\n },\n genHead (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__head',\n style: {\n marginRight: this.scrollPush + 'px',\n },\n }, [\n this.genHeadIntervals(),\n ...this.genHeadDays(),\n ])\n },\n genHeadIntervals (): VNode {\n const width: string | undefined = convertToUnit(this.intervalWidth)\n\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__intervals-head',\n style: {\n width,\n },\n }, getSlot(this, 'interval-header'))\n },\n genHeadDays (): VNode[] {\n return this.days.map(this.genHeadDay)\n },\n genHeadDay (day: CalendarTimestamp, index: number): VNode {\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-daily_head-day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':day', _e => {\n return this.getSlotScope(day)\n }),\n }, [\n this.genHeadWeekday(day),\n this.genHeadDayLabel(day),\n ...this.genDayHeader(day, index),\n ])\n },\n genDayHeader (day: CalendarTimestamp, index: number): VNode[] {\n return getSlot(this, 'day-header', () => ({\n week: this.days, ...day, index,\n })) || []\n },\n genHeadWeekday (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : undefined\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-calendar-daily_head-weekday',\n }), this.weekdayFormatter(day, this.shortWeekdays))\n },\n genHeadDayLabel (day: CalendarTimestamp): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily_head-day-label',\n }, getSlot(this, 'day-label-header', day) || [this.genHeadDayButton(day)])\n },\n genHeadDayButton (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : 'transparent'\n\n return this.$createElement(VBtn, {\n props: {\n color,\n fab: true,\n depressed: true,\n },\n on: this.getMouseEventHandlers({\n 'click:date': { event: 'click', stop: true },\n 'contextmenu:date': { event: 'contextmenu', stop: true, prevent: true, result: false },\n }, _e => {\n return day\n }),\n }, this.dayFormatter(day, false))\n },\n genBody (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__body',\n }, [\n this.genScrollArea(),\n ])\n },\n genScrollArea (): VNode {\n return this.$createElement('div', {\n ref: 'scrollArea',\n staticClass: 'v-calendar-daily__scroll-area',\n }, [\n this.genPane(),\n ])\n },\n genPane (): VNode {\n return this.$createElement('div', {\n ref: 'pane',\n staticClass: 'v-calendar-daily__pane',\n style: {\n height: convertToUnit(this.bodyHeight),\n },\n }, [\n this.genDayContainer(),\n ])\n },\n genDayContainer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__day-container',\n }, [\n this.genBodyIntervals(),\n ...this.genDays(),\n ])\n },\n genDays (): VNode[] {\n return this.days.map(this.genDay)\n },\n genDay (day: CalendarTimestamp, index: number): VNode {\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-daily__day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':time', e => {\n return this.getSlotScope(this.getTimestampAtEvent(e, day))\n }),\n }, [\n ...this.genDayIntervals(index),\n ...this.genDayBody(day),\n ])\n },\n genDayBody (day: CalendarTimestamp): VNode[] {\n return getSlot(this, 'day-body', () => this.getSlotScope(day)) || []\n },\n genDayIntervals (index: number): VNode[] {\n return this.intervals[index].map(this.genDayInterval)\n },\n genDayInterval (interval: CalendarTimestamp): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const styler = this.intervalStyle || this.intervalStyleDefault\n\n const data = {\n key: interval.time,\n staticClass: 'v-calendar-daily__day-interval',\n style: {\n height,\n ...styler(interval),\n },\n }\n\n const children = getSlot(this, 'interval', () => this.getSlotScope(interval))\n\n return this.$createElement('div', data, children)\n },\n genBodyIntervals (): VNode {\n const width: string | undefined = convertToUnit(this.intervalWidth)\n const data = {\n staticClass: 'v-calendar-daily__intervals-body',\n style: {\n width,\n },\n on: this.getDefaultMouseEventHandlers(':interval', e => {\n return this.getTimestampAtEvent(e, this.parsedStart)\n }),\n }\n\n return this.$createElement('div', data, this.genIntervalLabels())\n },\n genIntervalLabels (): VNode[] | null {\n if (!this.intervals.length) return null\n\n return this.intervals[0].map(this.genIntervalLabel)\n },\n genIntervalLabel (interval: CalendarTimestamp): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const short: boolean = this.shortIntervals\n const shower = this.showIntervalLabel || this.showIntervalLabelDefault\n const show = shower(interval)\n const label = show ? this.intervalFormatter(interval, short) : undefined\n\n return this.$createElement('div', {\n key: interval.time,\n staticClass: 'v-calendar-daily__interval',\n style: {\n height,\n },\n }, [\n this.$createElement('div', {\n staticClass: 'v-calendar-daily__interval-text',\n }, label),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n class: this.classes,\n on: {\n dragstart: (e: MouseEvent) => {\n e.preventDefault()\n },\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.onResize,\n }],\n }, [\n !this.hideHeader ? this.genHead() : '',\n this.genBody(),\n ])\n },\n})\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"VCalendarDaily.mjs","names":["Resize","VBtn","CalendarWithIntervals","convertToUnit","getSlot","extend","name","directives","data","scrollPush","computed","classes","themeClasses","mounted","init","methods","$nextTick","onResize","getScrollPush","area","$refs","scrollArea","pane","offsetWidth","genHead","$createElement","staticClass","style","marginRight","genHeadIntervals","genHeadDays","width","intervalWidth","days","map","genHeadDay","day","index","key","date","class","getRelativeClasses","on","getDefaultMouseEventHandlers","nativeEvent","getSlotScope","genHeadWeekday","genHeadDayLabel","genDayHeader","week","color","present","undefined","setTextColor","weekdayFormatter","shortWeekdays","genHeadDayButton","props","fab","depressed","getMouseEventHandlers","event","stop","prevent","result","dayFormatter","genBody","genScrollArea","ref","genPane","height","bodyHeight","genDayContainer","genBodyIntervals","genDays","genDay","getTimestampAtEvent","genDayIntervals","genDayBody","intervals","genDayInterval","interval","intervalHeight","styler","intervalStyle","intervalStyleDefault","time","children","parsedStart","genIntervalLabels","length","genIntervalLabel","short","shortIntervals","shower","showIntervalLabel","showIntervalLabelDefault","show","label","intervalFormatter","render","h","dragstart","e","preventDefault","modifiers","quiet","value","hideHeader"],"sources":["../../../src/components/VCalendar/VCalendarDaily.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport './VCalendarDaily.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Mixins\nimport CalendarWithIntervals from './mixins/calendar-with-intervals'\n\n// Util\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { CalendarTimestamp } from 'vuetify/types'\n\n/* @vue/component */\nexport default CalendarWithIntervals.extend({\n name: 'v-calendar-daily',\n\n directives: { Resize },\n\n data: () => ({\n scrollPush: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-calendar-daily': true,\n ...this.themeClasses,\n }\n },\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init () {\n this.$nextTick(this.onResize)\n },\n onResize () {\n this.scrollPush = this.getScrollPush()\n },\n getScrollPush (): number {\n const area = this.$refs.scrollArea as HTMLElement\n const pane = this.$refs.pane as HTMLElement\n\n return area && pane ? (area.offsetWidth - pane.offsetWidth) : 0\n },\n genHead (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__head',\n style: {\n marginRight: this.scrollPush + 'px',\n },\n }, [\n this.genHeadIntervals(),\n ...this.genHeadDays(),\n ])\n },\n genHeadIntervals (): VNode {\n const width: string | undefined = convertToUnit(this.intervalWidth)\n\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__intervals-head',\n style: {\n width,\n },\n }, getSlot(this, 'interval-header'))\n },\n genHeadDays (): VNode[] {\n return this.days.map(this.genHeadDay)\n },\n genHeadDay (day: CalendarTimestamp, index: number): VNode {\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-daily_head-day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':day', nativeEvent => {\n return { nativeEvent, ...this.getSlotScope(day) }\n }),\n }, [\n this.genHeadWeekday(day),\n this.genHeadDayLabel(day),\n ...this.genDayHeader(day, index),\n ])\n },\n genDayHeader (day: CalendarTimestamp, index: number): VNode[] {\n return getSlot(this, 'day-header', () => ({\n week: this.days, ...day, index,\n })) || []\n },\n genHeadWeekday (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : undefined\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-calendar-daily_head-weekday',\n }), this.weekdayFormatter(day, this.shortWeekdays))\n },\n genHeadDayLabel (day: CalendarTimestamp): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily_head-day-label',\n }, getSlot(this, 'day-label-header', day) || [this.genHeadDayButton(day)])\n },\n genHeadDayButton (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : 'transparent'\n\n return this.$createElement(VBtn, {\n props: {\n color,\n fab: true,\n depressed: true,\n },\n on: this.getMouseEventHandlers({\n 'click:date': { event: 'click', stop: true },\n 'contextmenu:date': { event: 'contextmenu', stop: true, prevent: true, result: false },\n }, nativeEvent => {\n return { nativeEvent, ...day }\n }),\n }, this.dayFormatter(day, false))\n },\n genBody (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__body',\n }, [\n this.genScrollArea(),\n ])\n },\n genScrollArea (): VNode {\n return this.$createElement('div', {\n ref: 'scrollArea',\n staticClass: 'v-calendar-daily__scroll-area',\n }, [\n this.genPane(),\n ])\n },\n genPane (): VNode {\n return this.$createElement('div', {\n ref: 'pane',\n staticClass: 'v-calendar-daily__pane',\n style: {\n height: convertToUnit(this.bodyHeight),\n },\n }, [\n this.genDayContainer(),\n ])\n },\n genDayContainer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__day-container',\n }, [\n this.genBodyIntervals(),\n ...this.genDays(),\n ])\n },\n genDays (): VNode[] {\n return this.days.map(this.genDay)\n },\n genDay (day: CalendarTimestamp, index: number): VNode {\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-daily__day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':time', nativeEvent => {\n return { nativeEvent, ...this.getSlotScope(this.getTimestampAtEvent(nativeEvent, day)) }\n }),\n }, [\n ...this.genDayIntervals(index),\n ...this.genDayBody(day),\n ])\n },\n genDayBody (day: CalendarTimestamp): VNode[] {\n return getSlot(this, 'day-body', () => this.getSlotScope(day)) || []\n },\n genDayIntervals (index: number): VNode[] {\n return this.intervals[index].map(this.genDayInterval)\n },\n genDayInterval (interval: CalendarTimestamp): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const styler = this.intervalStyle || this.intervalStyleDefault\n\n const data = {\n key: interval.time,\n staticClass: 'v-calendar-daily__day-interval',\n style: {\n height,\n ...styler(interval),\n },\n\n }\n\n const children = getSlot(this, 'interval', () => this.getSlotScope(interval))\n\n return this.$createElement('div', data, children)\n },\n genBodyIntervals (): VNode {\n const width: string | undefined = convertToUnit(this.intervalWidth)\n const data = {\n staticClass: 'v-calendar-daily__intervals-body',\n style: {\n width,\n },\n on: this.getDefaultMouseEventHandlers(':interval', nativeEvent => {\n return { nativeEvent, ...this.getTimestampAtEvent(nativeEvent, this.parsedStart) }\n }),\n }\n\n return this.$createElement('div', data, this.genIntervalLabels())\n },\n genIntervalLabels (): VNode[] | null {\n if (!this.intervals.length) return null\n\n return this.intervals[0].map(this.genIntervalLabel)\n },\n genIntervalLabel (interval: CalendarTimestamp): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const short: boolean = this.shortIntervals\n const shower = this.showIntervalLabel || this.showIntervalLabelDefault\n const show = shower(interval)\n const label = show ? this.intervalFormatter(interval, short) : undefined\n\n return this.$createElement('div', {\n key: interval.time,\n staticClass: 'v-calendar-daily__interval',\n style: {\n height,\n },\n }, [\n this.$createElement('div', {\n staticClass: 'v-calendar-daily__interval-text',\n }, label),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n class: this.classes,\n on: {\n dragstart: (e: MouseEvent) => {\n e.preventDefault()\n },\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.onResize,\n }],\n }, [\n !this.hideHeader ? this.genHead() : '',\n this.genBody(),\n ])\n },\n})\n"],"mappings":"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"}
|