@ibiz-template/vue3-components 0.7.26-alpha.1 → 0.7.26-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/{index-_h-elF6t.js → index-8tGeBxpc.js} +1 -1
  2. package/dist/{index--XeT2CTZ.js → index-CDgQJyai.js} +1 -1
  3. package/dist/index-o58Mv9D4.js +4 -0
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/{xlsx-util-jKx8FmtR.js → xlsx-util-Ux1_tuw5.js} +1 -1
  7. package/es/_virtual/localeData.mjs +3 -0
  8. package/es/control/calendar/calendar.css +1 -1
  9. package/es/control/calendar/calendar.d.ts +2 -3
  10. package/es/control/calendar/calendar.mjs +104 -173
  11. package/es/control/calendar/components/calendar-daily/calendar-daily.css +1 -0
  12. package/es/control/calendar/components/calendar-daily/calendar-daily.d.ts +18 -0
  13. package/es/control/calendar/components/calendar-daily/calendar-daily.mjs +175 -0
  14. package/es/control/calendar/components/calendar-daily/index.d.ts +18 -0
  15. package/es/control/calendar/components/calendar-daily/index.mjs +9 -0
  16. package/es/control/calendar/components/calendar-daily/use-calendar-daily.d.ts +154 -0
  17. package/es/control/calendar/components/calendar-daily/use-calendar-daily.mjs +196 -0
  18. package/es/control/calendar/components/calendar-month/calendar-month.css +1 -0
  19. package/es/control/calendar/components/calendar-month/calendar-month.d.ts +18 -0
  20. package/es/control/calendar/components/calendar-month/calendar-month.mjs +242 -0
  21. package/es/control/calendar/components/calendar-month/index.d.ts +18 -0
  22. package/es/control/calendar/components/calendar-month/index.mjs +9 -0
  23. package/es/control/calendar/components/calendar-month/use-calendar-month.d.ts +3 -0
  24. package/es/control/calendar/components/calendar-month/use-calendar-month.mjs +384 -0
  25. package/es/control/calendar/components/calendar-week/calendar-week.css +1 -0
  26. package/es/control/calendar/components/calendar-week/calendar-week.d.ts +18 -0
  27. package/es/control/calendar/components/calendar-week/calendar-week.mjs +241 -0
  28. package/es/control/calendar/components/calendar-week/index.d.ts +18 -0
  29. package/es/control/calendar/components/calendar-week/index.mjs +9 -0
  30. package/es/control/calendar/components/calendar-week/use-calendar-week.d.ts +159 -0
  31. package/es/control/calendar/components/calendar-week/use-calendar-week.mjs +399 -0
  32. package/es/control/calendar/components/constant/event.d.ts +5 -0
  33. package/es/control/calendar/components/constant/event.mjs +8 -0
  34. package/es/control/calendar/components/constant/index.d.ts +1 -0
  35. package/es/control/calendar/components/constant/index.mjs +3 -0
  36. package/es/control/calendar/components/custom-calendar/custom-calendar.css +1 -0
  37. package/es/control/calendar/components/custom-calendar/custom-calendar.d.ts +24 -0
  38. package/es/control/calendar/components/custom-calendar/custom-calendar.mjs +283 -0
  39. package/es/control/calendar/components/custom-calendar/index.d.ts +24 -0
  40. package/es/control/calendar/components/custom-calendar/index.mjs +12 -0
  41. package/es/control/calendar/components/custom-calendar/use-custom-calendar.d.ts +3 -0
  42. package/es/control/calendar/components/custom-calendar/use-custom-calendar.mjs +264 -0
  43. package/es/control/calendar/components/interface/calendar-daily.d.ts +12 -0
  44. package/es/control/calendar/components/interface/calendar-daily.mjs +34 -0
  45. package/es/control/calendar/components/interface/calendar-month.d.ts +20 -0
  46. package/es/control/calendar/components/interface/calendar-month.mjs +43 -0
  47. package/es/control/calendar/components/interface/calendar-week.d.ts +12 -0
  48. package/es/control/calendar/components/interface/calendar-week.mjs +34 -0
  49. package/es/control/calendar/components/interface/common.d.ts +116 -0
  50. package/es/control/calendar/components/interface/common.mjs +1 -0
  51. package/es/control/calendar/components/interface/custom-calendar.d.ts +14 -0
  52. package/es/control/calendar/components/interface/custom-calendar.mjs +67 -0
  53. package/es/control/calendar/components/interface/index.d.ts +5 -0
  54. package/es/control/calendar/components/interface/index.mjs +7 -0
  55. package/es/control/calendar/components/util/index.d.ts +1 -0
  56. package/es/control/calendar/components/util/index.mjs +4 -0
  57. package/es/control/calendar/components/util/util.d.ts +89 -0
  58. package/es/control/calendar/components/util/util.mjs +281 -0
  59. package/es/control/calendar/index.d.ts +1 -2
  60. package/es/control/calendar/index.mjs +2 -0
  61. package/es/editor/data-picker/ibiz-picker-link/ibiz-picker-link.mjs +2 -2
  62. package/es/editor/date-picker/date-picker-editor.controller.mjs +3 -0
  63. package/es/editor/date-range/date-range-editor.controller.mjs +3 -0
  64. package/es/editor/slider/ibiz-slider/ibiz-slider.css +1 -1
  65. package/es/editor/slider/ibiz-slider/ibiz-slider.d.ts +2 -0
  66. package/es/editor/slider/ibiz-slider/ibiz-slider.mjs +76 -21
  67. package/es/locale/en/index.d.ts +43 -0
  68. package/es/locale/en/index.mjs +44 -1
  69. package/es/locale/zh-CN/index.d.ts +39 -0
  70. package/es/locale/zh-CN/index.mjs +40 -1
  71. package/es/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/localeData.mjs +13 -0
  72. package/lib/_virtual/localeData.cjs +5 -0
  73. package/lib/control/calendar/calendar.cjs +104 -173
  74. package/lib/control/calendar/calendar.css +1 -1
  75. package/lib/control/calendar/components/calendar-daily/calendar-daily.cjs +177 -0
  76. package/lib/control/calendar/components/calendar-daily/calendar-daily.css +1 -0
  77. package/lib/control/calendar/components/calendar-daily/index.cjs +14 -0
  78. package/lib/control/calendar/components/calendar-daily/use-calendar-daily.cjs +198 -0
  79. package/lib/control/calendar/components/calendar-month/calendar-month.cjs +244 -0
  80. package/lib/control/calendar/components/calendar-month/calendar-month.css +1 -0
  81. package/lib/control/calendar/components/calendar-month/index.cjs +14 -0
  82. package/lib/control/calendar/components/calendar-month/use-calendar-month.cjs +386 -0
  83. package/lib/control/calendar/components/calendar-week/calendar-week.cjs +243 -0
  84. package/lib/control/calendar/components/calendar-week/calendar-week.css +1 -0
  85. package/lib/control/calendar/components/calendar-week/index.cjs +14 -0
  86. package/lib/control/calendar/components/calendar-week/use-calendar-week.cjs +401 -0
  87. package/lib/control/calendar/components/constant/event.cjs +14 -0
  88. package/lib/control/calendar/components/constant/index.cjs +11 -0
  89. package/lib/control/calendar/components/custom-calendar/custom-calendar.cjs +285 -0
  90. package/lib/control/calendar/components/custom-calendar/custom-calendar.css +1 -0
  91. package/lib/control/calendar/components/custom-calendar/index.cjs +17 -0
  92. package/lib/control/calendar/components/custom-calendar/use-custom-calendar.cjs +266 -0
  93. package/lib/control/calendar/components/interface/calendar-daily.cjs +37 -0
  94. package/lib/control/calendar/components/interface/calendar-month.cjs +46 -0
  95. package/lib/control/calendar/components/interface/calendar-week.cjs +37 -0
  96. package/lib/control/calendar/components/interface/common.cjs +3 -0
  97. package/lib/control/calendar/components/interface/custom-calendar.cjs +70 -0
  98. package/lib/control/calendar/components/interface/index.cjs +18 -0
  99. package/lib/control/calendar/components/util/index.cjs +42 -0
  100. package/lib/control/calendar/components/util/util.cjs +316 -0
  101. package/lib/control/calendar/index.cjs +2 -0
  102. package/lib/editor/data-picker/ibiz-picker-link/ibiz-picker-link.cjs +2 -2
  103. package/lib/editor/date-picker/date-picker-editor.controller.cjs +3 -0
  104. package/lib/editor/date-range/date-range-editor.controller.cjs +3 -0
  105. package/lib/editor/slider/ibiz-slider/ibiz-slider.cjs +76 -21
  106. package/lib/editor/slider/ibiz-slider/ibiz-slider.css +1 -1
  107. package/lib/locale/en/index.cjs +44 -1
  108. package/lib/locale/zh-CN/index.cjs +40 -1
  109. package/lib/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/localeData.cjs +17 -0
  110. package/package.json +5 -5
  111. package/dist/index-yupCl1Un.js +0 -4
