@baishuyun/ui-base 6.16.1 → 6.18.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.
Files changed (147) hide show
  1. package/dist/Amap/Amap-CNsoge6e.js +826 -0
  2. package/dist/Amap/index.js +3 -10
  3. package/dist/Calendar/Calendar-Dk6FVbJ2.js +1608 -0
  4. package/dist/Calendar/index.js +10 -20
  5. package/dist/Card/index.js +2 -2
  6. package/dist/CheckBox/{CheckBox-B92dxWNo.js → CheckBox-CM24-quL.js} +1 -1
  7. package/dist/CheckBox/index.js +3 -3
  8. package/dist/ColorPicker/{ColorPicker-CPr5j6ZN.js → ColorPicker-B_wLqurt.js} +5 -5
  9. package/dist/ColorPicker/index.js +5 -5
  10. package/dist/ConfigProvider/index.js +1 -1
  11. package/dist/DatePicker/DatePicker-CItkTpdZ.js +111 -0
  12. package/dist/DatePicker/{DatePickerPanel-CtLwYPmz.js → DatePickerPanel-DJXmFihs.js} +3 -4
  13. package/dist/DatePicker/index.js +6 -8
  14. package/dist/DatePicker/pickerLocale-Brf7_Tnd.js +30 -0
  15. package/dist/DropDown/{DropDown-Bi0TsCc_.js → DropDown-B_szM67V.js} +86 -82
  16. package/dist/DropDown/index.js +8 -9
  17. package/dist/Editor/index.js +2934 -961
  18. package/dist/Gantt/index.js +3055 -197
  19. package/dist/Icon/index.js +1 -1
  20. package/dist/InputTag/{InputTag-BfZycXw4.js → InputTag-C_5nm0eo.js} +2 -2
  21. package/dist/InputTag/index.js +4 -4
  22. package/dist/Loading/{Loading-DpbJSRYf.js → Loading-Cherk9Ax.js} +1 -1
  23. package/dist/Loading/index.js +3 -3
  24. package/dist/Modal/index.js +2 -2
  25. package/dist/NotFoundContent/index.js +2 -2
  26. package/dist/Overlay/index.js +1 -1
  27. package/dist/Radio/index.js +2 -2
  28. package/dist/ScrollBar/{ScrollBar-N2pOLv-8.js → ScrollBar-IMTuAOF5.js} +1 -1
  29. package/dist/ScrollBar/index.js +2 -2
  30. package/dist/Segmented/{Segmented-BCQRrc65.js → Segmented-DpmwFerw.js} +1 -1
  31. package/dist/Segmented/index.js +2 -2
  32. package/dist/Select/{Select-CB5FqBui.js → Select-VIy6OKEj.js} +257 -253
  33. package/dist/Select/{SelectInputSearch-DUAv2vE4.js → SelectInputSearch-MApQHnU9.js} +1 -1
  34. package/dist/Select/index.js +12 -13
  35. package/dist/Table/Table-8ac6xLZv.js +808 -0
  36. package/dist/Table/index.js +4 -8
  37. package/dist/Tabs/{Tabs-B9uCGlxM.js → Tabs-DnoZ8BO0.js} +3 -3
  38. package/dist/Tabs/index.js +4 -4
  39. package/dist/Tooltip/{Tooltip-nJU13gX4.js → Tooltip-DBrt3t2r.js} +3 -3
  40. package/dist/Tooltip/index.js +3 -3
  41. package/dist/Tree/index.js +4 -4
  42. package/dist/components/Editor/EditorHtmlPreview.d.ts +3 -0
  43. package/dist/components/Editor/Preview/EditorPreview.d.ts +1 -1
  44. package/dist/components/Editor/Preview/HtmlPreview.d.ts +2 -3
  45. package/dist/components/Editor/Preview/PolishModal.d.ts +0 -1
  46. package/dist/components/Editor/Preview/TypesetModal.d.ts +0 -1
  47. package/dist/components/Editor/Preview/useAiPreviewHtml.d.ts +8 -0
  48. package/dist/components/Editor/__tests__/createTestEditor.d.ts +1 -0
  49. package/dist/components/Editor/commands/ImageCommands.d.ts +1 -0
  50. package/dist/components/Editor/constants/portableEditorStyles.d.ts +2 -0
  51. package/dist/components/Editor/context/EditorContainerContext.d.ts +3 -2
  52. package/dist/components/Editor/hooks/useEditorFocus.d.ts +1 -0
  53. package/dist/components/Editor/hooks/useTextFormatsState.d.ts +1 -2
  54. package/dist/components/Editor/index.d.ts +1 -0
  55. package/dist/components/Editor/nodes/ExtendedLinkNode.d.ts +9 -0
  56. package/dist/components/Editor/nodes/ImageComponent.d.ts +1 -0
  57. package/dist/components/Editor/nodes/ImageNode.d.ts +5 -2
  58. package/dist/components/Editor/utils/getToolbarItems.d.ts +14 -0
  59. package/dist/components/Editor/utils/placeProgrammaticCaret.d.ts +5 -0
  60. package/dist/components/Editor/utils/readTextFormats.d.ts +6 -0
  61. package/dist/components/Editor/utils/retainCodeSelection.d.ts +3 -0
  62. package/dist/index.js +28 -50
  63. package/dist/style.css +1 -1
  64. package/dist/vendors/Tree-D0Q1IZ2D.js +267 -0
  65. package/dist/vendors/{version-Dzs4mguZ.js → version-BucxnUKs.js} +1 -1
  66. package/package.json +1 -1
  67. package/dist/Amap/Amap-BLSziesG.js +0 -77
  68. package/dist/Amap/AmapCircle/index.js +0 -5
  69. package/dist/Amap/AmapCircle-2qupysHe.js +0 -55
  70. package/dist/Amap/AmapContext-CJBe6lld.js +0 -11
  71. package/dist/Amap/AmapMarker/index.js +0 -6
  72. package/dist/Amap/AmapMarker-xEqoVnFR.js +0 -153
  73. package/dist/Amap/AmapMarkerCluster/index.js +0 -6
  74. package/dist/Amap/AmapMarkerCluster-CvEQa3o9.js +0 -240
  75. package/dist/Amap/AmapProvider/index.js +0 -7
  76. package/dist/Amap/AmapProvider-B-R2DrkJ.js +0 -107
  77. package/dist/Amap/hooks/index.js +0 -4
  78. package/dist/Amap/hooks-BTcFpdd0.js +0 -121
  79. package/dist/Amap/useMarkerInfoWindowController-Cjx0xQXw.js +0 -94
  80. package/dist/Calendar/AllDaySection-pO7suGJM.js +0 -53
  81. package/dist/Calendar/Calendar-Cjagi7mU.js +0 -795
  82. package/dist/Calendar/CurrentTimeIndicator-BF3_INSL.js +0 -65
  83. package/dist/Calendar/EventCard-DKEZQRTp.js +0 -155
  84. package/dist/Calendar/TimeAxis-DUc6EL-j.js +0 -13
  85. package/dist/Calendar/TimeGrid-BV8x9VnF.js +0 -47
  86. package/dist/Calendar/colorUtils-BbeSMnOs.js +0 -55
  87. package/dist/Calendar/context/index.js +0 -3
  88. package/dist/Calendar/context-CamSpkj3.js +0 -21
  89. package/dist/Calendar/layout-CpOabFQ2.js +0 -300
  90. package/dist/Calendar/subcomponents/AllDaySection/index.js +0 -11
  91. package/dist/Calendar/subcomponents/CurrentTimeIndicator/index.js +0 -8
  92. package/dist/Calendar/subcomponents/EventCard/index.js +0 -9
  93. package/dist/Calendar/subcomponents/TimeAxis/index.js +0 -5
  94. package/dist/Calendar/subcomponents/TimeGrid/index.js +0 -7
  95. package/dist/Calendar/theme-Dc8hjcdo.js +0 -71
  96. package/dist/Calendar/utils/index.js +0 -111
  97. package/dist/Calendar/utils/layout/index.js +0 -4
  98. package/dist/Calendar/utils/theme/index.js +0 -3
  99. package/dist/DatePicker/DatePicker-neAwNSsc.js +0 -101
  100. package/dist/DatePicker/ensureDayjsPlugins-CSqhjLS7.js +0 -15
  101. package/dist/DatePicker/pickerLocale-CcPLUbZO.js +0 -15
  102. package/dist/DatePicker/style/index.js +0 -3
  103. package/dist/DatePicker/style-W7f5wyUb.js +0 -15
  104. package/dist/DropDown/style/index.js +0 -3
  105. package/dist/DropDown/style-DZpkarne.js +0 -9
  106. package/dist/Editor/Buttons-OwLs5bxR.js +0 -1841
  107. package/dist/Editor/ToolbarPlugin/Buttons/index.js +0 -21
  108. package/dist/Editor/constants/index.js +0 -61
  109. package/dist/Gantt/GanttChart/index.js +0 -21
  110. package/dist/Gantt/GanttChart-CDnF5qcc.js +0 -2292
  111. package/dist/Gantt/GanttHighlightContext-dtyoq-oj.js +0 -12
  112. package/dist/Gantt/GanttTable/index.js +0 -13
  113. package/dist/Gantt/GanttTable-fOv1Zn2-.js +0 -84
  114. package/dist/Gantt/GanttToolBar/index.js +0 -17
  115. package/dist/Gantt/GanttToolBar-BAoiWAHI.js +0 -120
  116. package/dist/Gantt/collapseKeys-BV_8sIA-.js +0 -160
  117. package/dist/Gantt/columnResize-Bkenlbab.js +0 -46
  118. package/dist/Gantt/constants-mEGQ1U1Q.js +0 -39
  119. package/dist/Gantt/highlightTarget-D3Nf9_7S.js +0 -25
  120. package/dist/Gantt/theme-B7Iap-tZ.js +0 -31
  121. package/dist/Gantt/timelineViewConfig-DNt7yi83.js +0 -118
  122. package/dist/Gantt/utils/index.js +0 -7
  123. package/dist/Gantt/utils/theme/index.js +0 -3
  124. package/dist/Select/style/index.js +0 -3
  125. package/dist/Select/style-C4A8kUd1.js +0 -9
  126. package/dist/Table/Table-3LSO0xSH.js +0 -545
  127. package/dist/Table/constants-D7wLH8Qy.js +0 -25
  128. package/dist/Table/hooks/index.js +0 -3
  129. package/dist/Table/hooks-DSBl2e4O.js +0 -108
  130. package/dist/Table/processRowspan-B6HMqw0Q.js +0 -144
  131. package/dist/Table/style/index.js +0 -3
  132. package/dist/Table/style-B8Cw8HJe.js +0 -9
  133. package/dist/Table/utils/index.js +0 -3
  134. package/dist/Tree/utils/index.js +0 -26
  135. package/dist/vendors/Tree-DSl4lDjx.js +0 -248
  136. /package/dist/Card/{Card-rJeWgxu5.js → Card-DAz0dvA3.js} +0 -0
  137. /package/dist/CheckBox/{CheckBox-DOK5N7z6.js → CheckBox-CcHskTz_.js} +0 -0
  138. /package/dist/Modal/{Modal-CRKitOOj.js → Modal-eZijJ7CB.js} +0 -0
  139. /package/dist/NotFoundContent/{NotFoundContent-BLmzWNBi.js → NotFoundContent-DJUQ0_2D.js} +0 -0
  140. /package/dist/Radio/{Radio-CX9cUqb7.js → Radio-D9jhW7K6.js} +0 -0
  141. /package/dist/vendors/{animations-Dn_5xJ7B.js → animations-ISccYUE3.js} +0 -0
  142. /package/dist/vendors/{cssVars-l4-kP_14.js → cssVars-UpriQzph.js} +0 -0
  143. /package/dist/vendors/{mergeRefs-TiJ0xjUN.js → mergeRefs-mEH9TBYV.js} +0 -0
  144. /package/dist/vendors/{useFloatingOverlay-B3M9k8nj.js → useFloatingOverlay-B66lOL8v.js} +0 -0
  145. /package/dist/vendors/{useFloatingPortal-VpzL-EPh.js → useFloatingPortal-DJ1iKmW-.js} +0 -0
  146. /package/dist/vendors/{useLatchedPopupPortalRoot-4fVhqVT4.js → useLatchedPopupPortalRoot-CC6af8t-.js} +0 -0
  147. /package/dist/vendors/{useLocale-D31qCCff.js → useLocale-Be4e7Xfn.js} +0 -0
