@vuetify/nightly 3.8.11-master.2025-06-27 → 3.8.11-master.2025-06-30

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.
Files changed (48) hide show
  1. package/CHANGELOG.md +7 -3
  2. package/dist/json/attributes.json +3627 -3627
  3. package/dist/json/importMap-labs.json +24 -24
  4. package/dist/json/importMap.json +128 -128
  5. package/dist/json/web-types.json +6192 -6192
  6. package/dist/vuetify-labs.cjs +23 -22
  7. package/dist/vuetify-labs.css +4816 -4816
  8. package/dist/vuetify-labs.d.ts +190 -190
  9. package/dist/vuetify-labs.esm.js +23 -22
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +23 -22
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +7 -6
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +3704 -3704
  16. package/dist/vuetify.d.ts +47 -47
  17. package/dist/vuetify.esm.js +7 -6
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +7 -6
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +6 -7
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VDataTable/composables/sort.js +2 -1
  25. package/lib/components/VDataTable/composables/sort.js.map +1 -1
  26. package/lib/components/VOverlay/locationStrategies.js +1 -1
  27. package/lib/components/VOverlay/locationStrategies.js.map +1 -1
  28. package/lib/composables/virtual.js +1 -1
  29. package/lib/composables/virtual.js.map +1 -1
  30. package/lib/entry-bundler.js +1 -1
  31. package/lib/framework.d.ts +47 -47
  32. package/lib/framework.js +1 -1
  33. package/lib/labs/VCalendar/VCalendar.d.ts +33 -33
  34. package/lib/labs/VCalendar/VCalendar.js +1 -1
  35. package/lib/labs/VCalendar/VCalendar.js.map +1 -1
  36. package/lib/labs/VCalendar/VCalendarDay.d.ts +33 -33
  37. package/lib/labs/VCalendar/VCalendarDay.js +1 -1
  38. package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
  39. package/lib/labs/VCalendar/VCalendarInterval.d.ts +36 -36
  40. package/lib/labs/VCalendar/VCalendarInterval.js +9 -9
  41. package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
  42. package/lib/labs/VCalendar/VCalendarIntervalEvent.d.ts +12 -12
  43. package/lib/labs/VCalendar/VCalendarIntervalEvent.js +1 -1
  44. package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
  45. package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +36 -36
  46. package/lib/labs/VCalendar/VCalendarMonthDay.js +4 -4
  47. package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
  48. package/package.json +1 -1
@@ -44,7 +44,7 @@ export const VCalendarDay = genericComponent()({
44
44
  }), null)])]), intervals.value.map((_, index) => slots.interval?.(calendarIntervalProps) ?? _createVNode(VCalendarInterval, _mergeProps({
45
45
  "index": index
46
46
  }, calendarIntervalProps, attrs, getPrefixedEventHandlers(attrs, ':interval', () => calendarIntervalProps)), {
47
- ...pick(slots, ['intervalBody', 'intervalEvent', 'intervalTitle'])
47
+ ...pick(slots, ['interval-body', 'interval-event', 'interval-title'])
48
48
  }))]);
49
49
  });
