@economic/taco 2.68.0 → 2.69.1

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/taco.cjs CHANGED
@@ -11409,22 +11409,22 @@ const getButtonClasses$1 = () => {
11409
11409
  const getAppearanceClasses = (value, icon = false) => {
11410
11410
  switch (value) {
11411
11411
  case "primary":
11412
- return `wcag-blue-500 visited:wcag-blue-500 hover:wcag-blue-700 hover:active:wcag-blue-500 aria-disabled:bg-blue-500/50 aria-disabled:active:bg-blue-500/50`;
11412
+ return `wcag-blue-500 visited:wcag-blue-500 hover:wcag-blue-700 hover:active:wcag-blue-500 focus-visible:wcag-blue-500 aria-disabled:bg-blue-500/50 aria-disabled:active:bg-blue-500/50`;
11413
11413
  case "danger":
11414
- return `wcag-red-500 visited:wcag-red-500 hover:wcag-red-700 hover:active:wcag-red-500 aria-disabled:bg-red-500/50 aria-disabled:active:bg-red-500/50`;
11414
+ return `wcag-red-500 visited:wcag-red-500 hover:wcag-red-700 hover:active:wcag-red-500 focus-visible:wcag-red-500 aria-disabled:bg-red-500/50 aria-disabled:active:bg-red-500/50`;
11415
11415
  case "ghost":
11416
- return `bg-white border border-blue-500 text-blue-500 visited:text-blue-500 hover:bg-blue-100 hover:text-blue-700 aria-disabled:border-blue-500/50 aria-disabled:text-blue-500/50 aria-disabled:bg-white`;
11416
+ return `bg-white border border-blue-500 text-blue-500 visited:text-blue-500 hover:bg-blue-100 hover:text-blue-700 focus-visible:text-blue-700 aria-disabled:border-blue-500/50 aria-disabled:text-blue-500/50 aria-disabled:bg-white`;
11417
11417
  case "discrete": {
11418
11418
  if (icon) {
11419
- return `bg-transparent text-black visited:text-black hover:bg-[#000]/[0.08] aria-disabled:text-black/30`;
11419
+ return `bg-transparent text-black visited:text-black hover:bg-[#000]/[0.08] focus-visible:bg-[#000]/[0.08] aria-disabled:text-black/30`;
11420
11420
  }
11421
- return `bg-transparent text-blue-500 visited:text-blue-500 hover:text-blue-700 aria-disabled:text-blue-500/50`;
11421
+ return `bg-transparent text-blue-500 visited:text-blue-500 hover:text-blue-700 focus-visible:text-blue-700 aria-disabled:text-blue-500/50`;
11422
11422
  }
11423
11423
  case "transparent": {
11424
- return `bg-transparent text-black visited:text-black hover:text-black hover:bg-[#000]/[0.08] aria-disabled:text-black/30 aria-disabled:bg-transparent`;
11424
+ return `bg-transparent text-black visited:text-black hover:text-black focus-visible:text-black hover:bg-[#000]/[0.08] aria-disabled:text-black/30 aria-disabled:bg-transparent`;
11425
11425
  }
11426
11426
  default:
11427
- return `wcag-grey-200 visited:wcag-grey-200 hover:wcag-grey-300 aria-disabled:bg-grey-200/50 aria-disabled:text-black/30`;
11427
+ return `wcag-grey-200 visited:wcag-grey-200 hover:wcag-grey-300 focus-visible:wcag-grey-300 aria-disabled:bg-grey-200/50 aria-disabled:text-black/30`;
11428
11428
  }
11429
11429
  };
11430
11430
  const createButtonWithTooltip = (props, className, ref) => {
@@ -18262,7 +18262,7 @@ const ScrollableList = React__namespace.forwardRef(function ScrollableList2(prop
18262
18262
  role: options.length <= 0 || loading ? "presentation" : "listbox",
18263
18263
  tabIndex: otherProps.tabIndex || 0
18264
18264
  };
18265
- return /* @__PURE__ */ React__namespace.createElement("ul", { ...list, "data-taco": "scrollable-list" }, loading ? /* @__PURE__ */ React__namespace.createElement("li", { className: "yt-list__empty" }, /* @__PURE__ */ React__namespace.createElement("span", null, /* @__PURE__ */ React__namespace.createElement(Spinner, { delay: 0 })), /* @__PURE__ */ React__namespace.createElement("span", null, texts.listbox.loading)) : options.length ? options.map(({ children, icon, ...optionProps }) => /* @__PURE__ */ React__namespace.createElement("li", { ...optionProps }, icon, /* @__PURE__ */ React__namespace.createElement("span", { className: "flex-grow truncate text-left" }, children), multiselect && /* @__PURE__ */ React__namespace.createElement(
18265
+ return /* @__PURE__ */ React__namespace.createElement("ul", { ...list, "data-taco": "scrollable-list" }, loading ? /* @__PURE__ */ React__namespace.createElement("li", { className: "yt-list__empty" }, /* @__PURE__ */ React__namespace.createElement("span", null, /* @__PURE__ */ React__namespace.createElement(Spinner, { delay: 0 })), /* @__PURE__ */ React__namespace.createElement("span", null, texts.listbox.loading)) : options.length ? options.map(({ children, icon, ...optionProps }) => /* @__PURE__ */ React__namespace.createElement("li", { ...optionProps }, icon, /* @__PURE__ */ React__namespace.createElement("span", { "data-taco": "list-option", className: "flex-grow truncate text-left" }, children), multiselect && /* @__PURE__ */ React__namespace.createElement(
18266
18266
  Checkbox$2,
18267
18267
  {
18268
18268
  "aria-hidden": true,
@@ -38499,7 +38499,16 @@ const useResizeObserver$1 = (ref, enabled = true) => {
38499
38499
  const DisplayRow = React.memo(
38500
38500
  React.forwardRef(function DisplayRow2(props, externalRef) {
38501
38501
  var _a, _b, _c;
38502
- const { children, cellRenderer: CellRenderer, index: index2, measureRow, row, table, ...otherAttributes } = props;
38502
+ const {
38503
+ children,
38504
+ cellRenderer: CellRenderer,
38505
+ index: index2,
38506
+ measureRow,
38507
+ row,
38508
+ table,
38509
+ remeasureDependencies = [],
38510
+ ...otherAttributes
38511
+ } = props;
38503
38512
  const tableMeta = table.options.meta;
38504
38513
  const attributes = {
38505
38514
  ...otherAttributes,
@@ -38595,7 +38604,7 @@ const DisplayRow = React.memo(
38595
38604
  const rowHeight = ((_a2 = ref.current) == null ? void 0 : _a2.getBoundingClientRect().height) ?? 0;
38596
38605
  const expansionHeight = ((_b2 = expansionRef.current) == null ? void 0 : _b2.getBoundingClientRect().height) ?? 0;
38597
38606
  measureRow(rowHeight + expansionHeight);
38598
- }, [expansionRef.current, expandedRowSize == null ? void 0 : expandedRowSize.height]);
38607
+ }, [expansionRef.current, expandedRowSize == null ? void 0 : expandedRowSize.height, ...remeasureDependencies]);
38599
38608
  const className = clsx("group/row", otherAttributes.className, {
38600
38609
  "hover:cursor-grab": tableMeta.rowDrag.isEnabled && typeof attributes.onClick !== "function",
38601
38610
  "hover:cursor-pointer": typeof attributes.onClick === "function"
@@ -44241,7 +44250,7 @@ const Option = React.forwardRef(function Select2Option(props, ref) {
44241
44250
  value: props.value
44242
44251
  }
44243
44252
  ) : void 0;
44244
- return /* @__PURE__ */ React.createElement(Option$1, { ...otherProps, className, onClick: handleClick, onKeyDown: handleKeyDown, ref }, hasValue2 ? /* @__PURE__ */ React.createElement(Icon$1, { name: "tick", className: "pointer-events-none invisible -mx-0.5 !h-4 !w-4 group-aria-selected:visible" }) : null, typeof children === "string" ? isTag ? /* @__PURE__ */ React.createElement(Tag, { className: "pointer-events-none my-1", color: color2, icon: prefix2 }, children) : /* @__PURE__ */ React.createElement(React.Fragment, null, prefix2 ? typeof prefix2 === "string" ? /* @__PURE__ */ React.createElement(Icon$1, { name: prefix2, className: "!h-5 !w-5" }) : prefix2 : null, /* @__PURE__ */ React.createElement("span", { className: "flex w-full justify-between" }, /* @__PURE__ */ React.createElement("span", { className: "flex flex-col" }, /* @__PURE__ */ React.createElement("span", null, children), description ? /* @__PURE__ */ React.createElement("span", { className: "text-grey-700 -mt-1.5 mb-1.5 text-xs", "data-taco": "description" }, description) : null), /* @__PURE__ */ React.createElement("span", { className: "flex flex-col self-center" }, postfix ? typeof postfix === "string" ? /* @__PURE__ */ React.createElement(Icon$1, { name: postfix, className: "!h-5 !w-5" }) : postfix : null))) : /* @__PURE__ */ React.createElement("span", null, children), popover ? /* @__PURE__ */ React.createElement(
44253
+ return /* @__PURE__ */ React.createElement(Option$1, { ...otherProps, className, onClick: handleClick, onKeyDown: handleKeyDown, ref }, hasValue2 ? /* @__PURE__ */ React.createElement(Icon$1, { name: "tick", className: "pointer-events-none invisible -mx-0.5 !h-4 !w-4 group-aria-selected:visible" }) : null, typeof children === "string" ? isTag ? /* @__PURE__ */ React.createElement(Tag, { className: "pointer-events-none my-1", color: color2, icon: prefix2 }, children) : /* @__PURE__ */ React.createElement(React.Fragment, null, prefix2 ? typeof prefix2 === "string" ? /* @__PURE__ */ React.createElement(Icon$1, { name: prefix2, className: "!h-5 !w-5" }) : prefix2 : null, /* @__PURE__ */ React.createElement("span", { className: "flex w-full justify-between" }, /* @__PURE__ */ React.createElement("span", { className: "flex flex-col" }, /* @__PURE__ */ React.createElement("span", null, children), description ? /* @__PURE__ */ React.createElement("span", { className: "text-grey-700 -mt-1.5 mb-1.5 text-xs", "data-taco": "description" }, description) : null), /* @__PURE__ */ React.createElement("span", { className: "flex flex-col self-center" }, postfix ? typeof postfix === "string" ? /* @__PURE__ */ React.createElement(Icon$1, { name: postfix, className: "!h-5 !w-5" }) : postfix : null))) : /* @__PURE__ */ React.createElement("span", { className: "w-full" }, children), popover ? /* @__PURE__ */ React.createElement(
44245
44254
  IconButton,
44246
44255
  {
44247
44256
  icon: "ellipsis-vertical",
@@ -45249,11 +45258,11 @@ function guessComparatorsBasedOnControl(column) {
45249
45258
  }
45250
45259
  const FilterContext = React.createContext([]);
45251
45260
  const FilterColumn = React.forwardRef((props, ref) => {
45252
- const { allHeaders, onChange: handleChange, value = null, ...attributes } = props;
45261
+ const { allColumns, onChange: handleChange, value = null, ...attributes } = props;
45253
45262
  const { texts } = useLocalization();
45254
45263
  const filters = React.useContext(FilterContext);
45255
- const selectedColumn = allHeaders.find((header) => header.id === value);
45256
- const warning2 = selectedColumn && !selectedColumn.column.getIsVisible();
45264
+ const selectedColumn = allColumns.find((column) => column.id === value);
45265
+ const warning2 = selectedColumn && !selectedColumn.getIsVisible();
45257
45266
  return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React.createElement(
45258
45267
  Field,
45259
45268
  {
@@ -45271,23 +45280,22 @@ const FilterColumn = React.forwardRef((props, ref) => {
45271
45280
  onChange: handleChange,
45272
45281
  value
45273
45282
  },
45274
- allHeaders.map((header) => {
45283
+ allColumns.map((column) => {
45275
45284
  var _a, _b;
45276
45285
  return /* @__PURE__ */ React.createElement(
45277
45286
  Select22.Option,
45278
45287
  {
45279
- key: header.column.id,
45280
- value: header.column.id,
45281
- postfix: !header.column.getIsVisible() || header.column.getIsGrouped() ? /* @__PURE__ */ React.createElement(
45282
- Tooltip$3,
45283
- {
45284
- title: header.column.getIsGrouped() ? texts.table.filters.hiddenGroupedColumn : texts.table.filters.hiddenColumn
45285
- },
45286
- /* @__PURE__ */ React.createElement(Icon$1, { name: "eye-off", className: "text-grey-500 !h-5 !w-5" })
45287
- ) : void 0,
45288
- disabled: header.column.id !== value && (!header.column.getCanFilter() || !!filters.some((f2) => f2.id === header.column.id))
45288
+ key: column.id,
45289
+ value: column.id,
45290
+ disabled: column.id !== value && (!column.getCanFilter() || !!filters.some((f2) => f2.id === column.id))
45289
45291
  },
45290
- /* @__PURE__ */ React.createElement(React.Fragment, null, flexRender(header.column.columnDef.header, header.getContext()), header.column.parent ? ` (${flexRender((_b = (_a = header.column.parent) == null ? void 0 : _a.columnDef.meta) == null ? void 0 : _b.header, header.getContext())})` : "")
45292
+ /* @__PURE__ */ React.createElement("span", { className: "flex w-full justify-between" }, /* @__PURE__ */ React.createElement("span", { className: "flex flex-col" }, flexRender(column.columnDef.header, { column }), column.parent ? flexRender((_b = (_a = column.parent) == null ? void 0 : _a.columnDef.meta) == null ? void 0 : _b.header, { column }) : ""), /* @__PURE__ */ React.createElement("span", { className: "flex flex-col self-center" }, !column.getIsVisible() || column.getIsGrouped() ? /* @__PURE__ */ React.createElement(
45293
+ Tooltip$3,
45294
+ {
45295
+ title: column.getIsGrouped() ? texts.table.filters.hiddenGroupedColumn : texts.table.filters.hiddenColumn
45296
+ },
45297
+ /* @__PURE__ */ React.createElement(Icon$1, { name: "eye-off", className: "text-grey-500 !h-5 !w-5" })
45298
+ ) : void 0))
45291
45299
  );
45292
45300
  })
45293
45301
  )
@@ -45458,9 +45466,9 @@ function Control(props) {
45458
45466
  );
45459
45467
  }
45460
45468
  function Filter(props) {
45461
- const { allHeaders, filter: filter2, onChange: handleChange, onRemove, position } = props;
45469
+ const { allColumns, filter: filter2, onChange: handleChange, onRemove, position } = props;
45462
45470
  const { texts } = useLocalization();
45463
- const column = allHeaders.find((header) => header.column.id === filter2.id);
45471
+ const column = allColumns.find((column2) => column2.id === filter2.id);
45464
45472
  const ref = React.useRef(null);
45465
45473
  const {
45466
45474
  id: id2,
@@ -45468,13 +45476,13 @@ function Filter(props) {
45468
45476
  } = filter2;
45469
45477
  const handleChangeColumn = (columnId) => {
45470
45478
  var _a, _b, _c;
45471
- const previousColumn = allHeaders.find((header) => header.column.id === id2);
45472
- const nextColumn = allHeaders.find((header) => header.column.id === columnId);
45473
- if (((_a = previousColumn == null ? void 0 : previousColumn.column.columnDef.meta) == null ? void 0 : _a.dataType) && ((_b = previousColumn == null ? void 0 : previousColumn.column.columnDef.meta) == null ? void 0 : _b.dataType) === ((_c = nextColumn == null ? void 0 : nextColumn.column.columnDef.meta) == null ? void 0 : _c.dataType)) {
45479
+ const previousColumn = allColumns.find((column2) => column2.id === id2);
45480
+ const nextColumn = allColumns.find((column2) => column2.id === columnId);
45481
+ if (((_a = previousColumn == null ? void 0 : previousColumn.columnDef.meta) == null ? void 0 : _a.dataType) && ((_b = previousColumn == null ? void 0 : previousColumn.columnDef.meta) == null ? void 0 : _b.dataType) === ((_c = nextColumn == null ? void 0 : nextColumn.columnDef.meta) == null ? void 0 : _c.dataType)) {
45474
45482
  handleChange(position, { id: columnId, value: filter2.value });
45475
45483
  return;
45476
45484
  }
45477
- const validComparators = guessComparatorsBasedOnControl(nextColumn == null ? void 0 : nextColumn.column);
45485
+ const validComparators = guessComparatorsBasedOnControl(nextColumn);
45478
45486
  const value2 = {
45479
45487
  comparator: validComparators[0],
45480
45488
  value: void 0
@@ -45497,13 +45505,13 @@ function Filter(props) {
45497
45505
  ref.current.focus();
45498
45506
  }
45499
45507
  }, [id2]);
45500
- return /* @__PURE__ */ React.createElement("div", { className: "flex items-start gap-2", "data-taco": "filter-row" }, /* @__PURE__ */ React.createElement("div", { className: "flex min-h-[theme(spacing.8)] w-14 flex-shrink-0 items-center justify-end pr-2 text-right" }, position > 0 ? texts.table.filters.conditions.and : texts.table.filters.conditions.where), /* @__PURE__ */ React.createElement(FilterColumn, { allHeaders, onChange: handleChangeColumn, value: id2, ref }), /* @__PURE__ */ React.createElement(FilterComparator, { column: column == null ? void 0 : column.column, onChange: handleChangeComparator, value: comparator }), /* @__PURE__ */ React.createElement(FilterValue, { column: column == null ? void 0 : column.column, comparator, onChange: handleChangeValue, value }), onRemove ? /* @__PURE__ */ React.createElement(IconButton, { appearance: "discrete", className: "ml-auto", icon: "close", onClick: handleRemove }) : null);
45508
+ return /* @__PURE__ */ React.createElement("div", { className: "flex items-start gap-2", "data-taco": "filter-row" }, /* @__PURE__ */ React.createElement("div", { className: "flex min-h-[theme(spacing.8)] w-14 flex-shrink-0 items-center justify-end pr-2 text-right" }, position > 0 ? texts.table.filters.conditions.and : texts.table.filters.conditions.where), /* @__PURE__ */ React.createElement(FilterColumn, { allColumns, onChange: handleChangeColumn, value: id2, ref }), /* @__PURE__ */ React.createElement(FilterComparator, { column, onChange: handleChangeComparator, value: comparator }), /* @__PURE__ */ React.createElement(FilterValue, { column, comparator, onChange: handleChangeValue, value }), onRemove ? /* @__PURE__ */ React.createElement(IconButton, { appearance: "discrete", className: "ml-auto", icon: "close", onClick: handleRemove }) : null);
45501
45509
  }
45502
45510
  const placeholderFilter = { id: "", value: { comparator: TableFilterComparator.Contains, value: void 0 } };
45503
45511
  function ManageFiltersPopover(props) {
45504
45512
  const { length, table, ...popoverProps } = props;
45505
45513
  const { locale: locale2, texts } = useLocalization();
45506
- const allHeaders = table.getLeafHeaders().filter((column) => !isInternalColumn(column.id)).sort((headerA, headerB) => sortByHeader(headerA.column, headerB.column));
45514
+ const allColumns = table.getAllLeafColumns().filter((column) => !isInternalColumn(column.id)).sort(sortByHeader);
45507
45515
  const columnFilters = table.getState().columnFilters;
45508
45516
  const tableMeta = table.options.meta;
45509
45517
  const [filters, setFilters] = React.useState(columnFilters.length ? columnFilters : [placeholderFilter]);
@@ -45542,7 +45550,7 @@ function ManageFiltersPopover(props) {
45542
45550
  if (f2.id === null || f2.id === "") {
45543
45551
  return false;
45544
45552
  }
45545
- const controlRenderer = (_b = (_a = allHeaders.find((header) => header.column.id === f2.id)) == null ? void 0 : _a.column.columnDef.meta) == null ? void 0 : _b.control;
45553
+ const controlRenderer = (_b = (_a = allColumns.find((column) => column.id === f2.id)) == null ? void 0 : _a.columnDef.meta) == null ? void 0 : _b.control;
45546
45554
  if (f2.value.comparator === TableFilterComparator.IsEmpty || f2.value.comparator === TableFilterComparator.IsNotEmpty || controlRenderer === "switch") {
45547
45555
  return true;
45548
45556
  }
@@ -45572,7 +45580,7 @@ function ManageFiltersPopover(props) {
45572
45580
  Filter,
45573
45581
  {
45574
45582
  key: `filter_${index2}`,
45575
- allHeaders,
45583
+ allColumns,
45576
45584
  filter: filter2,
45577
45585
  position: index2,
45578
45586
  onChange: handleChangeFilter,
@@ -55653,6 +55661,7 @@ function useTableEditing(isEnabled = false, defaultToggleEditing = false, handle
55653
55661
  pendingChangesFns.saveChanges(table);
55654
55662
  }
55655
55663
  async function createRow2(table, row) {
55664
+ var _a, _b;
55656
55665
  if (!handleCreate) {
55657
55666
  return;
55658
55667
  }
@@ -55663,7 +55672,10 @@ function useTableEditing(isEnabled = false, defaultToggleEditing = false, handle
55663
55672
  return;
55664
55673
  }
55665
55674
  }
55666
- const changeset = row ?? await handleCreate();
55675
+ const currentRow = ((_a = table.options.meta) == null ? void 0 : _a.rowActive.rowActiveIndex) !== void 0 ? table.getRowModel().flatRows[(_b = table.options.meta) == null ? void 0 : _b.rowActive.rowActiveIndex] : void 0;
55676
+ const changeset = row ?? await handleCreate({
55677
+ activeRow: currentRow ? { ...currentRow.original, ...tableMeta.editing.getRowValue(currentRow.id) } : void 0
55678
+ });
55667
55679
  try {
55668
55680
  if (changeset) {
55669
55681
  const temporaryRows = tableMeta.editing.temporaryRows;
@@ -55672,10 +55684,10 @@ function useTableEditing(isEnabled = false, defaultToggleEditing = false, handle
55672
55684
  requestAnimationFrame(() => {
55673
55685
  const newRowId = pendingChangesFns.insertTemporaryRow(changeset, nextRowIndex);
55674
55686
  table.setRowPinning((currentState) => {
55675
- var _a;
55687
+ var _a2;
55676
55688
  return {
55677
55689
  ...currentState,
55678
- bottom: (_a = currentState.bottom ?? []) == null ? void 0 : _a.concat(newRowId)
55690
+ bottom: (_a2 = currentState.bottom ?? []) == null ? void 0 : _a2.concat(newRowId)
55679
55691
  };
55680
55692
  });
55681
55693
  toggleDetailedMode(false);
@@ -56223,16 +56235,11 @@ function DiscardChangesConfirmationDialog(props) {
56223
56235
  ));
56224
56236
  }
56225
56237
  function Row(props) {
56226
- const { row, index: index2, table, measureRow } = props;
56238
+ const { row, index: index2, table } = props;
56227
56239
  const focusManager = useAugmentedFocusManager();
56228
56240
  const tableMeta = table.options.meta;
56229
56241
  const isActiveRow = tableMeta.rowActive.rowActiveIndex === index2;
56230
- const rowRef = React.useRef(null);
56231
56242
  const hasErrors = tableMeta.editing.hasRowErrors(row.id);
56232
- React.useLayoutEffect(() => {
56233
- if (!measureRow || !rowRef.current) return;
56234
- measureRow(rowRef.current.getBoundingClientRect().height);
56235
- }, [hasErrors, measureRow, row.id]);
56236
56243
  React.useEffect(() => {
56237
56244
  if (tableMeta.editing.isEditing && isActiveRow && tableMeta.editing.lastFocusedCellIndex === void 0) {
56238
56245
  const element = focusManager.focusFirst();
@@ -56289,7 +56296,7 @@ function Row(props) {
56289
56296
  onFocus: handleFocus,
56290
56297
  onKeyDown: handleKeyDown
56291
56298
  };
56292
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(DisplayRow, { ...props, ...attributes, ref: rowRef }, rowStatus === "saving" || rowStatus === "saved" ? /* @__PURE__ */ React.createElement(SaveStatus, { rowId: row.id, table }) : null), /* @__PURE__ */ React.createElement(
56299
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(DisplayRow, { ...props, ...attributes, remeasureDependencies: [hasErrors] }, rowStatus === "saving" || rowStatus === "saved" ? /* @__PURE__ */ React.createElement(SaveStatus, { rowId: row.id, table }) : null), /* @__PURE__ */ React.createElement(
56293
56300
  DiscardChangesConfirmationDialog,
56294
56301
  {
56295
56302
  open: showDiscardDialog,