@@ -1,795 +0,0 @@
1
- import { t as e } from "../Icon/Icon-DrdQOEJE.js";
2
- import { t } from "../vendors/useLocale-D31qCCff.js";
3
- import { t as n } from "../Segmented/Segmented-BCQRrc65.js";
4
- import { t as r } from "../Tooltip/Tooltip-nJU13gX4.js";
5
- import { i, n as a, r as o, t as s } from "./context-CamSpkj3.js";
6
- import { t as c } from "../DatePicker/DatePicker-neAwNSsc.js";
7
- import { C as l, S as u, _ as d, a as f, b as p, d as m, i as h, o as g, p as _, r as v, s as y, t as b, x, y as S } from "./layout-CpOabFQ2.js";
8
- import { formatCalendarDayNumber as C, formatFullDate as w, formatWeekEndDate as T, formatYearMonth as E, getCurrentTimeInTZ as D, getDynamicMonthViewDates as O, getTimeZoneLabel as k, getTotalHeight as A, getVisibleRangeByMode as ee, getWeekEnd as te, getWeekStart as j, getZoomConfig as M, isCurrentMonth as N, layoutTimedEventsForWeek as P, shiftDateByMode as ne } from "./utils/index.js";
9
- import { t as F } from "./TimeAxis-DUc6EL-j.js";
10
- import { t as I } from "./TimeGrid-BV8x9VnF.js";
11
- import { t as L } from "./CurrentTimeIndicator-BF3_INSL.js";
12
- import { n as R, r as z, t as B } from "./EventCard-DKEZQRTp.js";
13
- import { t as V } from "./AllDaySection-pO7suGJM.js";
14
- import { a as re, i as ie, r as ae } from "./theme-Dc8hjcdo.js";
15
- import { jsx as H, jsxs as U } from "react/jsx-runtime";
16
- import { useCallback as W, useEffect as G, useMemo as K, useRef as q, useState as J } from "react";
17
- import Y from "clsx";
18
- import X from "dayjs";
19
- //#region src/components/Calendar/subcomponents/TodayButton/TodayButton.tsx
20
- var Z = () => {
21
- let e = a((e) => e.formatMessage), t = s((e) => e.switchToDay), n = e("today");
22
- return /* @__PURE__ */ H("button", {
23
- type: "button",
24
- className: "bsy-calendar-today-btn",
25
- onClick: t,
26
- "aria-label": n,
27
- children: n
28
- });
29
- }, Q = ({ direction: t }) => {
30
- let n = a((e) => e.formatMessage), r = s((e) => e.switchPrevDate), i = s((e) => e.switchNextDate), o = W(() => {
31
- t === "prev" ? r() : i();
32
- }, [
33
- t,
34
- r,
35
- i
36
- ]), c = t === "prev" ? "Pulldownleft" : "Pulldownright", l = n(t === "prev" ? "prev" : "next");
37
- return /* @__PURE__ */ H("button", {
38
- type: "button",
39
- className: "bsy-calendar-nav-btn",
40
- onClick: o,
41
- "aria-label": l,
42
- children: /* @__PURE__ */ H(e, {
43
- name: c,
44
- size: 16
45
- })
46
- });
47
- }, oe = () => {
48
- let t = a((e) => e.currentDate), n = a((e) => e.mode), r = a((e) => e.timeZone), i = a((e) => e.formatMessage), o = a((e) => e.datePickerTheme), l = a((e) => e.getPopupContainer), u = s((e) => e.setCurrentDate), d = K(() => {
49
- if (n === "month") return E(t, r, i);
50
- if (n === "week") {
51
- let e = j(t, r), n = te(t, r);
52
- return `${w(e, r, i)} - ${T(n, e, r, i)}`;
53
- }
54
- return n === "day" ? w(t, r, i) : null;
55
- }, [
56
- t,
57
- n,
58
- r,
59
- i
60
- ]), f = K(() => n === "month" ? "month" : n === "week" ? "week" : "date", [n]), p = W((e) => {
61
- u(n === "week" ? j(e.toDate(), r).toDate() : e.toDate());
62
- }, [
63
- u,
64
- n,
65
- r
66
- ]);
67
- return /* @__PURE__ */ H(c, {
68
- picker: f,
69
- value: K(() => n === "week" ? j(t, r) : X(t), [
70
- t,
71
- n,
72
- r
73
- ]),
74
- theme: o,
75
- getPopupContainer: l,
76
- triggerActiveClassName: "bsy-calendar-date-display--active",
77
- onChange: p,
78
- children: /* @__PURE__ */ U("div", {
79
- className: "bsy-calendar-date-display",
80
- children: [/* @__PURE__ */ H("span", {
81
- className: "date-text",
82
- children: d
83
- }), /* @__PURE__ */ H(e, {
84
- name: "arrow-down",
85
- className: "bsy-calendar-date-arrow",
86
- size: 16
87
- })]
88
- })
89
- });
90
- }, se = () => /* @__PURE__ */ U("div", {
91
- className: "bsy-calendar-header-left",
92
- children: [
93
- /* @__PURE__ */ H(Z, {}),
94
- /* @__PURE__ */ H(Q, { direction: "prev" }),
95
- /* @__PURE__ */ H(Q, { direction: "next" }),
96
- /* @__PURE__ */ H(oe, {})
97
- ]
98
- }), ce = {
99
- day: "mode.day",
100
- week: "mode.week",
101
- month: "mode.month"
102
- }, le = () => {
103
- let e = a((e) => e.formatMessage), t = a((e) => e.mode), r = a((e) => e.modes), i = a((e) => e.segmentedTheme), o = s((e) => e.onPanelChange), c = K(() => r.map((t) => ({
104
- label: e(ce[t]),
105
- value: t
106
- })), [r, e]), l = W((e) => {
107
- o(e);
108
- }, [o]);
109
- return /* @__PURE__ */ U("div", {
110
- className: "bsy-calendar-header",
111
- children: [/* @__PURE__ */ H("div", {
112
- className: "bsy-calendar-header__left",
113
- children: /* @__PURE__ */ H(se, {})
114
- }), /* @__PURE__ */ H("div", {
115
- className: "bsy-calendar-header__right",
116
- children: /* @__PURE__ */ H(n, {
117
- value: t,
118
- options: c,
119
- onChange: l,
120
- theme: i
121
- })
122
- })]
123
- });
124
- }, ue = ({ events: e = [] }) => {
125
- let t = a((e) => e.formatMessage), n = a((e) => e.currentDate), r = a((e) => e.axis), i = a((e) => e.allowAdd), o = a((e) => e.onEventClick), s = a((e) => e.onAddClick), c = a((e) => e.timeZone), u = K(() => M(r), [r]), f = K(() => A(u), [u]), h = K(() => {
126
- let t = l(n, c).startOf("day"), r = t.add(1, "day"), i = [];
127
- for (let n of e) d(l(n.startTime, c), l(n.endTime, c), t, r) && i.push(n);
128
- return i;
129
- }, [
130
- e,
131
- n,
132
- c
133
- ]), { timedEvents: g, allDayEvents: _ } = K(() => m(h, u, {
134
- allowStackLayout: !1,
135
- timeZone: c
136
- }), [
137
- h,
138
- u,
139
- c
140
- ]), v = W((e) => {
141
- if (!s) return;
142
- let t = l(n, c).startOf("day").add(e * u.interval, "minute"), r = t.add(u.interval, "minute");
143
- s({
144
- startTime: t.valueOf(),
145
- endTime: r.valueOf(),
146
- anchorDate: n,
147
- slotIndex: e,
148
- mode: "day"
149
- });
150
- }, [
151
- s,
152
- n,
153
- c,
154
- u.interval
155
- ]);
156
- return /* @__PURE__ */ U("div", {
157
- className: "bsy-calendar-day",
158
- children: [/* @__PURE__ */ H(V, {
159
- events: _,
160
- onClick: o
161
- }), /* @__PURE__ */ H("div", {
162
- className: "bsy-calendar-day__scroll-container",
163
- children: /* @__PURE__ */ U("div", {
164
- className: "bsy-calendar-day__content",
165
- style: { height: f },
166
- children: [/* @__PURE__ */ H(F, { zoomConfig: u }), /* @__PURE__ */ U("div", {
167
- className: "bsy-calendar-day__main",
168
- children: [
169
- /* @__PURE__ */ H(I, {
170
- zoomConfig: u,
171
- rowAction: i ? {
172
- tooltip: t("addRecord"),
173
- onClick: v
174
- } : void 0
175
- }),
176
- /* @__PURE__ */ H("div", {
177
- className: "bsy-calendar-day__events",
178
- children: g.map((e) => /* @__PURE__ */ H(B, {
179
- event: e.event,
180
- eventIndex: e.event.sourceIndex,
181
- onClick: o,
182
- variant: "timed",
183
- position: p(e)
184
- }, e.event.id))
185
- }),
186
- /* @__PURE__ */ H(L, {
187
- currentDate: n,
188
- zoomConfig: u,
189
- timeZone: c
190
- })
191
- ]
192
- })]
193
- })
194
- })]
195
- });
196
- }, { COLLAPSED_COUNT: $, EXPANDED_COUNT: de, EVENT_HEIGHT: fe, EVENT_GAP: pe } = R;
197
- function me(e) {
198
- let t = Array(7).fill(0);
199
- for (let n of e) {
200
- let { startCol: e, endCol: r, row: i } = n;
201
- for (let n = e; n < r; n++) n >= 0 && n < 7 && (t[n] = Math.max(t[n], i + 1));
202
- }
203
- return t;
204
- }
205
- var he = ({ events: t, onClick: n, weekStart: r, isGloballyExpanded: i, onExpandChange: o }) => {
206
- let s = a((e) => e.formatMessage), c = q(null), l = a((e) => e.timeZone), [u, d] = J(() => Array(7).fill(!1));
207
- G(() => {
208
- !i && c.current && (c.current.scrollTop = 0);
209
- }, [i]);
210
- let f = K(() => y(t, r, l), [
211
- t,
212
- r,
213
- l
214
- ]), p = K(() => me(f), [f]), m = f.length > 0 ? Math.max(...f.map((e) => e.row)) + 1 : 0, h = W((e) => {
215
- let t = i || u[e], n = p[e];
216
- return t ? Math.min(n, de) : Math.min(n, $);
217
- }, [
218
- i,
219
- u,
220
- p
221
- ]), g = K(() => Math.max(...Array(7).fill(0).map((e, t) => h(t))), [h]), v = K(() => _(g, fe, pe), [g]), b = g >= de && m > de, S = W((e) => {
222
- if (!i) {
223
- o?.(!0);
224
- return;
225
- }
226
- d((t) => {
227
- let n = [...t];
228
- return n[e] = !n[e], n;
229
- });
230
- }, [i, o]);
231
- return m === 0 ? null : /* @__PURE__ */ U("div", {
232
- className: "bsy-week-allday-section",
233
- children: [/* @__PURE__ */ H("div", {
234
- className: "bsy-week-allday-section__main",
235
- children: /* @__PURE__ */ H("div", {
236
- ref: c,
237
- className: Y("bsy-week-allday-section__events-container", { "bsy-week-allday-section__events-container--scroll": b }),
238
- style: { maxHeight: `${v}px` },
239
- children: /* @__PURE__ */ H("div", {
240
- className: "bsy-week-allday-section__grid",
241
- style: { gridTemplateRows: `repeat(${g}, ${fe}px)` },
242
- children: f.map((e) => /* @__PURE__ */ H(B, {
243
- event: e.event,
244
- eventIndex: e.event.sourceIndex,
245
- onClick: n,
246
- variant: "allDay",
247
- position: x(e)
248
- }, e.event.id))
249
- })
250
- })
251
- }), i ? null : /* @__PURE__ */ H("div", {
252
- className: "bsy-week-allday-section__toggle-bar",
253
- children: Array(7).fill(0).map((t, n) => {
254
- let r = p[n], i = u[n], a = r > $, o = r - $;
255
- return /* @__PURE__ */ H("div", {
256
- className: "bsy-week-allday-section__toggle-cell",
257
- children: a ? /* @__PURE__ */ U("button", {
258
- type: "button",
259
- className: "bsy-week-allday-section__toggle-btn",
260
- onClick: () => S(n),
261
- "aria-label": i ? s("collapse") : s("remainingCount", { count: o }),
262
- children: [/* @__PURE__ */ H("span", {
263
- className: "bsy-week-allday-section__toggle-icon",
264
- children: i ? /* @__PURE__ */ H(e, {
265
- name: "arrow-up",
266
- size: 12
267
- }) : /* @__PURE__ */ H(e, {
268
- name: "arrow-down",
269
- size: 12
270
- })
271
- }), /* @__PURE__ */ H("span", {
272
- className: "bsy-week-allday-section__toggle-text",
273
- children: i ? s("collapse") : s("remainingCount", { count: o })
274
- })]
275
- }) : null
276
- }, n);
277
- })
278
- })]
279
- });
280
- }, ge = ({ weekStart: e }) => {
281
- let t = a((e) => e.formatMessage), n = a((e) => e.timeZone);
282
- return /* @__PURE__ */ H("div", {
283
- className: "bsy-week-header",
284
- children: K(() => Array.from({ length: 7 }, (r, i) => {
285
- let a = e.add(i, "day"), o = D(n), s = a.isSame(o, "day"), c = a.isBefore(o, "day");
286
- return {
287
- dayName: t(`weekday.${i}`),
288
- dayNumber: C(a, t, n),
289
- isToday: s,
290
- isPast: c
291
- };
292
- }), [
293
- e,
294
- n,
295
- t
296
- ]).map((e, t) => /* @__PURE__ */ U("div", {
297
- className: Y("bsy-week-header__day", {
298
- "bsy-week-header__day--today": e.isToday,
299
- "bsy-week-header__day--past": e.isPast
300
- }),
301
- children: [/* @__PURE__ */ H("div", {
302
- className: "bsy-week-header__day-name",
303
- children: e.dayName
304
- }), /* @__PURE__ */ H("div", {
305
- className: "bsy-week-header__day-number",
306
- children: e.dayNumber
307
- })]
308
- }, t))
309
- });
310
- }, _e = ({ events: t = [] }) => {
311
- let n = a((e) => e.formatMessage), r = a((e) => e.currentDate), i = a((e) => e.axis), o = a((e) => e.allowAdd), s = a((e) => e.timeZone), c = a((e) => e.onEventClick), l = a((e) => e.onAddClick), [u, d] = J(!1), f = K(() => j(r, s), [r, s]), m = K(() => M(i), [i]), h = K(() => A(m), [m]), g = K(() => k(s), [s]), { allDayEvents: _, timedEvents: v } = K(() => S(t, s), [t, s]), y = K(() => P(v, f, m, s), [
312
- v,
313
- f,
314
- m,
315
- s
316
- ]), b = W((e) => {
317
- d(e);
318
- }, []), x = W(() => {
319
- d(!1);
320
- }, []), C = W((e, t) => {
321
- if (!l) return;
322
- let n = f.add(e, "day").startOf("day"), i = n.add(t * m.interval, "minute"), a = n.hour(23).minute(59).second(0).millisecond(0), o = i.add(m.interval, "minute"), s = o.isAfter(a) ? a : o;
323
- l({
324
- startTime: i.valueOf(),
325
- endTime: s.valueOf(),
326
- anchorDate: r,
327
- dayIndex: e,
328
- slotIndex: t,
329
- mode: "week"
330
- });
331
- }, [
332
- l,
333
- f,
334
- m.interval,
335
- r
336
- ]);
337
- return /* @__PURE__ */ U("div", {
338
- className: "bsy-calendar-week",
339
- children: [/* @__PURE__ */ U("div", {
340
- className: "bsy-calendar-week__header-section",
341
- children: [/* @__PURE__ */ U("div", {
342
- className: "bsy-calendar-week__timezone-label",
343
- children: [g ? /* @__PURE__ */ H("span", { children: g }) : null, u ? /* @__PURE__ */ H("button", {
344
- type: "button",
345
- className: "bsy-calendar-week__collapse-btn",
346
- onClick: x,
347
- title: n("collapse"),
348
- "aria-label": n("collapse"),
349
- children: /* @__PURE__ */ H(e, {
350
- name: "arrow-up",
351
- size: 16
352
- })
353
- }) : null]
354
- }), /* @__PURE__ */ U("div", {
355
- className: "bsy-calendar-week__header-content",
356
- children: [/* @__PURE__ */ H(ge, { weekStart: f }), /* @__PURE__ */ H(he, {
357
- events: _,
358
- onClick: c,
359
- weekStart: f,
360
- isGloballyExpanded: u,
361
- onExpandChange: b
362
- })]
363
- })]
364
- }), /* @__PURE__ */ H("div", {
365
- className: "bsy-calendar-week__scroll-container",
366
- children: /* @__PURE__ */ U("div", {
367
- className: "bsy-calendar-week__body",
368
- style: { height: h },
369
- children: [/* @__PURE__ */ H(F, { zoomConfig: m }), /* @__PURE__ */ U("div", {
370
- className: "bsy-calendar-week__grid",
371
- children: [y.map((e, t) => /* @__PURE__ */ U("div", {
372
- className: "bsy-calendar-week__day-column",
373
- children: [/* @__PURE__ */ H(I, {
374
- zoomConfig: m,
375
- rowAction: o ? {
376
- tooltip: n("addRecord"),
377
- onClick: (e) => C(t, e)
378
- } : void 0
379
- }), /* @__PURE__ */ H("div", {
380
- className: "bsy-calendar-week__day-events",
381
- children: e.map((e) => /* @__PURE__ */ H(B, {
382
- event: e.event,
383
- eventIndex: e.event.sourceIndex,
384
- onClick: c,
385
- variant: "timed",
386
- position: p(e)
387
- }, e.event.id))
388
- })]
389
- }, t)), /* @__PURE__ */ H(L, {
390
- currentDate: r,
391
- zoomConfig: m,
392
- weekStart: f,
393
- timeZone: s
394
- })]
395
- })]
396
- })
397
- })]
398
- });
399
- }, ve = () => {
400
- let e = a((e) => e.formatMessage);
401
- return /* @__PURE__ */ H("div", {
402
- className: "bsy-calendar-view-month-header",
403
- children: Array.from({ length: 7 }, (t, n) => e(`weekday.${n}`)).map((e, t) => /* @__PURE__ */ H("div", {
404
- className: "bsy-calendar-view-month-header__day",
405
- children: e
406
- }, t))
407
- });
408
- }, ye = ({ date: t, isCurrentMonth: n, today: i, cellRef: o }) => {
409
- let s = a((e) => e.formatMessage), c = a((e) => e.allowAdd), l = a((e) => e.onAddClick), u = a((e) => e.currentDate), d = t.isSame(i, "day"), f = K(() => C(t, s), [t, s]), p = W(() => {
410
- if (!l) return;
411
- let e = t.startOf("day"), n = t.add(1, "day").startOf("day");
412
- l({
413
- startTime: e.toISOString(),
414
- endTime: n.toISOString(),
415
- anchorDate: u,
416
- mode: "month"
417
- });
418
- }, [
419
- l,
420
- t,
421
- u
422
- ]);
423
- return /* @__PURE__ */ H("div", {
424
- ref: o,
425
- className: Y("bsy-calendar-view-month-cell", { "bsy-calendar-view-month-cell--other-month": !n }),
426
- children: /* @__PURE__ */ U("div", {
427
- className: "bsy-calendar-view-month-cell__header",
428
- children: [/* @__PURE__ */ H("span", {
429
- className: Y("bsy-calendar-view-month-cell__date", { "bsy-calendar-view-month-cell__date--today": d }),
430
- children: f
431
- }), c ? /* @__PURE__ */ H(r, {
432
- content: s("addRecord"),
433
- placement: "top",
434
- children: /* @__PURE__ */ H("button", {
435
- type: "button",
436
- className: "bsy-calendar-view-month-cell__add-btn",
437
- onClick: p,
438
- "aria-label": s("addRecord"),
439
- children: /* @__PURE__ */ H(e, {
440
- name: "add",
441
- className: "bsy-calendar-view-month-cell__add-btn-icon",
442
- size: 16
443
- })
444
- })
445
- }) : null]
446
- })
447
- });
448
- }, be = ({ date: t, events: n, onEventClick: r, onClose: i }) => {
449
- let o = a((e) => e.formatMessage);
450
- return /* @__PURE__ */ U("div", {
451
- className: "bsy-calendar-view-month-cell-popover",
452
- children: [/* @__PURE__ */ U("div", {
453
- className: "bsy-calendar-view-month-cell-popover__header",
454
- children: [/* @__PURE__ */ U("span", {
455
- className: "bsy-calendar-view-month-cell-popover__title",
456
- children: [
457
- o("monthDay", {
458
- month: t.month() + 1,
459
- day: t.date()
460
- }),
461
- " ",
462
- o(`weekday.${(t.day() + 6) % 7}`)
463
- ]
464
- }), /* @__PURE__ */ H("button", {
465
- type: "button",
466
- className: "bsy-calendar-view-month-cell-popover__close",
467
- onClick: i,
468
- "aria-label": o("close"),
469
- children: /* @__PURE__ */ H(e, {
470
- name: "close",
471
- size: 16
472
- })
473
- })]
474
- }), /* @__PURE__ */ H("div", {
475
- className: "bsy-calendar-view-month-cell-popover__list",
476
- children: n.map((e) => /* @__PURE__ */ H("div", {
477
- className: "bsy-calendar-view-month-cell-popover__item",
478
- children: /* @__PURE__ */ H(B, {
479
- event: e,
480
- eventIndex: e.sourceIndex,
481
- variant: "allDay",
482
- onClick: r,
483
- disableGlobalHover: !0,
484
- placement: "right"
485
- })
486
- }, e.id))
487
- })]
488
- });
489
- }, xe = {
490
- "--calendar-background-color": "backgroundColor",
491
- "--calendar-background-image": "backgroundImage",
492
- "--calendar-background-position": "backgroundPosition",
493
- "--calendar-background-size": "backgroundSize",
494
- "--calendar-background-repeat": "backgroundRepeat"
495
- }, Se = [
496
- "--calendar-title-color",
497
- "--calendar-schedule-border",
498
- "--calendar-schedule-bg",
499
- "--calendar-schedule-hover"
500
- ], Ce = (e) => {
501
- let t = e?.closest?.(".bsy-calendar-view");
502
- if (!t) return;
503
- let n = getComputedStyle(t), r = {};
504
- return Object.entries(xe).forEach(([e, t]) => {
505
- let i = n.getPropertyValue(e).trim();
506
- i && (r[t] = i);
507
- }), Se.forEach((e) => {
508
- let t = n.getPropertyValue(e).trim();
509
- t && (r[e] = t);
510
- }), Object.keys(r).length > 0 ? r : void 0;
511
- }, we = ({ dayIndex: e, date: t, hiddenCount: n, cellEvents: i, onEventClick: o }) => {
512
- let s = a((e) => e.formatMessage), [c, l] = J(!1), [u, d] = J(void 0), f = q(null), p = W(() => {
513
- l(!1);
514
- }, []), m = W((e) => {
515
- e && d(Ce(f.current)), l(e);
516
- }, []), h = {
517
- position: "absolute",
518
- bottom: 4,
519
- left: `${100 / 7 * e}%`,
520
- width: "fit-content"
521
- }, g = e === 0, _ = s("moreEvents", { count: n });
522
- return /* @__PURE__ */ H(r, {
523
- trigger: "click",
524
- visible: c,
525
- onVisibleChange: m,
526
- showArrow: !1,
527
- widthMode: "content",
528
- maxWidth: 300,
529
- offset: 6,
530
- placement: "right",
531
- style: {
532
- borderRadius: "10px",
533
- padding: "20px 10px",
534
- backgroundColor: "#fff",
535
- boxShadow: "0 0 12px 0 rgba(0, 0, 0, 0.08)",
536
- ...u
537
- },
538
- content: /* @__PURE__ */ H(be, {
539
- date: t,
540
- events: i,
541
- onEventClick: o,
542
- onClose: p
543
- }),
544
- children: /* @__PURE__ */ H("button", {
545
- ref: f,
546
- type: "button",
547
- className: Y("bsy-calendar-view-more-btn", g && "bsy-calendar-view-more-btn--first", c && "bsy-calendar-view-more-btn--active"),
548
- style: h,
549
- "aria-label": _,
550
- children: _
551
- })
552
- });
553
- }, Te = ({ weekSegments: e, hiddenScheduleIds: t, maxVisibleRows: n, onEventClick: r, weekDates: i, dayEventsByWeek: a }) => {
554
- let { hiddenCounts: o, effectiveMaxRowsPerDay: s } = K(() => {
555
- let r = g(e, t, n);
556
- return {
557
- hiddenCounts: r,
558
- effectiveMaxRowsPerDay: r.map((e) => e > 0 && n > 1 ? n - 1 : n)
559
- };
560
- }, [
561
- e,
562
- t,
563
- n
564
- ]);
565
- return /* @__PURE__ */ U("div", {
566
- className: "bsy-calendar-view-week-event-layer",
567
- children: [K(() => e.filter((e) => !(t.has(e.event.id) || e.row >= n || e.row >= s[e.startCol])).map((e) => ({
568
- ...e,
569
- position: {
570
- mode: "month-absolute",
571
- ...h(e)
572
- },
573
- visual: {
574
- continuesLeft: !e.isStart,
575
- continuesRight: !e.isEnd,
576
- showTitle: e.isStart || e.isWeekStart
577
- }
578
- })), [
579
- e,
580
- t,
581
- n,
582
- s
583
- ]).map((e) => /* @__PURE__ */ H(B, {
584
- event: e.event,
585
- eventIndex: e.event.sourceIndex,
586
- variant: "allDay",
587
- onClick: r,
588
- position: e.position,
589
- visual: e.visual
590
- }, `${e.event.id}-${e.startCol}`)), o.map((e, t) => e > 0 ? /* @__PURE__ */ H(we, {
591
- dayIndex: t,
592
- date: i[t],
593
- hiddenCount: e,
594
- cellEvents: a?.[t] || [],
595
- onEventClick: r
596
- }, t) : null)]
597
- });
598
- }, Ee = ({ events: e = [] }) => {
599
- let t = a((e) => e.currentDate), n = a((e) => e.onEventClick), r = a((e) => e.timeZone), i = K(() => O(t, r), [t, r]), o = i.length / 7, s = K(() => D(r), [r]), [c, l] = J(3), u = q(null);
600
- G(() => {
601
- if (!u.current) return;
602
- let e = null, t = new ResizeObserver((t) => {
603
- e && cancelAnimationFrame(e), e = requestAnimationFrame(() => {
604
- let e = t[0]?.contentRect?.height ?? u.current?.getBoundingClientRect().height;
605
- if (!e) return;
606
- let { HEADER_HEIGHT: n, SLOT_HEIGHT: r, SLOT_GAP: i } = b, a = e - n, o = r + i, s = Math.max(1, Math.floor(a / o));
607
- l((e) => e === s ? e : s);
608
- });
609
- });
610
- return t.observe(u.current), () => {
611
- e && cancelAnimationFrame(e), t.disconnect();
612
- };
613
- }, []);
614
- let { weekLayouts: d, eventRowMap: p, gridEvents: m } = K(() => {
615
- let t = i[0];
616
- return v(e, t, o, r);
617
- }, [
618
- e,
619
- i,
620
- o,
621
- r
622
- ]), h = K(() => {
623
- let t = i[0];
624
- return f(p, e, t, o * 7, c, m, r);
625
- }, [
626
- p,
627
- e,
628
- i,
629
- o,
630
- c,
631
- m,
632
- r
633
- ]), g = K(() => {
634
- let e = o * 7, t = Array.from({ length: e }, () => []);
635
- for (let e of m) for (let n = e.startDayIndex; n < e.endDayIndex; n++) t[n].push(e.event);
636
- return t;
637
- }, [m, o]);
638
- return /* @__PURE__ */ U("div", {
639
- className: "bsy-calendar-view-month",
640
- children: [/* @__PURE__ */ H(ve, {}), /* @__PURE__ */ H("div", {
641
- className: "bsy-calendar-view-month__grid",
642
- children: Array.from({ length: o }, (e, a) => /* @__PURE__ */ U("div", {
643
- className: "bsy-calendar-view-month__week",
644
- children: [Array.from({ length: 7 }, (e, n) => {
645
- let o = i[a * 7 + n], c = a === 0 && n === 0;
646
- return /* @__PURE__ */ H(ye, {
647
- date: o,
648
- isCurrentMonth: N(o, t, r),
649
- today: s,
650
- cellRef: c ? u : void 0
651
- }, n);
652
- }), /* @__PURE__ */ H(Te, {
653
- weekSegments: d[a],
654
- hiddenScheduleIds: h,
655
- maxVisibleRows: c,
656
- onEventClick: n,
657
- weekDates: i.slice(a * 7, a * 7 + 7),
658
- dayEventsByWeek: g.slice(a * 7, a * 7 + 7)
659
- })]
660
- }, a))
661
- })]
662
- });
663
- }, De = (e) => e.startsWith("calendar.") ? e : `calendar.${e}`, Oe = (e) => {
664
- let { data: n = [], timeZone: r, defaultMode: a = "week", modes: s = z, color: c, theme: l, axis: d = "medium", allowAdd: f = !1, className: p, header: m = !0, tooltip: h, onChange: g, onPanelChange: _, onEventClick: v, onAddClick: y } = e, { t: b } = t(), x = W((e, t) => b(De(e), t), [b]), S = K(() => {
665
- let e = (Array.isArray(s) ? s : z).filter((e) => z.includes(e));
666
- return e.length > 0 ? e : z;
667
- }, [s]), C = S.includes(a) ? a : S[0], w = Object.prototype.hasOwnProperty.call(e, "mode"), [T, E] = J(C), O = w && e.mode !== void 0 ? e.mode : T, k = S.includes(O) ? O : S[0];
668
- G(() => {
669
- !w && !S.includes(T) && E(S[0]);
670
- }, [
671
- T,
672
- w,
673
- S
674
- ]);
675
- let [A, te] = J(() => D(r).toDate()), [j, M] = J(null), N = q(null), P = W((e) => {
676
- te(e), g?.(e);
677
- }, [g]), F = K(() => u(n, { timeZone: r }), [n, r]), I = K(() => {
678
- let { start: e, end: t } = ee(A, k, r);
679
- return !e?.isValid?.() || !t?.isValid?.() ? null : {
680
- mode: k,
681
- dates: [e, t]
682
- };
683
- }, [
684
- A,
685
- k,
686
- r
687
- ]), L = W((e, t) => {
688
- if (!e?.[0]?.isValid?.() || !e?.[1]?.isValid?.()) return;
689
- let n = `${t}:${e[0].valueOf()}:${e[1].valueOf()}`;
690
- N.current !== n && (N.current = n, _?.(e, t));
691
- }, [_]);
692
- G(() => {
693
- I && L([I.dates[0], I.dates[1]], I.mode);
694
- }, [I, L]);
695
- let R = W(() => {
696
- P(D(r).toDate());
697
- }, [P, r]), B = W(() => {
698
- P(ne(A, k, -1, r));
699
- }, [
700
- k,
701
- A,
702
- P,
703
- r
704
- ]), V = W(() => {
705
- P(ne(A, k, 1, r));
706
- }, [
707
- k,
708
- A,
709
- P,
710
- r
711
- ]), Y = W((e) => {
712
- let t = S.includes(e) ? e : S[0], { start: n, end: i } = ee(A, t, r);
713
- w || E(t), n?.isValid?.() && i?.isValid?.() && L([n, i], t);
714
- }, [
715
- A,
716
- L,
717
- w,
718
- S,
719
- r
720
- ]);
721
- G(() => {
722
- O !== void 0 && S.includes(O);
723
- }, [O, S]);
724
- let X = K(() => re(l, c), [l, c]), Z = K(() => ie(l), [l]), Q = K(() => ae(l), [l]), oe = q(null), se = W(() => oe.current ?? document.body, []), ce = K(() => ({
725
- currentDate: A,
726
- hoveredEventId: j,
727
- mode: k,
728
- modes: S,
729
- axis: d,
730
- allowAdd: f,
731
- timeZone: r,
732
- tooltip: h,
733
- segmentedTheme: Z,
734
- datePickerTheme: Q,
735
- formatMessage: x,
736
- getPopupContainer: se,
737
- onEventClick: v,
738
- onAddClick: y
739
- }), [
740
- A,
741
- j,
742
- k,
743
- S,
744
- d,
745
- f,
746
- r,
747
- h,
748
- Z,
749
- Q,
750
- x,
751
- se,
752
- v,
753
- y
754
- ]), $ = K(() => ({
755
- setCurrentDate: P,
756
- setHoveredEventId: M,
757
- switchToDay: R,
758
- switchPrevDate: B,
759
- switchNextDate: V,
760
- onPanelChange: Y
761
- }), [
762
- P,
763
- R,
764
- B,
765
- V,
766
- Y
767
- ]);
768
- return /* @__PURE__ */ H(i.Provider, {
769
- value: ce,
770
- children: /* @__PURE__ */ H(o.Provider, {
771
- value: $,
772
- children: /* @__PURE__ */ H("div", {
773
- ref: oe,
774
- className: p ? `bsy-calendar-view ${p}` : "bsy-calendar-view",
775
- style: Object.keys(X).length > 0 ? X : void 0,
776
- children: /* @__PURE__ */ U("div", {
777
- className: "bsy-calendar-view__container",
778
- children: [m !== !1 && /* @__PURE__ */ H(le, {}), /* @__PURE__ */ H("div", {
779
- className: "bsy-calendar-view__body",
780
- children: (() => {
781
- switch (k) {
782
- case "day": return /* @__PURE__ */ H(ue, { events: F });
783
- case "week": return /* @__PURE__ */ H(_e, { events: F });
784
- case "month": return /* @__PURE__ */ H(Ee, { events: F });
785
- default: return null;
786
- }
787
- })()
788
- })]
789
- })
790
- })
791
- })
792
- });
793
- };
794
- //#endregion
795
- export { Oe as t };