50
50
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"VCalendarDay.js","names":["makeVCalendarIntervalProps","VCalendarInterval","VBtn","useDate","computed","genericComponent","getPrefixedEventHandlers","pick","propsFactory","useRender","makeVCalendarDayProps","hideDayHeader","Boolean","intervals","type","Number","default","VCalendarDay","name","inheritAttrs","props","setup","_ref","attrs","slots","adapter","Array","from","length","v","i","filter","_","index","intervalDuration","intervalStart","calendarIntervalProps","filterProps","_createElementVNode","_mergeProps","day","format","date","_createVNode","isToday","undefined","value","map","interval"],"sources":["../../../src/labs/VCalendar/VCalendarDay.tsx"],"sourcesContent":["// Styles\nimport './VCalendarDay.sass'\n\n// Components\nimport { makeVCalendarIntervalProps, VCalendarInterval } from './VCalendarInterval'\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, getPrefixedEventHandlers, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VCalendarIntervalSlots } from './VCalendarInterval'\n\nexport type VCalendarDaySlots = VCalendarIntervalSlots & {\n interval: Record<string, unknown>\n}\n\nexport const makeVCalendarDayProps = propsFactory({\n hideDayHeader: Boolean,\n intervals: {\n type: Number,\n default: 24,\n },\n\n ...makeVCalendarIntervalProps(),\n}, 'VCalendarDay')\n\nexport const VCalendarDay = genericComponent<VCalendarDaySlots>()({\n name: 'VCalendarDay',\n\n inheritAttrs: false,\n\n props: makeVCalendarDayProps(),\n\n setup (props, { attrs, slots }) {\n const adapter = useDate()\n const intervals = computed(() => [\n ...Array.from({ length: props.intervals }, (v, i) => i)\n .filter((_, index) => (props.intervalDuration * (index + props.intervalStart)) < 1440),\n ])\n\n useRender(() => {\n const calendarIntervalProps = VCalendarInterval.filterProps(props)\n\n return (\n <div class=\"v-calendar-day__container\">\n { !props.hideDayHeader && (\n <div\n key=\"calendar-week-name\"\n class=\"v-calendar-weekly__head-weekday\"\n { ...getPrefixedEventHandlers(attrs, ':day', () => props.day) }\n >\n { adapter.format(props.day.date, 'weekdayShort') }\n\n <div>\n <VBtn\n { ...getPrefixedEventHandlers(attrs, ':date', () => props.day) }\n class={ props.day?.isToday ? 'v-calendar-day-label__today' : undefined }\n icon\n text={ adapter.format(props.day.date, 'dayOfMonth') }\n variant={ props.day?.isToday ? undefined : 'text' }\n />\n </div>\n </div>\n )}\n { intervals.value.map((_, index) =>\n slots.interval?.(calendarIntervalProps) ?? (\n <VCalendarInterval\n index={ index }\n { ...calendarIntervalProps }\n { ...attrs }\n { ...getPrefixedEventHandlers(attrs, ':interval', () => calendarIntervalProps) }\n >\n {{\n ...pick(slots, ['intervalBody', 'intervalEvent', 'intervalTitle']),\n }}\n </VCalendarInterval>\n )\n )}\n </div>\n )\n })\n\n return { intervals }\n },\n})\n\nexport type VCalendarDay = InstanceType<typeof VCalendarDay>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,0BAA0B,EAAEC,iBAAiB;AAAA,SAC7CC,IAAI,0CAEb;AAAA,SACSC,OAAO,2CAEhB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,wBAAwB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,+BAElF;AAOA,OAAO,MAAMC,qBAAqB,GAAGF,YAAY,CAAC;EAChDG,aAAa,EAAEC,OAAO;EACtBC,SAAS,EAAE;IACTC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EAED,GAAGhB,0BAA0B,CAAC;AAChC,CAAC,EAAE,cAAc,CAAC;AAElB,OAAO,MAAMiB,YAAY,GAAGZ,gBAAgB,CAAoB,CAAC,CAAC;EAChEa,IAAI,EAAE,cAAc;EAEpBC,YAAY,EAAE,KAAK;EAEnBC,KAAK,EAAEV,qBAAqB,CAAC,CAAC;EAE9BW,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC5B,MAAMG,OAAO,GAAGtB,OAAO,CAAC,CAAC;IACzB,MAAMU,SAAS,GAAGT,QAAQ,CAAC,MAAM,CAC/B,GAAGsB,KAAK,CAACC,IAAI,CAAC;MAAEC,MAAM,EAAER,KAAK,CAACP;IAAU,CAAC,EAAE,CAACgB,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAAC,CACpDC,MAAM,CAAC,CAACC,CAAC,EAAEC,KAAK,KAAMb,KAAK,CAACc,gBAAgB,IAAID,KAAK,GAAGb,KAAK,CAACe,aAAa,CAAC,GAAI,IAAI,CAAC,CACzF,CAAC;IAEF1B,SAAS,CAAC,MAAM;MACd,MAAM2B,qBAAqB,GAAGnC,iBAAiB,CAACoC,WAAW,CAACjB,KAAK,CAAC;MAElE,OAAAkB,mBAAA;QAAA;MAAA,IAEM,CAAClB,KAAK,CAACT,aAAa,IAAA2B,mBAAA,QAAAC,WAAA;QAAA;QAAA;MAAA,GAIbjC,wBAAwB,CAACiB,KAAK,EAAE,MAAM,EAAE,MAAMH,KAAK,CAACoB,GAAG,CAAC,IAE3Df,OAAO,CAACgB,MAAM,CAACrB,KAAK,CAACoB,GAAG,CAACE,IAAI,EAAE,cAAc,CAAC,EAAAJ,mBAAA,eAAAK,YAAA,CAAAzC,IAAA,EAAAqC,WAAA,CAIvCjC,wBAAwB,CAACiB,KAAK,EAAE,OAAO,EAAE,MAAMH,KAAK,CAACoB,GAAG,CAAC;QAAA,SACtDpB,KAAK,CAACoB,GAAG,EAAEI,OAAO,GAAG,6BAA6B,GAAGC,SAAS;QAAA;QAAA,QAE/DpB,OAAO,CAACgB,MAAM,CAACrB,KAAK,CAACoB,GAAG,CAACE,IAAI,EAAE,YAAY,CAAC;QAAA,WACzCtB,KAAK,CAACoB,GAAG,EAAEI,OAAO,GAAGC,SAAS,GAAG;MAAM,aAIxD,EACChC,SAAS,CAACiC,KAAK,CAACC,GAAG,CAAC,CAACf,CAAC,EAAEC,KAAK,KAC7BT,KAAK,CAACwB,QAAQ,GAAGZ,qBAAqB,CAAC,IAAAO,YAAA,CAAA1C,iBAAA,EAAAsC,WAAA;QAAA,SAE3BN;MAAK,GACRG,qBAAqB,EACrBb,KAAK,EACLjB,wBAAwB,CAACiB,KAAK,EAAE,WAAW,EAAE,MAAMa,qBAAqB,CAAC;QAG5E,GAAG7B,IAAI,CAACiB,KAAK,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,eAAe,CAAC;MAAC,EAI1E,CAAC;IAGP,CAAC,CAAC;IAEF,OAAO;MAAEX;IAAU,CAAC;EACtB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VCalendarDay.js","names":["makeVCalendarIntervalProps","VCalendarInterval","VBtn","useDate","computed","genericComponent","getPrefixedEventHandlers","pick","propsFactory","useRender","makeVCalendarDayProps","hideDayHeader","Boolean","intervals","type","Number","default","VCalendarDay","name","inheritAttrs","props","setup","_ref","attrs","slots","adapter","Array","from","length","v","i","filter","_","index","intervalDuration","intervalStart","calendarIntervalProps","filterProps","_createElementVNode","_mergeProps","day","format","date","_createVNode","isToday","undefined","value","map","interval"],"sources":["../../../src/labs/VCalendar/VCalendarDay.tsx"],"sourcesContent":["// Styles\nimport './VCalendarDay.sass'\n\n// Components\nimport { makeVCalendarIntervalProps, VCalendarInterval } from './VCalendarInterval'\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, getPrefixedEventHandlers, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VCalendarIntervalSlots } from './VCalendarInterval'\n\nexport type VCalendarDaySlots = VCalendarIntervalSlots & {\n interval: Record<string, unknown>\n}\n\nexport const makeVCalendarDayProps = propsFactory({\n hideDayHeader: Boolean,\n intervals: {\n type: Number,\n default: 24,\n },\n\n ...makeVCalendarIntervalProps(),\n}, 'VCalendarDay')\n\nexport const VCalendarDay = genericComponent<VCalendarDaySlots>()({\n name: 'VCalendarDay',\n\n inheritAttrs: false,\n\n props: makeVCalendarDayProps(),\n\n setup (props, { attrs, slots }) {\n const adapter = useDate()\n const intervals = computed(() => [\n ...Array.from({ length: props.intervals }, (v, i) => i)\n .filter((_, index) => (props.intervalDuration * (index + props.intervalStart)) < 1440),\n ])\n\n useRender(() => {\n const calendarIntervalProps = VCalendarInterval.filterProps(props)\n\n return (\n <div class=\"v-calendar-day__container\">\n { !props.hideDayHeader && (\n <div\n key=\"calendar-week-name\"\n class=\"v-calendar-weekly__head-weekday\"\n { ...getPrefixedEventHandlers(attrs, ':day', () => props.day) }\n >\n { adapter.format(props.day.date, 'weekdayShort') }\n\n <div>\n <VBtn\n { ...getPrefixedEventHandlers(attrs, ':date', () => props.day) }\n class={ props.day?.isToday ? 'v-calendar-day-label__today' : undefined }\n icon\n text={ adapter.format(props.day.date, 'dayOfMonth') }\n variant={ props.day?.isToday ? undefined : 'text' }\n />\n </div>\n </div>\n )}\n { intervals.value.map((_, index) =>\n slots.interval?.(calendarIntervalProps) ?? (\n <VCalendarInterval\n index={ index }\n { ...calendarIntervalProps }\n { ...attrs }\n { ...getPrefixedEventHandlers(attrs, ':interval', () => calendarIntervalProps) }\n >\n {{\n ...pick(slots, ['interval-body', 'interval-event', 'interval-title']),\n }}\n </VCalendarInterval>\n )\n )}\n </div>\n )\n })\n\n return { intervals }\n },\n})\n\nexport type VCalendarDay = InstanceType<typeof VCalendarDay>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,0BAA0B,EAAEC,iBAAiB;AAAA,SAC7CC,IAAI,0CAEb;AAAA,SACSC,OAAO,2CAEhB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,wBAAwB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,+BAElF;AAOA,OAAO,MAAMC,qBAAqB,GAAGF,YAAY,CAAC;EAChDG,aAAa,EAAEC,OAAO;EACtBC,SAAS,EAAE;IACTC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EAED,GAAGhB,0BAA0B,CAAC;AAChC,CAAC,EAAE,cAAc,CAAC;AAElB,OAAO,MAAMiB,YAAY,GAAGZ,gBAAgB,CAAoB,CAAC,CAAC;EAChEa,IAAI,EAAE,cAAc;EAEpBC,YAAY,EAAE,KAAK;EAEnBC,KAAK,EAAEV,qBAAqB,CAAC,CAAC;EAE9BW,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC5B,MAAMG,OAAO,GAAGtB,OAAO,CAAC,CAAC;IACzB,MAAMU,SAAS,GAAGT,QAAQ,CAAC,MAAM,CAC/B,GAAGsB,KAAK,CAACC,IAAI,CAAC;MAAEC,MAAM,EAAER,KAAK,CAACP;IAAU,CAAC,EAAE,CAACgB,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAAC,CACpDC,MAAM,CAAC,CAACC,CAAC,EAAEC,KAAK,KAAMb,KAAK,CAACc,gBAAgB,IAAID,KAAK,GAAGb,KAAK,CAACe,aAAa,CAAC,GAAI,IAAI,CAAC,CACzF,CAAC;IAEF1B,SAAS,CAAC,MAAM;MACd,MAAM2B,qBAAqB,GAAGnC,iBAAiB,CAACoC,WAAW,CAACjB,KAAK,CAAC;MAElE,OAAAkB,mBAAA;QAAA;MAAA,IAEM,CAAClB,KAAK,CAACT,aAAa,IAAA2B,mBAAA,QAAAC,WAAA;QAAA;QAAA;MAAA,GAIbjC,wBAAwB,CAACiB,KAAK,EAAE,MAAM,EAAE,MAAMH,KAAK,CAACoB,GAAG,CAAC,IAE3Df,OAAO,CAACgB,MAAM,CAACrB,KAAK,CAACoB,GAAG,CAACE,IAAI,EAAE,cAAc,CAAC,EAAAJ,mBAAA,eAAAK,YAAA,CAAAzC,IAAA,EAAAqC,WAAA,CAIvCjC,wBAAwB,CAACiB,KAAK,EAAE,OAAO,EAAE,MAAMH,KAAK,CAACoB,GAAG,CAAC;QAAA,SACtDpB,KAAK,CAACoB,GAAG,EAAEI,OAAO,GAAG,6BAA6B,GAAGC,SAAS;QAAA;QAAA,QAE/DpB,OAAO,CAACgB,MAAM,CAACrB,KAAK,CAACoB,GAAG,CAACE,IAAI,EAAE,YAAY,CAAC;QAAA,WACzCtB,KAAK,CAACoB,GAAG,EAAEI,OAAO,GAAGC,SAAS,GAAG;MAAM,aAIxD,EACChC,SAAS,CAACiC,KAAK,CAACC,GAAG,CAAC,CAACf,CAAC,EAAEC,KAAK,KAC7BT,KAAK,CAACwB,QAAQ,GAAGZ,qBAAqB,CAAC,IAAAO,YAAA,CAAA1C,iBAAA,EAAAsC,WAAA;QAAA,SAE3BN;MAAK,GACRG,qBAAqB,EACrBb,KAAK,EACLjB,wBAAwB,CAACiB,KAAK,EAAE,WAAW,EAAE,MAAMa,qBAAqB,CAAC;QAG5E,GAAG7B,IAAI,CAACiB,KAAK,EAAE,CAAC,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;MAAC,EAI7E,CAAC;IAGP,CAAC,CAAC;IAEF,OAAO;MAAEX;IAAU,CAAC;EACtB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -5,17 +5,17 @@ type Interval = {
5
5
  events: any[];
6
6
  };
7
7
  export type VCalendarIntervalSlots = {
8
- intervalBody: {
8
+ 'interval-body': {
9
9
  interval: Interval;
10
10
  };
11
- intervalEvent: {
11
+ 'interval-event': {
12
12
  height: string;
13
13
  margin: string;
14
14
  eventClass: string;
15
15
  event: any;
16
16
  interval: Interval;
17
17
  };
18
- intervalTitle: {
18
+ 'interval-title': {
19
19
  interval: Interval;
20
20
  };
21
21
  };
@@ -127,47 +127,47 @@ export declare const VCalendarInterval: {
127
127
  dayIndex?: number | undefined;
128
128
  } & {
129
129
  $children?: {} | import("vue").VNodeChild | {
130
- intervalBody?: ((arg: {
130
+ 'interval-body'?: ((arg: {
131
131
  interval: Interval;
132
132
  }) => import("vue").VNodeChild) | undefined;
133
- intervalEvent?: ((arg: {
133
+ 'interval-event'?: ((arg: {
134
134
  height: string;
135
135
  margin: string;
136
136
  eventClass: string;
137
137
  event: any;
138
138
  interval: Interval;
139
139
  }) => import("vue").VNodeChild) | undefined;
140
- intervalTitle?: ((arg: {
140
+ 'interval-title'?: ((arg: {
141
141
  interval: Interval;
142
142
  }) => import("vue").VNodeChild) | undefined;
143
143
  };
144
144
  'v-slots'?: {
145
- intervalBody?: false | ((arg: {
145
+ 'interval-body'?: false | ((arg: {
146
146
  interval: Interval;
147
147
  }) => import("vue").VNodeChild) | undefined;
148
- intervalEvent?: false | ((arg: {
148
+ 'interval-event'?: false | ((arg: {
149
149
  height: string;
150
150
  margin: string;
151
151
  eventClass: string;
152
152
  event: any;
153
153
  interval: Interval;
154
154
  }) => import("vue").VNodeChild) | undefined;
155
- intervalTitle?: false | ((arg: {
155
+ 'interval-title'?: false | ((arg: {
156
156
  interval: Interval;
157
157
  }) => import("vue").VNodeChild) | undefined;
158
158
  } | undefined;
159
159
  } & {
160
- "v-slot:intervalBody"?: false | ((arg: {
160
+ "v-slot:interval-body"?: false | ((arg: {
161
161
  interval: Interval;
162
162
  }) => import("vue").VNodeChild) | undefined;
163
- "v-slot:intervalEvent"?: false | ((arg: {
163
+ "v-slot:interval-event"?: false | ((arg: {
164
164
  height: string;
165
165
  margin: string;
166
166
  eventClass: string;
167
167
  event: any;
168
168
  interval: Interval;
169
169
  }) => import("vue").VNodeChild) | undefined;
170
- "v-slot:intervalTitle"?: false | ((arg: {
170
+ "v-slot:interval-title"?: false | ((arg: {
171
171
  interval: Interval;
172
172
  }) => import("vue").VNodeChild) | undefined;
173
173
  }, {
@@ -185,17 +185,17 @@ export declare const VCalendarInterval: {
185
185
  intervalFormat: string | Function;
186
186
  intervalStart: number;
187
187
  }, true, {}, import("vue").SlotsType<Partial<{
188
- intervalBody: (arg: {
188
+ 'interval-body': (arg: {
189
189
  interval: Interval;
190
190
  }) => import("vue").VNode[];
191
- intervalEvent: (arg: {
191
+ 'interval-event': (arg: {
192
192
  height: string;
193
193
  margin: string;
194
194
  eventClass: string;
195
195
  event: any;
196
196
  interval: Interval;
197
197
  }) => import("vue").VNode[];
198
- intervalTitle: (arg: {
198
+ 'interval-title': (arg: {
199
199
  interval: Interval;
200
200
  }) => import("vue").VNode[];
201
201
  }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
@@ -218,47 +218,47 @@ export declare const VCalendarInterval: {
218
218
  dayIndex?: number | undefined;
219
219
  } & {
220
220
  $children?: {} | import("vue").VNodeChild | {
221
- intervalBody?: ((arg: {
221
+ 'interval-body'?: ((arg: {
222
222
  interval: Interval;
223
223
  }) => import("vue").VNodeChild) | undefined;
224
- intervalEvent?: ((arg: {
224
+ 'interval-event'?: ((arg: {
225
225
  height: string;
226
226
  margin: string;
227
227
  eventClass: string;
228
228
  event: any;
229
229
  interval: Interval;
230
230
  }) => import("vue").VNodeChild) | undefined;
231
- intervalTitle?: ((arg: {
231
+ 'interval-title'?: ((arg: {
232
232
  interval: Interval;
233
233
  }) => import("vue").VNodeChild) | undefined;
234
234
  };
235
235
  'v-slots'?: {
236
- intervalBody?: false | ((arg: {
236
+ 'interval-body'?: false | ((arg: {
237
237
  interval: Interval;
238
238
  }) => import("vue").VNodeChild) | undefined;
239
- intervalEvent?: false | ((arg: {
239
+ 'interval-event'?: false | ((arg: {
240
240
  height: string;
241
241
  margin: string;
242
242
  eventClass: string;
243
243
  event: any;
244
244
  interval: Interval;
245
245
  }) => import("vue").VNodeChild) | undefined;
246
- intervalTitle?: false | ((arg: {
246
+ 'interval-title'?: false | ((arg: {
247
247
  interval: Interval;
248
248
  }) => import("vue").VNodeChild) | undefined;
249
249
  } | undefined;
250
250
  } & {
251
- "v-slot:intervalBody"?: false | ((arg: {
251
+ "v-slot:interval-body"?: false | ((arg: {
252
252
  interval: Interval;
253
253
  }) => import("vue").VNodeChild) | undefined;
254
- "v-slot:intervalEvent"?: false | ((arg: {
254
+ "v-slot:interval-event"?: false | ((arg: {
255
255
  height: string;
256
256
  margin: string;
257
257
  eventClass: string;
258
258
  event: any;
259
259
  interval: Interval;
260
260
  }) => import("vue").VNodeChild) | undefined;
261
- "v-slot:intervalTitle"?: false | ((arg: {
261
+ "v-slot:interval-title"?: false | ((arg: {
262
262
  interval: Interval;
263
263
  }) => import("vue").VNodeChild) | undefined;
264
264
  }, {
@@ -292,47 +292,47 @@ export declare const VCalendarInterval: {
292
292
  dayIndex?: number | undefined;
293
293
  } & {
294
294
  $children?: {} | import("vue").VNodeChild | {
295
- intervalBody?: ((arg: {
295
+ 'interval-body'?: ((arg: {
296
296
  interval: Interval;
297
297
  }) => import("vue").VNodeChild) | undefined;
298
- intervalEvent?: ((arg: {
298
+ 'interval-event'?: ((arg: {
299
299
  height: string;
300
300
  margin: string;
301
301
  eventClass: string;
302
302
  event: any;
303
303
  interval: Interval;
304
304
  }) => import("vue").VNodeChild) | undefined;
305
- intervalTitle?: ((arg: {
305
+ 'interval-title'?: ((arg: {
306
306
  interval: Interval;
307
307
  }) => import("vue").VNodeChild) | undefined;
308
308
  };
309
309
  'v-slots'?: {
310
- intervalBody?: false | ((arg: {
310
+ 'interval-body'?: false | ((arg: {
311
311
  interval: Interval;
312
312
  }) => import("vue").VNodeChild) | undefined;
313
- intervalEvent?: false | ((arg: {
313
+ 'interval-event'?: false | ((arg: {
314
314
  height: string;
315
315
  margin: string;
316
316
  eventClass: string;
317
317
  event: any;
318
318
  interval: Interval;
319
319
  }) => import("vue").VNodeChild) | undefined;
320
- intervalTitle?: false | ((arg: {
320
+ 'interval-title'?: false | ((arg: {
321
321
  interval: Interval;
322
322
  }) => import("vue").VNodeChild) | undefined;
323
323
  } | undefined;
324
324
  } & {
325
- "v-slot:intervalBody"?: false | ((arg: {
325
+ "v-slot:interval-body"?: false | ((arg: {
326
326
  interval: Interval;
327
327
  }) => import("vue").VNodeChild) | undefined;
328
- "v-slot:intervalEvent"?: false | ((arg: {
328
+ "v-slot:interval-event"?: false | ((arg: {
329
329
  height: string;
330
330
  margin: string;
331
331
  eventClass: string;
332
332
  event: any;
333
333
  interval: Interval;
334
334
  }) => import("vue").VNodeChild) | undefined;
335
- "v-slot:intervalTitle"?: false | ((arg: {
335
+ "v-slot:interval-title"?: false | ((arg: {
336
336
  interval: Interval;
337
337
  }) => import("vue").VNodeChild) | undefined;
338
338
  }, {
@@ -350,17 +350,17 @@ export declare const VCalendarInterval: {
350
350
  intervalFormat: string | Function;
351
351
  intervalStart: number;
352
352
  }, {}, string, import("vue").SlotsType<Partial<{
353
- intervalBody: (arg: {
353
+ 'interval-body': (arg: {
354
354
  interval: Interval;
355
355
  }) => import("vue").VNode[];
356
- intervalEvent: (arg: {
356
+ 'interval-event': (arg: {
357
357
  height: string;
358
358
  margin: string;
359
359
  eventClass: string;
360
360
  event: any;
361
361
  interval: Interval;
362
362
  }) => import("vue").VNode[];
363
- intervalTitle: (arg: {
363
+ 'interval-title': (arg: {
364
364
  interval: Interval;
365
365
  }) => import("vue").VNode[];
366
366
  }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("../../util/index.js").FilterPropsOptions<{
@@ -75,13 +75,13 @@ export const VCalendarInterval = genericComponent()({
75
75
  "style": _normalizeStyle(`height: ${convertToUnit(props.intervalHeight)}`)
76
76
  }, [_createElementVNode("div", _mergeProps({
77
77
  "class": "v-calendar-day__row-label"
78
- }, getPrefixedEventHandlers(attrs, ':time', () => props)), [slots.intervalTitle?.({
78
+ }, getPrefixedEventHandlers(attrs, ':time', () => props)), [slots['interval-title']?.({
79
79
  interval: interval.value
80
80
  }) ?? (props.index ? props.intervalFormat ? typeof props.intervalFormat === 'string' ? adapter.format(interval.value.start, 'hours12h') : props.intervalFormat(interval.value) : interval.value.label : '12 AM')]), _createElementVNode("div", {
81
81
  "class": "v-calendar-day__row-hairline"
82
82
  }, null), _createElementVNode("div", _mergeProps({
83
83
  "class": ['v-calendar-day__row-content', interval.value.events.some(e => !e.last) ? 'v-calendar-day__row-content-through' : '']
84
- }, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots.intervalBody?.({
84
+ }, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots['interval-body']?.({
85
85
  interval: interval.value
86
86
  }) ?? _createElementVNode("div", null, [interval.value.events?.map(event => _createVNode(VCalendarIntervalEvent, _mergeProps({
87
87
  "event": event,
@@ -90,8 +90,8 @@ export const VCalendarInterval = genericComponent()({
90
90
  "intervalDuration": props.intervalDuration,
91
91
  "intervalHeight": props.intervalHeight
92
92
  }, attrs), {
93
- ...(slots.intervalEvent ? {
94
- intervalEvent: _ref2 => {
93
+ ...(slots['interval-event'] ? {
94
+ 'interval-event': _ref2 => {
95
95
  let {
96
96
  height,
97
97
  margin,
@@ -99,7 +99,7 @@ export const VCalendarInterval = genericComponent()({
99
99
  event,
100
100
  interval
101
101
  } = _ref2;
102
- return slots.intervalEvent?.({
102
+ return slots['interval-event']?.({
103
103
  height,
104
104
  margin,
105
105
  eventClass,
@@ -113,7 +113,7 @@ export const VCalendarInterval = genericComponent()({
113
113
  "style": _normalizeStyle(`height: ${convertToUnit(props.intervalHeight)}`)
114
114
  }, [_createElementVNode("div", _mergeProps({
115
115
  "class": ['v-calendar-day__row-content', interval.value.events.some(e => !e.last) ? 'v-calendar-day__row-content-through' : '']
116
- }, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots.intervalBody?.({
116
+ }, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots['interval-body']?.({
117
117
  interval: interval.value
118
118
  }) ?? interval.value.events?.map(event => _createVNode(VCalendarIntervalEvent, _mergeProps({
119
119
  "event": event,
@@ -122,8 +122,8 @@ export const VCalendarInterval = genericComponent()({
122
122
  "intervalDuration": props.intervalDuration,
123
123
  "intervalHeight": props.intervalHeight
124
124
  }, attrs), {
125
- ...(slots.intervalEvent ? {
126
- intervalEvent: _ref3 => {
125
+ ...(slots['interval-event'] ? {
126
+ 'interval-event': _ref3 => {
127
127
  let {
128
128
  height,
129
129
  margin,
@@ -131,7 +131,7 @@ export const VCalendarInterval = genericComponent()({
131
131
  event,
132
132
  interval
133
133
  } = _ref3;
134
- return slots.intervalEvent?.({
134
+ return slots['interval-event']?.({
135
135
  height,
136
136
  margin,
137
137
  eventClass,
@@ -1 +1 @@
1
- {"version":3,"file":"VCalendarInterval.js","names":["VCalendarIntervalEvent","useDate","computed","convertToUnit","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVCalendarIntervalProps","day","type","Object","default","dayIndex","Number","events","Array","intervalDivisions","intervalDuration","intervalHeight","intervalFormat","String","Function","intervalStart","VCalendarInterval","name","inheritAttrs","props","index","required","setup","_ref","attrs","emit","slots","adapter","interval","start","addMinutes","startOfDay","date","end","label","format","filter","e","allDay","isEqual","isWithinRange","map","first","last","_createElementVNode","_normalizeStyle","_mergeProps","intervalTitle","value","some","intervalBody","event","_createVNode","intervalEvent","_ref2","height","margin","eventClass","_ref3"],"sources":["../../../src/labs/VCalendar/VCalendarInterval.tsx"],"sourcesContent":["// Styles\nimport './VCalendarInterval.sass'\n\n// Components\nimport { VCalendarIntervalEvent } from './VCalendarIntervalEvent'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\ntype Interval = {\n label: string\n start: unknown\n end: unknown\n events: any[]\n}\n\nexport type VCalendarIntervalSlots = {\n intervalBody: { interval: Interval }\n intervalEvent: {\n height: string\n margin: string\n eventClass: string\n event: any\n interval: Interval\n }\n intervalTitle: { interval: Interval }\n}\n\nexport const makeVCalendarIntervalProps = propsFactory({\n day: {\n type: Object,\n default: () => ({}),\n },\n dayIndex: Number,\n events: Array<any>,\n intervalDivisions: {\n type: Number,\n default: 2,\n },\n intervalDuration: {\n type: Number,\n default: 60,\n },\n intervalHeight: {\n type: Number,\n default: 48,\n },\n intervalFormat: {\n type: [String, Function],\n default: 'fullTime12h',\n },\n intervalStart: {\n type: Number,\n default: 0,\n },\n}, 'VCalendarInterval')\n\nexport const VCalendarInterval = genericComponent<VCalendarIntervalSlots>()({\n name: 'VCalendarInterval',\n\n inheritAttrs: false,\n\n props: {\n index: {\n type: Number,\n required: true,\n },\n\n ...makeVCalendarIntervalProps(),\n },\n\n setup (props, { attrs, emit, slots }) {\n const adapter = useDate()\n const interval = computed(() => {\n const start = adapter.addMinutes(adapter.startOfDay(props.day.date), (props.intervalDuration * (props.index + props.intervalStart)))\n const end = adapter.addMinutes(\n adapter.startOfDay(props.day.date),\n (props.intervalDuration * (props.index + props.intervalStart + 1)) - 1\n )\n return {\n ...props.day,\n label: adapter.format(start, 'fullTime24h'),\n start,\n end,\n events: props.events\n ? props.events\n .filter(e => !e.allDay &&\n (adapter.isEqual(start, e.start) ||\n adapter.isWithinRange(e.start, [start, end]) ||\n adapter.isWithinRange(start, [e.start, e.end]) ||\n adapter.isEqual(end, e.end))\n )\n .map(e => {\n return {\n ...e,\n first: adapter.isEqual(start, e.start) || adapter.isWithinRange(e.start, [start, end]),\n last: adapter.isEqual(end, e.end) || adapter.isWithinRange(e.end, [start, end]),\n }\n })\n : [],\n }\n })\n\n useRender(() => {\n return (\n props.dayIndex === 0 ? (\n <div class=\"v-calendar-day__row-with-label\" style={ `height: ${convertToUnit(props.intervalHeight)}` }>\n <div\n class=\"v-calendar-day__row-label\"\n { ...getPrefixedEventHandlers(attrs, ':time', () => props) }\n >\n {\n slots.intervalTitle?.({ interval: interval.value }) ?? (\n props.index\n ? props.intervalFormat\n ? typeof props.intervalFormat === 'string'\n ? adapter.format(interval.value.start, 'hours12h')\n : props.intervalFormat(interval.value)\n : interval.value.label\n : '12 AM'\n )\n }\n </div>\n <div class=\"v-calendar-day__row-hairline\"></div>\n <div\n class={['v-calendar-day__row-content', interval.value.events.some(e => !e.last)\n ? 'v-calendar-day__row-content-through'\n : '']}\n { ...getPrefixedEventHandlers(attrs, ':interval', () => interval.value) }\n >\n {\n slots.intervalBody?.({ interval: interval.value }) ?? (\n <div>\n {\n interval.value.events?.map(event => (\n <VCalendarIntervalEvent\n event={ event }\n interval={ interval.value }\n intervalDivisions={ props.intervalDivisions }\n intervalDuration={ props.intervalDuration }\n intervalHeight={ props.intervalHeight }\n { ...attrs }\n >\n {{\n ...(slots.intervalEvent ? {\n intervalEvent: ({ height, margin, eventClass, event, interval }) => (\n slots.intervalEvent?.({ height, margin, eventClass, event, interval })\n ),\n } : {}),\n }}\n </VCalendarIntervalEvent>\n ))\n }\n </div>\n )\n }\n </div>\n </div>\n ) : (\n <div\n class=\"v-calendar-day__row-without-label\"\n style={ `height: ${convertToUnit(props.intervalHeight)}` }\n >\n <div\n class={['v-calendar-day__row-content', interval.value.events.some(e => !e.last)\n ? 'v-calendar-day__row-content-through' : '']}\n { ...getPrefixedEventHandlers(attrs, ':interval', () => interval.value) }\n >\n {\n slots.intervalBody?.({ interval: interval.value }) ?? (\n interval.value.events?.map(event => (\n <VCalendarIntervalEvent\n event={ event }\n interval={ interval.value }\n intervalDivisions={ props.intervalDivisions }\n intervalDuration={ props.intervalDuration }\n intervalHeight={ props.intervalHeight }\n { ...attrs }\n >\n {{\n ...(slots.intervalEvent ? {\n intervalEvent: ({ height, margin, eventClass, event, interval }) => (\n slots.intervalEvent?.({ height, margin, eventClass, event, interval })\n ),\n } : {}),\n }}\n </VCalendarIntervalEvent>\n ))\n )\n }\n </div>\n </div>\n )\n )\n })\n\n return { interval }\n },\n})\n\nexport type VCalendarInterval = InstanceType<typeof VCalendarInterval>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,sBAAsB,uCAE/B;AAAA,SACSC,OAAO,2CAEhB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,aAAa,EAAEC,gBAAgB,EAAEC,wBAAwB,EAAEC,YAAY,EAAEC,SAAS;AAqB3F,OAAO,MAAMC,0BAA0B,GAAGF,YAAY,CAAC;EACrDG,GAAG,EAAE;IACHC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAEA,CAAA,MAAO,CAAC,CAAC;EACpB,CAAC;EACDC,QAAQ,EAAEC,MAAM;EAChBC,MAAM,EAAEC,KAAU;EAClBC,iBAAiB,EAAE;IACjBP,IAAI,EAAEI,MAAM;IACZF,OAAO,EAAE;EACX,CAAC;EACDM,gBAAgB,EAAE;IAChBR,IAAI,EAAEI,MAAM;IACZF,OAAO,EAAE;EACX,CAAC;EACDO,cAAc,EAAE;IACdT,IAAI,EAAEI,MAAM;IACZF,OAAO,EAAE;EACX,CAAC;EACDQ,cAAc,EAAE;IACdV,IAAI,EAAE,CAACW,MAAM,EAAEC,QAAQ,CAAC;IACxBV,OAAO,EAAE;EACX,CAAC;EACDW,aAAa,EAAE;IACbb,IAAI,EAAEI,MAAM;IACZF,OAAO,EAAE;EACX;AACF,CAAC,EAAE,mBAAmB,CAAC;AAEvB,OAAO,MAAMY,iBAAiB,GAAGpB,gBAAgB,CAAyB,CAAC,CAAC;EAC1EqB,IAAI,EAAE,mBAAmB;EAEzBC,YAAY,EAAE,KAAK;EAEnBC,KAAK,EAAE;IACLC,KAAK,EAAE;MACLlB,IAAI,EAAEI,MAAM;MACZe,QAAQ,EAAE;IACZ,CAAC;IAED,GAAGrB,0BAA0B,CAAC;EAChC,CAAC;EAEDsB,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAA0B;IAAA,IAAxB;MAAEC,KAAK;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAH,IAAA;IAClC,MAAMI,OAAO,GAAGlC,OAAO,CAAC,CAAC;IACzB,MAAMmC,QAAQ,GAAGlC,QAAQ,CAAC,MAAM;MAC9B,MAAMmC,KAAK,GAAGF,OAAO,CAACG,UAAU,CAACH,OAAO,CAACI,UAAU,CAACZ,KAAK,CAAClB,GAAG,CAAC+B,IAAI,CAAC,EAAGb,KAAK,CAACT,gBAAgB,IAAIS,KAAK,CAACC,KAAK,GAAGD,KAAK,CAACJ,aAAa,CAAE,CAAC;MACpI,MAAMkB,GAAG,GAAGN,OAAO,CAACG,UAAU,CAC5BH,OAAO,CAACI,UAAU,CAACZ,KAAK,CAAClB,GAAG,CAAC+B,IAAI,CAAC,EACjCb,KAAK,CAACT,gBAAgB,IAAIS,KAAK,CAACC,KAAK,GAAGD,KAAK,CAACJ,aAAa,GAAG,CAAC,CAAC,GAAI,CACvE,CAAC;MACD,OAAO;QACL,GAAGI,KAAK,CAAClB,GAAG;QACZiC,KAAK,EAAEP,OAAO,CAACQ,MAAM,CAACN,KAAK,EAAE,aAAa,CAAC;QAC3CA,KAAK;QACLI,GAAG;QACH1B,MAAM,EAAEY,KAAK,CAACZ,MAAM,GAChBY,KAAK,CAACZ,MAAM,CACX6B,MAAM,CAACC,CAAC,IAAI,CAACA,CAAC,CAACC,MAAM,KACnBX,OAAO,CAACY,OAAO,CAACV,KAAK,EAAEQ,CAAC,CAACR,KAAK,CAAC,IAChCF,OAAO,CAACa,aAAa,CAACH,CAAC,CAACR,KAAK,EAAE,CAACA,KAAK,EAAEI,GAAG,CAAC,CAAC,IAC5CN,OAAO,CAACa,aAAa,CAACX,KAAK,EAAE,CAACQ,CAAC,CAACR,KAAK,EAAEQ,CAAC,CAACJ,GAAG,CAAC,CAAC,IAC9CN,OAAO,CAACY,OAAO,CAACN,GAAG,EAAEI,CAAC,CAACJ,GAAG,CAAC,CAC7B,CAAC,CACAQ,GAAG,CAACJ,CAAC,IAAI;UACR,OAAO;YACL,GAAGA,CAAC;YACJK,KAAK,EAAEf,OAAO,CAACY,OAAO,CAACV,KAAK,EAAEQ,CAAC,CAACR,KAAK,CAAC,IAAIF,OAAO,CAACa,aAAa,CAACH,CAAC,CAACR,KAAK,EAAE,CAACA,KAAK,EAAEI,GAAG,CAAC,CAAC;YACtFU,IAAI,EAAEhB,OAAO,CAACY,OAAO,CAACN,GAAG,EAAEI,CAAC,CAACJ,GAAG,CAAC,IAAIN,OAAO,CAACa,aAAa,CAACH,CAAC,CAACJ,GAAG,EAAE,CAACJ,KAAK,EAAEI,GAAG,CAAC;UAChF,CAAC;QACH,CAAC,CAAC,GACF;MACN,CAAC;IACH,CAAC,CAAC;IAEFlC,SAAS,CAAC,MAAM;MACd,OACEoB,KAAK,CAACd,QAAQ,KAAK,CAAC,GAAAuC,mBAAA;QAAA;QAAA,SAAAC,eAAA,CACkC,WAAWlD,aAAa,CAACwB,KAAK,CAACR,cAAc,CAAC,EAAE;MAAA,IAAAiC,mBAAA,QAAAE,WAAA;QAAA;MAAA,GAG3FjD,wBAAwB,CAAC2B,KAAK,EAAE,OAAO,EAAE,MAAML,KAAK,CAAC,IAGxDO,KAAK,CAACqB,aAAa,GAAG;QAAEnB,QAAQ,EAAEA,QAAQ,CAACoB;MAAM,CAAC,CAAC,KACjD7B,KAAK,CAACC,KAAK,GACPD,KAAK,CAACP,cAAc,GAClB,OAAOO,KAAK,CAACP,cAAc,KAAK,QAAQ,GACtCe,OAAO,CAACQ,MAAM,CAACP,QAAQ,CAACoB,KAAK,CAACnB,KAAK,EAAE,UAAU,CAAC,GAChDV,KAAK,CAACP,cAAc,CAACgB,QAAQ,CAACoB,KAAK,CAAC,GACtCpB,QAAQ,CAACoB,KAAK,CAACd,KAAK,GACtB,OAAO,CACZ,IAAAU,mBAAA;QAAA;MAAA,UAAAA,mBAAA,QAAAE,WAAA;QAAA,SAKI,CAAC,6BAA6B,EAAElB,QAAQ,CAACoB,KAAK,CAACzC,MAAM,CAAC0C,IAAI,CAACZ,CAAC,IAAI,CAACA,CAAC,CAACM,IAAI,CAAC,GAC3E,qCAAqC,GACrC,EAAE;MAAC,GACF9C,wBAAwB,CAAC2B,KAAK,EAAE,WAAW,EAAE,MAAMI,QAAQ,CAACoB,KAAK,CAAC,IAGrEtB,KAAK,CAACwB,YAAY,GAAG;QAAEtB,QAAQ,EAAEA,QAAQ,CAACoB;MAAM,CAAC,CAAC,IAAAJ,mBAAA,eAG5ChB,QAAQ,CAACoB,KAAK,CAACzC,MAAM,EAAEkC,GAAG,CAACU,KAAK,IAAAC,YAAA,CAAA5D,sBAAA,EAAAsD,WAAA;QAAA,SAEpBK,KAAK;QAAA,YACFvB,QAAQ,CAACoB,KAAK;QAAA,qBACL7B,KAAK,CAACV,iBAAiB;QAAA,oBACxBU,KAAK,CAACT,gBAAgB;QAAA,kBACxBS,KAAK,CAACR;MAAc,GAChCa,KAAK;QAGR,IAAIE,KAAK,CAAC2B,aAAa,GAAG;UACxBA,aAAa,EAAEC,KAAA;YAAA,IAAC;cAAEC,MAAM;cAAEC,MAAM;cAAEC,UAAU;cAAEN,KAAK;cAAEvB;YAAS,CAAC,GAAA0B,KAAA;YAAA,OAC7D5B,KAAK,CAAC2B,aAAa,GAAG;cAAEE,MAAM;cAAEC,MAAM;cAAEC,UAAU;cAAEN,KAAK;cAAEvB;YAAS,CAAC,CAAC;UAAA;QAE1E,CAAC,GAAG,CAAC,CAAC;MAAC,EAGZ,CAAC,EAGP,OAAAgB,mBAAA;QAAA;QAAA,SAAAC,eAAA,CAOG,WAAWlD,aAAa,CAACwB,KAAK,CAACR,cAAc,CAAC,EAAE;MAAA,IAAAiC,mBAAA,QAAAE,WAAA;QAAA,SAG/C,CAAC,6BAA6B,EAAElB,QAAQ,CAACoB,KAAK,CAACzC,MAAM,CAAC0C,IAAI,CAACZ,CAAC,IAAI,CAACA,CAAC,CAACM,IAAI,CAAC,GAC3E,qCAAqC,GAAG,EAAE;MAAC,GAC1C9C,wBAAwB,CAAC2B,KAAK,EAAE,WAAW,EAAE,MAAMI,QAAQ,CAACoB,KAAK,CAAC,IAGrEtB,KAAK,CAACwB,YAAY,GAAG;QAAEtB,QAAQ,EAAEA,QAAQ,CAACoB;MAAM,CAAC,CAAC,IAChDpB,QAAQ,CAACoB,KAAK,CAACzC,MAAM,EAAEkC,GAAG,CAACU,KAAK,IAAAC,YAAA,CAAA5D,sBAAA,EAAAsD,WAAA;QAAA,SAEpBK,KAAK;QAAA,YACFvB,QAAQ,CAACoB,KAAK;QAAA,qBACL7B,KAAK,CAACV,iBAAiB;QAAA,oBACxBU,KAAK,CAACT,gBAAgB;QAAA,kBACxBS,KAAK,CAACR;MAAc,GAChCa,KAAK;QAGR,IAAIE,KAAK,CAAC2B,aAAa,GAAG;UACxBA,aAAa,EAAEK,KAAA;YAAA,IAAC;cAAEH,MAAM;cAAEC,MAAM;cAAEC,UAAU;cAAEN,KAAK;cAAEvB;YAAS,CAAC,GAAA8B,KAAA;YAAA,OAC7DhC,KAAK,CAAC2B,aAAa,GAAG;cAAEE,MAAM;cAAEC,MAAM;cAAEC,UAAU;cAAEN,KAAK;cAAEvB;YAAS,CAAC,CAAC;UAAA;QAE1E,CAAC,GAAG,CAAC,CAAC;MAAC,EAGZ,CACF,IAIR;IAEL,CAAC,CAAC;IAEF,OAAO;MAAEA;IAAS,CAAC;EACrB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VCalendarInterval.js","names":["VCalendarIntervalEvent","useDate","computed","convertToUnit","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVCalendarIntervalProps","day","type","Object","default","dayIndex","Number","events","Array","intervalDivisions","intervalDuration","intervalHeight","intervalFormat","String","Function","intervalStart","VCalendarInterval","name","inheritAttrs","props","index","required","setup","_ref","attrs","emit","slots","adapter","interval","start","addMinutes","startOfDay","date","end","label","format","filter","e","allDay","isEqual","isWithinRange","map","first","last","_createElementVNode","_normalizeStyle","_mergeProps","value","some","event","_createVNode","_ref2","height","margin","eventClass","_ref3"],"sources":["../../../src/labs/VCalendar/VCalendarInterval.tsx"],"sourcesContent":["// Styles\nimport './VCalendarInterval.sass'\n\n// Components\nimport { VCalendarIntervalEvent } from './VCalendarIntervalEvent'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\ntype Interval = {\n label: string\n start: unknown\n end: unknown\n events: any[]\n}\n\nexport type VCalendarIntervalSlots = {\n 'interval-body': { interval: Interval }\n 'interval-event': {\n height: string\n margin: string\n eventClass: string\n event: any\n interval: Interval\n }\n 'interval-title': { interval: Interval }\n}\n\nexport const makeVCalendarIntervalProps = propsFactory({\n day: {\n type: Object,\n default: () => ({}),\n },\n dayIndex: Number,\n events: Array<any>,\n intervalDivisions: {\n type: Number,\n default: 2,\n },\n intervalDuration: {\n type: Number,\n default: 60,\n },\n intervalHeight: {\n type: Number,\n default: 48,\n },\n intervalFormat: {\n type: [String, Function],\n default: 'fullTime12h',\n },\n intervalStart: {\n type: Number,\n default: 0,\n },\n}, 'VCalendarInterval')\n\nexport const VCalendarInterval = genericComponent<VCalendarIntervalSlots>()({\n name: 'VCalendarInterval',\n\n inheritAttrs: false,\n\n props: {\n index: {\n type: Number,\n required: true,\n },\n\n ...makeVCalendarIntervalProps(),\n },\n\n setup (props, { attrs, emit, slots }) {\n const adapter = useDate()\n const interval = computed(() => {\n const start = adapter.addMinutes(adapter.startOfDay(props.day.date), (props.intervalDuration * (props.index + props.intervalStart)))\n const end = adapter.addMinutes(\n adapter.startOfDay(props.day.date),\n (props.intervalDuration * (props.index + props.intervalStart + 1)) - 1\n )\n return {\n ...props.day,\n label: adapter.format(start, 'fullTime24h'),\n start,\n end,\n events: props.events\n ? props.events\n .filter(e => !e.allDay &&\n (adapter.isEqual(start, e.start) ||\n adapter.isWithinRange(e.start, [start, end]) ||\n adapter.isWithinRange(start, [e.start, e.end]) ||\n adapter.isEqual(end, e.end))\n )\n .map(e => {\n return {\n ...e,\n first: adapter.isEqual(start, e.start) || adapter.isWithinRange(e.start, [start, end]),\n last: adapter.isEqual(end, e.end) || adapter.isWithinRange(e.end, [start, end]),\n }\n })\n : [],\n }\n })\n\n useRender(() => {\n return (\n props.dayIndex === 0 ? (\n <div class=\"v-calendar-day__row-with-label\" style={ `height: ${convertToUnit(props.intervalHeight)}` }>\n <div\n class=\"v-calendar-day__row-label\"\n { ...getPrefixedEventHandlers(attrs, ':time', () => props) }\n >\n {\n slots['interval-title']?.({ interval: interval.value }) ?? (\n props.index\n ? props.intervalFormat\n ? typeof props.intervalFormat === 'string'\n ? adapter.format(interval.value.start, 'hours12h')\n : props.intervalFormat(interval.value)\n : interval.value.label\n : '12 AM'\n )\n }\n </div>\n <div class=\"v-calendar-day__row-hairline\"></div>\n <div\n class={['v-calendar-day__row-content', interval.value.events.some(e => !e.last)\n ? 'v-calendar-day__row-content-through'\n : '']}\n { ...getPrefixedEventHandlers(attrs, ':interval', () => interval.value) }\n >\n {\n slots['interval-body']?.({ interval: interval.value }) ?? (\n <div>\n {\n interval.value.events?.map(event => (\n <VCalendarIntervalEvent\n event={ event }\n interval={ interval.value }\n intervalDivisions={ props.intervalDivisions }\n intervalDuration={ props.intervalDuration }\n intervalHeight={ props.intervalHeight }\n { ...attrs }\n >\n {{\n ...(slots['interval-event'] ? {\n 'interval-event': ({ height, margin, eventClass, event, interval }) => (\n slots['interval-event']?.({ height, margin, eventClass, event, interval })\n ),\n } : {}),\n }}\n </VCalendarIntervalEvent>\n ))\n }\n </div>\n )\n }\n </div>\n </div>\n ) : (\n <div\n class=\"v-calendar-day__row-without-label\"\n style={ `height: ${convertToUnit(props.intervalHeight)}` }\n >\n <div\n class={['v-calendar-day__row-content', interval.value.events.some(e => !e.last)\n ? 'v-calendar-day__row-content-through' : '']}\n { ...getPrefixedEventHandlers(attrs, ':interval', () => interval.value) }\n >\n {\n slots['interval-body']?.({ interval: interval.value }) ?? (\n interval.value.events?.map(event => (\n <VCalendarIntervalEvent\n event={ event }\n interval={ interval.value }\n intervalDivisions={ props.intervalDivisions }\n intervalDuration={ props.intervalDuration }\n intervalHeight={ props.intervalHeight }\n { ...attrs }\n >\n {{\n ...(slots['interval-event'] ? {\n 'interval-event': ({ height, margin, eventClass, event, interval }) => (\n slots['interval-event']?.({ height, margin, eventClass, event, interval })\n ),\n } : {}),\n }}\n </VCalendarIntervalEvent>\n ))\n )\n }\n </div>\n </div>\n )\n )\n })\n\n return { interval }\n },\n})\n\nexport type VCalendarInterval = InstanceType<typeof VCalendarInterval>\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  export type VCalendarIntervalEventSlots = {
2
- intervalEvent: {
2
+ 'interval-event': {
3
3
  height: string;
4
4
  margin: string;
5
5
  eventClass: string;
@@ -69,7 +69,7 @@ export declare const VCalendarIntervalEvent: {
69
69
  event?: Record<string, any> | undefined;
70
70
  } & {
71
71
  $children?: {} | import("vue").VNodeChild | {
72
- intervalEvent?: ((arg: {
72
+ 'interval-event'?: ((arg: {
73
73
  height: string;
74
74
  margin: string;
75
75
  eventClass: string;
@@ -78,7 +78,7 @@ export declare const VCalendarIntervalEvent: {
78
78
  }) => import("vue").VNodeChild) | undefined;
79
79
  };
80
80
  'v-slots'?: {
81
- intervalEvent?: false | ((arg: {
81
+ 'interval-event'?: false | ((arg: {
82
82
  height: string;
83
83
  margin: string;
84
84
  eventClass: string;
@@ -87,7 +87,7 @@ export declare const VCalendarIntervalEvent: {
87
87
  }) => import("vue").VNodeChild) | undefined;
88
88
  } | undefined;
89
89
  } & {
90
- "v-slot:intervalEvent"?: false | ((arg: {
90
+ "v-slot:interval-event"?: false | ((arg: {
91
91
  height: string;
92
92
  margin: string;
93
93
  eventClass: string;
@@ -97,7 +97,7 @@ export declare const VCalendarIntervalEvent: {
97
97
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
98
98
  allDay: boolean;
99
99
  }, true, {}, import("vue").SlotsType<Partial<{
100
- intervalEvent: (arg: {
100
+ 'interval-event': (arg: {
101
101
  height: string;
102
102
  margin: string;
103
103
  eventClass: string;
@@ -121,7 +121,7 @@ export declare const VCalendarIntervalEvent: {
121
121
  event?: Record<string, any> | undefined;
122
122
  } & {
123
123
  $children?: {} | import("vue").VNodeChild | {
124
- intervalEvent?: ((arg: {
124
+ 'interval-event'?: ((arg: {
125
125
  height: string;
126
126
  margin: string;
127
127
  eventClass: string;
@@ -130,7 +130,7 @@ export declare const VCalendarIntervalEvent: {
130
130
  }) => import("vue").VNodeChild) | undefined;
131
131
  };
132
132
  'v-slots'?: {
133
- intervalEvent?: false | ((arg: {
133
+ 'interval-event'?: false | ((arg: {
134
134
  height: string;
135
135
  margin: string;
136
136
  eventClass: string;
@@ -139,7 +139,7 @@ export declare const VCalendarIntervalEvent: {
139
139
  }) => import("vue").VNodeChild) | undefined;
140
140
  } | undefined;
141
141
  } & {
142
- "v-slot:intervalEvent"?: false | ((arg: {
142
+ "v-slot:interval-event"?: false | ((arg: {
143
143
  height: string;
144
144
  margin: string;
145
145
  eventClass: string;
@@ -162,7 +162,7 @@ export declare const VCalendarIntervalEvent: {
162
162
  event?: Record<string, any> | undefined;
163
163
  } & {
164
164
  $children?: {} | import("vue").VNodeChild | {
165
- intervalEvent?: ((arg: {
165
+ 'interval-event'?: ((arg: {
166
166
  height: string;
167
167
  margin: string;
168
168
  eventClass: string;
@@ -171,7 +171,7 @@ export declare const VCalendarIntervalEvent: {
171
171
  }) => import("vue").VNodeChild) | undefined;
172
172
  };
173
173
  'v-slots'?: {
174
- intervalEvent?: false | ((arg: {
174
+ 'interval-event'?: false | ((arg: {
175
175
  height: string;
176
176
  margin: string;
177
177
  eventClass: string;
@@ -180,7 +180,7 @@ export declare const VCalendarIntervalEvent: {
180
180
  }) => import("vue").VNodeChild) | undefined;
181
181
  } | undefined;
182
182
  } & {
183
- "v-slot:intervalEvent"?: false | ((arg: {
183
+ "v-slot:interval-event"?: false | ((arg: {
184
184
  height: string;
185
185
  margin: string;
186
186
  eventClass: string;
@@ -190,7 +190,7 @@ export declare const VCalendarIntervalEvent: {
190
190
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
191
191
  allDay: boolean;
192
192
  }, {}, string, import("vue").SlotsType<Partial<{
193
- intervalEvent: (arg: {
193
+ 'interval-event': (arg: {
194
194
  height: string;
195
195
  margin: string;
196
196
  eventClass: string;
@@ -68,7 +68,7 @@ export const VCalendarIntervalEvent = genericComponent()({
68
68
  }
69
69
  };
70
70
  useRender(() => {
71
- return _createElementVNode("div", null, [slots.intervalEvent?.({
71
+ return _createElementVNode("div", null, [slots['interval-event']?.({
72
72
  height: calcHeight().height,
73
73
  margin: calcHeight().margin,
74
74
  eventClass: 'v-calendar-internal-event',
@@ -1 +1 @@
1
- {"version":3,"file":"VCalendarIntervalEvent.js","names":["VSheet","useDate","convertToUnit","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVCalendarIntervalEventProps","allDay","Boolean","interval","Object","intervalDivisions","type","Number","required","intervalDuration","intervalHeight","event","VCalendarIntervalEvent","name","inheritAttrs","props","setup","_ref","attrs","emit","slots","adapter","calcHeight","first","last","isEqual","end","height","margin","Array","from","length","_","x","reduce","total","div","index","isBefore","addMinutes","start","_createElementVNode","intervalEvent","eventClass","_createVNode","_mergeProps","color","undefined","day","default","title"],"sources":["../../../src/labs/VCalendar/VCalendarIntervalEvent.tsx"],"sourcesContent":["// Styles\nimport './VCalendarIntervalEvent.sass'\n\n// Components\nimport { VSheet } from '@/components/VSheet'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { convertToUnit, genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\nexport type VCalendarIntervalEventSlots = {\n intervalEvent: { height: string, margin: string, eventClass: string, event: any, interval: any }\n}\n\nexport const makeVCalendarIntervalEventProps = propsFactory({\n allDay: Boolean,\n interval: Object,\n intervalDivisions: {\n type: Number,\n required: true,\n },\n intervalDuration: {\n type: Number,\n required: true,\n },\n intervalHeight: {\n type: Number,\n required: true,\n },\n event: Object,\n}, 'VCalendarIntervalEvent')\n\nexport const VCalendarIntervalEvent = genericComponent<VCalendarIntervalEventSlots>()({\n name: 'VCalendarIntervalEvent',\n\n inheritAttrs: false,\n\n props: makeVCalendarIntervalEventProps(),\n\n setup (props, { attrs, emit, slots }) {\n const adapter = useDate()\n const calcHeight = () => {\n if ((!props.event?.first && !props.event?.last) || adapter.isEqual(props.event?.end, props.interval?.end)) {\n return { height: `${props.intervalHeight}px`, margin: convertToUnit(0) }\n } else {\n const { height, margin } = Array.from({ length: props.intervalDivisions },\n (_, x: number) => (x + 1) * (props.intervalDuration / props.intervalDivisions)\n )\n .reduce((total, div, index) => {\n if (adapter.isBefore(adapter.addMinutes(props.interval?.start, div), props.event?.end)) {\n return {\n height: convertToUnit((props.intervalHeight / props.intervalDivisions) * index),\n margin: convertToUnit((props.intervalHeight / props.intervalDivisions) * index),\n }\n }\n return { height: total.height, margin: total.margin }\n }, { height: '', margin: '' })\n return { height, margin }\n }\n }\n\n useRender(() => {\n return (\n <div>\n {\n slots.intervalEvent?.({\n height: calcHeight().height,\n margin: calcHeight().margin,\n eventClass: 'v-calendar-internal-event',\n event: props.event,\n interval: props.interval,\n }) ?? (\n <VSheet\n height={ calcHeight().height }\n density=\"comfortable\"\n style={ `margin-top: ${calcHeight().margin}` }\n class=\"v-calendar-internal-event\"\n color={ props.event?.color ?? undefined }\n rounded={\n props.event?.first && props.event?.last ? true\n : props.event?.first ? 't'\n : props.event?.last ? 'b'\n : false\n }\n { ...getPrefixedEventHandlers(attrs, ':event', () => ({\n event: props.event,\n allDay: false,\n day: null,\n interval: props.interval,\n intervalDivisions: props.intervalDivisions,\n intervalDuration: props.intervalDuration,\n intervalHeight: props.intervalHeight,\n }))}\n >\n { props.event?.first ? props.event?.title : '' }\n </VSheet>\n )\n }\n </div>\n )\n })\n\n return {}\n },\n\n})\n\nexport type VCalendarIntervalEvent = InstanceType<typeof VCalendarIntervalEvent>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,MAAM,4CAEf;AAAA,SACSC,OAAO,2CAEhB;AAAA,SACSC,aAAa,EAAEC,gBAAgB,EAAEC,wBAAwB,EAAEC,YAAY,EAAEC,SAAS;AAM3F,OAAO,MAAMC,+BAA+B,GAAGF,YAAY,CAAC;EAC1DG,MAAM,EAAEC,OAAO;EACfC,QAAQ,EAAEC,MAAM;EAChBC,iBAAiB,EAAE;IACjBC,IAAI,EAAEC,MAAM;IACZC,QAAQ,EAAE;EACZ,CAAC;EACDC,gBAAgB,EAAE;IAChBH,IAAI,EAAEC,MAAM;IACZC,QAAQ,EAAE;EACZ,CAAC;EACDE,cAAc,EAAE;IACdJ,IAAI,EAAEC,MAAM;IACZC,QAAQ,EAAE;EACZ,CAAC;EACDG,KAAK,EAAEP;AACT,CAAC,EAAE,wBAAwB,CAAC;AAE5B,OAAO,MAAMQ,sBAAsB,GAAGhB,gBAAgB,CAA8B,CAAC,CAAC;EACpFiB,IAAI,EAAE,wBAAwB;EAE9BC,YAAY,EAAE,KAAK;EAEnBC,KAAK,EAAEf,+BAA+B,CAAC,CAAC;EAExCgB,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAA0B;IAAA,IAAxB;MAAEC,KAAK;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAH,IAAA;IAClC,MAAMI,OAAO,GAAG3B,OAAO,CAAC,CAAC;IACzB,MAAM4B,UAAU,GAAGA,CAAA,KAAM;MACvB,IAAK,CAACP,KAAK,CAACJ,KAAK,EAAEY,KAAK,IAAI,CAACR,KAAK,CAACJ,KAAK,EAAEa,IAAI,IAAKH,OAAO,CAACI,OAAO,CAACV,KAAK,CAACJ,KAAK,EAAEe,GAAG,EAAEX,KAAK,CAACZ,QAAQ,EAAEuB,GAAG,CAAC,EAAE;QACzG,OAAO;UAAEC,MAAM,EAAE,GAAGZ,KAAK,CAACL,cAAc,IAAI;UAAEkB,MAAM,EAAEjC,aAAa,CAAC,CAAC;QAAE,CAAC;MAC1E,CAAC,MAAM;QACL,MAAM;UAAEgC,MAAM;UAAEC;QAAO,CAAC,GAAGC,KAAK,CAACC,IAAI,CAAC;UAAEC,MAAM,EAAEhB,KAAK,CAACV;QAAkB,CAAC,EACvE,CAAC2B,CAAC,EAAEC,CAAS,KAAK,CAACA,CAAC,GAAG,CAAC,KAAKlB,KAAK,CAACN,gBAAgB,GAAGM,KAAK,CAACV,iBAAiB,CAC/E,CAAC,CACE6B,MAAM,CAAC,CAACC,KAAK,EAAEC,GAAG,EAAEC,KAAK,KAAK;UAC7B,IAAIhB,OAAO,CAACiB,QAAQ,CAACjB,OAAO,CAACkB,UAAU,CAACxB,KAAK,CAACZ,QAAQ,EAAEqC,KAAK,EAAEJ,GAAG,CAAC,EAAErB,KAAK,CAACJ,KAAK,EAAEe,GAAG,CAAC,EAAE;YACtF,OAAO;cACLC,MAAM,EAAEhC,aAAa,CAAEoB,KAAK,CAACL,cAAc,GAAGK,KAAK,CAACV,iBAAiB,GAAIgC,KAAK,CAAC;cAC/ET,MAAM,EAAEjC,aAAa,CAAEoB,KAAK,CAACL,cAAc,GAAGK,KAAK,CAACV,iBAAiB,GAAIgC,KAAK;YAChF,CAAC;UACH;UACA,OAAO;YAAEV,MAAM,EAAEQ,KAAK,CAACR,MAAM;YAAEC,MAAM,EAAEO,KAAK,CAACP;UAAO,CAAC;QACvD,CAAC,EAAE;UAAED,MAAM,EAAE,EAAE;UAAEC,MAAM,EAAE;QAAG,CAAC,CAAC;QAChC,OAAO;UAAED,MAAM;UAAEC;QAAO,CAAC;MAC3B;IACF,CAAC;IAED7B,SAAS,CAAC,MAAM;MACd,OAAA0C,mBAAA,eAGMrB,KAAK,CAACsB,aAAa,GAAG;QACpBf,MAAM,EAAEL,UAAU,CAAC,CAAC,CAACK,MAAM;QAC3BC,MAAM,EAAEN,UAAU,CAAC,CAAC,CAACM,MAAM;QAC3Be,UAAU,EAAE,2BAA2B;QACvChC,KAAK,EAAEI,KAAK,CAACJ,KAAK;QAClBR,QAAQ,EAAEY,KAAK,CAACZ;MAClB,CAAC,CAAC,IAAAyC,YAAA,CAAAnD,MAAA,EAAAoD,WAAA;QAAA,UAEWvB,UAAU,CAAC,CAAC,CAACK,MAAM;QAAA;QAAA,SAEpB,eAAeL,UAAU,CAAC,CAAC,CAACM,MAAM,EAAE;QAAA;QAAA,SAEpCb,KAAK,CAACJ,KAAK,EAAEmC,KAAK,IAAIC,SAAS;QAAA,WAErChC,KAAK,CAACJ,KAAK,EAAEY,KAAK,IAAIR,KAAK,CAACJ,KAAK,EAAEa,IAAI,GAAG,IAAI,GAC5CT,KAAK,CAACJ,KAAK,EAAEY,KAAK,GAAG,GAAG,GACxBR,KAAK,CAACJ,KAAK,EAAEa,IAAI,GAAG,GAAG,GACvB;MAAK,GAEJ3B,wBAAwB,CAACqB,KAAK,EAAE,QAAQ,EAAE,OAAO;QACpDP,KAAK,EAAEI,KAAK,CAACJ,KAAK;QAClBV,MAAM,EAAE,KAAK;QACb+C,GAAG,EAAE,IAAI;QACT7C,QAAQ,EAAEY,KAAK,CAACZ,QAAQ;QACxBE,iBAAiB,EAAEU,KAAK,CAACV,iBAAiB;QAC1CI,gBAAgB,EAAEM,KAAK,CAACN,gBAAgB;QACxCC,cAAc,EAAEK,KAAK,CAACL;MACxB,CAAC,CAAC,CAAC;QAAAuC,OAAA,EAAAA,CAAA,MAEDlC,KAAK,CAACJ,KAAK,EAAEY,KAAK,GAAGR,KAAK,CAACJ,KAAK,EAAEuC,KAAK,GAAG,EAAE;MAAA,EAEjD;IAIT,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AAEF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VCalendarIntervalEvent.js","names":["VSheet","useDate","convertToUnit","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVCalendarIntervalEventProps","allDay","Boolean","interval","Object","intervalDivisions","type","Number","required","intervalDuration","intervalHeight","event","VCalendarIntervalEvent","name","inheritAttrs","props","setup","_ref","attrs","emit","slots","adapter","calcHeight","first","last","isEqual","end","height","margin","Array","from","length","_","x","reduce","total","div","index","isBefore","addMinutes","start","_createElementVNode","eventClass","_createVNode","_mergeProps","color","undefined","day","default","title"],"sources":["../../../src/labs/VCalendar/VCalendarIntervalEvent.tsx"],"sourcesContent":["// Styles\nimport './VCalendarIntervalEvent.sass'\n\n// Components\nimport { VSheet } from '@/components/VSheet'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { convertToUnit, genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\nexport type VCalendarIntervalEventSlots = {\n 'interval-event': { height: string, margin: string, eventClass: string, event: any, interval: any }\n}\n\nexport const makeVCalendarIntervalEventProps = propsFactory({\n allDay: Boolean,\n interval: Object,\n intervalDivisions: {\n type: Number,\n required: true,\n },\n intervalDuration: {\n type: Number,\n required: true,\n },\n intervalHeight: {\n type: Number,\n required: true,\n },\n event: Object,\n}, 'VCalendarIntervalEvent')\n\nexport const VCalendarIntervalEvent = genericComponent<VCalendarIntervalEventSlots>()({\n name: 'VCalendarIntervalEvent',\n\n inheritAttrs: false,\n\n props: makeVCalendarIntervalEventProps(),\n\n setup (props, { attrs, emit, slots }) {\n const adapter = useDate()\n const calcHeight = () => {\n if ((!props.event?.first && !props.event?.last) || adapter.isEqual(props.event?.end, props.interval?.end)) {\n return { height: `${props.intervalHeight}px`, margin: convertToUnit(0) }\n } else {\n const { height, margin } = Array.from({ length: props.intervalDivisions },\n (_, x: number) => (x + 1) * (props.intervalDuration / props.intervalDivisions)\n )\n .reduce((total, div, index) => {\n if (adapter.isBefore(adapter.addMinutes(props.interval?.start, div), props.event?.end)) {\n return {\n height: convertToUnit((props.intervalHeight / props.intervalDivisions) * index),\n margin: convertToUnit((props.intervalHeight / props.intervalDivisions) * index),\n }\n }\n return { height: total.height, margin: total.margin }\n }, { height: '', margin: '' })\n return { height, margin }\n }\n }\n\n useRender(() => {\n return (\n <div>\n {\n slots['interval-event']?.({\n height: calcHeight().height,\n margin: calcHeight().margin,\n eventClass: 'v-calendar-internal-event',\n event: props.event,\n interval: props.interval,\n }) ?? (\n <VSheet\n height={ calcHeight().height }\n density=\"comfortable\"\n style={ `margin-top: ${calcHeight().margin}` }\n class=\"v-calendar-internal-event\"\n color={ props.event?.color ?? undefined }\n rounded={\n props.event?.first && props.event?.last ? true\n : props.event?.first ? 't'\n : props.event?.last ? 'b'\n : false\n }\n { ...getPrefixedEventHandlers(attrs, ':event', () => ({\n event: props.event,\n allDay: false,\n day: null,\n interval: props.interval,\n intervalDivisions: props.intervalDivisions,\n intervalDuration: props.intervalDuration,\n intervalHeight: props.intervalHeight,\n }))}\n >\n { props.event?.first ? props.event?.title : '' }\n </VSheet>\n )\n }\n </div>\n )\n })\n\n return {}\n },\n\n})\n\nexport type VCalendarIntervalEvent = InstanceType<typeof VCalendarIntervalEvent>\n"],"mappings":"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","ignoreList":[]}