@helpwave/hightide 0.10.3 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +39 -2
- package/dist/index.d.ts +39 -2
- package/dist/index.js +457 -377
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +380 -301
- package/dist/index.mjs.map +1 -1
- package/dist/style/globals.css +6 -0
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -7091,6 +7091,7 @@ __export(index_exports, {
|
|
|
7091
7091
|
Transition: () => Transition,
|
|
7092
7092
|
UseValidators: () => UseValidators,
|
|
7093
7093
|
VerticalDivider: () => VerticalDivider,
|
|
7094
|
+
VirtualizedTableBody: () => VirtualizedTableBody,
|
|
7094
7095
|
Visibility: () => Visibility,
|
|
7095
7096
|
YearMonthPicker: () => YearMonthPicker,
|
|
7096
7097
|
buildSegmentLayout: () => buildSegmentLayout,
|
|
@@ -20089,17 +20090,95 @@ var TableHeader = ({ isSticky = false }) => {
|
|
|
20089
20090
|
] });
|
|
20090
20091
|
};
|
|
20091
20092
|
|
|
20092
|
-
// src/components/layout/table/
|
|
20093
|
+
// src/components/layout/table/VirtualizedTableBody.tsx
|
|
20094
|
+
var import_react92 = require("react");
|
|
20095
|
+
var import_react_table5 = require("@tanstack/react-table");
|
|
20096
|
+
var import_react_virtual = require("@tanstack/react-virtual");
|
|
20097
|
+
var import_clsx33 = __toESM(require("clsx"));
|
|
20093
20098
|
var import_jsx_runtime84 = require("react/jsx-runtime");
|
|
20099
|
+
var VirtualizedTableBody = ({
|
|
20100
|
+
estimateRowHeight = 48,
|
|
20101
|
+
overscan = 8,
|
|
20102
|
+
scroll = "window"
|
|
20103
|
+
}) => {
|
|
20104
|
+
const { table, onRowClick } = useTableStateWithoutSizingContext();
|
|
20105
|
+
const { containerRef } = useTableContainerContext();
|
|
20106
|
+
const rows = table.getRowModel().rows;
|
|
20107
|
+
const bodyRef = (0, import_react92.useRef)(null);
|
|
20108
|
+
const [isMounted, setIsMounted] = (0, import_react92.useState)(false);
|
|
20109
|
+
const [scrollMargin, setScrollMargin] = (0, import_react92.useState)(0);
|
|
20110
|
+
(0, import_react92.useEffect)(() => setIsMounted(true), []);
|
|
20111
|
+
(0, import_react92.useEffect)(() => {
|
|
20112
|
+
if (scroll !== "window") return;
|
|
20113
|
+
const element = bodyRef.current;
|
|
20114
|
+
if (!element || typeof window === "undefined") return;
|
|
20115
|
+
const measure = () => {
|
|
20116
|
+
const next = element.getBoundingClientRect().top + window.scrollY;
|
|
20117
|
+
setScrollMargin((prev) => Math.abs(prev - next) < 1 ? prev : next);
|
|
20118
|
+
};
|
|
20119
|
+
measure();
|
|
20120
|
+
const resizeObserver = new ResizeObserver(measure);
|
|
20121
|
+
resizeObserver.observe(element);
|
|
20122
|
+
window.addEventListener("resize", measure);
|
|
20123
|
+
return () => {
|
|
20124
|
+
resizeObserver.disconnect();
|
|
20125
|
+
window.removeEventListener("resize", measure);
|
|
20126
|
+
};
|
|
20127
|
+
}, [scroll]);
|
|
20128
|
+
const common = {
|
|
20129
|
+
count: rows.length,
|
|
20130
|
+
estimateSize: () => estimateRowHeight,
|
|
20131
|
+
overscan,
|
|
20132
|
+
getItemKey: (index) => rows[index]?.id ?? index
|
|
20133
|
+
};
|
|
20134
|
+
const windowVirtualizer = (0, import_react_virtual.useWindowVirtualizer)({ ...common, scrollMargin });
|
|
20135
|
+
const containerVirtualizer = (0, import_react_virtual.useVirtualizer)({ ...common, getScrollElement: () => containerRef.current });
|
|
20136
|
+
const virtualizer = scroll === "window" ? windowVirtualizer : containerVirtualizer;
|
|
20137
|
+
const offset = scroll === "window" ? scrollMargin : 0;
|
|
20138
|
+
const renderRow = (row, key, measured, dataIndex) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
20139
|
+
"tr",
|
|
20140
|
+
{
|
|
20141
|
+
"data-index": dataIndex,
|
|
20142
|
+
ref: measured ? virtualizer.measureElement : void 0,
|
|
20143
|
+
onClick: () => onRowClick?.(row, table),
|
|
20144
|
+
"data-clickable": PropsUtil.dataAttributes.bool(!!onRowClick),
|
|
20145
|
+
"data-name": "table-body-row",
|
|
20146
|
+
className: (0, import_clsx33.default)(BagFunctionUtil.resolve(table.options.meta?.bodyRowClassName, row.original)),
|
|
20147
|
+
children: row.getVisibleCells().map((cell) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("td", { "data-name": "table-body-cell", className: (0, import_clsx33.default)(cell.column.columnDef.meta?.className), children: (0, import_react_table5.flexRender)(cell.column.columnDef.cell, cell.getContext()) }, cell.id))
|
|
20148
|
+
},
|
|
20149
|
+
key
|
|
20150
|
+
);
|
|
20151
|
+
if (!isMounted) {
|
|
20152
|
+
return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("tbody", { ref: bodyRef, children: rows.map((row) => renderRow(row, row.id, false)) });
|
|
20153
|
+
}
|
|
20154
|
+
const items = virtualizer.getVirtualItems();
|
|
20155
|
+
const total = virtualizer.getTotalSize();
|
|
20156
|
+
const paddingTop = items.length ? items[0].start - offset : 0;
|
|
20157
|
+
const paddingBottom = items.length ? total - (items[items.length - 1].end - offset) : 0;
|
|
20158
|
+
const columnCount = Math.max(1, table.getVisibleLeafColumns().length);
|
|
20159
|
+
return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("tbody", { ref: bodyRef, children: [
|
|
20160
|
+
paddingTop > 0 && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("tr", { "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("td", { colSpan: columnCount, style: { height: paddingTop, padding: 0, border: 0 } }) }),
|
|
20161
|
+
items.map((virtualRow) => {
|
|
20162
|
+
const row = rows[virtualRow.index];
|
|
20163
|
+
if (!row) return null;
|
|
20164
|
+
return renderRow(row, virtualRow.key, true, virtualRow.index);
|
|
20165
|
+
}),
|
|
20166
|
+
paddingBottom > 0 && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("tr", { "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("td", { colSpan: columnCount, style: { height: paddingBottom, padding: 0, border: 0 } }) })
|
|
20167
|
+
] });
|
|
20168
|
+
};
|
|
20169
|
+
|
|
20170
|
+
// src/components/layout/table/TableDisplay.tsx
|
|
20171
|
+
var import_jsx_runtime85 = require("react/jsx-runtime");
|
|
20094
20172
|
var TableDisplay = ({
|
|
20095
20173
|
children,
|
|
20096
20174
|
containerProps,
|
|
20097
20175
|
tableHeaderProps,
|
|
20176
|
+
virtualized = false,
|
|
20098
20177
|
...props
|
|
20099
20178
|
}) => {
|
|
20100
20179
|
const { table } = useTableStateContext();
|
|
20101
20180
|
const { containerRef } = useTableContainerContext();
|
|
20102
|
-
return /* @__PURE__ */ (0,
|
|
20181
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { ...containerProps, ref: containerRef, "data-name": containerProps?.["data-name"] ?? "table-container", children: /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(
|
|
20103
20182
|
"table",
|
|
20104
20183
|
{
|
|
20105
20184
|
...props,
|
|
@@ -20110,19 +20189,19 @@ var TableDisplay = ({
|
|
|
20110
20189
|
},
|
|
20111
20190
|
children: [
|
|
20112
20191
|
children,
|
|
20113
|
-
/* @__PURE__ */ (0,
|
|
20114
|
-
/* @__PURE__ */ (0,
|
|
20192
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(TableHeader, { ...tableHeaderProps }),
|
|
20193
|
+
virtualized ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(VirtualizedTableBody, { ...typeof virtualized === "object" ? virtualized : {} }) : /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(TableBody, {})
|
|
20115
20194
|
]
|
|
20116
20195
|
}
|
|
20117
20196
|
) });
|
|
20118
20197
|
};
|
|
20119
20198
|
|
|
20120
20199
|
// src/components/layout/table/TablePagination.tsx
|
|
20121
|
-
var
|
|
20122
|
-
var
|
|
20200
|
+
var import_clsx34 = __toESM(require("clsx"));
|
|
20201
|
+
var import_jsx_runtime86 = require("react/jsx-runtime");
|
|
20123
20202
|
var TablePaginationMenu = ({ ...props }) => {
|
|
20124
20203
|
const { table } = useTableStateWithoutSizingContext();
|
|
20125
|
-
return /* @__PURE__ */ (0,
|
|
20204
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
20126
20205
|
Pagination,
|
|
20127
20206
|
{
|
|
20128
20207
|
...props,
|
|
@@ -20142,27 +20221,27 @@ var TablePageSizeSelect = ({
|
|
|
20142
20221
|
}) => {
|
|
20143
20222
|
const { table } = useTableStateWithoutSizingContext();
|
|
20144
20223
|
const currentPageSize = table.getState().pagination.pageSize;
|
|
20145
|
-
return /* @__PURE__ */ (0,
|
|
20224
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
20146
20225
|
Select,
|
|
20147
20226
|
{
|
|
20148
20227
|
...props,
|
|
20149
20228
|
value: currentPageSize.toString(),
|
|
20150
20229
|
onValueChange: (value) => table.setPageSize(Number(value)),
|
|
20151
|
-
children: pageSizeOptions.map((size) => /* @__PURE__ */ (0,
|
|
20230
|
+
children: pageSizeOptions.map((size) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(SelectOption, { value: size.toString(), label: size.toString() }, size))
|
|
20152
20231
|
}
|
|
20153
20232
|
);
|
|
20154
20233
|
};
|
|
20155
20234
|
var TablePagination = ({ allowChangingPageSize = true, pageSizeOptions, ...props }) => {
|
|
20156
|
-
return /* @__PURE__ */ (0,
|
|
20157
|
-
/* @__PURE__ */ (0,
|
|
20158
|
-
/* @__PURE__ */ (0,
|
|
20235
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { ...props, className: (0, import_clsx34.default)("container flex-col-2 sm:flex-row-8 items-center justify-center", props.className), children: [
|
|
20236
|
+
/* @__PURE__ */ (0, import_jsx_runtime86.jsx)(TablePaginationMenu, {}),
|
|
20237
|
+
/* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Visibility, { isVisible: allowChangingPageSize, children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(TablePageSizeSelect, { pageSizeOptions, buttonProps: { className: "h-10 min-w-24 max-w-24" } }) })
|
|
20159
20238
|
] });
|
|
20160
20239
|
};
|
|
20161
20240
|
|
|
20162
20241
|
// src/components/user-interaction/Checkbox.tsx
|
|
20163
20242
|
var import_lucide_react24 = require("lucide-react");
|
|
20164
|
-
var
|
|
20165
|
-
var
|
|
20243
|
+
var import_react93 = require("react");
|
|
20244
|
+
var import_jsx_runtime87 = require("react/jsx-runtime");
|
|
20166
20245
|
var Checkbox = ({
|
|
20167
20246
|
value: controlledValue,
|
|
20168
20247
|
initialValue = false,
|
|
@@ -20179,7 +20258,7 @@ var Checkbox = ({
|
|
|
20179
20258
|
}) => {
|
|
20180
20259
|
const onEditCompleteStable = useEventCallbackStabilizer(onEditComplete);
|
|
20181
20260
|
const onValueChangeStable = useEventCallbackStabilizer(onValueChange);
|
|
20182
|
-
const onChangeWrapper = (0,
|
|
20261
|
+
const onChangeWrapper = (0, import_react93.useCallback)((value2) => {
|
|
20183
20262
|
onValueChangeStable(value2);
|
|
20184
20263
|
onEditCompleteStable(value2);
|
|
20185
20264
|
}, [onValueChangeStable, onEditCompleteStable]);
|
|
@@ -20188,7 +20267,7 @@ var Checkbox = ({
|
|
|
20188
20267
|
onValueChange: onChangeWrapper,
|
|
20189
20268
|
defaultValue: initialValue
|
|
20190
20269
|
});
|
|
20191
|
-
return /* @__PURE__ */ (0,
|
|
20270
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(
|
|
20192
20271
|
"div",
|
|
20193
20272
|
{
|
|
20194
20273
|
...props,
|
|
@@ -20215,16 +20294,16 @@ var Checkbox = ({
|
|
|
20215
20294
|
...PropsUtil.aria.interactionStates({ disabled, invalid, readOnly, required }, props),
|
|
20216
20295
|
"data-name": props["data-name"] ?? "checkbox",
|
|
20217
20296
|
children: [
|
|
20218
|
-
/* @__PURE__ */ (0,
|
|
20219
|
-
/* @__PURE__ */ (0,
|
|
20297
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Visibility, { isVisible: indeterminate, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_lucide_react24.Minus, { "data-name": "checkbox-indicator", className: "checkbox-indicator", "aria-hidden": true }) }),
|
|
20298
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Visibility, { isVisible: !indeterminate && (alwaysShowCheckIcon || value), children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_lucide_react24.Check, { "data-name": "checkbox-indicator", className: "checkbox-indicator", "aria-hidden": true }) })
|
|
20220
20299
|
]
|
|
20221
20300
|
}
|
|
20222
20301
|
);
|
|
20223
20302
|
};
|
|
20224
20303
|
|
|
20225
20304
|
// src/components/layout/table/TableWithSelectionProvider.tsx
|
|
20226
|
-
var
|
|
20227
|
-
var
|
|
20305
|
+
var import_react94 = require("react");
|
|
20306
|
+
var import_jsx_runtime88 = require("react/jsx-runtime");
|
|
20228
20307
|
var TableWithSelectionProvider = ({
|
|
20229
20308
|
children,
|
|
20230
20309
|
state,
|
|
@@ -20236,11 +20315,11 @@ var TableWithSelectionProvider = ({
|
|
|
20236
20315
|
...props
|
|
20237
20316
|
}) => {
|
|
20238
20317
|
const translation = useHightideTranslation();
|
|
20239
|
-
const columnDef = (0,
|
|
20318
|
+
const columnDef = (0, import_react94.useMemo)(() => [
|
|
20240
20319
|
{
|
|
20241
20320
|
id: selectionRowId,
|
|
20242
20321
|
header: ({ table }) => {
|
|
20243
|
-
return /* @__PURE__ */ (0,
|
|
20322
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
|
|
20244
20323
|
Checkbox,
|
|
20245
20324
|
{
|
|
20246
20325
|
value: table.getIsAllRowsSelected(),
|
|
@@ -20253,7 +20332,7 @@ var TableWithSelectionProvider = ({
|
|
|
20253
20332
|
);
|
|
20254
20333
|
},
|
|
20255
20334
|
cell: ({ row }) => {
|
|
20256
|
-
return /* @__PURE__ */ (0,
|
|
20335
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
|
|
20257
20336
|
Checkbox,
|
|
20258
20337
|
{
|
|
20259
20338
|
disabled: !row.getCanSelect(),
|
|
@@ -20275,15 +20354,15 @@ var TableWithSelectionProvider = ({
|
|
|
20275
20354
|
},
|
|
20276
20355
|
...props.columns ?? []
|
|
20277
20356
|
], [selectionRowId, props.columns, translation]);
|
|
20278
|
-
return /* @__PURE__ */ (0,
|
|
20357
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
|
|
20279
20358
|
TableProvider,
|
|
20280
20359
|
{
|
|
20281
20360
|
...props,
|
|
20282
|
-
fillerRowCell: (0,
|
|
20361
|
+
fillerRowCell: (0, import_react94.useCallback)((columnId, table) => {
|
|
20283
20362
|
if (columnId === selectionRowId) {
|
|
20284
|
-
return /* @__PURE__ */ (0,
|
|
20363
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Checkbox, { value: false, disabled: true });
|
|
20285
20364
|
}
|
|
20286
|
-
return fillerRowCell?.(columnId, table) ?? /* @__PURE__ */ (0,
|
|
20365
|
+
return fillerRowCell?.(columnId, table) ?? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(FillerCell, {});
|
|
20287
20366
|
}, [fillerRowCell, selectionRowId]),
|
|
20288
20367
|
columns: columnDef,
|
|
20289
20368
|
initialState: {
|
|
@@ -20297,7 +20376,7 @@ var TableWithSelectionProvider = ({
|
|
|
20297
20376
|
rowSelection,
|
|
20298
20377
|
...state
|
|
20299
20378
|
},
|
|
20300
|
-
onRowClick: (0,
|
|
20379
|
+
onRowClick: (0, import_react94.useCallback)((row, table) => {
|
|
20301
20380
|
if (!disableClickRowClickSelection) {
|
|
20302
20381
|
row.toggleSelected();
|
|
20303
20382
|
}
|
|
@@ -20309,14 +20388,14 @@ var TableWithSelectionProvider = ({
|
|
|
20309
20388
|
};
|
|
20310
20389
|
|
|
20311
20390
|
// src/components/layout/table/Table.tsx
|
|
20312
|
-
var
|
|
20313
|
-
var
|
|
20391
|
+
var import_clsx35 = __toESM(require("clsx"));
|
|
20392
|
+
var import_jsx_runtime89 = require("react/jsx-runtime");
|
|
20314
20393
|
var Table = ({ children, table, paginationOptions, displayProps, header, footer, ...props }) => {
|
|
20315
20394
|
const { showPagination = true, allowChangingPageSize, pageSizeOptions } = paginationOptions ?? {};
|
|
20316
|
-
return /* @__PURE__ */ (0,
|
|
20395
|
+
return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { ...props, className: (0, import_clsx35.default)("flex-col-3", props.className), children: /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(TableProvider, { ...table, children: [
|
|
20317
20396
|
header,
|
|
20318
|
-
/* @__PURE__ */ (0,
|
|
20319
|
-
/* @__PURE__ */ (0,
|
|
20397
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(TableDisplay, { ...displayProps, children }),
|
|
20398
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Visibility, { isVisible: showPagination, children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(TablePagination, { allowChangingPageSize, pageSizeOptions }) }),
|
|
20320
20399
|
footer
|
|
20321
20400
|
] }) });
|
|
20322
20401
|
};
|
|
@@ -20330,17 +20409,17 @@ var TableWithSelection = ({
|
|
|
20330
20409
|
...props
|
|
20331
20410
|
}) => {
|
|
20332
20411
|
const { showPagination = true, allowChangingPageSize, pageSizeOptions } = paginationOptions ?? {};
|
|
20333
|
-
return /* @__PURE__ */ (0,
|
|
20412
|
+
return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { ...props, className: (0, import_clsx35.default)("flex-col-3", props.className), children: /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(TableWithSelectionProvider, { ...table, children: [
|
|
20334
20413
|
header,
|
|
20335
|
-
/* @__PURE__ */ (0,
|
|
20336
|
-
/* @__PURE__ */ (0,
|
|
20414
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(TableDisplay, { ...displayProps, children }),
|
|
20415
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Visibility, { isVisible: showPagination, children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(TablePagination, { allowChangingPageSize, pageSizeOptions }) }),
|
|
20337
20416
|
footer
|
|
20338
20417
|
] }) });
|
|
20339
20418
|
};
|
|
20340
20419
|
|
|
20341
20420
|
// src/components/layout/table/TableColumn.tsx
|
|
20342
|
-
var
|
|
20343
|
-
var
|
|
20421
|
+
var import_react95 = require("react");
|
|
20422
|
+
var import_jsx_runtime90 = require("react/jsx-runtime");
|
|
20344
20423
|
var TableColumnComponent = ({
|
|
20345
20424
|
filterType,
|
|
20346
20425
|
...props
|
|
@@ -20351,11 +20430,11 @@ var TableColumnComponent = ({
|
|
|
20351
20430
|
"TableColumn: For filterType === multiTags or singleTag, filterData.tags must be set.",
|
|
20352
20431
|
(filterType === "multiTags" || filterType === "singleTag") && props.meta?.filterData?.tags === void 0
|
|
20353
20432
|
);
|
|
20354
|
-
const [column] = (0,
|
|
20433
|
+
const [column] = (0, import_react95.useState)({
|
|
20355
20434
|
...props,
|
|
20356
20435
|
filterFn
|
|
20357
20436
|
});
|
|
20358
|
-
(0,
|
|
20437
|
+
(0, import_react95.useEffect)(() => {
|
|
20359
20438
|
const unsubscribe = registerColumn(column);
|
|
20360
20439
|
return () => {
|
|
20361
20440
|
unsubscribe();
|
|
@@ -20363,27 +20442,27 @@ var TableColumnComponent = ({
|
|
|
20363
20442
|
}, [registerColumn, column]);
|
|
20364
20443
|
return null;
|
|
20365
20444
|
};
|
|
20366
|
-
var TableColumnFactory = () => (0,
|
|
20445
|
+
var TableColumnFactory = () => (0, import_react95.memo)(
|
|
20367
20446
|
TableColumnComponent,
|
|
20368
20447
|
(prevProps, nextProps) => {
|
|
20369
20448
|
return prevProps.filterType === nextProps.filterType && prevProps.id === nextProps.id && prevProps["accessorKey"] === nextProps["accessorKey"] && prevProps.enableColumnFilter === nextProps.enableColumnFilter && prevProps.enableGlobalFilter === nextProps.enableGlobalFilter && prevProps.enableGrouping === nextProps.enableGrouping && prevProps.enableHiding === nextProps.enableHiding && prevProps.enablePinning === nextProps.enablePinning && prevProps.enableResizing === nextProps.enableResizing && prevProps.enableSorting === nextProps.enableSorting && prevProps.meta === nextProps.meta, prevProps.cell === nextProps.cell;
|
|
20370
20449
|
}
|
|
20371
20450
|
);
|
|
20372
20451
|
var TableColumn = (props) => {
|
|
20373
|
-
const TableColumnComponent2 = (0,
|
|
20374
|
-
return /* @__PURE__ */ (0,
|
|
20452
|
+
const TableColumnComponent2 = (0, import_react95.useMemo)(() => TableColumnFactory(), []);
|
|
20453
|
+
return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(TableColumnComponent2, { ...props });
|
|
20375
20454
|
};
|
|
20376
20455
|
|
|
20377
20456
|
// src/components/layout/table/TableColumnSwitcher.tsx
|
|
20378
|
-
var
|
|
20457
|
+
var import_react96 = require("react");
|
|
20379
20458
|
var import_lucide_react25 = require("lucide-react");
|
|
20380
|
-
var
|
|
20459
|
+
var import_jsx_runtime91 = require("react/jsx-runtime");
|
|
20381
20460
|
var TableColumnSwitcherPopUp = ({ ...props }) => {
|
|
20382
20461
|
const { table } = useTableStateWithoutSizingContext();
|
|
20383
20462
|
const translation = useHightideTranslation();
|
|
20384
|
-
const containerRef = (0,
|
|
20385
|
-
const generatedId = (0,
|
|
20386
|
-
const ids = (0,
|
|
20463
|
+
const containerRef = (0, import_react96.useRef)(null);
|
|
20464
|
+
const generatedId = (0, import_react96.useId)();
|
|
20465
|
+
const ids = (0, import_react96.useMemo)(() => ({
|
|
20387
20466
|
popup: props.id ?? `table-column-picker-popup-${generatedId}`,
|
|
20388
20467
|
label: `table-column-picker-label-${generatedId}`
|
|
20389
20468
|
}), [generatedId, props.id]);
|
|
@@ -20392,7 +20471,7 @@ var TableColumnSwitcherPopUp = ({ ...props }) => {
|
|
|
20392
20471
|
const tableState = table.getState();
|
|
20393
20472
|
const columnOrder = tableState.columnOrder;
|
|
20394
20473
|
const columnPinning = tableState.columnPinning;
|
|
20395
|
-
const columns = (0,
|
|
20474
|
+
const columns = (0, import_react96.useMemo)(() => {
|
|
20396
20475
|
const allColumns = table.getAllColumns();
|
|
20397
20476
|
const leftPinned = [];
|
|
20398
20477
|
const unpinned = [];
|
|
@@ -20508,7 +20587,7 @@ var TableColumnSwitcherPopUp = ({ ...props }) => {
|
|
|
20508
20587
|
}
|
|
20509
20588
|
return columnId;
|
|
20510
20589
|
};
|
|
20511
|
-
return /* @__PURE__ */ (0,
|
|
20590
|
+
return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
|
|
20512
20591
|
PopUp,
|
|
20513
20592
|
{
|
|
20514
20593
|
...props,
|
|
@@ -20524,11 +20603,11 @@ var TableColumnSwitcherPopUp = ({ ...props }) => {
|
|
|
20524
20603
|
"aria-describedby": ids.label,
|
|
20525
20604
|
className: "flex-col-1 p-2 items-start min-w-72",
|
|
20526
20605
|
children: [
|
|
20527
|
-
/* @__PURE__ */ (0,
|
|
20528
|
-
/* @__PURE__ */ (0,
|
|
20529
|
-
/* @__PURE__ */ (0,
|
|
20606
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex-col-1", children: [
|
|
20607
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("span", { id: ids.label, className: "typography-title-md font-semibold", children: translation("columnPicker") }),
|
|
20608
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("span", { className: "text-description typography-label-sm mb-2", children: translation("columnPickerDescription") })
|
|
20530
20609
|
] }),
|
|
20531
|
-
/* @__PURE__ */ (0,
|
|
20610
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "flex-col-1 overflow-y-auto w-full", children: columns.map((column, index) => {
|
|
20532
20611
|
const columnId = column.id;
|
|
20533
20612
|
const isVisible = column.getIsVisible();
|
|
20534
20613
|
const pinState = column.getIsPinned();
|
|
@@ -20539,9 +20618,9 @@ var TableColumnSwitcherPopUp = ({ ...props }) => {
|
|
|
20539
20618
|
const nextIsPinned = nextColumn?.getCanPin() && !!nextColumn.getIsPinned();
|
|
20540
20619
|
const canMoveUp = index > 0 && !isPinned && !prevIsPinned;
|
|
20541
20620
|
const canMoveDown = index < columns.length - 1 && !isPinned && !nextIsPinned;
|
|
20542
|
-
return /* @__PURE__ */ (0,
|
|
20543
|
-
/* @__PURE__ */ (0,
|
|
20544
|
-
/* @__PURE__ */ (0,
|
|
20621
|
+
return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "flex-row-2 items-center justify-between gap-2 w-full", children: [
|
|
20622
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "flex-row-2 gap-1", children: isPinned ? /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_jsx_runtime91.Fragment, { children: [
|
|
20623
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
20545
20624
|
IconButton,
|
|
20546
20625
|
{
|
|
20547
20626
|
tooltip: translation("pinToLeft"),
|
|
@@ -20550,10 +20629,10 @@ var TableColumnSwitcherPopUp = ({ ...props }) => {
|
|
|
20550
20629
|
coloringStyle: "text",
|
|
20551
20630
|
disabled: pinState === "left",
|
|
20552
20631
|
onClick: () => pinColumn(columnId, "left"),
|
|
20553
|
-
children: /* @__PURE__ */ (0,
|
|
20632
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react25.ChevronLeft, { className: "size-4" })
|
|
20554
20633
|
}
|
|
20555
20634
|
),
|
|
20556
|
-
/* @__PURE__ */ (0,
|
|
20635
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
20557
20636
|
IconButton,
|
|
20558
20637
|
{
|
|
20559
20638
|
tooltip: translation("pinToRight"),
|
|
@@ -20562,11 +20641,11 @@ var TableColumnSwitcherPopUp = ({ ...props }) => {
|
|
|
20562
20641
|
coloringStyle: "text",
|
|
20563
20642
|
disabled: pinState === "right",
|
|
20564
20643
|
onClick: () => pinColumn(columnId, "right"),
|
|
20565
|
-
children: /* @__PURE__ */ (0,
|
|
20644
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react25.ChevronRight, { className: "size-4" })
|
|
20566
20645
|
}
|
|
20567
20646
|
)
|
|
20568
|
-
] }) : /* @__PURE__ */ (0,
|
|
20569
|
-
/* @__PURE__ */ (0,
|
|
20647
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_jsx_runtime91.Fragment, { children: [
|
|
20648
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
20570
20649
|
IconButton,
|
|
20571
20650
|
{
|
|
20572
20651
|
tooltip: translation("increaseSortingPriority"),
|
|
@@ -20575,10 +20654,10 @@ var TableColumnSwitcherPopUp = ({ ...props }) => {
|
|
|
20575
20654
|
coloringStyle: "text",
|
|
20576
20655
|
disabled: !canMoveUp,
|
|
20577
20656
|
onClick: () => moveColumn(columnId, "up"),
|
|
20578
|
-
children: /* @__PURE__ */ (0,
|
|
20657
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react25.ChevronUp, { className: "size-4" })
|
|
20579
20658
|
}
|
|
20580
20659
|
),
|
|
20581
|
-
/* @__PURE__ */ (0,
|
|
20660
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
20582
20661
|
IconButton,
|
|
20583
20662
|
{
|
|
20584
20663
|
tooltip: translation("decreaseSortingPriority"),
|
|
@@ -20587,13 +20666,13 @@ var TableColumnSwitcherPopUp = ({ ...props }) => {
|
|
|
20587
20666
|
coloringStyle: "text",
|
|
20588
20667
|
disabled: !canMoveDown,
|
|
20589
20668
|
onClick: () => moveColumn(columnId, "down"),
|
|
20590
|
-
children: /* @__PURE__ */ (0,
|
|
20669
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react25.ChevronDown, { className: "size-4" })
|
|
20591
20670
|
}
|
|
20592
20671
|
)
|
|
20593
20672
|
] }) }),
|
|
20594
|
-
/* @__PURE__ */ (0,
|
|
20595
|
-
/* @__PURE__ */ (0,
|
|
20596
|
-
/* @__PURE__ */ (0,
|
|
20673
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "flex-1 typography-label-lg", children: getColumnHeader(columnId) }),
|
|
20674
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_jsx_runtime91.Fragment, { children: [
|
|
20675
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Visibility, { isVisible: enableHiding, children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
20597
20676
|
IconButton,
|
|
20598
20677
|
{
|
|
20599
20678
|
tooltip: translation("changeVisibility"),
|
|
@@ -20603,10 +20682,10 @@ var TableColumnSwitcherPopUp = ({ ...props }) => {
|
|
|
20603
20682
|
disabled: !column.getCanHide(),
|
|
20604
20683
|
onClick: () => toggleColumnVisibility(columnId),
|
|
20605
20684
|
"aria-label": isVisible ? translation("hideColumn") : translation("showColumn"),
|
|
20606
|
-
children: isVisible ? /* @__PURE__ */ (0,
|
|
20685
|
+
children: isVisible ? /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react25.Eye, { className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react25.EyeOff, { className: "size-4" })
|
|
20607
20686
|
}
|
|
20608
20687
|
) }),
|
|
20609
|
-
/* @__PURE__ */ (0,
|
|
20688
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Visibility, { isVisible: enableColumnPinning, children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
20610
20689
|
IconButton,
|
|
20611
20690
|
{
|
|
20612
20691
|
tooltip: translation("changePinning"),
|
|
@@ -20622,7 +20701,7 @@ var TableColumnSwitcherPopUp = ({ ...props }) => {
|
|
|
20622
20701
|
}
|
|
20623
20702
|
},
|
|
20624
20703
|
"aria-label": isPinned ? translation("unpin") : translation("pinLeft"),
|
|
20625
|
-
children: !isPinned ? /* @__PURE__ */ (0,
|
|
20704
|
+
children: !isPinned ? /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react25.PinOff, { className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react25.Pin, { className: "size-4" })
|
|
20626
20705
|
}
|
|
20627
20706
|
) })
|
|
20628
20707
|
] })
|
|
@@ -20634,32 +20713,32 @@ var TableColumnSwitcherPopUp = ({ ...props }) => {
|
|
|
20634
20713
|
};
|
|
20635
20714
|
var TableColumnSwitcher = ({ buttonProps, ...props }) => {
|
|
20636
20715
|
const translation = useHightideTranslation();
|
|
20637
|
-
return /* @__PURE__ */ (0,
|
|
20638
|
-
/* @__PURE__ */ (0,
|
|
20716
|
+
return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(PopUpRoot, { children: [
|
|
20717
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(PopUpOpener, { children: ({ props: props2 }) => /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
20639
20718
|
IconButton,
|
|
20640
20719
|
{
|
|
20641
20720
|
...props2,
|
|
20642
20721
|
color: "neutral",
|
|
20643
20722
|
tooltip: translation("changeColumnDisplay"),
|
|
20644
20723
|
...buttonProps,
|
|
20645
|
-
children: /* @__PURE__ */ (0,
|
|
20724
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_lucide_react25.Columns3Cog, { className: "size-5" })
|
|
20646
20725
|
}
|
|
20647
20726
|
) }),
|
|
20648
|
-
/* @__PURE__ */ (0,
|
|
20727
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(TableColumnSwitcherPopUp, { ...props })
|
|
20649
20728
|
] });
|
|
20650
20729
|
};
|
|
20651
20730
|
|
|
20652
20731
|
// src/components/user-interaction/Combobox/Combobox.tsx
|
|
20653
|
-
var
|
|
20732
|
+
var import_react102 = require("react");
|
|
20654
20733
|
|
|
20655
20734
|
// src/components/user-interaction/Combobox/ComboboxRoot.tsx
|
|
20656
|
-
var
|
|
20735
|
+
var import_react99 = require("react");
|
|
20657
20736
|
|
|
20658
20737
|
// src/components/user-interaction/Combobox/ComboboxContext.tsx
|
|
20659
|
-
var
|
|
20660
|
-
var ComboboxContext = (0,
|
|
20738
|
+
var import_react97 = require("react");
|
|
20739
|
+
var ComboboxContext = (0, import_react97.createContext)(null);
|
|
20661
20740
|
function useComboboxContext() {
|
|
20662
|
-
const ctx = (0,
|
|
20741
|
+
const ctx = (0, import_react97.useContext)(ComboboxContext);
|
|
20663
20742
|
if (ctx == null) {
|
|
20664
20743
|
throw new Error("useComboboxContext must be used within ComboboxRoot");
|
|
20665
20744
|
}
|
|
@@ -20667,7 +20746,7 @@ function useComboboxContext() {
|
|
|
20667
20746
|
}
|
|
20668
20747
|
|
|
20669
20748
|
// src/components/user-interaction/Combobox/useCombobox.ts
|
|
20670
|
-
var
|
|
20749
|
+
var import_react98 = require("react");
|
|
20671
20750
|
function useCombobox({
|
|
20672
20751
|
options,
|
|
20673
20752
|
searchQuery: controlledSearchQuery,
|
|
@@ -20682,36 +20761,36 @@ function useCombobox({
|
|
|
20682
20761
|
const { searchResult: visibleOptions } = useSearch({
|
|
20683
20762
|
items: options,
|
|
20684
20763
|
searchQuery: searchQuery ?? "",
|
|
20685
|
-
toTags: (0,
|
|
20764
|
+
toTags: (0, import_react98.useCallback)((o) => [o.label], [])
|
|
20686
20765
|
});
|
|
20687
|
-
const visibleOptionIds = (0,
|
|
20766
|
+
const visibleOptionIds = (0, import_react98.useMemo)(
|
|
20688
20767
|
() => visibleOptions.map((o) => o.id),
|
|
20689
20768
|
[visibleOptions]
|
|
20690
20769
|
);
|
|
20691
|
-
const enabledOptionIds = (0,
|
|
20770
|
+
const enabledOptionIds = (0, import_react98.useMemo)(
|
|
20692
20771
|
() => visibleOptions.filter((o) => !o.disabled).map((o) => o.id),
|
|
20693
20772
|
[visibleOptions]
|
|
20694
20773
|
);
|
|
20695
20774
|
const listNav = useListNavigation({ options: enabledOptionIds });
|
|
20696
|
-
const highlightItem = (0,
|
|
20775
|
+
const highlightItem = (0, import_react98.useCallback)(
|
|
20697
20776
|
(id) => {
|
|
20698
20777
|
if (!enabledOptionIds.includes(id)) return;
|
|
20699
20778
|
listNav.highlight(id);
|
|
20700
20779
|
},
|
|
20701
20780
|
[enabledOptionIds, listNav]
|
|
20702
20781
|
);
|
|
20703
|
-
const state = (0,
|
|
20782
|
+
const state = (0, import_react98.useMemo)(
|
|
20704
20783
|
() => ({
|
|
20705
20784
|
searchQuery: searchQuery ?? "",
|
|
20706
20785
|
highlightedId: listNav.highlightedId
|
|
20707
20786
|
}),
|
|
20708
20787
|
[searchQuery, listNav.highlightedId]
|
|
20709
20788
|
);
|
|
20710
|
-
const computedState = (0,
|
|
20789
|
+
const computedState = (0, import_react98.useMemo)(
|
|
20711
20790
|
() => ({ visibleOptionIds }),
|
|
20712
20791
|
[visibleOptionIds]
|
|
20713
20792
|
);
|
|
20714
|
-
const actions = (0,
|
|
20793
|
+
const actions = (0, import_react98.useMemo)(
|
|
20715
20794
|
() => ({
|
|
20716
20795
|
setSearchQuery,
|
|
20717
20796
|
highlightFirst: listNav.first,
|
|
@@ -20722,7 +20801,7 @@ function useCombobox({
|
|
|
20722
20801
|
}),
|
|
20723
20802
|
[setSearchQuery, listNav.first, listNav.last, listNav.next, listNav.previous, highlightItem]
|
|
20724
20803
|
);
|
|
20725
|
-
return (0,
|
|
20804
|
+
return (0, import_react98.useMemo)(
|
|
20726
20805
|
() => ({
|
|
20727
20806
|
...state,
|
|
20728
20807
|
...computedState,
|
|
@@ -20733,20 +20812,20 @@ function useCombobox({
|
|
|
20733
20812
|
}
|
|
20734
20813
|
|
|
20735
20814
|
// src/components/user-interaction/Combobox/ComboboxRoot.tsx
|
|
20736
|
-
var
|
|
20815
|
+
var import_jsx_runtime92 = require("react/jsx-runtime");
|
|
20737
20816
|
function ComboboxRoot({
|
|
20738
20817
|
children,
|
|
20739
20818
|
onItemClick,
|
|
20740
20819
|
...hookProps
|
|
20741
20820
|
}) {
|
|
20742
|
-
const [options, setOptions] = (0,
|
|
20743
|
-
const [listRef, setListRef] = (0,
|
|
20744
|
-
const generatedId = (0,
|
|
20745
|
-
const [ids, setIds] = (0,
|
|
20821
|
+
const [options, setOptions] = (0, import_react99.useState)([]);
|
|
20822
|
+
const [listRef, setListRef] = (0, import_react99.useState)(null);
|
|
20823
|
+
const generatedId = (0, import_react99.useId)();
|
|
20824
|
+
const [ids, setIds] = (0, import_react99.useState)({
|
|
20746
20825
|
trigger: `combobox-${generatedId}`,
|
|
20747
20826
|
listbox: `combobox-${generatedId}-listbox`
|
|
20748
20827
|
});
|
|
20749
|
-
const registerOption = (0,
|
|
20828
|
+
const registerOption = (0, import_react99.useCallback)(
|
|
20750
20829
|
(option) => {
|
|
20751
20830
|
setOptions((prev) => {
|
|
20752
20831
|
const next = prev.filter((o) => o.id !== option.id);
|
|
@@ -20758,11 +20837,11 @@ function ComboboxRoot({
|
|
|
20758
20837
|
},
|
|
20759
20838
|
[]
|
|
20760
20839
|
);
|
|
20761
|
-
const registerList = (0,
|
|
20840
|
+
const registerList = (0, import_react99.useCallback)((ref) => {
|
|
20762
20841
|
setListRef(() => ref);
|
|
20763
20842
|
return () => setListRef(null);
|
|
20764
20843
|
}, []);
|
|
20765
|
-
const hookOptions = (0,
|
|
20844
|
+
const hookOptions = (0, import_react99.useMemo)(
|
|
20766
20845
|
() => options.map((o) => ({
|
|
20767
20846
|
id: o.id,
|
|
20768
20847
|
label: o.label,
|
|
@@ -20771,38 +20850,38 @@ function ComboboxRoot({
|
|
|
20771
20850
|
[options]
|
|
20772
20851
|
);
|
|
20773
20852
|
const state = useCombobox({ ...hookProps, options: hookOptions });
|
|
20774
|
-
const idToOptionMap = (0,
|
|
20853
|
+
const idToOptionMap = (0, import_react99.useMemo)(() => {
|
|
20775
20854
|
return options.reduce((acc, o) => {
|
|
20776
20855
|
acc[o.id] = o;
|
|
20777
20856
|
return acc;
|
|
20778
20857
|
}, {});
|
|
20779
20858
|
}, [options]);
|
|
20780
|
-
const selectOption = (0,
|
|
20859
|
+
const selectOption = (0, import_react99.useCallback)(
|
|
20781
20860
|
(id) => {
|
|
20782
20861
|
const option = idToOptionMap[id];
|
|
20783
20862
|
if (option) onItemClick?.(option.value);
|
|
20784
20863
|
},
|
|
20785
20864
|
[idToOptionMap, onItemClick]
|
|
20786
20865
|
);
|
|
20787
|
-
const config = (0,
|
|
20866
|
+
const config = (0, import_react99.useMemo)(
|
|
20788
20867
|
() => ({ ids, setIds }),
|
|
20789
20868
|
[ids, setIds]
|
|
20790
20869
|
);
|
|
20791
|
-
const layout = (0,
|
|
20870
|
+
const layout = (0, import_react99.useMemo)(
|
|
20792
20871
|
() => ({
|
|
20793
20872
|
listRef: listRef ?? { current: null },
|
|
20794
20873
|
registerList
|
|
20795
20874
|
}),
|
|
20796
20875
|
[listRef, registerList]
|
|
20797
20876
|
);
|
|
20798
|
-
const search = (0,
|
|
20877
|
+
const search = (0, import_react99.useMemo)(
|
|
20799
20878
|
() => ({
|
|
20800
20879
|
searchQuery: state.searchQuery,
|
|
20801
20880
|
setSearchQuery: state.setSearchQuery
|
|
20802
20881
|
}),
|
|
20803
20882
|
[state.searchQuery, state.setSearchQuery]
|
|
20804
20883
|
);
|
|
20805
|
-
const contextValue = (0,
|
|
20884
|
+
const contextValue = (0, import_react99.useMemo)(
|
|
20806
20885
|
() => ({
|
|
20807
20886
|
highlightedId: state.highlightedId,
|
|
20808
20887
|
options,
|
|
@@ -20836,18 +20915,18 @@ function ComboboxRoot({
|
|
|
20836
20915
|
search
|
|
20837
20916
|
]
|
|
20838
20917
|
);
|
|
20839
|
-
return /* @__PURE__ */ (0,
|
|
20918
|
+
return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(ComboboxContext.Provider, { value: contextValue, children });
|
|
20840
20919
|
}
|
|
20841
20920
|
|
|
20842
20921
|
// src/components/user-interaction/Combobox/ComboboxInput.tsx
|
|
20843
|
-
var
|
|
20844
|
-
var
|
|
20845
|
-
var ComboboxInput = (0,
|
|
20922
|
+
var import_react100 = require("react");
|
|
20923
|
+
var import_jsx_runtime93 = require("react/jsx-runtime");
|
|
20924
|
+
var ComboboxInput = (0, import_react100.forwardRef)(
|
|
20846
20925
|
function ComboboxInput2(props, ref) {
|
|
20847
20926
|
const translation = useHightideTranslation();
|
|
20848
20927
|
const context = useComboboxContext();
|
|
20849
20928
|
const { highlightNext, highlightPrevious, highlightFirst, highlightLast, highlightedId, selectOption } = context;
|
|
20850
|
-
const handleKeyDown = (0,
|
|
20929
|
+
const handleKeyDown = (0, import_react100.useCallback)(
|
|
20851
20930
|
(event) => {
|
|
20852
20931
|
props.onKeyDown?.(event);
|
|
20853
20932
|
switch (event.key) {
|
|
@@ -20879,7 +20958,7 @@ var ComboboxInput = (0, import_react99.forwardRef)(
|
|
|
20879
20958
|
},
|
|
20880
20959
|
[props, highlightedId, selectOption, highlightNext, highlightPrevious, highlightFirst, highlightLast]
|
|
20881
20960
|
);
|
|
20882
|
-
return /* @__PURE__ */ (0,
|
|
20961
|
+
return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
|
|
20883
20962
|
Input,
|
|
20884
20963
|
{
|
|
20885
20964
|
...props,
|
|
@@ -20899,17 +20978,17 @@ var ComboboxInput = (0, import_react99.forwardRef)(
|
|
|
20899
20978
|
);
|
|
20900
20979
|
|
|
20901
20980
|
// src/components/user-interaction/Combobox/ComboboxList.tsx
|
|
20902
|
-
var
|
|
20903
|
-
var
|
|
20904
|
-
var
|
|
20905
|
-
var ComboboxList = (0,
|
|
20981
|
+
var import_react101 = require("react");
|
|
20982
|
+
var import_clsx36 = __toESM(require("clsx"));
|
|
20983
|
+
var import_jsx_runtime94 = require("react/jsx-runtime");
|
|
20984
|
+
var ComboboxList = (0, import_react101.forwardRef)(
|
|
20906
20985
|
function ComboboxList2({ children, ...props }, ref) {
|
|
20907
20986
|
const translation = useHightideTranslation();
|
|
20908
20987
|
const context = useComboboxContext();
|
|
20909
20988
|
const { layout } = context;
|
|
20910
20989
|
const { registerList } = layout;
|
|
20911
|
-
const innerRef = (0,
|
|
20912
|
-
(0,
|
|
20990
|
+
const innerRef = (0, import_react101.useRef)(null);
|
|
20991
|
+
(0, import_react101.useEffect)(() => {
|
|
20913
20992
|
return registerList(innerRef);
|
|
20914
20993
|
}, [registerList]);
|
|
20915
20994
|
const setRefs = (node) => {
|
|
@@ -20918,7 +20997,7 @@ var ComboboxList = (0, import_react100.forwardRef)(
|
|
|
20918
20997
|
else if (ref) ref.current = node;
|
|
20919
20998
|
};
|
|
20920
20999
|
const count = context.visibleOptionIds.length;
|
|
20921
|
-
return /* @__PURE__ */ (0,
|
|
21000
|
+
return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
|
|
20922
21001
|
"ul",
|
|
20923
21002
|
{
|
|
20924
21003
|
...props,
|
|
@@ -20930,7 +21009,7 @@ var ComboboxList = (0, import_react100.forwardRef)(
|
|
|
20930
21009
|
"data-name": "combobox-list",
|
|
20931
21010
|
children: [
|
|
20932
21011
|
children,
|
|
20933
|
-
/* @__PURE__ */ (0,
|
|
21012
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
20934
21013
|
"li",
|
|
20935
21014
|
{
|
|
20936
21015
|
role: "option",
|
|
@@ -20939,7 +21018,7 @@ var ComboboxList = (0, import_react100.forwardRef)(
|
|
|
20939
21018
|
"aria-live": "polite",
|
|
20940
21019
|
"aria-atomic": true,
|
|
20941
21020
|
"data-name": "combobox-list-status",
|
|
20942
|
-
className: (0,
|
|
21021
|
+
className: (0, import_clsx36.default)({ "sr-only": count > 0 }),
|
|
20943
21022
|
children: translation("nResultsFound", { count })
|
|
20944
21023
|
}
|
|
20945
21024
|
)
|
|
@@ -20950,8 +21029,8 @@ var ComboboxList = (0, import_react100.forwardRef)(
|
|
|
20950
21029
|
);
|
|
20951
21030
|
|
|
20952
21031
|
// src/components/user-interaction/Combobox/Combobox.tsx
|
|
20953
|
-
var
|
|
20954
|
-
var Combobox = (0,
|
|
21032
|
+
var import_jsx_runtime95 = require("react/jsx-runtime");
|
|
21033
|
+
var Combobox = (0, import_react102.forwardRef)(function Combobox2({
|
|
20955
21034
|
children,
|
|
20956
21035
|
onItemClick,
|
|
20957
21036
|
searchQuery,
|
|
@@ -20960,7 +21039,7 @@ var Combobox = (0, import_react101.forwardRef)(function Combobox2({
|
|
|
20960
21039
|
inputProps,
|
|
20961
21040
|
listProps
|
|
20962
21041
|
}, ref) {
|
|
20963
|
-
return /* @__PURE__ */ (0,
|
|
21042
|
+
return /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(
|
|
20964
21043
|
ComboboxRoot,
|
|
20965
21044
|
{
|
|
20966
21045
|
onItemClick,
|
|
@@ -20968,18 +21047,18 @@ var Combobox = (0, import_react101.forwardRef)(function Combobox2({
|
|
|
20968
21047
|
onSearchQueryChange,
|
|
20969
21048
|
initialSearchQuery,
|
|
20970
21049
|
children: [
|
|
20971
|
-
/* @__PURE__ */ (0,
|
|
20972
|
-
/* @__PURE__ */ (0,
|
|
21050
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(ComboboxInput, { ref, ...inputProps }),
|
|
21051
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(ComboboxList, { ...listProps, children })
|
|
20973
21052
|
]
|
|
20974
21053
|
}
|
|
20975
21054
|
);
|
|
20976
21055
|
});
|
|
20977
21056
|
|
|
20978
21057
|
// src/components/user-interaction/Combobox/ComboboxOption.tsx
|
|
20979
|
-
var
|
|
20980
|
-
var
|
|
20981
|
-
var
|
|
20982
|
-
var ComboboxOption = (0,
|
|
21058
|
+
var import_react103 = require("react");
|
|
21059
|
+
var import_clsx37 = __toESM(require("clsx"));
|
|
21060
|
+
var import_jsx_runtime96 = require("react/jsx-runtime");
|
|
21061
|
+
var ComboboxOption = (0, import_react103.forwardRef)(function ComboboxOption2({
|
|
20983
21062
|
children,
|
|
20984
21063
|
value,
|
|
20985
21064
|
label,
|
|
@@ -20990,11 +21069,11 @@ var ComboboxOption = (0, import_react102.forwardRef)(function ComboboxOption2({
|
|
|
20990
21069
|
}, ref) {
|
|
20991
21070
|
const context = useComboboxContext();
|
|
20992
21071
|
const { registerOption } = context;
|
|
20993
|
-
const itemRef = (0,
|
|
20994
|
-
const generatedId = (0,
|
|
21072
|
+
const itemRef = (0, import_react103.useRef)(null);
|
|
21073
|
+
const generatedId = (0, import_react103.useId)();
|
|
20995
21074
|
const optionId = idProp ?? `combobox-option-${generatedId}`;
|
|
20996
21075
|
const resolvedDisplay = children ?? label;
|
|
20997
|
-
(0,
|
|
21076
|
+
(0, import_react103.useEffect)(() => {
|
|
20998
21077
|
return registerOption({
|
|
20999
21078
|
id: optionId,
|
|
21000
21079
|
value,
|
|
@@ -21004,14 +21083,14 @@ var ComboboxOption = (0, import_react102.forwardRef)(function ComboboxOption2({
|
|
|
21004
21083
|
ref: itemRef
|
|
21005
21084
|
});
|
|
21006
21085
|
}, [optionId, value, label, resolvedDisplay, disabled, registerOption]);
|
|
21007
|
-
(0,
|
|
21086
|
+
(0, import_react103.useEffect)(() => {
|
|
21008
21087
|
if (context.highlightedId === optionId) {
|
|
21009
21088
|
itemRef.current?.scrollIntoView?.({ behavior: "smooth", block: "nearest" });
|
|
21010
21089
|
}
|
|
21011
21090
|
}, [context.highlightedId, optionId]);
|
|
21012
21091
|
const isVisible = context.visibleOptionIds.includes(optionId);
|
|
21013
21092
|
const isHighlighted = context.highlightedId === optionId;
|
|
21014
|
-
return /* @__PURE__ */ (0,
|
|
21093
|
+
return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
|
|
21015
21094
|
"li",
|
|
21016
21095
|
{
|
|
21017
21096
|
...restProps,
|
|
@@ -21030,7 +21109,7 @@ var ComboboxOption = (0, import_react102.forwardRef)(function ComboboxOption2({
|
|
|
21030
21109
|
"data-highlighted": isHighlighted ? "" : void 0,
|
|
21031
21110
|
"data-visible": isVisible ? "" : void 0,
|
|
21032
21111
|
"data-disabled": disabled ? "" : void 0,
|
|
21033
|
-
className: (0,
|
|
21112
|
+
className: (0, import_clsx37.default)(!isVisible && "hidden", className),
|
|
21034
21113
|
onClick: (event) => {
|
|
21035
21114
|
if (!disabled) {
|
|
21036
21115
|
context.selectOption(optionId);
|
|
@@ -21050,8 +21129,8 @@ var ComboboxOption = (0, import_react102.forwardRef)(function ComboboxOption2({
|
|
|
21050
21129
|
ComboboxOption.displayName = "ComboboxOption";
|
|
21051
21130
|
|
|
21052
21131
|
// src/components/user-interaction/CopyToClipboardWrapper.tsx
|
|
21053
|
-
var
|
|
21054
|
-
var
|
|
21132
|
+
var import_react104 = require("react");
|
|
21133
|
+
var import_clsx38 = require("clsx");
|
|
21055
21134
|
|
|
21056
21135
|
// src/utils/writeToClipboard.ts
|
|
21057
21136
|
var writeToClipboard = (text) => {
|
|
@@ -21060,7 +21139,7 @@ var writeToClipboard = (text) => {
|
|
|
21060
21139
|
|
|
21061
21140
|
// src/components/user-interaction/CopyToClipboardWrapper.tsx
|
|
21062
21141
|
var import_lucide_react26 = require("lucide-react");
|
|
21063
|
-
var
|
|
21142
|
+
var import_jsx_runtime97 = require("react/jsx-runtime");
|
|
21064
21143
|
var CopyToClipboardWrapper = ({
|
|
21065
21144
|
children,
|
|
21066
21145
|
textToCopy,
|
|
@@ -21073,8 +21152,8 @@ var CopyToClipboardWrapper = ({
|
|
|
21073
21152
|
...props
|
|
21074
21153
|
}) => {
|
|
21075
21154
|
const translation = useHightideTranslation();
|
|
21076
|
-
const [isShowingConfirmation, setIsShowingConfirmation] = (0,
|
|
21077
|
-
return /* @__PURE__ */ (0,
|
|
21155
|
+
const [isShowingConfirmation, setIsShowingConfirmation] = (0, import_react104.useState)(false);
|
|
21156
|
+
return /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
|
|
21078
21157
|
TooltipRoot,
|
|
21079
21158
|
{
|
|
21080
21159
|
isInitiallyShown,
|
|
@@ -21086,11 +21165,11 @@ var CopyToClipboardWrapper = ({
|
|
|
21086
21165
|
}
|
|
21087
21166
|
},
|
|
21088
21167
|
children: [
|
|
21089
|
-
/* @__PURE__ */ (0,
|
|
21168
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(TooltipTrigger, { children: ({ props: props2, callbackRef, disabled: disabled2 }) => /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
21090
21169
|
"div",
|
|
21091
21170
|
{
|
|
21092
21171
|
ref: callbackRef,
|
|
21093
|
-
className: (0,
|
|
21172
|
+
className: (0, import_clsx38.clsx)("w-fit hover:cursor-copy", containerClassName),
|
|
21094
21173
|
...disabled2 ? void 0 : props2,
|
|
21095
21174
|
onClick: () => {
|
|
21096
21175
|
if (disabled2) return;
|
|
@@ -21101,17 +21180,17 @@ var CopyToClipboardWrapper = ({
|
|
|
21101
21180
|
children
|
|
21102
21181
|
}
|
|
21103
21182
|
) }),
|
|
21104
|
-
/* @__PURE__ */ (0,
|
|
21183
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
21105
21184
|
TooltipDisplay,
|
|
21106
21185
|
{
|
|
21107
21186
|
alignment,
|
|
21108
21187
|
isAnimated,
|
|
21109
21188
|
...props,
|
|
21110
|
-
children: isShowingConfirmation ? /* @__PURE__ */ (0,
|
|
21111
|
-
/* @__PURE__ */ (0,
|
|
21189
|
+
children: isShowingConfirmation ? /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex-row-1", children: [
|
|
21190
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react26.CheckIcon, { size: 16, className: "text-positive" }),
|
|
21112
21191
|
translation("copied")
|
|
21113
|
-
] }) : /* @__PURE__ */ (0,
|
|
21114
|
-
/* @__PURE__ */ (0,
|
|
21192
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex-row-1 text-description", children: [
|
|
21193
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react26.Copy, { size: 16 }),
|
|
21115
21194
|
translation("clickToCopy")
|
|
21116
21195
|
] })
|
|
21117
21196
|
}
|
|
@@ -21122,18 +21201,18 @@ var CopyToClipboardWrapper = ({
|
|
|
21122
21201
|
};
|
|
21123
21202
|
|
|
21124
21203
|
// src/components/user-interaction/Menu.tsx
|
|
21125
|
-
var
|
|
21126
|
-
var
|
|
21127
|
-
var
|
|
21204
|
+
var import_react105 = require("react");
|
|
21205
|
+
var import_clsx39 = __toESM(require("clsx"));
|
|
21206
|
+
var import_jsx_runtime98 = require("react/jsx-runtime");
|
|
21128
21207
|
var MenuItem = ({
|
|
21129
21208
|
children,
|
|
21130
21209
|
onClick,
|
|
21131
21210
|
isDisabled = false,
|
|
21132
21211
|
className
|
|
21133
|
-
}) => /* @__PURE__ */ (0,
|
|
21212
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
|
|
21134
21213
|
"div",
|
|
21135
21214
|
{
|
|
21136
|
-
className: (0,
|
|
21215
|
+
className: (0, import_clsx39.default)("block px-3 py-1.5 first:rounded-t-md last:rounded-b-md text-sm font-semibold text-nowrap", {
|
|
21137
21216
|
"text-disabled cursor-not-allowed": isDisabled,
|
|
21138
21217
|
"text-menu-text hover:bg-primary/20": !isDisabled,
|
|
21139
21218
|
"cursor-pointer": !!onClick
|
|
@@ -21148,17 +21227,17 @@ var Menu = ({
|
|
|
21148
21227
|
disabled = false,
|
|
21149
21228
|
...props
|
|
21150
21229
|
}) => {
|
|
21151
|
-
const triggerRef = (0,
|
|
21152
|
-
const [isOpen, setIsOpen] = (0,
|
|
21230
|
+
const triggerRef = (0, import_react105.useRef)(null);
|
|
21231
|
+
const [isOpen, setIsOpen] = (0, import_react105.useState)(false);
|
|
21153
21232
|
const bag = {
|
|
21154
21233
|
isOpen,
|
|
21155
21234
|
close: () => setIsOpen(false),
|
|
21156
21235
|
toggleOpen: () => setIsOpen((prevState) => !prevState),
|
|
21157
21236
|
disabled
|
|
21158
21237
|
};
|
|
21159
|
-
return /* @__PURE__ */ (0,
|
|
21160
|
-
trigger(bag, (0,
|
|
21161
|
-
/* @__PURE__ */ (0,
|
|
21238
|
+
return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_jsx_runtime98.Fragment, { children: [
|
|
21239
|
+
trigger(bag, (0, import_react105.useCallback)((el) => triggerRef.current = el, [])),
|
|
21240
|
+
/* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
|
|
21162
21241
|
PopUp,
|
|
21163
21242
|
{
|
|
21164
21243
|
...props,
|
|
@@ -21179,21 +21258,21 @@ var Menu = ({
|
|
|
21179
21258
|
};
|
|
21180
21259
|
|
|
21181
21260
|
// src/components/user-interaction/MultiSelect/MultiSelectChipDisplay.tsx
|
|
21182
|
-
var
|
|
21261
|
+
var import_react106 = require("react");
|
|
21183
21262
|
var import_lucide_react27 = require("lucide-react");
|
|
21184
|
-
var
|
|
21185
|
-
var MultiSelectChipDisplayButton = (0,
|
|
21263
|
+
var import_jsx_runtime99 = require("react/jsx-runtime");
|
|
21264
|
+
var MultiSelectChipDisplayButton = (0, import_react106.forwardRef)(function MultiSelectChipDisplayButton2({ id, ...props }, ref) {
|
|
21186
21265
|
const translation = useHightideTranslation();
|
|
21187
21266
|
const context = useMultiSelectContext();
|
|
21188
21267
|
const { config, layout } = context;
|
|
21189
21268
|
const { setIds } = config;
|
|
21190
21269
|
const { registerTrigger } = layout;
|
|
21191
|
-
(0,
|
|
21270
|
+
(0, import_react106.useEffect)(() => {
|
|
21192
21271
|
if (id) setIds((prev) => ({ ...prev, trigger: id }));
|
|
21193
21272
|
}, [id, setIds]);
|
|
21194
|
-
const innerRef = (0,
|
|
21195
|
-
(0,
|
|
21196
|
-
(0,
|
|
21273
|
+
const innerRef = (0, import_react106.useRef)(null);
|
|
21274
|
+
(0, import_react106.useImperativeHandle)(ref, () => innerRef.current);
|
|
21275
|
+
(0, import_react106.useEffect)(() => {
|
|
21197
21276
|
const unregister = registerTrigger(innerRef);
|
|
21198
21277
|
return () => unregister();
|
|
21199
21278
|
}, [registerTrigger]);
|
|
@@ -21202,7 +21281,7 @@ var MultiSelectChipDisplayButton = (0, import_react105.forwardRef)(function Mult
|
|
|
21202
21281
|
const invalid = context.invalid;
|
|
21203
21282
|
const hasInteractions = !readOnly && !disabled;
|
|
21204
21283
|
const selectedOptions = context.selectedIds.map((oid) => context.idToOptionMap[oid]).filter(Boolean);
|
|
21205
|
-
return /* @__PURE__ */ (0,
|
|
21284
|
+
return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
|
|
21206
21285
|
"div",
|
|
21207
21286
|
{
|
|
21208
21287
|
...props,
|
|
@@ -21222,9 +21301,9 @@ var MultiSelectChipDisplayButton = (0, import_react105.forwardRef)(function Mult
|
|
|
21222
21301
|
"aria-disabled": disabled,
|
|
21223
21302
|
"aria-readonly": readOnly,
|
|
21224
21303
|
children: [
|
|
21225
|
-
selectedOptions.map((opt) => /* @__PURE__ */ (0,
|
|
21304
|
+
selectedOptions.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { "data-name": "multi-select-chip-display-chip", children: [
|
|
21226
21305
|
opt.display,
|
|
21227
|
-
/* @__PURE__ */ (0,
|
|
21306
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|
|
21228
21307
|
IconButton,
|
|
21229
21308
|
{
|
|
21230
21309
|
tooltip: translation("remove"),
|
|
@@ -21237,11 +21316,11 @@ var MultiSelectChipDisplayButton = (0, import_react105.forwardRef)(function Mult
|
|
|
21237
21316
|
color: "negative",
|
|
21238
21317
|
coloringStyle: "text",
|
|
21239
21318
|
className: "flex-row-0 items-center size-7 p-1",
|
|
21240
|
-
children: /* @__PURE__ */ (0,
|
|
21319
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_lucide_react27.XIcon, { className: "size-5" })
|
|
21241
21320
|
}
|
|
21242
21321
|
)
|
|
21243
21322
|
] }, opt.id)),
|
|
21244
|
-
/* @__PURE__ */ (0,
|
|
21323
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|
|
21245
21324
|
IconButton,
|
|
21246
21325
|
{
|
|
21247
21326
|
id: context.config.ids.trigger,
|
|
@@ -21270,31 +21349,31 @@ var MultiSelectChipDisplayButton = (0, import_react105.forwardRef)(function Mult
|
|
|
21270
21349
|
"aria-expanded": context.isOpen,
|
|
21271
21350
|
"aria-controls": context.isOpen ? context.config.ids.content : void 0,
|
|
21272
21351
|
className: "size-9",
|
|
21273
|
-
children: /* @__PURE__ */ (0,
|
|
21352
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_lucide_react27.Plus, {})
|
|
21274
21353
|
}
|
|
21275
21354
|
)
|
|
21276
21355
|
]
|
|
21277
21356
|
}
|
|
21278
21357
|
);
|
|
21279
21358
|
});
|
|
21280
|
-
var MultiSelectChipDisplay = (0,
|
|
21359
|
+
var MultiSelectChipDisplay = (0, import_react106.forwardRef)(
|
|
21281
21360
|
function MultiSelectChipDisplay2({
|
|
21282
21361
|
children,
|
|
21283
21362
|
contentPanelProps,
|
|
21284
21363
|
chipDisplayProps,
|
|
21285
21364
|
...props
|
|
21286
21365
|
}, ref) {
|
|
21287
|
-
return /* @__PURE__ */ (0,
|
|
21288
|
-
/* @__PURE__ */ (0,
|
|
21289
|
-
/* @__PURE__ */ (0,
|
|
21366
|
+
return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(MultiSelectRoot, { ...props, children: [
|
|
21367
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)(MultiSelectChipDisplayButton, { ref, ...chipDisplayProps }),
|
|
21368
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)(MultiSelectContent, { ...contentPanelProps, children })
|
|
21290
21369
|
] });
|
|
21291
21370
|
}
|
|
21292
21371
|
);
|
|
21293
21372
|
|
|
21294
21373
|
// src/components/user-interaction/ScrollPicker.tsx
|
|
21295
|
-
var
|
|
21296
|
-
var
|
|
21297
|
-
var
|
|
21374
|
+
var import_react107 = require("react");
|
|
21375
|
+
var import_clsx40 = __toESM(require("clsx"));
|
|
21376
|
+
var import_jsx_runtime100 = require("react/jsx-runtime");
|
|
21298
21377
|
var up = 1;
|
|
21299
21378
|
var down = -1;
|
|
21300
21379
|
var ScrollPicker = ({
|
|
@@ -21313,7 +21392,7 @@ var ScrollPicker = ({
|
|
|
21313
21392
|
transition,
|
|
21314
21393
|
items,
|
|
21315
21394
|
lastTimeStamp
|
|
21316
|
-
}, setAnimation] = (0,
|
|
21395
|
+
}, setAnimation] = (0, import_react107.useState)({
|
|
21317
21396
|
targetIndex: selectedIndex,
|
|
21318
21397
|
currentIndex: disabled ? selectedIndex : 0,
|
|
21319
21398
|
velocity: 0,
|
|
@@ -21329,7 +21408,7 @@ var ScrollPicker = ({
|
|
|
21329
21408
|
const itemHeight = 40;
|
|
21330
21409
|
const distance = 8;
|
|
21331
21410
|
const containerHeight = itemHeight * (itemsShownCount - 2) + distance * (itemsShownCount - 2 + 1);
|
|
21332
|
-
const getDirection = (0,
|
|
21411
|
+
const getDirection = (0, import_react107.useCallback)((targetIndex, currentIndex2, transition2, length) => {
|
|
21333
21412
|
if (targetIndex === currentIndex2) {
|
|
21334
21413
|
return transition2 > 0 ? up : down;
|
|
21335
21414
|
}
|
|
@@ -21339,7 +21418,7 @@ var ScrollPicker = ({
|
|
|
21339
21418
|
}
|
|
21340
21419
|
return distanceForward >= length / 2 ? down : up;
|
|
21341
21420
|
}, []);
|
|
21342
|
-
const animate = (0,
|
|
21421
|
+
const animate = (0, import_react107.useCallback)((timestamp, startTime) => {
|
|
21343
21422
|
setAnimation((prevState) => {
|
|
21344
21423
|
const {
|
|
21345
21424
|
targetIndex,
|
|
@@ -21412,7 +21491,7 @@ var ScrollPicker = ({
|
|
|
21412
21491
|
};
|
|
21413
21492
|
});
|
|
21414
21493
|
}, [disabled, getDirection, onChange]);
|
|
21415
|
-
(0,
|
|
21494
|
+
(0, import_react107.useEffect)(() => {
|
|
21416
21495
|
requestAnimationFrame((timestamp) => animate(timestamp, lastTimeStamp));
|
|
21417
21496
|
});
|
|
21418
21497
|
const opacity = (transition2, index, itemsCount) => {
|
|
@@ -21433,7 +21512,7 @@ var ScrollPicker = ({
|
|
|
21433
21512
|
}
|
|
21434
21513
|
return MathUtil.clamp(1 - opacityValue / max);
|
|
21435
21514
|
};
|
|
21436
|
-
return /* @__PURE__ */ (0,
|
|
21515
|
+
return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
|
|
21437
21516
|
"div",
|
|
21438
21517
|
{
|
|
21439
21518
|
className: "relative overflow-hidden",
|
|
@@ -21444,15 +21523,15 @@ var ScrollPicker = ({
|
|
|
21444
21523
|
setAnimation(({ velocity, ...animationData }) => ({ ...animationData, velocity: velocity + deltaY }));
|
|
21445
21524
|
}
|
|
21446
21525
|
},
|
|
21447
|
-
children: /* @__PURE__ */ (0,
|
|
21448
|
-
/* @__PURE__ */ (0,
|
|
21526
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "absolute top-1/2 -translate-y-1/2 -translate-x-1/2 left-1/2", children: [
|
|
21527
|
+
/* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
|
|
21449
21528
|
"div",
|
|
21450
21529
|
{
|
|
21451
21530
|
className: "absolute z-[1] top-1/2 -translate-y-1/2 -translate-x-1/2 left-1/2 w-full min-w-[40px] border border-divider/50 border-y-2 border-x-0 ",
|
|
21452
21531
|
style: { height: `${itemHeight}px` }
|
|
21453
21532
|
}
|
|
21454
21533
|
),
|
|
21455
|
-
/* @__PURE__ */ (0,
|
|
21534
|
+
/* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
|
|
21456
21535
|
"div",
|
|
21457
21536
|
{
|
|
21458
21537
|
className: "flex-col-2 select-none",
|
|
@@ -21460,10 +21539,10 @@ var ScrollPicker = ({
|
|
|
21460
21539
|
transform: `translateY(${-transition * (distance + itemHeight)}px)`,
|
|
21461
21540
|
columnGap: `${distance}px`
|
|
21462
21541
|
},
|
|
21463
|
-
children: shownItems.map(({ name, index }, arrayIndex) => /* @__PURE__ */ (0,
|
|
21542
|
+
children: shownItems.map(({ name, index }, arrayIndex) => /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
|
|
21464
21543
|
"div",
|
|
21465
21544
|
{
|
|
21466
|
-
className: (0,
|
|
21545
|
+
className: (0, import_clsx40.default)(
|
|
21467
21546
|
`flex-col-2 items-center justify-center rounded-md`,
|
|
21468
21547
|
{
|
|
21469
21548
|
"text-primary font-bold": currentIndex === index,
|
|
@@ -21490,8 +21569,8 @@ var ScrollPicker = ({
|
|
|
21490
21569
|
};
|
|
21491
21570
|
|
|
21492
21571
|
// src/components/user-interaction/Switch.tsx
|
|
21493
|
-
var
|
|
21494
|
-
var
|
|
21572
|
+
var import_react108 = require("react");
|
|
21573
|
+
var import_jsx_runtime101 = require("react/jsx-runtime");
|
|
21495
21574
|
var Switch = ({
|
|
21496
21575
|
value: controlledValue,
|
|
21497
21576
|
initialValue = false,
|
|
@@ -21505,7 +21584,7 @@ var Switch = ({
|
|
|
21505
21584
|
}) => {
|
|
21506
21585
|
const onEditCompleteStable = useEventCallbackStabilizer(onEditComplete);
|
|
21507
21586
|
const onValueChangeStable = useEventCallbackStabilizer(onValueChange);
|
|
21508
|
-
const onChangeWrapper = (0,
|
|
21587
|
+
const onChangeWrapper = (0, import_react108.useCallback)((value2) => {
|
|
21509
21588
|
onValueChangeStable(!value2);
|
|
21510
21589
|
onEditCompleteStable(!value2);
|
|
21511
21590
|
}, [onValueChangeStable, onEditCompleteStable]);
|
|
@@ -21514,7 +21593,7 @@ var Switch = ({
|
|
|
21514
21593
|
onValueChange: onChangeWrapper,
|
|
21515
21594
|
defaultValue: initialValue
|
|
21516
21595
|
});
|
|
21517
|
-
return /* @__PURE__ */ (0,
|
|
21596
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
|
|
21518
21597
|
"div",
|
|
21519
21598
|
{
|
|
21520
21599
|
...props,
|
|
@@ -21539,16 +21618,16 @@ var Switch = ({
|
|
|
21539
21618
|
"data-name": props["data-name"] ?? "switch",
|
|
21540
21619
|
"data-active": PropsUtil.dataAttributes.bool(value),
|
|
21541
21620
|
...PropsUtil.dataAttributes.interactionStates({ disabled, invalid, readOnly, required }),
|
|
21542
|
-
children: /* @__PURE__ */ (0,
|
|
21621
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { "data-name": "switch-track", className: "switch-track", children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { "data-name": "switch-thumb", "data-active": PropsUtil.dataAttributes.bool(value), className: "switch-thumb" }) })
|
|
21543
21622
|
}
|
|
21544
21623
|
);
|
|
21545
21624
|
};
|
|
21546
21625
|
|
|
21547
21626
|
// src/components/user-interaction/Textarea.tsx
|
|
21548
|
-
var
|
|
21549
|
-
var
|
|
21550
|
-
var
|
|
21551
|
-
var Textarea = (0,
|
|
21627
|
+
var import_react109 = require("react");
|
|
21628
|
+
var import_clsx41 = __toESM(require("clsx"));
|
|
21629
|
+
var import_jsx_runtime102 = require("react/jsx-runtime");
|
|
21630
|
+
var Textarea = (0, import_react109.forwardRef)(function Textarea2({
|
|
21552
21631
|
value: controlledValue,
|
|
21553
21632
|
initialValue,
|
|
21554
21633
|
invalid = false,
|
|
@@ -21564,11 +21643,11 @@ var Textarea = (0, import_react108.forwardRef)(function Textarea2({
|
|
|
21564
21643
|
});
|
|
21565
21644
|
const { restartTimer, clearTimer } = useDelay(saveDelayOptions);
|
|
21566
21645
|
const onEditCompleteStable = useEventCallbackStabilizer(onEditComplete);
|
|
21567
|
-
const onEditCompleteWrapper = (0,
|
|
21646
|
+
const onEditCompleteWrapper = (0, import_react109.useCallback)((text) => {
|
|
21568
21647
|
onEditCompleteStable(text);
|
|
21569
21648
|
clearTimer();
|
|
21570
21649
|
}, [onEditCompleteStable, clearTimer]);
|
|
21571
|
-
return /* @__PURE__ */ (0,
|
|
21650
|
+
return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
|
|
21572
21651
|
"textarea",
|
|
21573
21652
|
{
|
|
21574
21653
|
...props,
|
|
@@ -21602,12 +21681,12 @@ var TextareaWithHeadline = ({
|
|
|
21602
21681
|
containerClassName,
|
|
21603
21682
|
...props
|
|
21604
21683
|
}) => {
|
|
21605
|
-
const genId = (0,
|
|
21684
|
+
const genId = (0, import_react109.useId)();
|
|
21606
21685
|
const usedId = id ?? genId;
|
|
21607
|
-
return /* @__PURE__ */ (0,
|
|
21686
|
+
return /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
|
|
21608
21687
|
"div",
|
|
21609
21688
|
{
|
|
21610
|
-
className: (0,
|
|
21689
|
+
className: (0, import_clsx41.default)(
|
|
21611
21690
|
"group flex-col-3 border-2 rounded-lg",
|
|
21612
21691
|
{
|
|
21613
21692
|
"bg-input-background text-input-text hover:border-primary focus-within:border-primary": !disabled,
|
|
@@ -21616,13 +21695,13 @@ var TextareaWithHeadline = ({
|
|
|
21616
21695
|
containerClassName
|
|
21617
21696
|
),
|
|
21618
21697
|
children: [
|
|
21619
|
-
headline && /* @__PURE__ */ (0,
|
|
21620
|
-
/* @__PURE__ */ (0,
|
|
21698
|
+
headline && /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("label", { ...headlineProps, htmlFor: usedId, className: (0, import_clsx41.default)("typography-lable-md text-label", headlineProps.className), children: headline }),
|
|
21699
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
|
|
21621
21700
|
Textarea,
|
|
21622
21701
|
{
|
|
21623
21702
|
...props,
|
|
21624
21703
|
id: usedId,
|
|
21625
|
-
className: (0,
|
|
21704
|
+
className: (0, import_clsx41.default)(
|
|
21626
21705
|
"border-transparent focus:ring-0 focus-visible:ring-0 resize-none h-32",
|
|
21627
21706
|
className
|
|
21628
21707
|
)
|
|
@@ -21634,20 +21713,20 @@ var TextareaWithHeadline = ({
|
|
|
21634
21713
|
};
|
|
21635
21714
|
|
|
21636
21715
|
// src/components/user-interaction/data/FilterList.tsx
|
|
21637
|
-
var
|
|
21716
|
+
var import_react110 = require("react");
|
|
21638
21717
|
var import_lucide_react28 = require("lucide-react");
|
|
21639
|
-
var
|
|
21718
|
+
var import_jsx_runtime103 = require("react/jsx-runtime");
|
|
21640
21719
|
var FilterList = ({ value, onValueChange, availableItems }) => {
|
|
21641
21720
|
const translation = useHightideTranslation();
|
|
21642
21721
|
const filterValueToLabel = useFilterValueTranslation();
|
|
21643
|
-
const activeIds = (0,
|
|
21644
|
-
const inactiveItems = (0,
|
|
21645
|
-
const itemRecord = (0,
|
|
21722
|
+
const activeIds = (0, import_react110.useMemo)(() => value.map((item) => item.id), [value]);
|
|
21723
|
+
const inactiveItems = (0, import_react110.useMemo)(() => availableItems.filter((item) => !activeIds.includes(item.id)).sort((a, b) => a.label.localeCompare(b.label)), [availableItems, activeIds]);
|
|
21724
|
+
const itemRecord = (0, import_react110.useMemo)(() => availableItems.reduce((acc, item) => {
|
|
21646
21725
|
acc[item.id] = item;
|
|
21647
21726
|
return acc;
|
|
21648
21727
|
}, {}), [availableItems]);
|
|
21649
|
-
const [editState, setEditState] = (0,
|
|
21650
|
-
const valueWithEditState = (0,
|
|
21728
|
+
const [editState, setEditState] = (0, import_react110.useState)(void 0);
|
|
21729
|
+
const valueWithEditState = (0, import_react110.useMemo)(() => {
|
|
21651
21730
|
let foundEditValue = false;
|
|
21652
21731
|
for (const item of value) {
|
|
21653
21732
|
if (item.id === editState?.id) {
|
|
@@ -21660,13 +21739,13 @@ var FilterList = ({ value, onValueChange, availableItems }) => {
|
|
|
21660
21739
|
}
|
|
21661
21740
|
return value;
|
|
21662
21741
|
}, [value, editState]);
|
|
21663
|
-
return /* @__PURE__ */ (0,
|
|
21664
|
-
/* @__PURE__ */ (0,
|
|
21665
|
-
/* @__PURE__ */ (0,
|
|
21742
|
+
return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("div", { className: "flex-row-2 flex-wrap gap-y-2", children: [
|
|
21743
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(PopUpRoot, { children: [
|
|
21744
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)(PopUpOpener, { children: ({ toggleOpen, props }) => /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(Button, { ...props, onClick: toggleOpen, color: "neutral", size: "sm", className: "min-w-36", children: [
|
|
21666
21745
|
translation("addFilter"),
|
|
21667
|
-
/* @__PURE__ */ (0,
|
|
21746
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_lucide_react28.PlusIcon, { className: "size-4" })
|
|
21668
21747
|
] }) }),
|
|
21669
|
-
/* @__PURE__ */ (0,
|
|
21748
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)(PopUp, { className: "flex-col-2 p-2", children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(PopUpContext.Consumer, { children: ({ setIsOpen }) => /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
|
|
21670
21749
|
Combobox,
|
|
21671
21750
|
{
|
|
21672
21751
|
onItemClick: (id) => {
|
|
@@ -21683,7 +21762,7 @@ var FilterList = ({ value, onValueChange, availableItems }) => {
|
|
|
21683
21762
|
setEditState(newValue);
|
|
21684
21763
|
setIsOpen(false);
|
|
21685
21764
|
},
|
|
21686
|
-
children: inactiveItems.map((item) => /* @__PURE__ */ (0,
|
|
21765
|
+
children: inactiveItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(ComboboxOption, { value: item.id, label: item.label, children: [
|
|
21687
21766
|
DataTypeUtils.toIcon(item.dataType),
|
|
21688
21767
|
item.label
|
|
21689
21768
|
] }, item.id))
|
|
@@ -21693,7 +21772,7 @@ var FilterList = ({ value, onValueChange, availableItems }) => {
|
|
|
21693
21772
|
valueWithEditState.map((columnFilter) => {
|
|
21694
21773
|
const item = itemRecord[columnFilter.id];
|
|
21695
21774
|
if (!item) return null;
|
|
21696
|
-
return /* @__PURE__ */ (0,
|
|
21775
|
+
return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
|
|
21697
21776
|
PopUpRoot,
|
|
21698
21777
|
{
|
|
21699
21778
|
isOpen: editState?.id === columnFilter.id,
|
|
@@ -21711,11 +21790,11 @@ var FilterList = ({ value, onValueChange, availableItems }) => {
|
|
|
21711
21790
|
}
|
|
21712
21791
|
},
|
|
21713
21792
|
children: [
|
|
21714
|
-
/* @__PURE__ */ (0,
|
|
21715
|
-
/* @__PURE__ */ (0,
|
|
21793
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)(PopUpOpener, { children: ({ toggleOpen, props }) => /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(Button, { ...props, onClick: toggleOpen, color: "primary", coloringStyle: "tonal-outline", size: "sm", children: item.activeLabelBuilder ? item.activeLabelBuilder(columnFilter.value) : /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(import_jsx_runtime103.Fragment, { children: [
|
|
21794
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)("span", { className: "font-bold", children: item.label }),
|
|
21716
21795
|
filterValueToLabel(columnFilter.value, { tags: item.tags })
|
|
21717
21796
|
] }) }) }),
|
|
21718
|
-
/* @__PURE__ */ (0,
|
|
21797
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)(PopUpContext.Consumer, { children: ({ isOpen, setIsOpen }) => item.popUpBuilder ? item.popUpBuilder({
|
|
21719
21798
|
value: editState?.id === columnFilter.id ? editState.value : columnFilter.value,
|
|
21720
21799
|
onValueChange: (value2) => setEditState({ ...columnFilter, value: value2 }),
|
|
21721
21800
|
onRemove: () => {
|
|
@@ -21728,7 +21807,7 @@ var FilterList = ({ value, onValueChange, availableItems }) => {
|
|
|
21728
21807
|
name: item.label,
|
|
21729
21808
|
isOpen,
|
|
21730
21809
|
onClose: () => setIsOpen(false)
|
|
21731
|
-
}) : /* @__PURE__ */ (0,
|
|
21810
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
|
|
21732
21811
|
FilterPopUp,
|
|
21733
21812
|
{
|
|
21734
21813
|
name: item.label,
|
|
@@ -21755,18 +21834,18 @@ var FilterList = ({ value, onValueChange, availableItems }) => {
|
|
|
21755
21834
|
};
|
|
21756
21835
|
|
|
21757
21836
|
// src/components/user-interaction/data/SortingList.tsx
|
|
21758
|
-
var
|
|
21837
|
+
var import_react111 = require("react");
|
|
21759
21838
|
var import_lucide_react29 = require("lucide-react");
|
|
21760
|
-
var
|
|
21761
|
-
var
|
|
21839
|
+
var import_clsx42 = __toESM(require("clsx"));
|
|
21840
|
+
var import_jsx_runtime104 = require("react/jsx-runtime");
|
|
21762
21841
|
var SortingList = ({ sorting, onSortingChange, availableItems }) => {
|
|
21763
21842
|
const translation = useHightideTranslation();
|
|
21764
|
-
const activeIds = (0,
|
|
21765
|
-
const inactiveItems = (0,
|
|
21843
|
+
const activeIds = (0, import_react111.useMemo)(() => sorting.map((item) => item.id), [sorting]);
|
|
21844
|
+
const inactiveItems = (0, import_react111.useMemo)(
|
|
21766
21845
|
() => availableItems.filter((item) => !activeIds.includes(item.id)).sort((a, b) => a.label.localeCompare(b.label)),
|
|
21767
21846
|
[availableItems, activeIds]
|
|
21768
21847
|
);
|
|
21769
|
-
const itemRecord = (0,
|
|
21848
|
+
const itemRecord = (0, import_react111.useMemo)(
|
|
21770
21849
|
() => availableItems.reduce(
|
|
21771
21850
|
(acc, item) => {
|
|
21772
21851
|
acc[item.id] = item;
|
|
@@ -21782,13 +21861,13 @@ var SortingList = ({ sorting, onSortingChange, availableItems }) => {
|
|
|
21782
21861
|
const removeSort = (columnId) => {
|
|
21783
21862
|
onSortingChange(sorting.filter((s) => s.id !== columnId));
|
|
21784
21863
|
};
|
|
21785
|
-
return /* @__PURE__ */ (0,
|
|
21786
|
-
/* @__PURE__ */ (0,
|
|
21787
|
-
/* @__PURE__ */ (0,
|
|
21864
|
+
return /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { className: "flex-row-2 flex-wrap gap-y-2", children: [
|
|
21865
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(PopUpRoot, { children: [
|
|
21866
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsx)(PopUpOpener, { children: ({ toggleOpen, props }) => /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(Button, { ...props, onClick: toggleOpen, color: "neutral", size: "sm", className: "min-w-36", children: [
|
|
21788
21867
|
translation("addSorting"),
|
|
21789
|
-
/* @__PURE__ */ (0,
|
|
21868
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_lucide_react29.PlusIcon, { className: "size-4" })
|
|
21790
21869
|
] }) }),
|
|
21791
|
-
/* @__PURE__ */ (0,
|
|
21870
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsx)(PopUp, { className: "flex-col-2 p-2", children: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(PopUpContext.Consumer, { children: ({ setIsOpen }) => /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
|
|
21792
21871
|
Combobox,
|
|
21793
21872
|
{
|
|
21794
21873
|
onItemClick: (id) => {
|
|
@@ -21797,7 +21876,7 @@ var SortingList = ({ sorting, onSortingChange, availableItems }) => {
|
|
|
21797
21876
|
onSortingChange([...sorting, { id: item.id, desc: false }]);
|
|
21798
21877
|
setIsOpen(false);
|
|
21799
21878
|
},
|
|
21800
|
-
children: inactiveItems.map((item) => /* @__PURE__ */ (0,
|
|
21879
|
+
children: inactiveItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(ComboboxOption, { value: item.id, label: item.label, children: [
|
|
21801
21880
|
DataTypeUtils.toIcon(item.dataType),
|
|
21802
21881
|
item.label
|
|
21803
21882
|
] }, item.id))
|
|
@@ -21807,21 +21886,21 @@ var SortingList = ({ sorting, onSortingChange, availableItems }) => {
|
|
|
21807
21886
|
sorting.map((columnSort) => {
|
|
21808
21887
|
const item = itemRecord[columnSort.id];
|
|
21809
21888
|
if (!item) return null;
|
|
21810
|
-
return /* @__PURE__ */ (0,
|
|
21811
|
-
/* @__PURE__ */ (0,
|
|
21812
|
-
/* @__PURE__ */ (0,
|
|
21813
|
-
columnSort.desc ? /* @__PURE__ */ (0,
|
|
21889
|
+
return /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(PopUpRoot, { children: [
|
|
21890
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsx)(PopUpOpener, { children: ({ toggleOpen, props }) => /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(Button, { ...props, onClick: toggleOpen, color: "secondary", coloringStyle: "tonal-outline", size: "sm", children: [
|
|
21891
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsx)("span", { className: "font-bold", children: item.label }),
|
|
21892
|
+
columnSort.desc ? /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_lucide_react29.ArrowDownWideNarrow, { className: "size-5" }) : /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_lucide_react29.ArrowUpNarrowWide, { className: "size-5" })
|
|
21814
21893
|
] }) }),
|
|
21815
|
-
/* @__PURE__ */ (0,
|
|
21894
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsx)(PopUpContext.Consumer, { children: ({ setIsOpen }) => /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(
|
|
21816
21895
|
PopUp,
|
|
21817
21896
|
{
|
|
21818
|
-
className: (0,
|
|
21897
|
+
className: (0, import_clsx42.default)("flex-col-3 p-3 min-w-64"),
|
|
21819
21898
|
onClose: () => setIsOpen(false),
|
|
21820
21899
|
children: [
|
|
21821
|
-
/* @__PURE__ */ (0,
|
|
21822
|
-
/* @__PURE__ */ (0,
|
|
21823
|
-
/* @__PURE__ */ (0,
|
|
21824
|
-
/* @__PURE__ */ (0,
|
|
21900
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { className: "flex-row-4 justify-between w-full items-center gap-2", children: [
|
|
21901
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsx)("span", { className: "typography-title-sm font-semibold", children: item.label }),
|
|
21902
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { className: "flex-row-0 shrink-0 items-center", children: [
|
|
21903
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
|
|
21825
21904
|
IconButton,
|
|
21826
21905
|
{
|
|
21827
21906
|
tooltip: translation("removeFilter"),
|
|
@@ -21832,10 +21911,10 @@ var SortingList = ({ sorting, onSortingChange, availableItems }) => {
|
|
|
21832
21911
|
color: "negative",
|
|
21833
21912
|
coloringStyle: "text",
|
|
21834
21913
|
size: "sm",
|
|
21835
|
-
children: /* @__PURE__ */ (0,
|
|
21914
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_lucide_react29.TrashIcon, { className: "size-4" })
|
|
21836
21915
|
}
|
|
21837
21916
|
),
|
|
21838
|
-
/* @__PURE__ */ (0,
|
|
21917
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
|
|
21839
21918
|
IconButton,
|
|
21840
21919
|
{
|
|
21841
21920
|
tooltip: translation("close"),
|
|
@@ -21843,13 +21922,13 @@ var SortingList = ({ sorting, onSortingChange, availableItems }) => {
|
|
|
21843
21922
|
color: "neutral",
|
|
21844
21923
|
coloringStyle: "text",
|
|
21845
21924
|
size: "sm",
|
|
21846
|
-
children: /* @__PURE__ */ (0,
|
|
21925
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_lucide_react29.XIcon, { className: "size-4" })
|
|
21847
21926
|
}
|
|
21848
21927
|
)
|
|
21849
21928
|
] })
|
|
21850
21929
|
] }),
|
|
21851
|
-
/* @__PURE__ */ (0,
|
|
21852
|
-
/* @__PURE__ */ (0,
|
|
21930
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { className: "flex-row-1 w-full gap-2", children: [
|
|
21931
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(
|
|
21853
21932
|
Button,
|
|
21854
21933
|
{
|
|
21855
21934
|
type: "button",
|
|
@@ -21859,12 +21938,12 @@ var SortingList = ({ sorting, onSortingChange, availableItems }) => {
|
|
|
21859
21938
|
size: "md",
|
|
21860
21939
|
onClick: () => setSortDirection(columnSort.id, false),
|
|
21861
21940
|
children: [
|
|
21862
|
-
/* @__PURE__ */ (0,
|
|
21941
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_lucide_react29.ArrowUpNarrowWide, { className: "size-4" }),
|
|
21863
21942
|
translation("sortAsc")
|
|
21864
21943
|
]
|
|
21865
21944
|
}
|
|
21866
21945
|
),
|
|
21867
|
-
/* @__PURE__ */ (0,
|
|
21946
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(
|
|
21868
21947
|
Button,
|
|
21869
21948
|
{
|
|
21870
21949
|
type: "button",
|
|
@@ -21874,7 +21953,7 @@ var SortingList = ({ sorting, onSortingChange, availableItems }) => {
|
|
|
21874
21953
|
size: "md",
|
|
21875
21954
|
onClick: () => setSortDirection(columnSort.id, true),
|
|
21876
21955
|
children: [
|
|
21877
|
-
/* @__PURE__ */ (0,
|
|
21956
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_lucide_react29.ArrowDownWideNarrow, { className: "size-4" }),
|
|
21878
21957
|
translation("sortDesc")
|
|
21879
21958
|
]
|
|
21880
21959
|
}
|
|
@@ -21889,7 +21968,7 @@ var SortingList = ({ sorting, onSortingChange, availableItems }) => {
|
|
|
21889
21968
|
};
|
|
21890
21969
|
|
|
21891
21970
|
// src/components/user-interaction/date/TimeDisplay.tsx
|
|
21892
|
-
var
|
|
21971
|
+
var import_jsx_runtime105 = require("react/jsx-runtime");
|
|
21893
21972
|
var TimeDisplay = ({
|
|
21894
21973
|
date,
|
|
21895
21974
|
mode = "daysFromToday",
|
|
@@ -21940,14 +22019,14 @@ var TimeDisplay = ({
|
|
|
21940
22019
|
} else {
|
|
21941
22020
|
fullString = `${zonedDate.getDate()}. ${monthToTranslation[zonedDate.getMonth()]} ${zonedDate.getFullYear()}`;
|
|
21942
22021
|
}
|
|
21943
|
-
return /* @__PURE__ */ (0,
|
|
22022
|
+
return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("span", { children: fullString });
|
|
21944
22023
|
};
|
|
21945
22024
|
|
|
21946
22025
|
// src/components/user-interaction/input/FlexibleDateTimeInput.tsx
|
|
21947
|
-
var
|
|
22026
|
+
var import_react112 = require("react");
|
|
21948
22027
|
var import_lucide_react30 = require("lucide-react");
|
|
21949
|
-
var
|
|
21950
|
-
var FlexibleDateTimeInput = (0,
|
|
22028
|
+
var import_jsx_runtime106 = require("react/jsx-runtime");
|
|
22029
|
+
var FlexibleDateTimeInput = (0, import_react112.forwardRef)(function FlexibleDateTimeInput2({
|
|
21951
22030
|
defaultMode = "date",
|
|
21952
22031
|
value: controlledValue,
|
|
21953
22032
|
initialValue,
|
|
@@ -21969,7 +22048,7 @@ var FlexibleDateTimeInput = (0, import_react111.forwardRef)(function FlexibleDat
|
|
|
21969
22048
|
const zoned = (date) => DateUtils.toZonedDate(date, timeZone);
|
|
21970
22049
|
const unzoned = (date) => DateUtils.fromZonedDate(date, timeZone);
|
|
21971
22050
|
const hasFixedTime = (date) => DateUtils.sameTime(zoned(date), fixedTime, true, true);
|
|
21972
|
-
const [mode, setMode] = (0,
|
|
22051
|
+
const [mode, setMode] = (0, import_react112.useState)(() => {
|
|
21973
22052
|
if (value && !hasFixedTime(value)) {
|
|
21974
22053
|
return "dateTime";
|
|
21975
22054
|
}
|
|
@@ -21977,7 +22056,7 @@ var FlexibleDateTimeInput = (0, import_react111.forwardRef)(function FlexibleDat
|
|
|
21977
22056
|
});
|
|
21978
22057
|
const toDate = (date) => unzoned(DateUtils.withTime(zoned(date), fixedTime));
|
|
21979
22058
|
const toDateTime = (date) => hasFixedTime(date) ? unzoned(DateUtils.withTime(zoned(date), zoned(/* @__PURE__ */ new Date()))) : date;
|
|
21980
|
-
return /* @__PURE__ */ (0,
|
|
22059
|
+
return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
|
|
21981
22060
|
DateTimeInput,
|
|
21982
22061
|
{
|
|
21983
22062
|
...props,
|
|
@@ -21990,7 +22069,7 @@ var FlexibleDateTimeInput = (0, import_react111.forwardRef)(function FlexibleDat
|
|
|
21990
22069
|
},
|
|
21991
22070
|
actions: [
|
|
21992
22071
|
...actions,
|
|
21993
|
-
/* @__PURE__ */ (0,
|
|
22072
|
+
/* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
|
|
21994
22073
|
IconButton,
|
|
21995
22074
|
{
|
|
21996
22075
|
size: "sm",
|
|
@@ -22004,7 +22083,7 @@ var FlexibleDateTimeInput = (0, import_react111.forwardRef)(function FlexibleDat
|
|
|
22004
22083
|
}
|
|
22005
22084
|
setMode(nextMode);
|
|
22006
22085
|
},
|
|
22007
|
-
children: mode === "date" ? /* @__PURE__ */ (0,
|
|
22086
|
+
children: mode === "date" ? /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_lucide_react30.ClockPlus, { className: "size-5" }) : /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_lucide_react30.ClockFading, { className: "size-5" })
|
|
22008
22087
|
},
|
|
22009
22088
|
"flexible-date-time-mode"
|
|
22010
22089
|
)
|
|
@@ -22014,11 +22093,11 @@ var FlexibleDateTimeInput = (0, import_react111.forwardRef)(function FlexibleDat
|
|
|
22014
22093
|
});
|
|
22015
22094
|
|
|
22016
22095
|
// src/components/user-interaction/input/InsideLabelInput.tsx
|
|
22017
|
-
var import_react112 = require("react");
|
|
22018
22096
|
var import_react113 = require("react");
|
|
22019
|
-
var
|
|
22020
|
-
var
|
|
22021
|
-
var
|
|
22097
|
+
var import_react114 = require("react");
|
|
22098
|
+
var import_clsx43 = __toESM(require("clsx"));
|
|
22099
|
+
var import_jsx_runtime107 = require("react/jsx-runtime");
|
|
22100
|
+
var InsideLabelInput = (0, import_react114.forwardRef)(function InsideLabelInput2({
|
|
22022
22101
|
id: customId,
|
|
22023
22102
|
value: controlledValue,
|
|
22024
22103
|
initialValue,
|
|
@@ -22031,11 +22110,11 @@ var InsideLabelInput = (0, import_react113.forwardRef)(function InsideLabelInput
|
|
|
22031
22110
|
onValueChange,
|
|
22032
22111
|
defaultValue: initialValue
|
|
22033
22112
|
});
|
|
22034
|
-
const [isFocused, setIsFocused] = (0,
|
|
22035
|
-
const generatedId = (0,
|
|
22113
|
+
const [isFocused, setIsFocused] = (0, import_react114.useState)(false);
|
|
22114
|
+
const generatedId = (0, import_react113.useId)();
|
|
22036
22115
|
const id = customId ?? generatedId;
|
|
22037
|
-
return /* @__PURE__ */ (0,
|
|
22038
|
-
/* @__PURE__ */ (0,
|
|
22116
|
+
return /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: (0, import_clsx43.default)("relative"), children: [
|
|
22117
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
|
|
22039
22118
|
Input,
|
|
22040
22119
|
{
|
|
22041
22120
|
...props,
|
|
@@ -22052,16 +22131,16 @@ var InsideLabelInput = (0, import_react113.forwardRef)(function InsideLabelInput
|
|
|
22052
22131
|
setIsFocused(false);
|
|
22053
22132
|
},
|
|
22054
22133
|
"aria-labelledby": id + "-label",
|
|
22055
|
-
className: (0,
|
|
22134
|
+
className: (0, import_clsx43.default)("h-14 px-4 pb-2 py-6.5", props.className)
|
|
22056
22135
|
}
|
|
22057
22136
|
),
|
|
22058
|
-
/* @__PURE__ */ (0,
|
|
22137
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
|
|
22059
22138
|
"label",
|
|
22060
22139
|
{
|
|
22061
22140
|
id: id + "-label",
|
|
22062
22141
|
"aria-hidden": true,
|
|
22063
22142
|
"data-display": isFocused || !!value ? "small" : "full",
|
|
22064
|
-
className: (0,
|
|
22143
|
+
className: (0, import_clsx43.default)(
|
|
22065
22144
|
// margin left to account for the border which is ignored for absolute positions
|
|
22066
22145
|
"absolute left-4 ml-0.5 top-2 transition-all delay-25 pointer-events-none touch-none",
|
|
22067
22146
|
"data-[display=small]:top-2 data-[display=small]:h-force-4.5 data-[display=small]:typography-caption-sm data-[display=small]:overflow-y-hidden",
|
|
@@ -22075,8 +22154,8 @@ var InsideLabelInput = (0, import_react113.forwardRef)(function InsideLabelInput
|
|
|
22075
22154
|
|
|
22076
22155
|
// src/components/user-interaction/input/SearchBar.tsx
|
|
22077
22156
|
var import_lucide_react31 = require("lucide-react");
|
|
22078
|
-
var
|
|
22079
|
-
var
|
|
22157
|
+
var import_clsx44 = require("clsx");
|
|
22158
|
+
var import_jsx_runtime108 = require("react/jsx-runtime");
|
|
22080
22159
|
var SearchBar = ({
|
|
22081
22160
|
value: controlledValue,
|
|
22082
22161
|
initialValue,
|
|
@@ -22092,8 +22171,8 @@ var SearchBar = ({
|
|
|
22092
22171
|
onValueChange,
|
|
22093
22172
|
defaultValue: initialValue
|
|
22094
22173
|
});
|
|
22095
|
-
return /* @__PURE__ */ (0,
|
|
22096
|
-
/* @__PURE__ */ (0,
|
|
22174
|
+
return /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)("div", { ...containerProps, className: (0, import_clsx44.clsx)("relative", containerProps?.className), children: [
|
|
22175
|
+
/* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
|
|
22097
22176
|
Input,
|
|
22098
22177
|
{
|
|
22099
22178
|
...inputProps,
|
|
@@ -22101,10 +22180,10 @@ var SearchBar = ({
|
|
|
22101
22180
|
onValueChange: setValue,
|
|
22102
22181
|
onEditComplete: onSearch,
|
|
22103
22182
|
placeholder: inputProps.placeholder ?? translation("search"),
|
|
22104
|
-
className: (0,
|
|
22183
|
+
className: (0, import_clsx44.clsx)("pr-10 w-full", inputProps.className)
|
|
22105
22184
|
}
|
|
22106
22185
|
),
|
|
22107
|
-
/* @__PURE__ */ (0,
|
|
22186
|
+
/* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
|
|
22108
22187
|
IconButton,
|
|
22109
22188
|
{
|
|
22110
22189
|
...searchButtonProps,
|
|
@@ -22113,19 +22192,19 @@ var SearchBar = ({
|
|
|
22113
22192
|
color: "neutral",
|
|
22114
22193
|
coloringStyle: "text",
|
|
22115
22194
|
onClick: () => onSearch(value),
|
|
22116
|
-
className: (0,
|
|
22117
|
-
children: /* @__PURE__ */ (0,
|
|
22195
|
+
className: (0, import_clsx44.clsx)("absolute right-1.5 top-1/2 -translate-y-1/2", searchButtonProps?.className),
|
|
22196
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(import_lucide_react31.Search, { className: "w-full h-full" })
|
|
22118
22197
|
}
|
|
22119
22198
|
)
|
|
22120
22199
|
] });
|
|
22121
22200
|
};
|
|
22122
22201
|
|
|
22123
22202
|
// src/components/user-interaction/input/ToggleableInput.tsx
|
|
22124
|
-
var
|
|
22203
|
+
var import_react115 = require("react");
|
|
22125
22204
|
var import_lucide_react32 = require("lucide-react");
|
|
22126
|
-
var
|
|
22127
|
-
var
|
|
22128
|
-
var ToggleableInput = (0,
|
|
22205
|
+
var import_clsx45 = __toESM(require("clsx"));
|
|
22206
|
+
var import_jsx_runtime109 = require("react/jsx-runtime");
|
|
22207
|
+
var ToggleableInput = (0, import_react115.forwardRef)(function ToggleableInput2({
|
|
22129
22208
|
value: controlledValue,
|
|
22130
22209
|
initialValue,
|
|
22131
22210
|
onValueChange,
|
|
@@ -22138,16 +22217,16 @@ var ToggleableInput = (0, import_react114.forwardRef)(function ToggleableInput2(
|
|
|
22138
22217
|
onValueChange,
|
|
22139
22218
|
defaultValue: initialValue
|
|
22140
22219
|
});
|
|
22141
|
-
const [isEditing, setIsEditing] = (0,
|
|
22142
|
-
const innerRef = (0,
|
|
22143
|
-
(0,
|
|
22144
|
-
(0,
|
|
22220
|
+
const [isEditing, setIsEditing] = (0, import_react115.useState)(initialState !== "display");
|
|
22221
|
+
const innerRef = (0, import_react115.useRef)(null);
|
|
22222
|
+
(0, import_react115.useImperativeHandle)(forwardedRef, () => innerRef.current);
|
|
22223
|
+
(0, import_react115.useEffect)(() => {
|
|
22145
22224
|
if (isEditing) {
|
|
22146
22225
|
innerRef.current?.focus();
|
|
22147
22226
|
}
|
|
22148
22227
|
}, [isEditing]);
|
|
22149
|
-
return /* @__PURE__ */ (0,
|
|
22150
|
-
/* @__PURE__ */ (0,
|
|
22228
|
+
return /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)("div", { className: (0, import_clsx45.default)("relative flex-row-2", { "flex-1": isEditing }), children: [
|
|
22229
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
22151
22230
|
Input,
|
|
22152
22231
|
{
|
|
22153
22232
|
...props,
|
|
@@ -22171,9 +22250,9 @@ var ToggleableInput = (0, import_react114.forwardRef)(function ToggleableInput2(
|
|
|
22171
22250
|
"data-name": props["data-name"] ?? "togglable-input"
|
|
22172
22251
|
}
|
|
22173
22252
|
),
|
|
22174
|
-
!isEditing && /* @__PURE__ */ (0,
|
|
22175
|
-
/* @__PURE__ */ (0,
|
|
22176
|
-
/* @__PURE__ */ (0,
|
|
22253
|
+
!isEditing && /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)("div", { className: "absolute left-0 flex-row-2 items-center pointer-events-none touch-none w-full overflow-hidden", children: [
|
|
22254
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)("span", { className: (0, import_clsx45.default)(" truncate"), children: value }),
|
|
22255
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_lucide_react32.Pencil, { className: (0, import_clsx45.default)(`size-force-4`, { "text-transparent": isEditing }) })
|
|
22177
22256
|
] })
|
|
22178
22257
|
] });
|
|
22179
22258
|
});
|
|
@@ -22182,9 +22261,9 @@ var ToggleableInput = (0, import_react114.forwardRef)(function ToggleableInput2(
|
|
|
22182
22261
|
var import_lucide_react34 = require("lucide-react");
|
|
22183
22262
|
|
|
22184
22263
|
// src/components/user-interaction/properties/PropertyBase.tsx
|
|
22185
|
-
var
|
|
22264
|
+
var import_clsx46 = __toESM(require("clsx"));
|
|
22186
22265
|
var import_lucide_react33 = require("lucide-react");
|
|
22187
|
-
var
|
|
22266
|
+
var import_jsx_runtime110 = require("react/jsx-runtime");
|
|
22188
22267
|
var PropertyBase = ({
|
|
22189
22268
|
name,
|
|
22190
22269
|
children,
|
|
@@ -22203,8 +22282,8 @@ var PropertyBase = ({
|
|
|
22203
22282
|
const isClearEnabled = allowClear && !readOnly;
|
|
22204
22283
|
const isRemoveEnabled = allowRemove && !readOnly;
|
|
22205
22284
|
const showActionsContainer = isClearEnabled || isRemoveEnabled;
|
|
22206
|
-
const renderActionButtons = () => /* @__PURE__ */ (0,
|
|
22207
|
-
isClearEnabled && /* @__PURE__ */ (0,
|
|
22285
|
+
const renderActionButtons = () => /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(import_jsx_runtime110.Fragment, { children: [
|
|
22286
|
+
isClearEnabled && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
|
|
22208
22287
|
IconButton,
|
|
22209
22288
|
{
|
|
22210
22289
|
tooltip: translation("clearValue"),
|
|
@@ -22213,10 +22292,10 @@ var PropertyBase = ({
|
|
|
22213
22292
|
color: "negative",
|
|
22214
22293
|
coloringStyle: "text",
|
|
22215
22294
|
size: "sm",
|
|
22216
|
-
children: /* @__PURE__ */ (0,
|
|
22295
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react33.X, { className: "size-force-5" })
|
|
22217
22296
|
}
|
|
22218
22297
|
),
|
|
22219
|
-
isRemoveEnabled && /* @__PURE__ */ (0,
|
|
22298
|
+
isRemoveEnabled && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
|
|
22220
22299
|
IconButton,
|
|
22221
22300
|
{
|
|
22222
22301
|
tooltip: translation("removeProperty"),
|
|
@@ -22224,42 +22303,42 @@ var PropertyBase = ({
|
|
|
22224
22303
|
color: "negative",
|
|
22225
22304
|
coloringStyle: "text",
|
|
22226
22305
|
size: "sm",
|
|
22227
|
-
children: /* @__PURE__ */ (0,
|
|
22306
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react33.Trash, { className: "size-force-5" })
|
|
22228
22307
|
}
|
|
22229
22308
|
)
|
|
22230
22309
|
] });
|
|
22231
|
-
return /* @__PURE__ */ (0,
|
|
22310
|
+
return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
|
|
22232
22311
|
"div",
|
|
22233
22312
|
{
|
|
22234
|
-
className: (0,
|
|
22313
|
+
className: (0, import_clsx46.default)("group/property min-w-0 w-full", className),
|
|
22235
22314
|
"data-name": "property-root",
|
|
22236
22315
|
"data-invalid": PropsUtil.dataAttributes.bool(invalid),
|
|
22237
|
-
children: /* @__PURE__ */ (0,
|
|
22238
|
-
/* @__PURE__ */ (0,
|
|
22316
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { "data-name": "property-inner", children: [
|
|
22317
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
|
|
22239
22318
|
"div",
|
|
22240
22319
|
{
|
|
22241
22320
|
"data-name": "property-title",
|
|
22242
22321
|
"data-invalid": PropsUtil.dataAttributes.bool(invalid),
|
|
22243
22322
|
children: [
|
|
22244
|
-
/* @__PURE__ */ (0,
|
|
22245
|
-
/* @__PURE__ */ (0,
|
|
22246
|
-
/* @__PURE__ */ (0,
|
|
22247
|
-
/* @__PURE__ */ (0,
|
|
22323
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "flex min-w-0 flex-1 flex-row items-center justify-between gap-2", children: [
|
|
22324
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)(Tooltip, { tooltip: name, containerClassName: "min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "flex-row-1 items-center", children: [
|
|
22325
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("div", { "data-name": "property-title-icon", children: icon }),
|
|
22326
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { "data-name": "property-title-text", children: name })
|
|
22248
22327
|
] }) }),
|
|
22249
|
-
invalid && /* @__PURE__ */ (0,
|
|
22328
|
+
invalid && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react33.AlertTriangle, { className: "size-force-6 shrink-0" })
|
|
22250
22329
|
] }),
|
|
22251
|
-
showActionsContainer && /* @__PURE__ */ (0,
|
|
22330
|
+
showActionsContainer && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("div", { "data-name": "property-title-actions", children: renderActionButtons() })
|
|
22252
22331
|
]
|
|
22253
22332
|
}
|
|
22254
22333
|
),
|
|
22255
|
-
/* @__PURE__ */ (0,
|
|
22334
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
|
|
22256
22335
|
"div",
|
|
22257
22336
|
{
|
|
22258
22337
|
"data-name": "property-content",
|
|
22259
22338
|
"data-invalid": PropsUtil.dataAttributes.bool(invalid),
|
|
22260
22339
|
children: [
|
|
22261
22340
|
children({ required, hasValue, invalid }),
|
|
22262
|
-
showActionsContainer && /* @__PURE__ */ (0,
|
|
22341
|
+
showActionsContainer && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("div", { "data-name": "property-actions", children: renderActionButtons() })
|
|
22263
22342
|
]
|
|
22264
22343
|
}
|
|
22265
22344
|
)
|
|
@@ -22269,7 +22348,7 @@ var PropertyBase = ({
|
|
|
22269
22348
|
};
|
|
22270
22349
|
|
|
22271
22350
|
// src/components/user-interaction/properties/CheckboxProperty.tsx
|
|
22272
|
-
var
|
|
22351
|
+
var import_jsx_runtime111 = require("react/jsx-runtime");
|
|
22273
22352
|
var CheckboxProperty = ({
|
|
22274
22353
|
value,
|
|
22275
22354
|
onValueChange,
|
|
@@ -22278,15 +22357,15 @@ var CheckboxProperty = ({
|
|
|
22278
22357
|
...baseProps
|
|
22279
22358
|
}) => {
|
|
22280
22359
|
const translation = useHightideTranslation();
|
|
22281
|
-
return /* @__PURE__ */ (0,
|
|
22360
|
+
return /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
|
|
22282
22361
|
PropertyBase,
|
|
22283
22362
|
{
|
|
22284
22363
|
...baseProps,
|
|
22285
22364
|
hasValue: value !== void 0,
|
|
22286
22365
|
readOnly,
|
|
22287
|
-
icon: /* @__PURE__ */ (0,
|
|
22288
|
-
children: () => /* @__PURE__ */ (0,
|
|
22289
|
-
/* @__PURE__ */ (0,
|
|
22366
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(import_lucide_react34.Check, { size: 24 }),
|
|
22367
|
+
children: () => /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)("div", { className: "flex-row-2 items-center", children: [
|
|
22368
|
+
/* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
|
|
22290
22369
|
Button,
|
|
22291
22370
|
{
|
|
22292
22371
|
color: value ? "positive" : "neutral",
|
|
@@ -22299,7 +22378,7 @@ var CheckboxProperty = ({
|
|
|
22299
22378
|
children: translation("yes")
|
|
22300
22379
|
}
|
|
22301
22380
|
),
|
|
22302
|
-
/* @__PURE__ */ (0,
|
|
22381
|
+
/* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
|
|
22303
22382
|
Button,
|
|
22304
22383
|
{
|
|
22305
22384
|
color: !value && value !== void 0 ? "negative" : "neutral",
|
|
@@ -22319,7 +22398,7 @@ var CheckboxProperty = ({
|
|
|
22319
22398
|
|
|
22320
22399
|
// src/components/user-interaction/properties/DateProperty.tsx
|
|
22321
22400
|
var import_lucide_react35 = require("lucide-react");
|
|
22322
|
-
var
|
|
22401
|
+
var import_jsx_runtime112 = require("react/jsx-runtime");
|
|
22323
22402
|
var DateProperty = ({
|
|
22324
22403
|
name,
|
|
22325
22404
|
value,
|
|
@@ -22336,7 +22415,7 @@ var DateProperty = ({
|
|
|
22336
22415
|
...inputProps
|
|
22337
22416
|
}) => {
|
|
22338
22417
|
const hasValue = !!value;
|
|
22339
|
-
return /* @__PURE__ */ (0,
|
|
22418
|
+
return /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
|
|
22340
22419
|
PropertyBase,
|
|
22341
22420
|
{
|
|
22342
22421
|
name,
|
|
@@ -22350,9 +22429,9 @@ var DateProperty = ({
|
|
|
22350
22429
|
onEditComplete?.(null);
|
|
22351
22430
|
}),
|
|
22352
22431
|
hasValue,
|
|
22353
|
-
icon: /* @__PURE__ */ (0,
|
|
22432
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(import_lucide_react35.CalendarDays, { size: 24 }),
|
|
22354
22433
|
className,
|
|
22355
|
-
children: ({ invalid }) => /* @__PURE__ */ (0,
|
|
22434
|
+
children: ({ invalid }) => /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
|
|
22356
22435
|
DateTimeInput,
|
|
22357
22436
|
{
|
|
22358
22437
|
...inputProps,
|
|
@@ -22373,7 +22452,7 @@ var DateProperty = ({
|
|
|
22373
22452
|
|
|
22374
22453
|
// src/components/user-interaction/properties/MultiSelectProperty.tsx
|
|
22375
22454
|
var import_lucide_react36 = require("lucide-react");
|
|
22376
|
-
var
|
|
22455
|
+
var import_jsx_runtime113 = require("react/jsx-runtime");
|
|
22377
22456
|
var MultiSelectProperty = ({
|
|
22378
22457
|
children,
|
|
22379
22458
|
value,
|
|
@@ -22382,18 +22461,18 @@ var MultiSelectProperty = ({
|
|
|
22382
22461
|
...props
|
|
22383
22462
|
}) => {
|
|
22384
22463
|
const hasValue = value.length > 0;
|
|
22385
|
-
return /* @__PURE__ */ (0,
|
|
22464
|
+
return /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
|
|
22386
22465
|
PropertyBase,
|
|
22387
22466
|
{
|
|
22388
22467
|
...props,
|
|
22389
22468
|
hasValue,
|
|
22390
|
-
icon: /* @__PURE__ */ (0,
|
|
22391
|
-
children: ({ invalid }) => /* @__PURE__ */ (0,
|
|
22469
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(import_lucide_react36.List, { size: 24 }),
|
|
22470
|
+
children: ({ invalid }) => /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
|
|
22392
22471
|
"div",
|
|
22393
22472
|
{
|
|
22394
22473
|
"data-name": "property-input-wrapper",
|
|
22395
22474
|
"data-invalid": PropsUtil.dataAttributes.bool(invalid),
|
|
22396
|
-
children: /* @__PURE__ */ (0,
|
|
22475
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
|
|
22397
22476
|
MultiSelectChipDisplay,
|
|
22398
22477
|
{
|
|
22399
22478
|
value,
|
|
@@ -22420,7 +22499,7 @@ var MultiSelectProperty = ({
|
|
|
22420
22499
|
|
|
22421
22500
|
// src/components/user-interaction/properties/NumberProperty.tsx
|
|
22422
22501
|
var import_lucide_react37 = require("lucide-react");
|
|
22423
|
-
var
|
|
22502
|
+
var import_jsx_runtime114 = require("react/jsx-runtime");
|
|
22424
22503
|
var NumberProperty = ({
|
|
22425
22504
|
value,
|
|
22426
22505
|
onValueChange,
|
|
@@ -22432,20 +22511,20 @@ var NumberProperty = ({
|
|
|
22432
22511
|
}) => {
|
|
22433
22512
|
const translation = useHightideTranslation();
|
|
22434
22513
|
const hasValue = value !== void 0;
|
|
22435
|
-
return /* @__PURE__ */ (0,
|
|
22514
|
+
return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
|
|
22436
22515
|
PropertyBase,
|
|
22437
22516
|
{
|
|
22438
22517
|
...baseProps,
|
|
22439
22518
|
onValueClear,
|
|
22440
22519
|
hasValue,
|
|
22441
|
-
icon: /* @__PURE__ */ (0,
|
|
22442
|
-
children: ({ invalid }) => /* @__PURE__ */ (0,
|
|
22520
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(import_lucide_react37.Binary, { size: 24 }),
|
|
22521
|
+
children: ({ invalid }) => /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)(
|
|
22443
22522
|
"div",
|
|
22444
22523
|
{
|
|
22445
22524
|
"data-name": "property-input-wrapper",
|
|
22446
22525
|
"data-invalid": PropsUtil.dataAttributes.bool(invalid),
|
|
22447
22526
|
children: [
|
|
22448
|
-
/* @__PURE__ */ (0,
|
|
22527
|
+
/* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
|
|
22449
22528
|
Input,
|
|
22450
22529
|
{
|
|
22451
22530
|
"data-name": "property-input",
|
|
@@ -22473,7 +22552,7 @@ var NumberProperty = ({
|
|
|
22473
22552
|
}
|
|
22474
22553
|
}
|
|
22475
22554
|
),
|
|
22476
|
-
suffix && /* @__PURE__ */ (0,
|
|
22555
|
+
suffix && /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
|
|
22477
22556
|
"span",
|
|
22478
22557
|
{
|
|
22479
22558
|
"data-name": "property-suffix",
|
|
@@ -22490,7 +22569,7 @@ var NumberProperty = ({
|
|
|
22490
22569
|
|
|
22491
22570
|
// src/components/user-interaction/properties/SelectProperty.tsx
|
|
22492
22571
|
var import_lucide_react38 = require("lucide-react");
|
|
22493
|
-
var
|
|
22572
|
+
var import_jsx_runtime115 = require("react/jsx-runtime");
|
|
22494
22573
|
var SingleSelectProperty = ({
|
|
22495
22574
|
children,
|
|
22496
22575
|
value,
|
|
@@ -22499,18 +22578,18 @@ var SingleSelectProperty = ({
|
|
|
22499
22578
|
...props
|
|
22500
22579
|
}) => {
|
|
22501
22580
|
const hasValue = value !== void 0;
|
|
22502
|
-
return /* @__PURE__ */ (0,
|
|
22581
|
+
return /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
|
|
22503
22582
|
PropertyBase,
|
|
22504
22583
|
{
|
|
22505
22584
|
...props,
|
|
22506
22585
|
hasValue,
|
|
22507
|
-
icon: /* @__PURE__ */ (0,
|
|
22508
|
-
children: ({ invalid }) => /* @__PURE__ */ (0,
|
|
22586
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(import_lucide_react38.List, { size: 24 }),
|
|
22587
|
+
children: ({ invalid }) => /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
|
|
22509
22588
|
"div",
|
|
22510
22589
|
{
|
|
22511
22590
|
"data-name": "property-input-wrapper",
|
|
22512
22591
|
"data-invalid": PropsUtil.dataAttributes.bool(invalid),
|
|
22513
|
-
children: /* @__PURE__ */ (0,
|
|
22592
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(
|
|
22514
22593
|
SelectRoot,
|
|
22515
22594
|
{
|
|
22516
22595
|
value,
|
|
@@ -22520,7 +22599,7 @@ var SingleSelectProperty = ({
|
|
|
22520
22599
|
},
|
|
22521
22600
|
disabled: props.readOnly,
|
|
22522
22601
|
children: [
|
|
22523
|
-
/* @__PURE__ */ (0,
|
|
22602
|
+
/* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
|
|
22524
22603
|
SelectButton,
|
|
22525
22604
|
{
|
|
22526
22605
|
className: "flex-row-2 w-full items-center justify-between",
|
|
@@ -22528,7 +22607,7 @@ var SingleSelectProperty = ({
|
|
|
22528
22607
|
"data-name": "property-input"
|
|
22529
22608
|
}
|
|
22530
22609
|
),
|
|
22531
|
-
/* @__PURE__ */ (0,
|
|
22610
|
+
/* @__PURE__ */ (0, import_jsx_runtime115.jsx)(SelectContent, { children })
|
|
22532
22611
|
]
|
|
22533
22612
|
}
|
|
22534
22613
|
)
|
|
@@ -22540,7 +22619,7 @@ var SingleSelectProperty = ({
|
|
|
22540
22619
|
|
|
22541
22620
|
// src/components/user-interaction/properties/TextProperty.tsx
|
|
22542
22621
|
var import_lucide_react39 = require("lucide-react");
|
|
22543
|
-
var
|
|
22622
|
+
var import_jsx_runtime116 = require("react/jsx-runtime");
|
|
22544
22623
|
var TextProperty = ({
|
|
22545
22624
|
value,
|
|
22546
22625
|
readOnly,
|
|
@@ -22550,13 +22629,13 @@ var TextProperty = ({
|
|
|
22550
22629
|
}) => {
|
|
22551
22630
|
const translation = useHightideTranslation();
|
|
22552
22631
|
const hasValue = value !== void 0;
|
|
22553
|
-
return /* @__PURE__ */ (0,
|
|
22632
|
+
return /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
|
|
22554
22633
|
PropertyBase,
|
|
22555
22634
|
{
|
|
22556
22635
|
...baseProps,
|
|
22557
22636
|
hasValue,
|
|
22558
|
-
icon: /* @__PURE__ */ (0,
|
|
22559
|
-
children: ({ invalid }) => /* @__PURE__ */ (0,
|
|
22637
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(import_lucide_react39.Text, { size: 24 }),
|
|
22638
|
+
children: ({ invalid }) => /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
|
|
22560
22639
|
Textarea,
|
|
22561
22640
|
{
|
|
22562
22641
|
"data-name": "property-input",
|
|
@@ -22576,29 +22655,29 @@ var TextProperty = ({
|
|
|
22576
22655
|
|
|
22577
22656
|
// src/components/utils/Polymorphic.tsx
|
|
22578
22657
|
var import_react_slot = require("@radix-ui/react-slot");
|
|
22579
|
-
var
|
|
22580
|
-
var
|
|
22581
|
-
var PolymorphicSlot = (0,
|
|
22658
|
+
var import_react116 = require("react");
|
|
22659
|
+
var import_jsx_runtime117 = require("react/jsx-runtime");
|
|
22660
|
+
var PolymorphicSlot = (0, import_react116.forwardRef)(function PolymorphicSlot2({
|
|
22582
22661
|
children,
|
|
22583
22662
|
asChild,
|
|
22584
22663
|
defaultComponent = "div",
|
|
22585
22664
|
...props
|
|
22586
22665
|
}, ref) {
|
|
22587
22666
|
const Component = asChild ? import_react_slot.Slot : defaultComponent;
|
|
22588
|
-
return /* @__PURE__ */ (0,
|
|
22667
|
+
return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Component, { ...props, ref, children });
|
|
22589
22668
|
});
|
|
22590
22669
|
|
|
22591
22670
|
// src/components/utils/Transition.tsx
|
|
22592
|
-
var
|
|
22671
|
+
var import_react117 = require("react");
|
|
22593
22672
|
function Transition({
|
|
22594
22673
|
children,
|
|
22595
22674
|
show,
|
|
22596
22675
|
includeAnimation = true
|
|
22597
22676
|
}) {
|
|
22598
|
-
const [isOpen, setIsOpen] = (0,
|
|
22599
|
-
const [isTransitioning, setIsTransitioning] = (0,
|
|
22677
|
+
const [isOpen, setIsOpen] = (0, import_react117.useState)(show);
|
|
22678
|
+
const [isTransitioning, setIsTransitioning] = (0, import_react117.useState)(!isOpen);
|
|
22600
22679
|
const isUsingReducedMotion = typeof window !== "undefined" && typeof window.matchMedia === "function" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : true;
|
|
22601
|
-
(0,
|
|
22680
|
+
(0, import_react117.useEffect)(() => {
|
|
22602
22681
|
setIsOpen(show);
|
|
22603
22682
|
setIsTransitioning(true);
|
|
22604
22683
|
}, [show]);
|
|
@@ -22623,18 +22702,18 @@ function Transition({
|
|
|
22623
22702
|
}
|
|
22624
22703
|
|
|
22625
22704
|
// src/global-contexts/HightideProvider.tsx
|
|
22626
|
-
var
|
|
22705
|
+
var import_jsx_runtime118 = require("react/jsx-runtime");
|
|
22627
22706
|
var HightideProvider = ({
|
|
22628
22707
|
children,
|
|
22629
22708
|
theme,
|
|
22630
22709
|
locale,
|
|
22631
22710
|
config
|
|
22632
22711
|
}) => {
|
|
22633
|
-
return /* @__PURE__ */ (0,
|
|
22712
|
+
return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(LocaleProvider, { ...locale, children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(ThemeProvider, { ...theme, children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(HightideConfigProvider, { ...config, children }) }) });
|
|
22634
22713
|
};
|
|
22635
22714
|
|
|
22636
22715
|
// src/hooks/focus/useFocusGuards.ts
|
|
22637
|
-
var
|
|
22716
|
+
var import_react118 = require("react");
|
|
22638
22717
|
var selectorName = "data-hw-focus-guard";
|
|
22639
22718
|
function FocusGuard() {
|
|
22640
22719
|
const element = document.createElement("div");
|
|
@@ -22672,7 +22751,7 @@ var FocusGuardsService = class _FocusGuardsService {
|
|
|
22672
22751
|
}
|
|
22673
22752
|
};
|
|
22674
22753
|
var useFocusGuards = () => {
|
|
22675
|
-
(0,
|
|
22754
|
+
(0, import_react118.useEffect)(() => {
|
|
22676
22755
|
FocusGuardsService.getInstance().add();
|
|
22677
22756
|
return () => {
|
|
22678
22757
|
FocusGuardsService.getInstance().remove();
|
|
@@ -22681,10 +22760,10 @@ var useFocusGuards = () => {
|
|
|
22681
22760
|
};
|
|
22682
22761
|
|
|
22683
22762
|
// src/hooks/focus/useFocusOnceVisible.ts
|
|
22684
|
-
var
|
|
22763
|
+
var import_react119 = __toESM(require("react"));
|
|
22685
22764
|
var useFocusOnceVisible = (ref, disable = false) => {
|
|
22686
|
-
const [hasUsedFocus, setHasUsedFocus] =
|
|
22687
|
-
(0,
|
|
22765
|
+
const [hasUsedFocus, setHasUsedFocus] = import_react119.default.useState(false);
|
|
22766
|
+
(0, import_react119.useEffect)(() => {
|
|
22688
22767
|
if (disable || hasUsedFocus) {
|
|
22689
22768
|
return;
|
|
22690
22769
|
}
|
|
@@ -22704,11 +22783,11 @@ var useFocusOnceVisible = (ref, disable = false) => {
|
|
|
22704
22783
|
};
|
|
22705
22784
|
|
|
22706
22785
|
// src/hooks/focus/useIsMounted.ts
|
|
22707
|
-
var
|
|
22786
|
+
var import_react120 = require("react");
|
|
22708
22787
|
var isClient = typeof window !== "undefined" && typeof document !== "undefined";
|
|
22709
|
-
var useIsomorphicEffect = isClient ?
|
|
22788
|
+
var useIsomorphicEffect = isClient ? import_react120.useLayoutEffect : import_react120.useEffect;
|
|
22710
22789
|
var useIsMounted = () => {
|
|
22711
|
-
const [isMounted, setIsMounted] = (0,
|
|
22790
|
+
const [isMounted, setIsMounted] = (0, import_react120.useState)(false);
|
|
22712
22791
|
useIsomorphicEffect(() => {
|
|
22713
22792
|
setIsMounted(true);
|
|
22714
22793
|
return () => {
|
|
@@ -22719,10 +22798,10 @@ var useIsMounted = () => {
|
|
|
22719
22798
|
};
|
|
22720
22799
|
|
|
22721
22800
|
// src/hooks/useHandleRefs.ts
|
|
22722
|
-
var
|
|
22801
|
+
var import_react121 = require("react");
|
|
22723
22802
|
function useHandleRefs(handleRef) {
|
|
22724
|
-
const refs = (0,
|
|
22725
|
-
(0,
|
|
22803
|
+
const refs = (0, import_react121.useRef)([]);
|
|
22804
|
+
(0, import_react121.useEffect)(() => {
|
|
22726
22805
|
refs.current = Object.keys(handleRef?.current ?? {}).map(
|
|
22727
22806
|
() => ({ current: null })
|
|
22728
22807
|
);
|
|
@@ -22735,10 +22814,10 @@ function useHandleRefs(handleRef) {
|
|
|
22735
22814
|
}
|
|
22736
22815
|
|
|
22737
22816
|
// src/hooks/useLogUnstableDependencies.ts
|
|
22738
|
-
var
|
|
22817
|
+
var import_react122 = __toESM(require("react"));
|
|
22739
22818
|
function useLogUnstableDependencies(name, value) {
|
|
22740
|
-
const prev =
|
|
22741
|
-
|
|
22819
|
+
const prev = import_react122.default.useRef(null);
|
|
22820
|
+
import_react122.default.useEffect(() => {
|
|
22742
22821
|
if (!prev.current) {
|
|
22743
22822
|
prev.current = value;
|
|
22744
22823
|
return;
|
|
@@ -22760,10 +22839,10 @@ function useLogUnstableDependencies(name, value) {
|
|
|
22760
22839
|
}
|
|
22761
22840
|
|
|
22762
22841
|
// src/hooks/useOverwritableState.ts
|
|
22763
|
-
var
|
|
22842
|
+
var import_react123 = require("react");
|
|
22764
22843
|
var useOverwritableState = (overwriteValue, onChange) => {
|
|
22765
|
-
const [state, setState] = (0,
|
|
22766
|
-
(0,
|
|
22844
|
+
const [state, setState] = (0, import_react123.useState)(overwriteValue);
|
|
22845
|
+
(0, import_react123.useEffect)(() => {
|
|
22767
22846
|
setState(overwriteValue);
|
|
22768
22847
|
}, [overwriteValue]);
|
|
22769
22848
|
const onChangeWrapper = (action) => {
|
|
@@ -22775,31 +22854,31 @@ var useOverwritableState = (overwriteValue, onChange) => {
|
|
|
22775
22854
|
};
|
|
22776
22855
|
|
|
22777
22856
|
// src/hooks/useRerender.ts
|
|
22778
|
-
var
|
|
22857
|
+
var import_react124 = require("react");
|
|
22779
22858
|
var useRerender = () => {
|
|
22780
|
-
return (0,
|
|
22859
|
+
return (0, import_react124.useReducer)(() => ({}), {})[1];
|
|
22781
22860
|
};
|
|
22782
22861
|
|
|
22783
22862
|
// src/hooks/useUpdatingDateString.ts
|
|
22784
|
-
var
|
|
22863
|
+
var import_react125 = require("react");
|
|
22785
22864
|
var useUpdatingDateString = ({ absoluteFormat = "dateTime", localeOverride, is24HourFormat: is24HourFormatOverride, timeZone: timeZoneOverride, date }) => {
|
|
22786
22865
|
const { locale: contextLocale, is24HourFormat: contextIs24HourFormat, timeZone: contextTimeZone } = useLocale();
|
|
22787
22866
|
const locale = localeOverride ?? contextLocale;
|
|
22788
22867
|
const is24HourFormat = is24HourFormatOverride ?? contextIs24HourFormat ?? true;
|
|
22789
22868
|
const timeZone = timeZoneOverride ?? contextTimeZone;
|
|
22790
|
-
const [dateAndTimeStrings, setDateAndTimeStrings] = (0,
|
|
22869
|
+
const [dateAndTimeStrings, setDateAndTimeStrings] = (0, import_react125.useState)({
|
|
22791
22870
|
compareDate: date,
|
|
22792
22871
|
absolute: DateUtils.formatAbsolute(date, locale, absoluteFormat, { is24HourFormat, timeZone }),
|
|
22793
22872
|
relative: DateUtils.formatRelative(date, locale)
|
|
22794
22873
|
});
|
|
22795
|
-
(0,
|
|
22874
|
+
(0, import_react125.useEffect)(() => {
|
|
22796
22875
|
setDateAndTimeStrings({
|
|
22797
22876
|
compareDate: date,
|
|
22798
22877
|
absolute: DateUtils.formatAbsolute(date, locale, absoluteFormat, { is24HourFormat, timeZone }),
|
|
22799
22878
|
relative: DateUtils.formatRelative(date, locale)
|
|
22800
22879
|
});
|
|
22801
22880
|
}, [date, absoluteFormat, locale, is24HourFormat, timeZone]);
|
|
22802
|
-
(0,
|
|
22881
|
+
(0, import_react125.useEffect)(() => {
|
|
22803
22882
|
let timeoutId;
|
|
22804
22883
|
const startTimer = () => {
|
|
22805
22884
|
const now = /* @__PURE__ */ new Date();
|
|
@@ -22835,7 +22914,7 @@ var validateEmail = (email) => {
|
|
|
22835
22914
|
};
|
|
22836
22915
|
|
|
22837
22916
|
// src/hooks/useValidators.ts
|
|
22838
|
-
var
|
|
22917
|
+
var import_react126 = require("react");
|
|
22839
22918
|
var notEmpty = (value) => {
|
|
22840
22919
|
if (!value) {
|
|
22841
22920
|
return "notEmpty";
|
|
@@ -22885,7 +22964,7 @@ var UseValidators = {
|
|
|
22885
22964
|
};
|
|
22886
22965
|
var useTranslatedValidators = () => {
|
|
22887
22966
|
const translation = useHightideTranslation();
|
|
22888
|
-
return (0,
|
|
22967
|
+
return (0, import_react126.useMemo)(() => ({
|
|
22889
22968
|
notEmpty: (value) => {
|
|
22890
22969
|
const result = notEmpty(value);
|
|
22891
22970
|
if (result) {
|
|
@@ -23347,6 +23426,7 @@ var PromiseUtils = {
|
|
|
23347
23426
|
Transition,
|
|
23348
23427
|
UseValidators,
|
|
23349
23428
|
VerticalDivider,
|
|
23429
|
+
VirtualizedTableBody,
|
|
23350
23430
|
Visibility,
|
|
23351
23431
|
YearMonthPicker,
|
|
23352
23432
|
buildSegmentLayout,
|