phx-react 1.3.1863 → 1.3.1865

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 (41) hide show
  1. package/dist/cjs/components/Calendar/Calendar.js +2 -4
  2. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  3. package/dist/cjs/components/TableSchedule/PHXScheduleTable.d.ts +1 -1
  4. package/dist/cjs/components/TableSchedule/PHXScheduleTable.js +2 -2
  5. package/dist/cjs/components/TableSchedule/PHXScheduleTable.js.map +1 -1
  6. package/dist/cjs/components/TableSchedule/components/PHXScheduleTableBody.d.ts +2 -2
  7. package/dist/cjs/components/TableSchedule/components/PHXScheduleTableBody.js +25 -14
  8. package/dist/cjs/components/TableSchedule/components/PHXScheduleTableBody.js.map +1 -1
  9. package/dist/cjs/components/TableSchedule/components/PHXScheduleTableHead.js +2 -0
  10. package/dist/cjs/components/TableSchedule/components/PHXScheduleTableHead.js.map +1 -1
  11. package/dist/cjs/components/TableSchedule/constants.d.ts +15 -3
  12. package/dist/cjs/components/TableSchedule/constants.js +19 -6
  13. package/dist/cjs/components/TableSchedule/constants.js.map +1 -1
  14. package/dist/cjs/components/TableSchedule/renderers.d.ts +2 -1
  15. package/dist/cjs/components/TableSchedule/renderers.js +299 -22
  16. package/dist/cjs/components/TableSchedule/renderers.js.map +1 -1
  17. package/dist/cjs/components/TableSchedule/types.d.ts +25 -0
  18. package/dist/cjs/components/TableSchedule/utils.d.ts +7 -3
  19. package/dist/cjs/components/TableSchedule/utils.js +38 -3
  20. package/dist/cjs/components/TableSchedule/utils.js.map +1 -1
  21. package/dist/esm/components/Calendar/Calendar.js +2 -4
  22. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  23. package/dist/esm/components/TableSchedule/PHXScheduleTable.d.ts +1 -1
  24. package/dist/esm/components/TableSchedule/PHXScheduleTable.js +2 -2
  25. package/dist/esm/components/TableSchedule/PHXScheduleTable.js.map +1 -1
  26. package/dist/esm/components/TableSchedule/components/PHXScheduleTableBody.d.ts +2 -2
  27. package/dist/esm/components/TableSchedule/components/PHXScheduleTableBody.js +26 -15
  28. package/dist/esm/components/TableSchedule/components/PHXScheduleTableBody.js.map +1 -1
  29. package/dist/esm/components/TableSchedule/components/PHXScheduleTableHead.js +2 -0
  30. package/dist/esm/components/TableSchedule/components/PHXScheduleTableHead.js.map +1 -1
  31. package/dist/esm/components/TableSchedule/constants.d.ts +15 -3
  32. package/dist/esm/components/TableSchedule/constants.js +17 -5
  33. package/dist/esm/components/TableSchedule/constants.js.map +1 -1
  34. package/dist/esm/components/TableSchedule/renderers.d.ts +2 -1
  35. package/dist/esm/components/TableSchedule/renderers.js +298 -22
  36. package/dist/esm/components/TableSchedule/renderers.js.map +1 -1
  37. package/dist/esm/components/TableSchedule/types.d.ts +25 -0
  38. package/dist/esm/components/TableSchedule/utils.d.ts +7 -3
  39. package/dist/esm/components/TableSchedule/utils.js +38 -3
  40. package/dist/esm/components/TableSchedule/utils.js.map +1 -1
  41. package/package.json +1 -1
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  'use client';
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.resolveTooltipClassName = exports.renderTooltipContent = exports.renderScheduleContent = exports.renderCellBoxContent = exports.renderRowHeaderContent = void 0;
4
+ exports.resolveTooltipClassName = exports.renderTooltipContent = exports.renderScheduleCards = exports.renderScheduleContent = exports.renderCellBoxContent = exports.renderRowHeaderContent = void 0;
5
5
  const tslib_1 = require("tslib");
6
- const react_1 = tslib_1.__importDefault(require("react"));
6
+ const react_1 = tslib_1.__importStar(require("react"));
7
7
  const constants_1 = require("./constants");
8
+ const Badge_1 = require("../Badge");
8
9
  /**
9
10
  * Checks whether a render value is a structured person-link object.
10
11
  *
@@ -13,34 +14,108 @@ const constants_1 = require("./constants");
13
14
  */
14
15
  const isGridPersonLink = (value) => !!value && typeof value === 'object' && 'type' in value && value.type === 'person-link';
15
16
  /**
16
- * Renders a person-link value as an external profile anchor when a destination URL exists.
17
+ * Trả về đường dẫn trang chi tiết của một người dùng nếu đủ dữ liệu điều hướng.
17
18
  *
18
- * @param {GridPersonLink} person The person-link payload to render.
19
- * @param {string} [userDetailPageUrl] The base URL used to build the person detail link.
20
- * @returns {React.ReactNode} The rendered link node, or null when the person has no display name.
19
+ * @param {GridPersonLink} person Dữ liệu người dùng đang được hiển thị.
20
+ * @param {string} [userDetailPageUrl] Đường dẫn gốc để ghép tới trang chi tiết.
21
+ * @returns {string | undefined} URL đầy đủ của trang chi tiết, hoặc `undefined` nếu không thể điều hướng.
21
22
  */
