@aivenio/aquarium 4.1.2 → 4.3.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 (47) 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 +106 -0
  7. package/dist/src/atoms/DatePicker/DatePicker.js +80 -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 +65 -4
  17. package/dist/src/molecules/DatePicker/DatePicker.js +73 -48
  18. package/dist/src/molecules/DatePicker/DateRangePicker.d.ts +69 -4
  19. package/dist/src/molecules/DatePicker/DateRangePicker.js +77 -49
  20. package/dist/src/molecules/DropdownMenu/SearchField.js +2 -2
  21. package/dist/src/molecules/Filter/Filter.d.ts +2 -0
  22. package/dist/src/molecules/Filter/Filter.js +3 -0
  23. package/dist/src/molecules/Link/Link.js +3 -3
  24. package/dist/src/molecules/Spacing/Spacing.d.ts +1 -1
  25. package/dist/src/molecules/Spacing/Spacing.js +1 -1
  26. package/dist/src/molecules/TimeField/TimeField.d.ts +5 -8
  27. package/dist/src/molecules/TimeField/TimeField.js +3 -8
  28. package/dist/src/molecules/index.d.ts +1 -0
  29. package/dist/src/molecules/index.js +2 -1
  30. package/dist/styles.css +6 -0
  31. package/dist/system.cjs +622 -419
  32. package/dist/system.mjs +634 -425
  33. package/dist/tsconfig.module.tsbuildinfo +1 -1
  34. package/dist/types/tailwindGenerated.d.ts +1 -1
  35. package/package.json +1 -1
  36. package/dist/src/molecules/DateField/DateInput.d.ts +0 -3
  37. package/dist/src/molecules/DateField/DateInput.js +0 -22
  38. package/dist/src/molecules/DatePicker/Button.d.ts +0 -5
  39. package/dist/src/molecules/DatePicker/Button.js +0 -35
  40. package/dist/src/molecules/DatePicker/Dialog.d.ts +0 -3
  41. package/dist/src/molecules/DatePicker/Dialog.js +0 -7
  42. package/dist/src/molecules/DatePicker/Popover.d.ts +0 -7
  43. package/dist/src/molecules/DatePicker/Popover.js +0 -27
  44. package/dist/src/molecules/Field/Field.js +0 -7
  45. /package/dist/src/{molecules → atoms}/DatePicker/Calendar.d.ts +0 -0
  46. /package/dist/src/{molecules → atoms}/DatePicker/RangeCalendar.d.ts +0 -0
  47. /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
  };
@@ -12247,12 +12260,18 @@ DataTable.Skeleton = DataListSkeleton;
12247
12260
 
12248
12261
  // src/molecules/DatePicker/DatePicker.tsx
12249
12262
  var import_react95 = __toESM(require("react"));
12250
- var import_react_aria_components12 = require("react-aria-components");
12263
+ var import_react_aria_components11 = require("react-aria-components");
12251
12264
  var import_label2 = require("@react-aria/label");
12252
12265
  var import_utils24 = require("@react-aria/utils");
12253
12266
  var import_lodash_es33 = require("lodash-es");
12254
12267
 
12255
- // 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
12256
12275
  var import_react89 = __toESM(require("react"));
12257
12276
  var import_react_aria_components6 = require("react-aria-components");
12258
12277
  var import_tailwind_variants8 = require("tailwind-variants");
@@ -12270,77 +12289,74 @@ var segmentStyles = (0, import_tailwind_variants8.tv)({
12270
12289
  }
12271
12290
  }
12272
12291
  });
12273
- function DateInput(props) {
12292
+ var DateInput = (props) => {
12274
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 }));
12275
- }
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
+ };
12276
12298
 
12277
12299
  // src/molecules/TimeField/TimeField.tsx
12278
- var import_react90 = __toESM(require("react"));
12279
- var import_react_aria_components7 = require("react-aria-components");
12280
- var import_label = require("@react-aria/label");
12281
- var import_utils22 = require("@react-aria/utils");
12282
- var import_lodash_es32 = require("lodash-es");
12283
- function TimeFieldBase({ disabled, valid, ...props }) {
12284
- return /* @__PURE__ */ import_react90.default.createElement(import_react_aria_components7.TimeField, { ...props, isInvalid: valid === false, isDisabled: disabled }, /* @__PURE__ */ import_react90.default.createElement(DateInput, null));
12285
- }
12286
- function TimeField(props) {
12300
+ function TimeField2(props) {
12287
12301
  const { labelProps, fieldProps } = (0, import_label.useLabel)({ label: props.labelText });
12288
12302
  const errorMessageId = (0, import_utils22.useId)();
12289
12303
  const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId } : {};
12290
12304
  const { "data-testid": dataTestId, ...labelControlProps } = getLabelControlProps(props);
12291
12305
  const baseProps = (0, import_lodash_es32.omit)(props, Object.keys(labelControlProps));
12292
- 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 }));
12293
12307
  }
12294
12308
 
12295
- // src/molecules/DatePicker/Button.tsx
12296
- var import_react91 = __toESM(require("react"));
12309
+ // src/atoms/DatePicker/Calendar.tsx
12310
+ var import_react92 = __toESM(require("react"));
12297
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");
12298
12320
  var import_calendar2 = __toESM(require_calendar());
12299
12321
  var import_smallCross3 = __toESM(require_smallCross());
12300
- function Button3(props) {
12301
- return /* @__PURE__ */ import_react91.default.createElement(
12302
- import_react_aria_components8.Button,
12303
- {
12304
- ...props,
12305
- className: (0, import_react_aria_components8.composeRenderProps)(
12306
- props.className,
12307
- (className, renderProps) => buttonClasses({ ...renderProps, className, dense: true, kind: "icon" })
12308
- )
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: ""
12309
12328
  }
12310
- );
12311
- }
12312
- var ButtonBase = ({
12313
- className,
12314
- hideWhenParentIsNotHoveredOrFocused = true,
12329
+ }
12330
+ });
12331
+ var DatePickerButton = ({
12332
+ hideWhenParentIsNotHoveredOrFocused = false,
12315
12333
  ...props
12316
12334
  }) => {
12317
12335
  return /* @__PURE__ */ import_react91.default.createElement(
12318
- Button3,
12336
+ import_react_aria_components7.Button,
12319
12337
  {
12320
12338
  ...props,
12321
- className: classNames(
12322
- className,
12323
- tw("group-hover:opacity-100 p-0", {
12324
- "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"
12325
12346
  })
12326
12347
  )
12327
12348
  }
12328
12349
  );
12329
12350
  };
12330
- function ClearInputButton(props) {
12331
- 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 }));
12332
- }
12333
- function CalendarButton(props) {
12334
- return /* @__PURE__ */ import_react91.default.createElement(ButtonBase, { ...props, "aria-label": "Calendar" }, /* @__PURE__ */ import_react91.default.createElement(Icon2, { icon: import_calendar2.default, dense: true }));
12335
- }
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
+ };
12336
12357
 
12337
- // src/molecules/DatePicker/Calendar.tsx
12338
- var import_react92 = __toESM(require("react"));
12339
- var import_react_aria_components9 = require("react-aria-components");
12340
- var import_tailwind_variants9 = require("tailwind-variants");
12341
- var import_chevronLeft4 = __toESM(require_chevronLeft());
12342
- var import_chevronRight4 = __toESM(require_chevronRight());
12343
- var cellStyles = (0, import_tailwind_variants9.tv)({
12358
+ // src/atoms/DatePicker/Calendar.tsx
12359
+ var cellStyles = (0, import_tailwind_variants10.tv)({
12344
12360
  extend: focusRing,
12345
12361
  base: "w-8 h-8 typography-small cursor-default rounded-md flex items-center justify-center outside-month:hidden",
12346
12362
  variants: {
@@ -12357,274 +12373,88 @@ var cellStyles = (0, import_tailwind_variants9.tv)({
12357
12373
  }
12358
12374
  });
12359
12375
  var Calendar = (props) => {
12360
- 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 }))));
12361
12377
  };
12362
12378
  var CalendarHeader = () => {
12363
- 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 })));
12364
12380
  };
12365
12381
  var CalendarGridHeader = () => {
12366
- 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));
12367
12383
  };
12368
12384
 
12369
- // src/molecules/DatePicker/Dialog.tsx
12385
+ // src/atoms/DatePicker/DatePicker.tsx
12370
12386
  var import_react93 = __toESM(require("react"));
