@aivenio/aquarium 6.0.0-rc4 → 6.0.0-rc6

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.
Files changed (43) hide show
  1. package/dist/_variables.scss +1 -0
  2. package/dist/atoms.cjs +149 -74
  3. package/dist/atoms.mjs +149 -74
  4. package/dist/charts.cjs +1 -0
  5. package/dist/charts.mjs +1 -0
  6. package/dist/src/atoms/Alert/Alert.d.ts +1 -0
  7. package/dist/src/atoms/Alert/Alert.js +12 -4
  8. package/dist/src/atoms/DataList/DataList.js +6 -6
  9. package/dist/src/atoms/DropdownMenu/DropdownMenu.js +2 -2
  10. package/dist/src/atoms/Filter/Filter.js +3 -3
  11. package/dist/src/atoms/Modal/Modal.d.ts +3 -0
  12. package/dist/src/atoms/Modal/Modal.js +15 -13
  13. package/dist/src/atoms/RadioButton/RadioButton.js +4 -4
  14. package/dist/src/atoms/Section/Section.js +1 -1
  15. package/dist/src/atoms/Select/Select.js +5 -5
  16. package/dist/src/atoms/Table/Table.d.ts +5 -4
  17. package/dist/src/atoms/Table/Table.js +6 -6
  18. package/dist/src/molecules/Alert/Alert.js +2 -2
  19. package/dist/src/molecules/Card/Card.js +13 -3
  20. package/dist/src/molecules/Card/Compact.js +13 -3
  21. package/dist/src/molecules/ControlLabel/ControlLabel.js +2 -2
  22. package/dist/src/molecules/DataList/DataList.js +5 -4
  23. package/dist/src/molecules/DataList/DataListComponents.d.ts +4 -2
  24. package/dist/src/molecules/DataList/DataListComponents.js +10 -7
  25. package/dist/src/molecules/DataList/DataListContext.d.ts +1 -0
  26. package/dist/src/molecules/DataList/DataListContext.js +2 -1
  27. package/dist/src/molecules/DataList/DataListGroup.js +1 -1
  28. package/dist/src/molecules/DataList/DataListToolbar.js +8 -6
  29. package/dist/src/molecules/Dialog/Dialog.js +2 -2
  30. package/dist/src/molecules/EmptyState/EmptyState.d.ts +2 -2
  31. package/dist/src/molecules/EmptyState/EmptyState.js +2 -2
  32. package/dist/src/molecules/SegmentedControl/SegmentedControl.js +38 -9
  33. package/dist/src/tokens/tokens.json +1 -0
  34. package/dist/src/utils/actions.d.ts +1 -2
  35. package/dist/src/utils/actions.js +3 -3
  36. package/dist/src/utils/stickyStyles.js +1 -1
  37. package/dist/styles.css +122 -62
  38. package/dist/system.cjs +156 -108
  39. package/dist/system.mjs +156 -108
  40. package/dist/tailwind.theme.json +1 -0
  41. package/dist/tokens.json +1 -0
  42. package/dist/tsconfig.module.tsbuildinfo +1 -1
  43. package/package.json +1 -1
@@ -176,6 +176,7 @@ $background-color-body: $colors-white;
176
176
  $background-color-layer: $colors-white;
177
177
  $background-color-inverse: $colors-grey-80;
178
178
  $background-color-overlay: $colors-white;
179
+ $background-color-backdrop: rgb(from $colors-grey-100 r g b / 70%);
179
180
  $background-color-muted: $colors-grey-5;
180
181
  $background-color-medium: $colors-grey-10;
181
182
  $background-color-intense: $colors-grey-30;
package/dist/atoms.cjs CHANGED
@@ -90,7 +90,7 @@ module.exports = __toCommonJS(atoms_exports);
90
90
 
91
91
  // src/atoms/Alert/Alert.tsx
92
92
  var import_react142 = __toESM(require("react"));
93
- var import_tailwind_variants32 = require("tailwind-variants");
93
+ var import_tailwind_variants33 = require("tailwind-variants");
94
94
 
95
95
  // src/molecules/Button/Button.tsx
96
96
  var import_react5 = __toESM(require("react"));
