@dreamtree-org/twreact-ui 1.1.25 → 1.1.26
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/index.esm.js +44 -22
- package/dist/index.js +44 -22
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -3967,16 +3967,20 @@ function useClickOutside(refs, isActive, onClickOutside) {
|
|
|
3967
3967
|
* Supports both header (icon-only) and footer (with page numbers) variants
|
|
3968
3968
|
*/
|
|
3969
3969
|
|
|
3970
|
+
var DEFAULT_ROW_HOVER$1 = "bg-gray-50";
|
|
3971
|
+
|
|
3970
3972
|
// Header pagination (compact, icon-based)
|
|
3971
3973
|
function PaginationHeader(_ref) {
|
|
3974
|
+
var _theme$rowHover;
|
|
3972
3975
|
var currentPage = _ref.currentPage,
|
|
3973
3976
|
totalPages = _ref.totalPages,
|
|
3974
3977
|
onPageChange = _ref.onPageChange,
|
|
3975
3978
|
theme = _ref.theme;
|
|
3979
|
+
var rowHover = (_theme$rowHover = theme === null || theme === void 0 ? void 0 : theme.rowHover) !== null && _theme$rowHover !== void 0 ? _theme$rowHover : DEFAULT_ROW_HOVER$1;
|
|
3976
3980
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
3977
3981
|
className: "flex items-center gap-1"
|
|
3978
3982
|
}, totalPages >= 4 && /*#__PURE__*/React__default.createElement("button", {
|
|
3979
|
-
className: cn$1("rounded-lg md:rounded-md border border-gray-300 p-2 disabled:opacity-50", ["hover:" +
|
|
3983
|
+
className: cn$1("rounded-lg md:rounded-md border border-gray-300 p-2 disabled:opacity-50", ["hover:" + rowHover]),
|
|
3980
3984
|
disabled: currentPage === 1,
|
|
3981
3985
|
onClick: function onClick() {
|
|
3982
3986
|
return onPageChange(1);
|
|
@@ -3985,7 +3989,7 @@ function PaginationHeader(_ref) {
|
|
|
3985
3989
|
}, /*#__PURE__*/React__default.createElement(ChevronsLeft, {
|
|
3986
3990
|
className: "size-4 md:size-5 text-primary-800"
|
|
3987
3991
|
})), /*#__PURE__*/React__default.createElement("button", {
|
|
3988
|
-
className: cn$1("rounded-lg md:rounded-md border border-gray-300 p-2 disabled:opacity-50", ["hover:" +
|
|
3992
|
+
className: cn$1("rounded-lg md:rounded-md border border-gray-300 p-2 disabled:opacity-50", ["hover:" + rowHover]),
|
|
3989
3993
|
disabled: currentPage === 1,
|
|
3990
3994
|
onClick: function onClick() {
|
|
3991
3995
|
return onPageChange(Math.max(1, currentPage - 1));
|
|
@@ -3994,7 +3998,7 @@ function PaginationHeader(_ref) {
|
|
|
3994
3998
|
}, /*#__PURE__*/React__default.createElement(ChevronLeft, {
|
|
3995
3999
|
className: "size-4 md:size-5 text-primary-800"
|
|
3996
4000
|
})), /*#__PURE__*/React__default.createElement("button", {
|
|
3997
|
-
className: cn$1("rounded-lg md:rounded-md border border-gray-300 p-2 disabled:opacity-50", ["hover:" +
|
|
4001
|
+
className: cn$1("rounded-lg md:rounded-md border border-gray-300 p-2 disabled:opacity-50", ["hover:" + rowHover]),
|
|
3998
4002
|
disabled: currentPage === totalPages,
|
|
3999
4003
|
onClick: function onClick() {
|
|
4000
4004
|
return onPageChange(Math.min(totalPages, currentPage + 1));
|
|
@@ -4003,7 +4007,7 @@ function PaginationHeader(_ref) {
|
|
|
4003
4007
|
}, /*#__PURE__*/React__default.createElement(ChevronRight, {
|
|
4004
4008
|
className: "size-4 md:size-5 text-primary-800"
|
|
4005
4009
|
})), totalPages >= 4 && /*#__PURE__*/React__default.createElement("button", {
|
|
4006
|
-
className: cn$1("rounded-lg md:rounded-md border border-gray-300 p-2 disabled:opacity-50", ["hover:" +
|
|
4010
|
+
className: cn$1("rounded-lg md:rounded-md border border-gray-300 p-2 disabled:opacity-50", ["hover:" + rowHover]),
|
|
4007
4011
|
disabled: currentPage === totalPages,
|
|
4008
4012
|
onClick: function onClick() {
|
|
4009
4013
|
return onPageChange(totalPages);
|
|
@@ -4016,11 +4020,13 @@ function PaginationHeader(_ref) {
|
|
|
4016
4020
|
|
|
4017
4021
|
// Footer pagination (with page numbers)
|
|
4018
4022
|
function PaginationFooter(_ref2) {
|
|
4023
|
+
var _theme$rowHover2;
|
|
4019
4024
|
var currentPage = _ref2.currentPage,
|
|
4020
4025
|
totalPages = _ref2.totalPages,
|
|
4021
4026
|
onPageChange = _ref2.onPageChange,
|
|
4022
4027
|
isMobileView = _ref2.isMobileView,
|
|
4023
4028
|
theme = _ref2.theme;
|
|
4029
|
+
var rowHover = (_theme$rowHover2 = theme === null || theme === void 0 ? void 0 : theme.rowHover) !== null && _theme$rowHover2 !== void 0 ? _theme$rowHover2 : DEFAULT_ROW_HOVER$1;
|
|
4024
4030
|
var visiblePageCount = isMobileView ? 5 : 3;
|
|
4025
4031
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
4026
4032
|
className: "p-4 border-t"
|
|
@@ -4031,7 +4037,7 @@ function PaginationFooter(_ref2) {
|
|
|
4031
4037
|
}, "Page ", currentPage, " of ", totalPages), /*#__PURE__*/React__default.createElement("div", {
|
|
4032
4038
|
className: "flex items-center gap-1 sm:gap-2"
|
|
4033
4039
|
}, totalPages >= 4 && /*#__PURE__*/React__default.createElement("button", {
|
|
4034
|
-
className: cn$1("rounded-lg md:rounded-md border border-gray-300 disabled:opacity-50", isMobileView ? "p-2" : "px-4 py-2 text-sm", ["hover:" +
|
|
4040
|
+
className: cn$1("rounded-lg md:rounded-md border border-gray-300 disabled:opacity-50", isMobileView ? "p-2" : "px-4 py-2 text-sm", ["hover:" + rowHover]),
|
|
4035
4041
|
disabled: currentPage === 1,
|
|
4036
4042
|
onClick: function onClick() {
|
|
4037
4043
|
return onPageChange(1);
|
|
@@ -4040,7 +4046,7 @@ function PaginationFooter(_ref2) {
|
|
|
4040
4046
|
}, isMobileView ? /*#__PURE__*/React__default.createElement(ChevronsLeft, {
|
|
4041
4047
|
className: "size-4 text-primary-800"
|
|
4042
4048
|
}) : "First"), /*#__PURE__*/React__default.createElement("button", {
|
|
4043
|
-
className: cn$1("rounded-lg md:rounded-md border border-gray-300 disabled:opacity-50", isMobileView ? "p-2" : "px-4 py-2 text-sm", ["hover:" +
|
|
4049
|
+
className: cn$1("rounded-lg md:rounded-md border border-gray-300 disabled:opacity-50", isMobileView ? "p-2" : "px-4 py-2 text-sm", ["hover:" + rowHover]),
|
|
4044
4050
|
disabled: currentPage === 1,
|
|
4045
4051
|
onClick: function onClick() {
|
|
4046
4052
|
return onPageChange(Math.max(1, currentPage - 1));
|
|
@@ -4068,13 +4074,13 @@ function PaginationFooter(_ref2) {
|
|
|
4068
4074
|
className: cn$1("h-8 w-8 rounded-lg md:rounded-md text-sm", _defineProperty$4({
|
|
4069
4075
|
"bg-primary-600 text-white": pageNum === currentPage,
|
|
4070
4076
|
"border border-gray-300": pageNum !== currentPage
|
|
4071
|
-
}, "hover:" +
|
|
4077
|
+
}, "hover:" + rowHover, pageNum !== currentPage)),
|
|
4072
4078
|
onClick: function onClick() {
|
|
4073
4079
|
return onPageChange(pageNum);
|
|
4074
4080
|
}
|
|
4075
4081
|
}, pageNum);
|
|
4076
4082
|
})), /*#__PURE__*/React__default.createElement("button", {
|
|
4077
|
-
className: cn$1("rounded-lg md:rounded-md border border-gray-300 disabled:opacity-50", isMobileView ? "p-2" : "px-4 py-2 text-sm", ["hover:" +
|
|
4083
|
+
className: cn$1("rounded-lg md:rounded-md border border-gray-300 disabled:opacity-50", isMobileView ? "p-2" : "px-4 py-2 text-sm", ["hover:" + rowHover]),
|
|
4078
4084
|
disabled: currentPage === totalPages,
|
|
4079
4085
|
onClick: function onClick() {
|
|
4080
4086
|
return onPageChange(Math.min(totalPages, currentPage + 1));
|
|
@@ -4083,7 +4089,7 @@ function PaginationFooter(_ref2) {
|
|
|
4083
4089
|
}, isMobileView ? /*#__PURE__*/React__default.createElement(ChevronRight, {
|
|
4084
4090
|
className: "size-4 text-primary-800"
|
|
4085
4091
|
}) : "Next"), totalPages >= 4 && /*#__PURE__*/React__default.createElement("button", {
|
|
4086
|
-
className: cn$1("rounded-lg md:rounded-md border border-gray-300 disabled:opacity-50", isMobileView ? "p-2" : "px-4 py-2 text-sm", ["hover:" +
|
|
4092
|
+
className: cn$1("rounded-lg md:rounded-md border border-gray-300 disabled:opacity-50", isMobileView ? "p-2" : "px-4 py-2 text-sm", ["hover:" + rowHover]),
|
|
4087
4093
|
disabled: currentPage === totalPages,
|
|
4088
4094
|
onClick: function onClick() {
|
|
4089
4095
|
return onPageChange(totalPages);
|
|
@@ -4094,14 +4100,18 @@ function PaginationFooter(_ref2) {
|
|
|
4094
4100
|
}) : "Last"))));
|
|
4095
4101
|
}
|
|
4096
4102
|
|
|
4103
|
+
var DEFAULT_ROW_HOVER = "bg-gray-50";
|
|
4104
|
+
|
|
4097
4105
|
/**
|
|
4098
4106
|
* Column visibility toggle menu
|
|
4099
4107
|
*/
|
|
4100
4108
|
function ColumnMenu(_ref) {
|
|
4109
|
+
var _theme$rowHover;
|
|
4101
4110
|
var columns = _ref.columns,
|
|
4102
4111
|
onToggle = _ref.onToggle,
|
|
4103
4112
|
menuRef = _ref.menuRef,
|
|
4104
4113
|
theme = _ref.theme;
|
|
4114
|
+
var rowHover = (_theme$rowHover = theme === null || theme === void 0 ? void 0 : theme.rowHover) !== null && _theme$rowHover !== void 0 ? _theme$rowHover : DEFAULT_ROW_HOVER;
|
|
4105
4115
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
4106
4116
|
ref: menuRef,
|
|
4107
4117
|
className: "absolute right-4 mt-2 w-56 z-50 rounded-lg shadow-lg ring-1 ring-black ring-opacity-5 p-3 lg:block sm:block hidden",
|
|
@@ -4117,7 +4127,7 @@ function ColumnMenu(_ref) {
|
|
|
4117
4127
|
key: col.key,
|
|
4118
4128
|
className: cn$1(_defineProperty$4({
|
|
4119
4129
|
"flex cursor-pointer items-center gap-2 px-2 py-1.5 rounded": true
|
|
4120
|
-
}, "hover:" +
|
|
4130
|
+
}, "hover:" + rowHover, true))
|
|
4121
4131
|
}, /*#__PURE__*/React__default.createElement("input", {
|
|
4122
4132
|
type: "checkbox",
|
|
4123
4133
|
checked: col.isVisible !== false,
|
|
@@ -4190,14 +4200,20 @@ function MobileFilters(_ref) {
|
|
|
4190
4200
|
})));
|
|
4191
4201
|
}
|
|
4192
4202
|
|
|
4203
|
+
var DEFAULT_MENU_BG = "bg-white";
|
|
4204
|
+
var DEFAULT_MENU_ITEM_HOVER = "hover:bg-gray-50";
|
|
4193
4205
|
function ActionMenu(_ref) {
|
|
4206
|
+
var _theme$menuBg, _theme$menuItemHover;
|
|
4194
4207
|
var _ref$actions = _ref.actions,
|
|
4195
4208
|
actions = _ref$actions === void 0 ? [] : _ref$actions,
|
|
4196
4209
|
row = _ref.row,
|
|
4197
4210
|
onAction = _ref.onAction,
|
|
4198
4211
|
onClose = _ref.onClose,
|
|
4199
4212
|
menuRef = _ref.menuRef,
|
|
4200
|
-
anchorEl = _ref.anchorEl
|
|
4213
|
+
anchorEl = _ref.anchorEl,
|
|
4214
|
+
theme = _ref.theme;
|
|
4215
|
+
var menuBg = (_theme$menuBg = theme === null || theme === void 0 ? void 0 : theme.menuBg) !== null && _theme$menuBg !== void 0 ? _theme$menuBg : DEFAULT_MENU_BG;
|
|
4216
|
+
var menuItemHover = (_theme$menuItemHover = theme === null || theme === void 0 ? void 0 : theme.menuItemHover) !== null && _theme$menuItemHover !== void 0 ? _theme$menuItemHover : DEFAULT_MENU_ITEM_HOVER;
|
|
4201
4217
|
var _useState = useState({
|
|
4202
4218
|
left: 0,
|
|
4203
4219
|
top: 0,
|
|
@@ -4320,7 +4336,7 @@ function ActionMenu(_ref) {
|
|
|
4320
4336
|
transformOrigin: style.transformOrigin,
|
|
4321
4337
|
opacity: style.opacity
|
|
4322
4338
|
},
|
|
4323
|
-
className: "absolute
|
|
4339
|
+
className: cn$1("absolute z-50 rounded-lg shadow-lg ring-1 ring-black ring-opacity-5 overflow-y-auto transition-opacity duration-150 ease-out", menuBg),
|
|
4324
4340
|
onClick: function onClick(e) {
|
|
4325
4341
|
return e.stopPropagation();
|
|
4326
4342
|
}
|
|
@@ -4333,14 +4349,14 @@ function ActionMenu(_ref) {
|
|
|
4333
4349
|
key: action.name,
|
|
4334
4350
|
className: "px-1"
|
|
4335
4351
|
}, action.render ? /*#__PURE__*/React__default.createElement("button", {
|
|
4336
|
-
className: "w-full text-left px-3 py-2 text-sm
|
|
4352
|
+
className: cn$1("w-full text-left px-3 py-2 text-sm opacity-75 hover:opacity-100 flex items-center gap-2 rounded-md", menuBg, menuItemHover),
|
|
4337
4353
|
onClick: function onClick(e) {
|
|
4338
4354
|
e.stopPropagation();
|
|
4339
4355
|
onAction === null || onAction === void 0 || onAction(action, row);
|
|
4340
4356
|
onClose === null || onClose === void 0 || onClose();
|
|
4341
4357
|
}
|
|
4342
4358
|
}, action.render(row)) : /*#__PURE__*/React__default.createElement("button", {
|
|
4343
|
-
className: "w-full text-left px-3 py-2 text-sm
|
|
4359
|
+
className: cn$1("w-full text-left px-3 py-2 text-sm opacity-75 hover:opacity-100 flex items-center gap-2 rounded-md", menuBg, menuItemHover),
|
|
4344
4360
|
onClick: function onClick(e) {
|
|
4345
4361
|
e.stopPropagation();
|
|
4346
4362
|
onAction === null || onAction === void 0 || onAction(action, row);
|
|
@@ -4356,6 +4372,7 @@ function ActionMenu(_ref) {
|
|
|
4356
4372
|
* Desktop table row component
|
|
4357
4373
|
*/
|
|
4358
4374
|
function TableRow(_ref) {
|
|
4375
|
+
var _theme$accentColor, _theme$rowHover;
|
|
4359
4376
|
var row = _ref.row,
|
|
4360
4377
|
rowIndexInPage = _ref.rowIndexInPage,
|
|
4361
4378
|
startIndex = _ref.startIndex,
|
|
@@ -4475,12 +4492,13 @@ function TableRow(_ref) {
|
|
|
4475
4492
|
},
|
|
4476
4493
|
menuRef: actionMenuRef,
|
|
4477
4494
|
anchorEl: activeAnchorEl,
|
|
4478
|
-
onClose: closeActionMenu
|
|
4495
|
+
onClose: closeActionMenu,
|
|
4496
|
+
theme: theme
|
|
4479
4497
|
})))), hasDetails && isExpanded && DetailsComponent && /*#__PURE__*/React__default.createElement("tr", null, /*#__PURE__*/React__default.createElement("td", {
|
|
4480
4498
|
colSpan: visibleCount,
|
|
4481
4499
|
className: cn$1(_defineProperty$4(_defineProperty$4({
|
|
4482
4500
|
"px-6 py-4": true
|
|
4483
|
-
}, theme.accentColor, true), theme.rowHover, true))
|
|
4501
|
+
}, (_theme$accentColor = theme === null || theme === void 0 ? void 0 : theme.accentColor) !== null && _theme$accentColor !== void 0 ? _theme$accentColor : "bg-gray-50", true), (_theme$rowHover = theme === null || theme === void 0 ? void 0 : theme.rowHover) !== null && _theme$rowHover !== void 0 ? _theme$rowHover : "bg-gray-50", true))
|
|
4484
4502
|
}, /*#__PURE__*/React__default.createElement(DetailsComponent, {
|
|
4485
4503
|
row: row,
|
|
4486
4504
|
index: globalIndex
|
|
@@ -4499,6 +4517,7 @@ function MobileCard(_ref) {
|
|
|
4499
4517
|
rowClass = _ref.rowClass,
|
|
4500
4518
|
stripedRows = _ref.stripedRows,
|
|
4501
4519
|
stripedColors = _ref.stripedColors,
|
|
4520
|
+
theme = _ref.theme,
|
|
4502
4521
|
onRowClick = _ref.onRowClick,
|
|
4503
4522
|
hasDetails = _ref.hasDetails,
|
|
4504
4523
|
selectable = _ref.selectable,
|
|
@@ -4590,7 +4609,8 @@ function MobileCard(_ref) {
|
|
|
4590
4609
|
},
|
|
4591
4610
|
menuRef: actionMenuRef,
|
|
4592
4611
|
anchorEl: activeAnchorEl,
|
|
4593
|
-
onClose: closeActionMenu
|
|
4612
|
+
onClose: closeActionMenu,
|
|
4613
|
+
theme: theme
|
|
4594
4614
|
}))), /*#__PURE__*/React__default.createElement("div", {
|
|
4595
4615
|
className: "p-4"
|
|
4596
4616
|
}, visibleColumns.map(function (column, colIndex) {
|
|
@@ -4625,7 +4645,9 @@ var DEFAULT_COLUMNS = [];
|
|
|
4625
4645
|
var DEFAULT_THEME = {
|
|
4626
4646
|
stripedColors: ["bg-[#ffffff]", "bg-[#f7fafc]"],
|
|
4627
4647
|
rowHover: "bg-gray-50",
|
|
4628
|
-
accentColor: "bg-gray-50"
|
|
4648
|
+
accentColor: "bg-gray-50",
|
|
4649
|
+
menuBg: "bg-white",
|
|
4650
|
+
menuItemHover: "hover:bg-gray-50"
|
|
4629
4651
|
};
|
|
4630
4652
|
var Table = function Table(_ref) {
|
|
4631
4653
|
var _ref$data = _ref.data,
|
|
@@ -5132,7 +5154,7 @@ var Table = function Table(_ref) {
|
|
|
5132
5154
|
currentPage: currentPage,
|
|
5133
5155
|
totalPages: totalPages,
|
|
5134
5156
|
onPageChange: handlePageChange,
|
|
5135
|
-
theme:
|
|
5157
|
+
theme: safeTheme
|
|
5136
5158
|
}))), globalSearch && /*#__PURE__*/React__default.createElement("div", {
|
|
5137
5159
|
className: "p-4 border-b"
|
|
5138
5160
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -5175,13 +5197,13 @@ var Table = function Table(_ref) {
|
|
|
5175
5197
|
columns: columnsState,
|
|
5176
5198
|
onToggle: toggleColumnVisibility,
|
|
5177
5199
|
menuRef: columnMenuRef,
|
|
5178
|
-
theme:
|
|
5200
|
+
theme: safeTheme
|
|
5179
5201
|
}), !isMobileView && /*#__PURE__*/React__default.createElement("div", {
|
|
5180
5202
|
className: "overflow-x-auto overflow-y-visible"
|
|
5181
5203
|
}, /*#__PURE__*/React__default.createElement("table", _extends({
|
|
5182
5204
|
className: cn$1("min-w-full divide-y divide-gray-200", className)
|
|
5183
5205
|
}, props), /*#__PURE__*/React__default.createElement("thead", {
|
|
5184
|
-
className:
|
|
5206
|
+
className: safeTheme.accentColor
|
|
5185
5207
|
}, /*#__PURE__*/React__default.createElement("tr", null, hasDetails && /*#__PURE__*/React__default.createElement("th", {
|
|
5186
5208
|
className: "w-8 px-4 py-3"
|
|
5187
5209
|
}), showSerial && /*#__PURE__*/React__default.createElement("th", {
|
|
@@ -5321,7 +5343,7 @@ var Table = function Table(_ref) {
|
|
|
5321
5343
|
totalPages: totalPages,
|
|
5322
5344
|
onPageChange: handlePageChange,
|
|
5323
5345
|
isMobileView: isMobileView,
|
|
5324
|
-
theme:
|
|
5346
|
+
theme: safeTheme
|
|
5325
5347
|
}));
|
|
5326
5348
|
};
|
|
5327
5349
|
|
package/dist/index.js
CHANGED
|
@@ -3987,16 +3987,20 @@ function useClickOutside(refs, isActive, onClickOutside) {
|
|
|
3987
3987
|
* Supports both header (icon-only) and footer (with page numbers) variants
|
|
3988
3988
|
*/
|
|
3989
3989
|
|
|
3990
|
+
var DEFAULT_ROW_HOVER$1 = "bg-gray-50";
|
|
3991
|
+
|
|
3990
3992
|
// Header pagination (compact, icon-based)
|
|
3991
3993
|
function PaginationHeader(_ref) {
|
|
3994
|
+
var _theme$rowHover;
|
|
3992
3995
|
var currentPage = _ref.currentPage,
|
|
3993
3996
|
totalPages = _ref.totalPages,
|
|
3994
3997
|
onPageChange = _ref.onPageChange,
|
|
3995
3998
|
theme = _ref.theme;
|
|
3999
|
+
var rowHover = (_theme$rowHover = theme === null || theme === void 0 ? void 0 : theme.rowHover) !== null && _theme$rowHover !== void 0 ? _theme$rowHover : DEFAULT_ROW_HOVER$1;
|
|
3996
4000
|
return /*#__PURE__*/React.createElement("div", {
|
|
3997
4001
|
className: "flex items-center gap-1"
|
|
3998
4002
|
}, totalPages >= 4 && /*#__PURE__*/React.createElement("button", {
|
|
3999
|
-
className: cn$1("rounded-lg md:rounded-md border border-gray-300 p-2 disabled:opacity-50", ["hover:" +
|
|
4003
|
+
className: cn$1("rounded-lg md:rounded-md border border-gray-300 p-2 disabled:opacity-50", ["hover:" + rowHover]),
|
|
4000
4004
|
disabled: currentPage === 1,
|
|
4001
4005
|
onClick: function onClick() {
|
|
4002
4006
|
return onPageChange(1);
|
|
@@ -4005,7 +4009,7 @@ function PaginationHeader(_ref) {
|
|
|
4005
4009
|
}, /*#__PURE__*/React.createElement(ChevronsLeft, {
|
|
4006
4010
|
className: "size-4 md:size-5 text-primary-800"
|
|
4007
4011
|
})), /*#__PURE__*/React.createElement("button", {
|
|
4008
|
-
className: cn$1("rounded-lg md:rounded-md border border-gray-300 p-2 disabled:opacity-50", ["hover:" +
|
|
4012
|
+
className: cn$1("rounded-lg md:rounded-md border border-gray-300 p-2 disabled:opacity-50", ["hover:" + rowHover]),
|
|
4009
4013
|
disabled: currentPage === 1,
|
|
4010
4014
|
onClick: function onClick() {
|
|
4011
4015
|
return onPageChange(Math.max(1, currentPage - 1));
|
|
@@ -4014,7 +4018,7 @@ function PaginationHeader(_ref) {
|
|
|
4014
4018
|
}, /*#__PURE__*/React.createElement(ChevronLeft, {
|
|
4015
4019
|
className: "size-4 md:size-5 text-primary-800"
|
|
4016
4020
|
})), /*#__PURE__*/React.createElement("button", {
|
|
4017
|
-
className: cn$1("rounded-lg md:rounded-md border border-gray-300 p-2 disabled:opacity-50", ["hover:" +
|
|
4021
|
+
className: cn$1("rounded-lg md:rounded-md border border-gray-300 p-2 disabled:opacity-50", ["hover:" + rowHover]),
|
|
4018
4022
|
disabled: currentPage === totalPages,
|
|
4019
4023
|
onClick: function onClick() {
|
|
4020
4024
|
return onPageChange(Math.min(totalPages, currentPage + 1));
|
|
@@ -4023,7 +4027,7 @@ function PaginationHeader(_ref) {
|
|
|
4023
4027
|
}, /*#__PURE__*/React.createElement(ChevronRight, {
|
|
4024
4028
|
className: "size-4 md:size-5 text-primary-800"
|
|
4025
4029
|
})), totalPages >= 4 && /*#__PURE__*/React.createElement("button", {
|
|
4026
|
-
className: cn$1("rounded-lg md:rounded-md border border-gray-300 p-2 disabled:opacity-50", ["hover:" +
|
|
4030
|
+
className: cn$1("rounded-lg md:rounded-md border border-gray-300 p-2 disabled:opacity-50", ["hover:" + rowHover]),
|
|
4027
4031
|
disabled: currentPage === totalPages,
|
|
4028
4032
|
onClick: function onClick() {
|
|
4029
4033
|
return onPageChange(totalPages);
|
|
@@ -4036,11 +4040,13 @@ function PaginationHeader(_ref) {
|
|
|
4036
4040
|
|
|
4037
4041
|
// Footer pagination (with page numbers)
|
|
4038
4042
|
function PaginationFooter(_ref2) {
|
|
4043
|
+
var _theme$rowHover2;
|
|
4039
4044
|
var currentPage = _ref2.currentPage,
|
|
4040
4045
|
totalPages = _ref2.totalPages,
|
|
4041
4046
|
onPageChange = _ref2.onPageChange,
|
|
4042
4047
|
isMobileView = _ref2.isMobileView,
|
|
4043
4048
|
theme = _ref2.theme;
|
|
4049
|
+
var rowHover = (_theme$rowHover2 = theme === null || theme === void 0 ? void 0 : theme.rowHover) !== null && _theme$rowHover2 !== void 0 ? _theme$rowHover2 : DEFAULT_ROW_HOVER$1;
|
|
4044
4050
|
var visiblePageCount = isMobileView ? 5 : 3;
|
|
4045
4051
|
return /*#__PURE__*/React.createElement("div", {
|
|
4046
4052
|
className: "p-4 border-t"
|
|
@@ -4051,7 +4057,7 @@ function PaginationFooter(_ref2) {
|
|
|
4051
4057
|
}, "Page ", currentPage, " of ", totalPages), /*#__PURE__*/React.createElement("div", {
|
|
4052
4058
|
className: "flex items-center gap-1 sm:gap-2"
|
|
4053
4059
|
}, totalPages >= 4 && /*#__PURE__*/React.createElement("button", {
|
|
4054
|
-
className: cn$1("rounded-lg md:rounded-md border border-gray-300 disabled:opacity-50", isMobileView ? "p-2" : "px-4 py-2 text-sm", ["hover:" +
|
|
4060
|
+
className: cn$1("rounded-lg md:rounded-md border border-gray-300 disabled:opacity-50", isMobileView ? "p-2" : "px-4 py-2 text-sm", ["hover:" + rowHover]),
|
|
4055
4061
|
disabled: currentPage === 1,
|
|
4056
4062
|
onClick: function onClick() {
|
|
4057
4063
|
return onPageChange(1);
|
|
@@ -4060,7 +4066,7 @@ function PaginationFooter(_ref2) {
|
|
|
4060
4066
|
}, isMobileView ? /*#__PURE__*/React.createElement(ChevronsLeft, {
|
|
4061
4067
|
className: "size-4 text-primary-800"
|
|
4062
4068
|
}) : "First"), /*#__PURE__*/React.createElement("button", {
|
|
4063
|
-
className: cn$1("rounded-lg md:rounded-md border border-gray-300 disabled:opacity-50", isMobileView ? "p-2" : "px-4 py-2 text-sm", ["hover:" +
|
|
4069
|
+
className: cn$1("rounded-lg md:rounded-md border border-gray-300 disabled:opacity-50", isMobileView ? "p-2" : "px-4 py-2 text-sm", ["hover:" + rowHover]),
|
|
4064
4070
|
disabled: currentPage === 1,
|
|
4065
4071
|
onClick: function onClick() {
|
|
4066
4072
|
return onPageChange(Math.max(1, currentPage - 1));
|
|
@@ -4088,13 +4094,13 @@ function PaginationFooter(_ref2) {
|
|
|
4088
4094
|
className: cn$1("h-8 w-8 rounded-lg md:rounded-md text-sm", _defineProperty$4({
|
|
4089
4095
|
"bg-primary-600 text-white": pageNum === currentPage,
|
|
4090
4096
|
"border border-gray-300": pageNum !== currentPage
|
|
4091
|
-
}, "hover:" +
|
|
4097
|
+
}, "hover:" + rowHover, pageNum !== currentPage)),
|
|
4092
4098
|
onClick: function onClick() {
|
|
4093
4099
|
return onPageChange(pageNum);
|
|
4094
4100
|
}
|
|
4095
4101
|
}, pageNum);
|
|
4096
4102
|
})), /*#__PURE__*/React.createElement("button", {
|
|
4097
|
-
className: cn$1("rounded-lg md:rounded-md border border-gray-300 disabled:opacity-50", isMobileView ? "p-2" : "px-4 py-2 text-sm", ["hover:" +
|
|
4103
|
+
className: cn$1("rounded-lg md:rounded-md border border-gray-300 disabled:opacity-50", isMobileView ? "p-2" : "px-4 py-2 text-sm", ["hover:" + rowHover]),
|
|
4098
4104
|
disabled: currentPage === totalPages,
|
|
4099
4105
|
onClick: function onClick() {
|
|
4100
4106
|
return onPageChange(Math.min(totalPages, currentPage + 1));
|
|
@@ -4103,7 +4109,7 @@ function PaginationFooter(_ref2) {
|
|
|
4103
4109
|
}, isMobileView ? /*#__PURE__*/React.createElement(ChevronRight, {
|
|
4104
4110
|
className: "size-4 text-primary-800"
|
|
4105
4111
|
}) : "Next"), totalPages >= 4 && /*#__PURE__*/React.createElement("button", {
|
|
4106
|
-
className: cn$1("rounded-lg md:rounded-md border border-gray-300 disabled:opacity-50", isMobileView ? "p-2" : "px-4 py-2 text-sm", ["hover:" +
|
|
4112
|
+
className: cn$1("rounded-lg md:rounded-md border border-gray-300 disabled:opacity-50", isMobileView ? "p-2" : "px-4 py-2 text-sm", ["hover:" + rowHover]),
|
|
4107
4113
|
disabled: currentPage === totalPages,
|
|
4108
4114
|
onClick: function onClick() {
|
|
4109
4115
|
return onPageChange(totalPages);
|
|
@@ -4114,14 +4120,18 @@ function PaginationFooter(_ref2) {
|
|
|
4114
4120
|
}) : "Last"))));
|
|
4115
4121
|
}
|
|
4116
4122
|
|
|
4123
|
+
var DEFAULT_ROW_HOVER = "bg-gray-50";
|
|
4124
|
+
|
|
4117
4125
|
/**
|
|
4118
4126
|
* Column visibility toggle menu
|
|
4119
4127
|
*/
|
|
4120
4128
|
function ColumnMenu(_ref) {
|
|
4129
|
+
var _theme$rowHover;
|
|
4121
4130
|
var columns = _ref.columns,
|
|
4122
4131
|
onToggle = _ref.onToggle,
|
|
4123
4132
|
menuRef = _ref.menuRef,
|
|
4124
4133
|
theme = _ref.theme;
|
|
4134
|
+
var rowHover = (_theme$rowHover = theme === null || theme === void 0 ? void 0 : theme.rowHover) !== null && _theme$rowHover !== void 0 ? _theme$rowHover : DEFAULT_ROW_HOVER;
|
|
4125
4135
|
return /*#__PURE__*/React.createElement("div", {
|
|
4126
4136
|
ref: menuRef,
|
|
4127
4137
|
className: "absolute right-4 mt-2 w-56 z-50 rounded-lg shadow-lg ring-1 ring-black ring-opacity-5 p-3 lg:block sm:block hidden",
|
|
@@ -4137,7 +4147,7 @@ function ColumnMenu(_ref) {
|
|
|
4137
4147
|
key: col.key,
|
|
4138
4148
|
className: cn$1(_defineProperty$4({
|
|
4139
4149
|
"flex cursor-pointer items-center gap-2 px-2 py-1.5 rounded": true
|
|
4140
|
-
}, "hover:" +
|
|
4150
|
+
}, "hover:" + rowHover, true))
|
|
4141
4151
|
}, /*#__PURE__*/React.createElement("input", {
|
|
4142
4152
|
type: "checkbox",
|
|
4143
4153
|
checked: col.isVisible !== false,
|
|
@@ -4210,14 +4220,20 @@ function MobileFilters(_ref) {
|
|
|
4210
4220
|
})));
|
|
4211
4221
|
}
|
|
4212
4222
|
|
|
4223
|
+
var DEFAULT_MENU_BG = "bg-white";
|
|
4224
|
+
var DEFAULT_MENU_ITEM_HOVER = "hover:bg-gray-50";
|
|
4213
4225
|
function ActionMenu(_ref) {
|
|
4226
|
+
var _theme$menuBg, _theme$menuItemHover;
|
|
4214
4227
|
var _ref$actions = _ref.actions,
|
|
4215
4228
|
actions = _ref$actions === void 0 ? [] : _ref$actions,
|
|
4216
4229
|
row = _ref.row,
|
|
4217
4230
|
onAction = _ref.onAction,
|
|
4218
4231
|
onClose = _ref.onClose,
|
|
4219
4232
|
menuRef = _ref.menuRef,
|
|
4220
|
-
anchorEl = _ref.anchorEl
|
|
4233
|
+
anchorEl = _ref.anchorEl,
|
|
4234
|
+
theme = _ref.theme;
|
|
4235
|
+
var menuBg = (_theme$menuBg = theme === null || theme === void 0 ? void 0 : theme.menuBg) !== null && _theme$menuBg !== void 0 ? _theme$menuBg : DEFAULT_MENU_BG;
|
|
4236
|
+
var menuItemHover = (_theme$menuItemHover = theme === null || theme === void 0 ? void 0 : theme.menuItemHover) !== null && _theme$menuItemHover !== void 0 ? _theme$menuItemHover : DEFAULT_MENU_ITEM_HOVER;
|
|
4221
4237
|
var _useState = React.useState({
|
|
4222
4238
|
left: 0,
|
|
4223
4239
|
top: 0,
|
|
@@ -4340,7 +4356,7 @@ function ActionMenu(_ref) {
|
|
|
4340
4356
|
transformOrigin: style.transformOrigin,
|
|
4341
4357
|
opacity: style.opacity
|
|
4342
4358
|
},
|
|
4343
|
-
className: "absolute
|
|
4359
|
+
className: cn$1("absolute z-50 rounded-lg shadow-lg ring-1 ring-black ring-opacity-5 overflow-y-auto transition-opacity duration-150 ease-out", menuBg),
|
|
4344
4360
|
onClick: function onClick(e) {
|
|
4345
4361
|
return e.stopPropagation();
|
|
4346
4362
|
}
|
|
@@ -4353,14 +4369,14 @@ function ActionMenu(_ref) {
|
|
|
4353
4369
|
key: action.name,
|
|
4354
4370
|
className: "px-1"
|
|
4355
4371
|
}, action.render ? /*#__PURE__*/React.createElement("button", {
|
|
4356
|
-
className: "w-full text-left px-3 py-2 text-sm
|
|
4372
|
+
className: cn$1("w-full text-left px-3 py-2 text-sm opacity-75 hover:opacity-100 flex items-center gap-2 rounded-md", menuBg, menuItemHover),
|
|
4357
4373
|
onClick: function onClick(e) {
|
|
4358
4374
|
e.stopPropagation();
|
|
4359
4375
|
onAction === null || onAction === void 0 || onAction(action, row);
|
|
4360
4376
|
onClose === null || onClose === void 0 || onClose();
|
|
4361
4377
|
}
|
|
4362
4378
|
}, action.render(row)) : /*#__PURE__*/React.createElement("button", {
|
|
4363
|
-
className: "w-full text-left px-3 py-2 text-sm
|
|
4379
|
+
className: cn$1("w-full text-left px-3 py-2 text-sm opacity-75 hover:opacity-100 flex items-center gap-2 rounded-md", menuBg, menuItemHover),
|
|
4364
4380
|
onClick: function onClick(e) {
|
|
4365
4381
|
e.stopPropagation();
|
|
4366
4382
|
onAction === null || onAction === void 0 || onAction(action, row);
|
|
@@ -4376,6 +4392,7 @@ function ActionMenu(_ref) {
|
|
|
4376
4392
|
* Desktop table row component
|
|
4377
4393
|
*/
|
|
4378
4394
|
function TableRow(_ref) {
|
|
4395
|
+
var _theme$accentColor, _theme$rowHover;
|
|
4379
4396
|
var row = _ref.row,
|
|
4380
4397
|
rowIndexInPage = _ref.rowIndexInPage,
|
|
4381
4398
|
startIndex = _ref.startIndex,
|
|
@@ -4495,12 +4512,13 @@ function TableRow(_ref) {
|
|
|
4495
4512
|
},
|
|
4496
4513
|
menuRef: actionMenuRef,
|
|
4497
4514
|
anchorEl: activeAnchorEl,
|
|
4498
|
-
onClose: closeActionMenu
|
|
4515
|
+
onClose: closeActionMenu,
|
|
4516
|
+
theme: theme
|
|
4499
4517
|
})))), hasDetails && isExpanded && DetailsComponent && /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", {
|
|
4500
4518
|
colSpan: visibleCount,
|
|
4501
4519
|
className: cn$1(_defineProperty$4(_defineProperty$4({
|
|
4502
4520
|
"px-6 py-4": true
|
|
4503
|
-
}, theme.accentColor, true), theme.rowHover, true))
|
|
4521
|
+
}, (_theme$accentColor = theme === null || theme === void 0 ? void 0 : theme.accentColor) !== null && _theme$accentColor !== void 0 ? _theme$accentColor : "bg-gray-50", true), (_theme$rowHover = theme === null || theme === void 0 ? void 0 : theme.rowHover) !== null && _theme$rowHover !== void 0 ? _theme$rowHover : "bg-gray-50", true))
|
|
4504
4522
|
}, /*#__PURE__*/React.createElement(DetailsComponent, {
|
|
4505
4523
|
row: row,
|
|
4506
4524
|
index: globalIndex
|
|
@@ -4519,6 +4537,7 @@ function MobileCard(_ref) {
|
|
|
4519
4537
|
rowClass = _ref.rowClass,
|
|
4520
4538
|
stripedRows = _ref.stripedRows,
|
|
4521
4539
|
stripedColors = _ref.stripedColors,
|
|
4540
|
+
theme = _ref.theme,
|
|
4522
4541
|
onRowClick = _ref.onRowClick,
|
|
4523
4542
|
hasDetails = _ref.hasDetails,
|
|
4524
4543
|
selectable = _ref.selectable,
|
|
@@ -4610,7 +4629,8 @@ function MobileCard(_ref) {
|
|
|
4610
4629
|
},
|
|
4611
4630
|
menuRef: actionMenuRef,
|
|
4612
4631
|
anchorEl: activeAnchorEl,
|
|
4613
|
-
onClose: closeActionMenu
|
|
4632
|
+
onClose: closeActionMenu,
|
|
4633
|
+
theme: theme
|
|
4614
4634
|
}))), /*#__PURE__*/React.createElement("div", {
|
|
4615
4635
|
className: "p-4"
|
|
4616
4636
|
}, visibleColumns.map(function (column, colIndex) {
|
|
@@ -4645,7 +4665,9 @@ var DEFAULT_COLUMNS = [];
|
|
|
4645
4665
|
var DEFAULT_THEME = {
|
|
4646
4666
|
stripedColors: ["bg-[#ffffff]", "bg-[#f7fafc]"],
|
|
4647
4667
|
rowHover: "bg-gray-50",
|
|
4648
|
-
accentColor: "bg-gray-50"
|
|
4668
|
+
accentColor: "bg-gray-50",
|
|
4669
|
+
menuBg: "bg-white",
|
|
4670
|
+
menuItemHover: "hover:bg-gray-50"
|
|
4649
4671
|
};
|
|
4650
4672
|
var Table = function Table(_ref) {
|
|
4651
4673
|
var _ref$data = _ref.data,
|
|
@@ -5152,7 +5174,7 @@ var Table = function Table(_ref) {
|
|
|
5152
5174
|
currentPage: currentPage,
|
|
5153
5175
|
totalPages: totalPages,
|
|
5154
5176
|
onPageChange: handlePageChange,
|
|
5155
|
-
theme:
|
|
5177
|
+
theme: safeTheme
|
|
5156
5178
|
}))), globalSearch && /*#__PURE__*/React.createElement("div", {
|
|
5157
5179
|
className: "p-4 border-b"
|
|
5158
5180
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -5195,13 +5217,13 @@ var Table = function Table(_ref) {
|
|
|
5195
5217
|
columns: columnsState,
|
|
5196
5218
|
onToggle: toggleColumnVisibility,
|
|
5197
5219
|
menuRef: columnMenuRef,
|
|
5198
|
-
theme:
|
|
5220
|
+
theme: safeTheme
|
|
5199
5221
|
}), !isMobileView && /*#__PURE__*/React.createElement("div", {
|
|
5200
5222
|
className: "overflow-x-auto overflow-y-visible"
|
|
5201
5223
|
}, /*#__PURE__*/React.createElement("table", _extends({
|
|
5202
5224
|
className: cn$1("min-w-full divide-y divide-gray-200", className)
|
|
5203
5225
|
}, props), /*#__PURE__*/React.createElement("thead", {
|
|
5204
|
-
className:
|
|
5226
|
+
className: safeTheme.accentColor
|
|
5205
5227
|
}, /*#__PURE__*/React.createElement("tr", null, hasDetails && /*#__PURE__*/React.createElement("th", {
|
|
5206
5228
|
className: "w-8 px-4 py-3"
|
|
5207
5229
|
}), showSerial && /*#__PURE__*/React.createElement("th", {
|
|
@@ -5341,7 +5363,7 @@ var Table = function Table(_ref) {
|
|
|
5341
5363
|
totalPages: totalPages,
|
|
5342
5364
|
onPageChange: handlePageChange,
|
|
5343
5365
|
isMobileView: isMobileView,
|
|
5344
|
-
theme:
|
|
5366
|
+
theme: safeTheme
|
|
5345
5367
|
}));
|
|
5346
5368
|
};
|
|
5347
5369
|
|