12371
- var import_react_aria_components10 = require("react-aria-components");
12372
- function Dialog(props) {
12373
- return /* @__PURE__ */ import_react93.default.createElement(
12374
- import_react_aria_components10.Dialog,
12375
- {
12376
- ...props,
12377
- className: classNames(
12378
- props.className,
12379
- tw(
12380
- "outline outline-0 p-5 [[data-placement]>&]:px-5 [[data-placement]>&]:py-6 max-h-[inherit] overflow-auto relative"
12381
- )
12382
- )
12383
- }
12384
- );
12385
- }
12386
-
12387
- // src/molecules/DatePicker/Popover.tsx
12388
- var import_react94 = __toESM(require("react"));
12389
- var import_react_aria_components11 = require("react-aria-components");
12390
- var Popover2 = ({ children, showArrow, className, ...props }) => {
12391
- const popoverContext = (0, import_react_aria_components11.useSlottedContext)(import_react_aria_components11.PopoverContext);
12392
- const isSubmenu = popoverContext?.trigger === "SubmenuTrigger";
12393
- let offset = showArrow ? 12 : 8;
12394
- offset = isSubmenu ? offset - 6 : offset;
12395
- return /* @__PURE__ */ import_react94.default.createElement(
12396
- import_react_aria_components11.Popover,
12397
- {
12398
- offset,
12399
- ...props,
12400
- className: tw(
12401
- "rounded-sm shadow-16dp bg-popover-content mt-1 overflow-y-auto flex flex-col border border-default outline-none"
12402
- )
12403
- },
12404
- showArrow && /* @__PURE__ */ import_react94.default.createElement(import_react_aria_components11.OverlayArrow, { className: "group" }, /* @__PURE__ */ import_react94.default.createElement(
12405
- "svg",
12406
- {
12407
- width: 12,
12408
- height: 12,
12409
- viewBox: "0 0 12 12",
12410
- className: "block fill-white stroke-1 stroke-black group-placement-bottom:rotate-180 group-placement-left:-rotate-90 group-placement-right:rotate-90"
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: "flex",
12392
+ calendar: "[[data-placement]>&]:px-5 [[data-placement]>&]:py-6 max-h-[inherit]",
12393
+ errorMessage: "typography-caption text-danger-default max-w-[300px]",
12394
+ presets: "bg-muted py-6 px-5 flex flex-col min-w-[150px] max-w-[300px] self-stretch",
12395
+ preset: "hover:text-primary-active p-3 text-left hover:underline"
12396
+ },
12397
+ variants: {
12398
+ isPresetActive: {
12399
+ true: {
12400
+ preset: "text-primary-active typography-small-strong"
12411
12401
  },
12412
- /* @__PURE__ */ import_react94.default.createElement("path", { d: "M0 0 L6 6 L12 0" })
12413
- )),
12414
- children
12415
- );
12416
- };
12417
-
12418
- // src/molecules/DatePicker/DatePicker.tsx
12419
- function DatePickerClearButton() {
12420
- const state = import_react95.default.useContext(import_react_aria_components12.DatePickerStateContext);
12421
- if (!state) {
12422
- throw new Error("DatePickerStateContext is missing a provider");
12423
- }
12424
- if (!state.value) {
12425
- return null;
12426
- }
12427
- return /* @__PURE__ */ import_react95.default.createElement(
12428
- ClearInputButton,
12429
- {
12430
- onPress: () => {
12431
- state.setValue(null);
12402
+ false: {
12403
+ preset: "typography-small"
12432
12404
  }
12433
12405
  }
12434
- );
12435
- }
12436
- var createDatePickerBase = (variant) => ({
12437
- disabled,
12438
- valid,
12439
- granularity,
12440
- shouldCloseOnSelect,
12441
- errorMessage,
12442
- clearSelectionEnabled = true,
12443
- ...props
12444
- }) => {
12406
+ }
12407
+ });
12408
+ var DatePicker = ({ variant, ...props }) => {
12445
12409
  const hasSomeValue = props.value ?? props.defaultValue ?? props.placeholderValue;
12446
- return /* @__PURE__ */ import_react95.default.createElement(
12447
- import_react_aria_components12.DatePicker,
12410
+ return /* @__PURE__ */ import_react93.default.createElement(
12411
+ import_react_aria_components9.DatePicker,
12448
12412
  {
12449
12413
  ...props,
12450
- shouldCloseOnSelect: shouldCloseOnSelect ?? variant === "date",
12451
- isDisabled: disabled,
12452
- isInvalid: valid === false,
12453
- granularity: granularity ?? (variant === "datetime" && !hasSomeValue ? "minute" : void 0)
12454
- },
12455
- /* @__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))),
12456
- /* @__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))))
12457
- );
12458
- };
12459
- var DatePickerBase = createDatePickerBase("date");
12460
- var DateTimePickerBase = createDatePickerBase("datetime");
12461
- var PickerTimeField = ({ granularity }) => {
12462
- const state = import_react95.default.useContext(import_react_aria_components12.DatePickerStateContext);
12463
- if (!state) {
12464
- throw new Error("DatePickerStateContext is missing a provider");
12465
- }
12466
- return /* @__PURE__ */ import_react95.default.createElement(
12467
- TimeField,
12468
- {
12469
- labelText: "Time",
12470
- granularity: granularity !== "day" ? granularity : void 0,
12471
- value: state.timeValue,
12472
- onChange: (value) => value && state.setTimeValue(value),
12473
- reserveSpaceForError: false
12414
+ shouldCloseOnSelect: props.shouldCloseOnSelect ?? variant === "date",
12415
+ granularity: props.granularity ?? (variant === "datetime" && !hasSomeValue ? "minute" : void 0)
12474
12416
  }
12475
12417
  );
12476
12418
  };
12477
- var createDatePicker = (variant) => (props) => {
12478
- const { labelProps, fieldProps } = (0, import_label2.useLabel)({ label: props.labelText });
12479
- const errorMessageId = (0, import_utils24.useId)();
12480
- const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId, "errorMessage": props.helperText ?? props.error } : {};
12481
- const { "data-testid": dataTestId, ...labelControlProps } = getLabelControlProps(props);
12482
- const baseProps = (0, import_lodash_es33.omit)(props, Object.keys(labelControlProps));
12483
- const allProps = { ...baseProps, ...fieldProps, ...errorProps, disabled: props.disabled, valid: props.valid };
12484
- 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 }));
12485
- };
12486
- var DatePicker = createDatePicker("date");
12487
- var DateTimePicker = createDatePicker("datetime");
12488
-
12489
- // src/molecules/DatePicker/DateRangePicker.tsx
12490
- var import_react97 = __toESM(require("react"));
12491
- var import_react_aria_components14 = require("react-aria-components");
12492
- var import_label3 = require("@react-aria/label");
12493
- var import_utils26 = require("@react-aria/utils");
12494
- var import_lodash_es34 = require("lodash-es");
12495
-
12496
- // src/molecules/DatePicker/RangeCalendar.tsx
12497
- var import_react96 = __toESM(require("react"));
12498
- var import_react_aria_components13 = require("react-aria-components");
12499
- var import_tailwind_variants10 = require("tailwind-variants");
12500
- var cell = (0, import_tailwind_variants10.tv)({
12501
- extend: focusRing,
12502
- base: "w-full h-full flex items-center justify-center rounded-md text-default",
12503
- variants: {
12504
- selectionState: {
12505
- none: "group-hover:bg-default group-pressed:bg-intense",
12506
- middle: [
12507
- "text-white",
12508
- "group-hover:bg-primary-default",
12509
- "group-invalid:group-hover:bg-danger-default",
12510
- "group-pressed:bg-primary-intense",
12511
- "group-invalid:group-pressed:bg-danger-intense"
12512
- ],
12513
- cap: "text-white bg-primary-default group-invalid:bg-danger-default"
12514
- },
12515
- isUnavailable: {
12516
- true: "text-inactive"
12517
- },
12518
- isDisabled: {
12519
- true: "text-inactive"
12520
- }
12521
- }
12522
- });
12523
- function RangeCalendar(props) {
12524
- 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(
12525
- import_react_aria_components13.CalendarCell,
12526
- {
12527
- date,
12528
- className: tw(
12529
- "group w-8 h-8 typography-small outline outline-0 cursor-default",
12530
- "outside-month:hidden selected:bg-primary-default",
12531
- "invalid:selected:bg-danger-default",
12532
- "selection-start:rounded-s-md selection-end:rounded-e-md"
12533
- )
12534
- },
12535
- ({ formattedDate, isSelected, isSelectionStart, isSelectionEnd, ...rest }) => /* @__PURE__ */ import_react96.default.createElement(
12536
- "span",
12537
- {
12538
- className: cell({
12539
- selectionState: isSelected && (isSelectionStart || isSelectionEnd) ? "cap" : isSelected ? "middle" : "none",
12540
- ...rest
12541
- })
12542
- },
12543
- formattedDate
12544
- )
12545
- ))));
12546
- }
12547
-
12548
- // src/molecules/DatePicker/DateRangePicker.tsx
12549
- function DateRangePickerClearButton() {
12550
- const state = import_react97.default.useContext(import_react_aria_components14.DateRangePickerStateContext);
12551
- if (!state) {
12552
- throw new Error("DateRangePickerStateContext is missing a provider");
12553
- }
12554
- if (!state.value.start && !state.value.end) {
12555
- return null;
12556
- }
12557
- return /* @__PURE__ */ import_react97.default.createElement(
12558
- ClearInputButton,
12559
- {
12560
- onPress: () => {
12561
- state.setValue(null);
12562
- }
12563
- }
12564
- );
12565
- }
12566
- var createDateRangePickerBase = (variant) => ({
12567
- disabled,
12568
- valid,
12569
- granularity,
12570
- shouldCloseOnSelect,
12571
- errorMessage,
12572
- clearSelectionEnabled = true,
12573
- ...props
12574
- }) => {
12419
+ var DateRangePicker = ({ variant, ...props }) => {
12575
12420
  const hasSomeValue = props.value ?? props.defaultValue ?? props.placeholderValue;
12576
- return /* @__PURE__ */ import_react97.default.createElement(
12577
- import_react_aria_components14.DateRangePicker,
12421
+ return /* @__PURE__ */ import_react93.default.createElement(
12422
+ import_react_aria_components9.DateRangePicker,
12578
12423
  {
12579
12424
  ...props,
12580
- shouldCloseOnSelect: shouldCloseOnSelect ?? variant === "date",
12581
- isDisabled: disabled,
12582
- isInvalid: valid === false,
12583
- granularity: granularity ?? (variant === "datetime" && !hasSomeValue ? "minute" : void 0),
12584
- className: tw("group flex flex-col gap-1")
12585
- },
12586
- /* @__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))),
12587
- /* @__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))))
12588
- );
12589
- };
12590
- var PickerTimeField2 = ({ granularity, part }) => {
12591
- const ctx = import_react97.default.useContext(import_react_aria_components14.DateRangePickerStateContext);
12592
- return /* @__PURE__ */ import_react97.default.createElement(
12593
- TimeField,
12594
- {
12595
- labelText: part === "start" ? "Start time" : "End time",
12596
- granularity: granularity !== "day" ? granularity : void 0,
12597
- value: ctx?.timeRange?.[part] ?? null,
12598
- onChange: (value) => ctx?.setTime(part, value),
12599
- reserveSpaceForError: false
12425
+ shouldCloseOnSelect: props.shouldCloseOnSelect ?? variant === "date",
12426
+ granularity: props.granularity ?? (variant === "datetime" && !hasSomeValue ? "minute" : void 0)
12600
12427
  }
12601
12428
  );
12602
12429
  };
12603
- var DateRangePickerBase = createDateRangePickerBase("date");
12604
- var DateTimeRangePickerBase = createDateRangePickerBase("datetime");
12605
- var createDateRangePicker = (variant) => (props) => {
12606
- const { labelProps, fieldProps } = (0, import_label3.useLabel)({ label: props.labelText });
12607
- const errorMessageId = (0, import_utils26.useId)();
12608
- const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId, "errorMessage": props.helperText ?? props.error } : {};
12609
- const { "data-testid": dataTestId, ...labelControlProps } = getLabelControlProps(props);
12610
- const baseProps = (0, import_lodash_es34.omit)(props, Object.keys(labelControlProps));
12611
- const allProps = { ...baseProps, ...fieldProps, ...errorProps, disabled: props.disabled, valid: props.valid };
12612
- 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 }));
12430
+ var Presets = ({ children }) => {
12431
+ const { presets } = datePickerCalendarStyles();
12432
+ return /* @__PURE__ */ import_react93.default.createElement("div", { className: presets() }, children);
12433
+ };
12434
+ var Preset = ({ value, label }) => {
12435
+ const { preset } = datePickerCalendarStyles();
12436
+ const context2 = import_react93.default.useContext(import_react_aria_components9.DatePickerStateContext);
12437
+ const handlePress = () => {
12438
+ context2?.setValue(value);
12439
+ context2?.close();
12440
+ };
12441
+ const isActive = context2?.value !== void 0 && context2.value?.toString() === value.toString();
12442
+ return /* @__PURE__ */ import_react93.default.createElement(import_react_aria_components9.Button, { onPress: handlePress, className: preset({ isPresetActive: isActive }) }, label);
12443
+ };
12444
+ var RangePreset = ({ value, label }) => {
12445
+ const { preset } = datePickerCalendarStyles();
12446
+ const context2 = import_react93.default.useContext(import_react_aria_components9.DateRangePickerStateContext);
12447
+ const handlePress = () => {
12448
+ context2?.setValue(value);
12449
+ context2?.close();
12450
+ };
12451
+ const isActive = context2?.value !== void 0 && context2.value.start?.toString() === value.start.toString() && context2.value.end?.toString() === value.end.toString();
12452
+ return /* @__PURE__ */ import_react93.default.createElement(import_react_aria_components9.Button, { onPress: handlePress, className: preset({ isPresetActive: isActive }) }, label);
12613
12453
  };
