@aivenio/aquarium 6.4.0 → 6.5.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/system.cjs CHANGED
@@ -1987,7 +1987,7 @@ var tokens_default = {
1987
1987
  }
1988
1988
  },
1989
1989
  code: {
1990
- background: "rgba(250,250,250,1)",
1990
+ background: "rgba(255,255,255,1)",
1991
1991
  text: "rgba(45,46,48,1)",
1992
1992
  variable: "rgba(91,30,103,1)",
1993
1993
  keyword: "rgba(202, 33, 101, 1)",
@@ -2591,6 +2591,14 @@ var Tooltip = ({ delay = 200, ...props }) => {
2591
2591
  shouldFlip,
2592
2592
  offset: ARROW_OFFSET
2593
2593
  });
2594
+ const [containsFocusable, setContainsFocusable] = import_react9.default.useState(false);
2595
+ import_react9.default.useLayoutEffect(() => {
2596
+ if (triggerRef.current) {
2597
+ const elements = Array.from(triggerRef.current.querySelectorAll("*"));
2598
+ const hasFocusable = elements.some((el) => (0, import_utils.isFocusable)(el));
2599
+ setContainsFocusable(hasFocusable);
2600
+ }
2601
+ });
2594
2602
  const { focusWithinProps } = (0, import_interactions.useFocusWithin)({
2595
2603
  onFocusWithinChange: (isFocusWithin) => isFocusWithin ? state.open() : state.close()
2596
2604
  });
