phx-react 1.3.1833 → 1.3.1836
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/ResourceList/component/list.js +1 -1
- package/dist/cjs/components/ResourceList/component/list.js.map +1 -1
- package/dist/cjs/components/TableSchedule/PHXScheduleTable.d.ts +11 -0
- package/dist/cjs/components/TableSchedule/PHXScheduleTable.js +45 -0
- package/dist/cjs/components/TableSchedule/PHXScheduleTable.js.map +1 -0
- package/dist/cjs/components/TableSchedule/components/PHXScheduleTableBody.d.ts +16 -0
- package/dist/cjs/components/TableSchedule/components/PHXScheduleTableBody.js +148 -0
- package/dist/cjs/components/TableSchedule/components/PHXScheduleTableBody.js.map +1 -0
- package/dist/cjs/components/TableSchedule/components/PHXScheduleTableHead.d.ts +22 -0
- package/dist/cjs/components/TableSchedule/components/PHXScheduleTableHead.js +49 -0
- package/dist/cjs/components/TableSchedule/components/PHXScheduleTableHead.js.map +1 -0
- package/dist/cjs/components/TableSchedule/components/PHXScheduleTableLegend.d.ts +13 -0
- package/dist/cjs/components/TableSchedule/components/PHXScheduleTableLegend.js +26 -0
- package/dist/cjs/components/TableSchedule/components/PHXScheduleTableLegend.js.map +1 -0
- package/dist/cjs/components/TableSchedule/components/useStickyShadow.d.ts +15 -0
- package/dist/cjs/components/TableSchedule/components/useStickyShadow.js +37 -0
- package/dist/cjs/components/TableSchedule/components/useStickyShadow.js.map +1 -0
- package/dist/cjs/components/TableSchedule/constants.d.ts +49 -0
- package/dist/cjs/components/TableSchedule/constants.js +85 -0
- package/dist/cjs/components/TableSchedule/constants.js.map +1 -0
- package/dist/cjs/components/TableSchedule/index.d.ts +1 -0
- package/dist/cjs/components/TableSchedule/index.js +5 -0
- package/dist/cjs/components/TableSchedule/index.js.map +1 -0
- package/dist/cjs/components/TableSchedule/renderers.d.ts +39 -0
- package/dist/cjs/components/TableSchedule/renderers.js +138 -0
- package/dist/cjs/components/TableSchedule/renderers.js.map +1 -0
- package/dist/cjs/components/TableSchedule/types.d.ts +112 -0
- package/dist/cjs/components/TableSchedule/types.js +4 -0
- package/dist/cjs/components/TableSchedule/types.js.map +1 -0
- package/dist/cjs/components/TableSchedule/utils.d.ts +160 -0
- package/dist/cjs/components/TableSchedule/utils.js +283 -0
- package/dist/cjs/components/TableSchedule/utils.js.map +1 -0
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/ResourceList/component/list.js +1 -1
- package/dist/esm/components/ResourceList/component/list.js.map +1 -1
- package/dist/esm/components/TableSchedule/PHXScheduleTable.d.ts +11 -0
- package/dist/esm/components/TableSchedule/PHXScheduleTable.js +40 -0
- package/dist/esm/components/TableSchedule/PHXScheduleTable.js.map +1 -0
- package/dist/esm/components/TableSchedule/components/PHXScheduleTableBody.d.ts +16 -0
- package/dist/esm/components/TableSchedule/components/PHXScheduleTableBody.js +143 -0
- package/dist/esm/components/TableSchedule/components/PHXScheduleTableBody.js.map +1 -0
- package/dist/esm/components/TableSchedule/components/PHXScheduleTableHead.d.ts +22 -0
- package/dist/esm/components/TableSchedule/components/PHXScheduleTableHead.js +45 -0
- package/dist/esm/components/TableSchedule/components/PHXScheduleTableHead.js.map +1 -0
- package/dist/esm/components/TableSchedule/components/PHXScheduleTableLegend.d.ts +13 -0
- package/dist/esm/components/TableSchedule/components/PHXScheduleTableLegend.js +21 -0
- package/dist/esm/components/TableSchedule/components/PHXScheduleTableLegend.js.map +1 -0
- package/dist/esm/components/TableSchedule/components/useStickyShadow.d.ts +15 -0
- package/dist/esm/components/TableSchedule/components/useStickyShadow.js +33 -0
- package/dist/esm/components/TableSchedule/components/useStickyShadow.js.map +1 -0
- package/dist/esm/components/TableSchedule/constants.d.ts +49 -0
- package/dist/esm/components/TableSchedule/constants.js +81 -0
- package/dist/esm/components/TableSchedule/constants.js.map +1 -0
- package/dist/esm/components/TableSchedule/index.d.ts +1 -0
- package/dist/esm/components/TableSchedule/index.js +2 -0
- package/dist/esm/components/TableSchedule/index.js.map +1 -0
- package/dist/esm/components/TableSchedule/renderers.d.ts +39 -0
- package/dist/esm/components/TableSchedule/renderers.js +129 -0
- package/dist/esm/components/TableSchedule/renderers.js.map +1 -0
- package/dist/esm/components/TableSchedule/types.d.ts +112 -0
- package/dist/esm/components/TableSchedule/types.js +3 -0
- package/dist/esm/components/TableSchedule/types.js.map +1 -0
- package/dist/esm/components/TableSchedule/utils.d.ts +160 -0
- package/dist/esm/components/TableSchedule/utils.js +264 -0
- package/dist/esm/components/TableSchedule/utils.js.map +1 -0
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -57,7 +57,7 @@ function List({ filteredItems, dataSelected, bulkActions, itemFocusId, readonly,
|
|
|
57
57
|
handleSelectOne(e, item, 'checkbox');
|
|
58
58
|
} }))),
|
|
59
59
|
react_1.default.createElement("div", { className: 'flex-1 flex gap-x-1.5 items-center' },
|
|
60
|
-
(item === null || item === void 0 ? void 0 : item.avatar) && (react_1.default.createElement("img", { alt: 'avatar', className: `h-10 w-10 rounded-full mr-2 ${item === null || item === void 0 ? void 0 : item.avatarClassname}`, src: item.avatar })),
|
|
60
|
+
(item === null || item === void 0 ? void 0 : item.avatar) && (react_1.default.createElement("img", { alt: 'avatar', className: `h-10 w-10 rounded-full mr-2 object-cover ${item === null || item === void 0 ? void 0 : item.avatarClassname}`, src: item.avatar })),
|
|
61
61
|
react_1.default.createElement("div", { className: 'flex flex-col gap-y-0.5' },
|
|
62
62
|
(item === null || item === void 0 ? void 0 : item.name) && react_1.default.createElement("p", { className: 'text-xs font-medium text-gray-900' }, item.name),
|
|
63
63
|
(item === null || item === void 0 ? void 0 : item.location) && (react_1.default.createElement("p", { className: `text-xs ${isBadge ? 'mt-1' : ''} font-normal text-gray-600` }, item.location)))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/components/ResourceList/component/list.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/components/ResourceList/component/list.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PHXScheduleTableProps } from './types';
|
|
3
|
+
export * from './types';
|
|
4
|
+
/**
|
|
5
|
+
* Renders the schedule table with sticky row headers, optional tooltips, and interactive cells.
|
|
6
|
+
*
|
|
7
|
+
* @param {PHXScheduleTableProps} props The table configuration and render data.
|
|
8
|
+
* @returns {React.ReactNode} The rendered schedule table component.
|
|
9
|
+
*/
|
|
10
|
+
export declare const PHXScheduleTable: ({ columns, headerGroups, rows, onCellClick, stickyColumnWidth, stickyColumnWidths, defaultCellLayout, legendItems, userDetailPageUrl, className, TooltipComponent, ButtonComponent, }: PHXScheduleTableProps) => React.JSX.Element;
|
|
11
|
+
export default PHXScheduleTable;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.PHXScheduleTable = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
7
|
+
const constants_1 = require("./constants");
|
|
8
|
+
const PHXScheduleTableBody_1 = require("./components/PHXScheduleTableBody");
|
|
9
|
+
const PHXScheduleTableHead_1 = require("./components/PHXScheduleTableHead");
|
|
10
|
+
const PHXScheduleTableLegend_1 = require("./components/PHXScheduleTableLegend");
|
|
11
|
+
const utils_1 = require("./utils");
|
|
12
|
+
const useStickyShadow_1 = require("./components/useStickyShadow");
|
|
13
|
+
tslib_1.__exportStar(require("./types"), exports);
|
|
14
|
+
/**
|
|
15
|
+
* Renders the schedule table with sticky row headers, optional tooltips, and interactive cells.
|
|
16
|
+
*
|
|
17
|
+
* @param {PHXScheduleTableProps} props The table configuration and render data.
|
|
18
|
+
* @returns {React.ReactNode} The rendered schedule table component.
|
|
19
|
+
*/
|
|
20
|
+
const PHXScheduleTable = ({ columns, headerGroups, rows, onCellClick, stickyColumnWidth = 130, stickyColumnWidths, defaultCellLayout = 'boxed', legendItems, userDetailPageUrl, className, TooltipComponent, ButtonComponent, }) => {
|
|
21
|
+
const scrollContainerRef = (0, react_1.useRef)(null);
|
|
22
|
+
const skipMap = (0, utils_1.buildSkipMap)(rows, columns);
|
|
23
|
+
const resolvedStickyColumnWidths = (0, utils_1.buildStickyColumnWidths)(rows, stickyColumnWidth, stickyColumnWidths);
|
|
24
|
+
const stickyHeaderCount = resolvedStickyColumnWidths.length;
|
|
25
|
+
const showStickyShadow = (0, useStickyShadow_1.useStickyShadow)({
|
|
26
|
+
scrollContainerRef,
|
|
27
|
+
columnsLength: columns.length,
|
|
28
|
+
rowsLength: rows.length,
|
|
29
|
+
stickyHeaderCount,
|
|
30
|
+
});
|
|
31
|
+
const stickySharedProps = {
|
|
32
|
+
stickyHeaderCount,
|
|
33
|
+
resolvedStickyColumnWidths,
|
|
34
|
+
showStickyShadow,
|
|
35
|
+
};
|
|
36
|
+
return (react_1.default.createElement("div", { className: className },
|
|
37
|
+
react_1.default.createElement(PHXScheduleTableLegend_1.PHXScheduleTableLegend, { legendItems: legendItems }),
|
|
38
|
+
react_1.default.createElement("div", { ref: scrollContainerRef, className: constants_1.TABLE_SCROLL_CONTAINER_CLASSNAME, style: constants_1.TABLE_SCROLL_CONTAINER_STYLE },
|
|
39
|
+
react_1.default.createElement("table", { className: constants_1.TABLE_CLASSNAME, style: constants_1.TABLE_STYLE },
|
|
40
|
+
react_1.default.createElement(PHXScheduleTableHead_1.PHXScheduleTableHead, { columns: columns, headerGroups: headerGroups, ...stickySharedProps }),
|
|
41
|
+
react_1.default.createElement(PHXScheduleTableBody_1.PHXScheduleTableBody, { columns: columns, rows: rows, onCellClick: onCellClick, stickyColumnWidth: stickyColumnWidth, defaultCellLayout: defaultCellLayout, userDetailPageUrl: userDetailPageUrl, TooltipComponent: TooltipComponent, ButtonComponent: ButtonComponent, skipMap: skipMap, ...stickySharedProps })))));
|
|
42
|
+
};
|
|
43
|
+
exports.PHXScheduleTable = PHXScheduleTable;
|
|
44
|
+
exports.default = exports.PHXScheduleTable;
|
|
45
|
+
//# sourceMappingURL=PHXScheduleTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PHXScheduleTable.js","sourceRoot":"","sources":["../../../../src/components/TableSchedule/PHXScheduleTable.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;;AAEZ,uDAAqC;AACrC,2CAKoB;AACpB,4EAAwE;AACxE,4EAAwE;AACxE,gFAA4E;AAC5E,mCAA+D;AAE/D,kEAA8D;AAE9D,kDAAuB;AAEvB;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,CAAC,EAC/B,OAAO,EACP,YAAY,EACZ,IAAI,EACJ,WAAW,EACX,iBAAiB,GAAG,GAAG,EACvB,kBAAkB,EAClB,iBAAiB,GAAG,OAAO,EAC3B,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,eAAe,GACO,EAAE,EAAE;IAC1B,MAAM,kBAAkB,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAA;IACvD,MAAM,OAAO,GAAG,IAAA,oBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC3C,MAAM,0BAA0B,GAAG,IAAA,+BAAuB,EAAC,IAAI,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAA;IACvG,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,MAAM,CAAA;IAC3D,MAAM,gBAAgB,GAAG,IAAA,iCAAe,EAAC;QACvC,kBAAkB;QAClB,aAAa,EAAE,OAAO,CAAC,MAAM;QAC7B,UAAU,EAAE,IAAI,CAAC,MAAM;QACvB,iBAAiB;KAClB,CAAC,CAAA;IACF,MAAM,iBAAiB,GAAG;QACxB,iBAAiB;QACjB,0BAA0B;QAC1B,gBAAgB;KACjB,CAAA;IAED,OAAO,CACL,uCAAK,SAAS,EAAE,SAAS;QACvB,8BAAC,+CAAsB,IAAC,WAAW,EAAE,WAAW,GAAI;QAEpD,uCAAK,GAAG,EAAE,kBAAkB,EAAE,SAAS,EAAE,4CAAgC,EAAE,KAAK,EAAE,wCAA4B;YAC5G,yCAAO,SAAS,EAAE,2BAAe,EAAE,KAAK,EAAE,uBAAW;gBACnD,8BAAC,2CAAoB,IAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,KAAM,iBAAiB,GAAI;gBAC7F,8BAAC,2CAAoB,IACnB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,KACZ,iBAAiB,GACrB,CACI,CACJ,CACF,CACP,CAAA;AACH,CAAC,CAAA;AArDY,QAAA,gBAAgB,oBAqD5B;AAED,kBAAe,wBAAgB,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PHXScheduleTableProps } from '../types';
|
|
3
|
+
type PHXScheduleTableBodyProps = Pick<PHXScheduleTableProps, 'columns' | 'rows' | 'onCellClick' | 'stickyColumnWidth' | 'defaultCellLayout' | 'userDetailPageUrl' | 'TooltipComponent' | 'ButtonComponent'> & {
|
|
4
|
+
skipMap: Set<string>;
|
|
5
|
+
stickyHeaderCount: number;
|
|
6
|
+
resolvedStickyColumnWidths: number[];
|
|
7
|
+
showStickyShadow: boolean;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Renders the schedule table body, including sticky row headers and data cells.
|
|
11
|
+
*
|
|
12
|
+
* @param {PHXScheduleTableBodyProps} props Body render inputs.
|
|
13
|
+
* @returns {React.ReactNode} The schedule table body.
|
|
14
|
+
*/
|
|
15
|
+
export declare const PHXScheduleTableBody: ({ columns, rows, onCellClick, stickyColumnWidth, defaultCellLayout, userDetailPageUrl, TooltipComponent, ButtonComponent, skipMap, stickyHeaderCount, resolvedStickyColumnWidths, showStickyShadow, }: PHXScheduleTableBodyProps) => React.JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.PHXScheduleTableBody = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
7
|
+
const constants_1 = require("../constants");
|
|
8
|
+
const renderers_1 = require("../renderers");
|
|
9
|
+
const utils_1 = require("../utils");
|
|
10
|
+
/**
|
|
11
|
+
* Resolves the plain cell content for non-boxed cells.
|
|
12
|
+
*
|
|
13
|
+
* @param {GridCellData} cell The cell data being rendered.
|
|
14
|
+
* @param {string} [userDetailPageUrl] Optional detail-page URL used by schedule links.
|
|
15
|
+
* @returns {React.ReactNode} The plain rendered cell content.
|
|
16
|
+
*/
|
|
17
|
+
const getPlainCellContent = (cell, userDetailPageUrl) => {
|
|
18
|
+
if (cell.scheduleContent) {
|
|
19
|
+
return (0, renderers_1.renderScheduleContent)(cell.scheduleContent, userDetailPageUrl);
|
|
20
|
+
}
|
|
21
|
+
return cell.content;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Resolves the rendered content for a cell based on the active layout mode.
|
|
25
|
+
*
|
|
26
|
+
* @param {GridCellData} cell The cell data being rendered.
|
|
27
|
+
* @param {'boxed' | 'plain'} cellLayout The layout mode used for the cell.
|
|
28
|
+
* @param {string} [userDetailPageUrl] Optional detail-page URL used by schedule links.
|
|
29
|
+
* @returns {React.ReactNode} The rendered cell content for the selected layout.
|
|
30
|
+
*/
|
|
31
|
+
const getBoxContent = (cell, cellLayout, userDetailPageUrl) => cellLayout === 'plain' ? getPlainCellContent(cell, userDetailPageUrl) : (0, renderers_1.renderCellBoxContent)(cell);
|
|
32
|
+
/**
|
|
33
|
+
* Creates the click handler payload for an interactive data cell.
|
|
34
|
+
*
|
|
35
|
+
* @param {PHXScheduleTableProps['onCellClick']} onCellClick The optional table click callback.
|
|
36
|
+
* @param {number} rowIndex The zero-based row index of the clicked cell.
|
|
37
|
+
* @param {string} columnKey The column key of the clicked cell.
|
|
38
|
+
* @param {GridCellData} cellData The cell data passed back to the callback.
|
|
39
|
+
* @returns {(() => void) | undefined} The click handler, or `undefined` when clicks are disabled.
|
|
40
|
+
*/
|
|
41
|
+
const getCellClickHandler = (onCellClick, rowIndex, columnKey, cellData) => {
|
|
42
|
+
if (!onCellClick) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
return () => onCellClick({
|
|
46
|
+
rowIndex,
|
|
47
|
+
columnKey,
|
|
48
|
+
cellData,
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Renders the clickable or static wrapper used by a data cell.
|
|
53
|
+
*
|
|
54
|
+
* @param {React.ReactNode} boxContent The rendered content shown inside the cell.
|
|
55
|
+
* @param {'boxed' | 'plain'} cellLayout The active layout mode.
|
|
56
|
+
* @param {string} cellWrapperAlignClassName The alignment class applied to the wrapper.
|
|
57
|
+
* @param {(() => void) | undefined} onClick The optional click handler for interactive cells.
|
|
58
|
+
* @param {PHXScheduleTableProps['ButtonComponent']} [ButtonComponent] Optional custom button component.
|
|
59
|
+
* @returns {React.ReactNode} The rendered cell wrapper.
|
|
60
|
+
*/
|
|
61
|
+
const renderInteractiveCellContent = (boxContent, cellLayout, cellWrapperAlignClassName, onClick, ButtonComponent) => {
|
|
62
|
+
if (!onClick) {
|
|
63
|
+
return react_1.default.createElement("div", { className: (0, utils_1.getStaticCellClassName)(cellLayout, cellWrapperAlignClassName) }, boxContent);
|
|
64
|
+
}
|
|
65
|
+
if (ButtonComponent) {
|
|
66
|
+
return (react_1.default.createElement(ButtonComponent, { tertiary: true, noPadding: true, className: (0, utils_1.getClickableCellClassName)(cellLayout, cellWrapperAlignClassName, true), onClick: onClick }, boxContent));
|
|
67
|
+
}
|
|
68
|
+
return (react_1.default.createElement("button", { type: 'button', className: (0, utils_1.getClickableCellClassName)(cellLayout, cellWrapperAlignClassName), onClick: onClick }, boxContent));
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Renders the schedule table body, including sticky row headers and data cells.
|
|
72
|
+
*
|
|
73
|
+
* @param {PHXScheduleTableBodyProps} props Body render inputs.
|
|
74
|
+
* @returns {React.ReactNode} The schedule table body.
|
|
75
|
+
*/
|
|
76
|
+
const PHXScheduleTableBody = ({ columns, rows, onCellClick, stickyColumnWidth = 130, defaultCellLayout = 'boxed', userDetailPageUrl, TooltipComponent, ButtonComponent, skipMap, stickyHeaderCount, resolvedStickyColumnWidths, showStickyShadow, }) => {
|
|
77
|
+
/**
|
|
78
|
+
* Wraps a cell with the configured tooltip component when tooltip content exists.
|
|
79
|
+
*
|
|
80
|
+
* @param {GridCellData} cell The cell data being rendered.
|
|
81
|
+
* @param {React.ReactNode} cellContent The rendered cell content before tooltip decoration.
|
|
82
|
+
* @returns {React.ReactNode} The tooltip-wrapped content, or the original content when no tooltip applies.
|
|
83
|
+
*/
|
|
84
|
+
const renderTooltipWrappedContent = (cell, cellContent) => {
|
|
85
|
+
const tooltipContent = (0, renderers_1.renderTooltipContent)(cell, userDetailPageUrl);
|
|
86
|
+
if (!tooltipContent || !TooltipComponent) {
|
|
87
|
+
return cellContent;
|
|
88
|
+
}
|
|
89
|
+
return (react_1.default.createElement(TooltipComponent, { contentClassName: (0, renderers_1.resolveTooltipClassName)(cell), content: tooltipContent }, cellContent));
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Renders a sticky row-header cell for the current body row.
|
|
93
|
+
*
|
|
94
|
+
* @param {RowHeaderCellRenderParams} params Row-header render inputs.
|
|
95
|
+
* @returns {React.ReactNode} The rendered sticky row-header cell.
|
|
96
|
+
*/
|
|
97
|
+
function renderRowHeaderCell(params) {
|
|
98
|
+
var _a;
|
|
99
|
+
const { header, headerIndex, isLast } = params;
|
|
100
|
+
const width = (_a = header.width) !== null && _a !== void 0 ? _a : stickyColumnWidth;
|
|
101
|
+
return (react_1.default.createElement("td", { key: headerIndex, rowSpan: header.rowSpan, className: (0, utils_1.getRowHeaderClassName)(header.className, headerIndex, stickyHeaderCount, showStickyShadow), style: (0, utils_1.buildRowHeaderCellStyle)({
|
|
102
|
+
headerIndex,
|
|
103
|
+
stickyWidths: resolvedStickyColumnWidths,
|
|
104
|
+
width,
|
|
105
|
+
isLast,
|
|
106
|
+
customStyle: header.style,
|
|
107
|
+
}) }, (0, renderers_1.renderRowHeaderContent)(header)));
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Renders a data cell for the current row and column combination.
|
|
111
|
+
*
|
|
112
|
+
* @param {DataCellRenderParams} params Data-cell render inputs.
|
|
113
|
+
* @returns {React.ReactNode} The rendered data cell, or `null` when the coordinate is covered by a span.
|
|
114
|
+
*/
|
|
115
|
+
function renderDataCell(params) {
|
|
116
|
+
var _a, _b;
|
|
117
|
+
const { row, rowIndex, col, isLast } = params;
|
|
118
|
+
if (skipMap.has(`${rowIndex},${col.key}`))
|
|
119
|
+
return null;
|
|
120
|
+
const cell = (_a = row.cells[col.key]) !== null && _a !== void 0 ? _a : {};
|
|
121
|
+
const { colSpan: cs, rowSpan: rs } = (0, utils_1.getCellSpan)(cell);
|
|
122
|
+
const columnAlign = (0, utils_1.getColumnAlign)(col.align);
|
|
123
|
+
const cellWrapperAlignClassName = (0, constants_1.getCellWrapperAlignClassName)(columnAlign);
|
|
124
|
+
const cellLayout = (_b = cell.layout) !== null && _b !== void 0 ? _b : defaultCellLayout;
|
|
125
|
+
const boxContent = getBoxContent(cell, cellLayout, userDetailPageUrl);
|
|
126
|
+
const onClick = onCellClick && !cell.disabled ? getCellClickHandler(onCellClick, rowIndex, col.key, cell) : undefined;
|
|
127
|
+
const cellContent = renderInteractiveCellContent(boxContent, cellLayout, cellWrapperAlignClassName, onClick, ButtonComponent);
|
|
128
|
+
const wrappedContent = renderTooltipWrappedContent(cell, cellContent);
|
|
129
|
+
return (react_1.default.createElement("td", { key: col.key, colSpan: cs > 1 ? cs : undefined, rowSpan: rs > 1 ? rs : undefined, className: (0, utils_1.getDataCellClassName)(cell.cellClassName), style: (0, utils_1.buildDataCellStyle)(isLast, cell.cellStyle) }, wrappedContent));
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Renders a single table body row with its sticky headers and visible data cells.
|
|
133
|
+
*
|
|
134
|
+
* @param {PHXScheduleTableProps['rows'][number]} row The row data being rendered.
|
|
135
|
+
* @param {number} rowIndex The zero-based row index.
|
|
136
|
+
* @returns {React.ReactNode} The rendered table row.
|
|
137
|
+
*/
|
|
138
|
+
function renderBodyRow(row, rowIndex) {
|
|
139
|
+
const isLast = rowIndex === rows.length - 1;
|
|
140
|
+
const rowHeaders = (0, utils_1.getRowHeaders)(row, stickyColumnWidth);
|
|
141
|
+
return (react_1.default.createElement("tr", { key: rowIndex },
|
|
142
|
+
rowHeaders.map((header, headerIndex) => header ? renderRowHeaderCell({ header, headerIndex, isLast }) : null),
|
|
143
|
+
columns.map((col) => renderDataCell({ row, rowIndex, col, isLast }))));
|
|
144
|
+
}
|
|
145
|
+
return react_1.default.createElement("tbody", null, rows.map(renderBodyRow));
|
|
146
|
+
};
|
|
147
|
+
exports.PHXScheduleTableBody = PHXScheduleTableBody;
|
|
148
|
+
//# sourceMappingURL=PHXScheduleTableBody.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PHXScheduleTableBody.js","sourceRoot":"","sources":["../../../../../src/components/TableSchedule/components/PHXScheduleTableBody.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { GridHeaderGroup, PHXScheduleTableProps } from '../types';
|
|
3
|
+
type StickyHeaderPlaceholdersProps = {
|
|
4
|
+
stickyHeaderCount: number;
|
|
5
|
+
resolvedStickyColumnWidths: number[];
|
|
6
|
+
showStickyShadow: boolean;
|
|
7
|
+
zIndexBase: number;
|
|
8
|
+
rowSpan?: number;
|
|
9
|
+
};
|
|
10
|
+
type StickyHeaderContext = Pick<StickyHeaderPlaceholdersProps, 'stickyHeaderCount' | 'resolvedStickyColumnWidths' | 'showStickyShadow'>;
|
|
11
|
+
type PHXScheduleTableHeadProps = {
|
|
12
|
+
columns: PHXScheduleTableProps['columns'];
|
|
13
|
+
headerGroups?: GridHeaderGroup[];
|
|
14
|
+
} & StickyHeaderContext;
|
|
15
|
+
/**
|
|
16
|
+
* Renders the table head, including grouped headers and sticky row-header placeholders.
|
|
17
|
+
*
|
|
18
|
+
* @param {PHXScheduleTableHeadProps} props Head render inputs.
|
|
19
|
+
* @returns {React.ReactNode} The schedule table head.
|
|
20
|
+
*/
|
|
21
|
+
export declare function PHXScheduleTableHead(props: PHXScheduleTableHeadProps): React.ReactNode;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.PHXScheduleTableHead = PHXScheduleTableHead;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
7
|
+
const constants_1 = require("../constants");
|
|
8
|
+
const utils_1 = require("../utils");
|
|
9
|
+
/**
|
|
10
|
+
* Builds the placeholder props shared by sticky header rows.
|
|
11
|
+
*
|
|
12
|
+
* @param {StickyHeaderContext} stickyHeaderContext Sticky column state shared across header rows.
|
|
13
|
+
* @param {number} zIndexBase The z-index base used for the placeholder row.
|
|
14
|
+
* @param {number} [rowSpan] Optional row span applied to each placeholder cell.
|
|
15
|
+
* @returns {StickyHeaderPlaceholdersProps} The complete placeholder props for a sticky header row.
|
|
16
|
+
*/
|
|
17
|
+
const buildStickyHeaderPlaceholderProps = (stickyHeaderContext, zIndexBase, rowSpan) => ({
|
|
18
|
+
...stickyHeaderContext,
|
|
19
|
+
zIndexBase,
|
|
20
|
+
rowSpan,
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* Renders placeholder cells that reserve space for sticky row headers in the table head.
|
|
24
|
+
*
|
|
25
|
+
* @param {StickyHeaderPlaceholdersProps} props Sticky placeholder render inputs.
|
|
26
|
+
* @returns {React.ReactNode[]} The sticky placeholder cells.
|
|
27
|
+
*/
|
|
28
|
+
const StickyHeaderPlaceholders = ({ stickyHeaderCount, resolvedStickyColumnWidths, showStickyShadow, zIndexBase, rowSpan, }) => Array.from({ length: stickyHeaderCount }).map((_, index) => (react_1.default.createElement("th", { key: index, rowSpan: rowSpan, className: (0, utils_1.getStickyHeaderClassName)(index, stickyHeaderCount, showStickyShadow), style: (0, utils_1.buildStickyHeaderCellStyle)({
|
|
29
|
+
index,
|
|
30
|
+
stickyWidths: resolvedStickyColumnWidths,
|
|
31
|
+
zIndexBase,
|
|
32
|
+
}) })));
|
|
33
|
+
/**
|
|
34
|
+
* Renders the table head, including grouped headers and sticky row-header placeholders.
|
|
35
|
+
*
|
|
36
|
+
* @param {PHXScheduleTableHeadProps} props Head render inputs.
|
|
37
|
+
* @returns {React.ReactNode} The schedule table head.
|
|
38
|
+
*/
|
|
39
|
+
function PHXScheduleTableHead(props) {
|
|
40
|
+
const { columns, headerGroups, ...stickyHeaderContext } = props;
|
|
41
|
+
return (react_1.default.createElement("thead", null,
|
|
42
|
+
headerGroups && headerGroups.length > 0 && (react_1.default.createElement("tr", null,
|
|
43
|
+
react_1.default.createElement(StickyHeaderPlaceholders, { ...buildStickyHeaderPlaceholderProps(stickyHeaderContext, 4, 2) }),
|
|
44
|
+
headerGroups.map((group, gi) => (react_1.default.createElement("th", { key: gi, colSpan: group.columnKeys.length, className: constants_1.HEADER_TH_CLASSNAME, style: (0, utils_1.buildHeaderGroupCellStyle)() }, group.header))))),
|
|
45
|
+
react_1.default.createElement("tr", null,
|
|
46
|
+
!headerGroups && react_1.default.createElement(StickyHeaderPlaceholders, { ...buildStickyHeaderPlaceholderProps(stickyHeaderContext, 3) }),
|
|
47
|
+
columns.map((col) => (react_1.default.createElement("th", { key: col.key, className: constants_1.HEADER_TH_CLASSNAME, style: (0, utils_1.buildColumnHeaderCellStyle)((0, utils_1.getColumnAlign)(col.align), col.minWidth) }, col.header))))));
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=PHXScheduleTableHead.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PHXScheduleTableHead.js","sourceRoot":"","sources":["../../../../../src/components/TableSchedule/components/PHXScheduleTableHead.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;AAiFZ,oDAmCC;;AAlHD,0DAAyB;AACzB,4CAAkD;AAClD,oCAMiB;AAqBjB;;;;;;;GAOG;AACH,MAAM,iCAAiC,GAAG,CACxC,mBAAwC,EACxC,UAAkB,EAClB,OAAgB,EACe,EAAE,CAAC,CAAC;IACnC,GAAG,mBAAmB;IACtB,UAAU;IACV,OAAO;CACR,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,wBAAwB,GAAG,CAAC,EAChC,iBAAiB,EACjB,0BAA0B,EAC1B,gBAAgB,EAChB,UAAU,EACV,OAAO,GACuB,EAAE,EAAE,CAClC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1D,sCACE,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,IAAA,gCAAwB,EAAC,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,EAC/E,KAAK,EAAE,IAAA,kCAA0B,EAAC;QAChC,KAAK;QACL,YAAY,EAAE,0BAA0B;QACxC,UAAU;KACX,CAAC,GACF,CACH,CAAC,CAAA;AAEJ;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,KAAgC;IACnE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,mBAAmB,EAAE,GAAG,KAAK,CAAA;IAE/D,OAAO,CACL;QACG,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAC1C;YACE,8BAAC,wBAAwB,OAAK,iCAAiC,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC,GAAI;YAC7F,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAC/B,sCACE,GAAG,EAAE,EAAE,EACP,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,EAChC,SAAS,EAAE,+BAAmB,EAC9B,KAAK,EAAE,IAAA,iCAAyB,GAAE,IAEjC,KAAK,CAAC,MAAM,CACV,CACN,CAAC,CACC,CACN;QAED;YACG,CAAC,YAAY,IAAI,8BAAC,wBAAwB,OAAK,iCAAiC,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAI;YAC5G,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACpB,sCACE,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,SAAS,EAAE,+BAAmB,EAC9B,KAAK,EAAE,IAAA,kCAA0B,EAAC,IAAA,sBAAc,EAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,IAEzE,GAAG,CAAC,MAAM,CACR,CACN,CAAC,CACC,CACC,CACT,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { GridLegendItem } from '../types';
|
|
3
|
+
type PHXScheduleTableLegendProps = {
|
|
4
|
+
legendItems?: GridLegendItem[];
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Renders the optional legend displayed above the schedule table.
|
|
8
|
+
*
|
|
9
|
+
* @param {PHXScheduleTableLegendProps} props Legend configuration.
|
|
10
|
+
* @returns {React.ReactNode} The legend markup, or null when no items exist.
|
|
11
|
+
*/
|
|
12
|
+
export declare const PHXScheduleTableLegend: ({ legendItems }: PHXScheduleTableLegendProps) => React.JSX.Element | null;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.PHXScheduleTableLegend = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
7
|
+
const constants_1 = require("../constants");
|
|
8
|
+
/**
|
|
9
|
+
* Renders the optional legend displayed above the schedule table.
|
|
10
|
+
*
|
|
11
|
+
* @param {PHXScheduleTableLegendProps} props Legend configuration.
|
|
12
|
+
* @returns {React.ReactNode} The legend markup, or null when no items exist.
|
|
13
|
+
*/
|
|
14
|
+
const PHXScheduleTableLegend = ({ legendItems }) => {
|
|
15
|
+
if (!legendItems || legendItems.length === 0) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
return (react_1.default.createElement("div", { className: constants_1.LEGEND_WRAPPER_CLASSNAME }, legendItems.map((item, index) => {
|
|
19
|
+
var _a;
|
|
20
|
+
return (react_1.default.createElement("div", { key: index, className: index === legendItems.length - 1 ? constants_1.LEGEND_LAST_ITEM_CLASSNAME : constants_1.LEGEND_ITEM_CLASSNAME },
|
|
21
|
+
react_1.default.createElement("div", { className: `h-3 w-3 rounded border border-current ${item.variant ? constants_1.LEGEND_INDICATOR_CLASSNAME[item.variant] : ''} ${(_a = item.indicatorClassName) !== null && _a !== void 0 ? _a : ''}`.trim() }),
|
|
22
|
+
react_1.default.createElement("span", { className: constants_1.LEGEND_LABEL_CLASSNAME }, item.label)));
|
|
23
|
+
})));
|
|
24
|
+
};
|
|
25
|
+
exports.PHXScheduleTableLegend = PHXScheduleTableLegend;
|
|
26
|
+
//# sourceMappingURL=PHXScheduleTableLegend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PHXScheduleTableLegend.js","sourceRoot":"","sources":["../../../../../src/components/TableSchedule/components/PHXScheduleTableLegend.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;;AAEZ,0DAAyB;AACzB,4CAMqB;AAOrB;;;;;GAKG;AACI,MAAM,sBAAsB,GAAG,CAAC,EAAE,WAAW,EAA+B,EAAE,EAAE;IACrF,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,uCAAK,SAAS,EAAE,oCAAwB,IACrC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;;QAAC,OAAA,CAChC,uCACE,GAAG,EAAE,KAAK,EACV,SAAS,EAAE,KAAK,KAAK,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,sCAA0B,CAAC,CAAC,CAAC,iCAAqB;YAEhG,uCACE,SAAS,EAAE,yCACT,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,sCAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAC5D,IAAI,MAAA,IAAI,CAAC,kBAAkB,mCAAI,EAAE,EAAE,CAAC,IAAI,EAAE,GAC1C;YACF,wCAAM,SAAS,EAAE,kCAAsB,IAAG,IAAI,CAAC,KAAK,CAAQ,CACxD,CACP,CAAA;KAAA,CAAC,CACE,CACP,CAAA;AACH,CAAC,CAAA;AAtBY,QAAA,sBAAsB,0BAsBlC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { RefObject } from 'react';
|
|
2
|
+
type UseStickyShadowParams = {
|
|
3
|
+
scrollContainerRef: RefObject<HTMLDivElement | null>;
|
|
4
|
+
columnsLength: number;
|
|
5
|
+
rowsLength: number;
|
|
6
|
+
stickyHeaderCount: number;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Tracks whether the sticky-header shadow should be visible based on horizontal scroll.
|
|
10
|
+
*
|
|
11
|
+
* @param {UseStickyShadowParams} params Dependencies required to recalculate shadow visibility.
|
|
12
|
+
* @returns {boolean} True when the table has been horizontally scrolled.
|
|
13
|
+
*/
|
|
14
|
+
export declare const useStickyShadow: ({ scrollContainerRef, columnsLength, rowsLength, stickyHeaderCount, }: UseStickyShadowParams) => boolean;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.useStickyShadow = void 0;
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
/**
|
|
7
|
+
* Tracks whether the sticky-header shadow should be visible based on horizontal scroll.
|
|
8
|
+
*
|
|
9
|
+
* @param {UseStickyShadowParams} params Dependencies required to recalculate shadow visibility.
|
|
10
|
+
* @returns {boolean} True when the table has been horizontally scrolled.
|
|
11
|
+
*/
|
|
12
|
+
const useStickyShadow = ({ scrollContainerRef, columnsLength, rowsLength, stickyHeaderCount, }) => {
|
|
13
|
+
const [showStickyShadow, setShowStickyShadow] = (0, react_1.useState)(false);
|
|
14
|
+
(0, react_1.useEffect)(() => {
|
|
15
|
+
const container = scrollContainerRef.current;
|
|
16
|
+
if (!container)
|
|
17
|
+
return;
|
|
18
|
+
/**
|
|
19
|
+
* Synchronizes the sticky shadow state with the container's horizontal scroll position.
|
|
20
|
+
*
|
|
21
|
+
* @returns {void}
|
|
22
|
+
*/
|
|
23
|
+
const updateStickyShadow = () => {
|
|
24
|
+
setShowStickyShadow(container.scrollLeft > 0);
|
|
25
|
+
};
|
|
26
|
+
updateStickyShadow();
|
|
27
|
+
container.addEventListener('scroll', updateStickyShadow, { passive: true });
|
|
28
|
+
window.addEventListener('resize', updateStickyShadow);
|
|
29
|
+
return () => {
|
|
30
|
+
container.removeEventListener('scroll', updateStickyShadow);
|
|
31
|
+
window.removeEventListener('resize', updateStickyShadow);
|
|
32
|
+
};
|
|
33
|
+
}, [columnsLength, rowsLength, stickyHeaderCount, scrollContainerRef]);
|
|
34
|
+
return showStickyShadow;
|
|
35
|
+
};
|
|
36
|
+
exports.useStickyShadow = useStickyShadow;
|
|
37
|
+
//# sourceMappingURL=useStickyShadow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStickyShadow.js","sourceRoot":"","sources":["../../../../../src/components/TableSchedule/components/useStickyShadow.ts"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;AAGZ,iCAA2C;AAS3C;;;;;GAKG;AACI,MAAM,eAAe,GAAG,CAAC,EAC9B,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,iBAAiB,GACK,EAAE,EAAE;IAC1B,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAE/D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAA;QAC5C,IAAI,CAAC,SAAS;YAAE,OAAM;QAEtB;;;;WAIG;QACH,MAAM,kBAAkB,GAAG,GAAG,EAAE;YAC9B,mBAAmB,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;QAC/C,CAAC,CAAA;QAED,kBAAkB,EAAE,CAAA;QACpB,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3E,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;QAErD,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;YAC3D,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;QAC1D,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAEtE,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA;AAhCY,QAAA,eAAe,mBAgC3B"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
|
+
import { GridCellVariant, GridColumnAlign, GridRowHeaderAlign } from './types';
|
|
3
|
+
export declare const BORDER = "0.5px solid var(--color-border-tertiary, #e5e7eb)";
|
|
4
|
+
export declare const stickyBase: CSSProperties;
|
|
5
|
+
export declare const thBase: CSSProperties;
|
|
6
|
+
export declare const HEADER_TH_CLASSNAME = "whitespace-nowrap bg-white px-3 py-2 text-xs font-semibold text-gray-900";
|
|
7
|
+
export declare const STICKY_SHADOW_CLASSNAME = "drop-shadow-[4px_0_4px_rgba(0,0,0,0.1)]";
|
|
8
|
+
export declare const LEGEND_WRAPPER_CLASSNAME = "mb-3 flex w-fit items-center gap-2 rounded-lg bg-white p-2";
|
|
9
|
+
export declare const LEGEND_ITEM_CLASSNAME = "ml-2 flex items-center gap-1";
|
|
10
|
+
export declare const LEGEND_LAST_ITEM_CLASSNAME = "ml-2 mr-2 flex items-center gap-1";
|
|
11
|
+
export declare const LEGEND_LABEL_CLASSNAME = "text-xs font-normal text-gray-900";
|
|
12
|
+
export declare const TABLE_SCROLL_CONTAINER_CLASSNAME = "overflow-x-auto rounded-lg bg-white";
|
|
13
|
+
export declare const TABLE_CLASSNAME = "w-full border-collapse";
|
|
14
|
+
export declare const TABLE_SCROLL_CONTAINER_STYLE: CSSProperties;
|
|
15
|
+
export declare const TABLE_STYLE: CSSProperties;
|
|
16
|
+
export declare const ROW_HEADER_CONTENT_CLASSNAME = "flex flex-col";
|
|
17
|
+
export declare const ROW_HEADER_ALIGN_CLASSNAME: Record<GridRowHeaderAlign, string>;
|
|
18
|
+
export declare const ROW_HEADER_TITLE_CLASSNAME = "text-xs font-semibold text-gray-900";
|
|
19
|
+
export declare const ROW_HEADER_DESCRIPTION_CLASSNAME = "text-xs text-gray-600";
|
|
20
|
+
export declare const CELL_BOX_BASE_CLASSNAME = "flex h-[30px] w-[176px] items-center overflow-hidden rounded-lg border-[0.5px] px-2.5 text-left text-xs font-normal shadow-sm";
|
|
21
|
+
export declare const CELL_BOX_VARIANT_CLASSNAME: Record<GridCellVariant, string>;
|
|
22
|
+
export declare const LEGEND_INDICATOR_CLASSNAME: Record<GridCellVariant, string>;
|
|
23
|
+
export declare const CELL_WRAPPER_ALIGN_CLASSNAME: Record<GridColumnAlign, string>;
|
|
24
|
+
/**
|
|
25
|
+
* Returns the wrapper alignment class for a cell based on the column alignment.
|
|
26
|
+
*
|
|
27
|
+
* @param {GridColumnAlign} align The alignment configured for the column.
|
|
28
|
+
* @returns {string} The Tailwind class used to align the cell wrapper content.
|
|
29
|
+
*/
|
|
30
|
+
export declare const getCellWrapperAlignClassName: (align: GridColumnAlign) => string;
|
|
31
|
+
export declare const TOOLTIP_CONTENT_CLASSNAME = "flex max-w-[320px] flex-col gap-2 text-left";
|
|
32
|
+
export declare const TOOLTIP_TITLE_CLASSNAME = "text-xs font-semibold leading-5 text-gray-800";
|
|
33
|
+
export declare const TOOLTIP_SECTION_CLASSNAME = "flex flex-col gap-0.5";
|
|
34
|
+
export declare const TOOLTIP_LABEL_CLASSNAME = "text-xs leading-5 text-gray-500";
|
|
35
|
+
export declare const TOOLTIP_VALUE_CLASSNAME = "text-xs font-semibold leading-5 text-gray-800";
|
|
36
|
+
export declare const DEFAULT_TOOLTIP_CLASSNAME = "w-fit !px-5 !py-4";
|
|
37
|
+
export declare const SCHEDULE_CELL_CLASSNAME = "flex flex-col gap-2 text-left";
|
|
38
|
+
export declare const SCHEDULE_TITLE_CLASSNAME = "text-sm font-semibold leading-5 text-gray-800";
|
|
39
|
+
export declare const SCHEDULE_TITLE_DOTTED_CLASSNAME = "inline-block w-fit border-b-2 border-dotted border-gray-300 text-sm font-semibold leading-5 text-gray-800";
|
|
40
|
+
export declare const SCHEDULE_SECTION_CLASSNAME = "flex flex-col gap-1";
|
|
41
|
+
export declare const SCHEDULE_SECTION_LABEL_CLASSNAME = "flex items-center gap-1.5 text-xs font-normal leading-5 text-gray-500";
|
|
42
|
+
export declare const SCHEDULE_SECTION_VALUE_CLASSNAME = "text-sm font-semibold leading-5 text-gray-800";
|
|
43
|
+
export declare const SCHEDULE_EMPTY_TITLE_CLASSNAME = "text-sm font-semibold leading-5 text-gray-800";
|
|
44
|
+
export declare const SCHEDULE_EMPTY_DESCRIPTION_CLASSNAME = "text-xs font-normal leading-5 text-gray-500";
|
|
45
|
+
export declare const BOXED_CELL_PADDING_CLASSNAME = "px-1 py-1";
|
|
46
|
+
export declare const PLAIN_CELL_PADDING_CLASSNAME = "px-2 py-1.5";
|
|
47
|
+
export declare const BUTTON_BASE_CLASSNAME = "!shadow-none !flex !w-full !rounded-none !text-left";
|
|
48
|
+
export declare const CELL_CONTENT_BASE_CLASSNAME = "flex w-full text-left";
|
|
49
|
+
export declare const DATA_CELL_BASE_CLASSNAME = "align-middle border-l p-0";
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.DATA_CELL_BASE_CLASSNAME = exports.CELL_CONTENT_BASE_CLASSNAME = exports.BUTTON_BASE_CLASSNAME = exports.PLAIN_CELL_PADDING_CLASSNAME = exports.BOXED_CELL_PADDING_CLASSNAME = exports.SCHEDULE_EMPTY_DESCRIPTION_CLASSNAME = exports.SCHEDULE_EMPTY_TITLE_CLASSNAME = exports.SCHEDULE_SECTION_VALUE_CLASSNAME = exports.SCHEDULE_SECTION_LABEL_CLASSNAME = exports.SCHEDULE_SECTION_CLASSNAME = exports.SCHEDULE_TITLE_DOTTED_CLASSNAME = exports.SCHEDULE_TITLE_CLASSNAME = exports.SCHEDULE_CELL_CLASSNAME = exports.DEFAULT_TOOLTIP_CLASSNAME = exports.TOOLTIP_VALUE_CLASSNAME = exports.TOOLTIP_LABEL_CLASSNAME = exports.TOOLTIP_SECTION_CLASSNAME = exports.TOOLTIP_TITLE_CLASSNAME = exports.TOOLTIP_CONTENT_CLASSNAME = exports.getCellWrapperAlignClassName = exports.CELL_WRAPPER_ALIGN_CLASSNAME = exports.LEGEND_INDICATOR_CLASSNAME = exports.CELL_BOX_VARIANT_CLASSNAME = exports.CELL_BOX_BASE_CLASSNAME = exports.ROW_HEADER_DESCRIPTION_CLASSNAME = exports.ROW_HEADER_TITLE_CLASSNAME = exports.ROW_HEADER_ALIGN_CLASSNAME = exports.ROW_HEADER_CONTENT_CLASSNAME = exports.TABLE_STYLE = exports.TABLE_SCROLL_CONTAINER_STYLE = exports.TABLE_CLASSNAME = exports.TABLE_SCROLL_CONTAINER_CLASSNAME = exports.LEGEND_LABEL_CLASSNAME = exports.LEGEND_LAST_ITEM_CLASSNAME = exports.LEGEND_ITEM_CLASSNAME = exports.LEGEND_WRAPPER_CLASSNAME = exports.STICKY_SHADOW_CLASSNAME = exports.HEADER_TH_CLASSNAME = exports.thBase = exports.stickyBase = exports.BORDER = void 0;
|
|
5
|
+
exports.BORDER = '0.5px solid var(--color-border-tertiary, #e5e7eb)';
|
|
6
|
+
exports.stickyBase = {
|
|
7
|
+
position: 'sticky',
|
|
8
|
+
left: 0,
|
|
9
|
+
zIndex: 2,
|
|
10
|
+
background: 'var(--color-background-primary, #fff)',
|
|
11
|
+
borderRight: exports.BORDER,
|
|
12
|
+
};
|
|
13
|
+
exports.thBase = {
|
|
14
|
+
borderBottom: exports.BORDER,
|
|
15
|
+
textAlign: 'center',
|
|
16
|
+
};
|
|
17
|
+
exports.HEADER_TH_CLASSNAME = 'whitespace-nowrap bg-white px-3 py-2 text-xs font-semibold text-gray-900';
|
|
18
|
+
exports.STICKY_SHADOW_CLASSNAME = 'drop-shadow-[4px_0_4px_rgba(0,0,0,0.1)]';
|
|
19
|
+
exports.LEGEND_WRAPPER_CLASSNAME = 'mb-3 flex w-fit items-center gap-2 rounded-lg bg-white p-2';
|
|
20
|
+
exports.LEGEND_ITEM_CLASSNAME = 'ml-2 flex items-center gap-1';
|
|
21
|
+
exports.LEGEND_LAST_ITEM_CLASSNAME = 'ml-2 mr-2 flex items-center gap-1';
|
|
22
|
+
exports.LEGEND_LABEL_CLASSNAME = 'text-xs font-normal text-gray-900';
|
|
23
|
+
exports.TABLE_SCROLL_CONTAINER_CLASSNAME = 'overflow-x-auto rounded-lg bg-white';
|
|
24
|
+
exports.TABLE_CLASSNAME = 'w-full border-collapse';
|
|
25
|
+
exports.TABLE_SCROLL_CONTAINER_STYLE = {
|
|
26
|
+
border: exports.BORDER,
|
|
27
|
+
};
|
|
28
|
+
exports.TABLE_STYLE = {
|
|
29
|
+
width: '100%',
|
|
30
|
+
borderCollapse: 'collapse',
|
|
31
|
+
};
|
|
32
|
+
exports.ROW_HEADER_CONTENT_CLASSNAME = 'flex flex-col';
|
|
33
|
+
exports.ROW_HEADER_ALIGN_CLASSNAME = {
|
|
34
|
+
left: 'items-start text-left',
|
|
35
|
+
center: 'items-center text-center',
|
|
36
|
+
right: 'items-end text-right',
|
|
37
|
+
};
|
|
38
|
+
exports.ROW_HEADER_TITLE_CLASSNAME = 'text-xs font-semibold text-gray-900';
|
|
39
|
+
exports.ROW_HEADER_DESCRIPTION_CLASSNAME = 'text-xs text-gray-600';
|
|
40
|
+
exports.CELL_BOX_BASE_CLASSNAME = 'flex h-[30px] w-[176px] items-center overflow-hidden rounded-lg border-[0.5px] px-2.5 text-left text-xs font-normal shadow-sm';
|
|
41
|
+
exports.CELL_BOX_VARIANT_CLASSNAME = {
|
|
42
|
+
default: 'border-gray-500 bg-white text-gray-900',
|
|
43
|
+
moving: 'border-gray-500 bg-[#FFD6A4] text-gray-900',
|
|
44
|
+
trogiang: 'border-[#00527C] bg-[#E0F0FF] text-[#00527C]',
|
|
45
|
+
empty: 'border-gray-500 bg-white text-gray-900',
|
|
46
|
+
};
|
|
47
|
+
exports.LEGEND_INDICATOR_CLASSNAME = {
|
|
48
|
+
default: '',
|
|
49
|
+
moving: 'bg-[#FFD6A4]',
|
|
50
|
+
trogiang: 'border-[#00527C] bg-[#E0F0FF]',
|
|
51
|
+
empty: '',
|
|
52
|
+
};
|
|
53
|
+
exports.CELL_WRAPPER_ALIGN_CLASSNAME = {
|
|
54
|
+
left: 'justify-start',
|
|
55
|
+
center: 'justify-center',
|
|
56
|
+
right: 'justify-end',
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Returns the wrapper alignment class for a cell based on the column alignment.
|
|
60
|
+
*
|
|
61
|
+
* @param {GridColumnAlign} align The alignment configured for the column.
|
|
62
|
+
* @returns {string} The Tailwind class used to align the cell wrapper content.
|
|
63
|
+
*/
|
|
64
|
+
const getCellWrapperAlignClassName = (align) => exports.CELL_WRAPPER_ALIGN_CLASSNAME[align];
|
|
65
|
+
exports.getCellWrapperAlignClassName = getCellWrapperAlignClassName;
|
|
66
|
+
exports.TOOLTIP_CONTENT_CLASSNAME = 'flex max-w-[320px] flex-col gap-2 text-left';
|
|
67
|
+
exports.TOOLTIP_TITLE_CLASSNAME = 'text-xs font-semibold leading-5 text-gray-800';
|
|
68
|
+
exports.TOOLTIP_SECTION_CLASSNAME = 'flex flex-col gap-0.5';
|
|
69
|
+
exports.TOOLTIP_LABEL_CLASSNAME = 'text-xs leading-5 text-gray-500';
|
|
70
|
+
exports.TOOLTIP_VALUE_CLASSNAME = 'text-xs font-semibold leading-5 text-gray-800';
|
|
71
|
+
exports.DEFAULT_TOOLTIP_CLASSNAME = 'w-fit !px-5 !py-4';
|
|
72
|
+
exports.SCHEDULE_CELL_CLASSNAME = 'flex flex-col gap-2 text-left';
|
|
73
|
+
exports.SCHEDULE_TITLE_CLASSNAME = 'text-sm font-semibold leading-5 text-gray-800';
|
|
74
|
+
exports.SCHEDULE_TITLE_DOTTED_CLASSNAME = 'inline-block w-fit border-b-2 border-dotted border-gray-300 text-sm font-semibold leading-5 text-gray-800';
|
|
75
|
+
exports.SCHEDULE_SECTION_CLASSNAME = 'flex flex-col gap-1';
|
|
76
|
+
exports.SCHEDULE_SECTION_LABEL_CLASSNAME = 'flex items-center gap-1.5 text-xs font-normal leading-5 text-gray-500';
|
|
77
|
+
exports.SCHEDULE_SECTION_VALUE_CLASSNAME = 'text-sm font-semibold leading-5 text-gray-800';
|
|
78
|
+
exports.SCHEDULE_EMPTY_TITLE_CLASSNAME = 'text-sm font-semibold leading-5 text-gray-800';
|
|
79
|
+
exports.SCHEDULE_EMPTY_DESCRIPTION_CLASSNAME = 'text-xs font-normal leading-5 text-gray-500';
|
|
80
|
+
exports.BOXED_CELL_PADDING_CLASSNAME = 'px-1 py-1';
|
|
81
|
+
exports.PLAIN_CELL_PADDING_CLASSNAME = 'px-2 py-1.5';
|
|
82
|
+
exports.BUTTON_BASE_CLASSNAME = '!shadow-none !flex !w-full !rounded-none !text-left';
|
|
83
|
+
exports.CELL_CONTENT_BASE_CLASSNAME = 'flex w-full text-left';
|
|
84
|
+
exports.DATA_CELL_BASE_CLASSNAME = 'align-middle border-l p-0';
|
|
85
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/components/TableSchedule/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './PHXScheduleTable';
|