12614
- var DateRangePicker = createDateRangePicker("date");
12615
- var DateTimeRangePicker = createDateRangePicker("datetime");
12616
-
12617
- // src/molecules/Dialog/Dialog.tsx
12618
- var import_react100 = __toESM(require("react"));
12619
- var import_dialog = require("@react-aria/dialog");
12620
- var import_overlays6 = require("@react-aria/overlays");
12621
- var import_utils27 = require("@react-aria/utils");
12622
- var import_overlays7 = require("@react-stately/overlays");
12623
- var import_lodash_es35 = require("lodash-es");
12624
12454
 
12625
12455
  // src/atoms/Dialog/Dialog.tsx
12626
- var import_react98 = __toESM(require("react"));
12627
- var import_react_aria_components15 = require("react-aria-components");
12456
+ var import_react94 = __toESM(require("react"));
12457
+ var import_react_aria_components10 = require("react-aria-components");
12628
12458
 
12629
12459
  // node_modules/tailwind-merge/dist/bundle-mjs.mjs
12630
12460
  var CLASS_PART_SEPARATOR = "-";
@@ -15104,9 +14934,9 @@ var DIALOG_ICONS_AND_COLORS = {
15104
14934
  color: "danger-default"
15105
14935
  }
15106
14936
  };
15107
- var Dialog2 = (props) => {
15108
- return /* @__PURE__ */ import_react98.default.createElement(
15109
- import_react_aria_components15.Dialog,
14937
+ var Dialog = (props) => {
14938
+ return /* @__PURE__ */ import_react94.default.createElement(
14939
+ import_react_aria_components10.Dialog,
15110
14940
  {
15111
14941
  ...props,
15112
14942
  className: twMerge("outline outline-0 max-h-[inherit] overflow-auto relative", props.className)
@@ -15114,10 +14944,257 @@ var Dialog2 = (props) => {
15114
14944
  );
15115
14945
  };
15116
14946
 
15117
- // src/atoms/Modal/Modal.tsx
14947
+ // src/molecules/DatePicker/DatePicker.tsx
14948
+ var DatePickerClearButton = () => {
14949
+ const state = import_react95.default.useContext(import_react_aria_components11.DatePickerStateContext);
14950
+ if (!state) {
14951
+ throw new Error("DatePickerStateContext is missing a provider");
14952
+ }
14953
+ if (!state.value) {
14954
+ return null;
14955
+ }
14956
+ return /* @__PURE__ */ import_react95.default.createElement(
14957
+ ClearInputButton,
14958
+ {
14959
+ onPress: () => {
14960
+ state.setValue(null);
14961
+ }
14962
+ }
14963
+ );
14964
+ };
14965
+ DatePickerClearButton.displayName = "DatePicker.ClearButton";
14966
+ var CalendarTimeField = ({ granularity, labelText = "Time", ...props }) => {
14967
+ const ctx = import_react95.default.useContext(import_react_aria_components11.DatePickerStateContext);
14968
+ return /* @__PURE__ */ import_react95.default.createElement(
14969
+ TimeField2,
14970
+ {
14971
+ ...props,
14972
+ labelText,
14973
+ granularity: granularity !== "day" ? granularity : void 0,
14974
+ value: ctx?.timeValue,
14975
+ onChange: (value) => value && ctx?.setTimeValue(value),
14976
+ reserveSpaceForError: false
14977
+ }
14978
+ );
14979
+ };
14980
+ var DatePickerCalendarPropsContext = import_react95.default.createContext(null);
14981
+ var DatePickerCalendar = (props) => {
14982
+ const ctx = import_react95.default.useContext(DatePickerCalendarPropsContext);
14983
+ const { variant, granularity, errorMessage, presets = [] } = (0, import_utils24.mergeProps)(ctx, props);
14984
+ const { dialog, calendar, errorMessage: errorMessageStyle } = datePickerCalendarStyles();
14985
+ return /* @__PURE__ */ import_react95.default.createElement(Popover, { offset: 0 }, /* @__PURE__ */ import_react95.default.createElement(Dialog, { className: dialog() }, presets.length > 0 && /* @__PURE__ */ import_react95.default.createElement(Presets, null, presets.map((props2) => /* @__PURE__ */ import_react95.default.createElement(Preset, { key: props2.value.toString(), ...props2 }))), /* @__PURE__ */ import_react95.default.createElement(Spacing, { gap: "3", className: tw("p-5") }, /* @__PURE__ */ import_react95.default.createElement(Calendar, { className: calendar() }), 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))));
14986
+ };
14987
+ DatePickerCalendar.displayName = "DatePicker.Calendar";
14988
+ var DatePickerField = ({ clearSelectionEnabled = true, disabled = false }) => {
14989
+ 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)));
14990
+ };
14991
+ DatePickerField.displayName = "DatePicker.Field";
14992
+ var createDatePickerBase = (variant) => {
14993
+ const datePicker = ({
14994
+ disabled,
14995
+ valid,
14996
+ shouldCloseOnSelect,
14997
+ errorMessage,
14998
+ clearSelectionEnabled = true,
14999
+ presets,
15000
+ children,
15001
+ ...props
15002
+ }) => {
15003
+ 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));
15004
+ return /* @__PURE__ */ import_react95.default.createElement(
15005
+ DatePickerCalendarPropsContext.Provider,
15006
+ {
15007
+ value: { variant, granularity: props.granularity, errorMessage, presets }
15008
+ },
15009
+ /* @__PURE__ */ import_react95.default.createElement(DatePicker, { ...props, variant, isDisabled: disabled, isInvalid: valid === false }, content)
15010
+ );
15011
+ };
15012
+ datePicker.Calendar = DatePickerCalendar;
15013
+ datePicker.Field = DatePickerField;
15014
+ datePicker.displayName = variant === "date" ? "DatePickerBase" : "DateTimePickerBase";
15015
+ return datePicker;
15016
+ };
15017
+ var DatePickerBase = createDatePickerBase("date");
15018
+ var DateTimePickerBase = createDatePickerBase("datetime");
15019
+ var createDatePicker = (variant) => {
15020
+ const datePicker = (props) => {
15021
+ const { labelProps, fieldProps } = (0, import_label2.useLabel)({ "label": props.labelText, "aria-label": props["aria-label"] });
15022
+ const errorMessageId = (0, import_utils24.useId)();
15023
+ const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId, "errorMessage": props.helperText ?? props.error } : {};
15024
+ const { "data-testid": dataTestId, ...labelControlProps } = getLabelControlProps(props);
15025
+ const baseProps = (0, import_lodash_es33.omit)(props, Object.keys(labelControlProps));
15026
+ const allProps = { ...baseProps, ...fieldProps, ...errorProps, disabled: props.disabled, valid: props.valid };
15027
+ 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 }));
15028
+ };
15029
+ datePicker.Calendar = DatePickerCalendar;
15030
+ datePicker.Field = DatePickerField;
15031
+ datePicker.displayName = variant === "date" ? "DatePicker" : "DateTimePicker";
15032
+ return datePicker;
15033
+ };
15034
+ var DatePicker2 = createDatePicker("date");
15035
+ var DateTimePicker = createDatePicker("datetime");
15036
+
15037
+ // src/molecules/DatePicker/DateRangePicker.tsx
15038
+ var import_react97 = __toESM(require("react"));
15039
+ var import_react_aria_components13 = require("react-aria-components");
15040
+ var import_label3 = require("@react-aria/label");
15041
+ var import_utils26 = require("@react-aria/utils");
15042
+ var import_lodash_es34 = require("lodash-es");
15043
+
15044
+ // src/atoms/DatePicker/RangeCalendar.tsx
15045
+ var import_react96 = __toESM(require("react"));
15046
+ var import_react_aria_components12 = require("react-aria-components");
15047
+ var import_tailwind_variants12 = require("tailwind-variants");
15048
+ var cell = (0, import_tailwind_variants12.tv)({
15049
+ extend: focusRing,
15050
+ base: "w-full h-full flex items-center justify-center rounded-md text-default",
15051
+ variants: {
15052
+ selectionState: {
15053
+ none: "group-hover:bg-default group-pressed:bg-intense",
15054
+ middle: [
15055
+ "text-white",
15056
+ "group-hover:bg-primary-default",
15057
+ "group-invalid:group-hover:bg-danger-default",
15058
+ "group-pressed:bg-primary-intense",
15059
+ "group-invalid:group-pressed:bg-danger-intense"
15060
+ ],
15061
+ cap: "text-white bg-primary-default group-invalid:bg-danger-default"
15062
+ },
15063
+ isUnavailable: {
15064
+ true: "text-inactive"
15065
+ },
15066
+ isDisabled: {
15067
+ true: "text-inactive"
15068
+ }
15069
+ }
15070
+ });
15071
+ function RangeCalendar(props) {
15072
+ 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(
15073
+ import_react_aria_components12.CalendarCell,
15074
+ {
15075
+ date,
15076
+ className: tw(
15077
+ "group w-8 h-8 typography-small outline outline-0 cursor-default",
15078
+ "outside-month:hidden selected:bg-primary-default",
15079
+ "invalid:selected:bg-danger-default",
15080
+ "selection-start:rounded-s-md selection-end:rounded-e-md"
15081
+ )
15082
+ },
15083
+ ({ formattedDate, isSelected, isSelectionStart, isSelectionEnd, ...rest }) => /* @__PURE__ */ import_react96.default.createElement(
15084
+ "span",
15085
+ {
15086
+ className: cell({
15087
+ selectionState: isSelected && (isSelectionStart || isSelectionEnd) ? "cap" : isSelected ? "middle" : "none",
15088
+ ...rest
15089
+ })
15090
+ },
15091
+ formattedDate
15092
+ )
15093
+ ))));
15094
+ }
15095
+
15096
+ // src/molecules/DatePicker/DateRangePicker.tsx
15097
+ function DateRangePickerClearButton() {
15098
+ const state = import_react97.default.useContext(import_react_aria_components13.DateRangePickerStateContext);
15099
+ if (!state) {
15100
+ throw new Error("DateRangePickerStateContext is missing a provider");
15101
+ }
15102
+ if (!state.value.start && !state.value.end) {
15103
+ return null;
15104
+ }
15105
+ return /* @__PURE__ */ import_react97.default.createElement(
15106
+ ClearInputButton,
15107
+ {
15108
+ onPress: () => {
15109
+ state.setValue(null);
15110
+ }
15111
+ }
15112
+ );
15113
+ }
15114
+ var RangeCalendarTimeField = ({ granularity, part, ...props }) => {
15115
+ const ctx = import_react97.default.useContext(import_react_aria_components13.DateRangePickerStateContext);
15116
+ const labelText = props.labelText ?? (part === "start" ? "Start time" : "End time");
15117
+ return /* @__PURE__ */ import_react97.default.createElement(
15118
+ TimeField2,
15119
+ {
15120
+ ...props,
15121
+ labelText,
15122
+ granularity: granularity !== "day" ? granularity : void 0,
15123
+ value: ctx?.timeRange?.[part] ?? null,
15124
+ onChange: (value) => ctx?.setTime(part, value),
15125
+ reserveSpaceForError: false
15126
+ }
15127
+ );
15128
+ };
15129
+ var DateRangePickerCalendarPropsContext = import_react97.default.createContext(null);
15130
+ var DateRangePickerCalendar = (props) => {
15131
+ const ctx = import_react97.default.useContext(DateRangePickerCalendarPropsContext);
15132
+ const { variant, granularity, errorMessage, presets = [] } = (0, import_utils26.mergeProps)(ctx, props);
15133
+ const { dialog, calendar, errorMessage: errorMessageStyle } = datePickerCalendarStyles();
15134
+ return /* @__PURE__ */ import_react97.default.createElement(Popover, { offset: 0 }, /* @__PURE__ */ import_react97.default.createElement(Dialog, { className: dialog() }, presets.length > 0 && /* @__PURE__ */ import_react97.default.createElement(Presets, null, presets.map((props2) => /* @__PURE__ */ import_react97.default.createElement(RangePreset, { key: `${props2.value.start.toString()}-${props2.value.end.toString()}`, ...props2 }))), /* @__PURE__ */ import_react97.default.createElement(Spacing, { gap: "3", className: tw("p-5") }, /* @__PURE__ */ import_react97.default.createElement(RangeCalendar, { className: calendar() }), 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))));
15135
+ };
15136
+ DateRangePickerCalendar.displayName = "DateRangePicker.Calendar";
15137
+ var DateRangePickerField = ({ clearSelectionEnabled = true, disabled = false }) => {
15138
+ 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)));
15139
+ };
15140
+ DateRangePickerField.displayName = "DateRangePicker.Field";
15141
+ var createDateRangePickerBase = (variant) => {
15142
+ const dateRangePicker = ({
15143
+ disabled,
15144
+ valid,
15145
+ shouldCloseOnSelect,
15146
+ errorMessage,
15147
+ clearSelectionEnabled = true,
15148
+ presets,
15149
+ children,
15150
+ ...props
15151
+ }) => {
15152
+ 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 }));
15153
+ return /* @__PURE__ */ import_react97.default.createElement(
15154
+ DateRangePickerCalendarPropsContext.Provider,
15155
+ {
15156
+ value: { variant, granularity: props.granularity, errorMessage, presets }
15157
+ },
15158
+ /* @__PURE__ */ import_react97.default.createElement(DateRangePicker, { ...props, variant, isDisabled: disabled, isInvalid: valid === false }, content)
15159
+ );
15160
+ };
15161
+ dateRangePicker.Calendar = DateRangePickerCalendar;
15162
+ dateRangePicker.Field = DateRangePickerField;
15163
+ dateRangePicker.displayName = variant === "date" ? "DateRangePickerBase" : "DateTimeRangePickerBase";
15164
+ return dateRangePicker;
15165
+ };
15166
+ var DateRangePickerBase = createDateRangePickerBase("date");
15167
+ var DateTimeRangePickerBase = createDateRangePickerBase("datetime");
15168
+ var createDateRangePicker = (variant) => {
15169
+ const dateRangePicker = (props) => {
15170
+ const { labelProps, fieldProps } = (0, import_label3.useLabel)({ "label": props.labelText, "aria-label": props["aria-label"] });
15171
+ const errorMessageId = (0, import_utils26.useId)();
15172
+ const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId, "errorMessage": props.helperText ?? props.error } : {};
15173
+ const { "data-testid": dataTestId, ...labelControlProps } = getLabelControlProps(props);
15174
+ const baseProps = (0, import_lodash_es34.omit)(props, Object.keys(labelControlProps));
15175
+ const allProps = { ...baseProps, ...fieldProps, ...errorProps, disabled: props.disabled, valid: props.valid };
15176
+ 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 }));
15177
+ };
15178
+ dateRangePicker.Calendar = DateRangePickerCalendar;
15179
+ dateRangePicker.Field = DateRangePickerField;
15180
+ dateRangePicker.displayName = variant === "date" ? "DateRangePicker" : "DateTimeRangePicker";
15181
+ return dateRangePicker;
15182
+ };
15183
+ var DateRangePicker2 = createDateRangePicker("date");
15184
+ var DateTimeRangePicker = createDateRangePicker("datetime");
15185
+
15186
+ // src/molecules/Dialog/Dialog.tsx
15118
15187
  var import_react99 = __toESM(require("react"));