@@ -2619,6 +2627,7 @@ var Tooltip = ({ delay = 200, ...props }) => {
2619
2627
  {
2620
2628
  className: display,
2621
2629
  ...triggerProps,
2630
+ tabIndex: containsFocusable ? -1 : triggerProps.tabIndex,
2622
2631
  onFocus: (e) => {
2623
2632
  triggerProps.onFocus?.(e);
2624
2633
  focusWithinProps.onFocus?.(e);
@@ -6220,15 +6229,7 @@ Modal.TitleContainer = ({ children, className, ...rest }) => {
6220
6229
  const { titleContainer: titleContainer2 } = modalStyles();
6221
6230
  return /* @__PURE__ */ import_react67.default.createElement("div", { ...rest, className: titleContainer2({ className }) }, children);
6222
6231
  };
6223
- var ModalBody = ({
6224
- children,
6225
- className,
6226
- noFooter = false,
6227
- maxHeight,
6228
- style,
6229
- size,
6230
- ...rest
6231
- }) => {
6232
+ var ModalBody = ({ children, className, contentClassName, noFooter = false, maxHeight, style, size, ...rest }) => {
6232
6233
  const { body, bodyContent } = modalStyles({ size });
6233
6234
  const { containerRef, topSentinelRef, bottomSentinelRef, showTopFade, showBottomFade } = useScrollFade();
6234
6235
  return /* @__PURE__ */ import_react67.default.createElement(
@@ -6240,7 +6241,7 @@ var ModalBody = ({
6240
6241
  style: { maxHeight, ...style }
6241
6242
  },
6242
6243
  /* @__PURE__ */ import_react67.default.createElement("div", { ref: topSentinelRef, "aria-hidden": "true", className: "h-1px" }),
6243
- /* @__PURE__ */ import_react67.default.createElement("div", { className: bodyContent({ noFooter }) }, children),
6244
+ /* @__PURE__ */ import_react67.default.createElement("div", { className: bodyContent({ noFooter, className: contentClassName }) }, children),
6244
6245
  /* @__PURE__ */ import_react67.default.createElement("div", { ref: bottomSentinelRef, "aria-hidden": "true", className: "h-1px -mt-1px" })
6245
6246
  );
6246
6247
  };
@@ -6709,7 +6710,7 @@ var Container2 = ({ maxWidth = "xl", children }) => /* @__PURE__ */ import_react
6709
6710
 
6710
6711
  // src/molecules/DataList/DataList.tsx
6711
6712
  var import_react93 = __toESM(require("react"));
6712
- var import_utils20 = require("@react-stately/utils");
6713
+ var import_utils19 = require("@react-stately/utils");
6713
6714
  var import_clsx26 = require("clsx");
6714
6715
  var import_lodash_es30 = require("lodash-es");
6715
6716
 
@@ -8207,11 +8208,6 @@ var useDataListContext = () => {
8207
8208
  // src/molecules/DataList/DataListGroup.tsx
8208
8209
  var import_react90 = __toESM(require("react"));
8209
8210
  var import_lodash_es28 = require("lodash-es");
8210
-
8211
- // src/molecules/DataList/utils.ts
8212
- var flattenRows = (rows) => areRowsGrouped(rows) ? Object.values(rows).flatMap(flattenRows) : rows;
8213
-
8214
- // src/molecules/DataList/DataListGroup.tsx
8215
8211
  var GAP = 8;
8216
8212
  var INDENTATION = 28;
8217
8213
  var sortGroupKeys = (groupKeys) => [...groupKeys].sort((a) => a === "undefined" ? -1 : 1);
@@ -8242,6 +8238,7 @@ var DataListGroup = ({
8242
8238
  rows,
8243
8239
  selectable,
8244
8240
  selectedRows,
8241
+ statsByNode,
8245
8242
  getOnSelectionChangeForId,
8246
8243
  selectionDisabled = () => false,
8247
8244
  getRowSelectionLabel = getDefaultRowSelectionLabel,
@@ -8270,8 +8267,8 @@ var DataListGroup = ({
8270
8267
  items: groups,
8271
8268
  renderItem: (row, index) => {
8272
8269
  const isSelected = selectedRows?.includes(row.id) ?? false;
8273
- const isDisabled = disabled?.(row, index, rows);
8274
- const isSelectionDisabled = selectionDisabled(row, index, rows);
8270
+ const isDisabled = disabled?.(row, index, groups);
8271
+ const isSelectionDisabled = selectionDisabled(row, index, groups);
8275
8272
  const isLastRow = isLastGroup && index === groups.length - 1;
8276
8273
  return /* @__PURE__ */ import_react90.default.createElement(
8277
8274
  DataListRow,
@@ -8281,7 +8278,7 @@ var DataListGroup = ({
8281
8278
  row,
8282
8279
  index,
8283
8280
  isLast: isLastRow,
8284
- rows,
8281
+ rows: groups,
8285
8282
  active: selectable && isSelected,
8286
8283
  menu: /* @__PURE__ */ import_react90.default.createElement(
8287
8284
  DataListRowMenu,
@@ -8310,7 +8307,7 @@ var DataListGroup = ({
8310
8307
  RadioButton,
8311
8308
  {
8312
8309
  value: row2.id.toString(),
8313
- "aria-label": getRowSelectionLabel(row2, index2, isSelected, rows),
8310
+ "aria-label": getRowSelectionLabel(row2, index2, isSelected, groups),
8314
8311
  onChange: import_lodash_es28.noop,
8315
8312
  checked: isSelected,
8316
8313
  disabled: isDisabled || isSelectionDisabled
@@ -8318,7 +8315,7 @@ var DataListGroup = ({
8318
8315
  ), isMultiSelectionMode && /* @__PURE__ */ import_react90.default.createElement(
8319
8316
  Checkbox,
8320
8317
  {
8321
- "aria-label": getRowSelectionLabel(row2, index2, isSelected, rows),
8318
+ "aria-label": getRowSelectionLabel(row2, index2, isSelected, groups),
8322
8319
  onChange: getOnSelectionChangeForId(row2.id),
8323
8320
  checked: isSelected,
8324
8321
  disabled: isDisabled || isSelectionDisabled
@@ -8355,10 +8352,12 @@ var DataListGroup = ({
8355
8352
  );
8356
8353
  }
8357
8354
  const openPanelId = expandedGroupIds ? expandedGroupIds.find((id) => id === key) ?? null : void 0;
8358
- const nestedRowIds = flattenRows(group).map((row) => row.id);
8359
- const nestedSelectedIds = selectedRows?.filter((id) => nestedRowIds.includes(id)) ?? [];
8360
- const allSelected = nestedRowIds.length === nestedSelectedIds.length;
8361
- const isChecked = nestedSelectedIds.length > 0;
8355
+ const { selectableIds, allSelected, isChecked, isDisabled } = statsByNode.get(group) ?? {
8356
+ selectableIds: [],
8357
+ allSelected: false,
8358
+ isChecked: false,
8359
+ isDisabled: true
8360
+ };
8362
8361
  const isActiveRow = !!openPanelId || selectable && isChecked;
8363
8362
  const isLastRow = isLastGroup && index === groupKeys.length - 1 && !openPanelId;
8364
8363
  return /* @__PURE__ */ import_react90.default.createElement(Accordion, { key, openPanelId }, hasCustomRowForGroup && /* @__PURE__ */ import_react90.default.createElement(DataList.Row, { active: isActiveRow, noDivider: isLastRow }, selectable && /* @__PURE__ */ import_react90.default.createElement(DataList.Cell, null, isMultiSelectionMode && /* @__PURE__ */ import_react90.default.createElement(
@@ -8367,8 +8366,8 @@ var DataListGroup = ({
8367
8366
  "aria-label": getGroupCheckboxLabel(key, group, index, isChecked, rows),
8368
8367
  checked: isChecked,
8369
8368
  indeterminate: isChecked && !allSelected,
8370
- disabled: group.length === 0,
8371
- onChange: getOnSelectionChangeForId(nestedRowIds)
8369
+ disabled: isDisabled,
8370
+ onChange: getOnSelectionChangeForId(selectableIds)
8372
8371
  }
8373
8372
  )), /* @__PURE__ */ import_react90.default.createElement(
8374
8373
  List,
@@ -8402,8 +8401,8 @@ var DataListGroup = ({
8402
8401
  "aria-label": getGroupCheckboxLabel(key, group, index, isChecked, rows),
8403
8402
  checked: isChecked,
8404
8403
  indeterminate: isChecked && !allSelected,
8405
- disabled: group.length === 0,
8406
- onChange: getOnSelectionChangeForId(nestedRowIds)
8404
+ disabled: isDisabled,
8405
+ onChange: getOnSelectionChangeForId(selectableIds)
8407
8406
  }
8408
8407
  )), /* @__PURE__ */ import_react90.default.createElement(
8409
8408
  DataList.Cell,
@@ -8522,12 +8521,12 @@ var DataList2 = ({
8522
8521
  const containerRef = (0, import_react93.useRef)(null);
8523
8522
  const hasStickyColumns = columns.some((column) => column.sticky);
8524
8523
  const stickyStyles = useScrollStyles({ containerRef, skip: !hasStickyColumns });
8525
- const [selected, setSelected] = (0, import_utils20.useControlledState)(
8524
+ const [selected, setSelected] = (0, import_utils19.useControlledState)(
8526
8525
  selectedRows,
8527
8526
  defaultSelectedRows,
8528
8527
  (value) => onSelectionChange?.(value ?? [])
8529
8528
  );
8530
- const [expandedGroupIds, setExpandedGroupIds] = (0, import_utils20.useControlledState)(_expandedGroupIds, []);
8529
+ const [expandedGroupIds, setExpandedGroupIds] = (0, import_utils19.useControlledState)(_expandedGroupIds, []);
8531
8530
  const onGroupToggled = (id, open) => {
8532
8531
  if (!open) {
8533
8532
  setExpandedGroupIds([...expandedGroupIds, id]);
@@ -8541,6 +8540,7 @@ var DataList2 = ({
8541
8540
  const [sort, updateSort] = useTableSort({ ...initialSortState, onSortChanged });
8542
8541
  const sortedRows = (0, import_lodash_es30.isArray)(rows) ? sortRowsBy(rows, sort) : [];
8543
8542
  const groups = areRowsGrouped(rows) ? rows : group ? (0, import_lodash_es30.isFunction)(group) ? group(sortedRows) : (0, import_lodash_es30.groupBy)(sortedRows, group) : void 0;
8543
+ const rootNode = groups ?? sortedRows;
8544
8544
  const isCollapsible = (0, import_lodash_es30.isFunction)(rowDetails);
8545
8545
  const templateColumns = (0, import_lodash_es30.compact)([
8546
8546
  selectable ? "fit-content(28px)" : void 0,
@@ -8563,26 +8563,37 @@ var DataList2 = ({
8563
8563
  }
8564
8564
  };
8565
8565
  const isMultiSelectionMode = selectable === "multiple" || selectable === "multiple-not-all";
8566
- const allRows = flattenRows(rows);
8567
- const totalSelected = selected?.length ?? 0;
8568
- const allEnabledRowIds = (0, import_lodash_es30.compact)(
8569
- allRows.map(
8570
- (row, index) => disabled?.(row, index, sortedRows) || selectionDisabled(row, index, sortedRows) ? void 0 : row.id
8571
- )
8572
- );
8573
- const allRowsSelected = totalSelected >= allEnabledRowIds.length;
8566
+ const selectedIds = new Set(selected);
8567
+ const buildSelectionStats = (root) => {
8568
+ const statsByNode2 = /* @__PURE__ */ new Map();
8569
+ const recordStats = (node) => {
8570
+ const selectableIds2 = areRowsGrouped(node) ? Object.values(node).flatMap((child) => recordStats(child).selectableIds) : node.filter((row, i) => !disabled?.(row, i, node) && !selectionDisabled(row, i, node)).map((row) => row.id);
8571
+ const selectedSelectableCount = selectableIds2.filter((id) => selectedIds.has(id)).length;
8572
+ const stats = {
8573
+ selectableIds: selectableIds2,
8574
+ selectedSelectableCount,
8575
+ allSelected: selectableIds2.length > 0 && selectedSelectableCount === selectableIds2.length,
8576
+ isChecked: selectedSelectableCount > 0,
8577
+ isDisabled: selectableIds2.length === 0
8578
+ };
8579
+ statsByNode2.set(node, stats);
8580
+ return stats;
8581
+ };
8582
+ return { statsByNode: statsByNode2, rootStats: recordStats(root) };
8583
+ };
8584
+ const { statsByNode, rootStats } = buildSelectionStats(rootNode);
8585
+ const { selectableIds, isChecked, allSelected, isDisabled } = rootStats;
8574
8586
  const componentContent = /* @__PURE__ */ import_react93.default.createElement(Template, { className: "Aquarium-DataList", columns: templateColumns, role: "table", "aria-label": ariaLabel }, !hideHeader && /* @__PURE__ */ import_react93.default.createElement(import_react93.default.Fragment, null, /* @__PURE__ */ import_react93.default.createElement(DataList.Row, { header: true }, selectable && /* @__PURE__ */ import_react93.default.createElement(DataList.HeadCell, { align: "left", sticky }, selectable === "multiple" && /* @__PURE__ */ import_react93.default.createElement(
8575
8587
  Checkbox,
8576
8588
  {
8577
8589
  "aria-label": "Select all rows",
8578
- indeterminate: totalSelected > 0 && totalSelected < allRows.length,
8579
- checked: totalSelected > 0,
8590
+ indeterminate: isChecked && !allSelected,
8591
+ checked: isChecked,
8592
+ disabled: isDisabled,
8580
8593
  onChange: () => {
8581
- if (!allRowsSelected) {
8582
- setSelected(allEnabledRowIds);
8583
- } else {
8584
- setSelected([]);
8585
- }
8594
+ const enabledSet = new Set(selectableIds);
8595
+ const keptSelection = (selected ?? []).filter((id) => !enabledSet.has(id));
8596
+ setSelected(allSelected ? keptSelection : [...keptSelection, ...selectableIds]);
8586
8597
  }
8587
8598
  }
8588
8599
  )), isCollapsible && /* @__PURE__ */ import_react93.default.createElement(DataList.HeadCell, { align: "left", sticky }), columns.map((column) => {
@@ -8627,6 +8638,7 @@ var DataList2 = ({
8627
8638
  getGroupCheckboxLabel,
8628
8639
  rows,
8629
8640
  groups,
8641
+ statsByNode,
8630
8642
  groupKey: void 0,
8631
8643
  level: 0,
8632
8644
  isLastGroup: true
@@ -8641,7 +8653,7 @@ var DataList2 = ({
8641
8653
  const details = rowDetails?.(row, index, sortedRows);
8642
8654
  const isSelected = selected?.includes(row.id) ?? false;
8643
8655
  const isSelectionDisabled = selectionDisabled(row, index, sortedRows);
8644
- const isDisabled = disabled?.(row, index, sortedRows);
8656
+ const isDisabled2 = disabled?.(row, index, sortedRows);
8645
8657
  const openPanelId = expandedGroupIds.find((id) => id === row.id.toString()) || null;
8646
8658
  const isLastRow = index === sortedRows.length - 1;
8647
8659
  const content = /* @__PURE__ */ import_react93.default.createElement(
@@ -8664,7 +8676,7 @@ var DataList2 = ({
8664
8676
  onAction,
8665
8677
  onMenuOpenChange,
8666
8678
  menuAriaLabel,
8667
- disabled: isDisabled
8679
+ disabled: isDisabled2
8668
8680
  }
8669
8681
  ),
8670
8682
  disabled,
@@ -8681,7 +8693,7 @@ var DataList2 = ({
8681
8693
  "aria-label": getRowSelectionLabel(row2, index2, isSelected, sortedRows),
8682
8694
  onChange: import_lodash_es30.noop,
8683
8695
  checked: isSelected,
8684
- disabled: isDisabled || isSelectionDisabled
8696
+ disabled: isDisabled2 || isSelectionDisabled
8685
8697
  }
8686
8698
  ), isMultiSelectionMode && /* @__PURE__ */ import_react93.default.createElement(
8687
8699
  Checkbox,
@@ -8689,7 +8701,7 @@ var DataList2 = ({
8689
8701
  "aria-label": getRowSelectionLabel(row2, index2, isSelected, sortedRows),
8690
8702
  onChange: getOnSelectionChangeForId(row2.id),
8691
8703
  checked: isSelected,
8692
- disabled: isDisabled || isSelectionDisabled
8704
+ disabled: isDisabled2 || isSelectionDisabled
8693
8705
  }
8694
8706
  )), rowDetails !== void 0 && /* @__PURE__ */ import_react93.default.createElement(DataList.Cell, null, details && /* @__PURE__ */ import_react93.default.createElement(Accordion.Toggle, { panelId: row2.id.toString(), onChange: onGroupToggled })));
8695
8707
  },
@@ -8938,13 +8950,13 @@ DataTable.Skeleton = DataListSkeleton;
8938
8950
  var import_react103 = __toESM(require("react"));
8939
8951
  var import_react_aria_components13 = require("react-aria-components");
8940
8952
  var import_label2 = require("@react-aria/label");
8941
- var import_utils27 = require("@react-aria/utils");
8953
+ var import_utils25 = require("@react-aria/utils");
8942
8954
  var import_lodash_es33 = require("lodash-es");
8943
8955
 
8944
8956
  // src/molecules/TimeField/TimeField.tsx
8945
8957
  var import_react98 = __toESM(require("react"));
8946
8958
  var import_label = require("@react-aria/label");
8947
- var import_utils25 = require("@react-aria/utils");
8959
+ var import_utils23 = require("@react-aria/utils");
8948
8960
  var import_lodash_es32 = require("lodash-es");
8949
8961
 
8950
8962
  // src/atoms/DateField/DateField.tsx
@@ -8975,7 +8987,7 @@ var TimeField = ({ disabled, valid, ...props }) => {
8975
8987
  // src/molecules/TimeField/TimeField.tsx
8976
8988
  function TimeField2(props) {
8977
8989
  const { labelProps, fieldProps } = (0, import_label.useLabel)({ label: props.labelText });
8978
- const errorMessageId = (0, import_utils25.useId)();
8990
+ const errorMessageId = (0, import_utils23.useId)();
8979
8991
  const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId } : {};
8980
8992
  const { "data-testid": dataTestId, ...labelControlProps } = getLabelControlProps(props);
8981
8993
  const baseProps = (0, import_lodash_es32.omit)(props, Object.keys(labelControlProps));
@@ -11649,7 +11661,7 @@ var CalendarTimeField = ({ granularity, labelText = "Time", ...props }) => {
11649
11661
  var DatePickerCalendarPropsContext = import_react103.default.createContext(null);
11650
11662
  var DatePickerCalendar = (props) => {
11651
11663
  const ctx = import_react103.default.useContext(DatePickerCalendarPropsContext);
11652
- const { variant, granularity, errorMessage, presets = [] } = (0, import_utils27.mergeProps)(ctx, props);
11664
+ const { variant, granularity, errorMessage, presets = [] } = (0, import_utils25.mergeProps)(ctx, props);
11653
11665
  const { dialog, calendar, errorMessage: errorMessageStyle } = datePickerCalendarStyles();
11654
11666
  return /* @__PURE__ */ import_react103.default.createElement(Popover, { offset: 0 }, /* @__PURE__ */ import_react103.default.createElement(Dialog, { className: dialog() }, presets.length > 0 && /* @__PURE__ */ import_react103.default.createElement(Presets, null, presets.map((props2) => /* @__PURE__ */ import_react103.default.createElement(Preset, { key: props2.value.toString(), ...props2 }))), /* @__PURE__ */ import_react103.default.createElement(Spacing, { gap: "3", className: "p-5" }, /* @__PURE__ */ import_react103.default.createElement(Calendar, { className: calendar() }), variant === "datetime" && /* @__PURE__ */ import_react103.default.createElement(CalendarTimeField, { granularity }), errorMessage && /* @__PURE__ */ import_react103.default.createElement(import_react_aria_components13.Text, { slot: "errorMessage", className: errorMessageStyle() }, errorMessage))));
11655
11667
  };
@@ -11688,7 +11700,7 @@ var DateTimePickerBase = createDatePickerBase("datetime");
11688
11700
  var createDatePicker = (variant) => {
11689
11701
  const datePicker = (props) => {
11690
11702
  const { labelProps, fieldProps } = (0, import_label2.useLabel)({ "label": props.labelText, "aria-label": props["aria-label"] });
11691
- const errorMessageId = (0, import_utils27.useId)();
11703
+ const errorMessageId = (0, import_utils25.useId)();
11692
11704
  const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId, "errorMessage": props.helperText ?? props.error } : {};
11693
11705
  const { "data-testid": dataTestId, ...labelControlProps } = getLabelControlProps(props);
11694
11706
  const baseProps = (0, import_lodash_es33.omit)(props, Object.keys(labelControlProps));
@@ -11707,7 +11719,7 @@ var DateTimePicker = createDatePicker("datetime");
11707
11719
  var import_react105 = __toESM(require("react"));
11708
11720
  var import_react_aria_components15 = require("react-aria-components");
11709
11721
  var import_label3 = require("@react-aria/label");
11710
- var import_utils29 = require("@react-aria/utils");
11722
+ var import_utils27 = require("@react-aria/utils");
11711
11723
  var import_lodash_es34 = require("lodash-es");
11712
11724
 
11713
11725
  // src/atoms/DatePicker/RangeCalendar.tsx
@@ -11794,7 +11806,7 @@ var RangeCalendarTimeField = ({ granularity, part, ...props }) => {
11794
11806
  var DateRangePickerCalendarPropsContext = import_react105.default.createContext(null);
11795
11807
  var DateRangePickerCalendar = (props) => {
11796
11808
  const ctx = import_react105.default.useContext(DateRangePickerCalendarPropsContext);
11797
- const { variant, granularity, errorMessage, presets = [] } = (0, import_utils29.mergeProps)(ctx, props);
11809
+ const { variant, granularity, errorMessage, presets = [] } = (0, import_utils27.mergeProps)(ctx, props);
11798
11810
  const { dialog, calendar, errorMessage: errorMessageStyle } = datePickerCalendarStyles();
11799
11811
  return /* @__PURE__ */ import_react105.default.createElement(Popover, { offset: 0 }, /* @__PURE__ */ import_react105.default.createElement(Dialog, { className: dialog() }, presets.length > 0 && /* @__PURE__ */ import_react105.default.createElement(Presets, null, presets.map((props2) => /* @__PURE__ */ import_react105.default.createElement(RangePreset, { key: `${props2.value.start.toString()}-${props2.value.end.toString()}`, ...props2 }))), /* @__PURE__ */ import_react105.default.createElement(Spacing, { gap: "3", className: "p-5" }, /* @__PURE__ */ import_react105.default.createElement(RangeCalendar, { className: calendar() }), variant === "datetime" && /* @__PURE__ */ import_react105.default.createElement(Box.Flex, { gap: "6" }, /* @__PURE__ */ import_react105.default.createElement("div", { className: "flex-1" }, /* @__PURE__ */ import_react105.default.createElement(RangeCalendarTimeField, { granularity, part: "start" })), /* @__PURE__ */ import_react105.default.createElement("div", { className: "flex-1" }, /* @__PURE__ */ import_react105.default.createElement(RangeCalendarTimeField, { granularity, part: "end" }))), errorMessage && /* @__PURE__ */ import_react105.default.createElement(import_react_aria_components15.Text, { slot: "errorMessage", className: errorMessageStyle() }, errorMessage))));
11800
11812
  };
@@ -11833,7 +11845,7 @@ var DateTimeRangePickerBase = createDateRangePickerBase("datetime");
11833
11845
  var createDateRangePicker = (variant) => {
11834
11846
  const dateRangePicker = (props) => {
11835
11847
  const { labelProps, fieldProps } = (0, import_label3.useLabel)({ "label": props.labelText, "aria-label": props["aria-label"] });
11836
- const errorMessageId = (0, import_utils29.useId)();
11848
+ const errorMessageId = (0, import_utils27.useId)();
11837
11849
  const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId, "errorMessage": props.helperText ?? props.error } : {};
11838
11850
  const { "data-testid": dataTestId, ...labelControlProps } = getLabelControlProps(props);
11839
11851
  const baseProps = (0, import_lodash_es34.omit)(props, Object.keys(labelControlProps));
@@ -11852,7 +11864,7 @@ var DateTimeRangePicker = createDateRangePicker("datetime");
11852
11864
  var import_react106 = __toESM(require("react"));
11853
11865
  var import_dialog = require("@react-aria/dialog");
11854
11866
  var import_overlays6 = require("@react-aria/overlays");
11855
- var import_utils30 = require("@react-aria/utils");
11867
+ var import_utils28 = require("@react-aria/utils");
11856
11868
  var import_overlays7 = require("@react-stately/overlays");
11857
11869
  var import_lodash_es35 = require("lodash-es");
11858
11870
  var Dialog2 = (props) => {
@@ -11867,7 +11879,7 @@ var Dialog2 = (props) => {
11867
11879
  if (!state.isOpen) {
11868
11880
  return null;
11869
11881
  }
11870
- return /* @__PURE__ */ import_react106.default.createElement(import_overlays6.Overlay, null, /* @__PURE__ */ import_react106.default.createElement(Modal, { className: "Aquarium-Dialog", open: true }, /* @__PURE__ */ import_react106.default.createElement(Modal.BackDrop, { ...underlayProps }), /* @__PURE__ */ import_react106.default.createElement(Modal.Dialog, { ref, size: "sm", isResponsive: false, ...modalProps }, /* @__PURE__ */ import_react106.default.createElement(DialogWrapper, { ...props }))));
11882
+ return /* @__PURE__ */ import_react106.default.createElement(import_overlays6.Overlay, null, /* @__PURE__ */ import_react106.default.createElement(Modal, { className: "Aquarium-Dialog", open: true }, /* @__PURE__ */ import_react106.default.createElement(Modal.BackDrop, { ...underlayProps }), /* @__PURE__ */ import_react106.default.createElement(Modal.Dialog, { ref, size: "sm", isResponsive: false, className: "sm:max-w-[520px]", ...modalProps }, /* @__PURE__ */ import_react106.default.createElement(DialogWrapper, { ...props }))));
11871
11883
  };
11872
11884
  var DialogWrapper = ({
11873
11885
  title,
@@ -11877,8 +11889,8 @@ var DialogWrapper = ({
11877
11889
  secondaryAction
11878
11890
  }) => {
11879
11891
  const ref = import_react106.default.useRef(null);
11880
- const labelledBy = (0, import_utils30.useId)();
11881
- const describedBy = (0, import_utils30.useId)();
11892
+ const labelledBy = (0, import_utils28.useId)();
11893
+ const describedBy = (0, import_utils28.useId)();
11882
11894
  const { dialogProps } = (0, import_dialog.useDialog)(
11883
11895
  {
11884
11896
  "role": "alertdialog",
@@ -11887,7 +11899,7 @@ var DialogWrapper = ({
11887
11899
  },
11888
11900
  ref
11889
11901
  );
11890
- return /* @__PURE__ */ import_react106.default.createElement("div", { ref, ...dialogProps, className: "outline-none" }, /* @__PURE__ */ import_react106.default.createElement(Modal.Header, { className: "icon-stroke-2" }, /* @__PURE__ */ import_react106.default.createElement(Icon, { icon: DIALOG_ICONS_AND_COLORS[type].icon, color: DIALOG_ICONS_AND_COLORS[type].color, fontSize: 20 }), /* @__PURE__ */ import_react106.default.createElement(Modal.Title, { id: labelledBy, variant: "large", color: DIALOG_ICONS_AND_COLORS[type].color }, title)), /* @__PURE__ */ import_react106.default.createElement(Modal.Body, { id: describedBy }, /* @__PURE__ */ import_react106.default.createElement(Typography2.Default, null, children)), /* @__PURE__ */ import_react106.default.createElement(Modal.Footer, null, /* @__PURE__ */ import_react106.default.createElement(Modal.Actions, { className: "gap-4" }, secondaryAction && /* @__PURE__ */ import_react106.default.createElement(Button2.Ghost, { key: secondaryAction.text, ...(0, import_lodash_es35.omit)(secondaryAction, "text") }, secondaryAction.text), /* @__PURE__ */ import_react106.default.createElement(Button2.Secondary, { key: primaryAction.text, ...(0, import_lodash_es35.omit)(primaryAction, "text") }, primaryAction.text))));
11902
+ return /* @__PURE__ */ import_react106.default.createElement("div", { ref, ...dialogProps, className: "outline-none" }, /* @__PURE__ */ import_react106.default.createElement(Modal.Header, { className: "icon-stroke-2 px-6 pr-6" }, /* @__PURE__ */ import_react106.default.createElement(Icon, { icon: DIALOG_ICONS_AND_COLORS[type].icon, color: DIALOG_ICONS_AND_COLORS[type].color, fontSize: 20 }), /* @__PURE__ */ import_react106.default.createElement(Modal.Title, { id: labelledBy, variant: "large", color: "default" }, title)), /* @__PURE__ */ import_react106.default.createElement(Modal.Body, { id: describedBy, contentClassName: "px-6" }, /* @__PURE__ */ import_react106.default.createElement(Typography2.Default, null, children)), /* @__PURE__ */ import_react106.default.createElement(Modal.Footer, { className: "px-6" }, /* @__PURE__ */ import_react106.default.createElement(Modal.Actions, { className: "gap-4" }, secondaryAction && /* @__PURE__ */ import_react106.default.createElement(Button2.Ghost, { key: secondaryAction.text, ...(0, import_lodash_es35.omit)(secondaryAction, "text") }, secondaryAction.text), /* @__PURE__ */ import_react106.default.createElement(Button2.Secondary, { key: primaryAction.text, ...(0, import_lodash_es35.omit)(primaryAction, "text") }, primaryAction.text))));
11891
11903
  };
11892
11904
 
11893
11905
  // src/molecules/Drawer/Drawer.tsx
@@ -12260,7 +12272,7 @@ var import_clsx30 = require("clsx");
12260
12272
  // src/molecules/Popover/Popover.tsx
12261
12273
  var import_react110 = __toESM(require("react"));
12262
12274
  var import_react_aria_components18 = require("react-aria-components");
12263
- var import_utils32 = require("@react-aria/utils");
12275
+ var import_utils30 = require("@react-aria/utils");
12264
12276
  var PopoverPropsContext = (0, import_react110.createContext)({});
12265
12277
  var Popover2 = ({ children, onOpenChange: _onOpenChange, onClose, onOpen, ...props }) => {
12266
12278
  const onOpenChange = (isOpen) => {
@@ -12285,7 +12297,7 @@ var CloseToggle = ({ children }) => {
12285
12297
  const ctx = import_react110.default.useContext(import_react_aria_components18.OverlayTriggerStateContext);
12286
12298
  const onClick = ctx?.close;
12287
12299
  const child = import_react110.default.Children.only(children);
12288
- return import_react110.default.cloneElement(child, { ...(0, import_utils32.mergeProps)(child.props, { onClick }) });
12300
+ return import_react110.default.cloneElement(child, { ...(0, import_utils30.mergeProps)(child.props, { onClick }) });
12289
12301
  };
12290
12302
  CloseToggle.displayName = "Popover.CloseToggle";
12291
12303
  Popover2.CloseToggle = CloseToggle;
@@ -12711,7 +12723,7 @@ var ModalTabs = createTabsComponent(
12711
12723
 
12712
12724
  // src/molecules/MultiInput/MultiInput.tsx
12713
12725
  var import_react119 = __toESM(require("react"));
12714
- var import_utils34 = require("@react-aria/utils");
12726
+ var import_utils32 = require("@react-aria/utils");
12715
12727
  var import_lodash_es39 = require("lodash-es");
12716
12728
 
12717
12729
  // src/molecules/MultiInput/InputChip.tsx
@@ -12921,9 +12933,9 @@ var MultiInput = (props) => {
12921
12933
  (0, import_react119.useEffect)(() => {
12922
12934
  setValue(props.value ?? []);
12923
12935
  }, [JSON.stringify(props.value)]);
12924
- const defaultId = (0, import_utils34.useId)();
12936
+ const defaultId = (0, import_utils32.useId)();
12925
12937
  const id = props.id ?? props.name ?? defaultId;
12926
- const errorMessageId = (0, import_utils34.useId)();
12938
+ const errorMessageId = (0, import_utils32.useId)();
12927
12939
  const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId } : {};
12928
12940
  const labelControlProps = getLabelControlProps(props);
12929
12941
  const baseProps = (0, import_lodash_es39.omit)(props, Object.keys(labelControlProps));
@@ -12962,7 +12974,7 @@ MultiInput.Skeleton.displayName = "MultiInput.Skeleton";
12962
12974
  // src/molecules/MultiSelect/MultiSelect.tsx
12963
12975
  var import_react120 = __toESM(require("react"));
12964
12976
  var import_overlays8 = require("@react-aria/overlays");
12965
- var import_utils35 = require("@react-aria/utils");
12977
+ var import_utils33 = require("@react-aria/utils");
12966
12978
  var import_downshift3 = require("downshift");
12967
12979
  var import_lodash_es40 = require("lodash-es");
12968
12980
  var import_match_sorter3 = require("match-sorter");
@@ -13163,9 +13175,9 @@ var MultiSelect = ({
13163
13175
  emptyState,
13164
13176
  ...props
13165
13177
  }) => {
13166
- const defaultId = (0, import_utils35.useId)();
13178
+ const defaultId = (0, import_utils33.useId)();
13167
13179
  const id = props.id ?? defaultId;
13168
- const errorMessageId = (0, import_utils35.useId)();
13180
+ const errorMessageId = (0, import_utils33.useId)();
13169
13181
  const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId } : {};
13170
13182
  const labelControlProps = getLabelControlProps(props);
13171
13183
  const baseProps = (0, import_lodash_es40.omit)(props, Object.keys(labelControlProps));
@@ -13198,7 +13210,7 @@ MultiSelect.Skeleton.displayName = "MultiSelect.Skeleton";
13198
13210
 
13199
13211
  // src/molecules/NativeSelect/NativeSelect.tsx
13200
13212
  var import_react121 = __toESM(require("react"));
13201
- var import_utils37 = require("@react-aria/utils");
13213
+ var import_utils35 = require("@react-aria/utils");
13202
13214
  var import_clsx34 = require("clsx");
13203
13215
  var import_lodash_es41 = require("lodash-es");
13204
13216
  var NativeSelectBase = import_react121.default.forwardRef(
@@ -13246,9 +13258,9 @@ var NativeSelectBase = import_react121.default.forwardRef(
13246
13258
  NativeSelectBase.Skeleton = () => /* @__PURE__ */ import_react121.default.createElement(Skeleton, { height: 38 });
13247
13259
  var NativeSelect = import_react121.default.forwardRef(
13248
13260
  ({ readOnly, ...props }, ref) => {
13249
- const defaultId = (0, import_utils37.useId)();
13261
+ const defaultId = (0, import_utils35.useId)();
13250
13262
  const id = props.id ?? defaultId;
13251
- const errorMessageId = (0, import_utils37.useId)();
13263
+ const errorMessageId = (0, import_utils35.useId)();
13252
13264
  const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId } : {};
13253
13265
  const { "data-testid": dataTestId, ...labelControlProps } = getLabelControlProps(props);
13254
13266
  const baseProps = (0, import_lodash_es41.omit)(props, Object.keys(labelControlProps));
@@ -13648,7 +13660,7 @@ RadioButton2.Skeleton.displayName = "RadioButton.Skeleton";
13648
13660
 
13649
13661
  // src/molecules/RadioButtonGroup/RadioButtonGroup.tsx
13650
13662
  var import_react132 = __toESM(require("react"));
13651
- var import_utils38 = require("@react-aria/utils");
13663
+ var import_utils36 = require("@react-aria/utils");
13652
13664
  var import_clsx37 = require("clsx");
13653
13665
  var isRadioButton = (c) => {
13654
13666
  return import_react132.default.isValidElement(c) && c.type === RadioButton2;
@@ -13664,7 +13676,7 @@ var RadioButtonGroup = ({
13664
13676
  ...props
13665
13677
  }) => {
13666
13678
  const [value, setValue] = import_react132.default.useState(_value ?? defaultValue ?? "");
13667
- const errorMessageId = (0, import_utils38.useId)();
13679
+ const errorMessageId = (0, import_utils36.useId)();
13668
13680
  const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId } : {};
13669
13681
  const labelControlProps = getLabelControlProps(props);
13670
13682
  if (_value !== void 0 && _value !== value) {
@@ -13710,7 +13722,7 @@ RadioButtonGroup.Skeleton.displayName = "RadioButtonGroup.Skeleton";
13710
13722
  // src/molecules/Section/Section.tsx
13711
13723
  var import_react137 = __toESM(require("react"));
13712
13724
  var import_button4 = require("@react-aria/button");
13713
- var import_utils39 = require("@react-aria/utils");
13725
+ var import_utils37 = require("@react-aria/utils");
13714
13726
  var import_web6 = require("@react-spring/web");
13715
13727
  var import_clsx38 = require("clsx");
13716
13728
  var import_lodash_es46 = require("lodash-es");
@@ -13909,9 +13921,9 @@ var Section4 = (props) => {
13909
13921
  onStart: () => isMounted.current && setResting(false),
13910
13922
  onRest: () => isMounted.current && setResting(true)
13911
13923
  });
13912
- const toggleId = (0, import_utils39.useId)();
13913
- const regionId = (0, import_utils39.useId)();
13914
- const titleId = (0, import_utils39.useId)();
13924
+ const toggleId = (0, import_utils37.useId)();
13925
+ const regionId = (0, import_utils37.useId)();
13926
+ const titleId = (0, import_utils37.useId)();
13915
13927
  const hasTabs = isComponentType(children, Tabs);
13916
13928
  const { buttonProps } = (0, import_button4.useButton)(
13917
13929
  { "elementType": "div", "onPress": handleTitleClick, "aria-expanded": !isCollapsed, "aria-controls": regionId },
@@ -14280,7 +14292,7 @@ Stepper2.Step = Step2;
14280
14292
 
14281
14293
  // src/molecules/SwitchGroup/SwitchGroup.tsx
14282
14294
  var import_react141 = __toESM(require("react"));
14283
- var import_utils42 = require("@react-aria/utils");
14295
+ var import_utils40 = require("@react-aria/utils");
14284
14296
  var SwitchGroup = ({
14285
14297
  value,
14286
14298
  defaultValue,
@@ -14294,7 +14306,7 @@ var SwitchGroup = ({
14294
14306
  if (value !== void 0 && value !== selectedItems) {
14295
14307
  setSelectedItems(value);
14296
14308
  }
14297
- const errorMessageId = (0, import_utils42.useId)();
14309
+ const errorMessageId = (0, import_utils40.useId)();
14298
14310
  const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId } : {};
14299
14311
  const labelControlProps = getLabelControlProps(props);
14300
14312
  const handleChange = (e) => {
@@ -14327,7 +14339,7 @@ SwitchGroup.Skeleton.displayName = "SwitchGroup.Skeleton";
14327
14339
 
14328
14340
  // src/molecules/Textarea/Textarea.tsx
14329
14341
  var import_react142 = __toESM(require("react"));
14330
- var import_utils44 = require("@react-aria/utils");
14342
+ var import_utils42 = require("@react-aria/utils");
14331
14343
  var import_clsx39 = require("clsx");
14332
14344
  var import_lodash_es47 = require("lodash-es");
14333
14345
  var TextareaBase = import_react142.default.forwardRef(
@@ -14344,9 +14356,9 @@ var TextareaBase = import_react142.default.forwardRef(
14344
14356
  TextareaBase.Skeleton = () => /* @__PURE__ */ import_react142.default.createElement(Skeleton, { height: 58 });
14345
14357
  var Textarea = import_react142.default.forwardRef((props, ref) => {
14346
14358
  const [value, setValue] = (0, import_react142.useState)(props.value ?? props.defaultValue ?? "");
14347
- const defaultId = (0, import_utils44.useId)();
14359
+ const defaultId = (0, import_utils42.useId)();
14348
14360
  const id = props.id ?? defaultId;
14349
- const errorMessageId = (0, import_utils44.useId)();
14361
+ const errorMessageId = (0, import_utils42.useId)();
14350
14362
  const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId } : {};
14351
14363
  const { "data-testid": dataTestId, ...labelControlProps } = getLabelControlProps(props);
14352
14364
  const baseProps = (0, import_lodash_es47.omit)(props, Object.keys(labelControlProps));