@aivenio/aquarium 4.1.1 → 4.2.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.
Files changed (44) hide show
  1. package/dist/atoms.cjs +1 -1
  2. package/dist/atoms.mjs +1 -1
  3. package/dist/src/atoms/DateField/DateField.d.ts +13 -0
  4. package/dist/src/atoms/DateField/DateField.js +43 -0
  5. package/dist/src/{molecules → atoms}/DatePicker/Calendar.js +4 -4
  6. package/dist/src/atoms/DatePicker/DatePicker.d.ts +55 -0
  7. package/dist/src/atoms/DatePicker/DatePicker.js +39 -0
  8. package/dist/src/atoms/DatePicker/DatePickerButton.d.ts +7 -0
  9. package/dist/src/atoms/DatePicker/DatePickerButton.js +39 -0
  10. package/dist/src/{molecules → atoms}/DatePicker/RangeCalendar.js +2 -2
  11. package/dist/src/atoms/Field/Field.js +7 -0
  12. package/dist/src/atoms/PageHeader/PageHeader.js +2 -2
  13. package/dist/src/molecules/Breadcrumbs/Breadcrumbs.js +2 -2
  14. package/dist/src/molecules/DateField/DateField.d.ts +3 -6
  15. package/dist/src/molecules/DateField/DateField.js +3 -8
  16. package/dist/src/molecules/DatePicker/DatePicker.d.ts +59 -4
  17. package/dist/src/molecules/DatePicker/DatePicker.js +72 -48
  18. package/dist/src/molecules/DatePicker/DateRangePicker.d.ts +59 -4
  19. package/dist/src/molecules/DatePicker/DateRangePicker.js +76 -49
  20. package/dist/src/molecules/DropdownMenu/DropdownMenu.js +17 -11
  21. package/dist/src/molecules/DropdownMenu/SearchField.js +2 -2
  22. package/dist/src/molecules/Filter/Filter.d.ts +2 -0
  23. package/dist/src/molecules/Filter/Filter.js +3 -0
  24. package/dist/src/molecules/Link/Link.js +3 -3
  25. package/dist/src/molecules/TimeField/TimeField.d.ts +5 -8
  26. package/dist/src/molecules/TimeField/TimeField.js +3 -8
  27. package/dist/src/molecules/index.d.ts +1 -0
  28. package/dist/src/molecules/index.js +2 -1
  29. package/dist/system.cjs +588 -431
  30. package/dist/system.mjs +597 -437
  31. package/dist/tsconfig.module.tsbuildinfo +1 -1
  32. package/package.json +1 -1
  33. package/dist/src/molecules/DateField/DateInput.d.ts +0 -3
  34. package/dist/src/molecules/DateField/DateInput.js +0 -22
  35. package/dist/src/molecules/DatePicker/Button.d.ts +0 -5
  36. package/dist/src/molecules/DatePicker/Button.js +0 -35
  37. package/dist/src/molecules/DatePicker/Dialog.d.ts +0 -3
  38. package/dist/src/molecules/DatePicker/Dialog.js +0 -7
  39. package/dist/src/molecules/DatePicker/Popover.d.ts +0 -7
  40. package/dist/src/molecules/DatePicker/Popover.js +0 -27
  41. package/dist/src/molecules/Field/Field.js +0 -7
  42. /package/dist/src/{molecules → atoms}/DatePicker/Calendar.d.ts +0 -0
  43. /package/dist/src/{molecules → atoms}/DatePicker/RangeCalendar.d.ts +0 -0
  44. /package/dist/src/{molecules → atoms}/Field/Field.d.ts +0 -0