@@ -841,7 +841,7 @@ var InlineIcon2 = import_react6.default.forwardRef(({ color, className, ...rest
841
841
 
842
842
  // src/atoms/Typography/Typography.tsx
843
843
  var import_react141 = __toESM(require("react"));
844
- var import_clsx42 = require("clsx");
844
+ var import_clsx41 = require("clsx");
845
845
 
846
846
  // src/tokens/tokens.json
847
847
  var tokens_default = {
@@ -865,6 +865,7 @@ var tokens_default = {
865
865
  "body-intense": "rgba(31,32,33,1)",
866
866
  inverse: "rgba(31,32,33,1)",
867
867
  overlay: "rgba(255,255,255,1)",
868
+ backdrop: "rgb(from rgba(13,14,16,1) r g b / 70%)",
868
869
  "popover-content": "rgba(255,255,255,1)",
869
870
  muted: "rgba(244,244,244,1)",
870
871
  default: "rgba(235,235,235,1)",
@@ -1855,6 +1856,7 @@ var tailwind_theme_default = {
1855
1856
  "body-intense": "var(--aquarium-background-color-body-intense)",
1856
1857
  inverse: "var(--aquarium-background-color-inverse)",
1857
1858
  overlay: "var(--aquarium-background-color-overlay)",
1859
+ backdrop: "var(--aquarium-background-color-backdrop)",
1858
1860
  "popover-content": "var(--aquarium-background-color-popover-content)",
1859
1861
  muted: "var(--aquarium-background-color-muted)",
1860
1862
  default: "var(--aquarium-background-color-default)",
@@ -2611,13 +2613,13 @@ var getValues = (children) => {
2611
2613
  return values?.filter((v) => v !== void 0 && v !== null) ?? [];
2612
2614
  };
2613
2615
  var inputContainerClasses = (0, import_tailwind_variants4.tv)({
2614
- base: "relative rounded typography-default-strong w-full flex flex-row items-center focus-visible:outline-0 focus-visible:border-info-default group",
2616
+ base: "relative rounded typography-default-strong w-full flex flex-row items-center bg-body focus-visible:outline-0 focus-visible:border-info-default group",
2615
2617
  variants: {
2616
2618
  variant: {
2617
- default: "border px-3 py-[6px] border-default hover:border-intense bg-transparent",
2619
+ default: "border px-3 py-[6px] border-default hover:border-intense",
2618
2620
  disabled: "border px-3 py-[6px] cursor-not-allowed border-default bg-medium",
2619
- error: "border px-3 py-[6px] border-danger-default bg-transparent",
2620
- focused: "border px-3 py-[6px] border-info-default bg-transparent",
2621
+ error: "border px-3 py-[6px] border-danger-default",
2622
+ focused: "border px-3 py-[6px] border-info-default",
2621
2623
  readOnly: "cursor-default border-default bg-transparent"
2622
2624
  }
2623
2625
  }
@@ -3077,6 +3079,7 @@ var Alert2 = ({
3077
3079
  className: "Aquarium-Alert",
3078
3080
  type,
3079
3081
  dense: Boolean(title),
3082
+ hasAction: Boolean(action),
3080
3083
  "aria-describedby": descriptionID,
3081
3084
  "aria-labelledby": title ? titleID : void 0
3082
3085
  },
@@ -3817,11 +3820,11 @@ var Checkbox = import_react35.default.forwardRef(
3817
3820
  var import_react36 = __toESM(require("react"));
3818
3821
  var import_tailwind_variants11 = require("tailwind-variants");
3819
3822
  var radioButtonClasses = (0, import_tailwind_variants11.tv)({
3820
- base: "inline-flex justify-center items-center self-center appearance-none w-5 h-5 p-[3px] rounded-full border border-default outline-none focus:border-info-default checked:bg-primary-graphic checked:shadow-bodyInset",
3823
+ base: "inline-flex justify-center items-center self-center appearance-none w-5 h-5 p-[3px] rounded-full border border-default outline-none focus:border-info-default checked:bg-primary-inverse checked:shadow-bodyInset",
3821
3824
  variants: {
3822
3825
  disabled: {
3823
- true: "cursor-not-allowed border-muted bg-muted checked:bg-primary-muted checked:border-transparent",
3824
- false: "cursor-pointer hover:border-intense checked:border-primary-default"
3826
+ true: "cursor-not-allowed border-muted bg-muted checked:bg-intense checked:border-transparent",
3827
+ false: "cursor-pointer hover:bg-primary-active hover:border-primary-default checked:border-primary-default hover:checked:bg-primary-inverse"
3825
3828
  }
3826
3829
  }
3827
3830
  });
@@ -3995,7 +3998,15 @@ var CompactCard = ({
3995
3998
  ...commonProps
3996
3999
  },
3997
4000
  commonContent,
3998
- (primaryAction ?? secondaryAction) && /* @__PURE__ */ import_react40.default.createElement(Card.Actions, { disabled, dense: true }, primaryAction && renderAction({ kind: "secondary", dense: true, action: primaryAction, disabled }), secondaryAction && renderAction({ kind: "ghost", dense: true, action: secondaryAction, disabled }))
4001
+ (primaryAction ?? secondaryAction) && /* @__PURE__ */ import_react40.default.createElement(Card.Actions, { disabled, dense: true }, primaryAction && renderAction({
4002
+ kind: "secondary",
4003
+ dense: true,
4004
+ action: { ...primaryAction, disabled: primaryAction.disabled || disabled }
4005
+ }), secondaryAction && renderAction({
4006
+ kind: "ghost",
4007
+ dense: true,
4008
+ action: { ...secondaryAction, disabled: secondaryAction.disabled || disabled }
4009
+ }))
3999
4010
  );
4000
4011
  };
4001
4012
  var CompactSkeleton = ({
@@ -4105,7 +4116,15 @@ var Card2 = ({
4105
4116
  hasImage: Boolean(image) && !chipElements && !icons.length
4106
4117
  },
4107
4118
  commonContent,
4108
- (primaryAction ?? secondaryAction) && /* @__PURE__ */ import_react41.default.createElement(Card.Actions, { disabled }, primaryAction && renderAction({ kind: "secondary", dense: true, action: primaryAction, disabled }), secondaryAction && renderAction({ kind: "ghost", dense: true, action: secondaryAction, disabled }))
4119
+ (primaryAction ?? secondaryAction) && /* @__PURE__ */ import_react41.default.createElement(Card.Actions, { disabled }, primaryAction && renderAction({
4120
+ kind: "secondary",
4121
+ dense: true,
4122
+ action: { ...primaryAction, disabled: primaryAction.disabled || disabled }
4123
+ }), secondaryAction && renderAction({
4124
+ kind: "ghost",
4125
+ dense: true,
4126
+ action: { ...secondaryAction, disabled: secondaryAction.disabled || disabled }
4127
+ }))
4109
4128
  );
4110
4129
  };
4111
4130
  Card2.Title = Card.Title;
@@ -4167,7 +4186,7 @@ var ControlLabel = ({
4167
4186
  },
4168
4187
  rtl ? labelEl : children,
4169
4188
  rtl ? children : labelEl,
4170
- caption && /* @__PURE__ */ import_react43.default.createElement(Typography2, { className: (0, import_clsx13.clsx)({ "col-start-2": !rtl }), variant: "small", color: disabled ? "inactive" : "default" }, caption)
4189
+ caption && /* @__PURE__ */ import_react43.default.createElement(Typography2, { className: (0, import_clsx13.clsx)({ "col-start-2": !rtl }), variant: "small", color: disabled ? "inactive" : "muted" }, caption)
4171
4190
  );
4172
4191
  };
4173
4192
 
@@ -5648,24 +5667,24 @@ var rowClassNamesBase = (0, import_tailwind_variants14.tv)({
5648
5667
  });
5649
5668
  var rowClassNames = rowClassNamesBase();
5650
5669
  var cellClassNamesBase = (0, import_tailwind_variants14.tv)({
5651
- base: "px-4 border-b typography-default leading-[18px]"
5670
+ base: "px-4 border-b leading-[18px]"
5652
5671
  });
5653
5672
  var cellClassNames = cellClassNamesBase();
5654
5673
  var rowClasses = (0, import_tailwind_variants14.tv)({
5655
5674
  extend: rowClassNamesBase,
5656
5675
  variants: {
5657
5676
  disabled: {
5658
- true: "opacity-70",
5677
+ true: "[&>div]:text-inactive",
5659
5678
  false: ""
5660
5679
  }
5661
5680
  }
5662
5681
  });
5663
5682
  var bodyCellClasses = (0, import_tailwind_variants14.tv)({
5664
- base: "text-default py-3",
5683
+ base: "py-5 typography-default",
5665
5684
  variants: {
5666
5685
  table: {
5667
5686
  true: "h-[50px]",
5668
- false: "min-h-[50px]"
5687
+ false: "min-h-[48px]"
5669
5688
  },
5670
5689
  stickyColumn: {
5671
5690
  left: "sticky z-10 bg-body group-hover:bg-muted left-0",
@@ -5689,7 +5708,7 @@ var alignClasses = (0, import_tailwind_variants14.tv)({
5689
5708
  }
5690
5709
  });
5691
5710
  var headCellClasses = (0, import_tailwind_variants14.tv)({
5692
- base: "py-[14px] text-left border-intense text-muted font-semibold whitespace-nowrap",
5711
+ base: "py-4 text-left border-muted text-muted whitespace-nowrap min-h-[40px] typography-small-strong",
5693
5712
  variants: {
5694
5713
  sticky: {
5695
5714
  true: "sticky bg-body top-0 z-10",
@@ -5852,7 +5871,7 @@ var rowClasses2 = (0, import_tailwind_variants15.tv)({
5852
5871
  false: ""
5853
5872
  },
5854
5873
  disabled: {
5855
- true: "children:opacity-70",
5874
+ true: "[&>div]:text-inactive",
5856
5875
  false: ""
5857
5876
  },
5858
5877
  active: {
@@ -5893,10 +5912,10 @@ var sortCellIconsClasses = (0, import_tailwind_variants15.tv)({
5893
5912
  }
5894
5913
  });
5895
5914
  var toolbarContainerClasses = (0, import_tailwind_variants15.tv)({
5896
- base: "col-span-full flex items-stretch py-4 px-l2 border-b border-default",
5915
+ base: "col-span-full flex items-stretch py-4 px-l2 border-b border-muted",
5897
5916
  variants: {
5898
5917
  sticky: {
5899
- true: "sticky top-[47px] bg-body z-10",
5918
+ true: "sticky top-[47px] bg-layer z-10",
5900
5919
  false: ""
5901
5920
  }
5902
5921
  }
@@ -5943,7 +5962,7 @@ var Cell = ({
5943
5962
  cellClassNames,
5944
5963
  getBodyCellClassNames(false, stickyColumn),
5945
5964
  alignClasses2({ align }),
5946
- "border-default",
5965
+ "border-muted",
5947
5966
  className
5948
5967
  )
5949
5968
  }
@@ -5977,7 +5996,7 @@ var Row = ({
5977
5996
  };
5978
5997
  var SubGroupSpacing = ({ className, divider = false, ...rest }) => /* @__PURE__ */ import_react66.default.createElement("span", { ...rest, "aria-hidden": true, className: (0, import_clsx24.clsx)(subGroupSpacingClasses({ divider }), className) });
5979
5998
  var SortCell = ({ children, direction = "none", onClick, sticky, ...rest }) => /* @__PURE__ */ import_react66.default.createElement(HeadCell, { ...rest, "aria-sort": direction, role: "columnheader", sticky }, /* @__PURE__ */ import_react66.default.createElement("span", { className: getSortCellButtonClassNames(rest.align), role: "button", tabIndex: -1, onClick }, children, /* @__PURE__ */ import_react66.default.createElement("div", { "data-sort-icons": true, className: sortCellIconsClasses({ direction }) }, /* @__PURE__ */ import_react66.default.createElement(InlineIcon2, { icon: chevronUp_default, className: getSortCellIconClassNames(direction === "ascending") }), /* @__PURE__ */ import_react66.default.createElement(InlineIcon2, { icon: chevronDown_default, className: getSortCellIconClassNames(direction === "descending") }))));
5980
- var EmptyGroup = ({ icon, children }) => /* @__PURE__ */ import_react66.default.createElement("div", { className: emptyGroupClasses() }, icon && /* @__PURE__ */ import_react66.default.createElement(Icon2, { icon, width: 22 }), children);
5999
+ var EmptyGroup = ({ icon, children }) => /* @__PURE__ */ import_react66.default.createElement("div", { className: emptyGroupClasses() }, icon && /* @__PURE__ */ import_react66.default.createElement(Icon2, { icon, width: 18 }), children);
5981
6000
  DataList.EmptyGroup = EmptyGroup;
5982
6001
  DataList.EmptyGroup.displayName = "DataList.EmptyGroup";
5983
6002
  DataList.HeadCell = HeadCell;
@@ -6131,7 +6150,7 @@ function useScrollStyles({
6131
6150
  containerRef,
6132
6151
  skip = false,
6133
6152
  direction = "horizontal",
6134
- options = { borderColor: "210, 210, 214", boxShadowColor: "58, 58, 68" }
6153
+ options = { borderColor: "210, 210, 214", boxShadowColor: "74, 74, 83" }
6135
6154
  }) {
6136
6155
  const scrollXProgress = useScrollProgress({ containerRef, skip });
6137
6156
  return useStickyStyles(scrollXProgress, direction, options);
@@ -6229,7 +6248,7 @@ var import_react_aria_components2 = require("react-aria-components");
6229
6248
  var import_clsx25 = require("clsx");
6230
6249
  var import_tailwind_variants16 = require("tailwind-variants");
6231
6250
  var dropdownMenuStyles = (0, import_tailwind_variants16.tv)({
6232
- base: "bg-overlay w-full flex flex-col overflow-x-hidden typography-small text-default"
6251
+ base: "bg-overlay w-full flex flex-col overflow-x-hidden typography-default text-default"
6233
6252
  });
6234
6253
  var DropdownMenu = ({ className, children, ...props }) => {
6235
6254
  return /* @__PURE__ */ import_react69.default.createElement(import_react_aria_components2.Menu, { className: dropdownMenuStyles({ className: ["Aquarium-DropdownMenu", className] }), ...props }, children);
@@ -6452,7 +6471,8 @@ var DataListRowMenu = ({
6452
6471
  menu,
6453
6472
  onAction,
6454
6473
  onMenuOpenChange,
6455
- menuAriaLabel
6474
+ menuAriaLabel,
6475
+ disabled = false
6456
6476
  }) => {
6457
6477
  if (!menu) {
6458
6478
  return null;
@@ -6465,7 +6485,7 @@ var DataListRowMenu = ({
6465
6485
  onAction: (action) => onAction?.(action, row, index),
6466
6486
  onOpenChange: onMenuOpenChange
6467
6487
  },
6468
- /* @__PURE__ */ import_react74.default.createElement(DropdownMenu2.Trigger, null, /* @__PURE__ */ import_react74.default.createElement(Button2.Icon, { "aria-label": menuAriaLabel, icon: more_default })),
6488
+ /* @__PURE__ */ import_react74.default.createElement(DropdownMenu2.Trigger, null, /* @__PURE__ */ import_react74.default.createElement(Button2.Icon, { "aria-label": menuAriaLabel, icon: more_default, disabled })),
6469
6489
  menuContent
6470
6490
  ));
6471
6491
  };
@@ -6519,7 +6539,7 @@ var DataListRow = ({
6519
6539
  ...additionalColumnProps(column, columnIndex, columns, row),
6520
6540
  className: rowClassName?.(row, index, rows)
6521
6541
  },
6522
- /* @__PURE__ */ import_react74.default.createElement(DataListCell, { column, row, index, rows })
6542
+ /* @__PURE__ */ import_react74.default.createElement(DataListCell, { column, row, index, rows, disabled: isRowDisabled })
6523
6543
  );
6524
6544
  return createAnimatedCell({
6525
6545
  cellElement: cell2,
@@ -6537,7 +6557,8 @@ var DataListCell = ({
6537
6557
  column,
6538
6558
  row,
6539
6559
  index,
6540
- rows: _rows
6560
+ rows: _rows,
6561
+ disabled = false
6541
6562
  }) => {
6542
6563
  let cellContent = DEFAULT_CONTENT;
6543
6564
  const rows = areRowsGrouped(_rows) ? void 0 : _rows;
@@ -6552,13 +6573,17 @@ var DataListCell = ({
6552
6573
  case "action": {
6553
6574
  const action = renameProperty("text", "children", column.action(row, index, rows));
6554
6575
  if (action) {
6576
+ const isActionDisabled = disabled || action.disabled;
6555
6577
  cellContent = /* @__PURE__ */ import_react74.default.createElement(
6556
6578
  Button2.Secondary,
6557
6579
  {
6558
6580
  dense: true,
6559
6581
  ...action,
6582
+ disabled: isActionDisabled,
6560
6583
  onClick: (e) => {
6561
- action.onClick();
6584
+ if (!isActionDisabled) {
6585
+ action.onClick();
6586
+ }
6562
6587
  e.stopPropagation();
6563
6588
  }
6564
6589
  }
@@ -6609,7 +6634,8 @@ var DataListCell = ({
6609
6634
  var import_react75 = require("react");
6610
6635
  var DataListContext = (0, import_react75.createContext)({
6611
6636
  rows: [],
6612
- selectedRows: void 0
6637
+ selectedRows: void 0,
6638
+ selectable: false
6613
6639
  });
6614
6640
  var useDataListContext = () => {
6615
6641
  const ctx = (0, import_react75.useContext)(DataListContext);
@@ -6823,7 +6849,7 @@ var DataListGroup = ({
6823
6849
  )), /* @__PURE__ */ import_react76.default.createElement(
6824
6850
  DataList.Cell,
6825
6851
  {
6826
- className: "gap-3",
6852
+ className: "gap-2",
6827
6853
  style: { paddingLeft: `${GAP + level * INDENTATION}px`, gridColumn: `${selectable ? 2 : 1} / -1` }
6828
6854
  },
6829
6855
  /* @__PURE__ */ import_react76.default.createElement(Accordion.Toggle, { panelId: key, onChange: onGroupToggled }),
@@ -6874,13 +6900,19 @@ var DataListToolbar = ({
6874
6900
  menuLabel,
6875
6901
  sticky = true
6876
6902
  }) => {
6877
- const { selectedRows } = useDataListContext();
6903
+ const { selectedRows, selectable } = useDataListContext();
6878
6904
  const actions2 = (0, import_lodash_es26.castArray)(_actions).filter(Boolean);
6905
+ const noRowsSelected = (selectedRows?.length ?? 0) === 0;
6906
+ const disableToolbarActions = selectable && noRowsSelected;
6879
6907
  return /* @__PURE__ */ import_react78.default.createElement(DataList.Toolbar.Container, { sticky }, /* @__PURE__ */ import_react78.default.createElement(DataList.Toolbar.Group, null, /* @__PURE__ */ import_react78.default.createElement(DataList.Toolbar.SelectionCount, null, selectedRows?.length ?? 0, " selected")), actions2.length > 0 && /* @__PURE__ */ import_react78.default.createElement(DataList.Toolbar.Group, null, /* @__PURE__ */ import_react78.default.createElement(DataList.Toolbar.Actions, null, actions2.map(
6880
6908
  (action) => renderAction({
6881
6909
  kind: "ghost",
6882
6910
  dense: true,
6883
- action: { ...action, onClick: () => action.onClick(selectedRows ?? []) }
6911
+ action: {
6912
+ ...action,
6913
+ disabled: disableToolbarActions || action.disabled,
6914
+ onClick: () => action.onClick(selectedRows ?? [])
6915
+ }
6884
6916
  })
6885
6917
  ))), menu && /* @__PURE__ */ import_react78.default.createElement(DataList.Toolbar.Group, null, /* @__PURE__ */ import_react78.default.createElement(
6886
6918
  DropdownMenu2,
@@ -6889,7 +6921,7 @@ var DataListToolbar = ({
6889
6921
  onAction: (key) => onAction(key, selectedRows ?? []),
6890
6922
  onOpenChange: onMenuOpenChange
6891
6923
  },
6892
- /* @__PURE__ */ import_react78.default.createElement(DropdownMenu2.Trigger, null, /* @__PURE__ */ import_react78.default.createElement(Button2.Dropdown, { kind: "ghost", dense: true }, menuLabel)),
6924
+ /* @__PURE__ */ import_react78.default.createElement(DropdownMenu2.Trigger, null, /* @__PURE__ */ import_react78.default.createElement(Button2.Dropdown, { kind: "ghost", dense: true, disabled: disableToolbarActions }, menuLabel)),
6893
6925
  menu
6894
6926
  )));
6895
6927
  };
@@ -6995,7 +7027,7 @@ var DataList2 = ({
6995
7027
  }
6996
7028
  )), isCollapsible && /* @__PURE__ */ import_react79.default.createElement(DataList.HeadCell, { align: "left", sticky }), columns.map((column) => {
6997
7029
  const content = column.headerTooltip ? /* @__PURE__ */ import_react79.default.createElement(Tooltip, { placement: column.headerTooltip.placement, content: column.headerTooltip.content }, column.headerName) : column.headerName;
6998
- const headerContentAndIcon = column.icon ? /* @__PURE__ */ import_react79.default.createElement(Box.Flex, { flexDirection: "row", gap: "3", alignItems: "center" }, /* @__PURE__ */ import_react79.default.createElement(InlineIcon2, { icon: column.icon, height: "22", color: "muted", "aria-hidden": true }), content) : content;
7030
+ const headerContentAndIcon = column.icon ? /* @__PURE__ */ import_react79.default.createElement(Box.Flex, { flexDirection: "row", gap: "2", alignItems: "center" }, /* @__PURE__ */ import_react79.default.createElement(InlineIcon2, { icon: column.icon, width: 18, height: 18, color: "muted", "aria-hidden": true }), content) : content;
6999
7031
  const cell2 = columnHasSort(column) ? /* @__PURE__ */ import_react79.default.createElement(
7000
7032
  DataList.SortCell,
7001
7033
  {
@@ -7071,7 +7103,8 @@ var DataList2 = ({
7071
7103
  menu,
7072
7104
  onAction,
7073
7105
  onMenuOpenChange,
7074
- menuAriaLabel
7106
+ menuAriaLabel,
7107
+ disabled: isDisabled
7075
7108
  }
7076
7109
  ),
7077
7110
  disabled,
@@ -7128,7 +7161,8 @@ var DataList2 = ({
7128
7161
  {
7129
7162
  value: {
7130
7163
  rows: (0, import_lodash_es27.isArray)(rows) ? sortedRows : rows,
7131
- selectedRows: selected
7164
+ selectedRows: selected,
7165
+ selectable: Boolean(selectable)
7132
7166
  }
7133
7167
  },
7134
7168
  wrappedContent
@@ -10274,10 +10308,10 @@ var bodyMaskClasses = (0, import_tailwind_variants23.tv)({
10274
10308
  "before:sticky",
10275
10309
  "before:top-0",
10276
10310
  "before:left-0",
10277
- "before:h-4",
10311
+ "before:h-5",
10278
10312
  "before:flex-shrink-0",
10279
10313
  "before:bg-gradient-to-b",
10280
- "before:from-white",
10314
+ "before:from-overlay",
10281
10315
  "before:to-transparent",
10282
10316
  "before:z-10"
10283
10317
  ],
@@ -10285,12 +10319,12 @@ var bodyMaskClasses = (0, import_tailwind_variants23.tv)({
10285
10319
  'after:content-[""]',
10286
10320
  "after:pointer-events-none",
10287
10321
  "after:sticky",
10288
- "after:bottom-0",
10322
+ "after:bottom-3",
10289
10323
  "after:left-0",
10290
- "after:h-4",
10324
+ "after:h-5",
10291
10325
  "after:flex-shrink-0",
10292
10326
  "after:bg-gradient-to-t",
10293
- "after:from-white",
10327
+ "after:from-overlay",
10294
10328
  "after:to-transparent",
10295
10329
  "after:z-10"
10296
10330
  ]
@@ -10300,12 +10334,13 @@ var bodyMaskClasses = (0, import_tailwind_variants23.tv)({
10300
10334
  var modalStyles = (0, import_tailwind_variants23.tv)({
10301
10335
  slots: {
10302
10336
  overlay: "inset-0 overflow-y-auto z-modal fixed",
10303
- backdrop: "-z-10 fixed min-w-full min-h-full bg-inverse opacity-30",
10304
- dialog: "bg-overlay max-h-full flex flex-col",
10337
+ backdrop: "-z-10 fixed min-w-full min-h-full bg-backdrop",
10338
+ dialog: "Aquarium-Modal.Container bg-overlay max-h-full flex flex-col",
10305
10339
  header: "pl-7 pr-[64px] pt-6 pb-4 gap-3 flex items-center",
10306
10340
  headerImage: "h-[120px] min-h-[120px] w-full",
10307
10341
  titleContainer: "flex flex-col grow",
10308
10342
  title: "",
10343
+ subtitle: "max-w-[700px]",
10309
10344
  closeButtonContainer: "absolute top-[24px] right-[28px]",
10310
10345
  body: [
10311
10346
  "grow overflow-y-auto text-default flex flex-col",
@@ -10314,7 +10349,7 @@ var modalStyles = (0, import_tailwind_variants23.tv)({
10314
10349
  ],
10315
10350
  bodyContent: "px-7 grow",
10316
10351
  footer: "px-7 pt-4 pb-6",
10317
- actions: "flex gap-4 justify-end"
10352
+ actions: "flex gap-3 justify-end"
10318
10353
  },
10319
10354
  variants: {
10320
10355
  kind: {
@@ -10367,7 +10402,7 @@ var modalStyles = (0, import_tailwind_variants23.tv)({
10367
10402
  isResponsive: true,
10368
10403
  class: {
10369
10404
  overlay: "py-0 sm:py-7",
10370
- dialog: "w-dvw h-dvh mx-0 rounded-none sm:h-auto sm:w-full sm:rounded sm:mx-7"
10405
+ dialog: "w-dvw h-dvh mx-0 rounded-none sm:h-auto sm:w-full sm:rounded-lg sm:mx-7"
10371
10406
  }
10372
10407
  },
10373
10408
  {
@@ -10376,7 +10411,7 @@ var modalStyles = (0, import_tailwind_variants23.tv)({
10376
10411
  isResponsive: false,
10377
10412
  class: {
10378
10413
  overlay: "py-0",
10379
- dialog: "h-auto w-full rounded mx-7"
10414
+ dialog: "h-auto w-full rounded-lg mx-7"
10380
10415
  }
10381
10416
  },
10382
10417
  {
@@ -10460,7 +10495,10 @@ Modal.Title = ({ kind = "dialog", children, className, ...rest }) => {
10460
10495
  const { title } = modalStyles({ kind });
10461
10496
  return /* @__PURE__ */ import_react92.default.createElement(Typography, { htmlTag: "h2", variant: "subheading", color: "intense", className: title({ className }), ...rest }, children);
10462
10497
  };
10463
- Modal.Subtitle = ({ children, ...rest }) => /* @__PURE__ */ import_react92.default.createElement(Typography, { variant: "default", color: "default", ...rest }, children);
10498
+ Modal.Subtitle = ({ children, className, ...rest }) => {
10499
+ const { subtitle } = modalStyles();
10500
+ return /* @__PURE__ */ import_react92.default.createElement(Typography, { variant: "default", color: "muted", className: subtitle({ className }), ...rest }, children);
10501
+ };
10464
10502
  Modal.TitleContainer = ({ children, className, ...rest }) => {
10465
10503
  const { titleContainer: titleContainer2 } = modalStyles();
10466
10504
  return /* @__PURE__ */ import_react92.default.createElement("div", { ...rest, className: titleContainer2({ className }) }, children);
@@ -10899,7 +10937,7 @@ Dropdown.Item = DropdownItem;
10899
10937
  var import_react99 = __toESM(require("react"));
10900
10938
  var import_tailwind_variants24 = require("tailwind-variants");
10901
10939
  var emptyStateClasses = (0, import_tailwind_variants24.tv)({
10902
- base: "Aquarium-EmptyState rounded flex bg-transparent border-default py-l6 max-h-[800px]",
10940
+ base: "Aquarium-EmptyState rounded flex bg-transparent border-default py-l6 max-h-[800px] w-full",
10903
10941
  variants: {
10904
10942
  layout: {
10905
10943
  vertical: "flex-col justify-center items-center gap-7 text-center px-9",
@@ -11001,7 +11039,7 @@ var FilterTrigger = ({
11001
11039
  "px-4": !showClearButton
11002
11040
  })
11003
11041
  },
11004
- /* @__PURE__ */ import_react100.default.createElement("div", { className: "flex items-center gap-3 divide-x divide-grey-20" }, /* @__PURE__ */ import_react100.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ import_react100.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react100.default.createElement(InlineIcon2, { icon }), /* @__PURE__ */ import_react100.default.createElement(Typography2.Default, null, labelText)), badge && /* @__PURE__ */ import_react100.default.createElement(Typography2, { color: "primary-active", className: "flex items-center" }, /* @__PURE__ */ import_react100.default.createElement(Badge, { dense: true, value: badge }))), hasValue && /* @__PURE__ */ import_react100.default.createElement("div", { className: "pl-3" }, /* @__PURE__ */ import_react100.default.createElement(
11042
+ /* @__PURE__ */ import_react100.default.createElement("div", { className: "flex items-center gap-3 divide-x divide-grey-20" }, /* @__PURE__ */ import_react100.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ import_react100.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react100.default.createElement(InlineIcon2, { icon }), /* @__PURE__ */ import_react100.default.createElement(Typography2.Default, null, labelText)), badge && /* @__PURE__ */ import_react100.default.createElement(Typography2, { color: "primary-default", className: "flex items-center" }, /* @__PURE__ */ import_react100.default.createElement(Badge, { dense: true, value: badge }))), hasValue && /* @__PURE__ */ import_react100.default.createElement("div", { className: "pl-3" }, /* @__PURE__ */ import_react100.default.createElement(
11005
11043
  Typography2.Default,
11006
11044
  {
11007
11045
  className: (0, import_clsx31.clsx)("truncate", {
@@ -11009,7 +11047,7 @@ var FilterTrigger = ({
11009
11047
  "max-w-[233px]": !isUsedInsideDateRangePicker
11010
11048
  // Set to 233px to keep the total width of the filter pill within approximately 360px.
11011
11049
  }),
11012
- color: error ? "danger-intense" : "primary-active"
11050
+ color: error ? "danger-default" : "primary-default"
11013
11051
  },
11014
11052
  value,
11015
11053
  isUsedInsideDatePicker && /* @__PURE__ */ import_react100.default.createElement(DateDisplay, { state: ariaDatePickerState }),
@@ -12213,7 +12251,7 @@ Section2.Toggle = (props) => /* @__PURE__ */ import_react123.default.createEleme
12213
12251
  })
12214
12252
  }
12215
12253
  );
12216
- Section2.Title = ({ children, ...rest }) => /* @__PURE__ */ import_react123.default.createElement(Typography2.Large, { ...rest, htmlTag: "h2", color: "intense", className: "flex gap-2 items-center" }, children);
12254
+ Section2.Title = ({ children, ...rest }) => /* @__PURE__ */ import_react123.default.createElement(Typography2.Large, { ...rest, htmlTag: "h2", color: "intense", className: "flex gap-3 items-center" }, children);
12217
12255
  Section2.Subtitle = ({ children, ...rest }) => /* @__PURE__ */ import_react123.default.createElement(Typography2.Default, { ...rest, color: "default" }, children);
12218
12256
  Section2.Actions = ({ children, className, ...rest }) => {
12219
12257
  const { actions: actions2 } = sectionStyles();
@@ -12231,15 +12269,44 @@ var SectionTabs = createTabsComponent(ModalTab, TabItem, "SectionTabs", (childre
12231
12269
 
12232
12270
  // src/molecules/SegmentedControl/SegmentedControl.tsx
12233
12271
  var import_react125 = __toESM(require("react"));
12234
- var import_clsx39 = require("clsx");
12272
+ var import_tailwind_variants31 = require("tailwind-variants");
12273
+ var segmentedControlStyles = (0, import_tailwind_variants31.tv)({
12274
+ slots: {
12275
+ wrapper: [
12276
+ "transition border-l border-grey-20 overflow-hidden hover:bg-primary-hover",
12277
+ "first:border-l-0 first:rounded-l last:rounded-r",
12278
+ "focus-within:border-l-transparent focus-within:relative focus-within:z-50 focus-within:ring-1 focus-within:ring-offset-0 focus-within:ring-primary-default"
12279
+ ],
12280
+ button: [
12281
+ "typography-default",
12282
+ "whitespace-nowrap px-4 py-[10px] bg-transparent focus-visible:outline-none",
12283
+ "disabled:cursor-not-allowed disabled:text-inactive disabled:bg-muted"
12284
+ ]
12285
+ },
12286
+ variants: {
12287
+ selected: {
12288
+ true: {
12289
+ wrapper: "border-l-transparent relative z-40 ring-1 ring-offset-0 ring-primary-default bg-primary-default",
12290
+ button: "text-primary-intense"
12291
+ },
12292
+ false: { button: "text-default" }
12293
+ }
12294
+ },
12295
+ defaultVariants: {
12296
+ selected: false
12297
+ }
12298
+ });
12299
+ var segmentedControlGroupStyles = (0, import_tailwind_variants31.tv)({
12300
+ base: "Aquarium-SegmentedControl flex border border-default rounded"
12301
+ });
12235
12302
 
12236
12303
  // src/molecules/Stepper/Stepper.tsx
12237
12304
  var import_react127 = __toESM(require("react"));
12238
12305
 
12239
12306
  // src/atoms/Stepper/Stepper.tsx
12240
12307
  var import_react126 = __toESM(require("react"));
12241
- var import_tailwind_variants31 = require("tailwind-variants");
12242
- var connectorStyles = (0, import_tailwind_variants31.tv)({
12308
+ var import_tailwind_variants32 = require("tailwind-variants");
12309
+ var connectorStyles = (0, import_tailwind_variants32.tv)({
12243
12310
  slots: {
12244
12311
  container: "absolute w-full -left-1/2",
12245
12312
  connector: "w-full"
@@ -12261,7 +12328,7 @@ var connectorStyles = (0, import_tailwind_variants31.tv)({
12261
12328
  }
12262
12329
  }
12263
12330
  });
12264
- var stepStyles = (0, import_tailwind_variants31.tv)({
12331
+ var stepStyles = (0, import_tailwind_variants32.tv)({
12265
12332
  slots: {
12266
12333
  step: "flex flex-col items-center relative text-center",
12267
12334
  indicator: "Aquarium-Stepper-Indicator rounded-full flex justify-center items-center mx-2 mb-3"
@@ -12411,7 +12478,7 @@ SwitchGroup.Skeleton.displayName = "SwitchGroup.Skeleton";
12411
12478
  // src/molecules/Textarea/Textarea.tsx
12412
12479
  var import_react129 = __toESM(require("react"));
12413
12480
  var import_utils42 = require("@react-aria/utils");
12414
- var import_clsx40 = require("clsx");
12481
+ var import_clsx39 = require("clsx");
12415
12482
  var import_lodash_es44 = require("lodash-es");
12416
12483
  var TextareaBase = import_react129.default.forwardRef(
12417
12484
  ({ readOnly = false, valid = true, ...props }, ref) => /* @__PURE__ */ import_react129.default.createElement(
@@ -12420,7 +12487,7 @@ var TextareaBase = import_react129.default.forwardRef(
12420
12487
  ref,
12421
12488
  ...props,
12422
12489
  readOnly,
12423
- className: (0, import_clsx40.clsx)("Aquarium-TextareaBase", getCommonInputStyles({ readOnly, valid }), props.className)
12490
+ className: (0, import_clsx39.clsx)("Aquarium-TextareaBase", getCommonInputStyles({ readOnly, valid }), props.className)
12424
12491
  }
12425
12492
  )
12426
12493
  );
@@ -12473,13 +12540,13 @@ var import_react131 = __toESM(require("react"));
12473
12540
 
12474
12541
  // src/atoms/Timeline/Timeline.tsx
12475
12542
  var import_react130 = __toESM(require("react"));
12476
- var import_clsx41 = require("clsx");
12477
- var Timeline = ({ className, ...rest }) => /* @__PURE__ */ import_react130.default.createElement("div", { ...rest, className: (0, import_clsx41.clsx)("grid grid-cols-[16px_1fr] gap-x-4", className) });
12478
- var Content2 = ({ className, ...rest }) => /* @__PURE__ */ import_react130.default.createElement("div", { ...rest, className: (0, import_clsx41.clsx)("pb-6", className) });
12479
- var Separator = ({ className, ...rest }) => /* @__PURE__ */ import_react130.default.createElement("div", { ...rest, className: (0, import_clsx41.clsx)("flex items-center justify-center h-5 w-5", className) });
12480
- var LineContainer = ({ className, ...rest }) => /* @__PURE__ */ import_react130.default.createElement("div", { ...rest, className: (0, import_clsx41.clsx)("flex justify-center py-1", className) });
12481
- var Line = ({ className, ...rest }) => /* @__PURE__ */ import_react130.default.createElement("div", { ...rest, className: (0, import_clsx41.clsx)("w-1 bg-medium h-full justify-self-center", className) });
12482
- var Dot = ({ className, ...rest }) => /* @__PURE__ */ import_react130.default.createElement("div", { ...rest, className: (0, import_clsx41.clsx)("bg-intense h-[6px] w-[6px] rounded", className) });
12543
+ var import_clsx40 = require("clsx");
12544
+ var Timeline = ({ className, ...rest }) => /* @__PURE__ */ import_react130.default.createElement("div", { ...rest, className: (0, import_clsx40.clsx)("grid grid-cols-[16px_1fr] gap-x-4", className) });
12545
+ var Content2 = ({ className, ...rest }) => /* @__PURE__ */ import_react130.default.createElement("div", { ...rest, className: (0, import_clsx40.clsx)("pb-6", className) });
12546
+ var Separator = ({ className, ...rest }) => /* @__PURE__ */ import_react130.default.createElement("div", { ...rest, className: (0, import_clsx40.clsx)("flex items-center justify-center h-5 w-5", className) });
12547
+ var LineContainer = ({ className, ...rest }) => /* @__PURE__ */ import_react130.default.createElement("div", { ...rest, className: (0, import_clsx40.clsx)("flex justify-center py-1", className) });
12548
+ var Line = ({ className, ...rest }) => /* @__PURE__ */ import_react130.default.createElement("div", { ...rest, className: (0, import_clsx40.clsx)("w-1 bg-medium h-full justify-self-center", className) });
12549
+ var Dot = ({ className, ...rest }) => /* @__PURE__ */ import_react130.default.createElement("div", { ...rest, className: (0, import_clsx40.clsx)("bg-intense h-[6px] w-[6px] rounded", className) });
12483
12550
  Separator.Dot = Dot;
12484
12551
  LineContainer.Line = Line;
12485
12552
  Timeline.Separator = Separator;
@@ -12518,7 +12585,7 @@ var import_react135 = __toESM(require("react"));
12518
12585
  var SelectItem = Select.Item;
12519
12586
 
12520
12587
  // src/utils/actions.tsx
12521
- var renderAction = ({ kind = "primary", dense = false, action, type = "button", disabled }) => {
12588
+ var renderAction = ({ kind = "primary", dense = false, action, type = "button" }) => {
12522
12589
  return isLink(action) ? /* @__PURE__ */ import_react136.default.createElement(
12523
12590
  Link2.Button,
12524
12591
  {
@@ -12526,11 +12593,10 @@ var renderAction = ({ kind = "primary", dense = false, action, type = "button",
12526
12593
  kind,
12527
12594
  dense,
12528
12595
  ...(0, import_lodash_es45.omit)(action, "text"),
12529
- disabled,
12530
- className: disabled ? "pointer-events-none" : ""
12596
+ className: action.disabled ? "pointer-events-none" : void 0
12531
12597
  },
12532
12598
  action.text
12533
- ) : /* @__PURE__ */ import_react136.default.createElement(Button2, { key: action.text, kind, dense, ...(0, import_lodash_es45.omit)(action, "text"), type, disabled }, action.text);
12599
+ ) : /* @__PURE__ */ import_react136.default.createElement(Button2, { key: action.text, kind, dense, ...(0, import_lodash_es45.omit)(action, "text"), type }, action.text);
12534
12600
  };
12535
12601
 
12536
12602
  // src/molecules/Toast/Timer.tsx
@@ -12607,7 +12673,7 @@ var Typography = ({
12607
12673
  return /* @__PURE__ */ import_react141.default.createElement(
12608
12674
  HtmlElement,
12609
12675
  {
12610
- className: (0, import_clsx42.clsx)(
12676
+ className: (0, import_clsx41.clsx)(
12611
12677
  typographies[variant],
12612
12678
  // eslint-disable-next-line better-tailwindcss/no-unregistered-classes
12613
12679
  `text-${resolvedColorName}`,
@@ -12649,9 +12715,9 @@ var alertTypes = {
12649
12715
  textColor: "success-default"
12650
12716
  }
12651
12717
  };
12652
- var alertStyles = (0, import_tailwind_variants32.tv)({
12718
+ var alertStyles = (0, import_tailwind_variants33.tv)({
12653
12719
  slots: {
12654
- base: "px-4 py-3 rounded-lg grid grid-cols-[auto_1fr_auto] items-center gap-x-3 gap-y-2",
12720
+ base: "px-4 rounded-lg grid grid-cols-[auto_1fr_auto] items-center gap-x-3 gap-y-2",
12655
12721
  title: "col-start-2",
12656
12722
  description: "col-start-2",
12657
12723
  actions: "flex gap-4 col-start-2",
@@ -12670,10 +12736,18 @@ var alertStyles = (0, import_tailwind_variants32.tv)({
12670
12736
  false: {
12671
12737
  icon: "self-start"
12672
12738
  }
12739
+ },
12740
+ hasAction: {
12741
+ true: {
12742
+ base: "pt-3 pb-2"
12743
+ },
12744
+ false: {
12745
+ base: "py-3"
12746
+ }
12673
12747
  }
12674
12748
  }
12675
12749
  });
12676
- var bannerStyles2 = (0, import_tailwind_variants32.tv)({
12750
+ var bannerStyles2 = (0, import_tailwind_variants33.tv)({
12677
12751
  slots: {
12678
12752
  base: "relative flex px-[60px] justify-center",
12679
12753
  content: "flex flex-row flex-wrap gap-x-3 items-center justify-center py-4 text-center z-10",
@@ -12693,9 +12767,10 @@ var Alert = ({
12693
12767
  className,
12694
12768
  type,
12695
12769
  dense = false,
12770
+ hasAction = false,
12696
12771
  ...rest
12697
12772
  }) => {
12698
- const { base: base2 } = alertStyles({ type, dense });
12773
+ const { base: base2 } = alertStyles({ type, dense, hasAction });
12699
12774
  return /* @__PURE__ */ import_react142.default.createElement(AlertContext.Provider, { value: { type, dense } }, /* @__PURE__ */ import_react142.default.createElement("div", { ...rest, role: type === "error" || type === "warning" ? "alert" : "status", className: base2({ className }) }, children));
12700
12775
  };
12701
12776
  var AlertTitle = ({ children, className, ...rest }) => {