@opentinyvue/vue-calendar-view 3.25.0 → 3.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,7 @@ import SliderButton from '@opentinyvue/vue-slider-button';
6
6
  import SliderButtonGroup from '@opentinyvue/vue-slider-button-group';
7
7
  import Tooltip from '@opentinyvue/vue-tooltip';
8
8
  import { IconCheckedSur, IconPlus, IconChevronLeft, IconChevronRight, IconDayView, IconAgendaView, IconMonthView } from '@opentinyvue/vue-icon';
9
- import { resolveComponent, openBlock, createElementBlock, createVNode, withCtx, createElementVNode, toDisplayString, createCommentVNode, createBlock, createTextVNode, normalizeClass, renderSlot, Fragment, renderList, resolveDynamicComponent, normalizeStyle } from 'vue';
9
+ import { resolveComponent, openBlock, createElementBlock, normalizeStyle, createVNode, withCtx, createElementVNode, toDisplayString, createCommentVNode, createBlock, createTextVNode, normalizeClass, renderSlot, Fragment, renderList, resolveDynamicComponent } from 'vue';
10
10
 
11
11
  function _createForOfIteratorHelperLoose(r, e) {
12
12
  var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
@@ -79,7 +79,7 @@ var _sfc_main = defineComponent({
79
79
  TinyDatePicker: DatePicker,
80
80
  TinyTooltip: Tooltip
81
81
  },
82
- props: [].concat(props, ["_constants", "modelValue", "showMark", "showNewSchedule", "setDayBgColor", "disabled", "mode", "modes", "year", "month", "dayTimes", "events", "height", "mark-color", "multi-select", "showBackToday", "showTipTime"]),
82
+ props: [].concat(props, ["_constants", "modelValue", "showMark", "showNewSchedule", "setDayBgColor", "disabled", "mode", "modes", "year", "month", "day", "dayTimes", "events", "height", "mark-color", "multi-select", "showBackToday", "showTipTime"]),
83
83
  setup: function setup$1(props2, context) {
84
84
  return setup({
85
85
  props: props2,
@@ -98,110 +98,106 @@ var _sfc_main = defineComponent({
98
98
  }
99
99
  });
100
100
  var _hoisted_1 = {
101
- "data-tag": "tiny-calendar-view",
102
- class: "w-full h-auto"
103
- };
104
- var _hoisted_2 = {
105
101
  class: "p-2 max-h-[80vh] overflow-auto"
106
102
  };
107
- var _hoisted_3 = {
103
+ var _hoisted_2 = {
108
104
  class: "px-1.5 mb-1.5 border-l-2 border-color-brand"
109
105
  };
110
- var _hoisted_4 = {
106
+ var _hoisted_3 = {
111
107
  key: 0,
112
108
  class: "mb-1.5 px-2 text-color-text-placeholder"
113
109
  };
114
- var _hoisted_5 = {
110
+ var _hoisted_4 = {
115
111
  class: "px-2 text-color-icon-primary"
116
112
  };
117
- var _hoisted_6 = {
113
+ var _hoisted_5 = {
118
114
  "data-tag": "tiny-calendar-view-today",
119
115
  class: "flex justify-around items-center mb-3"
120
116
  };
121
- var _hoisted_7 = {
117
+ var _hoisted_6 = {
122
118
  class: "flex-1 mx-5",
123
119
  "data-tag": "tiny-calendar-view-tool"
124
120
  };
125
- var _hoisted_8 = {
121
+ var _hoisted_7 = {
126
122
  key: 0,
127
123
  "data-tag": "tiny-calendar-view-monthbox",
128
124
  class: "shadow-sm"
129
125
  };
130
- var _hoisted_9 = {
126
+ var _hoisted_8 = {
131
127
  "data-tag": "tiny-calendar-view-month",
132
128
  class: "flex relative justify-around h-10 shadow-sm"
133
129
  };
134
- var _hoisted_10 = {
130
+ var _hoisted_9 = {
135
131
  "data-tag": "tiny-calendar-view-monthlist",
136
132
  class: "flex justify-around flex-1 h-full"
137
133
  };
138
- var _hoisted_11 = {
134
+ var _hoisted_10 = {
139
135
  class: "text-sm text-color-text-primary"
140
136
  };
141
- var _hoisted_12 = {
137
+ var _hoisted_11 = {
142
138
  "data-tag": "tiny-calendar-view-calendarbox",
143
139
  class: "w-full overflow-hidden"
144
140
  };
145
- var _hoisted_13 = {
141
+ var _hoisted_12 = {
146
142
  class: "w-full mt-0.5"
147
143
  };
148
- var _hoisted_14 = ["onClick"];
149
- var _hoisted_15 = {
144
+ var _hoisted_13 = ["onClick"];
145
+ var _hoisted_14 = {
150
146
  key: 0,
151
147
  "data-tag": "tiny-calendar-view-multiselect",
152
148
  class: "absolute top-0 right-0 bg-color-brand h-4 w-4 overflow-hidden rounded-bl-lg"
153
149
  };
154
- var _hoisted_16 = {
150
+ var _hoisted_15 = {
155
151
  "data-tag": "tiny-calendar-view-timebox",
156
152
  class: "overflow-y-auto scrollbar-size-0 w-full",
157
153
  style: {
158
154
  "max-height": "calc(100% - 26px)"
159
155
  }
160
156
  };
161
- var _hoisted_17 = ["onMouseenter", "onMouseleave"];
162
- var _hoisted_18 = {
157
+ var _hoisted_16 = ["onMouseenter", "onMouseleave"];
158
+ var _hoisted_17 = {
163
159
  key: 1,
164
160
  "data-tag": "tiny-calendar-view-not-month",
165
161
  class: "shadow-sm"
166
162
  };
167
- var _hoisted_19 = {
163
+ var _hoisted_18 = {
168
164
  class: "flex justify-around items-center h-10 shadow-sm"
169
165
  };
170
- var _hoisted_20 = {
166
+ var _hoisted_19 = {
171
167
  "data-tag": "tiny-calendar-view-weekdates",
172
168
  class: "flex justify-around flex-1 h-full"
173
169
  };
174
- var _hoisted_21 = ["onClick"];
175
- var _hoisted_22 = {
170
+ var _hoisted_20 = ["onClick"];
171
+ var _hoisted_21 = {
176
172
  class: "w-12",
177
173
  "data-tag": "tiny-calendar-view-timelinelist"
178
174
  };
179
- var _hoisted_23 = {
175
+ var _hoisted_22 = {
180
176
  class: "text-sm text-color-text-primary"
181
177
  };
182
- var _hoisted_24 = {
178
+ var _hoisted_23 = {
183
179
  class: "flex-1",
184
180
  "data-tag": "tiny-calendar-view-timelinelist"
185
181
  };
186
- var _hoisted_25 = {
182
+ var _hoisted_24 = {
187
183
  class: "w-full flex justify-around"
188
184
  };
189
- var _hoisted_26 = {
185
+ var _hoisted_25 = {
190
186
  class: "flex w-full",
191
187
  "data-tag": "tiny-calendar-view-schedulelist"
192
188
  };
193
- var _hoisted_27 = {
189
+ var _hoisted_26 = {
194
190
  class: "px-1.5 mb-1.5 border-l-2 border-color-brand break-all"
195
191
  };
196
- var _hoisted_28 = {
192
+ var _hoisted_27 = {
197
193
  key: 0,
198
194
  class: "mb-1.5 px-2 text-color-text-placeholder"
199
195
  };
200
- var _hoisted_29 = {
196
+ var _hoisted_28 = {
201
197
  class: "px-2 text-xs text-color-icon-primary line-clamp-2"
202
198
  };
203
- var _hoisted_30 = ["onClick"];
204
- var _hoisted_31 = {
199
+ var _hoisted_29 = ["onClick"];
200
+ var _hoisted_30 = {
205
201
  class: "ml-1 text-color-text-placeholder"
206
202
  };
207
203
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -214,468 +210,483 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
214
210
  var _component_icon_chevron_right = resolveComponent("icon-chevron-right");
215
211
  var _component_icon_checked_sur = resolveComponent("icon-checked-sur");
216
212
  var _component_icon_plus = resolveComponent("icon-plus");
217
- return openBlock(), createElementBlock("div", _hoisted_1, [createVNode(
218
- _component_tiny_tooltip,
213
+ return openBlock(), createElementBlock(
214
+ "div",
219
215
  {
220
- ref: "tooltip",
221
- "popper-class": "absolute max-w-[theme(spacing.80)]",
222
- effect: "light",
223
- placement: "right"
216
+ "data-tag": "tiny-calendar-view",
217
+ class: "w-full h-auto overflow-auto",
218
+ style: normalizeStyle({
219
+ "height": _ctx.height ? parseInt(_ctx.height) + "px" : "auto"
220
+ })
224
221
  },
225
- {
226
- content: withCtx(function() {
227
- return [createElementVNode("div", _hoisted_2, [createElementVNode(
228
- "div",
229
- _hoisted_3,
230
- toDisplayString(_ctx.state.eventTipContent.title),
231
- 1
232
- /* TEXT */
233
- ), _ctx.showTipTime ? (openBlock(), createElementBlock(
234
- "div",
235
- _hoisted_4,
236
- toDisplayString(_ctx.state.eventTipContent.startDay) + " " + toDisplayString(_ctx.state.eventTipContent.startTime) + " ~ " + toDisplayString(_ctx.state.eventTipContent.endDay) + " " + toDisplayString(_ctx.state.eventTipContent.endTime),
237
- 1
238
- /* TEXT */
239
- )) : createCommentVNode("v-if", true), createElementVNode(
240
- "p",
241
- _hoisted_5,
242
- toDisplayString(_ctx.state.eventTipContent.content || ""),
222
+ [createVNode(
223
+ _component_tiny_tooltip,
224
+ {
225
+ ref: "tooltip",
226
+ "popper-class": "absolute max-w-[theme(spacing.80)]",
227
+ effect: "light",
228
+ placement: "right"
229
+ },
230
+ {
231
+ content: withCtx(function() {
232
+ return [createElementVNode("div", _hoisted_1, [createElementVNode(
233
+ "div",
234
+ _hoisted_2,
235
+ toDisplayString(_ctx.state.eventTipContent.title),
236
+ 1
237
+ /* TEXT */
238
+ ), _ctx.showTipTime ? (openBlock(), createElementBlock(
239
+ "div",
240
+ _hoisted_3,
241
+ toDisplayString(_ctx.state.eventTipContent.startDay) + " " + toDisplayString(_ctx.state.eventTipContent.startTime) + " ~ " + toDisplayString(_ctx.state.eventTipContent.endDay) + " " + toDisplayString(_ctx.state.eventTipContent.endTime),
242
+ 1
243
+ /* TEXT */
244
+ )) : createCommentVNode("v-if", true), createElementVNode(
245
+ "p",
246
+ _hoisted_4,
247
+ toDisplayString(_ctx.state.eventTipContent.content || ""),
248
+ 1
249
+ /* TEXT */
250
+ )])];
251
+ }),
252
+ _: 1
253
+ /* STABLE */
254
+ },
255
+ 512
256
+ /* NEED_PATCH */
257
+ ), createElementVNode("div", _hoisted_5, [_ctx.showBackToday ? (openBlock(), createBlock(_component_tiny_button, {
258
+ key: 0,
259
+ onClick: _ctx.toToday
260
+ }, {
261
+ default: withCtx(function() {
262
+ return [createTextVNode(
263
+ toDisplayString(_ctx.t("ui.calendarView.backToday")),
243
264
  1
244
265
  /* TEXT */
245
- )])];
266
+ )];
246
267
  }),
247
268
  _: 1
248
269
  /* STABLE */
249
- },
250
- 512
251
- /* NEED_PATCH */
252
- ), createElementVNode("div", _hoisted_6, [_ctx.showBackToday ? (openBlock(), createBlock(_component_tiny_button, {
253
- key: 0,
254
- onClick: _ctx.toToday
255
- }, {
256
- default: withCtx(function() {
257
- return [createTextVNode(
258
- toDisplayString(_ctx.t("ui.calendarView.backToday")),
259
- 1
260
- /* TEXT */
261
- )];
262
- }),
263
- _: 1
264
- /* STABLE */
265
- }, 8, ["onClick"])) : createCommentVNode("v-if", true), createVNode(_component_tiny_date_picker, {
266
- modelValue: _ctx.state.currentDate,
267
- "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
268
- return _ctx.state.currentDate = $event;
269
- }),
270
- class: normalizeClass([_ctx.showBackToday ? "ml-5" : "", "shrink-0"]),
271
- shape: "filter",
272
- type: "month",
273
- clearable: false,
274
- onChange: _ctx.currentDateChange,
275
- format: _ctx.t("ui.calendarView.dateFormat")
276
- }, null, 8, ["modelValue", "class", "onChange", "format"]), createElementVNode("div", _hoisted_7, [renderSlot(_ctx.$slots, "tool")]), _ctx.modes.length ? (openBlock(), createBlock(_component_tiny_slider_button_group, {
277
- key: 1,
278
- modelValue: _ctx.state.mode,
279
- "onUpdate:modelValue": _cache[1] || (_cache[1] = function($event) {
280
- return _ctx.state.mode = $event;
281
- }),
282
- type: "icon",
283
- class: "shrink-0"
284
- }, {
285
- default: withCtx(function() {
286
- return [(openBlock(true), createElementBlock(
287
- Fragment,
288
- null,
289
- renderList(_ctx.modes, function(mode) {
290
- return openBlock(), createBlock(_component_tiny_slider_button, {
291
- key: mode,
292
- label: mode
293
- }, {
294
- default: withCtx(function() {
295
- return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.state.modesIcon[mode])))];
296
- }),
297
- _: 2
298
- /* DYNAMIC */
299
- }, 1032, ["label"]);
300
- }),
301
- 128
302
- /* KEYED_FRAGMENT */
303
- ))];
304
- }),
305
- _: 1
306
- /* STABLE */
307
- }, 8, ["modelValue"])) : createCommentVNode("v-if", true)]), _ctx.state.mode === "month" ? (openBlock(), createElementBlock("div", _hoisted_8, [createElementVNode("div", _hoisted_9, [createElementVNode("div", {
308
- "data-tag": "tiny-calendar-view-prevmonth",
309
- class: "absolute left-3 top-2.5 cursor-pointer",
310
- onClick: _cache[2] || (_cache[2] = function() {
311
- return _ctx.goPrevMonth && _ctx.goPrevMonth.apply(_ctx, arguments);
312
- })
313
- }, [createVNode(_component_icon_chevron_left)]), createElementVNode("ul", _hoisted_10, [(openBlock(true), createElementBlock(
314
- Fragment,
315
- null,
316
- renderList(_ctx.state.weekDays, function(day) {
317
- return openBlock(), createElementBlock("li", {
318
- "data-tag": "tiny-calendar-view-monthitem",
319
- key: day,
320
- class: "leading-10"
321
- }, [createElementVNode(
322
- "span",
323
- _hoisted_11,
324
- toDisplayString(_ctx.t("ui.calendarView.weekDays." + day)),
325
- 1
326
- /* TEXT */
327
- )]);
328
- }),
329
- 128
330
- /* KEYED_FRAGMENT */
331
- ))]), createElementVNode("div", {
332
- "data-tag": "tiny-calendar-view-nextmonth",
333
- class: "absolute right-3 top-2.5 cursor-pointer",
334
- onClick: _cache[3] || (_cache[3] = function() {
335
- return _ctx.goNextMonth && _ctx.goNextMonth.apply(_ctx, arguments);
336
- })
337
- }, [createVNode(_component_icon_chevron_right)])]), createElementVNode("div", _hoisted_12, [createElementVNode("div", _hoisted_13, [(openBlock(true), createElementBlock(
338
- Fragment,
339
- null,
340
- renderList(_ctx.state.calendar, function(item, index) {
341
- return openBlock(), createElementBlock("ul", {
342
- "data-tag": "tiny-calendar-view-calendarlist",
343
- key: index,
344
- class: "w-full flex justify-around border-b border-color-bg-2"
345
- }, [(openBlock(true), createElementBlock(
346
- Fragment,
347
- null,
348
- renderList(item, function(day, i) {
349
- return openBlock(), createElementBlock("li", {
350
- "data-tag": "tiny-calendar-view-calendaritem",
351
- key: i,
352
- onClick: function onClick($event) {
353
- return _ctx.selectDay(day);
354
- },
355
- style: {
356
- "width": "14.2857%"
357
- },
358
- class: normalizeClass(["py-0.5 relative h-20 overflow-hidden border-r border-color-bg-2", _ctx.m(i === 0 || i === 6 ? "bg-color-bg-6" : "bg-color-bg-1", day.isLast || day.isNext || day.disabled ? "" : _ctx.isSelectedDate(day) ? "bg-color-brand-hover-subtle hover:bg-color-brand-hover-subtle" : "hover:bg-color-brand-hover-subtler", _ctx.gcls("bg-" + _ctx.getDayBgColor(day)))])
359
- }, [_ctx.multiSelect && _ctx.isSelectedDate(day) ? (openBlock(), createElementBlock("div", _hoisted_15, [createVNode(_component_icon_checked_sur, {
360
- class: "fill-color-brand relative -right-px -top-0.5"
361
- })])) : createCommentVNode("v-if", true), createElementVNode(
362
- "div",
363
- {
364
- "data-tag": "tiny-calendar-view-daytag",
365
- class: normalizeClass(["py-1.5 pl-2", _ctx.m(day.isLast || day.isNext ? "text-color-text-primary opacity-30" : _ctx.isToday(day) || _ctx.isSelectedDate(day) ? "text-color-brand" : "text-color-text-primary", day.disabled ? "text-color-none-hover" : "")])
366
- },
367
- toDisplayString(_ctx.isToday(day) ? _ctx.t("ui.datepicker.today") : day.value),
368
- 3
369
- /* TEXT, CLASS */
370
- ), createElementVNode("div", _hoisted_16, [(openBlock(true), createElementBlock(
371
- Fragment,
372
- null,
373
- renderList(_ctx.getEventByTime(day, _ctx._constants.DAY_START_TIME, _ctx._constants.DAY_END_TIME), function(event, idx) {
374
- return openBlock(), createElementBlock("div", {
375
- key: idx,
376
- onMouseenter: function onMouseenter($event) {
377
- return _ctx.handleMouseenter($event, event);
378
- },
379
- onMouseleave: function onMouseleave($event) {
380
- return _ctx.handleMouseleave($event, event);
381
- },
382
- class: "mb-0.5"
383
- }, [_ctx.isStartOrEndDay("start", day.value, _ctx._constants.DAY_START_TIME, _ctx._constants.DAY_END_TIME, event) ? (openBlock(), createElementBlock(
384
- "div",
385
- {
386
- key: 0,
387
- class: normalizeClass(["pl-0.5", [event.dayNumber > 1 ? "pr-0" : "pr-0.5"]])
388
- },
389
- [createElementVNode(
390
- "span",
391
- {
392
- "data-tag": "tiny-calendar-view-time",
393
- class: normalizeClass(["px-1.5 inline-block rounded-sm leading-5 line-clamp-1", [_ctx.gcls("theme-" + event.theme)]])
394
- },
395
- toDisplayString(event.title),
396
- 3
397
- /* TEXT, CLASS */
398
- )],
399
- 2
400
- /* CLASS */
401
- )) : (openBlock(), createElementBlock(
402
- "div",
403
- {
404
- key: 1,
405
- "data-tag": "tiny-calendar-view-theme",
406
- class: normalizeClass(["h-5 leading-5", [_ctx.isStartOrEndDay("end", day.value, _ctx._constants.DAY_START_TIME, _ctx._constants.DAY_END_TIME, event) ? "mr-0.5" : "mr-0", _ctx.gcls("bg-" + event.theme)]])
407
- },
408
- null,
409
- 2
410
- /* CLASS */
411
- ))], 40, _hoisted_17);
412
- }),
413
- 128
414
- /* KEYED_FRAGMENT */
415
- ))])], 10, _hoisted_14);
416
- }),
417
- 128
418
- /* KEYED_FRAGMENT */
419
- ))]);
420
- }),
421
- 128
422
- /* KEYED_FRAGMENT */
423
- ))])])])) : (openBlock(), createElementBlock("div", _hoisted_18, [createElementVNode("div", _hoisted_19, [createElementVNode("div", {
424
- class: "w-7 shrink-0 text-right cursor-pointer",
425
- "data-tag": "tiny-calendar-view-prevweek",
426
- onClick: _cache[4] || (_cache[4] = function() {
427
- return _ctx.getPrevWeek && _ctx.getPrevWeek.apply(_ctx, arguments);
428
- })
429
- }, [createVNode(_component_icon_chevron_left)]), createElementVNode("ul", _hoisted_20, [(openBlock(true), createElementBlock(
430
- Fragment,
431
- null,
432
- renderList(_ctx.state.weekDates, function(date, index) {
433
- return openBlock(), createElementBlock("li", {
434
- "data-tag": "tiny-calendar-view-weekitem",
435
- key: date.value,
436
- class: "leading-10 cursor-pointer",
437
- onClick: function onClick($event) {
438
- return _ctx.selectDay(date);
439
- }
440
- }, [renderSlot(_ctx.$slots, "header", {
441
- slotScope: {
442
- date: date.value,
443
- weekDay: _ctx.t("ui.calendarView.weekDays." + index)
444
- }
445
- }, function() {
446
- return [createElementVNode(
447
- "span",
448
- {
449
- class: normalizeClass(["relative mr-2.5 text-base", [_ctx.dateIsToday(date.value) || _ctx.computedSelectDay(date) ? "text-color-brand" : "text-color-text-primary"]])
450
- },
451
- [createElementVNode(
452
- "span",
453
- null,
454
- toDisplayString(date.value.split("-")[2]),
455
- 1
456
- /* TEXT */
457
- ), _ctx.isShowMark(date.value) ? (openBlock(), createElementBlock(
458
- "span",
459
- {
460
- key: 0,
461
- class: normalizeClass(["w-1.5 h-1.5 absolute -bottom-2 rounded-full", [date.value.split("-")[2] > 9 ? "left-2" : "left-0.5", _ctx.gcls("mark-" + _ctx.markColor)]])
462
- },
463
- null,
464
- 2
465
- /* CLASS */
466
- )) : createCommentVNode("v-if", true)],
467
- 2
468
- /* CLASS */
469
- ), createElementVNode(
470
- "span",
471
- {
472
- class: normalizeClass(["text-sm", [_ctx.dateIsToday(date.value) || _ctx.computedSelectDay(date) ? "text-color-brand" : "text-color-text-placeholder"]])
473
- },
474
- toDisplayString(_ctx.dateIsToday(date.value) ? _ctx.t("ui.datepicker.today") : _ctx.t("ui.calendarView.weekDays." + index)),
475
- 3
476
- /* TEXT, CLASS */
477
- )];
478
- })], 8, _hoisted_21);
479
- }),
480
- 128
481
- /* KEYED_FRAGMENT */
482
- ))]), createElementVNode("div", {
483
- "data-tag": "tiny-calendar-view-nextvweek",
484
- class: "w-7 shrink-0 text-left cursor-pointer",
485
- onClick: _cache[5] || (_cache[5] = function() {
486
- return _ctx.getNextWeek && _ctx.getNextWeek.apply(_ctx, arguments);
487
- })
488
- }, [createVNode(_component_icon_chevron_right)])]), _ctx.state.mode === "timeline" ? (openBlock(), createElementBlock(
489
- "div",
490
- {
491
- key: 0,
492
- "data-tag": "tiny-calendar-view-timeline",
493
- class: "w-full h-112 flex overflow-y-auto mt-1",
494
- style: normalizeStyle({
495
- "height": _ctx.height
270
+ }, 8, ["onClick"])) : createCommentVNode("v-if", true), createVNode(_component_tiny_date_picker, {
271
+ modelValue: _ctx.state.currentDate,
272
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
273
+ return _ctx.state.currentDate = $event;
274
+ }),
275
+ class: normalizeClass([_ctx.showBackToday ? "ml-5" : "", "shrink-0"]),
276
+ shape: "filter",
277
+ type: _ctx.state.dateType,
278
+ clearable: false,
279
+ onChange: _ctx.currentDateChange,
280
+ format: _ctx.day ? _ctx.t("ui.calendarView.dateFormat") : _ctx.t("ui.calendarView.monthFormat")
281
+ }, null, 8, ["modelValue", "class", "type", "onChange", "format"]), createElementVNode("div", _hoisted_6, [renderSlot(_ctx.$slots, "tool")]), _ctx.modes.length ? (openBlock(), createBlock(_component_tiny_slider_button_group, {
282
+ key: 1,
283
+ modelValue: _ctx.state.mode,
284
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = function($event) {
285
+ return _ctx.state.mode = $event;
286
+ }),
287
+ type: "icon",
288
+ class: "shrink-0"
289
+ }, {
290
+ default: withCtx(function() {
291
+ return [(openBlock(true), createElementBlock(
292
+ Fragment,
293
+ null,
294
+ renderList(_ctx.modes, function(mode) {
295
+ return openBlock(), createBlock(_component_tiny_slider_button, {
296
+ key: mode,
297
+ label: mode
298
+ }, {
299
+ default: withCtx(function() {
300
+ return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.state.modesIcon[mode])))];
301
+ }),
302
+ _: 2
303
+ /* DYNAMIC */
304
+ }, 1032, ["label"]);
305
+ }),
306
+ 128
307
+ /* KEYED_FRAGMENT */
308
+ ))];
309
+ }),
310
+ _: 1
311
+ /* STABLE */
312
+ }, 8, ["modelValue"])) : createCommentVNode("v-if", true)]), _ctx.state.mode === "month" ? (openBlock(), createElementBlock("div", _hoisted_7, [createElementVNode("div", _hoisted_8, [createElementVNode("div", {
313
+ "data-tag": "tiny-calendar-view-prevmonth",
314
+ class: "absolute left-3 top-2.5 cursor-pointer",
315
+ onClick: _cache[2] || (_cache[2] = function() {
316
+ return _ctx.goPrevMonth && _ctx.goPrevMonth.apply(_ctx, arguments);
496
317
  })
497
- },
498
- [createElementVNode("div", _hoisted_22, [createElementVNode("ul", null, [(openBlock(true), createElementBlock(
318
+ }, [createVNode(_component_icon_chevron_left)]), createElementVNode("ul", _hoisted_9, [(openBlock(true), createElementBlock(
499
319
  Fragment,
500
320
  null,
501
- renderList(_ctx.state.dayTimes, function(item, i) {
502
- return openBlock(), createElementBlock(
503
- "li",
504
- {
505
- "data-tag": "tiny-calendar-view-timelineitem",
506
- key: item.time,
507
- class: normalizeClass(["h-5 text-center border-b", [i % 2 === 1 ? "border-color-bg-2" : "border-color-bg-1"]])
508
- },
509
- [createElementVNode(
510
- "span",
511
- _hoisted_23,
512
- toDisplayString(item.text.includes("30") ? "" : item.text),
513
- 1
514
- /* TEXT */
515
- )],
516
- 2
517
- /* CLASS */
518
- );
321
+ renderList(_ctx.state.weekDays, function(day) {
322
+ return openBlock(), createElementBlock("li", {
323
+ "data-tag": "tiny-calendar-view-monthitem",
324
+ key: day,
325
+ class: "leading-10"
326
+ }, [createElementVNode(
327
+ "span",
328
+ _hoisted_10,
329
+ toDisplayString(_ctx.t("ui.calendarView.weekDays." + day)),
330
+ 1
331
+ /* TEXT */
332
+ )]);
519
333
  }),
520
334
  128
521
335
  /* KEYED_FRAGMENT */
522
- ))])]), createElementVNode("div", _hoisted_24, [createElementVNode("ul", _hoisted_25, [(openBlock(true), createElementBlock(
336
+ ))]), createElementVNode("div", {
337
+ "data-tag": "tiny-calendar-view-nextmonth",
338
+ class: "absolute right-3 top-2.5 cursor-pointer",
339
+ onClick: _cache[3] || (_cache[3] = function() {
340
+ return _ctx.goNextMonth && _ctx.goNextMonth.apply(_ctx, arguments);
341
+ })
342
+ }, [createVNode(_component_icon_chevron_right)])]), createElementVNode("div", _hoisted_11, [createElementVNode("div", _hoisted_12, [(openBlock(true), createElementBlock(
523
343
  Fragment,
524
344
  null,
525
- renderList(_ctx.state.weekDates, function(date, index) {
526
- return openBlock(), createElementBlock(
527
- "li",
528
- {
529
- "data-tag": "tiny-calendar-view-timelineitem",
530
- key: date.value,
531
- class: normalizeClass(["relative", [index === 0 || index === 6 ? "bg-color-bg-6" : ""]]),
532
- style: {
533
- "width": "calc((100% - 10px) / 7)"
534
- }
535
- },
536
- [renderSlot(_ctx.$slots, "timeline" + (index + 1), {
537
- slotScope: {
538
- date: date.value,
539
- events: _ctx.state.curWeekEvents[date.value]
540
- }
541
- }, function() {
542
- return [createElementVNode("ul", null, [(openBlock(true), createElementBlock(
345
+ renderList(_ctx.state.calendar, function(item, index) {
346
+ return openBlock(), createElementBlock("ul", {
347
+ "data-tag": "tiny-calendar-view-calendarlist",
348
+ key: index,
349
+ class: "w-full flex justify-around border-b border-color-bg-2"
350
+ }, [(openBlock(true), createElementBlock(
351
+ Fragment,
352
+ null,
353
+ renderList(item, function(day, i) {
354
+ return openBlock(), createElementBlock("li", {
355
+ "data-tag": "tiny-calendar-view-calendaritem",
356
+ key: i,
357
+ onClick: function onClick($event) {
358
+ return _ctx.selectDay(day);
359
+ },
360
+ style: {
361
+ "width": "14.2857%"
362
+ },
363
+ class: normalizeClass(["py-0.5 relative h-20 overflow-hidden border-r border-color-bg-2", _ctx.m(i === 0 || i === 6 ? "bg-color-bg-6" : "bg-color-bg-1", day.isLast || day.isNext || day.disabled ? "" : _ctx.isSelectedDate(day) ? "bg-color-brand-hover-subtle hover:bg-color-brand-hover-subtle" : "hover:bg-color-brand-hover-subtler", _ctx.gcls("bg-" + _ctx.getDayBgColor(day)))])
364
+ }, [_ctx.multiSelect && _ctx.isSelectedDate(day) ? (openBlock(), createElementBlock("div", _hoisted_14, [createVNode(_component_icon_checked_sur, {
365
+ class: "fill-color-brand relative -right-px -top-0.5"
366
+ })])) : createCommentVNode("v-if", true), createElementVNode(
367
+ "div",
368
+ {
369
+ "data-tag": "tiny-calendar-view-daytag",
370
+ class: normalizeClass(["py-1.5 pl-2", _ctx.m(day.isLast || day.isNext ? "text-color-text-primary opacity-30" : _ctx.isToday(day) || _ctx.isSelectedDate(day) ? "text-color-brand" : "text-color-text-primary", day.disabled ? "text-color-none-hover" : "")])
371
+ },
372
+ toDisplayString(_ctx.isToday(day) ? _ctx.t("ui.datepicker.today") : day.value),
373
+ 3
374
+ /* TEXT, CLASS */
375
+ ), createElementVNode("div", _hoisted_15, [(openBlock(true), createElementBlock(
543
376
  Fragment,
544
377
  null,
545
- renderList(_ctx.state.dayTimes, function(item, i) {
546
- return openBlock(), createElementBlock(
547
- "li",
378
+ renderList(_ctx.getEventByTime(day, _ctx._constants.DAY_START_TIME, _ctx._constants.DAY_END_TIME), function(event, idx) {
379
+ return openBlock(), createElementBlock("div", {
380
+ key: idx,
381
+ onMouseenter: function onMouseenter($event) {
382
+ return _ctx.handleMouseenter($event, event);
383
+ },
384
+ onMouseleave: function onMouseleave($event) {
385
+ return _ctx.handleMouseleave($event, event);
386
+ },
387
+ class: "mb-0.5"
388
+ }, [_ctx.isStartOrEndDay("start", day.value, _ctx._constants.DAY_START_TIME, _ctx._constants.DAY_END_TIME, event) ? (openBlock(), createElementBlock(
389
+ "div",
548
390
  {
549
- key: date.value + item.time,
550
- class: normalizeClass(["relative h-5 p-0.5 list-none border-b border-color-bg-2", [i % 2 === 0 ? "border-dashed" : "border-solid"]])
391
+ key: 0,
392
+ class: normalizeClass(["pl-0.5", [event.dayNumber > 1 ? "pr-0" : "pr-0.5"]])
551
393
  },
552
- [(openBlock(true), createElementBlock(
553
- Fragment,
554
- null,
555
- renderList(_ctx.getEventByTime(date.value, item.time, _ctx.state.dayTimes[i + 1] && _ctx.state.dayTimes[i + 1].time), function(event, idx) {
556
- return openBlock(), createElementBlock(
557
- "div",
558
- {
559
- key: idx,
560
- class: normalizeClass(["w-11/12 flex items-center px-1.5 absolute top-0 left-0 z-10 leading-normal rounded-sm", [_ctx.gcls("theme-" + (event.theme || _ctx.blue))]]),
561
- style: normalizeStyle({
562
- "height": event.height + "px",
563
- "left": event.left + "px",
564
- "width": "calc(92% - " + event.left + "px)"
565
- })
566
- },
567
- [createElementVNode(
568
- "span",
569
- null,
570
- toDisplayString(event.title),
571
- 1
572
- /* TEXT */
573
- )],
574
- 6
575
- /* CLASS, STYLE */
576
- );
577
- }),
578
- 128
579
- /* KEYED_FRAGMENT */
580
- ))],
394
+ [createElementVNode(
395
+ "span",
396
+ {
397
+ "data-tag": "tiny-calendar-view-time",
398
+ class: normalizeClass(["px-1.5 inline-block rounded-sm leading-5 line-clamp-1", [_ctx.gcls("theme-" + event.theme)]])
399
+ },
400
+ toDisplayString(event.title),
401
+ 3
402
+ /* TEXT, CLASS */
403
+ )],
581
404
  2
582
405
  /* CLASS */
583
- );
406
+ )) : (openBlock(), createElementBlock(
407
+ "div",
408
+ {
409
+ key: 1,
410
+ "data-tag": "tiny-calendar-view-theme",
411
+ class: normalizeClass(["h-5 leading-5", [_ctx.isStartOrEndDay("end", day.value, _ctx._constants.DAY_START_TIME, _ctx._constants.DAY_END_TIME, event) ? "mr-0.5" : "mr-0", _ctx.gcls("bg-" + event.theme)]])
412
+ },
413
+ null,
414
+ 2
415
+ /* CLASS */
416
+ ))], 40, _hoisted_16);
584
417
  }),
585
418
  128
586
419
  /* KEYED_FRAGMENT */
587
- ))])];
588
- })],
589
- 2
590
- /* CLASS */
591
- );
420
+ ))])], 10, _hoisted_13);
421
+ }),
422
+ 128
423
+ /* KEYED_FRAGMENT */
424
+ ))]);
592
425
  }),
593
426
  128
594
427
  /* KEYED_FRAGMENT */
595
- ))])])],
596
- 4
597
- /* STYLE */
598
- )) : createCommentVNode("v-if", true), _ctx.state.mode === "schedule" ? (openBlock(), createElementBlock(
599
- "div",
600
- {
601
- key: 1,
602
- "data-tag": "tiny-calendar-view-schedule",
603
- class: "w-full px-6 pb-4 overflow-y-auto h-112",
604
- style: normalizeStyle({
605
- "height": _ctx.height
428
+ ))])])])) : (openBlock(), createElementBlock("div", _hoisted_17, [createElementVNode("div", _hoisted_18, [createElementVNode("div", {
429
+ class: "w-7 shrink-0 text-right cursor-pointer",
430
+ "data-tag": "tiny-calendar-view-prevweek",
431
+ onClick: _cache[4] || (_cache[4] = function() {
432
+ return _ctx.getPrevWeek && _ctx.getPrevWeek.apply(_ctx, arguments);
606
433
  })
607
- },
608
- [createElementVNode("ul", _hoisted_26, [(openBlock(true), createElementBlock(
434
+ }, [createVNode(_component_icon_chevron_left)]), createElementVNode("ul", _hoisted_19, [(openBlock(true), createElementBlock(
609
435
  Fragment,
610
436
  null,
611
437
  renderList(_ctx.state.weekDates, function(date, index) {
612
438
  return openBlock(), createElementBlock("li", {
613
- "data-tag": "tiny-calendar-view-scheduleitem",
439
+ "data-tag": "tiny-calendar-view-weekitem",
614
440
  key: date.value,
615
- class: "h-full py-3 px-2",
616
- style: {
617
- "width": "14.28%"
441
+ class: "leading-10 cursor-pointer",
442
+ onClick: function onClick($event) {
443
+ return _ctx.selectDay(date);
618
444
  }
619
- }, [renderSlot(_ctx.$slots, "weekday" + (index + 1), {
445
+ }, [renderSlot(_ctx.$slots, "header", {
620
446
  slotScope: {
621
447
  date: date.value,
622
- events: _ctx.state.curWeekEvents[date.value]
448
+ weekDay: _ctx.t("ui.calendarView.weekDays." + index)
623
449
  }
624
450
  }, function() {
625
- return [(openBlock(true), createElementBlock(
626
- Fragment,
627
- null,
628
- renderList(_ctx.state.curWeekEvents[date.value] || [], function(event, idx) {
629
- return openBlock(), createElementBlock("div", {
630
- "data-tag": "tiny-calendar-view-curWeek",
631
- key: idx,
632
- class: "py-1.5 h-auto border border-color-border-separator rounded mb-2 shadow-sm"
633
- }, [createElementVNode(
634
- "div",
635
- _hoisted_27,
636
- toDisplayString(event.title),
637
- 1
638
- /* TEXT */
639
- ), _ctx.showTipTime ? (openBlock(), createElementBlock(
640
- "div",
641
- _hoisted_28,
642
- toDisplayString(_ctx.getEventShowTime("start", event, date.value)) + " - " + toDisplayString(_ctx.getEventShowTime("end", event, date.value)),
643
- 1
644
- /* TEXT */
645
- )) : createCommentVNode("v-if", true), createElementVNode(
646
- "p",
647
- _hoisted_29,
648
- toDisplayString(event.content || ""),
649
- 1
650
- /* TEXT */
651
- )]);
652
- }),
653
- 128
654
- /* KEYED_FRAGMENT */
655
- ))];
656
- }), _ctx.isShowNewSchedule(date.value) ? (openBlock(), createElementBlock("div", {
657
- key: 0,
658
- "data-tag": "tiny-calendar-view-newschedule",
659
- class: "h-8 text-center leading-8 w-full mt-2 border border-color-border-separator rounded cursor-pointer",
660
- onClick: function onClick($event) {
661
- return _ctx.newSchedule(date.value);
662
- }
663
- }, [createVNode(_component_icon_plus, {
664
- class: "align-sub fill-color-text-placeholder"
665
- }), createElementVNode(
666
- "span",
667
- _hoisted_31,
668
- toDisplayString(_ctx.t("ui.calendarView.new")),
669
- 1
670
- /* TEXT */
671
- )], 8, _hoisted_30)) : createCommentVNode("v-if", true)]);
451
+ return [createElementVNode(
452
+ "span",
453
+ {
454
+ class: normalizeClass(["relative mr-2.5 text-base", [_ctx.dateIsToday(date.value) || _ctx.computedSelectDay(date) ? "text-color-brand" : "text-color-text-primary"]])
455
+ },
456
+ [createElementVNode(
457
+ "span",
458
+ null,
459
+ toDisplayString(date.value.split("-")[2]),
460
+ 1
461
+ /* TEXT */
462
+ ), _ctx.isShowMark(date.value) ? (openBlock(), createElementBlock(
463
+ "span",
464
+ {
465
+ key: 0,
466
+ class: normalizeClass(["w-1.5 h-1.5 absolute -bottom-2 rounded-full", [date.value.split("-")[2] > 9 ? "left-2" : "left-0.5", _ctx.gcls("mark-" + _ctx.markColor)]])
467
+ },
468
+ null,
469
+ 2
470
+ /* CLASS */
471
+ )) : createCommentVNode("v-if", true)],
472
+ 2
473
+ /* CLASS */
474
+ ), createElementVNode(
475
+ "span",
476
+ {
477
+ class: normalizeClass(["text-sm", [_ctx.dateIsToday(date.value) || _ctx.computedSelectDay(date) ? "text-color-brand" : "text-color-text-placeholder"]])
478
+ },
479
+ toDisplayString(_ctx.dateIsToday(date.value) ? _ctx.t("ui.datepicker.today") : _ctx.t("ui.calendarView.weekDays." + index)),
480
+ 3
481
+ /* TEXT, CLASS */
482
+ )];
483
+ })], 8, _hoisted_20);
672
484
  }),
673
485
  128
674
486
  /* KEYED_FRAGMENT */
675
- ))])],
487
+ ))]), createElementVNode("div", {
488
+ "data-tag": "tiny-calendar-view-nextvweek",
489
+ class: "w-7 shrink-0 text-left cursor-pointer",
490
+ onClick: _cache[5] || (_cache[5] = function() {
491
+ return _ctx.getNextWeek && _ctx.getNextWeek.apply(_ctx, arguments);
492
+ })
493
+ }, [createVNode(_component_icon_chevron_right)])]), _ctx.state.mode === "timeline" ? (openBlock(), createElementBlock(
494
+ "div",
495
+ {
496
+ key: 0,
497
+ "data-tag": "tiny-calendar-view-timeline",
498
+ class: "w-full h-112 flex overflow-y-auto mt-1",
499
+ style: normalizeStyle({
500
+ "height": _ctx.height
501
+ })
502
+ },
503
+ [createElementVNode("div", _hoisted_21, [createElementVNode("ul", null, [(openBlock(true), createElementBlock(
504
+ Fragment,
505
+ null,
506
+ renderList(_ctx.state.dayTimes, function(item, i) {
507
+ return openBlock(), createElementBlock(
508
+ "li",
509
+ {
510
+ "data-tag": "tiny-calendar-view-timelineitem",
511
+ key: item.time,
512
+ class: normalizeClass(["h-5 text-center border-b", [i % 2 === 1 ? "border-color-bg-2" : "border-color-bg-1"]])
513
+ },
514
+ [createElementVNode(
515
+ "span",
516
+ _hoisted_22,
517
+ toDisplayString(item.text.includes("30") ? "" : item.text),
518
+ 1
519
+ /* TEXT */
520
+ )],
521
+ 2
522
+ /* CLASS */
523
+ );
524
+ }),
525
+ 128
526
+ /* KEYED_FRAGMENT */
527
+ ))])]), createElementVNode("div", _hoisted_23, [createElementVNode("ul", _hoisted_24, [(openBlock(true), createElementBlock(
528
+ Fragment,
529
+ null,
530
+ renderList(_ctx.state.weekDates, function(date, index) {
531
+ return openBlock(), createElementBlock(
532
+ "li",
533
+ {
534
+ "data-tag": "tiny-calendar-view-timelineitem",
535
+ key: date.value,
536
+ class: normalizeClass(["relative", [index === 0 || index === 6 ? "bg-color-bg-6" : ""]]),
537
+ style: {
538
+ "width": "calc((100% - 10px) / 7)"
539
+ }
540
+ },
541
+ [renderSlot(_ctx.$slots, "timeline" + (index + 1), {
542
+ slotScope: {
543
+ date: date.value,
544
+ events: _ctx.state.curWeekEvents[date.value]
545
+ }
546
+ }, function() {
547
+ return [createElementVNode("ul", null, [(openBlock(true), createElementBlock(
548
+ Fragment,
549
+ null,
550
+ renderList(_ctx.state.dayTimes, function(item, i) {
551
+ return openBlock(), createElementBlock(
552
+ "li",
553
+ {
554
+ key: date.value + item.time,
555
+ class: normalizeClass(["relative h-5 p-0.5 list-none border-b border-color-bg-2", {
556
+ "border-dashed": i % 2 === 0,
557
+ "border-solid": i % 2 !== 0,
558
+ "overflow-hidden overflow-y-auto scrollbar-size-0": _ctx.getEventByTime(date.value, item.time, _ctx.state.dayTimes[i + 1] && _ctx.state.dayTimes[i + 1].time).length > 1
559
+ }])
560
+ },
561
+ [(openBlock(true), createElementBlock(
562
+ Fragment,
563
+ null,
564
+ renderList(_ctx.getEventByTime(date.value, item.time, _ctx.state.dayTimes[i + 1] && _ctx.state.dayTimes[i + 1].time), function(event, idx) {
565
+ return openBlock(), createElementBlock(
566
+ "div",
567
+ {
568
+ key: idx,
569
+ class: normalizeClass(["w-11/12 flex mb-0.5 items-center px-1.5 top-0 left-0 z-10 leading-normal rounded-sm", [_ctx.gcls("theme-" + (event.theme || _ctx.blue))]]),
570
+ style: normalizeStyle({
571
+ "height": event.height + "px",
572
+ "width": "92%"
573
+ })
574
+ },
575
+ [createElementVNode(
576
+ "span",
577
+ null,
578
+ toDisplayString(event.title),
579
+ 1
580
+ /* TEXT */
581
+ )],
582
+ 6
583
+ /* CLASS, STYLE */
584
+ );
585
+ }),
586
+ 128
587
+ /* KEYED_FRAGMENT */
588
+ ))],
589
+ 2
590
+ /* CLASS */
591
+ );
592
+ }),
593
+ 128
594
+ /* KEYED_FRAGMENT */
595
+ ))])];
596
+ })],
597
+ 2
598
+ /* CLASS */
599
+ );
600
+ }),
601
+ 128
602
+ /* KEYED_FRAGMENT */
603
+ ))])])],
604
+ 4
605
+ /* STYLE */
606
+ )) : createCommentVNode("v-if", true), _ctx.state.mode === "schedule" ? (openBlock(), createElementBlock(
607
+ "div",
608
+ {
609
+ key: 1,
610
+ "data-tag": "tiny-calendar-view-schedule",
611
+ class: "w-full px-6 pb-4 overflow-y-auto h-112",
612
+ style: normalizeStyle({
613
+ "height": _ctx.height
614
+ })
615
+ },
616
+ [createElementVNode("ul", _hoisted_25, [(openBlock(true), createElementBlock(
617
+ Fragment,
618
+ null,
619
+ renderList(_ctx.state.weekDates, function(date, index) {
620
+ return openBlock(), createElementBlock("li", {
621
+ "data-tag": "tiny-calendar-view-scheduleitem",
622
+ key: date.value,
623
+ class: "h-full py-3 px-2",
624
+ style: {
625
+ "width": "14.28%"
626
+ }
627
+ }, [renderSlot(_ctx.$slots, "weekday" + (index + 1), {
628
+ slotScope: {
629
+ date: date.value,
630
+ events: _ctx.state.curWeekEvents[date.value]
631
+ }
632
+ }, function() {
633
+ return [(openBlock(true), createElementBlock(
634
+ Fragment,
635
+ null,
636
+ renderList(_ctx.state.curWeekEvents[date.value] || [], function(event, idx) {
637
+ return openBlock(), createElementBlock("div", {
638
+ "data-tag": "tiny-calendar-view-curWeek",
639
+ key: idx,
640
+ class: "py-1.5 h-auto border border-color-border-separator rounded mb-2 shadow-sm"
641
+ }, [createElementVNode(
642
+ "div",
643
+ _hoisted_26,
644
+ toDisplayString(event.title),
645
+ 1
646
+ /* TEXT */
647
+ ), _ctx.showTipTime ? (openBlock(), createElementBlock(
648
+ "div",
649
+ _hoisted_27,
650
+ toDisplayString(_ctx.getEventShowTime("start", event, date.value)) + " - " + toDisplayString(_ctx.getEventShowTime("end", event, date.value)),
651
+ 1
652
+ /* TEXT */
653
+ )) : createCommentVNode("v-if", true), createElementVNode(
654
+ "p",
655
+ _hoisted_28,
656
+ toDisplayString(event.content || ""),
657
+ 1
658
+ /* TEXT */
659
+ )]);
660
+ }),
661
+ 128
662
+ /* KEYED_FRAGMENT */
663
+ ))];
664
+ }), _ctx.isShowNewSchedule(date.value) ? (openBlock(), createElementBlock("div", {
665
+ key: 0,
666
+ "data-tag": "tiny-calendar-view-newschedule",
667
+ class: "h-8 text-center leading-8 w-full mt-2 border border-color-border-separator rounded cursor-pointer",
668
+ onClick: function onClick($event) {
669
+ return _ctx.newSchedule(date.value);
670
+ }
671
+ }, [createVNode(_component_icon_plus, {
672
+ class: "align-sub fill-color-text-placeholder"
673
+ }), createElementVNode(
674
+ "span",
675
+ _hoisted_30,
676
+ toDisplayString(_ctx.t("ui.calendarView.new")),
677
+ 1
678
+ /* TEXT */
679
+ )], 8, _hoisted_29)) : createCommentVNode("v-if", true)]);
680
+ }),
681
+ 128
682
+ /* KEYED_FRAGMENT */
683
+ ))])],
684
+ 4
685
+ /* STYLE */
686
+ )) : createCommentVNode("v-if", true)]))],
676
687
  4
677
688
  /* STYLE */
678
- )) : createCommentVNode("v-if", true)]))]);
689
+ );
679
690
  }
680
691
  var mobileFirst = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
681
692
 
package/lib/pc.js CHANGED
@@ -54,7 +54,7 @@ var _sfc_main = defineComponent({
54
54
  TinyDatePicker: DatePicker,
55
55
  TinyTooltip: Tooltip
56
56
  },
57
- props: [].concat(props, ["modelValue", "showMark", "showNewSchedule", "setDayBgColor", "disabled", "mode", "modes", "year", "month", "dayTimes", "events", "height", "markColor", "multiSelect", "showBackToday", "showTipTime"]),
57
+ props: [].concat(props, ["modelValue", "showMark", "showNewSchedule", "setDayBgColor", "disabled", "mode", "modes", "year", "day", "month", "dayTimes", "events", "height", "markColor", "multiSelect", "showBackToday", "showTipTime"]),
58
58
  setup: function setup$1(props2, context) {
59
59
  return setup({
60
60
  props: props2,
@@ -172,7 +172,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
172
172
  {
173
173
  class: "tiny-calendar-view",
174
174
  style: normalizeStyle({
175
- "height": typeof _ctx.height === "number" ? _ctx.height + "px" : _ctx.height
175
+ "height": _ctx.height ? parseInt(_ctx.height) + "px" : "auto"
176
176
  })
177
177
  },
178
178
  [createElementVNode("div", _hoisted_1, [createElementVNode("div", null, [_ctx.showBackToday ? (openBlock(), createBlock(_component_tiny_button, {
@@ -194,11 +194,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
194
194
  return _ctx.state.currentDate = $event;
195
195
  }),
196
196
  class: "tiny-calendar-view__picker",
197
- type: "month",
197
+ type: _ctx.state.dateType,
198
198
  clearable: false,
199
199
  onChange: _ctx.currentDateChange,
200
- format: _ctx.t("ui.calendarView.dateFormat")
201
- }, null, 8, ["modelValue", "onChange", "format"]), createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "tool")]), _ctx.modes.length ? (openBlock(), createBlock(_component_tiny_radio_group, {
200
+ format: _ctx.day ? _ctx.t("ui.calendarView.dateFormat") : _ctx.t("ui.calendarView.monthFormat")
201
+ }, null, 8, ["modelValue", "type", "onChange", "format"]), createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "tool")]), _ctx.modes.length ? (openBlock(), createBlock(_component_tiny_radio_group, {
202
202
  key: 0,
203
203
  modelValue: _ctx.state.mode,
204
204
  "onUpdate:modelValue": _cache[1] || (_cache[1] = function($event) {
@@ -450,7 +450,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
450
450
  "li",
451
451
  {
452
452
  key: date.value + item.time,
453
- class: normalizeClass(i % 2 === 0 && "is-even-num")
453
+ class: normalizeClass({
454
+ "is-even-num": i % 2 === 0,
455
+ "is-scroll-list": _ctx.getEventByTime(date.value, item.time, _ctx.state.dayTimes[i + 1] && _ctx.state.dayTimes[i + 1].time).length > 1
456
+ })
454
457
  },
455
458
  [(openBlock(true), createElementBlock(
456
459
  Fragment,
@@ -463,8 +466,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
463
466
  class: normalizeClass(["events-item", ["theme-" + (event.theme || "blue")]]),
464
467
  style: normalizeStyle({
465
468
  "height": event.height + "px",
466
- "left": event.left + "px",
467
- "width": "calc(92% - " + event.left + "px)"
469
+ "width": "92%"
468
470
  })
469
471
  },
470
472
  [createElementVNode(
package/package.json CHANGED
@@ -1,24 +1,24 @@
1
1
  {
2
2
  "name": "@opentinyvue/vue-calendar-view",
3
- "version": "3.25.0",
3
+ "type": "module",
4
+ "version": "3.27.0",
4
5
  "description": "",
6
+ "license": "MIT",
7
+ "sideEffects": false,
5
8
  "main": "./lib/index.js",
6
9
  "module": "./lib/index.js",
7
- "sideEffects": false,
8
- "type": "module",
9
10
  "dependencies": {
10
- "@opentinyvue/vue-common": "~3.25.0",
11
- "@opentinyvue/vue-icon": "~3.25.0",
12
- "@opentinyvue/vue-renderless": "~3.25.0",
13
- "@opentinyvue/vue-tooltip": "~3.25.0",
14
- "@opentinyvue/vue-button": "~3.25.0",
15
- "@opentinyvue/vue-date-picker": "~3.25.0",
16
- "@opentinyvue/vue-radio-button": "~3.25.0",
17
- "@opentinyvue/vue-radio-group": "~3.25.0",
18
- "@opentinyvue/vue-slider-button": "~3.25.0",
19
- "@opentinyvue/vue-slider-button-group": "~3.25.0",
20
- "@opentinyvue/vue-theme": "~3.25.0"
11
+ "@opentinyvue/vue-button": "~3.27.0",
12
+ "@opentinyvue/vue-common": "~3.27.0",
13
+ "@opentinyvue/vue-date-picker": "~3.27.0",
14
+ "@opentinyvue/vue-icon": "~3.27.0",
15
+ "@opentinyvue/vue-radio-button": "~3.27.0",
16
+ "@opentinyvue/vue-radio-group": "~3.27.0",
17
+ "@opentinyvue/vue-renderless": "~3.27.0",
18
+ "@opentinyvue/vue-slider-button": "~3.27.0",
19
+ "@opentinyvue/vue-slider-button-group": "~3.27.0",
20
+ "@opentinyvue/vue-theme": "~3.27.0",
21
+ "@opentinyvue/vue-tooltip": "~3.27.0"
21
22
  },
22
- "license": "MIT",
23
23
  "types": "index.d.ts"
24
24
  }
@@ -3,6 +3,7 @@ declare const _default: import("@vue/runtime-core").DefineComponent<Readonly<{
3
3
  height?: any;
4
4
  year?: any;
5
5
  month?: any;
6
+ day?: any;
6
7
  mode?: any;
7
8
  tiny_mode?: any;
8
9
  tiny_mode_root?: any;
@@ -37,6 +38,7 @@ declare const _default: import("@vue/runtime-core").DefineComponent<Readonly<{
37
38
  height?: any;
38
39
  year?: any;
39
40
  month?: any;
41
+ day?: any;
40
42
  mode?: any;
41
43
  tiny_mode?: any;
42
44
  tiny_mode_root?: any;
@@ -73,6 +75,7 @@ declare const _default: import("@vue/runtime-core").DefineComponent<Readonly<{
73
75
  readonly height?: any;
74
76
  readonly year?: any;
75
77
  readonly month?: any;
78
+ readonly day?: any;
76
79
  readonly mode?: any;
77
80
  readonly tiny_mode?: any;
78
81
  readonly tiny_mode_root?: any;
package/src/pc.vue.d.ts CHANGED
@@ -3,6 +3,7 @@ declare const _default: import("@vue/runtime-core").DefineComponent<Readonly<{
3
3
  height?: any;
4
4
  year?: any;
5
5
  month?: any;
6
+ day?: any;
6
7
  mode?: any;
7
8
  tiny_mode?: any;
8
9
  tiny_mode_root?: any;
@@ -37,6 +38,7 @@ declare const _default: import("@vue/runtime-core").DefineComponent<Readonly<{
37
38
  height?: any;
38
39
  year?: any;
39
40
  month?: any;
41
+ day?: any;
40
42
  mode?: any;
41
43
  tiny_mode?: any;
42
44
  tiny_mode_root?: any;
@@ -73,6 +75,7 @@ declare const _default: import("@vue/runtime-core").DefineComponent<Readonly<{
73
75
  readonly height?: any;
74
76
  readonly year?: any;
75
77
  readonly month?: any;
78
+ readonly day?: any;
76
79
  readonly mode?: any;
77
80
  readonly tiny_mode?: any;
78
81
  readonly tiny_mode_root?: any;