22
- const renderGridPersonLink = (person, userDetailPageUrl) => {
23
+ function resolvePersonLinkHref(person, userDetailPageUrl) {
24
+ if (!userDetailPageUrl || !person.id) {
25
+ return undefined;
26
+ }
27
+ return `${userDetailPageUrl}${person.id}`;
28
+ }
29
+ /**
30
+ * Hiển thị phần mã đi kèm tên người dùng khi dữ liệu có cung cấp mã.
31
+ *
32
+ * @param {GridPersonLink} person Dữ liệu người dùng cần dựng nhãn hiển thị.
33
+ * @returns {React.ReactNode} Phần nhãn tên và mã của người dùng.
34
+ */
35
+ function renderPersonLinkLabel(person) {
36
+ return (react_1.default.createElement("span", { className: 'whitespace-normal break-words' },
37
+ person.name,
38
+ person.code ? ` (${person.code})` : ''));
39
+ }
40
+ /**
41
+ * Hiển thị icon dẫn tới trang chi tiết khi ô dữ liệu có thể điều hướng.
42
+ *
43
+ * @param {GridPersonLink} person Dữ liệu người dùng của ô hiện tại.
44
+ * @param {string | undefined} href Đường dẫn điều hướng đã được chuẩn hóa.
45
+ * @returns {React.ReactNode} Icon điều hướng hoặc `null` nếu không cần hiển thị.
46
+ */
47
+ function renderPersonLinkIcon(person, href) {
48
+ if (!person.id || !href) {
49
+ return null;
50
+ }
51
+ return react_1.default.createElement("span", { className: 'ml-1 inline-block align-baseline' }, person.icon);
52
+ }
53
+ /**
54
+ * Hiển thị một liên kết người dùng trong ô lịch, có thể mở sang trang chi tiết nếu đủ dữ liệu.
55
+ *
56
+ * @param {GridPersonLink} person Thông tin người dùng cần hiển thị.
57
+ * @param {string} [userDetailPageUrl] Đường dẫn gốc để ghép tới trang chi tiết người dùng.
58
+ * @returns {React.ReactNode} Nút liên kết đã dựng xong, hoặc `null` nếu không có tên để hiển thị.
59
+ */
60
+ function renderPersonLinkNode(person, userDetailPageUrl) {
23
61
  if (!person.name)
24
62
  return null;
25
- return (react_1.default.createElement("a", { className: 'group inline-flex items-center gap-1 whitespace-nowrap font-semibold text-gray-800 hover:text-blue-500', href: userDetailPageUrl && person.id ? `${userDetailPageUrl}${person.id}` : undefined, rel: 'noopener noreferrer', target: '_blank' },
26
- react_1.default.createElement("span", null,
27
- person.name,
28
- person.code ? ` (${person.code})` : ''),
29
- person.id && userDetailPageUrl && person.icon));
30
- };
63
+ const href = resolvePersonLinkHref(person, userDetailPageUrl);
64
+ return (react_1.default.createElement("a", { className: 'group/person-link block w-full min-w-0 font-semibold text-gray-800 hover:text-blue-500', href: href, rel: 'noopener noreferrer', target: '_blank' },
65
+ renderPersonLinkLabel(person),
66
+ renderPersonLinkIcon(person, href)));
67
+ }
31
68
  /**
32
- * Renders a tooltip or schedule value that may contain raw nodes, a person link, or a list of person links.
69
+ * Hiển thị danh sách nhiều người dùng theo dạng cột trong cùng một ô dữ liệu.
33
70
  *
34
- * @param {ReactNode | GridPersonLink | GridPersonLink[]} value The value payload to render.
35
- * @param {string} [userDetailPageUrl] The base URL used to build person detail links.
36
- * @returns {React.ReactNode} The rendered value node.
71
+ * @param {GridPersonLink[]} people Danh sách người dùng cần hiển thị.
72
+ * @param {string} [userDetailPageUrl] Đường dẫn gốc để ghép tới trang chi tiết người dùng.
73
+ * @returns {React.ReactNode} Danh sách liên kết người dùng đã dựng xong.
74
+ */
75
+ function renderPersonLinkListNode(people, userDetailPageUrl) {
76
+ return (react_1.default.createElement("div", { className: 'flex min-w-0 flex-col gap-1' }, people.map((person, index) => {
77
+ var _a;
78
+ return (react_1.default.createElement("div", { key: `${(_a = person.id) !== null && _a !== void 0 ? _a : 'person'}-${index}`, className: 'min-w-0' }, renderPersonLinkNode(person, userDetailPageUrl)));
79
+ })));
80
+ }
81
+ /**
82
+ * Hiển thị một phần tử giá trị bên trong danh sách nhiều dòng của ô dữ liệu.
83
+ *
84
+ * @param {RenderRichValueItem} item Giá trị đơn lẻ cần hiển thị.
85
+ * @param {number} index Chỉ số của giá trị trong danh sách.
86
+ * @param {string} [userDetailPageUrl] Đường dẫn gốc để ghép tới trang chi tiết người dùng.
87
+ * @returns {React.ReactNode} Dòng hiển thị của giá trị tương ứng.
37
88
  */
