@aivenio/aquarium 1.69.0 → 1.71.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/styles.css CHANGED
@@ -500,6 +500,7 @@ img,video {
500
500
  --aquarium-background-color-status-warning: var(--aquarium-colors-warning-5);
501
501
  --aquarium-background-color-status-danger: var(--aquarium-colors-error-5);
502
502
  --aquarium-background-color-status-success: var(--aquarium-colors-success-5);
503
+ --aquarium-background-color-icon-button-hover: rgba(25,25,29,.05);
503
504
  --aquarium-border-color-muted: var(--aquarium-colors-grey-5);
504
505
  --aquarium-border-color-default: var(--aquarium-colors-grey-20);
505
506
  --aquarium-border-color-intense: var(--aquarium-colors-grey-50);
@@ -1229,9 +1230,6 @@ input[type='number'].no-arrows {
1229
1230
  .ml-3{
1230
1231
  margin-left: 8px;
1231
1232
  }
1232
- .mr-1{
1233
- margin-right: 2px;
1234
- }
1235
1233
  .mb-\[-2px\]{
1236
1234
  margin-bottom: -2px;
1237
1235
  }
@@ -1672,6 +1670,15 @@ input[type='number'].no-arrows {
1672
1670
  -moz-column-gap: 24px;
1673
1671
  column-gap: 24px;
1674
1672
  }
1673
+ .divide-x>:not([hidden])~:not([hidden]){
1674
+ --tw-divide-x-reverse: 0;
1675
+ border-right-width: calc(1px * var(--tw-divide-x-reverse));
1676
+ border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
1677
+ }
1678
+ .divide-grey-20>:not([hidden])~:not([hidden]){
1679
+ border-color: #d2d2d6;
1680
+ border-color: var(--aquarium-colors-grey-20, #d2d2d6);
1681
+ }
1675
1682
  .self-start{
1676
1683
  align-self: flex-start;
1677
1684
  }
@@ -2074,6 +2081,10 @@ input[type='number'].no-arrows {
2074
2081
  padding-left: 0;
2075
2082
  padding-right: 0;
2076
2083
  }
2084
+ .py-\[10px\]{
2085
+ padding-top: 10px;
2086
+ padding-bottom: 10px;
2087
+ }
2077
2088
  .pt-3{
2078
2089
  padding-top: 8px;
2079
2090
  }
@@ -2625,12 +2636,6 @@ input[type='number'].no-arrows {
2625
2636
  box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), var(--tw-shadow);
2626
2637
  box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
2627
2638
  }
2628
- .shadow-2dp{
2629
- --tw-shadow: var(--aquarium-box-shadow-2dp, 0px 2px 4px rgba(90, 91, 106, 0.24), 0px 1px 2px rgba(58, 58, 68, 0.24));
2630
- --tw-shadow-colored: 0px 2px 4px 0px var(--tw-shadow-color);
2631
- box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), var(--tw-shadow);
2632
- box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
2633
- }
2634
2639
  .outline-none{
2635
2640
  outline: 2px solid transparent;
2636
2641
  outline-offset: 2px;
@@ -2647,12 +2652,6 @@ input[type='number'].no-arrows {
2647
2652
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
2648
2653
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
2649
2654
  }
2650
- .ring-2{
2651
- --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2652
- --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2653
- box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
2654
- box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
2655
- }
2656
2655
  .ring{
2657
2656
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2658
2657
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
@@ -2665,9 +2664,6 @@ input[type='number'].no-arrows {
2665
2664
  .ring-primary-80{
2666
2665
  --tw-ring-color: var(--aquarium-colors-primary-80, #3545be);
2667
2666
  }
2668
- .ring-grey-30{
2669
- --tw-ring-color: var(--aquarium-colors-grey-30, #b4b4bb);
2670
- }
2671
2667
  .ring-offset-0{
2672
2668
  --tw-ring-offset-width: 0px;
2673
2669
  }
@@ -2854,6 +2850,9 @@ input[type='number'].no-arrows {
2854
2850
  background-color: #222f95;
2855
2851
  background-color: var(--aquarium-background-color-primary-intense);
2856
2852
  }
2853
+ .hover\:bg-icon-button-hover:hover{
2854
+ background-color: rgba(25,25,29,.05);
2855
+ }
2857
2856
  .hover\:bg-danger-muted:hover{
2858
2857
  background-color: #ffcbd2;
2859
2858
  background-color: var(--aquarium-background-color-danger-muted);
@@ -2915,23 +2914,17 @@ input[type='number'].no-arrows {
2915
2914
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
2916
2915
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
2917
2916
  }
2918
- .focus\:ring-2:focus{
2919
- --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2920
- --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2921
- box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
2922
- box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
2917
+ .focus-visible\:relative.focus-visible{
2918
+ position: relative;
2923
2919
  }
2924
- .focus\:ring-1:focus{
2925
- --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2926
- --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2927
- box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
2928
- box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
2920
+ .focus-visible\:relative:focus-visible{
2921
+ position: relative;
2929
2922
  }
2930
- .focus\:ring-grey-60:focus{
2931
- --tw-ring-color: var(--aquarium-colors-grey-60, #5a5b6a);
2923
+ .focus-visible\:z-50.focus-visible{
2924
+ z-index: 50;
2932
2925
  }
2933
- .focus\:ring-offset-0:focus{
2934
- --tw-ring-offset-width: 0px;
2926
+ .focus-visible\:z-50:focus-visible{
2927
+ z-index: 50;
2935
2928
  }
2936
2929
  .focus-visible\:border-info-default.focus-visible{
2937
2930
  border-color: #0399e3;
@@ -2973,6 +2966,14 @@ input[type='number'].no-arrows {
2973
2966
  color: #292a31;
2974
2967
  color: var(--aquarium-text-color-intense);
2975
2968
  }
2969
+ .focus-visible\:outline-none.focus-visible{
2970
+ outline: 2px solid transparent;
2971
+ outline-offset: 2px;
2972
+ }
2973
+ .focus-visible\:outline-none:focus-visible{
2974
+ outline: 2px solid transparent;
2975
+ outline-offset: 2px;
2976
+ }
2976
2977
  .focus-visible\:outline-0.focus-visible{
2977
2978
  outline-width: 0px;
2978
2979
  }
@@ -3027,6 +3028,12 @@ input[type='number'].no-arrows {
3027
3028
  .focus-visible\:ring-info-70:focus-visible{
3028
3029
  --tw-ring-color: var(--aquarium-colors-info-70, #0399e3);
3029
3030
  }
3031
+ .focus-visible\:ring-offset-0.focus-visible{
3032
+ --tw-ring-offset-width: 0px;
3033
+ }
3034
+ .focus-visible\:ring-offset-0:focus-visible{
3035
+ --tw-ring-offset-width: 0px;
3036
+ }
3030
3037
  .active\:bg-body:active{
3031
3038
  background-color: white;
3032
3039
  background-color: var(--aquarium-background-color-body);
@@ -3043,14 +3050,6 @@ input[type='number'].no-arrows {
3043
3050
  background-color: transparent;
3044
3051
  background-color: var(--aquarium-colors-transparent, transparent);
3045
3052
  }
3046
- .active\:bg-default:active{
3047
- background-color: #ededf0;
3048
- background-color: var(--aquarium-background-color-default);
3049
- }
3050
- .active\:bg-intense:active{
3051
- background-color: #d2d2d6;
3052
- background-color: var(--aquarium-background-color-intense);
3053
- }
3054
3053
  .active\:text-primary-active:active{
3055
3054
  color: #222f95;
3056
3055
  color: var(--aquarium-text-color-primary-active);
@@ -3099,6 +3098,10 @@ input[type='number'].no-arrows {
3099
3098
  background-color: transparent;
3100
3099
  background-color: var(--aquarium-colors-transparent, transparent);
3101
3100
  }
3101
+ .disabled\:bg-muted:disabled{
3102
+ background-color: #f7f7fa;
3103
+ background-color: var(--aquarium-background-color-muted);
3104
+ }
3102
3105
  .disabled\:text-inactive:disabled{
3103
3106
  color: #9696a0;
3104
3107
  color: var(--aquarium-text-color-inactive);
@@ -3120,6 +3123,9 @@ input[type='number'].no-arrows {
3120
3123
  background-color: #f7f7fa;
3121
3124
  background-color: var(--aquarium-background-color-muted);
3122
3125
  }
3126
+ .group:hover .group-hover\:opacity-100{
3127
+ opacity: 1;
3128
+ }
3123
3129
  .peer\/switch:checked~.peer-checked\/switch\:left-1{
3124
3130
  left: 2px;
3125
3131
  }
package/dist/system.cjs CHANGED
@@ -4514,6 +4514,22 @@ var require_ticket = __commonJS({
4514
4514
  }
4515
4515
  });
4516
4516
 
4517
+ // src/icons/tiered.js
4518
+ var require_tiered = __commonJS({
4519
+ "src/icons/tiered.js"(exports) {
4520
+ "use strict";
4521
+ var data = {
4522
+ "body": '<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m20 16.288-8.678 4.11c-.118.056-.177.084-.239.095a.477.477 0 01-.166 0c-.062-.011-.12-.04-.239-.095L2 16.288m0-3.901 4.339 2.055 4.339 2.054c.118.056.177.084.239.095.055.01.111.01.166 0 .062-.01.12-.039.239-.095L20 12.386 17 11M5.7 10C4.209 10 3 8.849 3 7.429c0-1.34 1.075-2.44 2.448-2.56C5.728 3.24 7.212 2 9 2s3.271 1.241 3.552 2.868C13.925 4.99 15 6.09 15 7.428 15 8.849 13.791 10 12.3 10H5.7Z"/>',
4523
+ "left": 0,
4524
+ "top": 0,
4525
+ "width": 22,
4526
+ "height": 22
4527
+ };
4528
+ exports.__esModule = true;
4529
+ exports.default = data;
4530
+ }
4531
+ });
4532
+
4517
4533
  // src/icons/time.js
4518
4534
  var require_time = __commonJS({
4519
4535
  "src/icons/time.js"(exports) {
@@ -5078,7 +5094,7 @@ var InputContainer = import_react3.default.forwardRef(
5078
5094
  ref,
5079
5095
  className: classNames(
5080
5096
  className,
5081
- "relative rounded-sm typography-default-strong w-full flex flex-row items-center focus-visible:outline-0 focus-visible:border-info-default",
5097
+ "relative rounded-sm typography-default-strong w-full flex flex-row items-center focus-visible:outline-0 focus-visible:border-info-default group",
5082
5098
  {
5083
5099
  "border px-3 py-[6px]": variant !== "readOnly",
5084
5100
  "cursor-default": variant === "readOnly",
@@ -5622,7 +5638,8 @@ var tailwind_theme_default = {
5622
5638
  "status-info": "var(--aquarium-background-color-status-info)",
5623
5639
  "status-warning": "var(--aquarium-background-color-status-warning)",
5624
5640
  "status-danger": "var(--aquarium-background-color-status-danger)",
5625
- "status-success": "var(--aquarium-background-color-status-success)"
5641
+ "status-success": "var(--aquarium-background-color-status-success)",
5642
+ "icon-button-hover": "rgba(25,25,29,.05)"
5626
5643
  },
5627
5644
  textColor: {
5628
5645
  "error-100": "var(--aquarium-colors-error-100, #aa0000)",
@@ -6581,6 +6598,7 @@ var import_thumbsUp = __toESM(require_thumbsUp());
6581
6598
  var import_tickCircle = __toESM(require_tickCircle());
6582
6599
  var import_tick2 = __toESM(require_tick());
6583
6600
  var import_ticket = __toESM(require_ticket());
6601
+ var import_tiered = __toESM(require_tiered());
6584
6602
  var import_time = __toESM(require_time());
6585
6603
  var import_timelineAreaChart = __toESM(require_timelineAreaChart());
6586
6604
  var import_timelineBarChart = __toESM(require_timelineBarChart());
@@ -7332,7 +7350,7 @@ var asButton = (Component, isDropdownButton) => {
7332
7350
  tw(
7333
7351
  "inline-block border-0 rounded-sm transition whitespace-nowrap focus:outline-none relative text-center",
7334
7352
  {
7335
- "text-default p-2 active:text-default active:bg-transparent hover:text-intense hover:bg-muted focus-visible:text-intense focus-visible:bg-muted disabled:text-inactive disabled:bg-transparent": isIconOnlyButton,
7353
+ "text-default p-2 active:text-default active:bg-transparent hover:text-intense hover:bg-icon-button-hover focus-visible:text-intense focus-visible:bg-muted disabled:text-inactive disabled:bg-transparent": isIconOnlyButton,
7336
7354
  "typography-default-strong": !dense && !isIconOnlyButton && kind !== "text",
7337
7355
  "typography-small-strong": dense && !isIconOnlyButton && kind !== "text",
7338
7356
  "py-3 px-4": !dense && isButton,
@@ -9765,6 +9783,7 @@ var Wrapper = import_react55.default.forwardRef(
9765
9783
  );
9766
9784
 
9767
9785
  // src/molecules/Combobox/Combobox.tsx
9786
+ var import_smallCross2 = __toESM(require_smallCross());
9768
9787
  var ComboboxBase = (_a) => {
9769
9788
  var _b = _a, {
9770
9789
  id,
@@ -9837,7 +9856,8 @@ var ComboboxBase = (_a) => {
9837
9856
  highlightedIndex,
9838
9857
  inputValue,
9839
9858
  getItemProps,
9840
- selectedItem
9859
+ selectedItem,
9860
+ selectItem
9841
9861
  } = (0, import_downshift.useCombobox)({
9842
9862
  id,
9843
9863
  selectedItem: value,
@@ -9910,10 +9930,25 @@ var ComboboxBase = (_a) => {
9910
9930
  (_a3 = inputProps.onKeyDown) == null ? void 0 : _a3.call(inputProps, e);
9911
9931
  },
9912
9932
  onKeyUp: (e) => e.stopPropagation()
9913
- })), !readOnly && /* @__PURE__ */ import_react56.default.createElement(Select.Toggle, __spreadValues({
9933
+ })), !readOnly && /* @__PURE__ */ import_react56.default.createElement(Box.Flex, {
9934
+ alignItems: "center",
9935
+ gap: "2"
9936
+ }, !!inputProps.value && !disabled && /* @__PURE__ */ import_react56.default.createElement("div", {
9937
+ className: tw("group-hover:opacity-100", {
9938
+ "opacity-0": !hasFocus,
9939
+ "opacity-100": hasFocus
9940
+ })
9941
+ }, /* @__PURE__ */ import_react56.default.createElement(Button.Icon, {
9942
+ icon: import_smallCross2.default,
9943
+ onClick: () => selectItem(null),
9944
+ onFocus: () => setFocus(true),
9945
+ onBlur: () => setFocus(false),
9946
+ "aria-label": "Clear selection",
9947
+ dense: true
9948
+ })), /* @__PURE__ */ import_react56.default.createElement(Select.Toggle, __spreadValues({
9914
9949
  hasFocus,
9915
9950
  isOpen
9916
- }, getToggleButtonProps({ disabled })))), isOpen && /* @__PURE__ */ import_react56.default.createElement(PopoverOverlay, {
9951
+ }, getToggleButtonProps({ disabled }))))), isOpen && /* @__PURE__ */ import_react56.default.createElement(PopoverOverlay, {
9917
9952
  ref: popoverRef,
9918
9953
  triggerRef: targetRef,
9919
9954
  state,
@@ -9999,6 +10034,7 @@ var import_isFunction3 = __toESM(require("lodash/isFunction"));
9999
10034
  // src/molecules/Accordion/Accordion.tsx
10000
10035
  var import_react60 = __toESM(require("react"));
10001
10036
  var import_react61 = require("@iconify/react");
10037
+ var import_button3 = require("@react-aria/button");
10002
10038
  var import_utils8 = require("@react-aria/utils");
10003
10039
  var import_web3 = require("@react-spring/web");
10004
10040
  var import_isUndefined8 = __toESM(require("lodash/isUndefined"));
@@ -10098,6 +10134,7 @@ var Accordion = ({ children, openPanelId: panelId }) => {
10098
10134
  };
10099
10135
  var AccordionToggle = (_a) => {
10100
10136
  var _b = _a, { panelId, onChange } = _b, rest = __objRest(_b, ["panelId", "onChange"]);
10137
+ const ref = (0, import_react60.useRef)(null);
10101
10138
  const id = usePanelContext(panelId);
10102
10139
  const [openPanelId, setOpenPanelId] = useAccordionContext();
10103
10140
  const isOpen = openPanelId === id;
@@ -10110,14 +10147,19 @@ var AccordionToggle = (_a) => {
10110
10147
  duration: 150
10111
10148
  }
10112
10149
  });
10113
- return /* @__PURE__ */ import_react60.default.createElement(import_web3.animated.div, __spreadProps(__spreadValues({}, rest), {
10114
- role: "button",
10115
- tabIndex: 0,
10150
+ const { buttonProps } = (0, import_button3.useButton)({ elementType: "div", onPress: handleClick }, ref);
10151
+ return /* @__PURE__ */ import_react60.default.createElement(import_web3.animated.div, __spreadProps(__spreadValues(__spreadValues({}, rest), __spreadProps(__spreadValues({}, buttonProps), {
10152
+ onPointerDown: (e) => {
10153
+ e.preventDefault();
10154
+ handleClick();
10155
+ }
10156
+ })), {
10157
+ ref,
10116
10158
  "aria-label": "accordion toggle",
10117
10159
  "aria-expanded": openPanelId === id,
10118
10160
  "aria-controls": `${id}-content`,
10119
- onClick: handleClick,
10120
- style: { transform }
10161
+ style: { transform },
10162
+ className: tw("focus:outline-none focusable")
10121
10163
  }), /* @__PURE__ */ import_react60.default.createElement(import_react61.Icon, {
10122
10164
  icon: import_caretUp.default,
10123
10165
  height: 22,
@@ -12072,7 +12114,7 @@ var DataList2 = (_a) => {
12072
12114
  getRowCheckboxLabel = getDefaultRowCheckboxLabel,
12073
12115
  getGroupCheckboxLabel = getDefaultGroupCheckboxLabel,
12074
12116
  selectedRows,
12075
- defaultSelectedRows,
12117
+ defaultSelectedRows = [],
12076
12118
  onSelectionChange,
12077
12119
  toolbar
12078
12120
  } = _b, rest = __objRest(_b, [
@@ -12151,7 +12193,9 @@ var DataList2 = (_a) => {
12151
12193
  const allRows = flattenRows(rows);
12152
12194
  const totalSelected = (_b2 = selected == null ? void 0 : selected.length) != null ? _b2 : 0;
12153
12195
  const allEnabledRowIds = (0, import_compact.default)(
12154
- allRows.map((row, index) => (disabled == null ? void 0 : disabled(row, index, sortedRows)) ? void 0 : row.id)
12196
+ allRows.map(
12197
+ (row, index) => (disabled == null ? void 0 : disabled(row, index, sortedRows)) || (selectionDisabled == null ? void 0 : selectionDisabled(row, index, sortedRows)) ? void 0 : row.id
12198
+ )
12155
12199
  );
12156
12200
  const allRowsSelected = totalSelected >= allEnabledRowIds.length;
12157
12201
  return /* @__PURE__ */ import_react80.default.createElement(DataListContext.Provider, {
@@ -13791,7 +13835,7 @@ var import_omit12 = __toESM(require("lodash/omit"));
13791
13835
 
13792
13836
  // src/molecules/MultiInput/InputChip.tsx
13793
13837
  var import_react101 = __toESM(require("react"));
13794
- var import_smallCross2 = __toESM(require_smallCross());
13838
+ var import_smallCross3 = __toESM(require_smallCross());
13795
13839
  var InputChip = import_react101.default.forwardRef(
13796
13840
  (_a, ref) => {
13797
13841
  var _b = _a, { invalid = false, disabled, readOnly, className, onClick: _onClick, children } = _b, props = __objRest(_b, ["invalid", "disabled", "readOnly", "className", "onClick", "children"]);
@@ -13823,7 +13867,7 @@ var InputChip = import_react101.default.forwardRef(
13823
13867
  role: "button",
13824
13868
  "aria-label": `Remove ${String(children)}`
13825
13869
  }), !disabled && /* @__PURE__ */ import_react101.default.createElement(Icon, {
13826
- icon: import_smallCross2.default,
13870
+ icon: import_smallCross3.default,
13827
13871
  className: tw({
13828
13872
  "text-danger-default": invalid,
13829
13873
  "text-default": !invalid
@@ -14915,6 +14959,7 @@ RadioButtonGroup.Skeleton.displayName = "RadioButtonGroup.Skeleton";
14915
14959
 
14916
14960
  // src/molecules/Section/Section.tsx
14917
14961
  var import_react119 = __toESM(require("react"));
14962
+ var import_button4 = require("@react-aria/button");
14918
14963
  var import_utils31 = require("@react-aria/utils");
14919
14964
  var import_web6 = require("@react-spring/web");
14920
14965
  var import_castArray7 = __toESM(require("lodash/castArray"));
@@ -15065,20 +15110,27 @@ Section3.Header = (_a) => {
15065
15110
  var _b = _a, { children, className, expanded } = _b, rest = __objRest(_b, ["children", "className", "expanded"]);
15066
15111
  return /* @__PURE__ */ import_react118.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
15067
15112
  className: classNames(
15068
- tw("px-6 flex gap-5 justify-between items-center h-[72px]", { "bg-muted": expanded }),
15069
- className
15070
- )
15071
- }), children);
15072
- };
15073
- Section3.TitleContainer = (_a) => {
15074
- var _b = _a, { children, className, collapsible } = _b, rest = __objRest(_b, ["children", "className", "collapsible"]);
15075
- return /* @__PURE__ */ import_react118.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
15076
- className: classNames(
15077
- tw("grow grid grid-cols-[auto_1fr] gap-x-3 items-center", { "cursor-pointer": collapsible }),
15113
+ tw("px-6 flex gap-5 justify-between items-center h-[72px]", {
15114
+ "bg-muted": expanded
15115
+ }),
15078
15116
  className
15079
15117
  )
15080
15118
  }), children);
15081
15119
  };
15120
+ Section3.TitleContainer = import_react118.default.forwardRef(
15121
+ (_a, ref) => {
15122
+ var _b = _a, { children, className, collapsible } = _b, rest = __objRest(_b, ["children", "className", "collapsible"]);
15123
+ return /* @__PURE__ */ import_react118.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
15124
+ ref,
15125
+ className: classNames(
15126
+ tw("grow grid grid-cols-[auto_1fr] gap-x-3 items-center", {
15127
+ "cursor-pointer focus:outline-none focusable": collapsible
15128
+ }),
15129
+ className
15130
+ )
15131
+ }), children);
15132
+ }
15133
+ );
15082
15134
  Section3.Toggle = (props) => /* @__PURE__ */ import_react118.default.createElement(Icon, __spreadProps(__spreadValues({}, props), {
15083
15135
  icon: import_caretUp2.default,
15084
15136
  height: 22,
@@ -15124,6 +15176,7 @@ var Section4 = (props) => {
15124
15176
  const _defaultCollapsed = title ? (_b = props.defaultCollapsed) != null ? _b : false : false;
15125
15177
  const [isCollapsed, setCollapsed] = import_react119.default.useState(_collapsed != null ? _collapsed : _defaultCollapsed);
15126
15178
  const [ref, { height }] = useMeasure();
15179
+ const toggleAreaRef = (0, import_react119.useRef)(null);
15127
15180
  const menu = title ? (_c = props.menu) != null ? _c : void 0 : void 0;
15128
15181
  const menuAriaLabel = title ? (_e = (_d = props.menuAriaLabel) != null ? _d : props.menuLabel) != null ? _e : "Context menu" : void 0;
15129
15182
  const onAction = title ? props.onAction : void 0;
@@ -15157,19 +15210,25 @@ var Section4 = (props) => {
15157
15210
  const regionId = (0, import_utils31.useId)();
15158
15211
  const titleId = (0, import_utils31.useId)();
15159
15212
  const hasTabs = isComponentType(children, Tabs);
15213
+ const { buttonProps } = (0, import_button4.useButton)(
15214
+ { "elementType": "div", "onPress": handleTitleClick, "aria-expanded": !isCollapsed, "aria-controls": regionId },
15215
+ toggleAreaRef
15216
+ );
15160
15217
  return /* @__PURE__ */ import_react119.default.createElement(Section3, {
15161
15218
  "aria-label": title,
15162
15219
  className: "Aquarium-Section"
15163
15220
  }, title && /* @__PURE__ */ import_react119.default.createElement(import_react119.default.Fragment, null, /* @__PURE__ */ import_react119.default.createElement(Section3.Header, {
15164
15221
  expanded: _collapsible && !isCollapsed
15165
- }, /* @__PURE__ */ import_react119.default.createElement(Section3.TitleContainer, {
15166
- role: _collapsible ? "button" : void 0,
15222
+ }, /* @__PURE__ */ import_react119.default.createElement(Section3.TitleContainer, __spreadProps(__spreadValues({}, _collapsible ? __spreadProps(__spreadValues({}, buttonProps), {
15223
+ onPointerDown: (e) => {
15224
+ e.preventDefault();
15225
+ handleTitleClick();
15226
+ }
15227
+ }) : { onClick: handleTitleClick }), {
15228
+ ref: _collapsible ? toggleAreaRef : void 0,
15167
15229
  id: toggleId,
15168
- collapsible: _collapsible,
15169
- onClick: handleTitleClick,
15170
- "aria-expanded": _collapsible ? !isCollapsed : void 0,
15171
- "aria-controls": _collapsible ? regionId : void 0
15172
- }, _collapsible && /* @__PURE__ */ import_react119.default.createElement(import_web6.animated.div, {
15230
+ collapsible: _collapsible
15231
+ }), _collapsible && /* @__PURE__ */ import_react119.default.createElement(import_web6.animated.div, {
15173
15232
  style: { transform }
15174
15233
  }, /* @__PURE__ */ import_react119.default.createElement(Section3.Toggle, null)), /* @__PURE__ */ import_react119.default.createElement(Section3.Title, {
15175
15234
  id: titleId
@@ -15192,7 +15251,7 @@ var Section4 = (props) => {
15192
15251
  icon: import_more6.default
15193
15252
  })), menu)), props.actions && (0, import_castArray7.default)(props.actions).filter(Boolean).map((action) => renderAction({ kind: "secondary", action })), props.switch && /* @__PURE__ */ import_react119.default.createElement(Switch2, __spreadValues({}, props.switch)), props.select && /* @__PURE__ */ import_react119.default.createElement(SelectBase, __spreadValues({
15194
15253
  "aria-labelledby": titleId
15195
- }, props.select)))), !hasTabs && /* @__PURE__ */ import_react119.default.createElement(import_web6.animated.div, {
15254
+ }, props.select)))), !hasTabs && !isCollapsed && /* @__PURE__ */ import_react119.default.createElement(import_web6.animated.div, {
15196
15255
  className: tw(`h-[1px]`),
15197
15256
  style: { backgroundColor }
15198
15257
  })), /* @__PURE__ */ import_react119.default.createElement(import_web6.animated.div, {
@@ -15216,8 +15275,8 @@ var SegmentedControl = (_a) => {
15216
15275
  var _b = _a, {
15217
15276
  children,
15218
15277
  value,
15219
- dense = false,
15220
- variant = "filled",
15278
+ dense: _dense = false,
15279
+ variant: _variant = "filled",
15221
15280
  selected = false,
15222
15281
  className
15223
15282
  } = _b, rest = __objRest(_b, [
@@ -15231,12 +15290,7 @@ var SegmentedControl = (_a) => {
15231
15290
  return /* @__PURE__ */ import_react120.default.createElement("li", null, /* @__PURE__ */ import_react120.default.createElement("button", __spreadProps(__spreadValues({
15232
15291
  type: "button"
15233
15292
  }, rest), {
15234
- className: classNames(
15235
- getCommonClassNames(dense, selected),
15236
- !rest.disabled && getHoverClassNames(variant),
15237
- selected && getSelectedClassNames(variant),
15238
- className
15239
- ),
15293
+ className: classNames(getBaseSegmentedControlClassNames(selected), className),
15240
15294
  "aria-pressed": selected
15241
15295
  }), children));
15242
15296
  };
@@ -15244,8 +15298,8 @@ var SegmentedControlGroup = (_a) => {
15244
15298
  var _b = _a, {
15245
15299
  value,
15246
15300
  onChange,
15247
- variant = "filled",
15248
- dense = false,
15301
+ variant: _variant = "filled",
15302
+ dense: _dense = false,
15249
15303
  children,
15250
15304
  className,
15251
15305
  ariaLabel
@@ -15258,49 +15312,28 @@ var SegmentedControlGroup = (_a) => {
15258
15312
  "className",
15259
15313
  "ariaLabel"
15260
15314
  ]);
15261
- const classes2 = tw("rounded flex", {
15262
- "border border-default text-muted": variant === "outlined",
15263
- "bg-muted": variant === "raised"
15264
- });
15265
15315
  return /* @__PURE__ */ import_react120.default.createElement("ul", __spreadProps(__spreadValues({}, rest), {
15266
15316
  "aria-label": ariaLabel,
15267
- className: classNames("Aquarium-SegmentedControl", classes2, className)
15317
+ className: classNames(
15318
+ "Aquarium-SegmentedControl",
15319
+ "flex border border-default rounded-sm divide-x divide-grey-20",
15320
+ className
15321
+ )
15268
15322
  }), import_react120.default.Children.map(
15269
15323
  children,
15270
15324
  (child) => import_react120.default.cloneElement(child, {
15271
- dense,
15272
- variant,
15273
15325
  onClick: () => onChange(child.props.value),
15274
15326
  selected: child.props.value === value
15275
15327
  })
15276
15328
  ));
15277
15329
  };
15278
- var getHoverClassNames = (variant) => tw(
15279
- "hover:text-intense",
15280
- {
15281
- "hover:bg-muted": variant !== "raised",
15282
- "hover:bg-default": variant === "raised"
15283
- },
15284
- {
15285
- "active:bg-default": variant !== "raised",
15286
- "active:bg-intense": variant === "raised"
15287
- }
15288
- );
15289
- var getSelectedClassNames = (variant) => tw("relative z-40 text-intense", {
15290
- "bg-white ring-2 ring-offset-0 ring-grey-30 focus:ring-2": variant === "outlined",
15291
- "bg-white shadow-2dp": variant === "raised",
15292
- "bg-default": variant === "filled"
15293
- });
15294
- var getCommonClassNames = (dense, selected) => tw(
15295
- "transition whitespace-nowrap rounded mr-1",
15296
- "focus:outline-none focus:ring-1 focus:ring-offset-0 focus:ring-grey-60",
15297
- "disabled:cursor-not-allowed disabled:text-inactive",
15330
+ var getBaseSegmentedControlClassNames = (selected) => tw(
15331
+ "transition whitespace-nowrap rounded-sm px-4 py-[10px] hover:bg-primary-hover",
15332
+ "focus-visible:outline-none focus-visible:relative focus-visible:z-50 focus-visible:ring-1 focus-visible:ring-offset-0 focusable",
15333
+ "disabled:cursor-not-allowed disabled:text-inactive disabled:bg-muted",
15298
15334
  {
15299
- "py-4 px-5": !dense,
15300
- "py-2 px-4": dense,
15301
- "typography-default-strong": !dense,
15302
- "typography-small-strong": dense,
15303
- "text-muted": !selected
15335
+ "typography-small text-default bg-body": !selected,
15336
+ "typography-small-strong text-primary-intense relative z-40 ring-1 ring-offset-0 ring-primary-80": selected
15304
15337
  }
15305
15338
  );
15306
15339