@@ -0,0 +1,198 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ require('../util/index.cjs');
5
+ var util = require('../util/util.cjs');
6
+
7
+ "use strict";
8
+ const useCalendarDaily = (props, emit) => {
9
+ const drawData = vue.ref([]);
10
+ const curTimeTimer = vue.ref();
11
+ const curTimeTop = vue.ref(0);
12
+ const curTimeVal = vue.ref("00:00");
13
+ const resizableHand = vue.ref();
14
+ const calendarDaily = vue.ref();
15
+ const legends = vue.computed(() => props.legends || []);
16
+ const multiple = vue.computed(() => props.multiple === true);
17
+ const selectedData = vue.ref([]);
18
+ let initialMouseY = 0;
19
+ let initialHeight = 0;
20
+ const handleDragStart = (event) => {
21
+ initialMouseY = event.clientY;
22
+ initialHeight = parseInt(
23
+ window.getComputedStyle(resizableHand.value).height,
24
+ 10
25
+ );
26
+ };
27
+ const handleDrag = (event) => {
28
+ const heightChange = event.clientY - initialMouseY + initialHeight;
29
+ resizableHand.value.style.height = "".concat(heightChange, "px");
30
+ };
31
+ const events = vue.computed(() => {
32
+ return computeUIEvents(
33
+ props.events,
34
+ props == null ? void 0 : props.selectedDay,
35
+ legends.value,
36
+ calendarDaily.value
37
+ );
38
+ });
39
+ const computeUIEvents = (events2, curDate, legends2, calendarDaily2) => {
40
+ const tempEvents = [];
41
+ const tempColors = /* @__PURE__ */ new Map();
42
+ let contentWidth = 0;
43
+ if (calendarDaily2) {
44
+ contentWidth = parseInt(window.getComputedStyle(calendarDaily2).width, 10);
45
+ }
46
+ events2.sort((a, b) => {
47
+ const beginTimeDifference = new Date(a.beginTime).getTime() - new Date(b.beginTime).getTime();
48
+ let type;
49
+ if (beginTimeDifference === 0) {
50
+ type = new Date(a.endTime).getTime() - new Date(b.endTime).getTime();
51
+ } else {
52
+ type = beginTimeDifference;
53
+ }
54
+ return type;
55
+ });
56
+ const tempArray = events2.filter((event) => {
57
+ return event && event.beginTime && event.endTime && util.isToday(curDate, event.beginTime) && util.isToday(curDate, event.endTime);
58
+ });
59
+ tempArray.forEach((event, index) => {
60
+ const tempItem = {};
61
+ Object.assign(tempItem, event);
62
+ const targetLegend = legends2.find(
63
+ (legendItem) => Object.is(legendItem.id, event.itemType)
64
+ );
65
+ const targetEvent = selectedData.value.find(
66
+ (item) => item.id === event.id
67
+ );
68
+ Object.assign(tempItem, { zIndex: index + 1 });
69
+ const length = tempArray.length;
70
+ const itemWidth = (contentWidth - 90) / length;
71
+ const percentage = Number((100 / length).toFixed(3));
72
+ let width = "".concat(percentage, "%");
73
+ let styleLeft = "".concat(index * percentage, "%");
74
+ if (itemWidth < 100) {
75
+ width = "100px";
76
+ styleLeft = "".concat(index * 100, "px");
77
+ }
78
+ Object.assign(tempItem, { width, styleLeft });
79
+ if (event.beginTime && event.endTime) {
80
+ const height = handleEventHeight(
81
+ event.beginTime,
82
+ event.endTime,
83
+ curDate
84
+ );
85
+ const timeRange = util.handleTimeRange(
86
+ event.beginTime,
87
+ event.endTime,
88
+ "HH:mm"
89
+ );
90
+ Object.assign(tempItem, { height, timeRange });
91
+ }
92
+ if (event.beginTime) {
93
+ const { styleTop } = handleTopOrCurVal(new Date(event.beginTime));
94
+ Object.assign(tempItem, { styleTop });
95
+ }
96
+ if (!(event == null ? void 0 : event.bkColor)) {
97
+ const bkColor = targetLegend ? targetLegend.bkcolor : util.handleBkColor(tempColors, event.itemType);
98
+ Object.assign(tempItem, { bkColor });
99
+ }
100
+ if (tempItem.bkColor) {
101
+ const tempBkColor = util.fade(tempItem.bkColor, 10);
102
+ Object.assign(tempItem, {
103
+ bkColorFade: tempBkColor
104
+ });
105
+ }
106
+ if ((tempItem == null ? void 0 : tempItem.height) && (tempItem == null ? void 0 : tempItem.height) > 10) {
107
+ const border = "1px solid #FFF";
108
+ Object.assign(tempItem, { border });
109
+ } else {
110
+ Object.assign(tempItem, { border: "none" });
111
+ }
112
+ if (targetEvent) {
113
+ Object.assign(tempItem, { isSelectedEvent: true });
114
+ } else {
115
+ Object.assign(tempItem, { isSelectedEvent: false });
116
+ }
117
+ if (targetLegend && targetLegend.isShow || !targetLegend) {
118
+ tempEvents.push(tempItem);
119
+ }
120
+ });
121
+ tempColors.clear();
122
+ return tempEvents;
123
+ };
124
+ const handleEventHeight = (startTime, endTime, date) => {
125
+ let height = 1;
126
+ if (util.isToday(startTime, date) && util.isToday(endTime, date)) {
127
+ const difference = new Date(endTime).getTime() - new Date(startTime).getTime();
128
+ height = Math.floor(difference / (1e3 * 60));
129
+ }
130
+ if (height < 3) {
131
+ height = 3;
132
+ }
133
+ return height;
134
+ };
135
+ const handleTopOrCurVal = (date) => {
136
+ const currentHours = date.getHours();
137
+ const currentMinutes = date.getMinutes();
138
+ const hours = String(currentHours).padStart(2, "0");
139
+ const minutes = String(currentMinutes).padStart(2, "0");
140
+ let styleTop;
141
+ let timeVal;
142
+ if (currentHours === 0 && currentMinutes === 0) {
143
+ styleTop = 0;
144
+ timeVal = "00:00";
145
+ } else {
146
+ const topVal = currentHours * 60 + currentMinutes;
147
+ styleTop = topVal;
148
+ timeVal = "".concat(hours, ":").concat(minutes);
149
+ }
150
+ return { styleTop, timeVal };
151
+ };
152
+ const handleCurTime = () => {
153
+ const { styleTop, timeVal } = handleTopOrCurVal(/* @__PURE__ */ new Date());
154
+ curTimeTop.value = styleTop;
155
+ curTimeVal.value = timeVal;
156
+ };
157
+ const initDrawData = () => {
158
+ const tempDrawData = [];
159
+ for (let i = 1; i < 24; i++) {
160
+ const hours = String(i).padStart(2, "0");
161
+ const timescale = "".concat(hours, ":00");
162
+ tempDrawData.push(timescale);
163
+ }
164
+ return tempDrawData;
165
+ };
166
+ const eventClick = async (item, location) => {
167
+ const res = await util.handleEVentClick(
168
+ item,
169
+ location,
170
+ props.events,
171
+ multiple.value,
172
+ selectedData.value,
173
+ emit
174
+ );
175
+ const { tempSelectedData, isSelectedEvent } = res;
176
+ if (!isSelectedEvent) {
177
+ Object.assign(item, { isSelectedEvent });
178
+ }
179
+ selectedData.value = tempSelectedData;
180
+ };
181
+ return {
182
+ drawData,
183
+ curTimeTimer,
184
+ curTimeTop,
185
+ curTimeVal,
186
+ events,
187
+ resizableHand,
188
+ calendarDaily,
189
+ selectedData,
190
+ handleCurTime,
191
+ handleDrag,
192
+ handleDragStart,
193
+ eventClick,
194
+ initDrawData
195
+ };
196
+ };
197
+
198
+ exports.useCalendarDaily = useCalendarDaily;
@@ -0,0 +1,244 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var vue3Util = require('@ibiz-template/vue3-util');
5
+ var qxUtil = require('qx-util');
6
+ require('../interface/index.cjs');
7
+ var useCalendarMonth = require('./use-calendar-month.cjs');
8
+ require('./calendar-month.css');
9
+ require('../util/index.cjs');
10
+ var calendarMonth = require('../interface/calendar-month.cjs');
11
+ var util = require('../util/util.cjs');
12
+
13
+ "use strict";
14
+ const CalendarMonth = /* @__PURE__ */ vue.defineComponent({
15
+ name: "CalendarMonth",
16
+ props: calendarMonth.calendarMonthProps,
17
+ emits: calendarMonth.calendarMonthEmits,
18
+ setup(props, {
19
+ emit,
20
+ slots
21
+ }) {
22
+ const ns = vue3Util.useNamespace("calendar-month");
23
+ const {
24
+ isInRange,
25
+ rows,
26
+ weekDays,
27
+ hideHeader,
28
+ tableTd,
29
+ legends,
30
+ popVisible,
31
+ selectedDay,
32
+ selectedData,
33
+ getCellClass,
34
+ getSlotData,
35
+ handlePickDay,
36
+ eventClick,
37
+ handleMonthDraw,
38
+ handleEventsMoreData
39
+ } = useCalendarMonth.useCalendarMonth(props, emit);
40
+ props.controller._evt.on("onActive", () => {
41
+ vue.nextTick(() => {
42
+ popVisible.value = false;
43
+ });
44
+ });
45
+ vue.watch(() => props.selectedData, () => {
46
+ if (props.selectedData && props.selectedData.length > 0) {
47
+ const data = props.selectedData.length > selectedData.value.length ? props.selectedData : selectedData.value;
48
+ selectedData.value = data;
49
+ } else {
50
+ selectedData.value = [];
51
+ }
52
+ }, {
53
+ immediate: true,
54
+ deep: true
55
+ });
56
+ vue.onMounted(() => {
57
+ handleMonthDraw();
58
+ });
59
+ vue.watch(() => props.events, () => {
60
+ handleMonthDraw();
61
+ }, {
62
+ immediate: true,
63
+ deep: true
64
+ });
65
+ vue.watch(() => props.legends, () => {
66
+ legends.value = props.legends || [];
67
+ handleMonthDraw();
68
+ }, {
69
+ immediate: true,
70
+ deep: true
71
+ });
72
+ vue.watch(() => props.selectedDay, () => {
73
+ selectedDay.value = props.selectedDay;
74
+ }, {
75
+ immediate: true,
76
+ deep: true
77
+ });
78
+ const renderPopover = (content, event) => {
79
+ return vue.createVNode(vue.resolveComponent("el-popover"), {
80
+ "show-after": 10,
81
+ "offset": 4,
82
+ "width": "auto",
83
+ "popper-class": ns.e("event-popover"),
84
+ "placement": "top"
85
+ }, {
86
+ reference: () => content,
87
+ default: () => {
88
+ var _a;
89
+ return vue.createVNode("div", {
90
+ "class": [ns.em("event-popover", "body")]
91
+ }, [vue.createVNode("div", {
92
+ "class": [ns.em("event-popover", "close")],
93
+ "onClick": (el) => util.handlePopClose(el),
94
+ "innerHTML": util.closeIcon
95
+ }, null), vue.createVNode("div", {
96
+ "class": [ns.em("event-popover", "scroll")]
97
+ }, [(slots == null ? void 0 : slots.event) ? (_a = slots.event) == null ? void 0 : _a.call(slots, {
98
+ data: event
99
+ }) : vue.createVNode("div", {
100
+ "class": [ns.em("event-popover", "content")]
101
+ }, ["".concat(event.text || "", " ").concat(event.timeRange || "")])])]);
102
+ }
103
+ });
104
+ };
105
+ const renderEvent = (event) => {
106
+ const node = vue.createVNode("div", {
107
+ "class": ns.em("event-content", "event-summary")
108
+ }, [event.text && vue.createVNode("span", {
109
+ "class": [ns.em("event-content", "event-name")]
110
+ }, [event.text]), event.timeRange && vue.createVNode("span", {
111
+ "class": [ns.em("event-content", "time-range")]
112
+ }, [event.timeRange])]);
113
+ if (!props.controller.state.showDetail) {
114
+ return node;
115
+ }
116
+ return renderPopover(node, event);
117
+ };
118
+ const renderEventItem = (event, eventIndex) => {
119
+ let node = null;
120
+ node = vue.createVNode("div", {
121
+ "key": eventIndex,
122
+ "class": [ns.e("event-box"), "event-box"],
123
+ "style": {
124
+ top: "".concat(Number(eventIndex * 24) + 30, "px"),
125
+ width: "".concat(event == null ? void 0 : event.width)
126
+ }
127
+ }, [vue.createVNode("button", {
128
+ "class": ["event-content", ns.e("event-content"), event.isSelectedEvent ? "is-selected-event" : "", event == null ? void 0 : event.classname],
129
+ "style": {
130
+ background: event == null ? void 0 : event.bkColor,
131
+ color: event == null ? void 0 : event.color
132
+ },
133
+ "onClick": (el) => {
134
+ el.stopPropagation();
135
+ eventClick(event, "content");
136
+ }
137
+ }, [renderEvent(event), event.isSelectedEvent ? vue.createVNode("span", {
138
+ "class": [ns.em("event-content", "check"), "fa fa-check"]
139
+ }, null) : ""])]);
140
+ return node;
141
+ };
142
+ const renderEvents = (cell) => {
143
+ const eventsNode = cell.events.map((event, eventIndex) => {
144
+ let node = null;
145
+ const uuid = qxUtil.createUUID();
146
+ Object.assign(event, {
147
+ popId: uuid
148
+ });
149
+ if (eventIndex < 3 && (event.isShow || event.isToday)) {
150
+ node = renderEventItem(event, eventIndex);
151
+ }
152
+ return node;
153
+ });
154
+ let moreNode = null;
155
+ if (cell.events.length > 3) {
156
+ const tempEvents = handleEventsMoreData(cell);
157
+ moreNode = tempEvents.length > 0 ? vue.createVNode(vue.resolveComponent("el-popover"), {
158
+ "visible": popVisible.value,
159
+ "onUpdate:visible": ($event) => popVisible.value = $event,
160
+ "placement": "top",
161
+ "width": 400,
162
+ "trigger": "click",
163
+ "popper-class": ns.e("more-popover")
164
+ }, {
165
+ reference: () => {
166
+ return vue.createVNode(vue.resolveComponent("el-button"), {
167
+ "class": ns.em("more-popover", "more-events"),
168
+ "type": "text",
169
+ "onClick": (event) => event.stopPropagation()
170
+ }, {
171
+ default: () => [vue.createTextVNode("+"), tempEvents.length, vue.createTextVNode(" \u66F4\u591A")]
172
+ });
173
+ },
174
+ default: () => {
175
+ return vue.createVNode("div", {
176
+ "class": [ns.em("more-popover", "body")]
177
+ }, [vue.createVNode("div", {
178
+ "class": ns.em("more-popover", "title")
179
+ }, [cell.curDate ? cell.curDate.format("YYYY-MM-DD") : cell.text]), vue.createVNode("div", {
180
+ "class": ns.em("more-popover", "events-content")
181
+ }, [tempEvents.map((event, eventIndex) => renderEventItem(event, eventIndex))])]);
182
+ }
183
+ }) : null;
184
+ }
185
+ return vue.createVNode("div", {
186
+ "class": [ns.e("container__events")]
187
+ }, [eventsNode, moreNode]);
188
+ };
189
+ const renderThead = () => {
190
+ if (hideHeader.value) {
191
+ return null;
192
+ }
193
+ return vue.createVNode("thead", null, [weekDays.value.map((day) => vue.createVNode("th", {
194
+ "key": day
195
+ }, [day]))]);
196
+ };
197
+ const renderTbody = () => {
198
+ return vue.createVNode("tbody", null, [rows.value.map((row, index) => vue.createVNode("tr", {
199
+ "key": index,
200
+ "class": [ns.e("row"), index === 0 && hideHeader.value ? "el-calendar-table__row--hide-border" : ""]
201
+ }, [row.map((cell, key) => {
202
+ var _a;
203
+ return vue.createVNode("td", {
204
+ "key": key,
205
+ "class": [...getCellClass(cell), ns.em("row", "td")],
206
+ "onClick": () => handlePickDay(cell),
207
+ "ref": (el) => {
208
+ tableTd.value = el;
209
+ }
210
+ }, [vue.createVNode("div", {
211
+ "class": [ns.e("cell")]
212
+ }, [vue.createVNode("div", {
213
+ "class": [ns.em("row", "calendar-day")]
214
+ }, [slots["date-cell"] ? (_a = slots["date-cell"]) == null ? void 0 : _a.call(slots, {
215
+ key,
216
+ data: getSlotData(cell)
217
+ }) : vue.createVNode("span", null, [cell.text])]), vue.createVNode("div", {
218
+ "class": ns.e("container")
219
+ }, [renderEvents(cell)])])]);
220
+ })]))]);
221
+ };
222
+ return {
223
+ ns,
224
+ isInRange,
225
+ renderThead,
226
+ renderTbody
227
+ };
228
+ },
229
+ render() {
230
+ return vue.createVNode("div", {
231
+ "class": this.ns.b()
232
+ }, [vue.createVNode("table", {
233
+ "class": [this.ns.e("thead")]
234
+ }, [this.renderThead()]), vue.createVNode("div", {
235
+ "class": this.ns.e("table-body")
236
+ }, [vue.createVNode("div", {
237
+ "class": this.ns.em("table-body", "scroll")
238
+ }, [vue.createVNode("table", {
239
+ "class": [this.ns.e("tbody"), this.isInRange && "is-range"]
240
+ }, [this.renderTbody()])])])]);
241
+ }
242
+ });
243
+
244
+ exports.CalendarMonth = CalendarMonth;
@@ -0,0 +1 @@
1
+ .ibiz-calendar-month{width:100%;height:100%;display:flex;flex-direction:column}.ibiz-calendar-month__thead{width:100%;height:46px}.ibiz-calendar-month__thead th{padding:12px 0;font-weight:400}.ibiz-calendar-month__tbody{width:100%;height:100%;table-layout:fixed;width:100%}.ibiz-calendar-month__tbody:not(.is-range) td.next,.ibiz-calendar-month__tbody:not(.is-range) td.prev{color:var(--el-text-color-placeholder)}.ibiz-calendar-month__table-body{width:100%;height:100%;flex:1;padding-bottom:8px;overflow:scroll}.ibiz-calendar-month__table-body--scroll{width:auto;height:auto;overflow:scroll}.ibiz-calendar-month__row{min-height:126px}.ibiz-calendar-month__row:first-child td{border-top:1px solid var(--ibiz-color-border)}.ibiz-calendar-month__row--td{width:auto;border-bottom:1px solid var(--ibiz-color-border);border-right:1px solid var(--ibiz-color-border);vertical-align:top;transition:background-color var(--ibiz-color-border) ease;cursor:pointer}.ibiz-calendar-month__row--td.is-today{color:var(--el-color-primary)}.ibiz-calendar-month__row--td.is-selected{background-color:#ecf5ff}.ibiz-calendar-month__row--td.is-selected .ibiz-calendar-month__cell{background:#ecf5ff}.ibiz-calendar-month__row--td:first-child{border-left:1px solid var(--ibiz-color-border)}.ibiz-calendar-month__row--calendar-day{position:relative;z-index:1;height:auto}.ibiz-calendar-month__row--calendar-day:hover{background:0 0}.ibiz-calendar-month__cell{height:126px;width:100%;min-height:126px;display:flex;flex-direction:column;position:relative}.ibiz-calendar-month__container{width:100%;height:100%;position:absolute;left:0;right:0}.ibiz-calendar-month__container__events{position:relative;z-index:2}.ibiz-calendar-month__event-box{width:100%;height:auto;min-height:24px;display:flex;align-items:center;position:absolute;left:0;top:0}.ibiz-calendar-month__event-content{width:100%;height:20px;line-height:20px;padding:0 4px;border:none;outline:0;text-align:left;border-radius:4px;background:var(--ibiz-color-primary);color:#fff;position:relative;overflow:hidden;cursor:pointer}.ibiz-calendar-month__event-content:active{animation:pulse 1s linear}.ibiz-calendar-month__event-content--btn-ripple{position:absolute;display:block;width:50px;height:20px;border-radius:10px;background:rgba(255,255,255,.4);animation:ripple 1s ease}.ibiz-calendar-month__event-content--event-summary{text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ibiz-calendar-month__event-content--event-name{margin-right:6px}.ibiz-calendar-month__event-content--time-range{margin-right:6px}.ibiz-calendar-month__event-content--check{color:var(--ibiz-color-primary);position:absolute;right:6px;top:50%;transform:translate(0,-50%)}.ibiz-calendar-month__more-popover.el-popper.el-popper{padding:0;border-radius:4px}.ibiz-calendar-month__more-popover--more-events{height:20px;padding:2px;position:absolute;left:0;top:106px}.ibiz-calendar-month__more-popover--body{width:100%;height:auto}.ibiz-calendar-month__more-popover--title{padding:6px 8px;font-size:16px;text-align:left;border-bottom:1px solid var(--ibiz-color-border)}.ibiz-calendar-month__more-popover--events-content{width:100%;height:auto;max-height:380px;padding:8px 10px;overflow-x:hidden;overflow-y:scroll}.ibiz-calendar-month__more-popover .event-box{position:static}.ibiz-calendar-month__more-popover .event-box:nth-child(1){margin-top:0}.ibiz-calendar-month__event-popover{padding:0;width:auto;height:auto;position:relative}.ibiz-calendar-month__event-popover.el-popover.el-popper{padding:24px 12px 8px 12px}.ibiz-calendar-month__event-popover--body{width:auto;height:auto;overflow:hidden}.ibiz-calendar-month__event-popover--scroll{width:auto;height:auto;min-width:450px;min-height:200px;overflow:auto}.ibiz-calendar-month__event-popover--close{position:absolute;right:8px;top:8px;cursor:pointer}.ibiz-calendar-month__event-popover--close:hover .el-icon{background:var(--ibiz-color-primary);border-radius:50%}.ibiz-calendar-month__event-popover--close:hover .el-icon svg{fill:#fff}.ibiz-calendar-month__event-popover .el-icon{font-size:20px;min-height:24px;min-width:24px;display:flex;justify-content:center;align-items:center}.ibiz-calendar-month__event-popover .el-icon svg{fill:var(--el-text-color-secondary)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.03)}100%{transform:scale(1)}}
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue3Util = require('@ibiz-template/vue3-util');
6
+ var calendarMonth = require('./calendar-month.cjs');
7
+
8
+ "use strict";
9
+ const IBizCalendarMonth = vue3Util.withInstall(calendarMonth.CalendarMonth, function(v) {
10
+ v.component(calendarMonth.CalendarMonth.name, calendarMonth.CalendarMonth);
11
+ });
12
+
13
+ exports.IBizCalendarMonth = IBizCalendarMonth;
14
+ exports.default = IBizCalendarMonth;