15119
- var import_tailwind_variants11 = require("tailwind-variants");
15120
- var modalStyles = (0, import_tailwind_variants11.tv)({
15188
+ var import_dialog = require("@react-aria/dialog");
15189
+ var import_overlays6 = require("@react-aria/overlays");
15190
+ var import_utils27 = require("@react-aria/utils");
15191
+ var import_overlays7 = require("@react-stately/overlays");
15192
+ var import_lodash_es35 = require("lodash-es");
15193
+
15194
+ // src/atoms/Modal/Modal.tsx
15195
+ var import_react98 = __toESM(require("react"));
15196
+ var import_tailwind_variants13 = require("tailwind-variants");
15197
+ var modalStyles = (0, import_tailwind_variants13.tv)({
15121
15198
  slots: {
15122
15199
  overlay: "inset-0 overflow-y-auto z-modal fixed",
15123
15200
  backdrop: "-z-10 fixed min-w-full min-h-full bg-body-intense opacity-70",
@@ -15220,55 +15297,55 @@ var Modal = ({
15220
15297
  ...rest
15221
15298
  }) => {
15222
15299
  const { overlay } = modalStyles({ kind });
15223
- return open ? /* @__PURE__ */ import_react99.default.createElement("div", { ...rest, className: overlay({ className }) }, children) : null;
15300
+ return open ? /* @__PURE__ */ import_react98.default.createElement("div", { ...rest, className: overlay({ className }) }, children) : null;
15224
15301
  };
15225
15302
  Modal.BackDrop = ({ className, ...rest }) => {
15226
15303
  const { backdrop } = modalStyles();
15227
- return /* @__PURE__ */ import_react99.default.createElement("div", { ...rest, className: backdrop({ className }) });
15304
+ return /* @__PURE__ */ import_react98.default.createElement("div", { ...rest, className: backdrop({ className }) });
15228
15305
  };
15229
- Modal.Dialog = import_react99.default.forwardRef(
15306
+ Modal.Dialog = import_react98.default.forwardRef(
15230
15307
  ({ kind = "dialog", children, className, size = "md", ...rest }, ref) => {
15231
15308
  const { dialog } = modalStyles({ kind, size });
15232
- return /* @__PURE__ */ import_react99.default.createElement("div", { ref, "aria-modal": "true", ...rest, className: dialog({ className }) }, children);
15309
+ return /* @__PURE__ */ import_react98.default.createElement("div", { ref, "aria-modal": "true", ...rest, className: dialog({ className }) }, children);
15233
15310
  }
15234
15311
  );
15235
15312
  Modal.Header = ({ kind = "dialog", size = "md", children, className, ...rest }) => {
15236
15313
  const { header } = modalStyles({ kind, size });
15237
- return /* @__PURE__ */ import_react99.default.createElement("div", { ...rest, className: header({ className }) }, children);
15314
+ return /* @__PURE__ */ import_react98.default.createElement("div", { ...rest, className: header({ className }) }, children);
15238
15315
  };
15239
15316
  Modal.HeaderImage = ({ backgroundImage, className, ...rest }) => {
15240
15317
  const { headerImage } = modalStyles({ backgroundImage: Boolean(backgroundImage) });
15241
- 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 }) });
15318
+ 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 }) });
15242
15319
  };
15243
15320
  Modal.CloseButtonContainer = ({ className, ...rest }) => {
15244
15321
  const { closeButtonContainer } = modalStyles();
15245
- return /* @__PURE__ */ import_react99.default.createElement("div", { ...rest, className: closeButtonContainer({ className }) });
15322
+ return /* @__PURE__ */ import_react98.default.createElement("div", { ...rest, className: closeButtonContainer({ className }) });
15246
15323
  };
15247
15324
  Modal.Title = ({ kind = "dialog", children, className, ...rest }) => {
15248
15325
  const { title } = modalStyles({ kind });
15249
- return /* @__PURE__ */ import_react99.default.createElement(Typography, { htmlTag: "h2", variant: "subheading", color: "intense", className: title({ className }), ...rest }, children);
15326
+ return /* @__PURE__ */ import_react98.default.createElement(Typography, { htmlTag: "h2", variant: "subheading", color: "intense", className: title({ className }), ...rest }, children);
15250
15327
  };
