@bwp-web/components 1.3.0 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BiampTable/BiampTable.d.ts +14 -1
- package/dist/BiampTable/BiampTable.d.ts.map +1 -1
- package/dist/BiampTable/BiampTableExpandGuidelines.d.ts +5 -0
- package/dist/BiampTable/BiampTableExpandGuidelines.d.ts.map +1 -0
- package/dist/BiampTable/BiampTableRow.d.ts +28 -0
- package/dist/BiampTable/BiampTableRow.d.ts.map +1 -0
- package/dist/BiampTable/cellSx.d.ts +27 -0
- package/dist/BiampTable/cellSx.d.ts.map +1 -0
- package/dist/index.cjs +574 -378
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +493 -294
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -892,27 +892,24 @@ function BiampLayout({
|
|
|
892
892
|
|
|
893
893
|
// src/BiampTable/BiampTable.tsx
|
|
894
894
|
import {
|
|
895
|
-
Box as
|
|
896
|
-
Checkbox,
|
|
897
|
-
IconButton,
|
|
895
|
+
Box as Box6,
|
|
896
|
+
Checkbox as Checkbox2,
|
|
898
897
|
Table as MuiTable,
|
|
899
898
|
TableBody,
|
|
900
|
-
TableCell,
|
|
899
|
+
TableCell as TableCell2,
|
|
901
900
|
TableContainer,
|
|
902
901
|
TableHead,
|
|
903
|
-
TableRow,
|
|
902
|
+
TableRow as TableRow2,
|
|
904
903
|
TableSortLabel
|
|
905
904
|
} from "@mui/material";
|
|
906
905
|
import {
|
|
907
|
-
ChevronDownIcon,
|
|
908
|
-
ChevronRightIcon,
|
|
909
906
|
DropdownChevronDownIcon,
|
|
910
907
|
DropdownChevronUpIcon
|
|
911
908
|
} from "@bwp-web/assets";
|
|
912
909
|
import {
|
|
913
|
-
flexRender
|
|
910
|
+
flexRender as flexRender2
|
|
914
911
|
} from "@tanstack/react-table";
|
|
915
|
-
import
|
|
912
|
+
import { useEffect as useEffect2, useRef as useRef3 } from "react";
|
|
916
913
|
|
|
917
914
|
// src/BiampTable/BiampTableEmptyState.tsx
|
|
918
915
|
import { NoResultsIcon } from "@bwp-web/assets";
|
|
@@ -968,6 +965,18 @@ function BiampTableErrorState({
|
|
|
968
965
|
return /* @__PURE__ */ jsx6(BiampTableStatusMessage, { role: "alert", icon, title, ...rest });
|
|
969
966
|
}
|
|
970
967
|
|
|
968
|
+
// src/BiampTable/BiampTableRow.tsx
|
|
969
|
+
import {
|
|
970
|
+
Box as Box5,
|
|
971
|
+
Checkbox,
|
|
972
|
+
IconButton,
|
|
973
|
+
TableCell,
|
|
974
|
+
TableRow
|
|
975
|
+
} from "@mui/material";
|
|
976
|
+
import { ChevronDownIcon, ChevronRightIcon } from "@bwp-web/assets";
|
|
977
|
+
import { flexRender } from "@tanstack/react-table";
|
|
978
|
+
import React2 from "react";
|
|
979
|
+
|
|
971
980
|
// src/BiampTable/BiampTableTruncatedCell.tsx
|
|
972
981
|
import { Box as Box3, Tooltip } from "@mui/material";
|
|
973
982
|
import { useCallback, useRef, useState } from "react";
|
|
@@ -1014,37 +1023,6 @@ function BiampTableTruncatedCell({
|
|
|
1014
1023
|
);
|
|
1015
1024
|
}
|
|
1016
1025
|
|
|
1017
|
-
// src/BiampTable/useLoadingDelay.ts
|
|
1018
|
-
import { useEffect, useRef as useRef2, useState as useState2 } from "react";
|
|
1019
|
-
function useLoadingDelay(loading, { delay = 150, minDuration = 500 } = {}) {
|
|
1020
|
-
const [status, setStatus] = useState2("idle");
|
|
1021
|
-
const timeoutRef = useRef2(null);
|
|
1022
|
-
function clearPending() {
|
|
1023
|
-
if (timeoutRef.current !== null) {
|
|
1024
|
-
clearTimeout(timeoutRef.current);
|
|
1025
|
-
timeoutRef.current = null;
|
|
1026
|
-
}
|
|
1027
|
-
}
|
|
1028
|
-
useEffect(() => {
|
|
1029
|
-
if (loading && status === "idle") {
|
|
1030
|
-
clearPending();
|
|
1031
|
-
timeoutRef.current = setTimeout(() => {
|
|
1032
|
-
timeoutRef.current = setTimeout(() => {
|
|
1033
|
-
setStatus("ending");
|
|
1034
|
-
}, minDuration);
|
|
1035
|
-
setStatus("loading");
|
|
1036
|
-
}, delay);
|
|
1037
|
-
setStatus("delaying");
|
|
1038
|
-
}
|
|
1039
|
-
if (!loading && status !== "loading") {
|
|
1040
|
-
clearPending();
|
|
1041
|
-
setStatus("idle");
|
|
1042
|
-
}
|
|
1043
|
-
}, [loading, delay, minDuration, status]);
|
|
1044
|
-
useEffect(() => clearPending, []);
|
|
1045
|
-
return status === "loading" || status === "ending";
|
|
1046
|
-
}
|
|
1047
|
-
|
|
1048
1026
|
// src/BiampTable/slotProps.ts
|
|
1049
1027
|
function resolveSlot(slot, ctx) {
|
|
1050
1028
|
if (!slot) return void 0;
|
|
@@ -1054,19 +1032,7 @@ function mergeSx(...inputs) {
|
|
|
1054
1032
|
return inputs.filter((v) => Boolean(v)).flatMap((v) => Array.isArray(v) ? v : [v]);
|
|
1055
1033
|
}
|
|
1056
1034
|
|
|
1057
|
-
// src/BiampTable/
|
|
1058
|
-
import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1059
|
-
var overlaySx = {
|
|
1060
|
-
position: "absolute",
|
|
1061
|
-
top: 0,
|
|
1062
|
-
left: 0,
|
|
1063
|
-
right: 0,
|
|
1064
|
-
bottom: 0,
|
|
1065
|
-
display: "flex",
|
|
1066
|
-
alignItems: "center",
|
|
1067
|
-
justifyContent: "center",
|
|
1068
|
-
pointerEvents: "none"
|
|
1069
|
-
};
|
|
1035
|
+
// src/BiampTable/cellSx.ts
|
|
1070
1036
|
var stickyHoverBg = {
|
|
1071
1037
|
".MuiTableRow-hover:hover > &, .Mui-selected > &": {
|
|
1072
1038
|
bgcolor: ({ palette }) => palette.mode === "dark" ? palette.grey[800] : palette.grey[100]
|
|
@@ -1092,6 +1058,126 @@ function cellSx(sticky, minWidth, zIndex) {
|
|
|
1092
1058
|
"&:has([data-truncate])": { maxWidth: mw, whiteSpace: "normal" }
|
|
1093
1059
|
};
|
|
1094
1060
|
}
|
|
1061
|
+
|
|
1062
|
+
// src/BiampTable/BiampTableExpandGuidelines.tsx
|
|
1063
|
+
import { Box as Box4 } from "@mui/material";
|
|
1064
|
+
import { Fragment, jsx as jsx8 } from "react/jsx-runtime";
|
|
1065
|
+
var guidelineIndent = 28;
|
|
1066
|
+
var guidelineCellPaddingLeft = 12;
|
|
1067
|
+
var guidelineLineOffsetFromParentText = 4;
|
|
1068
|
+
var guidelineElbowGapToChildText = 12;
|
|
1069
|
+
var guidelineFirstChildTopExtension = 12;
|
|
1070
|
+
var guidelineColor = ({ palette }) => palette.dividers.secondary;
|
|
1071
|
+
var guidelineStroke = "0.6px";
|
|
1072
|
+
function isLastChildOfParent(row) {
|
|
1073
|
+
const parent = row.getParentRow();
|
|
1074
|
+
if (!parent) return false;
|
|
1075
|
+
const siblings = parent.subRows;
|
|
1076
|
+
return siblings[siblings.length - 1]?.id === row.id;
|
|
1077
|
+
}
|
|
1078
|
+
function isFirstChildOfParent(row) {
|
|
1079
|
+
const parent = row.getParentRow();
|
|
1080
|
+
if (!parent) return false;
|
|
1081
|
+
return parent.subRows[0]?.id === row.id;
|
|
1082
|
+
}
|
|
1083
|
+
function getAncestorAtDepth(row, targetDepth) {
|
|
1084
|
+
let current = row;
|
|
1085
|
+
while (current && current.depth > targetDepth) {
|
|
1086
|
+
current = current.getParentRow();
|
|
1087
|
+
}
|
|
1088
|
+
return current && current.depth === targetDepth ? current : void 0;
|
|
1089
|
+
}
|
|
1090
|
+
function ExpandGuidelines({ row }) {
|
|
1091
|
+
const verticalX = (k) => guidelineCellPaddingLeft + (k - 1) * guidelineIndent + guidelineLineOffsetFromParentText;
|
|
1092
|
+
const elbowEnd = guidelineCellPaddingLeft + row.depth * guidelineIndent - guidelineElbowGapToChildText;
|
|
1093
|
+
const lines = [];
|
|
1094
|
+
for (let k = 1; k < row.depth; k++) {
|
|
1095
|
+
const ancestor = getAncestorAtDepth(row, k);
|
|
1096
|
+
if (!ancestor || isLastChildOfParent(ancestor)) continue;
|
|
1097
|
+
lines.push(
|
|
1098
|
+
/* @__PURE__ */ jsx8(
|
|
1099
|
+
Box4,
|
|
1100
|
+
{
|
|
1101
|
+
"aria-hidden": true,
|
|
1102
|
+
sx: {
|
|
1103
|
+
position: "absolute",
|
|
1104
|
+
left: `${verticalX(k)}px`,
|
|
1105
|
+
top: 0,
|
|
1106
|
+
bottom: 0,
|
|
1107
|
+
width: guidelineStroke,
|
|
1108
|
+
bgcolor: guidelineColor,
|
|
1109
|
+
pointerEvents: "none"
|
|
1110
|
+
}
|
|
1111
|
+
},
|
|
1112
|
+
`v-${k}`
|
|
1113
|
+
)
|
|
1114
|
+
);
|
|
1115
|
+
}
|
|
1116
|
+
const elbowX = verticalX(row.depth);
|
|
1117
|
+
const rowIsLast = isLastChildOfParent(row);
|
|
1118
|
+
const rowIsFirst = isFirstChildOfParent(row);
|
|
1119
|
+
const elbowTopOffset = rowIsFirst ? -guidelineFirstChildTopExtension : 0;
|
|
1120
|
+
lines.push(
|
|
1121
|
+
/* @__PURE__ */ jsx8(
|
|
1122
|
+
Box4,
|
|
1123
|
+
{
|
|
1124
|
+
"aria-hidden": true,
|
|
1125
|
+
sx: {
|
|
1126
|
+
position: "absolute",
|
|
1127
|
+
left: `${elbowX}px`,
|
|
1128
|
+
top: `${elbowTopOffset}px`,
|
|
1129
|
+
height: `calc(50% - ${elbowTopOffset}px)`,
|
|
1130
|
+
width: guidelineStroke,
|
|
1131
|
+
bgcolor: guidelineColor,
|
|
1132
|
+
pointerEvents: "none"
|
|
1133
|
+
}
|
|
1134
|
+
},
|
|
1135
|
+
"v-elbow-top"
|
|
1136
|
+
)
|
|
1137
|
+
);
|
|
1138
|
+
if (!rowIsLast) {
|
|
1139
|
+
lines.push(
|
|
1140
|
+
/* @__PURE__ */ jsx8(
|
|
1141
|
+
Box4,
|
|
1142
|
+
{
|
|
1143
|
+
"aria-hidden": true,
|
|
1144
|
+
sx: {
|
|
1145
|
+
position: "absolute",
|
|
1146
|
+
left: `${elbowX}px`,
|
|
1147
|
+
top: "50%",
|
|
1148
|
+
bottom: 0,
|
|
1149
|
+
width: guidelineStroke,
|
|
1150
|
+
bgcolor: guidelineColor,
|
|
1151
|
+
pointerEvents: "none"
|
|
1152
|
+
}
|
|
1153
|
+
},
|
|
1154
|
+
"v-elbow-bottom"
|
|
1155
|
+
)
|
|
1156
|
+
);
|
|
1157
|
+
}
|
|
1158
|
+
lines.push(
|
|
1159
|
+
/* @__PURE__ */ jsx8(
|
|
1160
|
+
Box4,
|
|
1161
|
+
{
|
|
1162
|
+
"aria-hidden": true,
|
|
1163
|
+
sx: {
|
|
1164
|
+
position: "absolute",
|
|
1165
|
+
left: `${elbowX}px`,
|
|
1166
|
+
top: "50%",
|
|
1167
|
+
width: `${elbowEnd - elbowX}px`,
|
|
1168
|
+
height: guidelineStroke,
|
|
1169
|
+
bgcolor: guidelineColor,
|
|
1170
|
+
pointerEvents: "none"
|
|
1171
|
+
}
|
|
1172
|
+
},
|
|
1173
|
+
"h-elbow"
|
|
1174
|
+
)
|
|
1175
|
+
);
|
|
1176
|
+
return /* @__PURE__ */ jsx8(Fragment, { children: lines });
|
|
1177
|
+
}
|
|
1178
|
+
|
|
1179
|
+
// src/BiampTable/BiampTableRow.tsx
|
|
1180
|
+
import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1095
1181
|
var rowCursorPointerSx = { cursor: "pointer" };
|
|
1096
1182
|
var selectionCellSx = {
|
|
1097
1183
|
position: "sticky",
|
|
@@ -1107,13 +1193,80 @@ var expandCellBaseSx = {
|
|
|
1107
1193
|
gap: "2px"
|
|
1108
1194
|
};
|
|
1109
1195
|
var expandPlaceholderSx = { width: 28 };
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
}
|
|
1116
|
-
|
|
1196
|
+
function ExpandToggle({
|
|
1197
|
+
row,
|
|
1198
|
+
isExpanded,
|
|
1199
|
+
hasExpandableRows,
|
|
1200
|
+
rowLabel
|
|
1201
|
+
}) {
|
|
1202
|
+
if (row.getCanExpand()) {
|
|
1203
|
+
return /* @__PURE__ */ jsx9(
|
|
1204
|
+
IconButton,
|
|
1205
|
+
{
|
|
1206
|
+
variant: "none",
|
|
1207
|
+
onClick: (e) => {
|
|
1208
|
+
e.stopPropagation();
|
|
1209
|
+
row.toggleExpanded();
|
|
1210
|
+
},
|
|
1211
|
+
"aria-label": isExpanded ? `Collapse ${rowLabel}` : `Expand ${rowLabel}`,
|
|
1212
|
+
"aria-expanded": isExpanded,
|
|
1213
|
+
children: isExpanded ? /* @__PURE__ */ jsx9(
|
|
1214
|
+
ChevronDownIcon,
|
|
1215
|
+
{
|
|
1216
|
+
variant: "xs",
|
|
1217
|
+
sx: { color: ({ palette }) => palette.text.secondary }
|
|
1218
|
+
}
|
|
1219
|
+
) : /* @__PURE__ */ jsx9(
|
|
1220
|
+
ChevronRightIcon,
|
|
1221
|
+
{
|
|
1222
|
+
variant: "xs",
|
|
1223
|
+
sx: { color: ({ palette }) => palette.text.secondary }
|
|
1224
|
+
}
|
|
1225
|
+
)
|
|
1226
|
+
}
|
|
1227
|
+
);
|
|
1228
|
+
}
|
|
1229
|
+
if (hasExpandableRows) return /* @__PURE__ */ jsx9(Box5, { sx: expandPlaceholderSx });
|
|
1230
|
+
return null;
|
|
1231
|
+
}
|
|
1232
|
+
function renderCellContent({
|
|
1233
|
+
cell,
|
|
1234
|
+
row,
|
|
1235
|
+
isExpandCell,
|
|
1236
|
+
alwaysExpanded,
|
|
1237
|
+
isExpanded,
|
|
1238
|
+
hasExpandableRows,
|
|
1239
|
+
getRowLabel
|
|
1240
|
+
}) {
|
|
1241
|
+
const sticky = cell.column.columnDef.meta?.sticky;
|
|
1242
|
+
const content = flexRender(cell.column.columnDef.cell, cell.getContext());
|
|
1243
|
+
if (sticky) return content;
|
|
1244
|
+
const truncate = cell.column.columnDef.meta?.truncate ?? true;
|
|
1245
|
+
const truncated = truncate ? /* @__PURE__ */ jsx9(BiampTableTruncatedCell, { children: content }) : content;
|
|
1246
|
+
if (!isExpandCell) return truncated;
|
|
1247
|
+
if (alwaysExpanded) {
|
|
1248
|
+
return row.depth > 0 ? /* @__PURE__ */ jsx9(Box5, { sx: { pl: `${row.depth * 28}px` }, children: truncated }) : truncated;
|
|
1249
|
+
}
|
|
1250
|
+
const rowLabel = getRowLabel ? getRowLabel(row.original) : `row ${row.index + 1}`;
|
|
1251
|
+
return /* @__PURE__ */ jsxs5(
|
|
1252
|
+
Box5,
|
|
1253
|
+
{
|
|
1254
|
+
sx: row.depth > 0 ? { ...expandCellBaseSx, pl: `${row.depth * 12}px` } : expandCellBaseSx,
|
|
1255
|
+
children: [
|
|
1256
|
+
/* @__PURE__ */ jsx9(
|
|
1257
|
+
ExpandToggle,
|
|
1258
|
+
{
|
|
1259
|
+
row,
|
|
1260
|
+
isExpanded,
|
|
1261
|
+
hasExpandableRows,
|
|
1262
|
+
rowLabel
|
|
1263
|
+
}
|
|
1264
|
+
),
|
|
1265
|
+
truncated
|
|
1266
|
+
]
|
|
1267
|
+
}
|
|
1268
|
+
);
|
|
1269
|
+
}
|
|
1117
1270
|
function BiampTableRowInner({
|
|
1118
1271
|
row,
|
|
1119
1272
|
isExpanded,
|
|
@@ -1122,9 +1275,12 @@ function BiampTableRowInner({
|
|
|
1122
1275
|
isRowClickable,
|
|
1123
1276
|
enableRowSelection,
|
|
1124
1277
|
enableExpanding,
|
|
1278
|
+
alwaysExpanded,
|
|
1125
1279
|
selectChildrenWithParent,
|
|
1280
|
+
showExpandGuidelines,
|
|
1126
1281
|
getRowLabel,
|
|
1127
1282
|
hasExpandableRows,
|
|
1283
|
+
customColor,
|
|
1128
1284
|
rowSlotProps,
|
|
1129
1285
|
cellSlotProps
|
|
1130
1286
|
}) {
|
|
@@ -1144,7 +1300,11 @@ function BiampTableRowInner({
|
|
|
1144
1300
|
selected: enableRowSelection ? isSelected : void 0,
|
|
1145
1301
|
role: clickable ? "button" : void 0,
|
|
1146
1302
|
tabIndex: clickable ? 0 : void 0,
|
|
1147
|
-
sx: mergeSx(
|
|
1303
|
+
sx: mergeSx(
|
|
1304
|
+
clickable && rowCursorPointerSx,
|
|
1305
|
+
customColor ? { backgroundColor: customColor } : void 0,
|
|
1306
|
+
userRowSx
|
|
1307
|
+
),
|
|
1148
1308
|
onClick: clickable && onRowClick ? (e) => {
|
|
1149
1309
|
onRowClick(row.original);
|
|
1150
1310
|
userRowOnClick?.(e);
|
|
@@ -1157,87 +1317,63 @@ function BiampTableRowInner({
|
|
|
1157
1317
|
userRowOnKeyDown?.(e);
|
|
1158
1318
|
} : userRowOnKeyDown,
|
|
1159
1319
|
children: [
|
|
1160
|
-
enableRowSelection && /* @__PURE__ */
|
|
1161
|
-
|
|
1320
|
+
enableRowSelection && /* @__PURE__ */ jsx9(
|
|
1321
|
+
TableCell,
|
|
1162
1322
|
{
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1323
|
+
padding: "checkbox",
|
|
1324
|
+
sx: mergeSx(
|
|
1325
|
+
selectionCellSx,
|
|
1326
|
+
customColor ? { backgroundColor: customColor } : void 0
|
|
1327
|
+
),
|
|
1328
|
+
children: /* @__PURE__ */ jsx9(
|
|
1329
|
+
Checkbox,
|
|
1330
|
+
{
|
|
1331
|
+
checked: isSelected,
|
|
1332
|
+
disabled: !row.getCanSelect(),
|
|
1333
|
+
onChange: (e) => row.toggleSelected(e.target.checked, {
|
|
1334
|
+
selectChildren: selectChildrenWithParent
|
|
1335
|
+
}),
|
|
1336
|
+
onClick: (e) => e.stopPropagation(),
|
|
1337
|
+
sx: !row.getCanSelect() ? checkboxHiddenSx : void 0,
|
|
1338
|
+
slotProps: {
|
|
1339
|
+
input: {
|
|
1340
|
+
"aria-label": getRowLabel ? `Select ${getRowLabel(row.original)}` : `Select row ${row.index + 1}`
|
|
1341
|
+
}
|
|
1342
|
+
}
|
|
1173
1343
|
}
|
|
1174
|
-
|
|
1344
|
+
)
|
|
1175
1345
|
}
|
|
1176
|
-
)
|
|
1346
|
+
),
|
|
1177
1347
|
row.getVisibleCells().map((cell, cellIndex, cells) => {
|
|
1178
1348
|
const sticky = cell.column.columnDef.meta?.sticky;
|
|
1179
1349
|
const isExpandCell = enableExpanding && !sticky && cellIndex === cells.findIndex((c) => !c.column.columnDef.meta?.sticky);
|
|
1180
|
-
const
|
|
1181
|
-
cell.column.columnDef.cell,
|
|
1182
|
-
cell.getContext()
|
|
1183
|
-
);
|
|
1350
|
+
const showGuidelinesOnCell = isExpandCell && showExpandGuidelines && alwaysExpanded && row.depth > 0;
|
|
1184
1351
|
const resolvedCell = resolveSlot(cellSlotProps, { cell });
|
|
1185
1352
|
const { sx: userCellSx, ...restCellProps } = resolvedCell ?? {};
|
|
1186
|
-
return /* @__PURE__ */
|
|
1353
|
+
return /* @__PURE__ */ jsxs5(
|
|
1187
1354
|
TableCell,
|
|
1188
1355
|
{
|
|
1189
1356
|
...restCellProps,
|
|
1190
1357
|
"data-sticky": sticky || void 0,
|
|
1191
1358
|
sx: mergeSx(
|
|
1192
1359
|
cellSx(sticky, cell.column.columnDef.meta?.minWidth, 2),
|
|
1193
|
-
{ pl: isExpandCell ? "6px" : "12px" },
|
|
1360
|
+
{ pl: isExpandCell && !alwaysExpanded ? "6px" : "12px" },
|
|
1361
|
+
showGuidelinesOnCell ? { position: "relative" } : void 0,
|
|
1362
|
+
sticky && customColor ? { backgroundColor: customColor } : void 0,
|
|
1194
1363
|
userCellSx
|
|
1195
1364
|
),
|
|
1196
|
-
children:
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
IconButton,
|
|
1209
|
-
{
|
|
1210
|
-
variant: "none",
|
|
1211
|
-
onClick: (e) => {
|
|
1212
|
-
e.stopPropagation();
|
|
1213
|
-
row.toggleExpanded();
|
|
1214
|
-
},
|
|
1215
|
-
"aria-label": isExpanded ? `Collapse ${rowLabel}` : `Expand ${rowLabel}`,
|
|
1216
|
-
"aria-expanded": isExpanded,
|
|
1217
|
-
children: isExpanded ? /* @__PURE__ */ jsx8(
|
|
1218
|
-
ChevronDownIcon,
|
|
1219
|
-
{
|
|
1220
|
-
variant: "xs",
|
|
1221
|
-
sx: {
|
|
1222
|
-
color: ({ palette }) => palette.text.secondary
|
|
1223
|
-
}
|
|
1224
|
-
}
|
|
1225
|
-
) : /* @__PURE__ */ jsx8(
|
|
1226
|
-
ChevronRightIcon,
|
|
1227
|
-
{
|
|
1228
|
-
variant: "xs",
|
|
1229
|
-
sx: {
|
|
1230
|
-
color: ({ palette }) => palette.text.secondary
|
|
1231
|
-
}
|
|
1232
|
-
}
|
|
1233
|
-
)
|
|
1234
|
-
}
|
|
1235
|
-
) : hasExpandableRows ? /* @__PURE__ */ jsx8(Box4, { sx: expandPlaceholderSx }) : null,
|
|
1236
|
-
truncated
|
|
1237
|
-
]
|
|
1238
|
-
}
|
|
1239
|
-
);
|
|
1240
|
-
})()
|
|
1365
|
+
children: [
|
|
1366
|
+
showGuidelinesOnCell && /* @__PURE__ */ jsx9(ExpandGuidelines, { row }),
|
|
1367
|
+
renderCellContent({
|
|
1368
|
+
cell,
|
|
1369
|
+
row,
|
|
1370
|
+
isExpandCell,
|
|
1371
|
+
alwaysExpanded,
|
|
1372
|
+
isExpanded,
|
|
1373
|
+
hasExpandableRows,
|
|
1374
|
+
getRowLabel
|
|
1375
|
+
})
|
|
1376
|
+
]
|
|
1241
1377
|
},
|
|
1242
1378
|
cell.id
|
|
1243
1379
|
);
|
|
@@ -1248,12 +1384,64 @@ function BiampTableRowInner({
|
|
|
1248
1384
|
);
|
|
1249
1385
|
}
|
|
1250
1386
|
function biampTableRowPropsAreEqual(prev, next) {
|
|
1251
|
-
return prev.row.id === next.row.id && prev.row.original === next.row.original && prev.isSelected === next.isSelected && prev.isExpanded === next.isExpanded && prev.row.getVisibleCells().length === next.row.getVisibleCells().length && prev.enableRowSelection === next.enableRowSelection && prev.enableExpanding === next.enableExpanding && prev.hasExpandableRows === next.hasExpandableRows && prev.selectChildrenWithParent === next.selectChildrenWithParent && prev.onRowClick === next.onRowClick && prev.isRowClickable === next.isRowClickable && prev.getRowLabel === next.getRowLabel && prev.rowSlotProps === next.rowSlotProps && prev.cellSlotProps === next.cellSlotProps;
|
|
1387
|
+
return prev.row.id === next.row.id && prev.row.original === next.row.original && prev.isSelected === next.isSelected && prev.isExpanded === next.isExpanded && prev.row.getVisibleCells().length === next.row.getVisibleCells().length && prev.enableRowSelection === next.enableRowSelection && prev.enableExpanding === next.enableExpanding && prev.alwaysExpanded === next.alwaysExpanded && prev.hasExpandableRows === next.hasExpandableRows && prev.selectChildrenWithParent === next.selectChildrenWithParent && prev.showExpandGuidelines === next.showExpandGuidelines && prev.onRowClick === next.onRowClick && prev.isRowClickable === next.isRowClickable && prev.getRowLabel === next.getRowLabel && prev.customColor === next.customColor && prev.rowSlotProps === next.rowSlotProps && prev.cellSlotProps === next.cellSlotProps;
|
|
1252
1388
|
}
|
|
1253
1389
|
var BiampTableRow = React2.memo(
|
|
1254
1390
|
BiampTableRowInner,
|
|
1255
1391
|
biampTableRowPropsAreEqual
|
|
1256
1392
|
);
|
|
1393
|
+
|
|
1394
|
+
// src/BiampTable/useLoadingDelay.ts
|
|
1395
|
+
import { useEffect, useRef as useRef2, useState as useState2 } from "react";
|
|
1396
|
+
function useLoadingDelay(loading, { delay = 150, minDuration = 500 } = {}) {
|
|
1397
|
+
const [status, setStatus] = useState2("idle");
|
|
1398
|
+
const timeoutRef = useRef2(null);
|
|
1399
|
+
function clearPending() {
|
|
1400
|
+
if (timeoutRef.current !== null) {
|
|
1401
|
+
clearTimeout(timeoutRef.current);
|
|
1402
|
+
timeoutRef.current = null;
|
|
1403
|
+
}
|
|
1404
|
+
}
|
|
1405
|
+
useEffect(() => {
|
|
1406
|
+
if (loading && status === "idle") {
|
|
1407
|
+
clearPending();
|
|
1408
|
+
timeoutRef.current = setTimeout(() => {
|
|
1409
|
+
timeoutRef.current = setTimeout(() => {
|
|
1410
|
+
setStatus("ending");
|
|
1411
|
+
}, minDuration);
|
|
1412
|
+
setStatus("loading");
|
|
1413
|
+
}, delay);
|
|
1414
|
+
setStatus("delaying");
|
|
1415
|
+
}
|
|
1416
|
+
if (!loading && status !== "loading") {
|
|
1417
|
+
clearPending();
|
|
1418
|
+
setStatus("idle");
|
|
1419
|
+
}
|
|
1420
|
+
}, [loading, delay, minDuration, status]);
|
|
1421
|
+
useEffect(() => clearPending, []);
|
|
1422
|
+
return status === "loading" || status === "ending";
|
|
1423
|
+
}
|
|
1424
|
+
|
|
1425
|
+
// src/BiampTable/BiampTable.tsx
|
|
1426
|
+
import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1427
|
+
var overlaySx = {
|
|
1428
|
+
position: "absolute",
|
|
1429
|
+
top: 0,
|
|
1430
|
+
left: 0,
|
|
1431
|
+
right: 0,
|
|
1432
|
+
bottom: 0,
|
|
1433
|
+
display: "flex",
|
|
1434
|
+
alignItems: "center",
|
|
1435
|
+
justifyContent: "center",
|
|
1436
|
+
pointerEvents: "none"
|
|
1437
|
+
};
|
|
1438
|
+
var headerSelectionCellSx = {
|
|
1439
|
+
position: "sticky",
|
|
1440
|
+
left: 0,
|
|
1441
|
+
zIndex: 3,
|
|
1442
|
+
bgcolor: "background.paper"
|
|
1443
|
+
};
|
|
1444
|
+
var checkboxHiddenHeaderSx = { visibility: "hidden" };
|
|
1257
1445
|
function BiampTable({
|
|
1258
1446
|
table,
|
|
1259
1447
|
onRowClick,
|
|
@@ -1263,9 +1451,12 @@ function BiampTable({
|
|
|
1263
1451
|
empty,
|
|
1264
1452
|
enableRowSelection = false,
|
|
1265
1453
|
enableExpanding = false,
|
|
1454
|
+
alwaysExpanded = false,
|
|
1266
1455
|
hideSelectAll,
|
|
1267
1456
|
selectChildrenWithParent = false,
|
|
1457
|
+
showExpandGuidelines = false,
|
|
1268
1458
|
getRowLabel,
|
|
1459
|
+
setRowColor,
|
|
1269
1460
|
slotProps,
|
|
1270
1461
|
sx,
|
|
1271
1462
|
...boxProps
|
|
@@ -1282,15 +1473,20 @@ function BiampTable({
|
|
|
1282
1473
|
enableRowSelection ? 48 : 0
|
|
1283
1474
|
);
|
|
1284
1475
|
const containerRef = useRef3(null);
|
|
1476
|
+
useEffect2(() => {
|
|
1477
|
+
if (enableExpanding && alwaysExpanded) {
|
|
1478
|
+
table.toggleAllRowsExpanded(true);
|
|
1479
|
+
}
|
|
1480
|
+
}, [enableExpanding, alwaysExpanded, table]);
|
|
1285
1481
|
const showLoading = useLoadingDelay(!!loading);
|
|
1286
1482
|
const rows = table.getRowModel().rows;
|
|
1287
1483
|
const hasExpandableRows = enableExpanding && rows.some((r) => r.getCanExpand());
|
|
1288
1484
|
const showError = !!error && !loading;
|
|
1289
1485
|
const showEmpty = !showError && !loading && rows.length === 0;
|
|
1290
|
-
return /* @__PURE__ */
|
|
1486
|
+
return /* @__PURE__ */ jsxs6(
|
|
1291
1487
|
TableContainer,
|
|
1292
1488
|
{
|
|
1293
|
-
component:
|
|
1489
|
+
component: Box6,
|
|
1294
1490
|
...boxProps,
|
|
1295
1491
|
ref: containerRef,
|
|
1296
1492
|
sx: {
|
|
@@ -1301,7 +1497,7 @@ function BiampTable({
|
|
|
1301
1497
|
...sx
|
|
1302
1498
|
},
|
|
1303
1499
|
children: [
|
|
1304
|
-
/* @__PURE__ */
|
|
1500
|
+
/* @__PURE__ */ jsxs6(
|
|
1305
1501
|
MuiTable,
|
|
1306
1502
|
{
|
|
1307
1503
|
"aria-busy": showLoading || void 0,
|
|
@@ -1311,14 +1507,14 @@ function BiampTable({
|
|
|
1311
1507
|
userTableSx
|
|
1312
1508
|
),
|
|
1313
1509
|
children: [
|
|
1314
|
-
/* @__PURE__ */
|
|
1315
|
-
|
|
1510
|
+
/* @__PURE__ */ jsx10(TableHead, { ...restHeadSlotProps, sx: mergeSx(userHeadSx), children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsxs6(
|
|
1511
|
+
TableRow2,
|
|
1316
1512
|
{
|
|
1317
1513
|
...restHeaderRowSlotProps,
|
|
1318
1514
|
sx: mergeSx(userHeaderRowSx),
|
|
1319
1515
|
children: [
|
|
1320
|
-
enableRowSelection && /* @__PURE__ */
|
|
1321
|
-
|
|
1516
|
+
enableRowSelection && /* @__PURE__ */ jsx10(TableCell2, { padding: "checkbox", sx: headerSelectionCellSx, children: !hideSelectAll && /* @__PURE__ */ jsx10(
|
|
1517
|
+
Checkbox2,
|
|
1322
1518
|
{
|
|
1323
1519
|
checked: table.getIsAllPageRowsSelected(),
|
|
1324
1520
|
indeterminate: table.getIsSomePageRowsSelected(),
|
|
@@ -1333,8 +1529,8 @@ function BiampTable({
|
|
|
1333
1529
|
header
|
|
1334
1530
|
});
|
|
1335
1531
|
const { sx: userHeaderCellSx, ...restHeaderCellProps } = resolvedHeaderCell ?? {};
|
|
1336
|
-
return /* @__PURE__ */
|
|
1337
|
-
|
|
1532
|
+
return /* @__PURE__ */ jsx10(
|
|
1533
|
+
TableCell2,
|
|
1338
1534
|
{
|
|
1339
1535
|
...restHeaderCellProps,
|
|
1340
1536
|
"data-sticky": sticky || void 0,
|
|
@@ -1346,7 +1542,7 @@ function BiampTable({
|
|
|
1346
1542
|
cellSx(sticky, header.column.columnDef.meta?.minWidth, 3),
|
|
1347
1543
|
userHeaderCellSx
|
|
1348
1544
|
),
|
|
1349
|
-
children: header.isPlaceholder ? null : header.column.getCanSort() ? /* @__PURE__ */
|
|
1545
|
+
children: header.isPlaceholder ? null : header.column.getCanSort() ? /* @__PURE__ */ jsx10(
|
|
1350
1546
|
TableSortLabel,
|
|
1351
1547
|
{
|
|
1352
1548
|
active: !!header.column.getIsSorted(),
|
|
@@ -1355,12 +1551,12 @@ function BiampTable({
|
|
|
1355
1551
|
...header.column.getIsSorted() && {
|
|
1356
1552
|
IconComponent: header.column.getIsSorted() === "asc" ? DropdownChevronUpIcon : DropdownChevronDownIcon
|
|
1357
1553
|
},
|
|
1358
|
-
children:
|
|
1554
|
+
children: flexRender2(
|
|
1359
1555
|
header.column.columnDef.header,
|
|
1360
1556
|
header.getContext()
|
|
1361
1557
|
)
|
|
1362
1558
|
}
|
|
1363
|
-
) :
|
|
1559
|
+
) : flexRender2(
|
|
1364
1560
|
header.column.columnDef.header,
|
|
1365
1561
|
header.getContext()
|
|
1366
1562
|
)
|
|
@@ -1372,12 +1568,12 @@ function BiampTable({
|
|
|
1372
1568
|
},
|
|
1373
1569
|
headerGroup.id
|
|
1374
1570
|
)) }),
|
|
1375
|
-
/* @__PURE__ */
|
|
1571
|
+
/* @__PURE__ */ jsx10(
|
|
1376
1572
|
TableBody,
|
|
1377
1573
|
{
|
|
1378
1574
|
...restBodySlotProps,
|
|
1379
1575
|
sx: mergeSx({ opacity: showLoading ? 0.3 : 1 }, userBodySx),
|
|
1380
|
-
children: !showError && rows.map((row) => /* @__PURE__ */
|
|
1576
|
+
children: !showError && rows.map((row) => /* @__PURE__ */ jsx10(
|
|
1381
1577
|
BiampTableRow,
|
|
1382
1578
|
{
|
|
1383
1579
|
row,
|
|
@@ -1387,9 +1583,12 @@ function BiampTable({
|
|
|
1387
1583
|
isRowClickable,
|
|
1388
1584
|
enableRowSelection,
|
|
1389
1585
|
enableExpanding,
|
|
1586
|
+
alwaysExpanded,
|
|
1390
1587
|
selectChildrenWithParent,
|
|
1588
|
+
showExpandGuidelines,
|
|
1391
1589
|
getRowLabel,
|
|
1392
1590
|
hasExpandableRows,
|
|
1591
|
+
customColor: setRowColor?.(row.original),
|
|
1393
1592
|
rowSlotProps: slotProps?.row,
|
|
1394
1593
|
cellSlotProps: slotProps?.cell
|
|
1395
1594
|
},
|
|
@@ -1400,14 +1599,14 @@ function BiampTable({
|
|
|
1400
1599
|
]
|
|
1401
1600
|
}
|
|
1402
1601
|
),
|
|
1403
|
-
showError && /* @__PURE__ */
|
|
1602
|
+
showError && /* @__PURE__ */ jsx10(Box6, { sx: overlaySx, children: error === true ? /* @__PURE__ */ jsx10(BiampTableErrorState, { sx: { pointerEvents: "auto" } }) : error instanceof Error ? /* @__PURE__ */ jsx10(
|
|
1404
1603
|
BiampTableErrorState,
|
|
1405
1604
|
{
|
|
1406
1605
|
description: error.message,
|
|
1407
1606
|
sx: { pointerEvents: "auto" }
|
|
1408
1607
|
}
|
|
1409
1608
|
) : error }),
|
|
1410
|
-
showEmpty && /* @__PURE__ */
|
|
1609
|
+
showEmpty && /* @__PURE__ */ jsx10(Box6, { sx: overlaySx, children: empty && empty !== true ? empty : /* @__PURE__ */ jsx10(BiampTableEmptyState, { sx: { pointerEvents: "auto" } }) })
|
|
1411
1610
|
]
|
|
1412
1611
|
}
|
|
1413
1612
|
);
|
|
@@ -1415,7 +1614,7 @@ function BiampTable({
|
|
|
1415
1614
|
|
|
1416
1615
|
// src/BiampTable/BiampTableContainer.tsx
|
|
1417
1616
|
import { Stack as Stack6 } from "@mui/material";
|
|
1418
|
-
import { jsx as
|
|
1617
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
1419
1618
|
function BiampTableContainer({
|
|
1420
1619
|
withBorderTop = true,
|
|
1421
1620
|
withBorderBottom = false,
|
|
@@ -1423,7 +1622,7 @@ function BiampTableContainer({
|
|
|
1423
1622
|
sx,
|
|
1424
1623
|
...props
|
|
1425
1624
|
}) {
|
|
1426
|
-
return /* @__PURE__ */
|
|
1625
|
+
return /* @__PURE__ */ jsx11(
|
|
1427
1626
|
Stack6,
|
|
1428
1627
|
{
|
|
1429
1628
|
direction: "column",
|
|
@@ -1443,9 +1642,9 @@ function BiampTableContainer({
|
|
|
1443
1642
|
|
|
1444
1643
|
// src/BiampTable/BiampTableCellActionButton.tsx
|
|
1445
1644
|
import { IconButton as IconButton2, Tooltip as Tooltip2 } from "@mui/material";
|
|
1446
|
-
import { jsx as
|
|
1645
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
1447
1646
|
function BiampTableCellActionButton({ label, icon, ...props }) {
|
|
1448
|
-
return /* @__PURE__ */
|
|
1647
|
+
return /* @__PURE__ */ jsx12(
|
|
1449
1648
|
Tooltip2,
|
|
1450
1649
|
{
|
|
1451
1650
|
title: label,
|
|
@@ -1453,7 +1652,7 @@ function BiampTableCellActionButton({ label, icon, ...props }) {
|
|
|
1453
1652
|
enterDelay: 500,
|
|
1454
1653
|
enterNextDelay: 500,
|
|
1455
1654
|
disableInteractive: true,
|
|
1456
|
-
children: /* @__PURE__ */
|
|
1655
|
+
children: /* @__PURE__ */ jsx12("span", { children: /* @__PURE__ */ jsx12(IconButton2, { "aria-label": label, ...props, children: icon }) })
|
|
1457
1656
|
}
|
|
1458
1657
|
);
|
|
1459
1658
|
}
|
|
@@ -1461,15 +1660,15 @@ function BiampTableCellActionButton({ label, icon, ...props }) {
|
|
|
1461
1660
|
// src/BiampTable/BiampTableColumnVisibility.tsx
|
|
1462
1661
|
import {
|
|
1463
1662
|
alpha as alpha2,
|
|
1464
|
-
Box as
|
|
1465
|
-
Checkbox as
|
|
1663
|
+
Box as Box7,
|
|
1664
|
+
Checkbox as Checkbox3,
|
|
1466
1665
|
Divider,
|
|
1467
1666
|
List,
|
|
1468
1667
|
ListItem,
|
|
1469
1668
|
Popover as Popover2,
|
|
1470
1669
|
Typography as Typography3
|
|
1471
1670
|
} from "@mui/material";
|
|
1472
|
-
import { jsx as
|
|
1671
|
+
import { jsx as jsx13, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1473
1672
|
function toVisibilityState(visibility) {
|
|
1474
1673
|
return visibility;
|
|
1475
1674
|
}
|
|
@@ -1512,7 +1711,7 @@ function BiampTableColumnVisibility({
|
|
|
1512
1711
|
...popoverProps
|
|
1513
1712
|
}) {
|
|
1514
1713
|
const allVisible = table.getAllLeafColumns().every((col) => col.getIsVisible());
|
|
1515
|
-
return /* @__PURE__ */
|
|
1714
|
+
return /* @__PURE__ */ jsx13(
|
|
1516
1715
|
Popover2,
|
|
1517
1716
|
{
|
|
1518
1717
|
anchorEl,
|
|
@@ -1533,41 +1732,41 @@ function BiampTableColumnVisibility({
|
|
|
1533
1732
|
}
|
|
1534
1733
|
},
|
|
1535
1734
|
...popoverProps,
|
|
1536
|
-
children: /* @__PURE__ */
|
|
1537
|
-
/* @__PURE__ */
|
|
1735
|
+
children: /* @__PURE__ */ jsxs7(List, { dense: true, disablePadding: true, children: [
|
|
1736
|
+
/* @__PURE__ */ jsxs7(
|
|
1538
1737
|
ListItem,
|
|
1539
1738
|
{
|
|
1540
1739
|
dense: true,
|
|
1541
1740
|
sx: columnListItemSx,
|
|
1542
1741
|
onClick: () => table.toggleAllColumnsVisible(!allVisible),
|
|
1543
1742
|
children: [
|
|
1544
|
-
/* @__PURE__ */
|
|
1545
|
-
|
|
1743
|
+
/* @__PURE__ */ jsx13(
|
|
1744
|
+
Checkbox3,
|
|
1546
1745
|
{
|
|
1547
1746
|
checked: allVisible,
|
|
1548
1747
|
slotProps: { input: { "aria-label": `${showAllLabel} columns` } }
|
|
1549
1748
|
}
|
|
1550
1749
|
),
|
|
1551
|
-
/* @__PURE__ */
|
|
1750
|
+
/* @__PURE__ */ jsx13(Typography3, { variant: "caption", fontWeight: 600, children: showAllLabel })
|
|
1552
1751
|
]
|
|
1553
1752
|
}
|
|
1554
1753
|
),
|
|
1555
|
-
/* @__PURE__ */
|
|
1556
|
-
/* @__PURE__ */
|
|
1557
|
-
|
|
1754
|
+
/* @__PURE__ */ jsx13(Divider, {}),
|
|
1755
|
+
/* @__PURE__ */ jsx13(
|
|
1756
|
+
Box7,
|
|
1558
1757
|
{
|
|
1559
1758
|
sx: { maxHeight: 340, overflow: "auto", overscrollBehavior: "none" },
|
|
1560
1759
|
children: table.getAllLeafColumns().map((column) => {
|
|
1561
1760
|
const columnName = column.columnDef.meta?.columnLabel ?? (typeof column.columnDef.header === "string" ? column.columnDef.header : column.id);
|
|
1562
|
-
return /* @__PURE__ */
|
|
1761
|
+
return /* @__PURE__ */ jsxs7(
|
|
1563
1762
|
ListItem,
|
|
1564
1763
|
{
|
|
1565
1764
|
dense: true,
|
|
1566
1765
|
sx: columnListItemSx,
|
|
1567
1766
|
onClick: column.getToggleVisibilityHandler(),
|
|
1568
1767
|
children: [
|
|
1569
|
-
/* @__PURE__ */
|
|
1570
|
-
|
|
1768
|
+
/* @__PURE__ */ jsx13(
|
|
1769
|
+
Checkbox3,
|
|
1571
1770
|
{
|
|
1572
1771
|
checked: column.getIsVisible(),
|
|
1573
1772
|
sx: { py: 1 },
|
|
@@ -1576,7 +1775,7 @@ function BiampTableColumnVisibility({
|
|
|
1576
1775
|
}
|
|
1577
1776
|
}
|
|
1578
1777
|
),
|
|
1579
|
-
/* @__PURE__ */
|
|
1778
|
+
/* @__PURE__ */ jsx13(Typography3, { variant: "caption", children: columnName })
|
|
1580
1779
|
]
|
|
1581
1780
|
},
|
|
1582
1781
|
column.id
|
|
@@ -1598,7 +1797,7 @@ import {
|
|
|
1598
1797
|
Badge,
|
|
1599
1798
|
IconButton as IconButton3
|
|
1600
1799
|
} from "@mui/material";
|
|
1601
|
-
import { jsx as
|
|
1800
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
1602
1801
|
function BiampTableToolbarActionButton({
|
|
1603
1802
|
label,
|
|
1604
1803
|
icon,
|
|
@@ -1606,12 +1805,12 @@ function BiampTableToolbarActionButton({
|
|
|
1606
1805
|
...props
|
|
1607
1806
|
}) {
|
|
1608
1807
|
const showBadge = badgeContent != null && badgeContent !== 0;
|
|
1609
|
-
return /* @__PURE__ */
|
|
1808
|
+
return /* @__PURE__ */ jsx14(
|
|
1610
1809
|
IconButton3,
|
|
1611
1810
|
{
|
|
1612
1811
|
"aria-label": showBadge ? `${label} (${badgeContent})` : label,
|
|
1613
1812
|
...props,
|
|
1614
|
-
children: showBadge ? /* @__PURE__ */
|
|
1813
|
+
children: showBadge ? /* @__PURE__ */ jsx14(
|
|
1615
1814
|
Badge,
|
|
1616
1815
|
{
|
|
1617
1816
|
badgeContent,
|
|
@@ -1635,10 +1834,10 @@ function BiampTableToolbarActionButton({
|
|
|
1635
1834
|
}
|
|
1636
1835
|
|
|
1637
1836
|
// src/BiampTable/BiampTableToolbarColumnVisibility.tsx
|
|
1638
|
-
import { Fragment, jsx as
|
|
1837
|
+
import { Fragment as Fragment2, jsx as jsx15, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1639
1838
|
function BiampTableToolbarColumnVisibility({
|
|
1640
1839
|
table,
|
|
1641
|
-
icon = /* @__PURE__ */
|
|
1840
|
+
icon = /* @__PURE__ */ jsx15(ColumnsIcon, { variant: "xs" }),
|
|
1642
1841
|
label = "Columns",
|
|
1643
1842
|
defaultColumnVisibility,
|
|
1644
1843
|
showAllLabel,
|
|
@@ -1647,8 +1846,8 @@ function BiampTableToolbarColumnVisibility({
|
|
|
1647
1846
|
const [anchorEl, setAnchorEl] = useState3(null);
|
|
1648
1847
|
const defaults = defaultColumnVisibility ?? getDefaultColumnVisibility(table);
|
|
1649
1848
|
const dirtyCount = getColumnVisibilityDirtyCount(table, defaults);
|
|
1650
|
-
return /* @__PURE__ */
|
|
1651
|
-
/* @__PURE__ */
|
|
1849
|
+
return /* @__PURE__ */ jsxs8(Fragment2, { children: [
|
|
1850
|
+
/* @__PURE__ */ jsx15(
|
|
1652
1851
|
BiampTableToolbarActionButton,
|
|
1653
1852
|
{
|
|
1654
1853
|
label,
|
|
@@ -1658,7 +1857,7 @@ function BiampTableToolbarColumnVisibility({
|
|
|
1658
1857
|
...actionButtonProps
|
|
1659
1858
|
}
|
|
1660
1859
|
),
|
|
1661
|
-
/* @__PURE__ */
|
|
1860
|
+
/* @__PURE__ */ jsx15(
|
|
1662
1861
|
BiampTableColumnVisibility,
|
|
1663
1862
|
{
|
|
1664
1863
|
table,
|
|
@@ -1671,9 +1870,9 @@ function BiampTableToolbarColumnVisibility({
|
|
|
1671
1870
|
}
|
|
1672
1871
|
|
|
1673
1872
|
// src/BiampTable/BiampTablePagination.tsx
|
|
1674
|
-
import { useEffect as
|
|
1873
|
+
import { useEffect as useEffect3, useRef as useRef4 } from "react";
|
|
1675
1874
|
import { TablePagination } from "@mui/material";
|
|
1676
|
-
import { jsx as
|
|
1875
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
1677
1876
|
var positionMap = {
|
|
1678
1877
|
left: "flex-start",
|
|
1679
1878
|
center: "center",
|
|
@@ -1696,13 +1895,13 @@ function BiampTablePagination({
|
|
|
1696
1895
|
const stableCount = loading ? lastRowCountRef.current : rowCount;
|
|
1697
1896
|
const { pageSize, pageIndex } = table.getState().pagination;
|
|
1698
1897
|
const maxPage = Math.max(0, Math.ceil(stableCount / pageSize) - 1);
|
|
1699
|
-
|
|
1898
|
+
useEffect3(() => {
|
|
1700
1899
|
if (!loading && pageIndex > maxPage) {
|
|
1701
1900
|
table.setPageIndex(maxPage);
|
|
1702
1901
|
}
|
|
1703
1902
|
}, [loading, pageIndex, maxPage, table]);
|
|
1704
1903
|
if (autoHide && (!stableCount || stableCount <= pageSize)) return null;
|
|
1705
|
-
return /* @__PURE__ */
|
|
1904
|
+
return /* @__PURE__ */ jsx16(
|
|
1706
1905
|
TablePagination,
|
|
1707
1906
|
{
|
|
1708
1907
|
component: "div",
|
|
@@ -1734,15 +1933,15 @@ function BiampTablePagination({
|
|
|
1734
1933
|
}
|
|
1735
1934
|
|
|
1736
1935
|
// src/BiampTable/BiampTableToolbar.tsx
|
|
1737
|
-
import { Box as
|
|
1738
|
-
import { jsx as
|
|
1936
|
+
import { Box as Box8 } from "@mui/material";
|
|
1937
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
1739
1938
|
function BiampTableToolbar({
|
|
1740
1939
|
children,
|
|
1741
1940
|
sx,
|
|
1742
1941
|
...props
|
|
1743
1942
|
}) {
|
|
1744
|
-
return /* @__PURE__ */
|
|
1745
|
-
|
|
1943
|
+
return /* @__PURE__ */ jsx17(
|
|
1944
|
+
Box8,
|
|
1746
1945
|
{
|
|
1747
1946
|
role: "toolbar",
|
|
1748
1947
|
display: "flex",
|
|
@@ -1760,14 +1959,14 @@ function BiampTableToolbar({
|
|
|
1760
1959
|
}
|
|
1761
1960
|
|
|
1762
1961
|
// src/BiampTable/BiampTableToolbarActions.tsx
|
|
1763
|
-
import { Box as
|
|
1764
|
-
import { jsx as
|
|
1962
|
+
import { Box as Box9 } from "@mui/material";
|
|
1963
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
1765
1964
|
function BiampTableToolbarActions({
|
|
1766
1965
|
children,
|
|
1767
1966
|
...props
|
|
1768
1967
|
}) {
|
|
1769
|
-
return /* @__PURE__ */
|
|
1770
|
-
|
|
1968
|
+
return /* @__PURE__ */ jsx18(
|
|
1969
|
+
Box9,
|
|
1771
1970
|
{
|
|
1772
1971
|
display: "flex",
|
|
1773
1972
|
alignItems: "center",
|
|
@@ -1783,19 +1982,19 @@ function BiampTableToolbarActions({
|
|
|
1783
1982
|
// src/BiampTable/BiampTableToolbarExport.tsx
|
|
1784
1983
|
import { CircularProgress } from "@mui/material";
|
|
1785
1984
|
import { DownloadIcon } from "@bwp-web/assets";
|
|
1786
|
-
import { jsx as
|
|
1985
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
1787
1986
|
function BiampTableToolbarExport({
|
|
1788
1987
|
onExport,
|
|
1789
1988
|
loading,
|
|
1790
|
-
icon = /* @__PURE__ */
|
|
1989
|
+
icon = /* @__PURE__ */ jsx19(DownloadIcon, { variant: "xs" }),
|
|
1791
1990
|
label = "Export",
|
|
1792
1991
|
...props
|
|
1793
1992
|
}) {
|
|
1794
|
-
return /* @__PURE__ */
|
|
1993
|
+
return /* @__PURE__ */ jsx19(
|
|
1795
1994
|
BiampTableToolbarActionButton,
|
|
1796
1995
|
{
|
|
1797
1996
|
label: loading ? `${label}, loading` : label,
|
|
1798
|
-
icon: loading ? /* @__PURE__ */
|
|
1997
|
+
icon: loading ? /* @__PURE__ */ jsx19(CircularProgress, { size: 20, color: "inherit" }) : icon,
|
|
1799
1998
|
disabled: loading,
|
|
1800
1999
|
onClick: onExport,
|
|
1801
2000
|
...props
|
|
@@ -1806,7 +2005,7 @@ function BiampTableToolbarExport({
|
|
|
1806
2005
|
// src/BiampTable/BiampTableToolbarFilters.tsx
|
|
1807
2006
|
import {
|
|
1808
2007
|
Badge as Badge2,
|
|
1809
|
-
Box as
|
|
2008
|
+
Box as Box10,
|
|
1810
2009
|
Button,
|
|
1811
2010
|
Divider as Divider2,
|
|
1812
2011
|
Drawer,
|
|
@@ -1815,13 +2014,13 @@ import {
|
|
|
1815
2014
|
} from "@mui/material";
|
|
1816
2015
|
import { CloseIcon, FilterIcon } from "@bwp-web/assets";
|
|
1817
2016
|
import { useId, useState as useState4 } from "react";
|
|
1818
|
-
import { Fragment as
|
|
2017
|
+
import { Fragment as Fragment3, jsx as jsx20, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1819
2018
|
function BiampTableToolbarFilters({
|
|
1820
2019
|
activeFilterCount,
|
|
1821
2020
|
children,
|
|
1822
2021
|
onReset,
|
|
1823
2022
|
onApply,
|
|
1824
|
-
icon = /* @__PURE__ */
|
|
2023
|
+
icon = /* @__PURE__ */ jsx20(FilterIcon, { variant: "xs" }),
|
|
1825
2024
|
title = "Filters",
|
|
1826
2025
|
resetLabel = "Clear filters",
|
|
1827
2026
|
applyLabel = "Apply",
|
|
@@ -1835,8 +2034,8 @@ function BiampTableToolbarFilters({
|
|
|
1835
2034
|
onApply?.();
|
|
1836
2035
|
setOpen(false);
|
|
1837
2036
|
}
|
|
1838
|
-
return /* @__PURE__ */
|
|
1839
|
-
/* @__PURE__ */
|
|
2037
|
+
return /* @__PURE__ */ jsxs9(Fragment3, { children: [
|
|
2038
|
+
/* @__PURE__ */ jsx20(
|
|
1840
2039
|
BiampTableToolbarActionButton,
|
|
1841
2040
|
{
|
|
1842
2041
|
label: buttonLabel,
|
|
@@ -1845,7 +2044,7 @@ function BiampTableToolbarFilters({
|
|
|
1845
2044
|
onClick: () => setOpen(true)
|
|
1846
2045
|
}
|
|
1847
2046
|
),
|
|
1848
|
-
/* @__PURE__ */
|
|
2047
|
+
/* @__PURE__ */ jsx20(
|
|
1849
2048
|
Drawer,
|
|
1850
2049
|
{
|
|
1851
2050
|
anchor: "right",
|
|
@@ -1857,17 +2056,17 @@ function BiampTableToolbarFilters({
|
|
|
1857
2056
|
sx: { width: { xs: "100%", sm: 480 } },
|
|
1858
2057
|
...drawerProps?.PaperProps
|
|
1859
2058
|
},
|
|
1860
|
-
children: /* @__PURE__ */
|
|
1861
|
-
|
|
2059
|
+
children: /* @__PURE__ */ jsxs9(
|
|
2060
|
+
Box10,
|
|
1862
2061
|
{
|
|
1863
2062
|
height: "100%",
|
|
1864
2063
|
display: "flex",
|
|
1865
2064
|
flexDirection: "column",
|
|
1866
2065
|
justifyContent: "space-between",
|
|
1867
2066
|
children: [
|
|
1868
|
-
/* @__PURE__ */
|
|
1869
|
-
/* @__PURE__ */
|
|
1870
|
-
|
|
2067
|
+
/* @__PURE__ */ jsxs9(Box10, { children: [
|
|
2068
|
+
/* @__PURE__ */ jsxs9(
|
|
2069
|
+
Box10,
|
|
1871
2070
|
{
|
|
1872
2071
|
display: "flex",
|
|
1873
2072
|
justifyContent: "space-between",
|
|
@@ -1875,9 +2074,9 @@ function BiampTableToolbarFilters({
|
|
|
1875
2074
|
px: 3.5,
|
|
1876
2075
|
py: 2.5,
|
|
1877
2076
|
children: [
|
|
1878
|
-
/* @__PURE__ */
|
|
2077
|
+
/* @__PURE__ */ jsxs9(Typography4, { id: titleId, variant: "h2", children: [
|
|
1879
2078
|
title,
|
|
1880
|
-
/* @__PURE__ */
|
|
2079
|
+
/* @__PURE__ */ jsx20(
|
|
1881
2080
|
Badge2,
|
|
1882
2081
|
{
|
|
1883
2082
|
badgeContent: activeFilterCount,
|
|
@@ -1886,21 +2085,21 @@ function BiampTableToolbarFilters({
|
|
|
1886
2085
|
}
|
|
1887
2086
|
)
|
|
1888
2087
|
] }),
|
|
1889
|
-
/* @__PURE__ */
|
|
2088
|
+
/* @__PURE__ */ jsx20(
|
|
1890
2089
|
IconButton4,
|
|
1891
2090
|
{
|
|
1892
2091
|
size: "medium",
|
|
1893
2092
|
onClick: handleClose,
|
|
1894
2093
|
"aria-label": closeLabel,
|
|
1895
|
-
children: /* @__PURE__ */
|
|
2094
|
+
children: /* @__PURE__ */ jsx20(CloseIcon, {})
|
|
1896
2095
|
}
|
|
1897
2096
|
)
|
|
1898
2097
|
]
|
|
1899
2098
|
}
|
|
1900
2099
|
),
|
|
1901
|
-
/* @__PURE__ */
|
|
1902
|
-
/* @__PURE__ */
|
|
1903
|
-
|
|
2100
|
+
/* @__PURE__ */ jsx20(Divider2, {}),
|
|
2101
|
+
/* @__PURE__ */ jsx20(
|
|
2102
|
+
Box10,
|
|
1904
2103
|
{
|
|
1905
2104
|
role: "group",
|
|
1906
2105
|
"aria-label": "Filter options",
|
|
@@ -1913,8 +2112,8 @@ function BiampTableToolbarFilters({
|
|
|
1913
2112
|
}
|
|
1914
2113
|
)
|
|
1915
2114
|
] }),
|
|
1916
|
-
/* @__PURE__ */
|
|
1917
|
-
/* @__PURE__ */
|
|
2115
|
+
/* @__PURE__ */ jsxs9(Box10, { display: "flex", children: [
|
|
2116
|
+
/* @__PURE__ */ jsx20(
|
|
1918
2117
|
Button,
|
|
1919
2118
|
{
|
|
1920
2119
|
variant: "overlay",
|
|
@@ -1925,7 +2124,7 @@ function BiampTableToolbarFilters({
|
|
|
1925
2124
|
children: resetLabel
|
|
1926
2125
|
}
|
|
1927
2126
|
),
|
|
1928
|
-
/* @__PURE__ */
|
|
2127
|
+
/* @__PURE__ */ jsx20(
|
|
1929
2128
|
Button,
|
|
1930
2129
|
{
|
|
1931
2130
|
variant: "overlay",
|
|
@@ -1946,7 +2145,7 @@ function BiampTableToolbarFilters({
|
|
|
1946
2145
|
|
|
1947
2146
|
// src/BiampTable/BiampTableToolbarSearch.tsx
|
|
1948
2147
|
import {
|
|
1949
|
-
Box as
|
|
2148
|
+
Box as Box11,
|
|
1950
2149
|
Collapse,
|
|
1951
2150
|
IconButton as IconButton5,
|
|
1952
2151
|
InputAdornment as InputAdornment2,
|
|
@@ -1955,16 +2154,16 @@ import {
|
|
|
1955
2154
|
useMediaQuery
|
|
1956
2155
|
} from "@mui/material";
|
|
1957
2156
|
import { CloseIcon as CloseIcon2, SearchIcon as SearchIcon2 } from "@bwp-web/assets";
|
|
1958
|
-
import { useEffect as
|
|
2157
|
+
import { useEffect as useEffect5, useState as useState5 } from "react";
|
|
1959
2158
|
|
|
1960
2159
|
// src/BiampTable/useDebouncedCallback.ts
|
|
1961
|
-
import { useCallback as useCallback2, useEffect as
|
|
2160
|
+
import { useCallback as useCallback2, useEffect as useEffect4, useRef as useRef5 } from "react";
|
|
1962
2161
|
var BIAMP_TABLE_DEBOUNCE_DELAY = 300;
|
|
1963
2162
|
function useDebouncedCallback(callback, delay = BIAMP_TABLE_DEBOUNCE_DELAY) {
|
|
1964
2163
|
const timeoutRef = useRef5(null);
|
|
1965
2164
|
const callbackRef = useRef5(callback);
|
|
1966
2165
|
callbackRef.current = callback;
|
|
1967
|
-
|
|
2166
|
+
useEffect4(() => {
|
|
1968
2167
|
return () => {
|
|
1969
2168
|
if (timeoutRef.current !== null) clearTimeout(timeoutRef.current);
|
|
1970
2169
|
};
|
|
@@ -1982,7 +2181,7 @@ function useDebouncedCallback(callback, delay = BIAMP_TABLE_DEBOUNCE_DELAY) {
|
|
|
1982
2181
|
}
|
|
1983
2182
|
|
|
1984
2183
|
// src/BiampTable/BiampTableToolbarSearch.tsx
|
|
1985
|
-
import { jsx as
|
|
2184
|
+
import { jsx as jsx21, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1986
2185
|
var searchFieldSx = {
|
|
1987
2186
|
"& .MuiInputBase-root": {
|
|
1988
2187
|
height: "36px !important",
|
|
@@ -2010,7 +2209,7 @@ function BiampTableToolbarSearch({
|
|
|
2010
2209
|
const [inputValue, setInputValue] = useState5(defaultValue);
|
|
2011
2210
|
const [isExpanded, setIsExpanded] = useState5(false);
|
|
2012
2211
|
const debouncedOnChange = useDebouncedCallback(onChange, debounceDelay);
|
|
2013
|
-
|
|
2212
|
+
useEffect5(() => {
|
|
2014
2213
|
setInputValue(defaultValue);
|
|
2015
2214
|
}, [defaultValue]);
|
|
2016
2215
|
const handleChange = (e) => {
|
|
@@ -2026,17 +2225,17 @@ function BiampTableToolbarSearch({
|
|
|
2026
2225
|
setIsExpanded(false);
|
|
2027
2226
|
}
|
|
2028
2227
|
};
|
|
2029
|
-
const clearButton = inputValue ? /* @__PURE__ */
|
|
2228
|
+
const clearButton = inputValue ? /* @__PURE__ */ jsx21(InputAdornment2, { position: "end", children: /* @__PURE__ */ jsx21(
|
|
2030
2229
|
IconButton5,
|
|
2031
2230
|
{
|
|
2032
2231
|
size: "small",
|
|
2033
2232
|
onClick: handleClear,
|
|
2034
2233
|
"aria-label": clearLabel,
|
|
2035
2234
|
sx: { mr: 0.5 },
|
|
2036
|
-
children: /* @__PURE__ */
|
|
2235
|
+
children: /* @__PURE__ */ jsx21(CloseIcon2, { variant: "xs", sx: { width: 20, height: 20 } })
|
|
2037
2236
|
}
|
|
2038
2237
|
) }) : null;
|
|
2039
|
-
const textField = /* @__PURE__ */
|
|
2238
|
+
const textField = /* @__PURE__ */ jsx21(
|
|
2040
2239
|
TextField2,
|
|
2041
2240
|
{
|
|
2042
2241
|
name: "search",
|
|
@@ -2045,7 +2244,7 @@ function BiampTableToolbarSearch({
|
|
|
2045
2244
|
slotProps: {
|
|
2046
2245
|
htmlInput: { maxLength, "aria-label": placeholder },
|
|
2047
2246
|
input: {
|
|
2048
|
-
startAdornment: /* @__PURE__ */
|
|
2247
|
+
startAdornment: /* @__PURE__ */ jsx21(InputAdornment2, { position: "start", sx: { ml: 1 }, children: /* @__PURE__ */ jsx21(
|
|
2049
2248
|
SearchIcon2,
|
|
2050
2249
|
{
|
|
2051
2250
|
variant: "xs",
|
|
@@ -2071,9 +2270,9 @@ function BiampTableToolbarSearch({
|
|
|
2071
2270
|
}
|
|
2072
2271
|
);
|
|
2073
2272
|
if (isMobile && enableMobileView) {
|
|
2074
|
-
return /* @__PURE__ */
|
|
2075
|
-
/* @__PURE__ */
|
|
2076
|
-
/* @__PURE__ */
|
|
2273
|
+
return /* @__PURE__ */ jsxs10(Box11, { display: "flex", alignItems: "center", width: "100%", pr: 1, gap: 1, children: [
|
|
2274
|
+
/* @__PURE__ */ jsx21(SearchIcon2, { sx: { width: 16, height: 16 } }),
|
|
2275
|
+
/* @__PURE__ */ jsx21(
|
|
2077
2276
|
InputBase,
|
|
2078
2277
|
{
|
|
2079
2278
|
name: "search",
|
|
@@ -2095,14 +2294,14 @@ function BiampTableToolbarSearch({
|
|
|
2095
2294
|
] });
|
|
2096
2295
|
}
|
|
2097
2296
|
if (expandable) {
|
|
2098
|
-
return /* @__PURE__ */
|
|
2099
|
-
/* @__PURE__ */
|
|
2297
|
+
return /* @__PURE__ */ jsxs10(Box11, { display: "flex", alignItems: "center", minWidth: 28, children: [
|
|
2298
|
+
/* @__PURE__ */ jsx21(
|
|
2100
2299
|
IconButton5,
|
|
2101
2300
|
{
|
|
2102
2301
|
"aria-label": expandLabel ?? placeholder,
|
|
2103
2302
|
onClick: () => setIsExpanded(true),
|
|
2104
2303
|
sx: { display: isExpanded || inputValue ? "none" : "flex" },
|
|
2105
|
-
children: /* @__PURE__ */
|
|
2304
|
+
children: /* @__PURE__ */ jsx21(
|
|
2106
2305
|
SearchIcon2,
|
|
2107
2306
|
{
|
|
2108
2307
|
variant: "xs",
|
|
@@ -2112,7 +2311,7 @@ function BiampTableToolbarSearch({
|
|
|
2112
2311
|
)
|
|
2113
2312
|
}
|
|
2114
2313
|
),
|
|
2115
|
-
/* @__PURE__ */
|
|
2314
|
+
/* @__PURE__ */ jsx21(
|
|
2116
2315
|
Collapse,
|
|
2117
2316
|
{
|
|
2118
2317
|
in: isExpanded || !!inputValue,
|
|
@@ -2338,7 +2537,7 @@ function downloadCsv(csvContent, filename) {
|
|
|
2338
2537
|
|
|
2339
2538
|
// src/BiampBanner/BiampBanner.tsx
|
|
2340
2539
|
import {
|
|
2341
|
-
Box as
|
|
2540
|
+
Box as Box12,
|
|
2342
2541
|
Collapse as Collapse2,
|
|
2343
2542
|
Typography as Typography5
|
|
2344
2543
|
} from "@mui/material";
|
|
@@ -2348,10 +2547,10 @@ import {
|
|
|
2348
2547
|
SuccessStatusIcon,
|
|
2349
2548
|
WarningStatusIcon
|
|
2350
2549
|
} from "@bwp-web/assets";
|
|
2351
|
-
import { Fragment as
|
|
2550
|
+
import { Fragment as Fragment4, jsx as jsx22 } from "react/jsx-runtime";
|
|
2352
2551
|
function BiampBanner({ show, children, severity }) {
|
|
2353
|
-
return /* @__PURE__ */
|
|
2354
|
-
|
|
2552
|
+
return /* @__PURE__ */ jsx22(Collapse2, { in: show, unmountOnExit: true, component: "aside", children: /* @__PURE__ */ jsx22(
|
|
2553
|
+
Box12,
|
|
2355
2554
|
{
|
|
2356
2555
|
bgcolor: ({ palette }) => palette.background[severity],
|
|
2357
2556
|
display: "flex",
|
|
@@ -2369,25 +2568,25 @@ function BiampBanner({ show, children, severity }) {
|
|
|
2369
2568
|
) });
|
|
2370
2569
|
}
|
|
2371
2570
|
var iconMapping = {
|
|
2372
|
-
error: /* @__PURE__ */
|
|
2373
|
-
warning: /* @__PURE__ */
|
|
2374
|
-
success: /* @__PURE__ */
|
|
2375
|
-
info: /* @__PURE__ */
|
|
2571
|
+
error: /* @__PURE__ */ jsx22(ErrorStatusIcon, { color: "error", sx: { width: 14, height: 14 } }),
|
|
2572
|
+
warning: /* @__PURE__ */ jsx22(WarningStatusIcon, { color: "warning", sx: { width: 16, height: 14 } }),
|
|
2573
|
+
success: /* @__PURE__ */ jsx22(SuccessStatusIcon, { color: "success", sx: { width: 14, height: 14 } }),
|
|
2574
|
+
info: /* @__PURE__ */ jsx22(InfoStatusIcon, { color: "info", sx: { width: 14, height: 14 } })
|
|
2376
2575
|
};
|
|
2377
2576
|
function BiampBannerIcon({ severity, children }) {
|
|
2378
|
-
return /* @__PURE__ */
|
|
2577
|
+
return /* @__PURE__ */ jsx22(Fragment4, { children: severity ? iconMapping[severity] : children });
|
|
2379
2578
|
}
|
|
2380
2579
|
function BiampBannerContent({ children, ...props }) {
|
|
2381
|
-
return /* @__PURE__ */
|
|
2580
|
+
return /* @__PURE__ */ jsx22(Typography5, { textAlign: "center", variant: "h3", ...props, children });
|
|
2382
2581
|
}
|
|
2383
2582
|
function BiampBannerActions({ children, ...props }) {
|
|
2384
|
-
return /* @__PURE__ */
|
|
2583
|
+
return /* @__PURE__ */ jsx22(Box12, { display: "flex", gap: 1, alignItems: "center", ...props, children });
|
|
2385
2584
|
}
|
|
2386
2585
|
|
|
2387
2586
|
// src/BiampSegmentedButton/SegmentedButton.tsx
|
|
2388
2587
|
import { Button as Button2, useTheme } from "@mui/material";
|
|
2389
2588
|
import { alpha as alpha3 } from "@mui/material/styles";
|
|
2390
|
-
import { jsx as
|
|
2589
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
2391
2590
|
function SegmentedButton({
|
|
2392
2591
|
children,
|
|
2393
2592
|
active,
|
|
@@ -2400,7 +2599,7 @@ function SegmentedButton({
|
|
|
2400
2599
|
const backgroundColor = active ? isDarkMode ? theme.palette.grey[900] : theme.palette.common.white : "transparent";
|
|
2401
2600
|
const textColor = active ? theme.palette.text.primary : theme.palette.text.secondary;
|
|
2402
2601
|
const border = active ? "solid" : void 0;
|
|
2403
|
-
return /* @__PURE__ */
|
|
2602
|
+
return /* @__PURE__ */ jsx23(
|
|
2404
2603
|
Button2,
|
|
2405
2604
|
{
|
|
2406
2605
|
sx: {
|
|
@@ -2425,11 +2624,11 @@ function SegmentedButton({
|
|
|
2425
2624
|
|
|
2426
2625
|
// src/BiampSegmentedButton/SegmentedButtonGroup.tsx
|
|
2427
2626
|
import { Stack as Stack7, useTheme as useTheme2 } from "@mui/material";
|
|
2428
|
-
import { jsx as
|
|
2627
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
2429
2628
|
function SegmentedButtonGroup({ children, sx, ...props }) {
|
|
2430
2629
|
const theme = useTheme2();
|
|
2431
2630
|
const isDarkMode = theme.palette.mode === "dark";
|
|
2432
|
-
return /* @__PURE__ */
|
|
2631
|
+
return /* @__PURE__ */ jsx24(
|
|
2433
2632
|
Stack7,
|
|
2434
2633
|
{
|
|
2435
2634
|
direction: "row",
|
|
@@ -2450,7 +2649,7 @@ function SegmentedButtonGroup({ children, sx, ...props }) {
|
|
|
2450
2649
|
import { createContext, forwardRef, useContext } from "react";
|
|
2451
2650
|
import {
|
|
2452
2651
|
Autocomplete,
|
|
2453
|
-
Box as
|
|
2652
|
+
Box as Box13,
|
|
2454
2653
|
Chip,
|
|
2455
2654
|
InputAdornment as InputAdornment3,
|
|
2456
2655
|
Paper,
|
|
@@ -2458,7 +2657,7 @@ import {
|
|
|
2458
2657
|
Typography as Typography6
|
|
2459
2658
|
} from "@mui/material";
|
|
2460
2659
|
import { KeyArrowDownIcon, KeyArrowUpIcon, SearchIcon as SearchIcon3 } from "@bwp-web/assets";
|
|
2461
|
-
import { Fragment as
|
|
2660
|
+
import { Fragment as Fragment5, jsx as jsx25, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
2462
2661
|
var SearchContext = createContext({
|
|
2463
2662
|
hasOptions: true,
|
|
2464
2663
|
loading: false,
|
|
@@ -2469,8 +2668,8 @@ function KeyCap({
|
|
|
2469
2668
|
children,
|
|
2470
2669
|
variant = "icon"
|
|
2471
2670
|
}) {
|
|
2472
|
-
return /* @__PURE__ */
|
|
2473
|
-
|
|
2671
|
+
return /* @__PURE__ */ jsx25(
|
|
2672
|
+
Box13,
|
|
2474
2673
|
{
|
|
2475
2674
|
component: "kbd",
|
|
2476
2675
|
sx: {
|
|
@@ -2497,8 +2696,8 @@ function KeyCap({
|
|
|
2497
2696
|
var BiampGlobalSearchPaper = forwardRef(
|
|
2498
2697
|
function BiampGlobalSearchPaper2({ children, ...props }, ref) {
|
|
2499
2698
|
const { hasOptions, loading, noResultsText } = useContext(SearchContext);
|
|
2500
|
-
return /* @__PURE__ */
|
|
2501
|
-
hasOptions || loading ? children : /* @__PURE__ */
|
|
2699
|
+
return /* @__PURE__ */ jsxs11(Paper, { ref, ...props, children: [
|
|
2700
|
+
hasOptions || loading ? children : /* @__PURE__ */ jsx25(
|
|
2502
2701
|
Typography6,
|
|
2503
2702
|
{
|
|
2504
2703
|
variant: "body2",
|
|
@@ -2507,8 +2706,8 @@ var BiampGlobalSearchPaper = forwardRef(
|
|
|
2507
2706
|
children: noResultsText
|
|
2508
2707
|
}
|
|
2509
2708
|
),
|
|
2510
|
-
hasOptions && /* @__PURE__ */
|
|
2511
|
-
|
|
2709
|
+
hasOptions && /* @__PURE__ */ jsxs11(
|
|
2710
|
+
Box13,
|
|
2512
2711
|
{
|
|
2513
2712
|
sx: {
|
|
2514
2713
|
borderTop: ({ palette }) => `0.6px solid ${palette.dividers.secondary}`,
|
|
@@ -2518,12 +2717,12 @@ var BiampGlobalSearchPaper = forwardRef(
|
|
|
2518
2717
|
p: 1.5
|
|
2519
2718
|
},
|
|
2520
2719
|
children: [
|
|
2521
|
-
/* @__PURE__ */
|
|
2522
|
-
/* @__PURE__ */
|
|
2523
|
-
/* @__PURE__ */
|
|
2524
|
-
/* @__PURE__ */
|
|
2720
|
+
/* @__PURE__ */ jsxs11(Box13, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
|
|
2721
|
+
/* @__PURE__ */ jsxs11(Box13, { sx: { display: "flex", alignItems: "center", gap: 0.5 }, children: [
|
|
2722
|
+
/* @__PURE__ */ jsx25(KeyCap, { children: /* @__PURE__ */ jsx25(KeyArrowDownIcon, {}) }),
|
|
2723
|
+
/* @__PURE__ */ jsx25(KeyCap, { children: /* @__PURE__ */ jsx25(KeyArrowUpIcon, {}) })
|
|
2525
2724
|
] }),
|
|
2526
|
-
/* @__PURE__ */
|
|
2725
|
+
/* @__PURE__ */ jsx25(
|
|
2527
2726
|
Typography6,
|
|
2528
2727
|
{
|
|
2529
2728
|
variant: "caption",
|
|
@@ -2533,9 +2732,9 @@ var BiampGlobalSearchPaper = forwardRef(
|
|
|
2533
2732
|
}
|
|
2534
2733
|
)
|
|
2535
2734
|
] }),
|
|
2536
|
-
/* @__PURE__ */
|
|
2537
|
-
/* @__PURE__ */
|
|
2538
|
-
/* @__PURE__ */
|
|
2735
|
+
/* @__PURE__ */ jsxs11(Box13, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
|
|
2736
|
+
/* @__PURE__ */ jsx25(KeyCap, { variant: "text", children: "Enter" }),
|
|
2737
|
+
/* @__PURE__ */ jsx25(
|
|
2539
2738
|
Typography6,
|
|
2540
2739
|
{
|
|
2541
2740
|
variant: "caption",
|
|
@@ -2552,16 +2751,16 @@ var BiampGlobalSearchPaper = forwardRef(
|
|
|
2552
2751
|
}
|
|
2553
2752
|
);
|
|
2554
2753
|
function HighlightText({ text, query }) {
|
|
2555
|
-
if (!query) return /* @__PURE__ */
|
|
2754
|
+
if (!query) return /* @__PURE__ */ jsx25(Fragment5, { children: text });
|
|
2556
2755
|
const index = text.toLowerCase().indexOf(query.toLowerCase());
|
|
2557
|
-
if (index === -1) return /* @__PURE__ */
|
|
2756
|
+
if (index === -1) return /* @__PURE__ */ jsx25(Fragment5, { children: text });
|
|
2558
2757
|
const before = text.slice(0, index);
|
|
2559
2758
|
const match = text.slice(index, index + query.length);
|
|
2560
2759
|
const after = text.slice(index + query.length);
|
|
2561
|
-
return /* @__PURE__ */
|
|
2760
|
+
return /* @__PURE__ */ jsxs11(Fragment5, { children: [
|
|
2562
2761
|
before,
|
|
2563
|
-
/* @__PURE__ */
|
|
2564
|
-
|
|
2762
|
+
/* @__PURE__ */ jsx25(
|
|
2763
|
+
Box13,
|
|
2565
2764
|
{
|
|
2566
2765
|
component: "span",
|
|
2567
2766
|
sx: {
|
|
@@ -2586,7 +2785,7 @@ function BiampGlobalSearchListItem({
|
|
|
2586
2785
|
const maxChips = 3;
|
|
2587
2786
|
const chips = option.associatedItems?.slice(0, maxChips) ?? [];
|
|
2588
2787
|
const overflow = (option.associatedItems?.length ?? 0) - maxChips;
|
|
2589
|
-
return /* @__PURE__ */
|
|
2788
|
+
return /* @__PURE__ */ jsxs11(
|
|
2590
2789
|
"li",
|
|
2591
2790
|
{
|
|
2592
2791
|
...rest,
|
|
@@ -2598,8 +2797,8 @@ function BiampGlobalSearchListItem({
|
|
|
2598
2797
|
...rest.style
|
|
2599
2798
|
},
|
|
2600
2799
|
children: [
|
|
2601
|
-
option.icon && /* @__PURE__ */
|
|
2602
|
-
|
|
2800
|
+
option.icon && /* @__PURE__ */ jsx25(
|
|
2801
|
+
Box13,
|
|
2603
2802
|
{
|
|
2604
2803
|
sx: {
|
|
2605
2804
|
width: 24,
|
|
@@ -2612,8 +2811,8 @@ function BiampGlobalSearchListItem({
|
|
|
2612
2811
|
children: option.icon
|
|
2613
2812
|
}
|
|
2614
2813
|
),
|
|
2615
|
-
/* @__PURE__ */
|
|
2616
|
-
option.subtitle && /* @__PURE__ */
|
|
2814
|
+
/* @__PURE__ */ jsx25(Typography6, { variant: "body2", noWrap: true, sx: { flexShrink: 0 }, children: /* @__PURE__ */ jsx25(HighlightText, { text: option.title, query }) }),
|
|
2815
|
+
option.subtitle && /* @__PURE__ */ jsx25(
|
|
2617
2816
|
Typography6,
|
|
2618
2817
|
{
|
|
2619
2818
|
className: "hoverContent",
|
|
@@ -2624,8 +2823,8 @@ function BiampGlobalSearchListItem({
|
|
|
2624
2823
|
children: option.subtitle
|
|
2625
2824
|
}
|
|
2626
2825
|
),
|
|
2627
|
-
chips.length > 0 && /* @__PURE__ */
|
|
2628
|
-
|
|
2826
|
+
chips.length > 0 && /* @__PURE__ */ jsxs11(
|
|
2827
|
+
Box13,
|
|
2629
2828
|
{
|
|
2630
2829
|
className: "hoverContent",
|
|
2631
2830
|
sx: {
|
|
@@ -2637,7 +2836,7 @@ function BiampGlobalSearchListItem({
|
|
|
2637
2836
|
px: 2
|
|
2638
2837
|
},
|
|
2639
2838
|
children: [
|
|
2640
|
-
chips.map((item, i) => /* @__PURE__ */
|
|
2839
|
+
chips.map((item, i) => /* @__PURE__ */ jsx25(
|
|
2641
2840
|
Chip,
|
|
2642
2841
|
{
|
|
2643
2842
|
size: "small",
|
|
@@ -2655,7 +2854,7 @@ function BiampGlobalSearchListItem({
|
|
|
2655
2854
|
},
|
|
2656
2855
|
i
|
|
2657
2856
|
)),
|
|
2658
|
-
overflow > 0 && /* @__PURE__ */
|
|
2857
|
+
overflow > 0 && /* @__PURE__ */ jsx25(
|
|
2659
2858
|
Chip,
|
|
2660
2859
|
{
|
|
2661
2860
|
size: "small",
|
|
@@ -2675,8 +2874,8 @@ function BiampGlobalSearchListItem({
|
|
|
2675
2874
|
]
|
|
2676
2875
|
}
|
|
2677
2876
|
),
|
|
2678
|
-
option.endIcon && /* @__PURE__ */
|
|
2679
|
-
|
|
2877
|
+
option.endIcon && /* @__PURE__ */ jsx25(
|
|
2878
|
+
Box13,
|
|
2680
2879
|
{
|
|
2681
2880
|
className: "endIcon",
|
|
2682
2881
|
sx: {
|
|
@@ -2723,7 +2922,7 @@ function BiampGlobalSearch({
|
|
|
2723
2922
|
}
|
|
2724
2923
|
onInputChange?.(event, value, reason);
|
|
2725
2924
|
};
|
|
2726
|
-
return /* @__PURE__ */
|
|
2925
|
+
return /* @__PURE__ */ jsx25(
|
|
2727
2926
|
SearchContext.Provider,
|
|
2728
2927
|
{
|
|
2729
2928
|
value: {
|
|
@@ -2732,7 +2931,7 @@ function BiampGlobalSearch({
|
|
|
2732
2931
|
noResultsText,
|
|
2733
2932
|
query: inputValueProp ?? ""
|
|
2734
2933
|
},
|
|
2735
|
-
children: /* @__PURE__ */
|
|
2934
|
+
children: /* @__PURE__ */ jsx25(
|
|
2736
2935
|
Autocomplete,
|
|
2737
2936
|
{
|
|
2738
2937
|
options,
|
|
@@ -2740,7 +2939,7 @@ function BiampGlobalSearch({
|
|
|
2740
2939
|
loading,
|
|
2741
2940
|
onChange: handleChange,
|
|
2742
2941
|
onInputChange: handleInputChange,
|
|
2743
|
-
loadingText: /* @__PURE__ */
|
|
2942
|
+
loadingText: /* @__PURE__ */ jsx25(Typography6, { variant: "body2", color: "text.secondary", children: "Loading\u2026" }),
|
|
2744
2943
|
freeSolo: true,
|
|
2745
2944
|
filterOptions: (x) => x,
|
|
2746
2945
|
getOptionLabel: (option) => typeof option === "string" ? option : option.title,
|
|
@@ -2764,7 +2963,7 @@ function BiampGlobalSearch({
|
|
|
2764
2963
|
}
|
|
2765
2964
|
}
|
|
2766
2965
|
},
|
|
2767
|
-
renderInput: (params) => /* @__PURE__ */
|
|
2966
|
+
renderInput: (params) => /* @__PURE__ */ jsx25(
|
|
2768
2967
|
TextField3,
|
|
2769
2968
|
{
|
|
2770
2969
|
...params,
|
|
@@ -2780,15 +2979,15 @@ function BiampGlobalSearch({
|
|
|
2780
2979
|
slotProps: {
|
|
2781
2980
|
input: {
|
|
2782
2981
|
...params.InputProps,
|
|
2783
|
-
startAdornment: /* @__PURE__ */
|
|
2784
|
-
/* @__PURE__ */
|
|
2982
|
+
startAdornment: /* @__PURE__ */ jsxs11(Fragment5, { children: [
|
|
2983
|
+
/* @__PURE__ */ jsx25(InputAdornment3, { position: "start", children: /* @__PURE__ */ jsx25(SearchIcon3, {}) }),
|
|
2785
2984
|
params.InputProps.startAdornment
|
|
2786
2985
|
] })
|
|
2787
2986
|
}
|
|
2788
2987
|
}
|
|
2789
2988
|
}
|
|
2790
2989
|
),
|
|
2791
|
-
renderOption: (optionProps, option) => /* @__PURE__ */
|
|
2990
|
+
renderOption: (optionProps, option) => /* @__PURE__ */ jsx25(
|
|
2792
2991
|
BiampGlobalSearchListItem,
|
|
2793
2992
|
{
|
|
2794
2993
|
option,
|
|
@@ -2805,9 +3004,9 @@ function BiampGlobalSearch({
|
|
|
2805
3004
|
|
|
2806
3005
|
// src/UserInitialsIcon/UserInitialsIcon.tsx
|
|
2807
3006
|
var import_randomcolor = __toESM(require_randomColor(), 1);
|
|
2808
|
-
import { Box as
|
|
3007
|
+
import { Box as Box14, Typography as Typography7 } from "@mui/material";
|
|
2809
3008
|
import { darken } from "@mui/material/styles";
|
|
2810
|
-
import { jsx as
|
|
3009
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
2811
3010
|
var DEFAULT_SIZE = 40;
|
|
2812
3011
|
var DEFAULT_BORDER_RADIUS = 1.5;
|
|
2813
3012
|
var TEXT_RATIO = 0.4;
|
|
@@ -2825,8 +3024,8 @@ function UserInitialsIcon({
|
|
|
2825
3024
|
const textColor = darken((0, import_randomcolor.default)({ luminosity: "dark", seed: id }), 0.3);
|
|
2826
3025
|
const size = typeof width === "number" ? width : DEFAULT_SIZE;
|
|
2827
3026
|
const fontSize = size * TEXT_RATIO;
|
|
2828
|
-
return /* @__PURE__ */
|
|
2829
|
-
|
|
3027
|
+
return /* @__PURE__ */ jsx26(
|
|
3028
|
+
Box14,
|
|
2830
3029
|
{
|
|
2831
3030
|
minWidth: width,
|
|
2832
3031
|
width,
|
|
@@ -2839,7 +3038,7 @@ function UserInitialsIcon({
|
|
|
2839
3038
|
justifyContent: "center",
|
|
2840
3039
|
sx: { ...sx },
|
|
2841
3040
|
...props,
|
|
2842
|
-
children: /* @__PURE__ */
|
|
3041
|
+
children: /* @__PURE__ */ jsx26(
|
|
2843
3042
|
Typography7,
|
|
2844
3043
|
{
|
|
2845
3044
|
variant: "h3",
|
|
@@ -2862,9 +3061,9 @@ var getInitials = (name) => {
|
|
|
2862
3061
|
};
|
|
2863
3062
|
|
|
2864
3063
|
// src/DynamicSvgIcon/DynamicSvgIcon.tsx
|
|
2865
|
-
import { SvgIcon, Skeleton, Box as
|
|
2866
|
-
import { useEffect as
|
|
2867
|
-
import { jsx as
|
|
3064
|
+
import { SvgIcon, Skeleton, Box as Box15 } from "@mui/material";
|
|
3065
|
+
import { useEffect as useEffect6, useState as useState6 } from "react";
|
|
3066
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
2868
3067
|
var svgCache = /* @__PURE__ */ new Map();
|
|
2869
3068
|
function clearDynamicSvgIconCache() {
|
|
2870
3069
|
svgCache.clear();
|
|
@@ -2885,7 +3084,7 @@ function useDynamicSvgIcon(url, options = {}) {
|
|
|
2885
3084
|
});
|
|
2886
3085
|
const [loading, setLoading] = useState6(() => !svgCache.has(url));
|
|
2887
3086
|
const [error, setError] = useState6(null);
|
|
2888
|
-
|
|
3087
|
+
useEffect6(() => {
|
|
2889
3088
|
if (!url) {
|
|
2890
3089
|
setLoading(false);
|
|
2891
3090
|
setError("No URL provided");
|
|
@@ -2966,7 +3165,7 @@ function DynamicSvgIcon({
|
|
|
2966
3165
|
onError
|
|
2967
3166
|
});
|
|
2968
3167
|
if (loading) {
|
|
2969
|
-
return /* @__PURE__ */
|
|
3168
|
+
return /* @__PURE__ */ jsx27(
|
|
2970
3169
|
Skeleton,
|
|
2971
3170
|
{
|
|
2972
3171
|
variant: skeletonVariant,
|
|
@@ -2976,8 +3175,8 @@ function DynamicSvgIcon({
|
|
|
2976
3175
|
);
|
|
2977
3176
|
}
|
|
2978
3177
|
if (error || !svgContent) {
|
|
2979
|
-
return /* @__PURE__ */
|
|
2980
|
-
|
|
3178
|
+
return /* @__PURE__ */ jsx27(
|
|
3179
|
+
Box15,
|
|
2981
3180
|
{
|
|
2982
3181
|
sx: {
|
|
2983
3182
|
width,
|
|
@@ -2996,7 +3195,7 @@ function DynamicSvgIcon({
|
|
|
2996
3195
|
}
|
|
2997
3196
|
);
|
|
2998
3197
|
}
|
|
2999
|
-
return /* @__PURE__ */
|
|
3198
|
+
return /* @__PURE__ */ jsx27(
|
|
3000
3199
|
SvgIcon,
|
|
3001
3200
|
{
|
|
3002
3201
|
...svgIconProps,
|
|
@@ -3006,7 +3205,7 @@ function DynamicSvgIcon({
|
|
|
3006
3205
|
width,
|
|
3007
3206
|
height
|
|
3008
3207
|
},
|
|
3009
|
-
children: /* @__PURE__ */
|
|
3208
|
+
children: /* @__PURE__ */ jsx27("g", { dangerouslySetInnerHTML: { __html: svgContent } })
|
|
3010
3209
|
}
|
|
3011
3210
|
);
|
|
3012
3211
|
}
|