38
- const renderRichValue = (value, userDetailPageUrl) => {
89
+ function renderRichValueListItem(item, index, userDetailPageUrl) {
90
+ return (react_1.default.createElement("div", { key: index, className: 'min-w-0' }, isGridPersonLink(item) ? renderPersonLinkNode(item, userDetailPageUrl) : item));
91
+ }
92
+ /**
93
+ * Hiển thị danh sách nhiều giá trị giàu định dạng theo từng dòng riêng biệt.
94
+ *
95
+ * @param {RenderRichValueItem[]} values Danh sách giá trị cần hiển thị.
96
+ * @param {string} [userDetailPageUrl] Đường dẫn gốc để ghép tới trang chi tiết người dùng.
97
+ * @returns {React.ReactNode} Danh sách giá trị đã dựng xong.
98
+ */
99
+ function renderRichValueList(values, userDetailPageUrl) {
100
+ return (react_1.default.createElement("div", { className: 'flex min-w-0 flex-col gap-1' }, values.map((item, index) => renderRichValueListItem(item, index, userDetailPageUrl))));
101
+ }
102
+ /**
103
+ * Hiển thị giá trị của tooltip hoặc lịch học, hỗ trợ node thô, một người dùng, hoặc danh sách người dùng.
104
+ *
105
+ * @param {ReactNode | GridPersonLink | GridPersonLink[]} value Giá trị cần dựng giao diện.
106
+ * @param {string} [userDetailPageUrl] Đường dẫn gốc để ghép tới trang chi tiết người dùng.
107
+ * @returns {React.ReactNode} Giá trị đã được dựng theo đúng kiểu dữ liệu đầu vào.
108
+ */
109
+ function renderRichValue(value, userDetailPageUrl) {
39
110
  if (Array.isArray(value)) {
40
- return (react_1.default.createElement("div", { className: 'flex flex-col gap-1' }, value.map((item, index) => (react_1.default.createElement("div", { key: index }, isGridPersonLink(item) ? renderGridPersonLink(item, userDetailPageUrl) : item)))));
111
+ const values = value;
112
+ if (values.every(isGridPersonLink)) {
113
+ return renderPersonLinkListNode(values, userDetailPageUrl);
114
+ }
115
+ return renderRichValueList(values, userDetailPageUrl);
41
116
  }
42
- return isGridPersonLink(value) ? renderGridPersonLink(value, userDetailPageUrl) : value;
43
- };
117
+ return isGridPersonLink(value) ? renderPersonLinkNode(value, userDetailPageUrl) : value;
118
+ }
44
119
  /**
45
120
  * Renders the content displayed inside a sticky row-header cell.
46
121
  *
@@ -90,9 +165,211 @@ const renderScheduleContent = (scheduleContent, userDetailPageUrl) => {
90
165
  section.label && (react_1.default.createElement("div", { className: constants_1.SCHEDULE_SECTION_LABEL_CLASSNAME },
91
166
  section.labelPrefix,
92
167
  react_1.default.createElement("span", null, section.label))),
93
- section.items.map((item, itemIndex) => (react_1.default.createElement("div", { key: itemIndex, className: constants_1.SCHEDULE_SECTION_VALUE_CLASSNAME }, isGridPersonLink(item) ? renderGridPersonLink(item, userDetailPageUrl) : item))))))));
168
+ section.items.map((item, itemIndex) => (react_1.default.createElement("div", { key: itemIndex, className: constants_1.SCHEDULE_SECTION_VALUE_CLASSNAME }, isGridPersonLink(item) ? renderPersonLinkNode(item, userDetailPageUrl) : item))))))));
94
169
  };
95
170
  exports.renderScheduleContent = renderScheduleContent;
171
+ /**
172
+ * Hiển thị một dòng section trong card lịch với nhãn và giá trị đi kèm.
173
+ *
174
+ * @param {GridScheduleCardSection} section Dữ liệu section cần hiển thị.
175
+ * @param {number} sectionIndex Chỉ số section trong danh sách hiện tại.
176
+ * @param {string} [userDetailPageUrl] Đường dẫn gốc để ghép tới trang chi tiết người dùng.
177
+ * @returns {React.ReactNode} Section đã được dựng xong để gắn vào card lịch.
178
+ */
179
+ function renderScheduleCardSection(section, sectionIndex, userDetailPageUrl) {
180
+ return (react_1.default.createElement("div", { key: sectionIndex, className: constants_1.SCHEDULE_CARD_SECTION_CLASSNAME },
181
+ react_1.default.createElement("div", { className: constants_1.SCHEDULE_CARD_SECTION_LABEL_CLASSNAME },
182
+ section.labelPrefix,
183
+ react_1.default.createElement("span", null, section.label)),
184
+ react_1.default.createElement("div", { className: constants_1.SCHEDULE_CARD_SECTION_VALUE_CLASSNAME }, renderRichValue(section.value, userDetailPageUrl))));
185
+ }
186
+ /**
187
+ * Hiển thị danh sách section dùng chung cho block hoặc card lịch.
188
+ *
189
+ * @param {GridScheduleCardSection[] | undefined} sections Danh sách section cần hiển thị.
190
+ * @param {string} [userDetailPageUrl] Đường dẫn gốc để ghép tới trang chi tiết người dùng.
191
+ * @returns {React.ReactNode} Danh sách section đã dựng xong.
192
+ */
193
+ function renderScheduleCardSections(sections, userDetailPageUrl) {
194
+ return (sections !== null && sections !== void 0 ? sections : []).map((section, sectionIndex) => renderScheduleCardSection(section, sectionIndex, userDetailPageUrl));
195
+ }
196
+ /**
197
+ * Hiển thị một block thông tin bên trong card lịch.
198
+ *
199
+ * @param {GridScheduleCardBlock} block Dữ liệu block cần hiển thị.
200
+ * @param {string} [userDetailPageUrl] Đường dẫn gốc để ghép tới trang chi tiết người dùng.
201
+ * @returns {React.ReactNode} Nội dung block đã được dựng xong.
202
+ */
203
+ function renderScheduleCardBlock(block, userDetailPageUrl) {
204
+ return (react_1.default.createElement(react_1.default.Fragment, null,
205
+ renderScheduleCardTitle(block.title),
206
+ renderScheduleCardSections(block.sections, userDetailPageUrl)));
207
+ }
208
+ const DEFAULT_SCHEDULE_CARD_SIZE = {
209
+ width: '100%',
210
+ height: 156,
211
+ };
212
+ const resolveBadgeText = (value) => {
213
+ if (typeof value === 'string' || typeof value === 'number') {
214
+ return String(value);
215
+ }
216
+ return undefined;
217
+ };
218
+ /**
219
+ * Hiển thị tiêu đề của card lịch dưới dạng badge hoặc tiêu đề văn bản thường.
220
+ *
221
+ * @param {ReactNode} [title] Giá trị tiêu đề cần hiển thị.
222
+ * @returns {React.ReactNode} Badge hoặc tiêu đề đã dựng xong, hoặc `null` nếu không có dữ liệu.
223
+ */
224
+ function renderScheduleCardTitle(title) {
225
+ if (!title)
226
+ return null;
227
+ const badgeText = resolveBadgeText(title);
228
+ if (badgeText) {
229
+ return react_1.default.createElement(Badge_1.PHXBadge, { hideIcon: true, text: badgeText, type: 'informational' });
230
+ }
231
+ return react_1.default.createElement("div", { className: constants_1.SCHEDULE_CARD_TITLE_CLASSNAME }, title);
232
+ }
233
+ const resolveScheduleCardSize = (scheduleCardSize) => {
234
+ var _a, _b;
235
+ return ({
236
+ width: (_a = scheduleCardSize === null || scheduleCardSize === void 0 ? void 0 : scheduleCardSize.width) !== null && _a !== void 0 ? _a : DEFAULT_SCHEDULE_CARD_SIZE.width,
237
+ height: (_b = scheduleCardSize === null || scheduleCardSize === void 0 ? void 0 : scheduleCardSize.height) !== null && _b !== void 0 ? _b : DEFAULT_SCHEDULE_CARD_SIZE.height,
238
+ });
239
+ };
240
+ const buildScheduleCardStackStyle = (scheduleCardSize) => {
241
+ const resolvedSize = resolveScheduleCardSize(scheduleCardSize);
242
+ return {
243
+ width: resolvedSize.width,
244
+ height: resolvedSize.height,
245
+ };
246
+ };
247
+ const buildScheduleCardButtonStyle = (totalCards, scheduleCardSize) => {
248
+ if (totalCards !== 1) {
249
+ return undefined;
250
+ }
251
+ const resolvedSize = resolveScheduleCardSize(scheduleCardSize);
252
+ return {
253
+ width: resolvedSize.width,
254
+ minHeight: resolvedSize.height,
255
+ height: resolvedSize.height,
256
+ };
257
+ };
258
+ /**
259
+ * Trả về class cho nút card lịch theo biến thể giao diện đang dùng.
260
+ *
261
+ * @param {GridScheduleCardVariant} [scheduleCardVariant='default'] Biến thể hiển thị của card lịch.
262
+ * @returns {string} Chuỗi className áp dụng cho nút card.
263
+ */
264
+ function getScheduleCardButtonClassName(scheduleCardVariant = 'default') {
265
+ return scheduleCardVariant === 'borderless'
266
+ ? 'group w-full shrink-0 appearance-none overflow-hidden rounded-xl bg-white text-left transition'
267
+ : constants_1.SCHEDULE_CARD_BUTTON_CLASSNAME;
268
+ }
269
+ /**
270
+ * Trả về class cho vùng nội dung ngoài của card lịch theo biến thể giao diện.
271
+ *
272
+ * @param {GridScheduleCardVariant} [scheduleCardVariant='default'] Biến thể hiển thị của card lịch.
273
+ * @returns {string} Chuỗi className áp dụng cho vùng nội dung ngoài.
274
+ */
275
+ function getScheduleCardContentClassName(scheduleCardVariant = 'default') {
276
+ return scheduleCardVariant === 'borderless'
277
+ ? constants_1.SCHEDULE_CARD_CONTENT_BORDERLESS_CLASSNAME
278
+ : constants_1.SCHEDULE_CARD_CONTENT_CLASSNAME;
279
+ }
280
+ /**
281
+ * Trả về class cho vùng nội dung trong cùng của card lịch theo biến thể giao diện.
282
+ *
283
+ * @param {GridScheduleCardVariant} [scheduleCardVariant='default'] Biến thể hiển thị của card lịch.
284
+ * @returns {string} Chuỗi className áp dụng cho vùng nội dung trong cùng.
285
+ */
286
+ function getScheduleCardContentInnerClassName(scheduleCardVariant = 'default') {
287
+ return scheduleCardVariant === 'borderless'
288
+ ? constants_1.SCHEDULE_CARD_CONTENT_BORDERLESS_INNER_CLASSNAME
289
+ : constants_1.SCHEDULE_CARD_CONTENT_INNER_CLASSNAME;
290
+ }
291
+ /**
292
+ * Tính trạng thái cuộn của phần nội dung card lịch để quyết định có hiển thị fade ở đáy hay không.
293
+ *
294
+ * @param {HTMLDivElement} element Phần tử cuộn đang được theo dõi.
295
+ * @returns {ScheduleCardScrollState} Trạng thái tràn dọc và vị trí hiện tại của thanh cuộn.
296
+ */
297
+ function resolveScheduleCardScrollState(element) {
298
+ const hasVerticalOverflow = element.scrollHeight > element.clientHeight;
299
+ const maxScrollTop = element.scrollHeight - element.clientHeight;
300
+ const isAtBottom = maxScrollTop <= 1 || element.scrollTop >= maxScrollTop - 1;
301
+ return {
302
+ hasVerticalOverflow,
303
+ isAtBottom,
304
+ };
305
+ }
306
+ /**
307
+ * Đồng bộ state cuộn của card lịch từ kích thước và vị trí cuộn hiện tại của phần tử.
308
+ *
309
+ * @param {HTMLDivElement} element Phần tử cuộn đang được theo dõi.
310
+ * @param {(value: React.SetStateAction<boolean>) => void} setHasVerticalOverflow Hàm cập nhật trạng thái tràn dọc.
311
+ * @param {(value: React.SetStateAction<boolean>) => void} setIsAtBottom Hàm cập nhật trạng thái đã cuộn tới đáy.
312
+ * @returns {void}
313
+ */
314
+ function syncScheduleCardScrollState(element, setHasVerticalOverflow, setIsAtBottom) {
315
+ const nextState = resolveScheduleCardScrollState(element);
316
+ setHasVerticalOverflow(nextState.hasVerticalOverflow);
317
+ setIsAtBottom(nextState.isAtBottom);
318
+ }
319
+ /**
320
+ * Hiển thị vùng nội dung có thể cuộn của card lịch và thêm hiệu ứng fade khi còn nội dung phía dưới.
321
+ *
322
+ * @param {ScheduleCardScrollableContentProps} props Thuộc tính render của vùng cuộn card lịch.
323
+ * @returns {React.ReactNode} Vùng nội dung card lịch có xử lý overflow theo chiều dọc.
324
+ */
325
+ function ScheduleCardScrollableContent({ children, scheduleCardVariant, }) {
326
+ const scrollRef = (0, react_1.useRef)(null);
327
+ const [hasVerticalOverflow, setHasVerticalOverflow] = (0, react_1.useState)(false);
328
+ const [isAtBottom, setIsAtBottom] = (0, react_1.useState)(true);
329
+ (0, react_1.useEffect)(() => {
330
+ const element = scrollRef.current;
331
+ if (!element) {
332
+ return undefined;
333
+ }
334
+ const scrollElement = element;
335
+ /**
336
+ * Đồng bộ trạng thái cuộn mỗi khi kích thước hoặc vị trí cuộn của card thay đổi.
337
+ *
338
+ * @returns {void}
339
+ */
340
+ function updateScrollState() {
341
+ syncScheduleCardScrollState(scrollElement, setHasVerticalOverflow, setIsAtBottom);
342
+ }
343
+ updateScrollState();
344
+ const resizeObserver = new ResizeObserver(() => {
345
+ updateScrollState();
346
+ });
347
+ resizeObserver.observe(scrollElement);
348
+ const innerElement = scrollElement.firstElementChild;
349
+ if (innerElement instanceof HTMLElement) {
350
+ resizeObserver.observe(innerElement);
351
+ }
352
+ scrollElement.addEventListener('scroll', updateScrollState, { passive: true });
353
+ window.addEventListener('resize', updateScrollState);
354
+ return () => {
355
+ resizeObserver.disconnect();
356
+ scrollElement.removeEventListener('scroll', updateScrollState);
357
+ window.removeEventListener('resize', updateScrollState);
358
+ };
359
+ }, [children, scheduleCardVariant]);
360
+ return (react_1.default.createElement("div", { className: getScheduleCardContentClassName(scheduleCardVariant) },
361
+ react_1.default.createElement("div", { ref: scrollRef, className: constants_1.SCHEDULE_CARD_SCROLL_CLASSNAME },
362
+ react_1.default.createElement("div", { className: getScheduleCardContentInnerClassName(scheduleCardVariant) }, children)),
363
+ hasVerticalOverflow && !isAtBottom && (react_1.default.createElement("div", { className: 'pointer-events-none absolute inset-x-0 bottom-0 h-8 bg-gradient-to-t from-white via-white/90 to-transparent' }))));
364
+ }
365
+ const renderScheduleCards = (scheduleCards, scheduleCardSize, scheduleCardVariant, userDetailPageUrl) => (react_1.default.createElement("div", { className: constants_1.SCHEDULE_CARD_STACK_CLASSNAME, style: buildScheduleCardStackStyle(scheduleCardSize) }, scheduleCards.map((card, index) => {
366
+ var _a;
367
+ return (react_1.default.createElement("button", { key: (_a = card.id) !== null && _a !== void 0 ? _a : index, type: 'button', className: getScheduleCardButtonClassName(scheduleCardVariant), onClick: card.onClick, style: buildScheduleCardButtonStyle(scheduleCards.length, scheduleCardSize) },
368
+ react_1.default.createElement(ScheduleCardScrollableContent, { scheduleCardVariant: scheduleCardVariant }, card.blocks && card.blocks.length > 0 ? (card.blocks.map((block, blockIndex) => (react_1.default.createElement("div", { key: blockIndex, className: constants_1.SCHEDULE_CARD_BLOCK_CLASSNAME }, renderScheduleCardBlock(block, userDetailPageUrl))))) : (react_1.default.createElement(react_1.default.Fragment, null,
369
+ renderScheduleCardTitle(card.title),
370
+ renderScheduleCardSections(card.sections, userDetailPageUrl))))));
371
+ })));
372
+ exports.renderScheduleCards = renderScheduleCards;
96
373
  /**
97
374
  * Renders the grouped tooltip sections for a cell.
98
375
  *
@@ -1 +1 @@
1
- {"version":3,"file":"renderers.js","sourceRoot":"","sources":["../../../../src/components/TableSchedule/renderers.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderers.js","sourceRoot":"","sources":["../../../../src/components/TableSchedule/renderers.tsx"],"names":[],"mappings":"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"}
@@ -31,11 +31,34 @@ export type GridScheduleContent = {
31
31
  emptyTitle?: ReactNode;
32
32
  emptyDescription?: ReactNode;
33
33
  };
34
+ export type GridScheduleCardSection = {
35
+ label: ReactNode;
36
+ labelPrefix?: ReactNode;
37
+ value: ReactNode | GridPersonLink | GridPersonLink[];
38
+ };
39
+ export type GridScheduleCardBlock = {
40
+ title: ReactNode;
41
+ sections?: GridScheduleCardSection[];
42
+ };
43
+ export type GridScheduleCard = {
44
+ id?: number | string;
45
+ title?: ReactNode;
46
+ blocks?: GridScheduleCardBlock[];
47
+ sections?: GridScheduleCardSection[];
48
+ onClick?: () => void;
49
+ };
50
+ export type GridScheduleCardSize = {
51
+ width?: CSSProperties['width'];
52
+ height?: CSSProperties['height'];
53
+ };
54
+ export type GridScheduleCardVariant = 'default' | 'borderless';
34
55
  export type GridCellData = {
35
56
  content?: ReactNode;
36
57
  variant?: GridCellVariant;
37
58
  layout?: GridCellLayout;
38
59
  scheduleContent?: GridScheduleContent;
60
+ scheduleCards?: GridScheduleCard[];
61
+ scheduleCardSize?: GridScheduleCardSize;
39
62
  tooltipBlocks?: GridTooltipBlock[];
40
63
  tooltip?: ReactNode;
41
64
  tooltipClassName?: string;
@@ -107,6 +130,8 @@ export type PHXScheduleTableProps = {
107
130
  legendItems?: GridLegendItem[];
108
131
  userDetailPageUrl?: string;
109
132
  className?: string;
133
+ scheduleCardSize?: GridScheduleCardSize;
134
+ scheduleCardVariant?: GridScheduleCardVariant;
110
135
  TooltipComponent?: TooltipComponentType;
111
136
  ButtonComponent?: ButtonComponentType;
112
137
  };
@@ -5,6 +5,8 @@ type RowHeaderCellStyleParams = {
5
5
  stickyWidths: number[];
6
6
  width: number;
7
7
  isLast: boolean;
8
+ stickyHeaderCount: number;
9
+ showStickyShadow: boolean;
8
10
  customStyle?: CSSProperties;
9
11
  };
10
12
  /**
@@ -80,10 +82,12 @@ export declare const getStickyHeaderClassName: (index: number, stickyHeaderCount
80
82
  * } The sticky header positioning inputs.
81
83
  * @returns {CSSProperties} The computed sticky header styles.
82
84
  */