15251
- Modal.Subtitle = ({ children, ...rest }) => /* @__PURE__ */ import_react99.default.createElement(Typography, { variant: "small", color: "default", ...rest }, children);
15328
+ Modal.Subtitle = ({ children, ...rest }) => /* @__PURE__ */ import_react98.default.createElement(Typography, { variant: "small", color: "default", ...rest }, children);
15252
15329
  Modal.TitleContainer = ({ children, className, ...rest }) => {
15253
15330
  const { titleContainer } = modalStyles();
15254
- return /* @__PURE__ */ import_react99.default.createElement("div", { ...rest, className: titleContainer({ className }) }, children);
15331
+ return /* @__PURE__ */ import_react98.default.createElement("div", { ...rest, className: titleContainer({ className }) }, children);
15255
15332
  };
15256
15333
  Modal.Body = ({ children, className, noFooter = false, maxHeight, style, ...rest }) => {
15257
15334
  const { body } = modalStyles();
15258
- return /* @__PURE__ */ import_react99.default.createElement("div", { ...rest, className: body({ noFooter, className }), style: { maxHeight, ...style } }, children);
15335
+ return /* @__PURE__ */ import_react98.default.createElement("div", { ...rest, className: body({ noFooter, className }), style: { maxHeight, ...style } }, children);
15259
15336
  };
15260
15337
  Modal.Footer = ({ children, className, ...rest }) => {
15261
15338
  const { footer } = modalStyles();
15262
- return /* @__PURE__ */ import_react99.default.createElement("div", { ...rest, className: footer({ className }) }, children);
15339
+ return /* @__PURE__ */ import_react98.default.createElement("div", { ...rest, className: footer({ className }) }, children);
15263
15340
  };
15264
15341
  Modal.Actions = ({ children, className, ...rest }) => {
15265
15342
  const { actions } = modalStyles();
15266
- return /* @__PURE__ */ import_react99.default.createElement("div", { ...rest, className: actions({ className }) }, children);
15343
+ return /* @__PURE__ */ import_react98.default.createElement("div", { ...rest, className: actions({ className }) }, children);
15267
15344
  };
15268
15345
 
15269
15346
  // src/molecules/Dialog/Dialog.tsx
15270
- var Dialog3 = (props) => {
15271
- const ref = import_react100.default.useRef(null);
15347
+ var Dialog2 = (props) => {
15348
+ const ref = import_react99.default.useRef(null);
15272
15349
  const { open, onClose } = props;
15273
15350
  const state = (0, import_overlays7.useOverlayTriggerState)({ isOpen: open, onOpenChange: (isOpen) => !isOpen && onClose?.() });
15274
15351
  const { modalProps, underlayProps } = (0, import_overlays6.useModalOverlay)(
@@ -15279,7 +15356,7 @@ var Dialog3 = (props) => {
15279
15356
  if (!state.isOpen) {
15280
15357
  return null;
15281
15358
  }
15282
- 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 }))));
15359
+ 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 }))));
15283
15360
  };
15284
15361
  var DialogWrapper = ({
15285
15362
  title,
@@ -15288,7 +15365,7 @@ var DialogWrapper = ({
15288
15365
  primaryAction,
15289
15366
  secondaryAction
15290
15367
  }) => {
15291
- const ref = import_react100.default.useRef(null);
15368
+ const ref = import_react99.default.useRef(null);
15292
15369
  const labelledBy = (0, import_utils27.useId)();
15293
15370
  const describedBy = (0, import_utils27.useId)();
15294
15371
  const { dialogProps } = (0, import_dialog.useDialog)(
@@ -15299,35 +15376,35 @@ var DialogWrapper = ({
15299
15376
  },
15300
15377
  ref
15301
15378
  );
15302
- 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))));
15379
+ 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))));
15303
15380
  };
15304
15381
 
15305
15382
  // src/molecules/Drawer/Drawer.tsx
15306
- var import_react103 = __toESM(require("react"));
15307
- var import_react_aria_components17 = require("react-aria-components");
15383
+ var import_react102 = __toESM(require("react"));
15384
+ var import_react_aria_components15 = require("react-aria-components");
15308
15385
  var import_web5 = require("@react-spring/web");
15309
15386
  var import_lodash_es37 = require("lodash-es");
15310
15387
 
15311
15388
  // src/molecules/Modal/ModalTitle.tsx
15312
- var import_react101 = __toESM(require("react"));
15313
- var import_react_aria_components16 = require("react-aria-components");
15389
+ var import_react100 = __toESM(require("react"));
15390
+ var import_react_aria_components14 = require("react-aria-components");
15314
15391
  var ModalTitle = ({ children, ...props }) => {
15315
- const [ctxProps] = (0, import_react_aria_components16.useContextProps)({ ...props, slot: "title" }, null, import_react_aria_components16.HeadingContext);
15316
- return /* @__PURE__ */ import_react101.default.createElement(Modal.Title, { id: ctxProps.id, ...props }, children);
15392
+ const [ctxProps] = (0, import_react_aria_components14.useContextProps)({ ...props, slot: "title" }, null, import_react_aria_components14.HeadingContext);
15393
+ return /* @__PURE__ */ import_react100.default.createElement(Modal.Title, { id: ctxProps.id, ...props }, children);
15317
15394
  };
15318
15395
 
15319
15396
  // src/molecules/Tabs/Tabs.tsx
15320
- var import_react102 = __toESM(require("react"));
15397
+ var import_react101 = __toESM(require("react"));
15321
15398
  var import_lodash_es36 = require("lodash-es");
15322
15399
  var import_chevronLeft5 = __toESM(require_chevronLeft());
15323
15400
  var import_chevronRight5 = __toESM(require_chevronRight());
15324
15401
  var import_warningSign4 = __toESM(require_warningSign());
15325
15402
  var isTabComponent = (c) => {
15326
- return import_react102.default.isValidElement(c) && (c.type === Tab || c.type === ModalTab);
15403
+ return import_react101.default.isValidElement(c) && (c.type === Tab || c.type === ModalTab);
15327
15404
  };
