@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.
- package/CHANGELOG.md +7 -3
- package/dist/json/attributes.json +3627 -3627
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +128 -128
- package/dist/json/web-types.json +6192 -6192
- package/dist/vuetify-labs.cjs +23 -22
- package/dist/vuetify-labs.css +4816 -4816
- package/dist/vuetify-labs.d.ts +190 -190
- package/dist/vuetify-labs.esm.js +23 -22
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +23 -22
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +7 -6
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3704 -3704
- package/dist/vuetify.d.ts +47 -47
- package/dist/vuetify.esm.js +7 -6
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +7 -6
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +6 -7
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataTable/composables/sort.js +2 -1
- package/lib/components/VDataTable/composables/sort.js.map +1 -1
- package/lib/components/VOverlay/locationStrategies.js +1 -1
- package/lib/components/VOverlay/locationStrategies.js.map +1 -1
- package/lib/composables/virtual.js +1 -1
- package/lib/composables/virtual.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +47 -47
- package/lib/framework.js +1 -1
- package/lib/labs/VCalendar/VCalendar.d.ts +33 -33
- package/lib/labs/VCalendar/VCalendar.js +1 -1
- package/lib/labs/VCalendar/VCalendar.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarDay.d.ts +33 -33
- package/lib/labs/VCalendar/VCalendarDay.js +1 -1
- package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarInterval.d.ts +36 -36
- package/lib/labs/VCalendar/VCalendarInterval.js +9 -9
- package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.d.ts +12 -12
- package/lib/labs/VCalendar/VCalendarIntervalEvent.js +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +36 -36
- package/lib/labs/VCalendar/VCalendarMonthDay.js +4 -4
- package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
- 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, ['
|
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, ['
|
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
|
-
|
8
|
+
'interval-body': {
|
9
9
|
interval: Interval;
|
10
10
|
};
|
11
|
-
|
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
|
-
|
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
|
-
|
130
|
+
'interval-body'?: ((arg: {
|
131
131
|
interval: Interval;
|
132
132
|
}) => import("vue").VNodeChild) | undefined;
|
133
|
-
|
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
|
-
|
140
|
+
'interval-title'?: ((arg: {
|
141
141
|
interval: Interval;
|
142
142
|
}) => import("vue").VNodeChild) | undefined;
|
143
143
|
};
|
144
144
|
'v-slots'?: {
|
145
|
-
|
145
|
+
'interval-body'?: false | ((arg: {
|
146
146
|
interval: Interval;
|
147
147
|
}) => import("vue").VNodeChild) | undefined;
|
148
|
-
|
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
|
-
|
155
|
+
'interval-title'?: false | ((arg: {
|
156
156
|
interval: Interval;
|
157
157
|
}) => import("vue").VNodeChild) | undefined;
|
158
158
|
} | undefined;
|
159
159
|
} & {
|
160
|
-
"v-slot:
|
160
|
+
"v-slot:interval-body"?: false | ((arg: {
|
161
161
|
interval: Interval;
|
162
162
|
}) => import("vue").VNodeChild) | undefined;
|
163
|
-
"v-slot:
|
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:
|
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
|
-
|
188
|
+
'interval-body': (arg: {
|
189
189
|
interval: Interval;
|
190
190
|
}) => import("vue").VNode[];
|
191
|
-
|
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
|
-
|
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
|
-
|
221
|
+
'interval-body'?: ((arg: {
|
222
222
|
interval: Interval;
|
223
223
|
}) => import("vue").VNodeChild) | undefined;
|
224
|
-
|
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
|
-
|
231
|
+
'interval-title'?: ((arg: {
|
232
232
|
interval: Interval;
|
233
233
|
}) => import("vue").VNodeChild) | undefined;
|
234
234
|
};
|
235
235
|
'v-slots'?: {
|
236
|
-
|
236
|
+
'interval-body'?: false | ((arg: {
|
237
237
|
interval: Interval;
|
238
238
|
}) => import("vue").VNodeChild) | undefined;
|
239
|
-
|
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
|
-
|
246
|
+
'interval-title'?: false | ((arg: {
|
247
247
|
interval: Interval;
|
248
248
|
}) => import("vue").VNodeChild) | undefined;
|
249
249
|
} | undefined;
|
250
250
|
} & {
|
251
|
-
"v-slot:
|
251
|
+
"v-slot:interval-body"?: false | ((arg: {
|
252
252
|
interval: Interval;
|
253
253
|
}) => import("vue").VNodeChild) | undefined;
|
254
|
-
"v-slot:
|
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:
|
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
|
-
|
295
|
+
'interval-body'?: ((arg: {
|
296
296
|
interval: Interval;
|
297
297
|
}) => import("vue").VNodeChild) | undefined;
|
298
|
-
|
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
|
-
|
305
|
+
'interval-title'?: ((arg: {
|
306
306
|
interval: Interval;
|
307
307
|
}) => import("vue").VNodeChild) | undefined;
|
308
308
|
};
|
309
309
|
'v-slots'?: {
|
310
|
-
|
310
|
+
'interval-body'?: false | ((arg: {
|
311
311
|
interval: Interval;
|
312
312
|
}) => import("vue").VNodeChild) | undefined;
|
313
|
-
|
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
|
-
|
320
|
+
'interval-title'?: false | ((arg: {
|
321
321
|
interval: Interval;
|
322
322
|
}) => import("vue").VNodeChild) | undefined;
|
323
323
|
} | undefined;
|
324
324
|
} & {
|
325
|
-
"v-slot:
|
325
|
+
"v-slot:interval-body"?: false | ((arg: {
|
326
326
|
interval: Interval;
|
327
327
|
}) => import("vue").VNodeChild) | undefined;
|
328
|
-
"v-slot:
|
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:
|
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
|
-
|
353
|
+
'interval-body': (arg: {
|
354
354
|
interval: Interval;
|
355
355
|
}) => import("vue").VNode[];
|
356
|
-
|
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
|
-
|
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
|
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
|
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
|
94
|
-
|
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
|
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
|
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
|
126
|
-
|
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
|
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":"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","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":";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,CAAC,gBAAgB,CAAC,GAAG;QAAEE,QAAQ,EAAEA,QAAQ,CAACmB;MAAM,CAAC,CAAC,KACrD5B,KAAK,CAACC,KAAK,GACPD,KAAK,CAACP,cAAc,GAClB,OAAOO,KAAK,CAACP,cAAc,KAAK,QAAQ,GACtCe,OAAO,CAACQ,MAAM,CAACP,QAAQ,CAACmB,KAAK,CAAClB,KAAK,EAAE,UAAU,CAAC,GAChDV,KAAK,CAACP,cAAc,CAACgB,QAAQ,CAACmB,KAAK,CAAC,GACtCnB,QAAQ,CAACmB,KAAK,CAACb,KAAK,GACtB,OAAO,CACZ,IAAAU,mBAAA;QAAA;MAAA,UAAAA,mBAAA,QAAAE,WAAA;QAAA,SAKI,CAAC,6BAA6B,EAAElB,QAAQ,CAACmB,KAAK,CAACxC,MAAM,CAACyC,IAAI,CAACX,CAAC,IAAI,CAACA,CAAC,CAACM,IAAI,CAAC,GAC3E,qCAAqC,GACrC,EAAE;MAAC,GACF9C,wBAAwB,CAAC2B,KAAK,EAAE,WAAW,EAAE,MAAMI,QAAQ,CAACmB,KAAK,CAAC,IAGrErB,KAAK,CAAC,eAAe,CAAC,GAAG;QAAEE,QAAQ,EAAEA,QAAQ,CAACmB;MAAM,CAAC,CAAC,IAAAH,mBAAA,eAGhDhB,QAAQ,CAACmB,KAAK,CAACxC,MAAM,EAAEkC,GAAG,CAACQ,KAAK,IAAAC,YAAA,CAAA1D,sBAAA,EAAAsD,WAAA;QAAA,SAEpBG,KAAK;QAAA,YACFrB,QAAQ,CAACmB,KAAK;QAAA,qBACL5B,KAAK,CAACV,iBAAiB;QAAA,oBACxBU,KAAK,CAACT,gBAAgB;QAAA,kBACxBS,KAAK,CAACR;MAAc,GAChCa,KAAK;QAGR,IAAIE,KAAK,CAAC,gBAAgB,CAAC,GAAG;UAC5B,gBAAgB,EAAEyB,KAAA;YAAA,IAAC;cAAEC,MAAM;cAAEC,MAAM;cAAEC,UAAU;cAAEL,KAAK;cAAErB;YAAS,CAAC,GAAAuB,KAAA;YAAA,OAChEzB,KAAK,CAAC,gBAAgB,CAAC,GAAG;cAAE0B,MAAM;cAAEC,MAAM;cAAEC,UAAU;cAAEL,KAAK;cAAErB;YAAS,CAAC,CAAC;UAAA;QAE9E,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,CAACmB,KAAK,CAACxC,MAAM,CAACyC,IAAI,CAACX,CAAC,IAAI,CAACA,CAAC,CAACM,IAAI,CAAC,GAC3E,qCAAqC,GAAG,EAAE;MAAC,GAC1C9C,wBAAwB,CAAC2B,KAAK,EAAE,WAAW,EAAE,MAAMI,QAAQ,CAACmB,KAAK,CAAC,IAGrErB,KAAK,CAAC,eAAe,CAAC,GAAG;QAAEE,QAAQ,EAAEA,QAAQ,CAACmB;MAAM,CAAC,CAAC,IACpDnB,QAAQ,CAACmB,KAAK,CAACxC,MAAM,EAAEkC,GAAG,CAACQ,KAAK,IAAAC,YAAA,CAAA1D,sBAAA,EAAAsD,WAAA;QAAA,SAEpBG,KAAK;QAAA,YACFrB,QAAQ,CAACmB,KAAK;QAAA,qBACL5B,KAAK,CAACV,iBAAiB;QAAA,oBACxBU,KAAK,CAACT,gBAAgB;QAAA,kBACxBS,KAAK,CAACR;MAAc,GAChCa,KAAK;QAGR,IAAIE,KAAK,CAAC,gBAAgB,CAAC,GAAG;UAC5B,gBAAgB,EAAE6B,KAAA;YAAA,IAAC;cAAEH,MAAM;cAAEC,MAAM;cAAEC,UAAU;cAAEL,KAAK;cAAErB;YAAS,CAAC,GAAA2B,KAAA;YAAA,OAChE7B,KAAK,CAAC,gBAAgB,CAAC,GAAG;cAAE0B,MAAM;cAAEC,MAAM;cAAEC,UAAU;cAAEL,KAAK;cAAErB;YAAS,CAAC,CAAC;UAAA;QAE9E,CAAC,GAAG,CAAC,CAAC;MAAC,EAGZ,CACF,IAIR;IAEL,CAAC,CAAC;IAEF,OAAO;MAAEA;IAAS,CAAC;EACrB;AACF,CAAC,CAAC","ignoreList":[]}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
export type VCalendarIntervalEventSlots = {
|
2
|
-
|
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
|
-
|
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
|
-
|
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:
|
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
|
-
|
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
|
-
|
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
|
-
|
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:
|
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
|
-
|
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
|
-
|
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:
|
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
|
-
|
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
|
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","
|
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":[]}
|