83
- export declare const buildStickyHeaderCellStyle: ({ index, stickyWidths, zIndexBase, }: {
85
+ export declare const buildStickyHeaderCellStyle: ({ index, stickyWidths, zIndexBase, stickyHeaderCount, showStickyShadow, }: {
84
86
  index: number;
85
87
  stickyWidths: number[];
86
88
  zIndexBase: number;
89
+ stickyHeaderCount: number;
90
+ showStickyShadow: boolean;
87
91
  }) => CSSProperties;
88
92
  /**
89
93
  * Builds the shared style for grouped header cells.
@@ -124,7 +128,7 @@ export declare const getRowHeaderClassName: (className: string | undefined, head
124
128
  * buildRowHeaderCellStyle({ headerIndex: 0, stickyWidths: [130], width: 130, isLast: false })
125
129
  * // => { position: 'sticky', left: 0, width: 130, zIndex: 3, ... }
126
130
  */
127
- export declare const buildRowHeaderCellStyle: ({ headerIndex, stickyWidths, width, isLast, customStyle, }: RowHeaderCellStyleParams) => CSSProperties;
131
+ export declare const buildRowHeaderCellStyle: ({ headerIndex, stickyWidths, width, isLast, stickyHeaderCount, showStickyShadow, customStyle, }: RowHeaderCellStyleParams) => CSSProperties;
128
132
  /**
129
133
  * Composes the class name for an interactive cell wrapper.
130
134
  *
@@ -149,7 +153,7 @@ export declare const getStaticCellClassName: (layout: GridCellLayout, alignClass
149
153
  * @param {CSSProperties} [cellStyle] Optional custom style overrides from the cell data.
150
154
  * @returns {CSSProperties} The computed data-cell styles.
151
155
  */
152
- export declare const buildDataCellStyle: (isLast: boolean, cellStyle?: CSSProperties) => CSSProperties;
156
+ export declare const buildDataCellStyle: (isLast: boolean, columnWidth?: number, cellStyle?: CSSProperties) => CSSProperties;
153
157
  /**
154
158
  * Composes the class name for a body data cell.
155
159
  *
@@ -122,6 +122,34 @@ exports.getCellSpan = getCellSpan;
122
122
  * @returns {string} The shadow class name, or an empty string when no shadow is needed.
123
123
  */
124
124
  const getStickyShadowClassName = (index, stickyHeaderCount, showStickyShadow) => index === stickyHeaderCount - 1 && showStickyShadow ? constants_1.STICKY_SHADOW_CLASSNAME : '';
125
+ /**
126
+ * Builds the vertical separators for sticky columns.
127
+ *
128
+ * Internal separators between sticky columns are drawn on the left edge of every sticky column after the first.
129
+ * The trailing edge after the final sticky column is only drawn while horizontally scrolled.
130
+ *
131
+ * @param {number} index The sticky column index being rendered.
132
+ * @param {number} stickyHeaderCount The total number of sticky columns.
133
+ * @param {boolean} showStickyShadow Whether the trailing sticky separator should be visible.
134
+ * @returns {CSSProperties | undefined} The sticky separator styles, or undefined when no separator applies.
135
+ */
136
+ const getStickySeparatorStyle = (index, stickyHeaderCount, showStickyShadow) => {
137
+ const hasInternalSeparator = index > 0;
138
+ const isLastStickyColumn = index === stickyHeaderCount - 1;
139
+ if (isLastStickyColumn && showStickyShadow) {
140
+ return {
141
+ borderLeft: hasInternalSeparator ? constants_1.BORDER : undefined,
142
+ borderRight: constants_1.BORDER,
143
+ boxShadow: '1px 0 0 var(--color-border-tertiary, #e5e7eb)',
144
+ };
145
+ }
146
+ if (hasInternalSeparator) {
147
+ return {
148
+ borderLeft: constants_1.BORDER,
149
+ };
150
+ }
151
+ return undefined;
152
+ };
125
153
  /**
126
154
  * Composes the class name for a sticky header placeholder cell.
127
155
  *
@@ -146,7 +174,7 @@ exports.getStickyHeaderClassName = getStickyHeaderClassName;
146
174
  * } The sticky header positioning inputs.
147
175
  * @returns {CSSProperties} The computed sticky header styles.
148
176
  */
149
- const buildStickyHeaderCellStyle = ({ index, stickyWidths, zIndexBase, }) => ({
177
+ const buildStickyHeaderCellStyle = ({ index, stickyWidths, zIndexBase, stickyHeaderCount, showStickyShadow, }) => ({
150
178
  ...constants_1.stickyBase,
151
179
  ...constants_1.thBase,
152
180
  zIndex: zIndexBase + (stickyWidths.length - index),
@@ -154,6 +182,7 @@ const buildStickyHeaderCellStyle = ({ index, stickyWidths, zIndexBase, }) => ({
154
182
  width: stickyWidths[index],
155
183
  minWidth: stickyWidths[index],
156
184
  textAlign: 'left',
185
+ ...getStickySeparatorStyle(index, stickyHeaderCount, showStickyShadow),
157
186
  });
158
187
  exports.buildStickyHeaderCellStyle = buildStickyHeaderCellStyle;
159
188
  /**
@@ -176,7 +205,9 @@ exports.buildHeaderGroupCellStyle = buildHeaderGroupCellStyle;
176
205
  const buildColumnHeaderCellStyle = (align, minWidth) => ({
177
206
  ...constants_1.thBase,
178
207
  textAlign: align,
208
+ width: minWidth,
179
209
  minWidth,
210
+ maxWidth: minWidth,
180
211
  borderLeft: constants_1.BORDER,
181
212
  });
182
213
  exports.buildColumnHeaderCellStyle = buildColumnHeaderCellStyle;
@@ -206,7 +237,7 @@ exports.getRowHeaderClassName = getRowHeaderClassName;
206
237
  * buildRowHeaderCellStyle({ headerIndex: 0, stickyWidths: [130], width: 130, isLast: false })
207
238
  * // => { position: 'sticky', left: 0, width: 130, zIndex: 3, ... }
208
239
  */
209
- const buildRowHeaderCellStyle = ({ headerIndex, stickyWidths, width, isLast, customStyle, }) => ({
240
+ const buildRowHeaderCellStyle = ({ headerIndex, stickyWidths, width, isLast, stickyHeaderCount, showStickyShadow, customStyle, }) => ({
210
241
  ...constants_1.stickyBase,
211
242
  zIndex: 2 + (stickyWidths.length - headerIndex),
212
243
  left: (0, exports.getStickyLeft)(stickyWidths, headerIndex),
@@ -215,6 +246,7 @@ const buildRowHeaderCellStyle = ({ headerIndex, stickyWidths, width, isLast, cus
215
246
  padding: '8px 12px',
216
247
  borderBottom: !isLast ? constants_1.BORDER : 'none',
217
248
  verticalAlign: 'middle',
249
+ ...getStickySeparatorStyle(headerIndex, stickyHeaderCount, showStickyShadow),
218
250
  ...customStyle,
219
251
  });
220
252
  exports.buildRowHeaderCellStyle = buildRowHeaderCellStyle;
@@ -267,7 +299,10 @@ exports.getStaticCellClassName = getStaticCellClassName;
267
299
  * @param {CSSProperties} [cellStyle] Optional custom style overrides from the cell data.
268
300
  * @returns {CSSProperties} The computed data-cell styles.
269
301
  */
270
- const buildDataCellStyle = (isLast, cellStyle) => ({
302
+ const buildDataCellStyle = (isLast, columnWidth, cellStyle) => ({
303
+ width: columnWidth,
304
+ minWidth: columnWidth,
305
+ maxWidth: columnWidth,
271
306
  borderBottom: !isLast ? constants_1.BORDER : 'none',
272
307
  ...cellStyle,
273
308
  });
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/TableSchedule/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/TableSchedule/utils.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ export const PHXCalendar = ({ defaultEndDate, defaultStartDate, max, min, onChan
31
31
  const [endDate, setEndDate] = useState(defaultEndDate);
32
32
  const isDisabledWithMin = dateMin &&
33
33
  new Date(currentMonth === 0 ? currentYear - 1 : currentYear, currentMonth === 0 ? 12 : currentMonth, 0) < dateMin;
34
+ const isDisabledWithMax = dateMax && new Date(currentMonth >= 10 ? currentYear + 1 : currentYear, (currentMonth + 2) % 12, 1) > dateMax;
34
35
  const calendar = useMemo(() => {
35
36
  const createCalendar = (year, month) => {
36
37
  const firstDayOfMonth = new Date(year, month, 1);
@@ -180,10 +181,7 @@ export const PHXCalendar = ({ defaultEndDate, defaultStartDate, max, min, onChan
180
181
  getMonthName(currentMonth + calIdx),
181
182
  ' ',
182
183
  calIdx === 0 ? currentYear : currentMonth === 11 ? currentYear + 1 : currentYear),
183
- calIdx === 1 && (React.createElement("button", { className: classNames('absolute right-0 rounded-lg p-1 text-gray-500 hover:bg-gray-200', dateMax &&
184
- new Date(currentMonth === 11 ? currentYear + 1 : currentYear, currentMonth === 11 ? 0 : currentMonth + 1, 1) > dateMax &&
185
- 'cursor-not-allowed opacity-50'), disabled: dateMax &&
186
- new Date(currentMonth === 11 ? currentYear + 1 : currentYear, currentMonth === 11 ? 0 : currentMonth + 1, 1) > dateMax, onClick: () => handleChangeMonth('next'), type: 'button' },
184
+ calIdx === 1 && (React.createElement("button", { className: classNames('absolute right-0 rounded-lg p-1 text-gray-500 hover:bg-gray-200', isDisabledWithMax && 'cursor-not-allowed opacity-50'), disabled: isDisabledWithMax, onClick: () => handleChangeMonth('next'), type: 'button' },
187
185
  React.createElement(ArrowRightIcon, { className: 'h-5 w-5' })))),
188
186
  React.createElement("div", { className: 'mb-4 grid grid-cols-7 gap-0 border-gray-200' }, weekdays.map((day, index) => (React.createElement("div", { key: index, className: 'py-2 text-center text-xs font-medium text-gray-600' }, day)))),
189
187
  React.createElement("div", { className: 'grid grid-cols-7 gap-0' },