package/dist/system.cjs CHANGED
@@ -4314,16 +4314,16 @@ __export(system_exports, {
4314
4314
  ControlLabel: () => ControlLabel,
4315
4315
  DataList: () => DataList2,
4316
4316
  DataTable: () => DataTable,
4317
- DatePicker: () => DatePicker,
4317
+ DatePicker: () => DatePicker2,
4318
4318
  DatePickerBase: () => DatePickerBase,
4319
- DateRangePicker: () => DateRangePicker,
4319
+ DateRangePicker: () => DateRangePicker2,
4320
4320
  DateRangePickerBase: () => DateRangePickerBase,
4321
4321
  DateTimePicker: () => DateTimePicker,
4322
4322
  DateTimePickerBase: () => DateTimePickerBase,
4323
4323
  DateTimeRangePicker: () => DateTimeRangePicker,
4324
4324
  DateTimeRangePickerBase: () => DateTimeRangePickerBase,
4325
4325
  DesignSystemContext: () => DesignSystemContext,
4326
- Dialog: () => Dialog3,
4326
+ Dialog: () => Dialog2,
4327
4327
  Divider: () => Divider2,
4328
4328
  Drawer: () => Drawer,
4329
4329
  Dropdown: () => Dropdown,
@@ -4332,6 +4332,7 @@ __export(system_exports, {
4332
4332
  EmptyState: () => EmptyState,
4333
4333
  EmptyStateLayout: () => EmptyStateLayout,
4334
4334
  FileInput: () => FileInput,
4335
+ Filter: () => Filter,
4335
4336
  FormControl: () => FormControl,
4336
4337
  Grid: () => Grid,
4337
4338
  HelperText: () => HelperText,
@@ -4360,7 +4361,7 @@ __export(system_exports, {
4360
4361
  Option: () => Option,
4361
4362
  PageHeader: () => PageHeader2,
4362
4363
  Pagination: () => Pagination,
4363
- Popover: () => Popover3,
4364
+ Popover: () => Popover2,
4364
4365
  PopoverDialog: () => PopoverDialog2,
4365
4366
  Portal: () => Portal,
4366
4367
  PositionerPlacement: () => PositionerPlacement,
@@ -4461,16 +4462,16 @@ __export(molecules_exports, {
4461
4462
  ControlLabel: () => ControlLabel,
4462
4463
  DataList: () => DataList2,
4463
4464
  DataTable: () => DataTable,
4464
- DatePicker: () => DatePicker,
4465
+ DatePicker: () => DatePicker2,
4465
4466
  DatePickerBase: () => DatePickerBase,
4466
- DateRangePicker: () => DateRangePicker,
4467
+ DateRangePicker: () => DateRangePicker2,
4467
4468
  DateRangePickerBase: () => DateRangePickerBase,
4468
4469
  DateTimePicker: () => DateTimePicker,
4469
4470
  DateTimePickerBase: () => DateTimePickerBase,
4470
4471
  DateTimeRangePicker: () => DateTimeRangePicker,
4471
4472
  DateTimeRangePickerBase: () => DateTimeRangePickerBase,
4472
4473
  DesignSystemContext: () => DesignSystemContext,
4473
- Dialog: () => Dialog3,
4474
+ Dialog: () => Dialog2,
4474
4475
  Divider: () => Divider2,
4475
4476
  Drawer: () => Drawer,
4476
4477
  Dropdown: () => Dropdown,
@@ -4479,6 +4480,7 @@ __export(molecules_exports, {
4479
4480
  EmptyState: () => EmptyState,
4480
4481
  EmptyStateLayout: () => EmptyStateLayout,
4481
4482
  FileInput: () => FileInput,
4483
+ Filter: () => Filter,
4482
4484
  Grid: () => Grid,
4483
4485
  Icon: () => Icon,
4484
4486
  InlineIcon: () => InlineIcon,
@@ -4503,7 +4505,7 @@ __export(molecules_exports, {
4503
4505
  Option: () => Option,
4504
4506
  PageHeader: () => PageHeader2,
4505
4507
  Pagination: () => Pagination,
4506
- Popover: () => Popover3,
4508
+ Popover: () => Popover2,
4507
4509
  PopoverDialog: () => PopoverDialog2,
4508
4510
  Portal: () => Portal,
4509
4511
  ProgressBar: () => ProgressBar2,
@@ -7942,9 +7944,20 @@ var LinkButton2 = ({
7942
7944
  className,
7943
7945
  tooltip,
7944
7946
  tooltipPlacement,
7947
+ "aria-label": ariaLabel,
7945
7948
  ...props
7946
7949
  }) => {
7947
- const content = /* @__PURE__ */ import_react27.default.createElement(LinkButton, { className: (0, import_classnames5.default)("Aquarium-Link", className), ...props }, icon && iconPlacement === "left" && /* @__PURE__ */ import_react27.default.createElement(Icon2, { icon, dense: props.dense }), children, icon && iconPlacement === "right" && /* @__PURE__ */ import_react27.default.createElement(Icon2, { icon, dense: props.dense }));
7950
+ const content = /* @__PURE__ */ import_react27.default.createElement(
7951
+ LinkButton,
7952
+ {
7953
+ className: (0, import_classnames5.default)("Aquarium-Link", className),
7954
+ "aria-label": props.kind === "icon" ? ariaLabel ?? tooltip : ariaLabel,
7955
+ ...props
7956
+ },
7957
+ icon && iconPlacement === "left" && /* @__PURE__ */ import_react27.default.createElement(Icon2, { icon, dense: props.dense }),
7958
+ children,
7959
+ icon && iconPlacement === "right" && /* @__PURE__ */ import_react27.default.createElement(Icon2, { icon, dense: props.dense })
7960
+ );
7948
7961
  return tooltip ? /* @__PURE__ */ import_react27.default.createElement(Tooltip, { content: tooltip, placement: tooltipPlacement }, content) : content;
7949
7962
  };
7950
7963
  var LinkButtonPrimary = (props) => /* @__PURE__ */ import_react27.default.createElement(LinkButton2, { kind: "primary", ...props });
@@ -8402,7 +8415,7 @@ var Breadcrumbs = (props) => {
8402
8415
  const crumbs = import_react35.default.Children.toArray(children).filter(
8403
8416
  (c) => Boolean(c)
8404
8417
  );
8405
- return /* @__PURE__ */ import_react35.default.createElement("nav", { className: (0, import_classnames6.default)("Aquarium-Breadcrumbs", className), "aria-label": "Breadcrumbs" }, /* @__PURE__ */ import_react35.default.createElement("ol", { className: tw("flex flex-row flex-nowrap items-center typography-caption") }, crumbs.map((crumb, index) => {
8418
+ return /* @__PURE__ */ import_react35.default.createElement("nav", { className: (0, import_classnames6.default)("Aquarium-Breadcrumbs", className), "aria-label": "Breadcrumbs" }, /* @__PURE__ */ import_react35.default.createElement("ol", { className: tw("flex flex-row flex-wrap items-center typography-caption") }, crumbs.map((crumb, index) => {
8406
8419
  const isLast = index === crumbs.length - 1;
8407
8420
  return (
8408
8421
  // Using index as key here is not good, but there isn't too many other options to choose from either.
@@ -11219,7 +11232,7 @@ var Pressable = import_react76.default.forwardRef(({ children, ...props }, ref)
11219
11232
  var import_react78 = __toESM(require("react"));
11220
11233
  var import_react_aria_components4 = require("react-aria-components");
11221
11234
 
11222
- // src/molecules/Field/Field.tsx
11235
+ // src/atoms/Field/Field.tsx
11223
11236
  var import_react77 = __toESM(require("react"));
11224
11237
  var import_react_aria_components3 = require("react-aria-components");
11225
11238
 
@@ -11256,7 +11269,7 @@ var fieldGroup = (0, import_tailwind_variants7.tv)({
11256
11269
  variants: fieldBorder.variants
11257
11270
  });
11258
11271
 
11259
- // src/molecules/Field/Field.tsx
11272
+ // src/atoms/Field/Field.tsx
11260
11273
  var FieldGroup = (props) => {
11261
11274
  return /* @__PURE__ */ import_react77.default.createElement(import_react_aria_components3.Group, { ...props, className: (renderProps) => fieldGroup(renderProps) });
11262
11275
  };
@@ -11281,7 +11294,7 @@ DropdownMenu2.Trigger.displayName = "DropdownMenu.Trigger";
11281
11294
  var MenuItems = ({ children }) => {
11282
11295
  const props = (0, import_react79.useContext)(MenuPropsContext);
11283
11296
  const { contains } = (0, import_react_aria_components5.useFilter)({ sensitivity: "base" });
11284
- const childrenWithIds = import_react79.default.Children.map(children, mapKeyToId);
11297
+ const childrenWithIds = mapKeyToId(children);
11285
11298
  const baseContent = /* @__PURE__ */ import_react79.default.createElement(
11286
11299
  DropdownMenu,
11287
11300
  {
@@ -11315,19 +11328,24 @@ var MenuItem = (props) => {
11315
11328
  DropdownMenu2.Item = MenuItem;
11316
11329
  DropdownMenu2.Item.displayName = "DropdownMenu.Item";
11317
11330
  var MenuSection = ({ children, ...props }) => {
11318
- const childrenWithIds = import_react79.default.Children.map(children, mapKeyToId);
11331
+ const childrenWithIds = mapKeyToId(children);
11319
11332
  return /* @__PURE__ */ import_react79.default.createElement(DropdownMenu.Group, { ...props }, childrenWithIds);
11320
11333
  };
11321
11334
  DropdownMenu2.Section = MenuSection;
11322
11335
  DropdownMenu2.Section.displayName = "DropdownMenu.Section";
11323
- var mapKeyToId = (child) => {
11324
- if (typeof child === "boolean" || child === null || child === void 0) {
11336
+ var mapKeyToId = (children) => {
11337
+ return import_react79.default.Children.map(children, (child) => {
11338
+ if (typeof child === "boolean" || child === null || child === void 0) {
11339
+ return child;
11340
+ }
11341
+ if (import_react79.default.isValidElement(child) && child.type === import_react79.default.Fragment) {
11342
+ return mapKeyToId(child.props.children);
11343
+ }
11344
+ if (isComponentType(child, MenuItem)) {
11345
+ return import_react79.default.cloneElement(child, { id: child.props.id ?? child.key ?? void 0 });
11346
+ }
11325
11347
  return child;
11326
- }
11327
- if (isComponentType(child, MenuItem)) {
11328
- return import_react79.default.cloneElement(child, { id: child.props.id ?? child.key ?? void 0 });
11329
- }
11330
- return child;
11348
+ });
11331
11349
  };
11332
11350
 
11333
11351
  // src/utils/object.ts
@@ -12242,12 +12260,18 @@ DataTable.Skeleton = DataListSkeleton;
12242
12260
 
12243
12261
  // src/molecules/DatePicker/DatePicker.tsx
12244
12262
  var import_react95 = __toESM(require("react"));
12245
- var import_react_aria_components12 = require("react-aria-components");
12263
+ var import_react_aria_components11 = require("react-aria-components");
12246
12264
  var import_label2 = require("@react-aria/label");
12247
12265
  var import_utils24 = require("@react-aria/utils");
12248
12266
  var import_lodash_es33 = require("lodash-es");
12249
12267
 
12250
- // src/molecules/DateField/DateInput.tsx
12268
+ // src/molecules/TimeField/TimeField.tsx
12269
+ var import_react90 = __toESM(require("react"));
12270
+ var import_label = require("@react-aria/label");
12271
+ var import_utils22 = require("@react-aria/utils");
12272
+ var import_lodash_es32 = require("lodash-es");
12273
+
12274
+ // src/atoms/DateField/DateField.tsx
12251
12275
  var import_react89 = __toESM(require("react"));
12252
12276
  var import_react_aria_components6 = require("react-aria-components");
12253
12277
  var import_tailwind_variants8 = require("tailwind-variants");
@@ -12265,77 +12289,74 @@ var segmentStyles = (0, import_tailwind_variants8.tv)({
12265
12289
  }
12266
12290
  }
12267
12291
  });
12268
- function DateInput(props) {
12292
+ var DateInput = (props) => {
12269
12293
  return /* @__PURE__ */ import_react89.default.createElement(import_react_aria_components6.DateInput, { className: (renderProps) => fieldGroup({ ...renderProps, class: "block" }), ...props }, (segment) => /* @__PURE__ */ import_react89.default.createElement(import_react_aria_components6.DateSegment, { segment, className: segmentStyles }));
12270
- }
12294
+ };
12295
+ var TimeField = ({ disabled, valid, ...props }) => {
12296
+ return /* @__PURE__ */ import_react89.default.createElement(import_react_aria_components6.TimeField, { ...props, isInvalid: valid === false, isDisabled: disabled }, /* @__PURE__ */ import_react89.default.createElement(DateInput, null));
12297
+ };
12271
12298
 
12272
12299
  // src/molecules/TimeField/TimeField.tsx
12273
- var import_react90 = __toESM(require("react"));
12274
- var import_react_aria_components7 = require("react-aria-components");
12275
- var import_label = require("@react-aria/label");
12276
- var import_utils22 = require("@react-aria/utils");
12277
- var import_lodash_es32 = require("lodash-es");
12278
- function TimeFieldBase({ disabled, valid, ...props }) {
12279
- return /* @__PURE__ */ import_react90.default.createElement(import_react_aria_components7.TimeField, { ...props, isInvalid: valid === false, isDisabled: disabled }, /* @__PURE__ */ import_react90.default.createElement(DateInput, null));
12280
- }
12281
- function TimeField(props) {
12300
+ function TimeField2(props) {
12282
12301
  const { labelProps, fieldProps } = (0, import_label.useLabel)({ label: props.labelText });
12283
12302
  const errorMessageId = (0, import_utils22.useId)();
12284
12303
  const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId } : {};
12285
12304
  const { "data-testid": dataTestId, ...labelControlProps } = getLabelControlProps(props);
12286
12305
  const baseProps = (0, import_lodash_es32.omit)(props, Object.keys(labelControlProps));
12287
- return /* @__PURE__ */ import_react90.default.createElement(LabelControl, { ...labelProps, ...labelControlProps, messageId: errorMessageId, className: "Aquarium-TimeField" }, /* @__PURE__ */ import_react90.default.createElement(TimeFieldBase, { ...baseProps, ...fieldProps, ...errorProps, disabled: props.disabled, valid: props.valid }));
12306
+ return /* @__PURE__ */ import_react90.default.createElement(LabelControl, { ...labelProps, ...labelControlProps, messageId: errorMessageId, className: "Aquarium-TimeField" }, /* @__PURE__ */ import_react90.default.createElement(TimeField, { ...baseProps, ...fieldProps, ...errorProps, disabled: props.disabled, valid: props.valid }));
12288
12307
  }
12289
12308
 
12290
- // src/molecules/DatePicker/Button.tsx
12291
- var import_react91 = __toESM(require("react"));
12309
+ // src/atoms/DatePicker/Calendar.tsx
12310
+ var import_react92 = __toESM(require("react"));
12292
12311
  var import_react_aria_components8 = require("react-aria-components");
12312
+ var import_tailwind_variants10 = require("tailwind-variants");
12313
+ var import_chevronLeft4 = __toESM(require_chevronLeft());
12314
+ var import_chevronRight4 = __toESM(require_chevronRight());
12315
+
12316
+ // src/atoms/DatePicker/DatePickerButton.tsx
12317
+ var import_react91 = __toESM(require("react"));
12318
+ var import_react_aria_components7 = require("react-aria-components");
12319
+ var import_tailwind_variants9 = require("tailwind-variants");
12293
12320
  var import_calendar2 = __toESM(require_calendar());
12294
12321
  var import_smallCross3 = __toESM(require_smallCross());
12295
- function Button3(props) {
12296
- return /* @__PURE__ */ import_react91.default.createElement(
12297
- import_react_aria_components8.Button,
12298
- {
12299
- ...props,
12300
- className: (0, import_react_aria_components8.composeRenderProps)(
12301
- props.className,
12302
- (className, renderProps) => buttonClasses({ ...renderProps, className, dense: true, kind: "icon" })
12303
- )
12322
+ var datePickerButton = (0, import_tailwind_variants9.tv)({
12323
+ base: "p-0",
12324
+ variants: {
12325
+ hideWhenParentIsNotHoveredOrFocused: {
12326
+ true: "opacity-0 group-hover:opacity-100 group-focus-within:opacity-100",
12327
+ false: ""
12304
12328
  }
12305
- );
12306
- }
12307
- var ButtonBase = ({
12308
- className,
12309
- hideWhenParentIsNotHoveredOrFocused = true,
12329
+ }
12330
+ });
12331
+ var DatePickerButton = ({
12332
+ hideWhenParentIsNotHoveredOrFocused = false,
12310
12333
  ...props
12311
12334
  }) => {
12312
12335
  return /* @__PURE__ */ import_react91.default.createElement(
12313
- Button3,
12336
+ import_react_aria_components7.Button,
12314
12337
  {
12315
12338
  ...props,
12316
- className: classNames(
12317
- className,
12318
- tw("group-hover:opacity-100 p-0", {
12319
- "opacity-0 group-focus-within:opacity-100": !hideWhenParentIsNotHoveredOrFocused
12339
+ className: (0, import_react_aria_components7.composeRenderProps)(
12340
+ props.className,
12341
+ (className, renderProps) => buttonClasses({
12342
+ ...renderProps,
12343
+ className: datePickerButton({ hideWhenParentIsNotHoveredOrFocused, className }),
12344
+ dense: true,
12345
+ kind: "icon"
12320
12346
  })
12321
12347
  )
12322
12348
  }
12323
12349
  );
12324
12350
  };
12325
- function ClearInputButton(props) {
12326
- return /* @__PURE__ */ import_react91.default.createElement(ButtonBase, { ...props, "aria-label": "Clear", slot: null, hideWhenParentIsNotHoveredOrFocused: false }, /* @__PURE__ */ import_react91.default.createElement(Icon2, { icon: import_smallCross3.default, dense: true }));
12327
- }
12328
- function CalendarButton(props) {
12329
- return /* @__PURE__ */ import_react91.default.createElement(ButtonBase, { ...props, "aria-label": "Calendar" }, /* @__PURE__ */ import_react91.default.createElement(Icon2, { icon: import_calendar2.default, dense: true }));
12330
- }
12351
+ var ClearInputButton = (props) => {
12352
+ return /* @__PURE__ */ import_react91.default.createElement(DatePickerButton, { ...props, "aria-label": "Clear", slot: null, hideWhenParentIsNotHoveredOrFocused: true }, /* @__PURE__ */ import_react91.default.createElement(Icon2, { icon: import_smallCross3.default, dense: true }));
12353
+ };
12354
+ var CalendarButton = (props) => {
12355
+ return /* @__PURE__ */ import_react91.default.createElement(DatePickerButton, { ...props, "aria-label": "Calendar" }, /* @__PURE__ */ import_react91.default.createElement(Icon2, { icon: import_calendar2.default, dense: true }));
12356
+ };
12331
12357
 
12332
- // src/molecules/DatePicker/Calendar.tsx
12333
- var import_react92 = __toESM(require("react"));
12334
- var import_react_aria_components9 = require("react-aria-components");
12335
- var import_tailwind_variants9 = require("tailwind-variants");
12336
- var import_chevronLeft4 = __toESM(require_chevronLeft());
12337
- var import_chevronRight4 = __toESM(require_chevronRight());
12338
- var cellStyles = (0, import_tailwind_variants9.tv)({
12358
+ // src/atoms/DatePicker/Calendar.tsx
12359
+ var cellStyles = (0, import_tailwind_variants10.tv)({
12339
12360
  extend: focusRing,
12340
12361
  base: "w-8 h-8 typography-small cursor-default rounded-md flex items-center justify-center outside-month:hidden",
12341
12362
  variants: {
@@ -12352,274 +12373,51 @@ var cellStyles = (0, import_tailwind_variants9.tv)({
12352
12373
  }
12353
12374
  });
12354
12375
  var Calendar = (props) => {
12355
- return /* @__PURE__ */ import_react92.default.createElement(import_react_aria_components9.Calendar, { ...props }, /* @__PURE__ */ import_react92.default.createElement(CalendarHeader, null), /* @__PURE__ */ import_react92.default.createElement(import_react_aria_components9.CalendarGrid, null, /* @__PURE__ */ import_react92.default.createElement(CalendarGridHeader, null), /* @__PURE__ */ import_react92.default.createElement(import_react_aria_components9.CalendarGridBody, null, (date) => /* @__PURE__ */ import_react92.default.createElement(import_react_aria_components9.CalendarCell, { date, className: cellStyles }))));
12376
+ return /* @__PURE__ */ import_react92.default.createElement(import_react_aria_components8.Calendar, { ...props }, /* @__PURE__ */ import_react92.default.createElement(CalendarHeader, null), /* @__PURE__ */ import_react92.default.createElement(import_react_aria_components8.CalendarGrid, null, /* @__PURE__ */ import_react92.default.createElement(CalendarGridHeader, null), /* @__PURE__ */ import_react92.default.createElement(import_react_aria_components8.CalendarGridBody, null, (date) => /* @__PURE__ */ import_react92.default.createElement(import_react_aria_components8.CalendarCell, { date, className: cellStyles }))));
12356
12377
  };
12357
12378
  var CalendarHeader = () => {
12358
- return /* @__PURE__ */ import_react92.default.createElement("header", { className: "flex items-center gap-1 pb-5 w-full" }, /* @__PURE__ */ import_react92.default.createElement(Button3, { slot: "previous", className: "p-3" }, /* @__PURE__ */ import_react92.default.createElement(Icon, { icon: import_chevronLeft4.default })), /* @__PURE__ */ import_react92.default.createElement(import_react_aria_components9.Heading, { className: tw("flex-1 typography-default-strong text-center") }), /* @__PURE__ */ import_react92.default.createElement(Button3, { slot: "next", className: "p-3" }, /* @__PURE__ */ import_react92.default.createElement(Icon, { icon: import_chevronRight4.default })));
12379
+ return /* @__PURE__ */ import_react92.default.createElement("header", { className: "flex items-center gap-1 pb-5 w-full" }, /* @__PURE__ */ import_react92.default.createElement(DatePickerButton, { slot: "previous", className: "p-3" }, /* @__PURE__ */ import_react92.default.createElement(Icon, { icon: import_chevronLeft4.default })), /* @__PURE__ */ import_react92.default.createElement(import_react_aria_components8.Heading, { className: tw("flex-1 typography-default-strong text-center") }), /* @__PURE__ */ import_react92.default.createElement(DatePickerButton, { slot: "next", className: "p-3" }, /* @__PURE__ */ import_react92.default.createElement(Icon, { icon: import_chevronRight4.default })));
12359
12380
  };
12360
12381
  var CalendarGridHeader = () => {
12361
- return /* @__PURE__ */ import_react92.default.createElement(import_react_aria_components9.CalendarGridHeader, null, (day) => /* @__PURE__ */ import_react92.default.createElement(import_react_aria_components9.CalendarHeaderCell, { className: "text-xs text-inactive typography-caption" }, day));
12382
+ return /* @__PURE__ */ import_react92.default.createElement(import_react_aria_components8.CalendarGridHeader, null, (day) => /* @__PURE__ */ import_react92.default.createElement(import_react_aria_components8.CalendarHeaderCell, { className: "text-xs text-inactive typography-caption" }, day));
12362
12383
  };
12363
12384
 
12364
- // src/molecules/DatePicker/Dialog.tsx
12385
+ // src/atoms/DatePicker/DatePicker.tsx
12365
12386
  var import_react93 = __toESM(require("react"));
12366
- var import_react_aria_components10 = require("react-aria-components");
12367
- function Dialog(props) {
12368
- return /* @__PURE__ */ import_react93.default.createElement(
12369
- import_react_aria_components10.Dialog,
12370
- {
12371
- ...props,
12372
- className: classNames(
12373
- props.className,
12374
- tw(
12375
- "outline outline-0 p-5 [[data-placement]>&]:px-5 [[data-placement]>&]:py-6 max-h-[inherit] overflow-auto relative"
12376
- )
12377
- )
12378
- }
12379
- );
12380
- }
12381
-
12382
- // src/molecules/DatePicker/Popover.tsx
12383
- var import_react94 = __toESM(require("react"));
12384
- var import_react_aria_components11 = require("react-aria-components");
12385
- var Popover2 = ({ children, showArrow, className, ...props }) => {
12386
- const popoverContext = (0, import_react_aria_components11.useSlottedContext)(import_react_aria_components11.PopoverContext);
12387
- const isSubmenu = popoverContext?.trigger === "SubmenuTrigger";
12388
- let offset = showArrow ? 12 : 8;
12389
- offset = isSubmenu ? offset - 6 : offset;
12390
- return /* @__PURE__ */ import_react94.default.createElement(
12391
- import_react_aria_components11.Popover,
12392
- {
12393
- offset,
12394
- ...props,
12395
- className: tw(
12396
- "rounded-sm shadow-16dp bg-popover-content mt-1 overflow-y-auto flex flex-col border border-default outline-none"
12397
- )
12398
- },
12399
- showArrow && /* @__PURE__ */ import_react94.default.createElement(import_react_aria_components11.OverlayArrow, { className: "group" }, /* @__PURE__ */ import_react94.default.createElement(
12400
- "svg",
12401
- {
12402
- width: 12,
12403
- height: 12,
12404
- viewBox: "0 0 12 12",
12405
- className: "block fill-white stroke-1 stroke-black group-placement-bottom:rotate-180 group-placement-left:-rotate-90 group-placement-right:rotate-90"
12406
- },
12407
- /* @__PURE__ */ import_react94.default.createElement("path", { d: "M0 0 L6 6 L12 0" })
12408
- )),
12409
- children
12410
- );
12411
- };
12412
-
12413
- // src/molecules/DatePicker/DatePicker.tsx
12414
- function DatePickerClearButton() {
12415
- const state = import_react95.default.useContext(import_react_aria_components12.DatePickerStateContext);
12416
- if (!state) {
12417
- throw new Error("DatePickerStateContext is missing a provider");
12418
- }
12419
- if (!state.value) {
12420
- return null;
12387
+ var import_react_aria_components9 = require("react-aria-components");
12388
+ var import_tailwind_variants11 = require("tailwind-variants");
12389
+ var datePickerCalendarStyles = (0, import_tailwind_variants11.tv)({
12390
+ slots: {
12391
+ dialog: "p-5 [[data-placement]>&]:px-5 [[data-placement]>&]:py-6 max-h-[inherit]",
12392
+ errorMessage: "typography-caption text-danger-default max-w-[300px]"
12421
12393
  }
12422
- return /* @__PURE__ */ import_react95.default.createElement(
12423
- ClearInputButton,
12424
- {
12425
- onPress: () => {
12426
- state.setValue(null);
12427
- }
12428
- }
12429
- );
12430
- }
12431
- var createDatePickerBase = (variant) => ({
12432
- disabled,
12433
- valid,
12434
- granularity,
12435
- shouldCloseOnSelect,
12436
- errorMessage,
12437
- clearSelectionEnabled = true,
12438
- ...props
12439
- }) => {
12394
+ });
12395
+ var DatePicker = ({ variant, ...props }) => {
12440
12396
  const hasSomeValue = props.value ?? props.defaultValue ?? props.placeholderValue;
12441
- return /* @__PURE__ */ import_react95.default.createElement(
12442
- import_react_aria_components12.DatePicker,
12397
+ return /* @__PURE__ */ import_react93.default.createElement(
12398
+ import_react_aria_components9.DatePicker,
12443
12399
  {
12444
12400
  ...props,
12445
- shouldCloseOnSelect: shouldCloseOnSelect ?? variant === "date",
12446
- isDisabled: disabled,
12447
- isInvalid: valid === false,
12448
- granularity: granularity ?? (variant === "datetime" && !hasSomeValue ? "minute" : void 0)
12449
- },
12450
- /* @__PURE__ */ import_react95.default.createElement(FieldGroup, { className: tw("min-w-[210px] w-auto") }, /* @__PURE__ */ import_react95.default.createElement(DateInput, { className: tw("flex-1") }), /* @__PURE__ */ import_react95.default.createElement(Box.Flex, { alignItems: "center", gap: "2" }, clearSelectionEnabled && !disabled && /* @__PURE__ */ import_react95.default.createElement(DatePickerClearButton, null), /* @__PURE__ */ import_react95.default.createElement(CalendarButton, null))),
12451
- /* @__PURE__ */ import_react95.default.createElement(Popover2, { offset: 0 }, /* @__PURE__ */ import_react95.default.createElement(Dialog, null, /* @__PURE__ */ import_react95.default.createElement(Spacing, { gap: "3" }, /* @__PURE__ */ import_react95.default.createElement(Calendar, null), variant === "datetime" && /* @__PURE__ */ import_react95.default.createElement(PickerTimeField, { granularity }), errorMessage && /* @__PURE__ */ import_react95.default.createElement(import_react_aria_components12.Text, { slot: "errorMessage", className: tw("typography-caption text-danger-default max-w-[300px]") }, errorMessage))))
12452
- );
12453
- };
12454
- var DatePickerBase = createDatePickerBase("date");
12455
- var DateTimePickerBase = createDatePickerBase("datetime");
12456
- var PickerTimeField = ({ granularity }) => {
12457
- const state = import_react95.default.useContext(import_react_aria_components12.DatePickerStateContext);
12458
- if (!state) {
12459
- throw new Error("DatePickerStateContext is missing a provider");
12460
- }
12461
- return /* @__PURE__ */ import_react95.default.createElement(
12462
- TimeField,
12463
- {
12464
- labelText: "Time",
12465
- granularity: granularity !== "day" ? granularity : void 0,
12466
- value: state.timeValue,
12467
- onChange: (value) => value && state.setTimeValue(value),
12468
- reserveSpaceForError: false
12401
+ shouldCloseOnSelect: props.shouldCloseOnSelect ?? variant === "date",
12402
+ granularity: props.granularity ?? (variant === "datetime" && !hasSomeValue ? "minute" : void 0)
12469
12403
  }
12470
12404
  );
12471
12405
  };
12472
- var createDatePicker = (variant) => (props) => {
12473
- const { labelProps, fieldProps } = (0, import_label2.useLabel)({ label: props.labelText });
12474
- const errorMessageId = (0, import_utils24.useId)();
12475
- const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId, "errorMessage": props.helperText ?? props.error } : {};
12476
- const { "data-testid": dataTestId, ...labelControlProps } = getLabelControlProps(props);
12477
- const baseProps = (0, import_lodash_es33.omit)(props, Object.keys(labelControlProps));
12478
- const allProps = { ...baseProps, ...fieldProps, ...errorProps, disabled: props.disabled, valid: props.valid };
12479
- return /* @__PURE__ */ import_react95.default.createElement(LabelControl, { ...labelProps, ...labelControlProps, messageId: errorMessageId, className: "Aquarium-DatePicker" }, variant === "date" ? /* @__PURE__ */ import_react95.default.createElement(DatePickerBase, { ...allProps }) : /* @__PURE__ */ import_react95.default.createElement(DateTimePickerBase, { ...allProps }));
12480
- };
12481
- var DatePicker = createDatePicker("date");
12482
- var DateTimePicker = createDatePicker("datetime");
12483
-
12484
- // src/molecules/DatePicker/DateRangePicker.tsx
12485
- var import_react97 = __toESM(require("react"));
12486
- var import_react_aria_components14 = require("react-aria-components");
12487
- var import_label3 = require("@react-aria/label");
12488
- var import_utils26 = require("@react-aria/utils");
12489
- var import_lodash_es34 = require("lodash-es");
12490
-
12491
- // src/molecules/DatePicker/RangeCalendar.tsx
12492
- var import_react96 = __toESM(require("react"));
12493
- var import_react_aria_components13 = require("react-aria-components");
12494
- var import_tailwind_variants10 = require("tailwind-variants");
12495
- var cell = (0, import_tailwind_variants10.tv)({
12496
- extend: focusRing,
12497
- base: "w-full h-full flex items-center justify-center rounded-md text-default",
12498
- variants: {
12499
- selectionState: {
12500
- none: "group-hover:bg-default group-pressed:bg-intense",
12501
- middle: [
12502
- "text-white",
12503
- "group-hover:bg-primary-default",
12504
- "group-invalid:group-hover:bg-danger-default",
12505
- "group-pressed:bg-primary-intense",
12506
- "group-invalid:group-pressed:bg-danger-intense"
12507
- ],
12508
- cap: "text-white bg-primary-default group-invalid:bg-danger-default"
12509
- },
12510
- isUnavailable: {
12511
- true: "text-inactive"
12512
- },
12513
- isDisabled: {
12514
- true: "text-inactive"
12515
- }
12516
- }
12517
- });
12518
- function RangeCalendar(props) {
12519
- return /* @__PURE__ */ import_react96.default.createElement(import_react_aria_components13.RangeCalendar, { ...props }, /* @__PURE__ */ import_react96.default.createElement(CalendarHeader, null), /* @__PURE__ */ import_react96.default.createElement(import_react_aria_components13.CalendarGrid, { className: "[&_td]:px-0" }, /* @__PURE__ */ import_react96.default.createElement(CalendarGridHeader, null), /* @__PURE__ */ import_react96.default.createElement(import_react_aria_components13.CalendarGridBody, null, (date) => /* @__PURE__ */ import_react96.default.createElement(
12520
- import_react_aria_components13.CalendarCell,
12521
- {
12522
- date,
12523
- className: tw(
12524
- "group w-8 h-8 typography-small outline outline-0 cursor-default",
12525
- "outside-month:hidden selected:bg-primary-default",
12526
- "invalid:selected:bg-danger-default",
12527
- "selection-start:rounded-s-md selection-end:rounded-e-md"
12528
- )
12529
- },
12530
- ({ formattedDate, isSelected, isSelectionStart, isSelectionEnd, ...rest }) => /* @__PURE__ */ import_react96.default.createElement(
12531
- "span",
12532
- {
12533
- className: cell({
12534
- selectionState: isSelected && (isSelectionStart || isSelectionEnd) ? "cap" : isSelected ? "middle" : "none",
12535
- ...rest
12536
- })
12537
- },
12538
- formattedDate
12539
- )
12540
- ))));
12541
- }
12542
-
12543
- // src/molecules/DatePicker/DateRangePicker.tsx
12544
- function DateRangePickerClearButton() {
12545
- const state = import_react97.default.useContext(import_react_aria_components14.DateRangePickerStateContext);
12546
- if (!state) {
12547
- throw new Error("DateRangePickerStateContext is missing a provider");
12548
- }
12549
- if (!state.value.start && !state.value.end) {
12550
- return null;
12551
- }
12552
- return /* @__PURE__ */ import_react97.default.createElement(
12553
- ClearInputButton,
12554
- {
12555
- onPress: () => {
12556
- state.setValue(null);
12557
- }
12558
- }
12559
- );
12560
- }
12561
- var createDateRangePickerBase = (variant) => ({
12562
- disabled,
12563
- valid,
12564
- granularity,
12565
- shouldCloseOnSelect,
12566
- errorMessage,
12567
- clearSelectionEnabled = true,
12568
- ...props
12569
- }) => {
12406
+ var DateRangePicker = ({ variant, ...props }) => {
12570
12407
  const hasSomeValue = props.value ?? props.defaultValue ?? props.placeholderValue;
12571
- return /* @__PURE__ */ import_react97.default.createElement(
12572
- import_react_aria_components14.DateRangePicker,
12408
+ return /* @__PURE__ */ import_react93.default.createElement(
12409
+ import_react_aria_components9.DateRangePicker,
12573
12410
  {
12574
12411
  ...props,
12575
- shouldCloseOnSelect: shouldCloseOnSelect ?? variant === "date",
12576
- isDisabled: disabled,
12577
- isInvalid: valid === false,
12578
- granularity: granularity ?? (variant === "datetime" && !hasSomeValue ? "minute" : void 0),
12579
- className: tw("group flex flex-col gap-1")
12580
- },
12581
- /* @__PURE__ */ import_react97.default.createElement(FieldGroup, { className: tw("min-w-[200px] w-auto gap-2") }, /* @__PURE__ */ import_react97.default.createElement(DateInput, { slot: "start", className: tw("px-2 py-1") }), /* @__PURE__ */ import_react97.default.createElement("span", { "aria-hidden": true, className: tw("text-muted") }, "-"), /* @__PURE__ */ import_react97.default.createElement(DateInput, { slot: "end", className: tw("flex-1 px-2 py-1") }), /* @__PURE__ */ import_react97.default.createElement(Box.Flex, { alignItems: "center", gap: "2" }, clearSelectionEnabled && !disabled && /* @__PURE__ */ import_react97.default.createElement(DateRangePickerClearButton, null), /* @__PURE__ */ import_react97.default.createElement(CalendarButton, null))),
12582
- /* @__PURE__ */ import_react97.default.createElement(Popover2, { offset: 0 }, /* @__PURE__ */ import_react97.default.createElement(Dialog, null, /* @__PURE__ */ import_react97.default.createElement(Spacing, { gap: "3" }, /* @__PURE__ */ import_react97.default.createElement(RangeCalendar, null), variant === "datetime" && /* @__PURE__ */ import_react97.default.createElement(Box.Flex, { gap: "6" }, /* @__PURE__ */ import_react97.default.createElement("div", { className: tw("flex-1") }, /* @__PURE__ */ import_react97.default.createElement(PickerTimeField2, { granularity, part: "start" })), /* @__PURE__ */ import_react97.default.createElement("div", { className: tw("flex-1") }, /* @__PURE__ */ import_react97.default.createElement(PickerTimeField2, { granularity, part: "end" }))), errorMessage && /* @__PURE__ */ import_react97.default.createElement(import_react_aria_components14.Text, { slot: "errorMessage", className: tw("typography-caption text-danger-default max-w-[300px]") }, errorMessage))))
12583
- );
12584
- };
12585
- var PickerTimeField2 = ({ granularity, part }) => {
12586
- const ctx = import_react97.default.useContext(import_react_aria_components14.DateRangePickerStateContext);
12587
- return /* @__PURE__ */ import_react97.default.createElement(
12588
- TimeField,
12589
- {
12590
- labelText: part === "start" ? "Start time" : "End time",
12591
- granularity: granularity !== "day" ? granularity : void 0,
12592
- value: ctx?.timeRange?.[part] ?? null,
12593
- onChange: (value) => ctx?.setTime(part, value),
12594
- reserveSpaceForError: false
12412
+ shouldCloseOnSelect: props.shouldCloseOnSelect ?? variant === "date",
12413
+ granularity: props.granularity ?? (variant === "datetime" && !hasSomeValue ? "minute" : void 0)
12595
12414
  }
12596
12415
  );
12597
12416
  };
12598
- var DateRangePickerBase = createDateRangePickerBase("date");
12599
- var DateTimeRangePickerBase = createDateRangePickerBase("datetime");
12600
- var createDateRangePicker = (variant) => (props) => {
12601
- const { labelProps, fieldProps } = (0, import_label3.useLabel)({ label: props.labelText });
12602
- const errorMessageId = (0, import_utils26.useId)();
12603
- const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId, "errorMessage": props.helperText ?? props.error } : {};
12604
- const { "data-testid": dataTestId, ...labelControlProps } = getLabelControlProps(props);
12605
- const baseProps = (0, import_lodash_es34.omit)(props, Object.keys(labelControlProps));
12606
- const allProps = { ...baseProps, ...fieldProps, ...errorProps, disabled: props.disabled, valid: props.valid };
12607
- return /* @__PURE__ */ import_react97.default.createElement(LabelControl, { ...labelProps, ...labelControlProps, messageId: errorMessageId, className: "Aquarium-DatePicker" }, variant === "date" ? /* @__PURE__ */ import_react97.default.createElement(DateRangePickerBase, { ...allProps }) : /* @__PURE__ */ import_react97.default.createElement(DateTimeRangePickerBase, { ...allProps }));
12608
- };
12609
- var DateRangePicker = createDateRangePicker("date");
12610
- var DateTimeRangePicker = createDateRangePicker("datetime");
12611
-
12612
- // src/molecules/Dialog/Dialog.tsx
12613
- var import_react100 = __toESM(require("react"));
12614
- var import_dialog = require("@react-aria/dialog");
12615
- var import_overlays6 = require("@react-aria/overlays");
12616
- var import_utils27 = require("@react-aria/utils");
12617
- var import_overlays7 = require("@react-stately/overlays");
12618
- var import_lodash_es35 = require("lodash-es");
12619
12417
 
12620
12418
  // src/atoms/Dialog/Dialog.tsx
12621
- var import_react98 = __toESM(require("react"));
12622
- var import_react_aria_components15 = require("react-aria-components");
12419
+ var import_react94 = __toESM(require("react"));
12420
+ var import_react_aria_components10 = require("react-aria-components");
12623
12421
 
12624
12422
  // node_modules/tailwind-merge/dist/bundle-mjs.mjs
12625
12423
  var CLASS_PART_SEPARATOR = "-";
@@ -15099,9 +14897,9 @@ var DIALOG_ICONS_AND_COLORS = {
15099
14897
  color: "danger-default"
15100
14898
  }
15101
14899
  };
15102
- var Dialog2 = (props) => {
15103
- return /* @__PURE__ */ import_react98.default.createElement(
15104
- import_react_aria_components15.Dialog,
14900
+ var Dialog = (props) => {
14901
+ return /* @__PURE__ */ import_react94.default.createElement(
14902
+ import_react_aria_components10.Dialog,
15105
14903
  {
15106
14904
  ...props,
15107
14905
  className: twMerge("outline outline-0 max-h-[inherit] overflow-auto relative", props.className)
@@ -15109,10 +14907,243 @@ var Dialog2 = (props) => {
15109
14907
  );
15110
14908
  };
15111
14909
 
15112
- // src/atoms/Modal/Modal.tsx
14910
+ // src/molecules/DatePicker/DatePicker.tsx
14911
+ var DatePickerClearButton = () => {
14912
+ const state = import_react95.default.useContext(import_react_aria_components11.DatePickerStateContext);
14913
+ if (!state) {
14914
+ throw new Error("DatePickerStateContext is missing a provider");
14915
+ }
14916
+ if (!state.value) {
14917
+ return null;
14918
+ }
14919
+ return /* @__PURE__ */ import_react95.default.createElement(
14920
+ ClearInputButton,
14921
+ {
14922
+ onPress: () => {
14923
+ state.setValue(null);
14924
+ }
14925
+ }
14926
+ );
14927
+ };
14928
+ DatePickerClearButton.displayName = "DatePicker.ClearButton";
14929
+ var CalendarTimeField = ({ granularity, labelText = "Time", ...props }) => {
14930
+ const ctx = import_react95.default.useContext(import_react_aria_components11.DatePickerStateContext);
14931
+ return /* @__PURE__ */ import_react95.default.createElement(
14932
+ TimeField2,
14933
+ {
14934
+ ...props,
14935
+ labelText,
14936
+ granularity: granularity !== "day" ? granularity : void 0,
14937
+ value: ctx?.timeValue,
14938
+ onChange: (value) => value && ctx?.setTimeValue(value),
14939
+ reserveSpaceForError: false
14940
+ }
14941
+ );
14942
+ };
14943
+ var DatePickerCalendarPropsContext = import_react95.default.createContext(null);
14944
+ var DatePickerCalendar = (props) => {
14945
+ const ctx = import_react95.default.useContext(DatePickerCalendarPropsContext);
14946
+ const { variant, granularity, errorMessage } = (0, import_utils24.mergeProps)(ctx, props);
14947
+ const { dialog, errorMessage: errorMessageStyle } = datePickerCalendarStyles();
14948
+ return /* @__PURE__ */ import_react95.default.createElement(Popover, { offset: 0 }, /* @__PURE__ */ import_react95.default.createElement(Dialog, { className: dialog() }, /* @__PURE__ */ import_react95.default.createElement(Spacing, { gap: "3" }, /* @__PURE__ */ import_react95.default.createElement(Calendar, null), variant === "datetime" && /* @__PURE__ */ import_react95.default.createElement(CalendarTimeField, { granularity }), errorMessage && /* @__PURE__ */ import_react95.default.createElement(import_react_aria_components11.Text, { slot: "errorMessage", className: errorMessageStyle() }, errorMessage))));
14949
+ };
14950
+ DatePickerCalendar.displayName = "DatePicker.Calendar";
14951
+ var DatePickerField = ({ clearSelectionEnabled = true, disabled = false }) => {
14952
+ return /* @__PURE__ */ import_react95.default.createElement(FieldGroup, { className: tw("min-w-[210px] w-auto") }, /* @__PURE__ */ import_react95.default.createElement(DateInput, { className: tw("flex-1") }), /* @__PURE__ */ import_react95.default.createElement(Box.Flex, { alignItems: "center", gap: "2" }, clearSelectionEnabled && !disabled && /* @__PURE__ */ import_react95.default.createElement(DatePickerClearButton, null), /* @__PURE__ */ import_react95.default.createElement(CalendarButton, null)));
14953
+ };
14954
+ DatePickerField.displayName = "DatePicker.Field";
14955
+ var createDatePickerBase = (variant) => {
14956
+ const datePicker = ({
14957
+ disabled,
14958
+ valid,
14959
+ shouldCloseOnSelect,
14960
+ errorMessage,
14961
+ clearSelectionEnabled = true,
14962
+ children,
14963
+ ...props
14964
+ }) => {
14965
+ const content = children ?? /* @__PURE__ */ import_react95.default.createElement(import_react95.default.Fragment, null, /* @__PURE__ */ import_react95.default.createElement(DatePickerField, { clearSelectionEnabled, disabled }), /* @__PURE__ */ import_react95.default.createElement(DatePickerCalendar, null));
14966
+ return /* @__PURE__ */ import_react95.default.createElement(DatePickerCalendarPropsContext.Provider, { value: { variant, granularity: props.granularity, errorMessage } }, /* @__PURE__ */ import_react95.default.createElement(DatePicker, { ...props, variant, isDisabled: disabled, isInvalid: valid === false }, content));
14967
+ };
14968
+ datePicker.Calendar = DatePickerCalendar;
14969
+ datePicker.Field = DatePickerField;
14970
+ datePicker.displayName = variant === "date" ? "DatePickerBase" : "DateTimePickerBase";
14971
+ return datePicker;
14972
+ };
14973
+ var DatePickerBase = createDatePickerBase("date");
14974
+ var DateTimePickerBase = createDatePickerBase("datetime");
14975
+ var createDatePicker = (variant) => {
14976
+ const datePicker = (props) => {
14977
+ const { labelProps, fieldProps } = (0, import_label2.useLabel)({ "label": props.labelText, "aria-label": props["aria-label"] });
14978
+ const errorMessageId = (0, import_utils24.useId)();
14979
+ const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId, "errorMessage": props.helperText ?? props.error } : {};
14980
+ const { "data-testid": dataTestId, ...labelControlProps } = getLabelControlProps(props);
14981
+ const baseProps = (0, import_lodash_es33.omit)(props, Object.keys(labelControlProps));
14982
+ const allProps = { ...baseProps, ...fieldProps, ...errorProps, disabled: props.disabled, valid: props.valid };
14983
+ return /* @__PURE__ */ import_react95.default.createElement(LabelControl, { ...labelProps, ...labelControlProps, messageId: errorMessageId, className: "Aquarium-DatePicker" }, variant === "date" ? /* @__PURE__ */ import_react95.default.createElement(DatePickerBase, { ...allProps }) : /* @__PURE__ */ import_react95.default.createElement(DateTimePickerBase, { ...allProps }));
14984
+ };
14985
+ datePicker.Calendar = DatePickerCalendar;
14986
+ datePicker.Field = DatePickerField;
14987
+ datePicker.displayName = variant === "date" ? "DatePicker" : "DateTimePicker";
14988
+ return datePicker;
14989
+ };
14990
+ var DatePicker2 = createDatePicker("date");
14991
+ var DateTimePicker = createDatePicker("datetime");
14992
+
14993
+ // src/molecules/DatePicker/DateRangePicker.tsx
14994
+ var import_react97 = __toESM(require("react"));
14995
+ var import_react_aria_components13 = require("react-aria-components");
14996
+ var import_label3 = require("@react-aria/label");
14997
+ var import_utils26 = require("@react-aria/utils");
14998
+ var import_lodash_es34 = require("lodash-es");
14999
+
15000
+ // src/atoms/DatePicker/RangeCalendar.tsx
15001
+ var import_react96 = __toESM(require("react"));
15002
+ var import_react_aria_components12 = require("react-aria-components");
15003
+ var import_tailwind_variants12 = require("tailwind-variants");
15004
+ var cell = (0, import_tailwind_variants12.tv)({
15005
+ extend: focusRing,
15006
+ base: "w-full h-full flex items-center justify-center rounded-md text-default",
15007
+ variants: {
15008
+ selectionState: {
15009
+ none: "group-hover:bg-default group-pressed:bg-intense",
15010
+ middle: [
15011
+ "text-white",
15012
+ "group-hover:bg-primary-default",
15013
+ "group-invalid:group-hover:bg-danger-default",
15014
+ "group-pressed:bg-primary-intense",
15015
+ "group-invalid:group-pressed:bg-danger-intense"
15016
+ ],
15017
+ cap: "text-white bg-primary-default group-invalid:bg-danger-default"
15018
+ },
15019
+ isUnavailable: {
15020
+ true: "text-inactive"
15021
+ },
15022
+ isDisabled: {
15023
+ true: "text-inactive"
15024
+ }
15025
+ }
15026
+ });
15027
+ function RangeCalendar(props) {
15028
+ return /* @__PURE__ */ import_react96.default.createElement(import_react_aria_components12.RangeCalendar, { ...props }, /* @__PURE__ */ import_react96.default.createElement(CalendarHeader, null), /* @__PURE__ */ import_react96.default.createElement(import_react_aria_components12.CalendarGrid, { className: "[&_td]:px-0" }, /* @__PURE__ */ import_react96.default.createElement(CalendarGridHeader, null), /* @__PURE__ */ import_react96.default.createElement(import_react_aria_components12.CalendarGridBody, null, (date) => /* @__PURE__ */ import_react96.default.createElement(
15029
+ import_react_aria_components12.CalendarCell,
15030
+ {
15031
+ date,
15032
+ className: tw(
15033
+ "group w-8 h-8 typography-small outline outline-0 cursor-default",
15034
+ "outside-month:hidden selected:bg-primary-default",
15035
+ "invalid:selected:bg-danger-default",
15036
+ "selection-start:rounded-s-md selection-end:rounded-e-md"
15037
+ )
15038
+ },
15039
+ ({ formattedDate, isSelected, isSelectionStart, isSelectionEnd, ...rest }) => /* @__PURE__ */ import_react96.default.createElement(
15040
+ "span",
15041
+ {
15042
+ className: cell({
15043
+ selectionState: isSelected && (isSelectionStart || isSelectionEnd) ? "cap" : isSelected ? "middle" : "none",
15044
+ ...rest
15045
+ })
15046
+ },
15047
+ formattedDate
15048
+ )
15049
+ ))));
15050
+ }
15051
+
15052
+ // src/molecules/DatePicker/DateRangePicker.tsx
15053
+ function DateRangePickerClearButton() {
15054
+ const state = import_react97.default.useContext(import_react_aria_components13.DateRangePickerStateContext);
15055
+ if (!state) {
15056
+ throw new Error("DateRangePickerStateContext is missing a provider");
15057
+ }
15058
+ if (!state.value.start && !state.value.end) {
15059
+ return null;
15060
+ }
15061
+ return /* @__PURE__ */ import_react97.default.createElement(
15062
+ ClearInputButton,
15063
+ {
15064
+ onPress: () => {
15065
+ state.setValue(null);
15066
+ }
15067
+ }
15068
+ );
15069
+ }
15070
+ var RangeCalendarTimeField = ({ granularity, part, ...props }) => {
15071
+ const ctx = import_react97.default.useContext(import_react_aria_components13.DateRangePickerStateContext);
15072
+ const labelText = props.labelText ?? (part === "start" ? "Start time" : "End time");
15073
+ return /* @__PURE__ */ import_react97.default.createElement(
15074
+ TimeField2,
15075
+ {
15076
+ ...props,
15077
+ labelText,
15078
+ granularity: granularity !== "day" ? granularity : void 0,
15079
+ value: ctx?.timeRange?.[part] ?? null,
15080
+ onChange: (value) => ctx?.setTime(part, value),
15081
+ reserveSpaceForError: false
15082
+ }
15083
+ );
15084
+ };
15085
+ var DateRangePickerCalendarPropsContext = import_react97.default.createContext(null);
15086
+ var DateRangePickerCalendar = (props) => {
15087
+ const ctx = import_react97.default.useContext(DateRangePickerCalendarPropsContext);
15088
+ const { variant, granularity, errorMessage } = (0, import_utils26.mergeProps)(ctx, props);
15089
+ const { dialog, errorMessage: errorMessageStyle } = datePickerCalendarStyles();
15090
+ return /* @__PURE__ */ import_react97.default.createElement(Popover, { offset: 0 }, /* @__PURE__ */ import_react97.default.createElement(Dialog, { className: dialog() }, /* @__PURE__ */ import_react97.default.createElement(Spacing, { gap: "3" }, /* @__PURE__ */ import_react97.default.createElement(RangeCalendar, null), variant === "datetime" && /* @__PURE__ */ import_react97.default.createElement(Box.Flex, { gap: "6" }, /* @__PURE__ */ import_react97.default.createElement("div", { className: tw("flex-1") }, /* @__PURE__ */ import_react97.default.createElement(RangeCalendarTimeField, { granularity, part: "start" })), /* @__PURE__ */ import_react97.default.createElement("div", { className: tw("flex-1") }, /* @__PURE__ */ import_react97.default.createElement(RangeCalendarTimeField, { granularity, part: "end" }))), errorMessage && /* @__PURE__ */ import_react97.default.createElement(import_react_aria_components13.Text, { slot: "errorMessage", className: errorMessageStyle() }, errorMessage))));
15091
+ };
15092
+ DateRangePickerCalendar.displayName = "DateRangePicker.Calendar";
15093
+ var DateRangePickerField = ({ clearSelectionEnabled = true, disabled = false }) => {
15094
+ return /* @__PURE__ */ import_react97.default.createElement(FieldGroup, { className: tw("min-w-[200px] w-auto gap-2") }, /* @__PURE__ */ import_react97.default.createElement(DateInput, { slot: "start", className: tw("px-2 py-1") }), /* @__PURE__ */ import_react97.default.createElement("span", { "aria-hidden": true, className: tw("text-muted") }, "-"), /* @__PURE__ */ import_react97.default.createElement(DateInput, { slot: "end", className: tw("flex-1 px-2 py-1") }), /* @__PURE__ */ import_react97.default.createElement(Box.Flex, { alignItems: "center", gap: "2" }, clearSelectionEnabled && !disabled && /* @__PURE__ */ import_react97.default.createElement(DateRangePickerClearButton, null), /* @__PURE__ */ import_react97.default.createElement(CalendarButton, null)));
15095
+ };
15096
+ DateRangePickerField.displayName = "DateRangePicker.Field";
15097
+ var createDateRangePickerBase = (variant) => {
15098
+ const dateRangePicker = ({
15099
+ disabled,
15100
+ valid,
15101
+ shouldCloseOnSelect,
15102
+ errorMessage,
15103
+ clearSelectionEnabled = true,
15104
+ children,
15105
+ ...props
15106
+ }) => {
15107
+ const content = children ?? /* @__PURE__ */ import_react97.default.createElement(import_react97.default.Fragment, null, /* @__PURE__ */ import_react97.default.createElement(DateRangePickerField, { clearSelectionEnabled, disabled }), /* @__PURE__ */ import_react97.default.createElement(DateRangePickerCalendar, { variant, granularity: props.granularity, errorMessage }));
15108
+ return /* @__PURE__ */ import_react97.default.createElement(DateRangePickerCalendarPropsContext.Provider, { value: { variant, granularity: props.granularity, errorMessage } }, /* @__PURE__ */ import_react97.default.createElement(DateRangePicker, { ...props, variant, isDisabled: disabled, isInvalid: valid === false }, content));
15109
+ };
15110
+ dateRangePicker.Calendar = DateRangePickerCalendar;
15111
+ dateRangePicker.Field = DateRangePickerField;
15112
+ dateRangePicker.displayName = variant === "date" ? "DateRangePickerBase" : "DateTimeRangePickerBase";
15113
+ return dateRangePicker;
15114
+ };
15115
+ var DateRangePickerBase = createDateRangePickerBase("date");
15116
+ var DateTimeRangePickerBase = createDateRangePickerBase("datetime");
15117
+ var createDateRangePicker = (variant) => {
15118
+ const dateRangePicker = (props) => {
15119
+ const { labelProps, fieldProps } = (0, import_label3.useLabel)({ "label": props.labelText, "aria-label": props["aria-label"] });
15120
+ const errorMessageId = (0, import_utils26.useId)();
15121
+ const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId, "errorMessage": props.helperText ?? props.error } : {};
15122
+ const { "data-testid": dataTestId, ...labelControlProps } = getLabelControlProps(props);
15123
+ const baseProps = (0, import_lodash_es34.omit)(props, Object.keys(labelControlProps));
15124
+ const allProps = { ...baseProps, ...fieldProps, ...errorProps, disabled: props.disabled, valid: props.valid };
15125
+ return /* @__PURE__ */ import_react97.default.createElement(LabelControl, { ...labelProps, ...labelControlProps, messageId: errorMessageId, className: "Aquarium-DatePicker" }, variant === "date" ? /* @__PURE__ */ import_react97.default.createElement(DateRangePickerBase, { ...allProps }) : /* @__PURE__ */ import_react97.default.createElement(DateTimeRangePickerBase, { ...allProps }));
15126
+ };
15127
+ dateRangePicker.Calendar = DateRangePickerCalendar;
15128
+ dateRangePicker.Field = DateRangePickerField;
15129
+ dateRangePicker.displayName = variant === "date" ? "DateRangePicker" : "DateTimeRangePicker";
15130
+ return dateRangePicker;
15131
+ };
15132
+ var DateRangePicker2 = createDateRangePicker("date");
15133
+ var DateTimeRangePicker = createDateRangePicker("datetime");
15134
+
15135
+ // src/molecules/Dialog/Dialog.tsx
15113
15136
  var import_react99 = __toESM(require("react"));
15114
- var import_tailwind_variants11 = require("tailwind-variants");
15115
- var modalStyles = (0, import_tailwind_variants11.tv)({
15137
+ var import_dialog = require("@react-aria/dialog");
15138
+ var import_overlays6 = require("@react-aria/overlays");
15139
+ var import_utils27 = require("@react-aria/utils");
15140
+ var import_overlays7 = require("@react-stately/overlays");
15141
+ var import_lodash_es35 = require("lodash-es");
15142
+
15143
+ // src/atoms/Modal/Modal.tsx
15144
+ var import_react98 = __toESM(require("react"));
15145
+ var import_tailwind_variants13 = require("tailwind-variants");
15146
+ var modalStyles = (0, import_tailwind_variants13.tv)({
15116
15147
  slots: {
15117
15148
  overlay: "inset-0 overflow-y-auto z-modal fixed",
15118
15149
  backdrop: "-z-10 fixed min-w-full min-h-full bg-body-intense opacity-70",
@@ -15215,55 +15246,55 @@ var Modal = ({
15215
15246
  ...rest
15216
15247
  }) => {
15217
15248
  const { overlay } = modalStyles({ kind });
15218
- return open ? /* @__PURE__ */ import_react99.default.createElement("div", { ...rest, className: overlay({ className }) }, children) : null;
15249
+ return open ? /* @__PURE__ */ import_react98.default.createElement("div", { ...rest, className: overlay({ className }) }, children) : null;
15219
15250
  };
15220
15251
  Modal.BackDrop = ({ className, ...rest }) => {
15221
15252
  const { backdrop } = modalStyles();
15222
- return /* @__PURE__ */ import_react99.default.createElement("div", { ...rest, className: backdrop({ className }) });
15253
+ return /* @__PURE__ */ import_react98.default.createElement("div", { ...rest, className: backdrop({ className }) });
15223
15254
  };
15224
- Modal.Dialog = import_react99.default.forwardRef(
15255
+ Modal.Dialog = import_react98.default.forwardRef(
15225
15256
  ({ kind = "dialog", children, className, size = "md", ...rest }, ref) => {
15226
15257
  const { dialog } = modalStyles({ kind, size });
15227
- return /* @__PURE__ */ import_react99.default.createElement("div", { ref, "aria-modal": "true", ...rest, className: dialog({ className }) }, children);
15258
+ return /* @__PURE__ */ import_react98.default.createElement("div", { ref, "aria-modal": "true", ...rest, className: dialog({ className }) }, children);
15228
15259
  }
15229
15260
  );
15230
15261
  Modal.Header = ({ kind = "dialog", size = "md", children, className, ...rest }) => {
15231
15262
  const { header } = modalStyles({ kind, size });
15232
- return /* @__PURE__ */ import_react99.default.createElement("div", { ...rest, className: header({ className }) }, children);
15263
+ return /* @__PURE__ */ import_react98.default.createElement("div", { ...rest, className: header({ className }) }, children);
15233
15264
  };
15234
15265
  Modal.HeaderImage = ({ backgroundImage, className, ...rest }) => {
15235
15266
  const { headerImage } = modalStyles({ backgroundImage: Boolean(backgroundImage) });
15236
- return backgroundImage ? /* @__PURE__ */ import_react99.default.createElement("img", { "aria-hidden": true, src: backgroundImage, ...rest, className: headerImage({ className }) }) : /* @__PURE__ */ import_react99.default.createElement("div", { className: headerImage({ className }) });
15267
+ return backgroundImage ? /* @__PURE__ */ import_react98.default.createElement("img", { "aria-hidden": true, src: backgroundImage, ...rest, className: headerImage({ className }) }) : /* @__PURE__ */ import_react98.default.createElement("div", { className: headerImage({ className }) });
15237
15268
  };
15238
15269
  Modal.CloseButtonContainer = ({ className, ...rest }) => {
15239
15270
  const { closeButtonContainer } = modalStyles();
15240
- return /* @__PURE__ */ import_react99.default.createElement("div", { ...rest, className: closeButtonContainer({ className }) });
15271
+ return /* @__PURE__ */ import_react98.default.createElement("div", { ...rest, className: closeButtonContainer({ className }) });
15241
15272
  };
15242
15273
  Modal.Title = ({ kind = "dialog", children, className, ...rest }) => {
15243
15274
  const { title } = modalStyles({ kind });
15244
- return /* @__PURE__ */ import_react99.default.createElement(Typography, { htmlTag: "h2", variant: "subheading", color: "intense", className: title({ className }), ...rest }, children);
15275
+ return /* @__PURE__ */ import_react98.default.createElement(Typography, { htmlTag: "h2", variant: "subheading", color: "intense", className: title({ className }), ...rest }, children);
15245
15276
  };
15246
- Modal.Subtitle = ({ children, ...rest }) => /* @__PURE__ */ import_react99.default.createElement(Typography, { variant: "small", color: "default", ...rest }, children);
15277
+ Modal.Subtitle = ({ children, ...rest }) => /* @__PURE__ */ import_react98.default.createElement(Typography, { variant: "small", color: "default", ...rest }, children);
15247
15278
  Modal.TitleContainer = ({ children, className, ...rest }) => {
15248
15279
  const { titleContainer } = modalStyles();
15249
- return /* @__PURE__ */ import_react99.default.createElement("div", { ...rest, className: titleContainer({ className }) }, children);
15280
+ return /* @__PURE__ */ import_react98.default.createElement("div", { ...rest, className: titleContainer({ className }) }, children);
15250
15281
  };
15251
15282
  Modal.Body = ({ children, className, noFooter = false, maxHeight, style, ...rest }) => {
15252
15283
  const { body } = modalStyles();
15253
- return /* @__PURE__ */ import_react99.default.createElement("div", { ...rest, className: body({ noFooter, className }), style: { maxHeight, ...style } }, children);
15284
+ return /* @__PURE__ */ import_react98.default.createElement("div", { ...rest, className: body({ noFooter, className }), style: { maxHeight, ...style } }, children);
15254
15285
  };
15255
15286
  Modal.Footer = ({ children, className, ...rest }) => {
15256
15287
  const { footer } = modalStyles();
15257
- return /* @__PURE__ */ import_react99.default.createElement("div", { ...rest, className: footer({ className }) }, children);
15288
+ return /* @__PURE__ */ import_react98.default.createElement("div", { ...rest, className: footer({ className }) }, children);
15258
15289
  };
15259
15290
  Modal.Actions = ({ children, className, ...rest }) => {
15260
15291
  const { actions } = modalStyles();
15261
- return /* @__PURE__ */ import_react99.default.createElement("div", { ...rest, className: actions({ className }) }, children);
15292
+ return /* @__PURE__ */ import_react98.default.createElement("div", { ...rest, className: actions({ className }) }, children);
15262
15293
  };
15263
15294
 
15264
15295
  // src/molecules/Dialog/Dialog.tsx
15265
- var Dialog3 = (props) => {
15266
- const ref = import_react100.default.useRef(null);
15296
+ var Dialog2 = (props) => {
15297
+ const ref = import_react99.default.useRef(null);
15267
15298
  const { open, onClose } = props;
15268
15299
  const state = (0, import_overlays7.useOverlayTriggerState)({ isOpen: open, onOpenChange: (isOpen) => !isOpen && onClose?.() });
15269
15300
  const { modalProps, underlayProps } = (0, import_overlays6.useModalOverlay)(
@@ -15274,7 +15305,7 @@ var Dialog3 = (props) => {
15274
15305
  if (!state.isOpen) {
15275
15306
  return null;
15276
15307
  }
15277
- return /* @__PURE__ */ import_react100.default.createElement(import_overlays6.Overlay, null, /* @__PURE__ */ import_react100.default.createElement(Modal, { className: "Aquarium-Dialog", open: true }, /* @__PURE__ */ import_react100.default.createElement(Modal.BackDrop, { ...underlayProps }), /* @__PURE__ */ import_react100.default.createElement(Modal.Dialog, { ref, size: "sm", ...modalProps }, /* @__PURE__ */ import_react100.default.createElement(DialogWrapper, { ...props }))));
15308
+ return /* @__PURE__ */ import_react99.default.createElement(import_overlays6.Overlay, null, /* @__PURE__ */ import_react99.default.createElement(Modal, { className: "Aquarium-Dialog", open: true }, /* @__PURE__ */ import_react99.default.createElement(Modal.BackDrop, { ...underlayProps }), /* @__PURE__ */ import_react99.default.createElement(Modal.Dialog, { ref, size: "sm", ...modalProps }, /* @__PURE__ */ import_react99.default.createElement(DialogWrapper, { ...props }))));
15278
15309
  };
15279
15310
  var DialogWrapper = ({
15280
15311
  title,
@@ -15283,7 +15314,7 @@ var DialogWrapper = ({
15283
15314
  primaryAction,
15284
15315
  secondaryAction
15285
15316
  }) => {
15286
- const ref = import_react100.default.useRef(null);
15317
+ const ref = import_react99.default.useRef(null);
15287
15318
  const labelledBy = (0, import_utils27.useId)();
15288
15319
  const describedBy = (0, import_utils27.useId)();
15289
15320
  const { dialogProps } = (0, import_dialog.useDialog)(
@@ -15294,35 +15325,35 @@ var DialogWrapper = ({
15294
15325
  },
15295
15326
  ref
15296
15327
  );
15297
- return /* @__PURE__ */ import_react100.default.createElement("div", { ref, ...dialogProps, className: tw("outline-none") }, /* @__PURE__ */ import_react100.default.createElement(Modal.Header, { className: tw("icon-stroke-2") }, /* @__PURE__ */ import_react100.default.createElement(Icon, { icon: DIALOG_ICONS_AND_COLORS[type].icon, color: DIALOG_ICONS_AND_COLORS[type].color, fontSize: 20 }), /* @__PURE__ */ import_react100.default.createElement(Modal.Title, { id: labelledBy, variant: "large", color: DIALOG_ICONS_AND_COLORS[type].color }, title)), /* @__PURE__ */ import_react100.default.createElement(Modal.Body, { id: describedBy }, /* @__PURE__ */ import_react100.default.createElement(Typography2.Default, null, children)), /* @__PURE__ */ import_react100.default.createElement(Modal.Footer, null, /* @__PURE__ */ import_react100.default.createElement(Modal.Actions, null, secondaryAction && /* @__PURE__ */ import_react100.default.createElement(Button2.Ghost, { key: secondaryAction.text, ...(0, import_lodash_es35.omit)(secondaryAction, "text") }, secondaryAction.text), /* @__PURE__ */ import_react100.default.createElement(Button2.Secondary, { key: primaryAction.text, ...(0, import_lodash_es35.omit)(primaryAction, "text") }, primaryAction.text))));
15328
+ return /* @__PURE__ */ import_react99.default.createElement("div", { ref, ...dialogProps, className: tw("outline-none") }, /* @__PURE__ */ import_react99.default.createElement(Modal.Header, { className: tw("icon-stroke-2") }, /* @__PURE__ */ import_react99.default.createElement(Icon, { icon: DIALOG_ICONS_AND_COLORS[type].icon, color: DIALOG_ICONS_AND_COLORS[type].color, fontSize: 20 }), /* @__PURE__ */ import_react99.default.createElement(Modal.Title, { id: labelledBy, variant: "large", color: DIALOG_ICONS_AND_COLORS[type].color }, title)), /* @__PURE__ */ import_react99.default.createElement(Modal.Body, { id: describedBy }, /* @__PURE__ */ import_react99.default.createElement(Typography2.Default, null, children)), /* @__PURE__ */ import_react99.default.createElement(Modal.Footer, null, /* @__PURE__ */ import_react99.default.createElement(Modal.Actions, null, secondaryAction && /* @__PURE__ */ import_react99.default.createElement(Button2.Ghost, { key: secondaryAction.text, ...(0, import_lodash_es35.omit)(secondaryAction, "text") }, secondaryAction.text), /* @__PURE__ */ import_react99.default.createElement(Button2.Secondary, { key: primaryAction.text, ...(0, import_lodash_es35.omit)(primaryAction, "text") }, primaryAction.text))));
15298
15329
  };
15299
15330
 
15300
15331
  // src/molecules/Drawer/Drawer.tsx
15301
- var import_react103 = __toESM(require("react"));
15302
- var import_react_aria_components17 = require("react-aria-components");
15332
+ var import_react102 = __toESM(require("react"));
15333
+ var import_react_aria_components15 = require("react-aria-components");
15303
15334
  var import_web5 = require("@react-spring/web");
15304
15335
  var import_lodash_es37 = require("lodash-es");
15305
15336
 
15306
15337
  // src/molecules/Modal/ModalTitle.tsx
15307
- var import_react101 = __toESM(require("react"));
15308
- var import_react_aria_components16 = require("react-aria-components");
15338
+ var import_react100 = __toESM(require("react"));
15339
+ var import_react_aria_components14 = require("react-aria-components");
15309
15340
  var ModalTitle = ({ children, ...props }) => {
15310
- const [ctxProps] = (0, import_react_aria_components16.useContextProps)({ ...props, slot: "title" }, null, import_react_aria_components16.HeadingContext);
15311
- return /* @__PURE__ */ import_react101.default.createElement(Modal.Title, { id: ctxProps.id, ...props }, children);
15341
+ const [ctxProps] = (0, import_react_aria_components14.useContextProps)({ ...props, slot: "title" }, null, import_react_aria_components14.HeadingContext);
15342
+ return /* @__PURE__ */ import_react100.default.createElement(Modal.Title, { id: ctxProps.id, ...props }, children);
15312
15343
  };
15313
15344
 
15314
15345
  // src/molecules/Tabs/Tabs.tsx
15315
- var import_react102 = __toESM(require("react"));
15346
+ var import_react101 = __toESM(require("react"));
15316
15347
  var import_lodash_es36 = require("lodash-es");
15317
15348
  var import_chevronLeft5 = __toESM(require_chevronLeft());
15318
15349
  var import_chevronRight5 = __toESM(require_chevronRight());
15319
15350
  var import_warningSign4 = __toESM(require_warningSign());
15320
15351
  var isTabComponent = (c) => {
15321
- return import_react102.default.isValidElement(c) && (c.type === Tab || c.type === ModalTab);
15352
+ return import_react101.default.isValidElement(c) && (c.type === Tab || c.type === ModalTab);
15322
15353
  };
15323
- var Tab = import_react102.default.forwardRef(
15354
+ var Tab = import_react101.default.forwardRef(
15324
15355
  ({ className, id, title, children }, ref) => {
15325
- return /* @__PURE__ */ import_react102.default.createElement(
15356
+ return /* @__PURE__ */ import_react101.default.createElement(
15326
15357
  "div",
15327
15358
  {
15328
15359
  ref,
@@ -15336,10 +15367,10 @@ var Tab = import_react102.default.forwardRef(
15336
15367
  );
15337
15368
  }
15338
15369
  );
15339
- var TabContainer = ({ className, children, ...rest }) => /* @__PURE__ */ import_react102.default.createElement("div", { ...rest, className: classNames("py-6 z-0", className) }, children);
15370
+ var TabContainer = ({ className, children, ...rest }) => /* @__PURE__ */ import_react101.default.createElement("div", { ...rest, className: classNames("py-6 z-0", className) }, children);
15340
15371
  var ModalTab = Tab;
15341
15372
  var asTabItem = (Component, displayName, { defaultUnderlineHidden } = {}) => {
15342
- const Tab2 = import_react102.default.forwardRef(
15373
+ const Tab2 = import_react101.default.forwardRef(
15343
15374
  ({
15344
15375
  id,
15345
15376
  value,
@@ -15358,11 +15389,11 @@ var asTabItem = (Component, displayName, { defaultUnderlineHidden } = {}) => {
15358
15389
  const _id = id ?? (0, import_lodash_es36.kebabCase)(title);
15359
15390
  let statusIcon = void 0;
15360
15391
  if (status === "warning") {
15361
- statusIcon = /* @__PURE__ */ import_react102.default.createElement(InlineIcon, { icon: import_warningSign4.default, color: selected ? void 0 : "warning-default" });
15392
+ statusIcon = /* @__PURE__ */ import_react101.default.createElement(InlineIcon, { icon: import_warningSign4.default, color: selected ? void 0 : "warning-default" });
15362
15393
  } else if (status === "error") {
15363
- statusIcon = /* @__PURE__ */ import_react102.default.createElement(InlineIcon, { icon: import_warningSign4.default, color: selected ? void 0 : "danger-default" });
15394
+ statusIcon = /* @__PURE__ */ import_react101.default.createElement(InlineIcon, { icon: import_warningSign4.default, color: selected ? void 0 : "danger-default" });
15364
15395
  }
15365
- const tab = /* @__PURE__ */ import_react102.default.createElement(
15396
+ const tab = /* @__PURE__ */ import_react101.default.createElement(
15366
15397
  Component,
15367
15398
  {
15368
15399
  ref,
@@ -15383,7 +15414,7 @@ var asTabItem = (Component, displayName, { defaultUnderlineHidden } = {}) => {
15383
15414
  tabIndex: disabled ? void 0 : 0,
15384
15415
  ...rest
15385
15416
  },
15386
- /* @__PURE__ */ import_react102.default.createElement(
15417
+ /* @__PURE__ */ import_react101.default.createElement(
15387
15418
  Typography2,
15388
15419
  {
15389
15420
  htmlTag: "div",
@@ -15391,8 +15422,8 @@ var asTabItem = (Component, displayName, { defaultUnderlineHidden } = {}) => {
15391
15422
  color: selected ? "primary-default" : disabled ? "default" : "current",
15392
15423
  className: tw("inline-flex items-center gap-3")
15393
15424
  },
15394
- showNotification ? /* @__PURE__ */ import_react102.default.createElement(Badge.Notification, { right: "-4px", top: "3px" }, /* @__PURE__ */ import_react102.default.createElement("span", { className: tw("whitespace-nowrap") }, title)) : /* @__PURE__ */ import_react102.default.createElement("span", { className: tw("whitespace-nowrap") }, title),
15395
- (0, import_lodash_es36.isNumber)(badge) && /* @__PURE__ */ import_react102.default.createElement(
15425
+ showNotification ? /* @__PURE__ */ import_react101.default.createElement(Badge.Notification, { right: "-4px", top: "3px" }, /* @__PURE__ */ import_react101.default.createElement("span", { className: tw("whitespace-nowrap") }, title)) : /* @__PURE__ */ import_react101.default.createElement("span", { className: tw("whitespace-nowrap") }, title),
15426
+ (0, import_lodash_es36.isNumber)(badge) && /* @__PURE__ */ import_react101.default.createElement(
15396
15427
  Typography2,
15397
15428
  {
15398
15429
  htmlTag: "span",
@@ -15400,7 +15431,7 @@ var asTabItem = (Component, displayName, { defaultUnderlineHidden } = {}) => {
15400
15431
  color: selected ? "primary-intense" : "grey-5",
15401
15432
  className: "leading-none"
15402
15433
  },
15403
- /* @__PURE__ */ import_react102.default.createElement(
15434
+ /* @__PURE__ */ import_react101.default.createElement(
15404
15435
  TabBadge,
15405
15436
  {
15406
15437
  kind: "filled",
@@ -15412,7 +15443,7 @@ var asTabItem = (Component, displayName, { defaultUnderlineHidden } = {}) => {
15412
15443
  statusIcon
15413
15444
  )
15414
15445
  );
15415
- return tooltip ? /* @__PURE__ */ import_react102.default.createElement(Tooltip, { content: tooltip }, tab) : tab;
15446
+ return tooltip ? /* @__PURE__ */ import_react101.default.createElement(Tooltip, { content: tooltip }, tab) : tab;
15416
15447
  }
15417
15448
  );
15418
15449
  Tab2.displayName = displayName;
@@ -15423,19 +15454,19 @@ var CARET_OFFSET = 24;
15423
15454
  var createTabsComponent = (TabComponent, TabItemComponent, displayName, renderChildren) => {
15424
15455
  const Tabs2 = (props) => {
15425
15456
  const { className, value, defaultValue, onChange, children } = props;
15426
- const childArr = import_react102.default.Children.toArray(children);
15457
+ const childArr = import_react101.default.Children.toArray(children);
15427
15458
  const firstTab = childArr[0];
15428
15459
  const firstTabValue = isTabComponent(firstTab) ? firstTab.props.value : -1;
15429
- const [selected, setSelected] = (0, import_react102.useState)(value ?? defaultValue ?? firstTabValue ?? 0);
15430
- const [leftCaret, showLeftCaret] = (0, import_react102.useState)(false);
15431
- const [rightCaret, showRightCaret] = (0, import_react102.useState)(false);
15432
- const parentRef = (0, import_react102.useRef)(null);
15433
- const containerRef = (0, import_react102.useRef)(null);
15434
- const tabsRef = (0, import_react102.useRef)(null);
15460
+ const [selected, setSelected] = (0, import_react101.useState)(value ?? defaultValue ?? firstTabValue ?? 0);
15461
+ const [leftCaret, showLeftCaret] = (0, import_react101.useState)(false);
15462
+ const [rightCaret, showRightCaret] = (0, import_react101.useState)(false);
15463
+ const parentRef = (0, import_react101.useRef)(null);
15464
+ const containerRef = (0, import_react101.useRef)(null);
15465
+ const tabsRef = (0, import_react101.useRef)(null);
15435
15466
  const revealSelectedTab = ({ smooth }) => {
15436
15467
  const container = containerRef.current;
15437
15468
  const tabs = tabsRef.current;
15438
- const values = import_react102.default.Children.map(
15469
+ const values = import_react101.default.Children.map(
15439
15470
  children,
15440
15471
  (tab, i) => tab?.props.value ?? i
15441
15472
  );
@@ -15466,15 +15497,15 @@ var createTabsComponent = (TabComponent, TabItemComponent, displayName, renderCh
15466
15497
  showLeftCaret(hasLeftCaret);
15467
15498
  showRightCaret(hasRightCaret);
15468
15499
  };
15469
- (0, import_react102.useEffect)(() => {
15500
+ (0, import_react101.useEffect)(() => {
15470
15501
  if (value === void 0) {
15471
15502
  return;
15472
15503
  }
15473
15504
  updateCarets();
15474
15505
  setSelected(value);
15475
15506
  revealSelectedTab({ smooth: value !== selected });
15476
- }, [value, import_react102.default.Children.count(children)]);
15477
- (0, import_react102.useLayoutEffect)(() => {
15507
+ }, [value, import_react101.default.Children.count(children)]);
15508
+ (0, import_react101.useLayoutEffect)(() => {
15478
15509
  updateCarets();
15479
15510
  containerRef.current?.addEventListener("scroll", updateCarets);
15480
15511
  window.addEventListener("resize", updateCarets);
@@ -15535,12 +15566,12 @@ var createTabsComponent = (TabComponent, TabItemComponent, displayName, renderCh
15535
15566
  const handleSelected = (key) => {
15536
15567
  (onChange ?? setSelected)(key);
15537
15568
  };
15538
- import_react102.default.Children.forEach(children, (c) => {
15569
+ import_react101.default.Children.forEach(children, (c) => {
15539
15570
  if (c && !isTabComponent(c)) {
15540
15571
  throw new Error("<Tabs> can only have <Tabs.Tab> components as children");
15541
15572
  }
15542
15573
  });
15543
- return /* @__PURE__ */ import_react102.default.createElement("div", { ref: parentRef, className: classNames("Aquarium-Tabs", tw("h-full"), className) }, /* @__PURE__ */ import_react102.default.createElement("div", { className: tw("relative flex items-center border-b-2 border-default") }, /* @__PURE__ */ import_react102.default.createElement("div", { ref: containerRef, className: tw("overflow-y-auto scrollbar-hide mb-[-2px] h-auto") }, /* @__PURE__ */ import_react102.default.createElement(
15574
+ return /* @__PURE__ */ import_react101.default.createElement("div", { ref: parentRef, className: classNames("Aquarium-Tabs", tw("h-full"), className) }, /* @__PURE__ */ import_react101.default.createElement("div", { className: tw("relative flex items-center border-b-2 border-default") }, /* @__PURE__ */ import_react101.default.createElement("div", { ref: containerRef, className: tw("overflow-y-auto scrollbar-hide mb-[-2px] h-auto") }, /* @__PURE__ */ import_react101.default.createElement(
15544
15575
  "div",
15545
15576
  {
15546
15577
  ref: tabsRef,
@@ -15548,9 +15579,9 @@ var createTabsComponent = (TabComponent, TabItemComponent, displayName, renderCh
15548
15579
  "aria-label": "tabs",
15549
15580
  className: tw("inline-flex items-center cursor-pointer font-normal h-full")
15550
15581
  },
15551
- import_react102.default.Children.map(
15582
+ import_react101.default.Children.map(
15552
15583
  children,
15553
- (tab, index) => tab ? /* @__PURE__ */ import_react102.default.createElement(
15584
+ (tab, index) => tab ? /* @__PURE__ */ import_react101.default.createElement(
15554
15585
  TabItemComponent,
15555
15586
  {
15556
15587
  key: tab.props.value,
@@ -15562,26 +15593,26 @@ var createTabsComponent = (TabComponent, TabItemComponent, displayName, renderCh
15562
15593
  }
15563
15594
  ) : void 0
15564
15595
  )
15565
- )), leftCaret && /* @__PURE__ */ import_react102.default.createElement("div", { className: tw("absolute left-0 bg-gradient-to-r from-white via-white z-20 py-3 pr-4") }, /* @__PURE__ */ import_react102.default.createElement(
15596
+ )), leftCaret && /* @__PURE__ */ import_react101.default.createElement("div", { className: tw("absolute left-0 bg-gradient-to-r from-white via-white z-20 py-3 pr-4") }, /* @__PURE__ */ import_react101.default.createElement(
15566
15597
  "div",
15567
15598
  {
15568
15599
  onClick: () => handleScrollToNext("left"),
15569
15600
  className: tw("hover:bg-muted p-2 leading-none cursor-pointer")
15570
15601
  },
15571
- /* @__PURE__ */ import_react102.default.createElement(InlineIcon, { icon: import_chevronLeft5.default })
15572
- )), rightCaret && /* @__PURE__ */ import_react102.default.createElement(
15602
+ /* @__PURE__ */ import_react101.default.createElement(InlineIcon, { icon: import_chevronLeft5.default })
15603
+ )), rightCaret && /* @__PURE__ */ import_react101.default.createElement(
15573
15604
  "div",
15574
15605
  {
15575
15606
  onClick: () => handleScrollToNext("right"),
15576
15607
  className: tw("absolute right-0 bg-gradient-to-l from-white via-white z-20 py-3 pl-4")
15577
15608
  },
15578
- /* @__PURE__ */ import_react102.default.createElement(
15609
+ /* @__PURE__ */ import_react101.default.createElement(
15579
15610
  "div",
15580
15611
  {
15581
15612
  onClick: () => handleScrollToNext("right"),
15582
15613
  className: tw("hover:bg-muted p-2 leading-none cursor-pointer")
15583
15614
  },
15584
- /* @__PURE__ */ import_react102.default.createElement(InlineIcon, { icon: import_chevronRight5.default })
15615
+ /* @__PURE__ */ import_react101.default.createElement(InlineIcon, { icon: import_chevronRight5.default })
15585
15616
  )
15586
15617
  )), renderChildren(children, selected, props));
15587
15618
  };
@@ -15589,7 +15620,7 @@ var createTabsComponent = (TabComponent, TabItemComponent, displayName, renderCh
15589
15620
  Tabs2.Tab = TabComponent;
15590
15621
  return Tabs2;
15591
15622
  };
15592
- var Tabs = createTabsComponent(Tab, TabItem, "Tabs", (children, selected) => /* @__PURE__ */ import_react102.default.createElement(TabContainer, null, children.find(
15623
+ var Tabs = createTabsComponent(Tab, TabItem, "Tabs", (children, selected) => /* @__PURE__ */ import_react101.default.createElement(TabContainer, null, children.find(
15593
15624
  (node, index) => node?.props.value === selected || index === selected
15594
15625
  )));
15595
15626
 
@@ -15617,7 +15648,7 @@ var Drawer = ({
15617
15648
  secondaryActions,
15618
15649
  closeOnEsc = true
15619
15650
  }) => {
15620
- const [hidden, setHidden] = import_react103.default.useState(!open);
15651
+ const [hidden, setHidden] = import_react102.default.useState(!open);
15621
15652
  if (open && hidden) {
15622
15653
  setHidden(!open);
15623
15654
  }
@@ -15640,11 +15671,11 @@ var Drawer = ({
15640
15671
  }
15641
15672
  const dialogSize = size === "lg" ? "full" : size;
15642
15673
  const styles = modalStyles({ kind: "drawer", size: dialogSize });
15643
- const childElements = import_react103.default.Children.toArray(children).filter(import_react103.default.isValidElement);
15674
+ const childElements = import_react102.default.Children.toArray(children).filter(import_react102.default.isValidElement);
15644
15675
  const onlyChild = childElements.length === 1 ? childElements[0] : null;
15645
15676
  const hasTabs = isComponentType(onlyChild, Tabs);
15646
- return /* @__PURE__ */ import_react103.default.createElement(
15647
- import_react_aria_components17.ModalOverlay,
15677
+ return /* @__PURE__ */ import_react102.default.createElement(
15678
+ import_react_aria_components15.ModalOverlay,
15648
15679
  {
15649
15680
  isOpen: !hidden,
15650
15681
  onOpenChange: (isOpen) => !isOpen && onClose(),
@@ -15652,60 +15683,60 @@ var Drawer = ({
15652
15683
  isKeyboardDismissDisabled: !closeOnEsc,
15653
15684
  className: styles.overlay({ className: "Aquarium-Drawer" })
15654
15685
  },
15655
- /* @__PURE__ */ import_react103.default.createElement(AnimatedBackDrop, { style: { opacity } }),
15656
- /* @__PURE__ */ import_react103.default.createElement(import_react_aria_components17.Modal, null, /* @__PURE__ */ import_react103.default.createElement(AnimatedDialog, { kind: "drawer", "aria-modal": "true", size: dialogSize, style: { position: "fixed", right } }, /* @__PURE__ */ import_react103.default.createElement(import_react_aria_components17.Dialog, { className: "flex flex-col grow overflow-y-auto" }, ({ close }) => /* @__PURE__ */ import_react103.default.createElement(import_react103.default.Fragment, null, /* @__PURE__ */ import_react103.default.createElement(Modal.CloseButtonContainer, null, /* @__PURE__ */ import_react103.default.createElement(Button2.Icon, { "aria-label": "Close", icon: import_cross6.default, onClick: close })), /* @__PURE__ */ import_react103.default.createElement(Modal.Header, { className: tw({ "pb-3": hasTabs }) }, /* @__PURE__ */ import_react103.default.createElement(ModalTitle, { kind: "drawer" }, title)), hasTabs ? /* @__PURE__ */ import_react103.default.createElement(
15686
+ /* @__PURE__ */ import_react102.default.createElement(AnimatedBackDrop, { style: { opacity } }),
15687
+ /* @__PURE__ */ import_react102.default.createElement(import_react_aria_components15.Modal, null, /* @__PURE__ */ import_react102.default.createElement(AnimatedDialog, { kind: "drawer", "aria-modal": "true", size: dialogSize, style: { position: "fixed", right } }, /* @__PURE__ */ import_react102.default.createElement(import_react_aria_components15.Dialog, { className: "flex flex-col grow overflow-y-auto" }, ({ close }) => /* @__PURE__ */ import_react102.default.createElement(import_react102.default.Fragment, null, /* @__PURE__ */ import_react102.default.createElement(Modal.CloseButtonContainer, null, /* @__PURE__ */ import_react102.default.createElement(Button2.Icon, { "aria-label": "Close", icon: import_cross6.default, onClick: close })), /* @__PURE__ */ import_react102.default.createElement(Modal.Header, { className: tw({ "pb-3": hasTabs }) }, /* @__PURE__ */ import_react102.default.createElement(ModalTitle, { kind: "drawer" }, title)), hasTabs ? /* @__PURE__ */ import_react102.default.createElement(
15657
15688
  DrawerTabs,
15658
15689
  {
15659
15690
  ...onlyChild.props,
15660
15691
  className: tw("[&>div:first-child]:px-5 grow flex flex-col overflow-y-auto")
15661
15692
  }
15662
- ) : /* @__PURE__ */ import_react103.default.createElement(Modal.Body, { tabIndex: 0, noFooter: !(secondaryActions ?? primaryAction) }, children), (secondaryActions ?? primaryAction) && /* @__PURE__ */ import_react103.default.createElement(Modal.Footer, null, /* @__PURE__ */ import_react103.default.createElement(Modal.Actions, { className: size === "sm" ? tw("flex-col") : void 0 }, size !== "sm" && menu && /* @__PURE__ */ import_react103.default.createElement(Box.Flex, { alignItems: "center" }, /* @__PURE__ */ import_react103.default.createElement(DropdownMenu2, { onAction: (action) => onAction(action), onOpenChange: onMenuOpenChange }, /* @__PURE__ */ import_react103.default.createElement(DropdownMenu2.Trigger, null, /* @__PURE__ */ import_react103.default.createElement(Button2.Icon, { "aria-label": menuAriaLabel ?? "Context menu", icon: import_more4.default })), menu)), secondaryActions && (0, import_lodash_es37.castArray)(secondaryActions).filter(Boolean).map(({ text, ...action }) => /* @__PURE__ */ import_react103.default.createElement(Button2.Secondary, { key: text, ...action }, text)), primaryAction && /* @__PURE__ */ import_react103.default.createElement(Button2.Primary, { key: primaryAction.text, ...(0, import_lodash_es37.omit)(primaryAction, "text") }, primaryAction.text)))))))
15693
+ ) : /* @__PURE__ */ import_react102.default.createElement(Modal.Body, { tabIndex: 0, noFooter: !(secondaryActions ?? primaryAction) }, children), (secondaryActions ?? primaryAction) && /* @__PURE__ */ import_react102.default.createElement(Modal.Footer, null, /* @__PURE__ */ import_react102.default.createElement(Modal.Actions, { className: size === "sm" ? tw("flex-col") : void 0 }, size !== "sm" && menu && /* @__PURE__ */ import_react102.default.createElement(Box.Flex, { alignItems: "center" }, /* @__PURE__ */ import_react102.default.createElement(DropdownMenu2, { onAction: (action) => onAction(action), onOpenChange: onMenuOpenChange }, /* @__PURE__ */ import_react102.default.createElement(DropdownMenu2.Trigger, null, /* @__PURE__ */ import_react102.default.createElement(Button2.Icon, { "aria-label": menuAriaLabel ?? "Context menu", icon: import_more4.default })), menu)), secondaryActions && (0, import_lodash_es37.castArray)(secondaryActions).filter(Boolean).map(({ text, ...action }) => /* @__PURE__ */ import_react102.default.createElement(Button2.Secondary, { key: text, ...action }, text)), primaryAction && /* @__PURE__ */ import_react102.default.createElement(Button2.Primary, { key: primaryAction.text, ...(0, import_lodash_es37.omit)(primaryAction, "text") }, primaryAction.text)))))))
15663
15694
  );
15664
15695
  };
15665
- var DrawerTabs = createTabsComponent(ModalTab, TabItem, "DrawerTabs", (children, selected) => /* @__PURE__ */ import_react103.default.createElement(Modal.Body, { className: tw("h-full") }, /* @__PURE__ */ import_react103.default.createElement(TabContainer, null, children.find(
15696
+ var DrawerTabs = createTabsComponent(ModalTab, TabItem, "DrawerTabs", (children, selected) => /* @__PURE__ */ import_react102.default.createElement(Modal.Body, { className: tw("h-full") }, /* @__PURE__ */ import_react102.default.createElement(TabContainer, null, children.find(
15666
15697
  (node, index) => node?.props.value === selected || index === selected
15667
15698
  ))));
15668
15699
 
15669
15700
  // src/molecules/Dropdown/Dropdown.tsx
15670
- var import_react105 = __toESM(require("react"));
15671
- var import_react_aria_components19 = require("react-aria-components");
15701
+ var import_react104 = __toESM(require("react"));
15702
+ var import_react_aria_components17 = require("react-aria-components");
15672
15703
 
15673
15704
  // src/molecules/Popover/Popover.tsx
15674
- var import_react104 = __toESM(require("react"));
15675
- var import_react_aria_components18 = require("react-aria-components");
15705
+ var import_react103 = __toESM(require("react"));
15706
+ var import_react_aria_components16 = require("react-aria-components");
15676
15707
  var import_utils29 = require("@react-aria/utils");
15677
- var PopoverPropsContext = (0, import_react104.createContext)({});
15678
- var Popover3 = ({ children, onOpenChange: _onOpenChange, onClose, onOpen, ...props }) => {
15708
+ var PopoverPropsContext = (0, import_react103.createContext)({});
15709
+ var Popover2 = ({ children, onOpenChange: _onOpenChange, onClose, onOpen, ...props }) => {
15679
15710
  const onOpenChange = (isOpen) => {
15680
15711
  _onOpenChange?.(isOpen);
15681
15712
  isOpen ? onOpen?.() : onClose?.();
15682
15713
  };
15683
- return /* @__PURE__ */ import_react104.default.createElement(PopoverPropsContext.Provider, { value: props }, /* @__PURE__ */ import_react104.default.createElement(import_react_aria_components18.DialogTrigger, { ...props, onOpenChange }, children));
15714
+ return /* @__PURE__ */ import_react103.default.createElement(PopoverPropsContext.Provider, { value: props }, /* @__PURE__ */ import_react103.default.createElement(import_react_aria_components16.DialogTrigger, { ...props, onOpenChange }, children));
15684
15715
  };
15685
- Popover3.displayName = "Popover";
15716
+ Popover2.displayName = "Popover";
15686
15717
  var Trigger = ({ children }) => {
15687
- return /* @__PURE__ */ import_react104.default.createElement(Pressable, { "aria-haspopup": "true" }, children);
15718
+ return /* @__PURE__ */ import_react103.default.createElement(Pressable, { "aria-haspopup": "true" }, children);
15688
15719
  };
15689
15720
  Trigger.displayName = "Popover.Trigger";
15690
- Popover3.Trigger = Trigger;
15721
+ Popover2.Trigger = Trigger;
15691
15722
  var Panel = ({ className, children }) => {
15692
- const { offset = 0, onOpenChange, ...props } = import_react104.default.useContext(PopoverPropsContext);
15693
- return /* @__PURE__ */ import_react104.default.createElement(Popover, { ...props, className, offset }, /* @__PURE__ */ import_react104.default.createElement(Dialog2, null, children));
15723
+ const { offset = 0, onOpenChange, ...props } = import_react103.default.useContext(PopoverPropsContext);
15724
+ return /* @__PURE__ */ import_react103.default.createElement(Popover, { ...props, className, offset }, /* @__PURE__ */ import_react103.default.createElement(Dialog, null, children));
15694
15725
  };
15695
15726
  Panel.displayName = "Popover.Panel";
15696
- Popover3.Panel = Panel;
15727
+ Popover2.Panel = Panel;
15697
15728
  var CloseToggle = ({ children }) => {
15698
- const ctx = import_react104.default.useContext(import_react_aria_components18.OverlayTriggerStateContext);
15729
+ const ctx = import_react103.default.useContext(import_react_aria_components16.OverlayTriggerStateContext);
15699
15730
  const onClick = ctx?.close;
15700
- const child = import_react104.default.Children.only(children);
15701
- return import_react104.default.cloneElement(child, { ...(0, import_utils29.mergeProps)(child.props, { onClick }) });
15731
+ const child = import_react103.default.Children.only(children);
15732
+ return import_react103.default.cloneElement(child, { ...(0, import_utils29.mergeProps)(child.props, { onClick }) });
15702
15733
  };
15703
15734
  CloseToggle.displayName = "Popover.CloseToggle";
15704
- Popover3.CloseToggle = CloseToggle;
15735
+ Popover2.CloseToggle = CloseToggle;
15705
15736
 
15706
15737
  // src/molecules/Dropdown/Dropdown.tsx
15707
15738
  var Dropdown = ({ children, content, placement = "bottom-left" }) => {
15708
- return /* @__PURE__ */ import_react105.default.createElement(Popover3, { placement }, /* @__PURE__ */ import_react105.default.createElement(Popover3.Trigger, null, children), /* @__PURE__ */ import_react105.default.createElement(Popover3.Panel, { className: "Aquarium-Dropdown" }, content));
15739
+ return /* @__PURE__ */ import_react104.default.createElement(Popover2, { placement }, /* @__PURE__ */ import_react104.default.createElement(Popover2.Trigger, null, children), /* @__PURE__ */ import_react104.default.createElement(Popover2.Panel, { className: "Aquarium-Dropdown" }, content));
15709
15740
  };
15710
15741
  var DropdownMenu3 = ({
15711
15742
  title,
@@ -15714,13 +15745,13 @@ var DropdownMenu3 = ({
15714
15745
  triggerId,
15715
15746
  setClose = () => void 0
15716
15747
  }) => {
15717
- const menuRef = import_react105.default.useRef(null);
15718
- import_react105.default.useEffect(() => {
15748
+ const menuRef = import_react104.default.useRef(null);
15749
+ import_react104.default.useEffect(() => {
15719
15750
  const id = setTimeout(() => (menuRef.current?.children[0]).focus());
15720
15751
  return () => clearTimeout(id);
15721
15752
  }, [menuRef.current]);
15722
- return /* @__PURE__ */ import_react105.default.createElement("div", { style: { minWidth: "250px" }, className: tw("py-3 bg-popover-content") }, !!title && /* @__PURE__ */ import_react105.default.createElement("div", { className: tw("px-4 py-4 text-left text-intense typography-default-strong") }, title), /* @__PURE__ */ import_react105.default.createElement("ol", { role: "menu", ref: menuRef, id: contentId, "aria-labelledby": triggerId }, import_react105.default.Children.map(children, (child) => {
15723
- return import_react105.default.cloneElement(child, { setClose });
15753
+ return /* @__PURE__ */ import_react104.default.createElement("div", { style: { minWidth: "250px" }, className: tw("py-3 bg-popover-content") }, !!title && /* @__PURE__ */ import_react104.default.createElement("div", { className: tw("px-4 py-4 text-left text-intense typography-default-strong") }, title), /* @__PURE__ */ import_react104.default.createElement("ol", { role: "menu", ref: menuRef, id: contentId, "aria-labelledby": triggerId }, import_react104.default.Children.map(children, (child) => {
15754
+ return import_react104.default.cloneElement(child, { setClose });
15724
15755
  })));
15725
15756
  };
15726
15757
  var DropdownItem = ({
@@ -15733,7 +15764,7 @@ var DropdownItem = ({
15733
15764
  setClose = () => void 0,
15734
15765
  ...props
15735
15766
  }) => {
15736
- const ctx = import_react105.default.useContext(import_react_aria_components19.OverlayTriggerStateContext);
15767
+ const ctx = import_react104.default.useContext(import_react_aria_components17.OverlayTriggerStateContext);
15737
15768
  const handleSelect = () => {
15738
15769
  onSelect?.();
15739
15770
  ctx?.close();
@@ -15767,8 +15798,8 @@ var DropdownItem = ({
15767
15798
  handleSelect();
15768
15799
  }
15769
15800
  };
15770
- const itemContent = /* @__PURE__ */ import_react105.default.createElement("div", { className: tw("py-3 px-4") }, children);
15771
- return /* @__PURE__ */ import_react105.default.createElement(
15801
+ const itemContent = /* @__PURE__ */ import_react104.default.createElement("div", { className: tw("py-3 px-4") }, children);
15802
+ return /* @__PURE__ */ import_react104.default.createElement(
15772
15803
  "li",
15773
15804
  {
15774
15805
  role: "menuitem",
@@ -15785,14 +15816,14 @@ var DropdownItem = ({
15785
15816
  })
15786
15817
  )
15787
15818
  },
15788
- tooltip ? /* @__PURE__ */ import_react105.default.createElement(Tooltip, { content: tooltip, placement: tooltipPlacement, display: "block" }, /* @__PURE__ */ import_react105.default.createElement("div", { tabIndex: 0, className: tw("grow") }, itemContent)) : itemContent
15819
+ tooltip ? /* @__PURE__ */ import_react104.default.createElement(Tooltip, { content: tooltip, placement: tooltipPlacement, display: "block" }, /* @__PURE__ */ import_react104.default.createElement("div", { tabIndex: 0, className: tw("grow") }, itemContent)) : itemContent
15789
15820
  );
15790
15821
  };
15791
15822
  Dropdown.Menu = DropdownMenu3;
15792
15823
  Dropdown.Item = DropdownItem;
15793
15824
 
15794
15825
  // src/molecules/EmptyState/EmptyState.tsx
15795
- var import_react106 = __toESM(require("react"));
15826
+ var import_react105 = __toESM(require("react"));
15796
15827
  var EmptyStateLayout = /* @__PURE__ */ ((EmptyStateLayout2) => {
15797
15828
  EmptyStateLayout2["Vertical"] = "vertical";
15798
15829
  EmptyStateLayout2["Horizontal"] = "horizontal";
@@ -15830,7 +15861,7 @@ var EmptyState = ({
15830
15861
  fullHeight = isVerticalLayout(layout) ? true : false
15831
15862
  }) => {
15832
15863
  const template = layoutStyle(layout);
15833
- return /* @__PURE__ */ import_react106.default.createElement(
15864
+ return /* @__PURE__ */ import_react105.default.createElement(
15834
15865
  Box,
15835
15866
  {
15836
15867
  className: classNames(
@@ -15846,7 +15877,7 @@ var EmptyState = ({
15846
15877
  backgroundColor: "transparent",
15847
15878
  borderColor: "default"
15848
15879
  },
15849
- /* @__PURE__ */ import_react106.default.createElement(
15880
+ /* @__PURE__ */ import_react105.default.createElement(
15850
15881
  Box.Flex,
15851
15882
  {
15852
15883
  style: { gap: "56px" },
@@ -15855,19 +15886,144 @@ var EmptyState = ({
15855
15886
  alignItems: template.layout === "row" ? "center" : template.alignItems,
15856
15887
  height: fullHeight ? "full" : void 0
15857
15888
  },
15858
- Image2 && (typeof Image2 === "string" ? /* @__PURE__ */ import_react106.default.createElement(
15889
+ Image2 && (typeof Image2 === "string" ? /* @__PURE__ */ import_react105.default.createElement(
15859
15890
  "img",
15860
15891
  {
15861
15892
  src: Image2,
15862
15893
  alt: imageAlt,
15863
15894
  style: { width: imageWidth ? `${imageWidth}px` : void 0, height: "auto" }
15864
15895
  }
15865
- ) : /* @__PURE__ */ import_react106.default.createElement("div", { className: tw("animate-draw") }, /* @__PURE__ */ import_react106.default.createElement(Image2, null))),
15866
- /* @__PURE__ */ import_react106.default.createElement(Box.Flex, { flexDirection: "column", justifyContent: template.justifyContent, alignItems: template.alignItems }, /* @__PURE__ */ import_react106.default.createElement(Typography2.Heading, { htmlTag: "h2" }, title), children && /* @__PURE__ */ import_react106.default.createElement(Box, { marginTop: "5" }, /* @__PURE__ */ import_react106.default.createElement(Typography2.Default, null, children)), (secondaryAction ?? primaryAction) && /* @__PURE__ */ import_react106.default.createElement(Box.Flex, { marginTop: "7", gap: "4", justifyContent: "center", alignItems: "center", flexWrap: "wrap" }, primaryAction && renderAction({ kind: "primary", action: primaryAction }), secondaryAction && renderAction({ kind: "secondary", action: secondaryAction })), footer && /* @__PURE__ */ import_react106.default.createElement(Box, { marginTop: "5" }, /* @__PURE__ */ import_react106.default.createElement(Typography2.Small, { color: "default" }, footer)))
15896
+ ) : /* @__PURE__ */ import_react105.default.createElement("div", { className: tw("animate-draw") }, /* @__PURE__ */ import_react105.default.createElement(Image2, null))),
15897
+ /* @__PURE__ */ import_react105.default.createElement(Box.Flex, { flexDirection: "column", justifyContent: template.justifyContent, alignItems: template.alignItems }, /* @__PURE__ */ import_react105.default.createElement(Typography2.Heading, { htmlTag: "h2" }, title), children && /* @__PURE__ */ import_react105.default.createElement(Box, { marginTop: "5" }, /* @__PURE__ */ import_react105.default.createElement(Typography2.Default, null, children)), (secondaryAction ?? primaryAction) && /* @__PURE__ */ import_react105.default.createElement(Box.Flex, { marginTop: "7", gap: "4", justifyContent: "center", alignItems: "center", flexWrap: "wrap" }, primaryAction && renderAction({ kind: "primary", action: primaryAction }), secondaryAction && renderAction({ kind: "secondary", action: secondaryAction })), footer && /* @__PURE__ */ import_react105.default.createElement(Box, { marginTop: "5" }, /* @__PURE__ */ import_react105.default.createElement(Typography2.Small, { color: "default" }, footer)))
15867
15898
  )
15868
15899
  );
15869
15900
  };
15870
15901
 
15902
+ // src/atoms/Filter/Filter.tsx
15903
+ var import_react106 = __toESM(require("react"));
15904
+ var import_react_aria_components18 = require("react-aria-components");
15905
+ var import_tailwind_variants14 = require("tailwind-variants");
15906
+ var import_cross7 = __toESM(require_cross());
15907
+ var DATE_FORMAT_OPTIONS = {
15908
+ locale: "en-GB",
15909
+ options: { day: "numeric", month: "numeric", year: "numeric" }
15910
+ };
15911
+ var filterWrapper = (0, import_tailwind_variants14.tv)({
15912
+ base: "rounded-full inline-flex items-center pressed:border-info-default justify-between outline-0 outline-none border border-dashed border-default text-default bg-transparent",
15913
+ variants: {
15914
+ isHovered: {
15915
+ true: "hover:bg-muted"
15916
+ },
15917
+ isFocusWithin: {
15918
+ true: "border-solid border-info-default"
15919
+ },
15920
+ isInvalid: {
15921
+ true: "border-solid border-danger-default"
15922
+ },
15923
+ hasValue: {
15924
+ true: "border-solid"
15925
+ }
15926
+ }
15927
+ });
15928
+ var FilterTrigger = ({
15929
+ labelText,
15930
+ icon,
15931
+ badge,
15932
+ onClear,
15933
+ onClick,
15934
+ value,
15935
+ // children,
15936
+ error: error2 = false,
15937
+ ...props
15938
+ }) => {
15939
+ const ariaDatePickerState = import_react106.default.useContext(import_react_aria_components18.DatePickerStateContext);
15940
+ const ariaDateRangePickerState = import_react106.default.useContext(import_react_aria_components18.DateRangePickerStateContext);
15941
+ const isUsedInsideDatePicker = !!ariaDatePickerState?.value;
15942
+ const isUsedInsideDateRangePicker = !!ariaDateRangePickerState?.value.start && !!ariaDateRangePickerState.value.end;
15943
+ const onClearDatePickerRelated = () => {
15944
+ if (isUsedInsideDatePicker) {
15945
+ ariaDatePickerState.setValue(null);
15946
+ } else if (isUsedInsideDateRangePicker) {
15947
+ ariaDateRangePickerState.setValue(null);
15948
+ }
15949
+ };
15950
+ const hasValue = !!value || isUsedInsideDatePicker || isUsedInsideDateRangePicker;
15951
+ const showClearButton = !!onClear && !!value || isUsedInsideDatePicker || isUsedInsideDateRangePicker;
15952
+ return /* @__PURE__ */ import_react106.default.createElement(
15953
+ import_react_aria_components18.Group,
15954
+ {
15955
+ ...props,
15956
+ isInvalid: error2,
15957
+ className: (renderProps) => filterWrapper({ ...renderProps, hasValue: hasValue || !!badge })
15958
+ },
15959
+ /* @__PURE__ */ import_react106.default.createElement(import_react106.default.Fragment, null, /* @__PURE__ */ import_react106.default.createElement(
15960
+ import_react_aria_components18.Button,
15961
+ {
15962
+ onPress: () => {
15963
+ onClick && onClick();
15964
+ },
15965
+ className: tw("outline-0 outline-none flex items-center py-3 cursor-pointer", {
15966
+ "pl-4 pr-[6px]": showClearButton,
15967
+ // keep padding right the same as padding left of <FilterClearButton>
15968
+ "px-4": !showClearButton
15969
+ })
15970
+ },
15971
+ /* @__PURE__ */ import_react106.default.createElement("div", { className: tw("flex items-center gap-3 divide-x divide-grey-20") }, /* @__PURE__ */ import_react106.default.createElement("div", { className: tw("flex items-center gap-3") }, /* @__PURE__ */ import_react106.default.createElement("div", { className: tw("flex items-center gap-2") }, /* @__PURE__ */ import_react106.default.createElement(InlineIcon, { icon }), /* @__PURE__ */ import_react106.default.createElement(Typography2.Small, null, labelText)), badge && /* @__PURE__ */ import_react106.default.createElement(Typography2, { color: "primary-active", className: tw("flex items-center") }, /* @__PURE__ */ import_react106.default.createElement(Badge, { dense: true, value: badge }))), hasValue && /* @__PURE__ */ import_react106.default.createElement("div", { className: "pl-3" }, /* @__PURE__ */ import_react106.default.createElement(
15972
+ Typography2.Small,
15973
+ {
15974
+ className: tw("truncate max-w-[233px]"),
15975
+ color: error2 ? "danger-intense" : "primary-active"
15976
+ },
15977
+ value,
15978
+ isUsedInsideDatePicker && /* @__PURE__ */ import_react106.default.createElement(DateDisplay, { state: ariaDatePickerState }),
15979
+ isUsedInsideDateRangePicker && /* @__PURE__ */ import_react106.default.createElement(DateDisplay, { state: ariaDateRangePickerState })
15980
+ )))
15981
+ ), showClearButton && /* @__PURE__ */ import_react106.default.createElement(
15982
+ FilterClearButton,
15983
+ {
15984
+ onClear: () => {
15985
+ onClearDatePickerRelated();
15986
+ onClear?.();
15987
+ }
15988
+ }
15989
+ ))
15990
+ );
15991
+ };
15992
+ var isDateRangePickerState = (state) => {
15993
+ return "value" in state && state.value !== null && "start" in state.value;
15994
+ };
15995
+ var DateDisplay = ({ state }) => {
15996
+ const primary = isDateRangePickerState(state) ? state.formatValue(DATE_FORMAT_OPTIONS.locale, DATE_FORMAT_OPTIONS.options)?.start : state.formatValue(DATE_FORMAT_OPTIONS.locale, DATE_FORMAT_OPTIONS.options);
15997
+ const secondary = isDateRangePickerState(state) ? state.formatValue(DATE_FORMAT_OPTIONS.locale, DATE_FORMAT_OPTIONS.options)?.end : void 0;
15998
+ return /* @__PURE__ */ import_react106.default.createElement(Box.Flex, { gap: "2" }, /* @__PURE__ */ import_react106.default.createElement("span", null, primary), secondary && /* @__PURE__ */ import_react106.default.createElement(import_react106.default.Fragment, null, /* @__PURE__ */ import_react106.default.createElement("span", { "aria-hidden": true, className: tw("text-muted") }, "-"), /* @__PURE__ */ import_react106.default.createElement("span", null, secondary)));
15999
+ };
16000
+ var FilterClearButton = ({ onClear }) => (
16001
+ // using a native HTML <button> here instead of <Button slot={null} /> from react-aria because react-aria <DialogTrigger> doesn't support it as a child. If we used <Button slot={null}>, the popover would open simultaneously with the clear callback, which is unintended behavior. Interestingly, this issue doesn't occur in react-aria's <DatePicker>, but for consistency and to avoid conflicts here, we're sticking with a plain button.
16002
+ /* @__PURE__ */ import_react106.default.createElement(
16003
+ "button",
16004
+ {
16005
+ "aria-label": "Clear filter",
16006
+ onClick: (e) => {
16007
+ e.preventDefault();
16008
+ e.stopPropagation();
16009
+ const previousButton = e.currentTarget.previousElementSibling;
16010
+ if (previousButton instanceof HTMLElement) {
16011
+ previousButton.focus();
16012
+ }
16013
+ onClear();
16014
+ },
16015
+ className: tw(
16016
+ "py-[10px] pl-[6px] pr-4 inline-flex items-center hover:bg-default focus:bg-default outline-0 outline-none rounded-r-full"
16017
+ // keep padding left the same as padding right of its button sibling.
16018
+ )
16019
+ },
16020
+ /* @__PURE__ */ import_react106.default.createElement(InlineIcon, { icon: import_cross7.default })
16021
+ )
16022
+ );
16023
+ var Filter = () => null;
16024
+ FilterTrigger.displayName = "Filter.Trigger";
16025
+ Filter.Trigger = FilterTrigger;
16026
+
15871
16027
  // src/molecules/LineClamp/LineClamp.tsx
15872
16028
  var import_react107 = __toESM(require("react"));
15873
16029
  var LineClamp2 = ({
@@ -15939,9 +16095,9 @@ var ListItem = ({ name, icon, active = false }) => {
15939
16095
 
15940
16096
  // src/molecules/Modal/Modal.tsx
15941
16097
  var import_react110 = __toESM(require("react"));
15942
- var import_react_aria_components20 = require("react-aria-components");
16098
+ var import_react_aria_components19 = require("react-aria-components");
15943
16099
  var import_lodash_es38 = require("lodash-es");
15944
- var import_cross7 = __toESM(require_cross());
16100
+ var import_cross8 = __toESM(require_cross());
15945
16101
  var Modal2 = ({
15946
16102
  open,
15947
16103
  onClose,
@@ -15960,7 +16116,7 @@ var Modal2 = ({
15960
16116
  const styles = modalStyles({ kind: "dialog", size });
15961
16117
  const hasTabs = isComponentType(children, ModalTabs);
15962
16118
  return /* @__PURE__ */ import_react110.default.createElement(
15963
- import_react_aria_components20.ModalOverlay,
16119
+ import_react_aria_components19.ModalOverlay,
15964
16120
  {
15965
16121
  isOpen: open,
15966
16122
  onOpenChange: (isOpen) => !isOpen && onClose(),
@@ -15969,7 +16125,7 @@ var Modal2 = ({
15969
16125
  className: styles.overlay({ className: "Aquarium-Modal" })
15970
16126
  },
15971
16127
  size !== "screen" && /* @__PURE__ */ import_react110.default.createElement(Modal.BackDrop, { className: styles.backdrop() }),
15972
- /* @__PURE__ */ import_react110.default.createElement(import_react_aria_components20.Modal, { className: styles.dialog() }, /* @__PURE__ */ import_react110.default.createElement(import_react_aria_components20.Dialog, { className: "flex flex-col grow overflow-y-auto" }, ({ close }) => /* @__PURE__ */ import_react110.default.createElement(import_react110.default.Fragment, null, /* @__PURE__ */ import_react110.default.createElement(Modal.CloseButtonContainer, null, /* @__PURE__ */ import_react110.default.createElement(Button2.Icon, { "aria-label": "Close", icon: import_cross7.default, onClick: close })), headerImage !== void 0 && /* @__PURE__ */ import_react110.default.createElement(Modal.HeaderImage, { backgroundImage: headerImage }), /* @__PURE__ */ import_react110.default.createElement(
16128
+ /* @__PURE__ */ import_react110.default.createElement(import_react_aria_components19.Modal, { className: styles.dialog() }, /* @__PURE__ */ import_react110.default.createElement(import_react_aria_components19.Dialog, { className: "flex flex-col grow overflow-y-auto" }, ({ close }) => /* @__PURE__ */ import_react110.default.createElement(import_react110.default.Fragment, null, /* @__PURE__ */ import_react110.default.createElement(Modal.CloseButtonContainer, null, /* @__PURE__ */ import_react110.default.createElement(Button2.Icon, { "aria-label": "Close", icon: import_cross8.default, onClick: close })), headerImage !== void 0 && /* @__PURE__ */ import_react110.default.createElement(Modal.HeaderImage, { backgroundImage: headerImage }), /* @__PURE__ */ import_react110.default.createElement(
15973
16129
  Modal.Header,
15974
16130
  {
15975
16131
  kind: "dialog",
@@ -16682,7 +16838,7 @@ var import_lodash_es43 = require("lodash-es");
16682
16838
 
16683
16839
  // src/atoms/PageHeader/PageHeader.tsx
16684
16840
  var import_react117 = __toESM(require("react"));
16685
- var PageHeader = ({ children, className, ...rest }) => /* @__PURE__ */ import_react117.default.createElement("div", { className: classNames(tw("flex flex-row gap-4 pb-6"), className), ...rest }, children);
16841
+ var PageHeader = ({ children, className, ...rest }) => /* @__PURE__ */ import_react117.default.createElement("div", { className: classNames(tw("flex flex-row flex-wrap gap-4 pb-6"), className), ...rest }, children);
16686
16842
  PageHeader.Container = ({ children, className, ...rest }) => /* @__PURE__ */ import_react117.default.createElement("div", { className: classNames(tw("flex flex-col grow gap-0"), className), ...rest }, children);
16687
16843
  PageHeader.TitleContainer = ({ children, className, ...rest }) => /* @__PURE__ */ import_react117.default.createElement("div", { className: classNames(tw("flex flex-col justify-center gap-2"), className), ...rest }, children);
16688
16844
  PageHeader.Title = ({ isSubHeader = false, children, ...rest }) => /* @__PURE__ */ import_react117.default.createElement(
@@ -16742,9 +16898,9 @@ PageHeader2.SubHeader.displayName = "PageHeader.SubHeader";
16742
16898
 
16743
16899
  // src/molecules/Popover/PopoverContext.tsx
16744
16900
  var import_react119 = require("react");
16745
- var PopoverContext2 = (0, import_react119.createContext)(null);
16901
+ var PopoverContext = (0, import_react119.createContext)(null);
16746
16902
  var usePopoverContext = () => {
16747
- const ctx = (0, import_react119.useContext)(PopoverContext2);
16903
+ const ctx = (0, import_react119.useContext)(PopoverContext);
16748
16904
  if (ctx === null) {
16749
16905
  throw new Error("PopoverContext was used outside of provider.");
16750
16906
  }
@@ -16776,12 +16932,12 @@ var PopoverDialogPropsContext = (0, import_react121.createContext)({
16776
16932
  primaryAction: { text: "", onClick: import_lodash_es44.noop }
16777
16933
  });
16778
16934
  var PopoverDialog2 = ({ placement, open, children, ...props }) => {
16779
- return /* @__PURE__ */ import_react121.default.createElement(Popover3, { placement }, /* @__PURE__ */ import_react121.default.createElement(PopoverDialogPropsContext.Provider, { value: props }, children));
16935
+ return /* @__PURE__ */ import_react121.default.createElement(Popover2, { placement }, /* @__PURE__ */ import_react121.default.createElement(PopoverDialogPropsContext.Provider, { value: props }, children));
16780
16936
  };
16781
- PopoverDialog2.Trigger = Popover3.Trigger;
16937
+ PopoverDialog2.Trigger = Popover2.Trigger;
16782
16938
  var Prompt = ({ children }) => {
16783
16939
  const { title, primaryAction, secondaryAction } = import_react121.default.useContext(PopoverDialogPropsContext);
16784
- return /* @__PURE__ */ import_react121.default.createElement(Popover3.Panel, { className: "Aquarium-PopoverDialog max-w-[300px]" }, /* @__PURE__ */ import_react121.default.createElement(PopoverDialog.Header, null, /* @__PURE__ */ import_react121.default.createElement(PopoverDialog.Title, null, title)), /* @__PURE__ */ import_react121.default.createElement(PopoverDialog.Body, null, children), /* @__PURE__ */ import_react121.default.createElement(PopoverDialog.Footer, null, /* @__PURE__ */ import_react121.default.createElement(PopoverDialog.Actions, null, secondaryAction && /* @__PURE__ */ import_react121.default.createElement(Popover3.CloseToggle, null, /* @__PURE__ */ import_react121.default.createElement(Button2, { key: secondaryAction.text, kind: "secondary", dense: true, ...(0, import_lodash_es44.omit)(secondaryAction, "text") }, secondaryAction.text)), /* @__PURE__ */ import_react121.default.createElement(Popover3.CloseToggle, null, /* @__PURE__ */ import_react121.default.createElement(Button2, { key: primaryAction.text, kind: "ghost", dense: true, ...(0, import_lodash_es44.omit)(primaryAction, "text") }, primaryAction.text)))));
16940
+ return /* @__PURE__ */ import_react121.default.createElement(Popover2.Panel, { className: "Aquarium-PopoverDialog max-w-[300px]" }, /* @__PURE__ */ import_react121.default.createElement(PopoverDialog.Header, null, /* @__PURE__ */ import_react121.default.createElement(PopoverDialog.Title, null, title)), /* @__PURE__ */ import_react121.default.createElement(PopoverDialog.Body, null, children), /* @__PURE__ */ import_react121.default.createElement(PopoverDialog.Footer, null, /* @__PURE__ */ import_react121.default.createElement(PopoverDialog.Actions, null, secondaryAction && /* @__PURE__ */ import_react121.default.createElement(Popover2.CloseToggle, null, /* @__PURE__ */ import_react121.default.createElement(Button2, { key: secondaryAction.text, kind: "secondary", dense: true, ...(0, import_lodash_es44.omit)(secondaryAction, "text") }, secondaryAction.text)), /* @__PURE__ */ import_react121.default.createElement(Popover2.CloseToggle, null, /* @__PURE__ */ import_react121.default.createElement(Button2, { key: primaryAction.text, kind: "ghost", dense: true, ...(0, import_lodash_es44.omit)(primaryAction, "text") }, primaryAction.text)))));
16785
16941
  };
16786
16942
  Prompt.displayName = "PopoverDialog.Prompt";
16787
16943
  PopoverDialog2.Prompt = Prompt;
@@ -17515,7 +17671,7 @@ Timeline2.Skeleton.displayName = "Timeline.Skeleton";
17515
17671
 
17516
17672
  // src/molecules/TimePicker/TimePicker.tsx
17517
17673
  var import_react138 = __toESM(require("react"));
17518
- var TimePicker = (props) => /* @__PURE__ */ import_react138.default.createElement(TimeField, { ...props });
17674
+ var TimePicker = (props) => /* @__PURE__ */ import_react138.default.createElement(TimeField2, { ...props });
17519
17675
 
17520
17676
  // src/utils/table/sortByColumn.ts
17521
17677
  var sortByColumn = (items, column, sortState) => {
@@ -17816,6 +17972,7 @@ var system_default = {
17816
17972
  EmptyState,
17817
17973
  EmptyStateLayout,
17818
17974
  FileInput,
17975
+ Filter,
17819
17976
  FormControl,
17820
17977
  Grid,
17821
17978
  HelperText,