15328
- var Tab = import_react102.default.forwardRef(
15405
+ var Tab = import_react101.default.forwardRef(
15329
15406
  ({ className, id, title, children }, ref) => {
15330
- return /* @__PURE__ */ import_react102.default.createElement(
15407
+ return /* @__PURE__ */ import_react101.default.createElement(
15331
15408
  "div",
15332
15409
  {
15333
15410
  ref,
@@ -15341,10 +15418,10 @@ var Tab = import_react102.default.forwardRef(
15341
15418
  );
15342
15419
  }
15343
15420
  );
15344
- var TabContainer = ({ className, children, ...rest }) => /* @__PURE__ */ import_react102.default.createElement("div", { ...rest, className: classNames("py-6 z-0", className) }, children);
15421
+ var TabContainer = ({ className, children, ...rest }) => /* @__PURE__ */ import_react101.default.createElement("div", { ...rest, className: classNames("py-6 z-0", className) }, children);
15345
15422
  var ModalTab = Tab;
15346
15423
  var asTabItem = (Component, displayName, { defaultUnderlineHidden } = {}) => {
15347
- const Tab2 = import_react102.default.forwardRef(
15424
+ const Tab2 = import_react101.default.forwardRef(
15348
15425
  ({
15349
15426
  id,
15350
15427
  value,
@@ -15363,11 +15440,11 @@ var asTabItem = (Component, displayName, { defaultUnderlineHidden } = {}) => {
15363
15440
  const _id = id ?? (0, import_lodash_es36.kebabCase)(title);
15364
15441
  let statusIcon = void 0;
15365
15442
  if (status === "warning") {
15366
- statusIcon = /* @__PURE__ */ import_react102.default.createElement(InlineIcon, { icon: import_warningSign4.default, color: selected ? void 0 : "warning-default" });
15443
+ statusIcon = /* @__PURE__ */ import_react101.default.createElement(InlineIcon, { icon: import_warningSign4.default, color: selected ? void 0 : "warning-default" });
15367
15444
  } else if (status === "error") {
15368
- statusIcon = /* @__PURE__ */ import_react102.default.createElement(InlineIcon, { icon: import_warningSign4.default, color: selected ? void 0 : "danger-default" });
15445
+ statusIcon = /* @__PURE__ */ import_react101.default.createElement(InlineIcon, { icon: import_warningSign4.default, color: selected ? void 0 : "danger-default" });
15369
15446
  }
15370
- const tab = /* @__PURE__ */ import_react102.default.createElement(
15447
+ const tab = /* @__PURE__ */ import_react101.default.createElement(
15371
15448
  Component,
15372
15449
  {
15373
15450
  ref,
@@ -15388,7 +15465,7 @@ var asTabItem = (Component, displayName, { defaultUnderlineHidden } = {}) => {
15388
15465
  tabIndex: disabled ? void 0 : 0,
15389
15466
  ...rest
15390
15467
  },
15391
- /* @__PURE__ */ import_react102.default.createElement(
15468
+ /* @__PURE__ */ import_react101.default.createElement(
15392
15469
  Typography2,
15393
15470
  {
15394
15471
  htmlTag: "div",
@@ -15396,8 +15473,8 @@ var asTabItem = (Component, displayName, { defaultUnderlineHidden } = {}) => {
15396
15473
  color: selected ? "primary-default" : disabled ? "default" : "current",
15397
15474
  className: tw("inline-flex items-center gap-3")
15398
15475
  },
15399
- 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),
15400
- (0, import_lodash_es36.isNumber)(badge) && /* @__PURE__ */ import_react102.default.createElement(
15476
+ 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),
15477
+ (0, import_lodash_es36.isNumber)(badge) && /* @__PURE__ */ import_react101.default.createElement(
15401
15478
  Typography2,
15402
15479
  {
15403
15480
  htmlTag: "span",
@@ -15405,7 +15482,7 @@ var asTabItem = (Component, displayName, { defaultUnderlineHidden } = {}) => {
15405
15482
  color: selected ? "primary-intense" : "grey-5",
15406
15483
  className: "leading-none"
15407
15484
  },
15408
- /* @__PURE__ */ import_react102.default.createElement(
15485
+ /* @__PURE__ */ import_react101.default.createElement(
15409
15486
  TabBadge,
15410
15487
  {
15411
15488
  kind: "filled",
@@ -15417,7 +15494,7 @@ var asTabItem = (Component, displayName, { defaultUnderlineHidden } = {}) => {
15417
15494
  statusIcon
15418
15495
  )
15419
15496
  );
15420
- return tooltip ? /* @__PURE__ */ import_react102.default.createElement(Tooltip, { content: tooltip }, tab) : tab;
15497
+ return tooltip ? /* @__PURE__ */ import_react101.default.createElement(Tooltip, { content: tooltip }, tab) : tab;
15421
15498
  }
15422
15499
  );
15423
15500
  Tab2.displayName = displayName;
@@ -15428,19 +15505,19 @@ var CARET_OFFSET = 24;
15428
15505
  var createTabsComponent = (TabComponent, TabItemComponent, displayName, renderChildren) => {
15429
15506
  const Tabs2 = (props) => {
15430
15507
  const { className, value, defaultValue, onChange, children } = props;
15431
- const childArr = import_react102.default.Children.toArray(children);
15508
+ const childArr = import_react101.default.Children.toArray(children);
15432
15509
  const firstTab = childArr[0];
15433
15510
  const firstTabValue = isTabComponent(firstTab) ? firstTab.props.value : -1;
15434
- const [selected, setSelected] = (0, import_react102.useState)(value ?? defaultValue ?? firstTabValue ?? 0);
15435
- const [leftCaret, showLeftCaret] = (0, import_react102.useState)(false);
15436
- const [rightCaret, showRightCaret] = (0, import_react102.useState)(false);
15437
- const parentRef = (0, import_react102.useRef)(null);
15438
- const containerRef = (0, import_react102.useRef)(null);
15439
- const tabsRef = (0, import_react102.useRef)(null);
15511
+ const [selected, setSelected] = (0, import_react101.useState)(value ?? defaultValue ?? firstTabValue ?? 0);
15512
+ const [leftCaret, showLeftCaret] = (0, import_react101.useState)(false);
15513
+ const [rightCaret, showRightCaret] = (0, import_react101.useState)(false);
15514
+ const parentRef = (0, import_react101.useRef)(null);
15515
+ const containerRef = (0, import_react101.useRef)(null);
15516
+ const tabsRef = (0, import_react101.useRef)(null);
15440
15517
  const revealSelectedTab = ({ smooth }) => {
15441
15518
  const container = containerRef.current;
15442
15519
  const tabs = tabsRef.current;
15443
- const values = import_react102.default.Children.map(
15520
+ const values = import_react101.default.Children.map(
15444
15521
  children,
15445
15522
  (tab, i) => tab?.props.value ?? i
15446
15523
  );
@@ -15471,15 +15548,15 @@ var createTabsComponent = (TabComponent, TabItemComponent, displayName, renderCh
15471
15548
  showLeftCaret(hasLeftCaret);
15472
15549
  showRightCaret(hasRightCaret);
15473
15550
  };
15474
- (0, import_react102.useEffect)(() => {
15551
+ (0, import_react101.useEffect)(() => {
15475
15552
  if (value === void 0) {
15476
15553
  return;
15477
15554
  }
15478
15555
  updateCarets();
15479
15556
  setSelected(value);
15480
15557
  revealSelectedTab({ smooth: value !== selected });
15481
- }, [value, import_react102.default.Children.count(children)]);
15482
- (0, import_react102.useLayoutEffect)(() => {
15558
+ }, [value, import_react101.default.Children.count(children)]);
15559
+ (0, import_react101.useLayoutEffect)(() => {
15483
15560
  updateCarets();
15484
15561
  containerRef.current?.addEventListener("scroll", updateCarets);
15485
15562
  window.addEventListener("resize", updateCarets);
@@ -15540,12 +15617,12 @@ var createTabsComponent = (TabComponent, TabItemComponent, displayName, renderCh
15540
15617
  const handleSelected = (key) => {
15541
15618
  (onChange ?? setSelected)(key);
15542
15619
  };
15543
- import_react102.default.Children.forEach(children, (c) => {
15620
+ import_react101.default.Children.forEach(children, (c) => {
15544
15621
  if (c && !isTabComponent(c)) {
15545
15622
  throw new Error("<Tabs> can only have <Tabs.Tab> components as children");
15546
15623
  }
15547
15624
  });
15548
- 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(
15625
+ 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(
15549
15626
  "div",
15550
15627
  {
15551
15628
  ref: tabsRef,
@@ -15553,9 +15630,9 @@ var createTabsComponent = (TabComponent, TabItemComponent, displayName, renderCh
15553
15630
  "aria-label": "tabs",
15554
15631
  className: tw("inline-flex items-center cursor-pointer font-normal h-full")
15555
15632
  },
15556
- import_react102.default.Children.map(
15633
+ import_react101.default.Children.map(
15557
15634
  children,
15558
- (tab, index) => tab ? /* @__PURE__ */ import_react102.default.createElement(
15635
+ (tab, index) => tab ? /* @__PURE__ */ import_react101.default.createElement(
15559
15636
  TabItemComponent,
15560
15637
  {
15561
15638
  key: tab.props.value,
@@ -15567,26 +15644,26 @@ var createTabsComponent = (TabComponent, TabItemComponent, displayName, renderCh
15567
15644
  }
15568
15645
  ) : void 0
15569
15646
  )
15570
- )), 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(
15647
+ )), 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(
15571
15648
  "div",
15572
15649
  {
15573
15650
  onClick: () => handleScrollToNext("left"),
15574
15651
  className: tw("hover:bg-muted p-2 leading-none cursor-pointer")
15575
15652
  },
15576
- /* @__PURE__ */ import_react102.default.createElement(InlineIcon, { icon: import_chevronLeft5.default })
15577
- )), rightCaret && /* @__PURE__ */ import_react102.default.createElement(
15653
+ /* @__PURE__ */ import_react101.default.createElement(InlineIcon, { icon: import_chevronLeft5.default })
15654
+ )), rightCaret && /* @__PURE__ */ import_react101.default.createElement(
15578
15655
  "div",
15579
15656
  {
15580
15657
  onClick: () => handleScrollToNext("right"),
15581
15658
  className: tw("absolute right-0 bg-gradient-to-l from-white via-white z-20 py-3 pl-4")
15582
15659
  },
15583
- /* @__PURE__ */ import_react102.default.createElement(
15660
+ /* @__PURE__ */ import_react101.default.createElement(
15584
15661
  "div",
15585
15662
  {
15586
15663
  onClick: () => handleScrollToNext("right"),
15587
15664
  className: tw("hover:bg-muted p-2 leading-none cursor-pointer")
15588
15665
  },
15589
- /* @__PURE__ */ import_react102.default.createElement(InlineIcon, { icon: import_chevronRight5.default })
15666
+ /* @__PURE__ */ import_react101.default.createElement(InlineIcon, { icon: import_chevronRight5.default })
15590
15667
  )
15591
15668
  )), renderChildren(children, selected, props));
15592
15669
  };
@@ -15594,7 +15671,7 @@ var createTabsComponent = (TabComponent, TabItemComponent, displayName, renderCh
15594
15671
  Tabs2.Tab = TabComponent;
15595
15672
  return Tabs2;
15596
15673
  };
15597
- var Tabs = createTabsComponent(Tab, TabItem, "Tabs", (children, selected) => /* @__PURE__ */ import_react102.default.createElement(TabContainer, null, children.find(
15674
+ var Tabs = createTabsComponent(Tab, TabItem, "Tabs", (children, selected) => /* @__PURE__ */ import_react101.default.createElement(TabContainer, null, children.find(
15598
15675
  (node, index) => node?.props.value === selected || index === selected
15599
15676
  )));
15600
15677
 
@@ -15622,7 +15699,7 @@ var Drawer = ({
15622
15699
  secondaryActions,
15623
15700
  closeOnEsc = true
15624
15701
  }) => {
15625
- const [hidden, setHidden] = import_react103.default.useState(!open);
15702
+ const [hidden, setHidden] = import_react102.default.useState(!open);
15626
15703
  if (open && hidden) {
15627
15704
  setHidden(!open);
15628
15705
  }
@@ -15645,11 +15722,11 @@ var Drawer = ({
15645
15722
  }
15646
15723
  const dialogSize = size === "lg" ? "full" : size;
15647
15724
  const styles = modalStyles({ kind: "drawer", size: dialogSize });
15648
- const childElements = import_react103.default.Children.toArray(children).filter(import_react103.default.isValidElement);
15725
+ const childElements = import_react102.default.Children.toArray(children).filter(import_react102.default.isValidElement);
15649
15726
  const onlyChild = childElements.length === 1 ? childElements[0] : null;
15650
15727
  const hasTabs = isComponentType(onlyChild, Tabs);
15651
- return /* @__PURE__ */ import_react103.default.createElement(
15652
- import_react_aria_components17.ModalOverlay,
15728
+ return /* @__PURE__ */ import_react102.default.createElement(
15729
+ import_react_aria_components15.ModalOverlay,
15653
15730
  {
15654
15731
  isOpen: !hidden,
15655
15732
  onOpenChange: (isOpen) => !isOpen && onClose(),
@@ -15657,60 +15734,60 @@ var Drawer = ({
15657
15734
  isKeyboardDismissDisabled: !closeOnEsc,
15658
15735
  className: styles.overlay({ className: "Aquarium-Drawer" })
15659
15736
  },
15660
- /* @__PURE__ */ import_react103.default.createElement(AnimatedBackDrop, { style: { opacity } }),
15661
- /* @__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(
15737
+ /* @__PURE__ */ import_react102.default.createElement(AnimatedBackDrop, { style: { opacity } }),
15738
+ /* @__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(
15662
15739
  DrawerTabs,
15663
15740
  {
15664
15741
  ...onlyChild.props,
15665
15742
  className: tw("[&>div:first-child]:px-5 grow flex flex-col overflow-y-auto")
15666
15743
  }
15667
- ) : /* @__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)))))))
15744
+ ) : /* @__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)))))))
15668
15745
  );
15669
15746
  };
15670
- 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(
15747
+ 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(
15671
15748
  (node, index) => node?.props.value === selected || index === selected
15672
15749
  ))));
15673
15750
 
15674
15751
  // src/molecules/Dropdown/Dropdown.tsx
15675
- var import_react105 = __toESM(require("react"));
15676
- var import_react_aria_components19 = require("react-aria-components");
15752
+ var import_react104 = __toESM(require("react"));
15753
+ var import_react_aria_components17 = require("react-aria-components");
15677
15754
 
15678
15755
  // src/molecules/Popover/Popover.tsx
15679
- var import_react104 = __toESM(require("react"));
15680
- var import_react_aria_components18 = require("react-aria-components");
15756
+ var import_react103 = __toESM(require("react"));
15757
+ var import_react_aria_components16 = require("react-aria-components");
15681
15758
  var import_utils29 = require("@react-aria/utils");
15682
- var PopoverPropsContext = (0, import_react104.createContext)({});
15683
- var Popover3 = ({ children, onOpenChange: _onOpenChange, onClose, onOpen, ...props }) => {
15759
+ var PopoverPropsContext = (0, import_react103.createContext)({});
15760
+ var Popover2 = ({ children, onOpenChange: _onOpenChange, onClose, onOpen, ...props }) => {
15684
15761
  const onOpenChange = (isOpen) => {
15685
15762
  _onOpenChange?.(isOpen);
15686
15763
  isOpen ? onOpen?.() : onClose?.();
15687
15764
  };
15688
- return /* @__PURE__ */ import_react104.default.createElement(PopoverPropsContext.Provider, { value: props }, /* @__PURE__ */ import_react104.default.createElement(import_react_aria_components18.DialogTrigger, { ...props, onOpenChange }, children));
15765
+ return /* @__PURE__ */ import_react103.default.createElement(PopoverPropsContext.Provider, { value: props }, /* @__PURE__ */ import_react103.default.createElement(import_react_aria_components16.DialogTrigger, { ...props, onOpenChange }, children));
15689
15766
  };
15690
- Popover3.displayName = "Popover";
15767
+ Popover2.displayName = "Popover";
15691
15768
  var Trigger = ({ children }) => {
15692
- return /* @__PURE__ */ import_react104.default.createElement(Pressable, { "aria-haspopup": "true" }, children);
15769
+ return /* @__PURE__ */ import_react103.default.createElement(Pressable, { "aria-haspopup": "true" }, children);
15693
15770
  };
15694
15771
  Trigger.displayName = "Popover.Trigger";
15695
- Popover3.Trigger = Trigger;
15772
+ Popover2.Trigger = Trigger;
15696
15773
  var Panel = ({ className, children }) => {
15697
- const { offset = 0, onOpenChange, ...props } = import_react104.default.useContext(PopoverPropsContext);
15698
- return /* @__PURE__ */ import_react104.default.createElement(Popover, { ...props, className, offset }, /* @__PURE__ */ import_react104.default.createElement(Dialog2, null, children));
15774
+ const { offset = 0, onOpenChange, ...props } = import_react103.default.useContext(PopoverPropsContext);
15775
+ return /* @__PURE__ */ import_react103.default.createElement(Popover, { ...props, className, offset }, /* @__PURE__ */ import_react103.default.createElement(Dialog, null, children));
15699
15776
  };
15700
15777
  Panel.displayName = "Popover.Panel";
15701
- Popover3.Panel = Panel;
15778
+ Popover2.Panel = Panel;
15702
15779
  var CloseToggle = ({ children }) => {
15703
- const ctx = import_react104.default.useContext(import_react_aria_components18.OverlayTriggerStateContext);
15780
+ const ctx = import_react103.default.useContext(import_react_aria_components16.OverlayTriggerStateContext);
15704
15781
  const onClick = ctx?.close;
15705
- const child = import_react104.default.Children.only(children);
15706
- return import_react104.default.cloneElement(child, { ...(0, import_utils29.mergeProps)(child.props, { onClick }) });
15782
+ const child = import_react103.default.Children.only(children);
15783
+ return import_react103.default.cloneElement(child, { ...(0, import_utils29.mergeProps)(child.props, { onClick }) });
15707
15784
  };
15708
15785
  CloseToggle.displayName = "Popover.CloseToggle";
15709
- Popover3.CloseToggle = CloseToggle;
15786
+ Popover2.CloseToggle = CloseToggle;
15710
15787
 
15711
15788
  // src/molecules/Dropdown/Dropdown.tsx
15712
15789
  var Dropdown = ({ children, content, placement = "bottom-left" }) => {
15713
- 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));
15790
+ 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));
15714
15791
  };
15715
15792
  var DropdownMenu3 = ({
15716
15793
  title,
@@ -15719,13 +15796,13 @@ var DropdownMenu3 = ({
15719
15796
  triggerId,
15720
15797
  setClose = () => void 0
15721
15798
  }) => {
15722
- const menuRef = import_react105.default.useRef(null);
15723
- import_react105.default.useEffect(() => {
15799
+ const menuRef = import_react104.default.useRef(null);
15800
+ import_react104.default.useEffect(() => {
15724
15801
  const id = setTimeout(() => (menuRef.current?.children[0]).focus());
15725
15802
  return () => clearTimeout(id);
15726
15803
  }, [menuRef.current]);
15727
- 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) => {
15728
- return import_react105.default.cloneElement(child, { setClose });
15804
+ 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) => {
15805
+ return import_react104.default.cloneElement(child, { setClose });
15729
15806
  })));
15730
15807
  };
15731
15808
  var DropdownItem = ({
@@ -15738,7 +15815,7 @@ var DropdownItem = ({
15738
15815
  setClose = () => void 0,
15739
15816
  ...props
15740
15817
  }) => {
15741
- const ctx = import_react105.default.useContext(import_react_aria_components19.OverlayTriggerStateContext);
15818
+ const ctx = import_react104.default.useContext(import_react_aria_components17.OverlayTriggerStateContext);
15742
15819
  const handleSelect = () => {
15743
15820
  onSelect?.();
15744
15821
  ctx?.close();
@@ -15772,8 +15849,8 @@ var DropdownItem = ({
15772
15849
  handleSelect();
15773
15850
  }
15774
15851
  };
15775
- const itemContent = /* @__PURE__ */ import_react105.default.createElement("div", { className: tw("py-3 px-4") }, children);
15776
- return /* @__PURE__ */ import_react105.default.createElement(
15852
+ const itemContent = /* @__PURE__ */ import_react104.default.createElement("div", { className: tw("py-3 px-4") }, children);
15853
+ return /* @__PURE__ */ import_react104.default.createElement(
15777
15854
  "li",
15778
15855
  {
15779
15856
  role: "menuitem",
@@ -15790,14 +15867,14 @@ var DropdownItem = ({
15790
15867
  })
15791
15868
  )
15792
15869
  },
15793
- 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
15870
+ 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
15794
15871
  );
15795
15872
  };
15796
15873
  Dropdown.Menu = DropdownMenu3;
15797
15874
  Dropdown.Item = DropdownItem;
15798
15875
 
15799
15876
  // src/molecules/EmptyState/EmptyState.tsx
15800
- var import_react106 = __toESM(require("react"));
15877
+ var import_react105 = __toESM(require("react"));
15801
15878
  var EmptyStateLayout = /* @__PURE__ */ ((EmptyStateLayout2) => {
15802
15879
  EmptyStateLayout2["Vertical"] = "vertical";
15803
15880
  EmptyStateLayout2["Horizontal"] = "horizontal";
@@ -15835,7 +15912,7 @@ var EmptyState = ({
15835
15912
  fullHeight = isVerticalLayout(layout) ? true : false
15836
15913
  }) => {
15837
15914
  const template = layoutStyle(layout);
15838
- return /* @__PURE__ */ import_react106.default.createElement(
15915
+ return /* @__PURE__ */ import_react105.default.createElement(
15839
15916
  Box,
15840
15917
  {
15841
15918
  className: classNames(
@@ -15851,7 +15928,7 @@ var EmptyState = ({
15851
15928
  backgroundColor: "transparent",
15852
15929
  borderColor: "default"
15853
15930
  },
15854
- /* @__PURE__ */ import_react106.default.createElement(
15931
+ /* @__PURE__ */ import_react105.default.createElement(
15855
15932
  Box.Flex,
15856
15933
  {
15857
15934
  style: { gap: "56px" },
@@ -15860,19 +15937,144 @@ var EmptyState = ({
15860
15937
  alignItems: template.layout === "row" ? "center" : template.alignItems,
15861
15938
  height: fullHeight ? "full" : void 0
15862
15939
  },
15863
- Image2 && (typeof Image2 === "string" ? /* @__PURE__ */ import_react106.default.createElement(
15940
+ Image2 && (typeof Image2 === "string" ? /* @__PURE__ */ import_react105.default.createElement(
15864
15941
  "img",
15865
15942
  {
15866
15943
  src: Image2,
15867
15944
  alt: imageAlt,
15868
15945
  style: { width: imageWidth ? `${imageWidth}px` : void 0, height: "auto" }
15869
15946
  }
15870
- ) : /* @__PURE__ */ import_react106.default.createElement("div", { className: tw("animate-draw") }, /* @__PURE__ */ import_react106.default.createElement(Image2, null))),
15871
- /* @__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)))
15947
+ ) : /* @__PURE__ */ import_react105.default.createElement("div", { className: tw("animate-draw") }, /* @__PURE__ */ import_react105.default.createElement(Image2, null))),
15948
+ /* @__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)))
15872
15949
  )
15873
15950
  );
15874
15951
  };
15875
15952
 
15953
+ // src/atoms/Filter/Filter.tsx
15954
+ var import_react106 = __toESM(require("react"));
15955
+ var import_react_aria_components18 = require("react-aria-components");
15956
+ var import_tailwind_variants14 = require("tailwind-variants");
15957
+ var import_cross7 = __toESM(require_cross());
15958
+ var DATE_FORMAT_OPTIONS = {
15959
+ locale: "en-GB",
15960
+ options: { day: "numeric", month: "numeric", year: "numeric" }
15961
+ };
15962
+ var filterWrapper = (0, import_tailwind_variants14.tv)({
15963
+ 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",
15964
+ variants: {
15965
+ isHovered: {
15966
+ true: "hover:bg-muted"
15967
+ },
15968
+ isFocusWithin: {
15969
+ true: "border-solid border-info-default"
15970
+ },
15971
+ isInvalid: {
15972
+ true: "border-solid border-danger-default"
15973
+ },
15974
+ hasValue: {
15975
+ true: "border-solid"
15976
+ }
15977
+ }
15978
+ });
15979
+ var FilterTrigger = ({
15980
+ labelText,
15981
+ icon,
15982
+ badge,
15983
+ onClear,
15984
+ onClick,
15985
+ value,
15986
+ // children,
15987
+ error: error2 = false,
15988
+ ...props
15989
+ }) => {
15990
+ const ariaDatePickerState = import_react106.default.useContext(import_react_aria_components18.DatePickerStateContext);
15991
+ const ariaDateRangePickerState = import_react106.default.useContext(import_react_aria_components18.DateRangePickerStateContext);
15992
+ const isUsedInsideDatePicker = !!ariaDatePickerState?.value;
15993
+ const isUsedInsideDateRangePicker = !!ariaDateRangePickerState?.value.start && !!ariaDateRangePickerState.value.end;
15994
+ const onClearDatePickerRelated = () => {
15995
+ if (isUsedInsideDatePicker) {
15996
+ ariaDatePickerState.setValue(null);
15997
+ } else if (isUsedInsideDateRangePicker) {
15998
+ ariaDateRangePickerState.setValue(null);
15999
+ }
16000
+ };
16001
+ const hasValue = !!value || isUsedInsideDatePicker || isUsedInsideDateRangePicker;
16002
+ const showClearButton = !!onClear && !!value || isUsedInsideDatePicker || isUsedInsideDateRangePicker;
16003
+ return /* @__PURE__ */ import_react106.default.createElement(
16004
+ import_react_aria_components18.Group,
16005
+ {
16006
+ ...props,
16007
+ isInvalid: error2,
16008
+ className: (renderProps) => filterWrapper({ ...renderProps, hasValue: hasValue || !!badge })
16009
+ },
16010
+ /* @__PURE__ */ import_react106.default.createElement(import_react106.default.Fragment, null, /* @__PURE__ */ import_react106.default.createElement(
16011
+ import_react_aria_components18.Button,
16012
+ {
16013
+ onPress: () => {
16014
+ onClick && onClick();
16015
+ },
16016
+ className: tw("outline-0 outline-none flex items-center py-3 cursor-pointer", {
16017
+ "pl-4 pr-[6px]": showClearButton,
16018
+ // keep padding right the same as padding left of <FilterClearButton>
16019
+ "px-4": !showClearButton
16020
+ })
16021
+ },
16022
+ /* @__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(
16023
+ Typography2.Small,
16024
+ {
16025
+ className: tw("truncate max-w-[233px]"),
16026
+ color: error2 ? "danger-intense" : "primary-active"
16027
+ },
16028
+ value,
16029
+ isUsedInsideDatePicker && /* @__PURE__ */ import_react106.default.createElement(DateDisplay, { state: ariaDatePickerState }),
16030
+ isUsedInsideDateRangePicker && /* @__PURE__ */ import_react106.default.createElement(DateDisplay, { state: ariaDateRangePickerState })
16031
+ )))
16032
+ ), showClearButton && /* @__PURE__ */ import_react106.default.createElement(
16033
+ FilterClearButton,
16034
+ {
16035
+ onClear: () => {
16036
+ onClearDatePickerRelated();
16037
+ onClear?.();
16038
+ }
16039
+ }
16040
+ ))
16041
+ );
16042
+ };
16043
+ var isDateRangePickerState = (state) => {
16044
+ return "value" in state && state.value !== null && "start" in state.value;
16045
+ };
16046
+ var DateDisplay = ({ state }) => {
16047
+ 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);
16048
+ const secondary = isDateRangePickerState(state) ? state.formatValue(DATE_FORMAT_OPTIONS.locale, DATE_FORMAT_OPTIONS.options)?.end : void 0;
16049
+ 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)));
16050
+ };
16051
+ var FilterClearButton = ({ onClear }) => (
16052
+ // 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.
16053
+ /* @__PURE__ */ import_react106.default.createElement(
16054
+ "button",
16055
+ {
16056
+ "aria-label": "Clear filter",
16057
+ onClick: (e) => {
16058
+ e.preventDefault();
16059
+ e.stopPropagation();
16060
+ const previousButton = e.currentTarget.previousElementSibling;
16061
+ if (previousButton instanceof HTMLElement) {
16062
+ previousButton.focus();
16063
+ }
16064
+ onClear();
16065
+ },
16066
+ className: tw(
16067
+ "py-[10px] pl-[6px] pr-4 inline-flex items-center hover:bg-default focus:bg-default outline-0 outline-none rounded-r-full"
16068
+ // keep padding left the same as padding right of its button sibling.
16069
+ )
16070
+ },
16071
+ /* @__PURE__ */ import_react106.default.createElement(InlineIcon, { icon: import_cross7.default })
16072
+ )
16073
+ );
16074
+ var Filter = () => null;
16075
+ FilterTrigger.displayName = "Filter.Trigger";
16076
+ Filter.Trigger = FilterTrigger;
16077
+
15876
16078
  // src/molecules/LineClamp/LineClamp.tsx
15877
16079
  var import_react107 = __toESM(require("react"));
15878
16080
  var LineClamp2 = ({
@@ -15944,9 +16146,9 @@ var ListItem = ({ name, icon, active = false }) => {
15944
16146
 
15945
16147
  // src/molecules/Modal/Modal.tsx
15946
16148
  var import_react110 = __toESM(require("react"));
15947
- var import_react_aria_components20 = require("react-aria-components");
16149
+ var import_react_aria_components19 = require("react-aria-components");
15948
16150
  var import_lodash_es38 = require("lodash-es");
15949
- var import_cross7 = __toESM(require_cross());
16151
+ var import_cross8 = __toESM(require_cross());
15950
16152
  var Modal2 = ({
15951
16153
  open,
15952
16154
  onClose,
@@ -15965,7 +16167,7 @@ var Modal2 = ({
15965
16167
  const styles = modalStyles({ kind: "dialog", size });
15966
16168
  const hasTabs = isComponentType(children, ModalTabs);
15967
16169
  return /* @__PURE__ */ import_react110.default.createElement(
15968
- import_react_aria_components20.ModalOverlay,
16170
+ import_react_aria_components19.ModalOverlay,
15969
16171
  {
15970
16172
  isOpen: open,
15971
16173
  onOpenChange: (isOpen) => !isOpen && onClose(),
@@ -15974,7 +16176,7 @@ var Modal2 = ({
15974
16176
  className: styles.overlay({ className: "Aquarium-Modal" })
15975
16177
  },
15976
16178
  size !== "screen" && /* @__PURE__ */ import_react110.default.createElement(Modal.BackDrop, { className: styles.backdrop() }),
15977
- /* @__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(
16179
+ /* @__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(
15978
16180
  Modal.Header,
15979
16181
  {
15980
16182
  kind: "dialog",
@@ -16687,7 +16889,7 @@ var import_lodash_es43 = require("lodash-es");
16687
16889
 
16688
16890
  // src/atoms/PageHeader/PageHeader.tsx
16689
16891
  var import_react117 = __toESM(require("react"));
16690
- var PageHeader = ({ children, className, ...rest }) => /* @__PURE__ */ import_react117.default.createElement("div", { className: classNames(tw("flex flex-row gap-4 pb-6"), className), ...rest }, children);
16892
+ 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);
16691
16893
  PageHeader.Container = ({ children, className, ...rest }) => /* @__PURE__ */ import_react117.default.createElement("div", { className: classNames(tw("flex flex-col grow gap-0"), className), ...rest }, children);
16692
16894
  PageHeader.TitleContainer = ({ children, className, ...rest }) => /* @__PURE__ */ import_react117.default.createElement("div", { className: classNames(tw("flex flex-col justify-center gap-2"), className), ...rest }, children);
16693
16895
  PageHeader.Title = ({ isSubHeader = false, children, ...rest }) => /* @__PURE__ */ import_react117.default.createElement(
@@ -16747,9 +16949,9 @@ PageHeader2.SubHeader.displayName = "PageHeader.SubHeader";
16747
16949
 
16748
16950
  // src/molecules/Popover/PopoverContext.tsx
16749
16951
  var import_react119 = require("react");
16750
- var PopoverContext2 = (0, import_react119.createContext)(null);
16952
+ var PopoverContext = (0, import_react119.createContext)(null);
16751
16953
  var usePopoverContext = () => {
16752
- const ctx = (0, import_react119.useContext)(PopoverContext2);
16954
+ const ctx = (0, import_react119.useContext)(PopoverContext);
16753
16955
  if (ctx === null) {
16754
16956
  throw new Error("PopoverContext was used outside of provider.");
16755
16957
  }
@@ -16781,12 +16983,12 @@ var PopoverDialogPropsContext = (0, import_react121.createContext)({
16781
16983
  primaryAction: { text: "", onClick: import_lodash_es44.noop }
16782
16984
  });
16783
16985
  var PopoverDialog2 = ({ placement, open, children, ...props }) => {
16784
- return /* @__PURE__ */ import_react121.default.createElement(Popover3, { placement }, /* @__PURE__ */ import_react121.default.createElement(PopoverDialogPropsContext.Provider, { value: props }, children));
16986
+ return /* @__PURE__ */ import_react121.default.createElement(Popover2, { placement }, /* @__PURE__ */ import_react121.default.createElement(PopoverDialogPropsContext.Provider, { value: props }, children));
16785
16987
  };
16786
- PopoverDialog2.Trigger = Popover3.Trigger;
16988
+ PopoverDialog2.Trigger = Popover2.Trigger;
16787
16989
  var Prompt = ({ children }) => {
16788
16990
  const { title, primaryAction, secondaryAction } = import_react121.default.useContext(PopoverDialogPropsContext);
16789
- 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)))));
16991
+ 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)))));
16790
16992
  };
16791
16993
  Prompt.displayName = "PopoverDialog.Prompt";
16792
16994
  PopoverDialog2.Prompt = Prompt;
@@ -17520,7 +17722,7 @@ Timeline2.Skeleton.displayName = "Timeline.Skeleton";
17520
17722
 
17521
17723
  // src/molecules/TimePicker/TimePicker.tsx
17522
17724
  var import_react138 = __toESM(require("react"));
17523
- var TimePicker = (props) => /* @__PURE__ */ import_react138.default.createElement(TimeField, { ...props });
17725
+ var TimePicker = (props) => /* @__PURE__ */ import_react138.default.createElement(TimeField2, { ...props });
17524
17726
 
17525
17727
  // src/utils/table/sortByColumn.ts
17526
17728
  var sortByColumn = (items, column, sortState) => {
@@ -17821,6 +18023,7 @@ var system_default = {
17821
18023
  EmptyState,
17822
18024
  EmptyStateLayout,
17823
18025
  FileInput,
18026
+ Filter,
17824
18027
  FormControl,
17825
18028
  Grid,
17826
18029
  HelperText,