@aivenio/aquarium 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -82,7 +82,7 @@ This project requires certain environment variables to be set before commands su
82
82
 
83
83
  ### Developing in the context of your app
84
84
 
85
- To develop Aquarium components in the context of an application, it is easier to run a locally modified version of Aquarium in your application (e.g. Console).
85
+ To develop Aquarium components in the context of an application, it is easier to run a locally modified version of Aquarium in your application.
86
86
  There are two ways to do this: [npm link](https://docs.npmjs.com/cli/v7/commands/npm-link), or copying the module into your app. This allows you to make changes to components and instantly see the change in the context of the app.
87
87
 
88
88
  #### `npm link`
@@ -113,7 +113,15 @@ cd <path to ds> \
113
113
 
114
114
  #### `npm pack`
115
115
 
116
- Copy module is a hack which doesn't work when the dependencies have changed on the DS side since the last install in your app side. You can instead use `npm pack` to create a tarball (like what's published to the real npm) and install that to your app. Here's a snippet to do all that:
116
+ Copy module is a hack which doesn't work when the dependencies have changed on the DS side since the last install in your app side.
117
+
118
+ You can use `pack-and-install.sh` utility script to create local release package and install it to your local application.
119
+
120
+ ```sh
121
+ APP_PATH=<path to your app> ./pack-and-install.sh && <run dev/build command for your app>
122
+ ```
123
+
124
+ Or if you want, you can also run `npm pack` command manually and then install that to your app.
117
125
 
118
126
  ```sh
119
127
  cd <path to ds> \
package/dist/atoms.cjs CHANGED
@@ -1431,6 +1431,22 @@ var require_deliveryLocation = __commonJS({
1431
1431
  }
1432
1432
  });
1433
1433
 
1434
+ // src/icons/disasterRecovery.js
1435
+ var require_disasterRecovery = __commonJS({
1436
+ "src/icons/disasterRecovery.js"(exports) {
1437
+ "use strict";
1438
+ var data = {
1439
+ "body": '<mask id="svgIDa" fill="#fff"><path d="m13.838 8.734 1.983.731.515-1.396-1.983-.73zm-4.947.96 1.983.73.515-1.396-1.983-.73zM8.077 1.7l-3.73 10.128c.561-.45 1.211-.795 1.963-.814l2.693-7.312 9.639 3.55-1.388 3.773c.533.013 1.04.208 1.458.55l1.934-5.248zm4.88 9.491 1.983.73.515-1.395-1.984-.73zM9.772 7.237l1.984.73.514-1.395-1.983-.73zM2.748 15.91c.725.065 1.48-.262 2.082-.897l.219-.236c.184-.203.572-.627.9-.902.033.572.254 1.073.428 1.336a1.95 1.95 0 001.472.89c.759.067 1.616-.305 2.246-.968l.213-.231c.21-.23.655-.715 1.024-1.02a2.85 2.85 0 00.429 1.326c.346.523.87.837 1.474.89.761.064 1.622-.305 2.251-.968.065-.067.133-.143.205-.22.193-.211.655-.715 1.038-1.027a2.85 2.85 0 00.429 1.325c.369.557.912.892 1.528.944q.09.008.177.008c.665 0 1.346-.32 1.892-.894l-1.13-1.074c-.253.268-.564.426-.804.406-.088-.008-.22-.042-.361-.255-.096-.143-.263-.614-.107-.923l.237-.465-.34-.396a1.38 1.38 0 00-1.048-.499h-.024c-.912 0-1.734.814-2.63 1.797a9 9 0 01-.19.205c-.294.31-.692.504-.983.48-.093-.007-.203-.038-.31-.2-.095-.145-.262-.613-.106-.922l.229-.46-.343-.395a1.38 1.38 0 00-1.048-.5h-.02c-.986 0-1.89.991-2.62 1.79l-.198.212c-.292.31-.692.502-.978.481-.09-.008-.2-.039-.307-.2-.096-.143-.262-.614-.106-.923l.236-.465-.34-.395a1.4 1.4 0 00-1.066-.512h-.02c-.952 0-1.8.928-2.48 1.676-.074.078-.141.154-.201.219-.257.27-.577.434-.811.41-.088-.007-.218-.041-.356-.25l-1.3.864c.367.554.907.886 1.518.938m16.068 2.834c-.088-.008-.22-.042-.361-.255-.096-.143-.263-.613-.107-.923l.237-.465-.34-.395a1.38 1.38 0 00-1.048-.5h-.024c-.912 0-1.734.814-2.633 1.797a9 9 0 01-.19.205c-.294.31-.697.505-.983.481-.093-.008-.202-.039-.309-.2-.096-.145-.262-.613-.107-.923l.237-.465-.343-.395a1.38 1.38 0 00-1.048-.5h-.02c-.91 0-1.727.812-2.62 1.79l-.196.212c-.291.307-.691.505-.977.481-.091-.008-.2-.039-.307-.2-.096-.143-.263-.613-.107-.923l.237-.465-.34-.395a1.4 1.4 0 00-1.066-.512H6.38c-.952 0-1.8.928-2.48 1.676-.073.078-.14.154-.2.219-.258.27-.578.429-.811.41-.091-.007-.221-.041-.36-.25l-1.299.864c.367.554.907.887 1.518.939.72.06 1.48-.263 2.082-.897q.101-.111.219-.237c.184-.203.572-.626.9-.902a2.9 2.9 0 00.428 1.336c.346.523.871.837 1.472.89.756.064 1.616-.305 2.246-.968l.21-.229c.21-.228.655-.715 1.024-1.019a2.85 2.85 0 00.43 1.326c.345.523.87.837 1.473.89.757.064 1.622-.305 2.252-.968l.205-.22c.192-.211.655-.718 1.037-1.03.037.57.255 1.066.429 1.326.37.556.912.891 1.529.943q.091.008.176.008c.666 0 1.347-.32 1.893-.894l-1.134-1.069c-.252.268-.561.424-.803.406"/></mask><path fill="none" stroke="currentColor" stroke-miterlimit="16" stroke-width="1.6" d="m13.838 8.734 1.983.731.515-1.396-1.983-.73zm-4.947.96 1.983.73.515-1.396-1.983-.73zM8.077 1.7l-3.73 10.128c.561-.45 1.211-.795 1.963-.814l2.693-7.312 9.639 3.55-1.388 3.773c.533.013 1.04.208 1.458.55l1.934-5.248zm4.88 9.491 1.983.73.515-1.395-1.984-.73zM9.772 7.237l1.984.73.514-1.395-1.983-.73zM2.748 15.91c.725.065 1.48-.262 2.082-.897l.219-.236c.184-.203.572-.627.9-.902.033.572.254 1.073.428 1.336a1.95 1.95 0 001.472.89c.759.067 1.616-.305 2.246-.968l.213-.231c.21-.23.655-.715 1.024-1.02a2.85 2.85 0 00.429 1.326c.346.523.87.837 1.474.89.761.064 1.622-.305 2.251-.968.065-.067.133-.143.205-.22.193-.211.655-.715 1.038-1.027a2.85 2.85 0 00.429 1.325c.369.557.912.892 1.528.944q.09.008.177.008c.665 0 1.346-.32 1.892-.894l-1.13-1.074c-.253.268-.564.426-.804.406-.088-.008-.22-.042-.361-.255-.096-.143-.263-.614-.107-.923l.237-.465-.34-.396a1.38 1.38 0 00-1.048-.499h-.024c-.912 0-1.734.814-2.63 1.797a9 9 0 01-.19.205c-.294.31-.692.504-.983.48-.093-.007-.203-.038-.31-.2-.095-.145-.262-.613-.106-.922l.229-.46-.343-.395a1.38 1.38 0 00-1.048-.5h-.02c-.986 0-1.89.991-2.62 1.79l-.198.212c-.292.31-.692.502-.978.481-.09-.008-.2-.039-.307-.2-.096-.143-.262-.614-.106-.923l.236-.465-.34-.395a1.4 1.4 0 00-1.066-.512h-.02c-.952 0-1.8.928-2.48 1.676-.074.078-.141.154-.201.219-.257.27-.577.434-.811.41-.088-.007-.218-.041-.356-.25l-1.3.864c.367.554.907.886 1.518.938Zm16.068 2.834c-.088-.008-.22-.042-.361-.255-.096-.143-.263-.613-.107-.923l.237-.465-.34-.395a1.38 1.38 0 00-1.048-.5h-.024c-.912 0-1.734.814-2.633 1.797a9 9 0 01-.19.205c-.294.31-.697.505-.983.481-.093-.008-.202-.039-.309-.2-.096-.145-.262-.613-.107-.923l.237-.465-.343-.395a1.38 1.38 0 00-1.048-.5h-.02c-.91 0-1.727.812-2.62 1.79l-.196.212c-.291.307-.691.505-.977.481-.091-.008-.2-.039-.307-.2-.096-.143-.263-.613-.107-.923l.237-.465-.34-.395a1.4 1.4 0 00-1.066-.512H6.38c-.952 0-1.8.928-2.48 1.676-.073.078-.14.154-.2.219-.258.27-.578.429-.811.41-.091-.007-.221-.041-.36-.25l-1.299.864c.367.554.907.887 1.518.939.72.06 1.48-.263 2.082-.897q.101-.111.219-.237c.184-.203.572-.626.9-.902a2.9 2.9 0 00.428 1.336c.346.523.871.837 1.472.89.756.064 1.616-.305 2.246-.968l.21-.229c.21-.228.655-.715 1.024-1.019a2.85 2.85 0 00.43 1.326c.345.523.87.837 1.473.89.757.064 1.622-.305 2.252-.968l.205-.22c.192-.211.655-.718 1.037-1.03.037.57.255 1.066.429 1.326.37.556.912.891 1.529.943q.091.008.176.008c.666 0 1.347-.32 1.893-.894l-1.134-1.069c-.252.268-.561.424-.803.406Z" mask="url(#svgIDa)"/>',
1440
+ "left": 0,
1441
+ "top": 0,
1442
+ "width": 22,
1443
+ "height": 22
1444
+ };
1445
+ exports.__esModule = true;
1446
+ exports.default = data;
1447
+ }
1448
+ });
1449
+
1434
1450
  // src/icons/document.js
1435
1451
  var require_document = __commonJS({
1436
1452
  "src/icons/document.js"(exports) {
@@ -4207,6 +4223,7 @@ __export(atoms_exports, {
4207
4223
  getTitleContent: () => getTitleContent,
4208
4224
  getValues: () => getValues,
4209
4225
  isOptionDisabledBuiltin: () => isOptionDisabledBuiltin,
4226
+ modalStyles: () => modalStyles,
4210
4227
  rowClassNames: () => rowClassNames
4211
4228
  });
4212
4229
  module.exports = __toCommonJS(atoms_exports);
@@ -6239,6 +6256,7 @@ var import_dataflow03 = __toESM(require_dataflow03());
6239
6256
  var import_dbBackup = __toESM(require_dbBackup());
6240
6257
  var import_delete = __toESM(require_delete());
6241
6258
  var import_deliveryLocation = __toESM(require_deliveryLocation());
6259
+ var import_disasterRecovery = __toESM(require_disasterRecovery());
6242
6260
  var import_document = __toESM(require_document());
6243
6261
  var import_dot = __toESM(require_dot());
6244
6262
  var import_doubleCaretHorizontal = __toESM(require_doubleCaretHorizontal());
@@ -8572,6 +8590,102 @@ var Link = (_a) => {
8572
8590
 
8573
8591
  // src/atoms/Modal/Modal.tsx
8574
8592
  var import_react36 = __toESM(require("react"));
8593
+ var import_tailwind_variants = require("tailwind-variants");
8594
+ var modalStyles = (0, import_tailwind_variants.tv)({
8595
+ slots: {
8596
+ overlay: "inset-0 overflow-y-auto z-modal fixed",
8597
+ backdrop: "-z-10 fixed min-w-full min-h-full bg-body-intense opacity-70",
8598
+ dialog: "bg-popover-content max-h-full flex flex-col",
8599
+ header: "pl-7 pr-[64px] py-6 gap-3 flex items-center",
8600
+ headerImage: "h-[120px] min-h-[120px] w-full",
8601
+ titleContainer: "flex flex-col grow",
8602
+ title: "",
8603
+ closeButtonContainer: "absolute top-[24px] right-[28px]",
8604
+ body: "px-7 grow overflow-y-auto text-default",
8605
+ footer: "px-7 py-6",
8606
+ actions: "flex gap-4 justify-end"
8607
+ },
8608
+ variants: {
8609
+ kind: {
8610
+ dialog: {
8611
+ overlay: "py-7 justify-center flex items-center",
8612
+ dialog: "relative w-full rounded mx-7"
8613
+ },
8614
+ drawer: {
8615
+ overlay: "overflow-x-hidden",
8616
+ dialog: "absolute h-full",
8617
+ title: "text-ellipsis overflow-x-hidden whitespace-nowrap"
8618
+ }
8619
+ },
8620
+ size: {
8621
+ sm: "",
8622
+ md: "",
8623
+ full: "",
8624
+ screen: {
8625
+ overlay: "py-0",
8626
+ dialog: "w-dvw h-dvh mx-0 rounded-none",
8627
+ header: "border-b-1 border-muted mb-6"
8628
+ }
8629
+ },
8630
+ noFooter: {
8631
+ true: {
8632
+ body: "pb-6"
8633
+ }
8634
+ },
8635
+ backgroundImage: {
8636
+ true: {
8637
+ headerImage: "object-cover"
8638
+ },
8639
+ false: {
8640
+ headerImage: "bg-default"
8641
+ }
8642
+ }
8643
+ },
8644
+ compoundVariants: [
8645
+ {
8646
+ kind: "dialog",
8647
+ size: "sm",
8648
+ class: {
8649
+ dialog: "max-w-[600px]"
8650
+ }
8651
+ },
8652
+ {
8653
+ kind: "dialog",
8654
+ size: "md",
8655
+ class: {
8656
+ dialog: "max-w-[940px]"
8657
+ }
8658
+ },
8659
+ {
8660
+ kind: "dialog",
8661
+ size: "full",
8662
+ class: {
8663
+ dialog: "min-h-full"
8664
+ }
8665
+ },
8666
+ {
8667
+ kind: "drawer",
8668
+ size: "sm",
8669
+ class: {
8670
+ dialog: "w-[360px]"
8671
+ }
8672
+ },
8673
+ {
8674
+ kind: "drawer",
8675
+ size: "md",
8676
+ class: {
8677
+ dialog: "w-[560px]"
8678
+ }
8679
+ },
8680
+ {
8681
+ kind: "drawer",
8682
+ size: "full",
8683
+ class: {
8684
+ dialog: "w-[1080px]"
8685
+ }
8686
+ }
8687
+ ]
8688
+ });
8575
8689
  var Modal = (_a) => {
8576
8690
  var _b = _a, {
8577
8691
  children,
@@ -8584,80 +8698,64 @@ var Modal = (_a) => {
8584
8698
  "className",
8585
8699
  "open"
8586
8700
  ]);
8701
+ const { overlay } = modalStyles({ kind });
8587
8702
  return open ? /* @__PURE__ */ import_react36.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8588
- className: classNames(
8589
- tw("inset-0 overflow-y-auto z-modal fixed"),
8590
- {
8591
- "py-7 justify-center flex items-center": kind === "dialog"
8592
- },
8593
- className
8594
- )
8703
+ className: overlay({ className })
8595
8704
  }), children) : null;
8596
8705
  };
8597
8706
  Modal.BackDrop = (_a) => {
8598
8707
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
8708
+ const { backdrop } = modalStyles();
8599
8709
  return /* @__PURE__ */ import_react36.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8600
- className: classNames(tw("-z-10 fixed min-w-full min-h-full bg-body-intense opacity-70"), className)
8710
+ className: backdrop({ className })
8601
8711
  }));
8602
8712
  };
8603
8713
  Modal.Dialog = import_react36.default.forwardRef(
8604
8714
  (_a, ref) => {
8605
- var _b = _a, { kind = "dialog", children, className, size = "sm" } = _b, rest = __objRest(_b, ["kind", "children", "className", "size"]);
8606
- const commonClasses = tw("bg-popover-content max-h-full flex flex-col");
8607
- const dialogClasses = classNames("relative w-full rounded mx-7", {
8608
- "max-w-[600px]": size === "sm",
8609
- "max-w-[940px]": size === "md",
8610
- "min-h-full": size === "full"
8611
- });
8612
- const drawerClasses = classNames("absolute h-full", {
8613
- "w-[360px]": size === "sm",
8614
- "w-[560px]": size === "md",
8615
- "w-[1080px]": size === "full"
8616
- });
8715
+ var _b = _a, { kind = "dialog", children, className, size = "md" } = _b, rest = __objRest(_b, ["kind", "children", "className", "size"]);
8716
+ const { dialog } = modalStyles({ kind, size });
8617
8717
  return /* @__PURE__ */ import_react36.default.createElement("div", __spreadProps(__spreadValues({
8618
8718
  ref,
8619
8719
  "aria-modal": "true"
8620
8720
  }, rest), {
8621
- className: classNames(commonClasses, kind === "dialog" ? dialogClasses : drawerClasses, className)
8721
+ className: dialog({ className })
8622
8722
  }), children);
8623
8723
  }
8624
8724
  );
8625
8725
  Modal.Header = (_a) => {
8626
- var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8726
+ var _b = _a, { kind = "dialog", size = "md", children, className } = _b, rest = __objRest(_b, ["kind", "size", "children", "className"]);
8727
+ const { header } = modalStyles({ kind, size });
8627
8728
  return /* @__PURE__ */ import_react36.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8628
- className: classNames(tw("pl-7 pr-[64px] py-6 gap-3 flex items-center"), className)
8729
+ className: header({ className })
8629
8730
  }), children);
8630
8731
  };
8631
8732
  Modal.HeaderImage = (_a) => {
8632
8733
  var _b = _a, { backgroundImage, className } = _b, rest = __objRest(_b, ["backgroundImage", "className"]);
8633
- const common = tw("h-[120px] min-h-[120px] w-full ");
8734
+ const { headerImage } = modalStyles({ backgroundImage: Boolean(backgroundImage) });
8634
8735
  return backgroundImage ? /* @__PURE__ */ import_react36.default.createElement("img", __spreadProps(__spreadValues({
8635
8736
  "aria-hidden": true,
8636
8737
  src: backgroundImage != null ? backgroundImage : void 0
8637
8738
  }, rest), {
8638
- className: classNames(common, tw("object-cover"), className)
8739
+ className: headerImage({ className })
8639
8740
  })) : /* @__PURE__ */ import_react36.default.createElement("div", {
8640
- className: classNames(common, tw("bg-default"), className)
8741
+ className: headerImage({ className })
8641
8742
  });
8642
8743
  };
8643
8744
  Modal.CloseButtonContainer = (_a) => {
8644
8745
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
8746
+ const { closeButtonContainer } = modalStyles();
8645
8747
  return /* @__PURE__ */ import_react36.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8646
- className: classNames(tw("absolute top-[24px] right-[28px]"), className)
8748
+ className: closeButtonContainer({ className })
8647
8749
  }));
8648
8750
  };
8649
8751
  Modal.Title = (_a) => {
8650
8752
  var _b = _a, { kind = "dialog", children, className } = _b, rest = __objRest(_b, ["kind", "children", "className"]);
8753
+ const { title } = modalStyles({ kind });
8651
8754
  return /* @__PURE__ */ import_react36.default.createElement(Typography, __spreadValues({
8652
8755
  htmlTag: "h2",
8653
8756
  variant: "subheading",
8654
8757
  color: "intense",
8655
- className: classNames(
8656
- tw({
8657
- "text-ellipsis overflow-x-hidden whitespace-nowrap": kind === "drawer"
8658
- }),
8659
- className
8660
- )
8758
+ className: title({ className })
8661
8759
  }, rest), children);
8662
8760
  };
8663
8761
  Modal.Subtitle = (_a) => {
@@ -8669,27 +8767,31 @@ Modal.Subtitle = (_a) => {
8669
8767
  };
8670
8768
  Modal.TitleContainer = (_a) => {
8671
8769
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8770
+ const { titleContainer } = modalStyles();
8672
8771
  return /* @__PURE__ */ import_react36.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8673
- className: classNames(tw("flex flex-col grow"), className)
8772
+ className: titleContainer({ className })
8674
8773
  }), children);
8675
8774
  };
8676
8775
  Modal.Body = (_a) => {
8677
8776
  var _b = _a, { children, className, noFooter = false, maxHeight, style } = _b, rest = __objRest(_b, ["children", "className", "noFooter", "maxHeight", "style"]);
8777
+ const { body } = modalStyles();
8678
8778
  return /* @__PURE__ */ import_react36.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8679
- className: classNames(tw("px-7 grow overflow-y-auto text-default", { "pb-6": noFooter }), className),
8779
+ className: body({ noFooter, className }),
8680
8780
  style: __spreadValues({ maxHeight }, style)
8681
8781
  }), children);
8682
8782
  };
8683
8783
  Modal.Footer = (_a) => {
8684
8784
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8785
+ const { footer } = modalStyles();
8685
8786
  return /* @__PURE__ */ import_react36.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8686
- className: classNames(tw("px-7 py-6"), className)
8787
+ className: footer({ className })
8687
8788
  }), children);
8688
8789
  };
8689
8790
  Modal.Actions = (_a) => {
8690
8791
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8792
+ const { actions } = modalStyles();
8691
8793
  return /* @__PURE__ */ import_react36.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8692
- className: classNames(tw("flex gap-4 justify-end"), className)
8794
+ className: actions({ className })
8693
8795
  }), children);
8694
8796
  };
8695
8797
 
@@ -9101,6 +9203,7 @@ var Group2 = import_react43.default.forwardRef((_a, ref) => {
9101
9203
  )
9102
9204
  }, props), children);
9103
9205
  });
9206
+ var endAdornmentSize = { width: 14, height: 14 };
9104
9207
  var Item4 = import_react43.default.forwardRef(
9105
9208
  (_a, ref) => {
9106
9209
  var _b = _a, { highlighted, selected, className, children } = _b, props = __objRest(_b, ["highlighted", "selected", "className", "children"]);
@@ -9113,8 +9216,10 @@ var Item4 = import_react43.default.forwardRef(
9113
9216
  })
9114
9217
  }, props), /* @__PURE__ */ import_react43.default.createElement("span", {
9115
9218
  className: tw("grow flex gap-x-3")
9116
- }, children), selected && /* @__PURE__ */ import_react43.default.createElement(InlineIcon, {
9219
+ }, children), selected ? /* @__PURE__ */ import_react43.default.createElement(InlineIcon, __spreadValues({
9117
9220
  icon: import_tick4.default
9221
+ }, endAdornmentSize)) : /* @__PURE__ */ import_react43.default.createElement("div", {
9222
+ style: endAdornmentSize
9118
9223
  }));
9119
9224
  }
9120
9225
  );
@@ -9326,5 +9431,6 @@ var Switch = import_react45.default.forwardRef(
9326
9431
  getTitleContent,
9327
9432
  getValues,
9328
9433
  isOptionDisabledBuiltin,
9434
+ modalStyles,
9329
9435
  rowClassNames
9330
9436
  });
package/dist/atoms.mjs CHANGED
@@ -1425,6 +1425,22 @@ var require_deliveryLocation = __commonJS({
1425
1425
  }
1426
1426
  });
1427
1427
 
1428
+ // src/icons/disasterRecovery.js
1429
+ var require_disasterRecovery = __commonJS({
1430
+ "src/icons/disasterRecovery.js"(exports) {
1431
+ "use strict";
1432
+ var data = {
1433
+ "body": '<mask id="svgIDa" fill="#fff"><path d="m13.838 8.734 1.983.731.515-1.396-1.983-.73zm-4.947.96 1.983.73.515-1.396-1.983-.73zM8.077 1.7l-3.73 10.128c.561-.45 1.211-.795 1.963-.814l2.693-7.312 9.639 3.55-1.388 3.773c.533.013 1.04.208 1.458.55l1.934-5.248zm4.88 9.491 1.983.73.515-1.395-1.984-.73zM9.772 7.237l1.984.73.514-1.395-1.983-.73zM2.748 15.91c.725.065 1.48-.262 2.082-.897l.219-.236c.184-.203.572-.627.9-.902.033.572.254 1.073.428 1.336a1.95 1.95 0 001.472.89c.759.067 1.616-.305 2.246-.968l.213-.231c.21-.23.655-.715 1.024-1.02a2.85 2.85 0 00.429 1.326c.346.523.87.837 1.474.89.761.064 1.622-.305 2.251-.968.065-.067.133-.143.205-.22.193-.211.655-.715 1.038-1.027a2.85 2.85 0 00.429 1.325c.369.557.912.892 1.528.944q.09.008.177.008c.665 0 1.346-.32 1.892-.894l-1.13-1.074c-.253.268-.564.426-.804.406-.088-.008-.22-.042-.361-.255-.096-.143-.263-.614-.107-.923l.237-.465-.34-.396a1.38 1.38 0 00-1.048-.499h-.024c-.912 0-1.734.814-2.63 1.797a9 9 0 01-.19.205c-.294.31-.692.504-.983.48-.093-.007-.203-.038-.31-.2-.095-.145-.262-.613-.106-.922l.229-.46-.343-.395a1.38 1.38 0 00-1.048-.5h-.02c-.986 0-1.89.991-2.62 1.79l-.198.212c-.292.31-.692.502-.978.481-.09-.008-.2-.039-.307-.2-.096-.143-.262-.614-.106-.923l.236-.465-.34-.395a1.4 1.4 0 00-1.066-.512h-.02c-.952 0-1.8.928-2.48 1.676-.074.078-.141.154-.201.219-.257.27-.577.434-.811.41-.088-.007-.218-.041-.356-.25l-1.3.864c.367.554.907.886 1.518.938m16.068 2.834c-.088-.008-.22-.042-.361-.255-.096-.143-.263-.613-.107-.923l.237-.465-.34-.395a1.38 1.38 0 00-1.048-.5h-.024c-.912 0-1.734.814-2.633 1.797a9 9 0 01-.19.205c-.294.31-.697.505-.983.481-.093-.008-.202-.039-.309-.2-.096-.145-.262-.613-.107-.923l.237-.465-.343-.395a1.38 1.38 0 00-1.048-.5h-.02c-.91 0-1.727.812-2.62 1.79l-.196.212c-.291.307-.691.505-.977.481-.091-.008-.2-.039-.307-.2-.096-.143-.263-.613-.107-.923l.237-.465-.34-.395a1.4 1.4 0 00-1.066-.512H6.38c-.952 0-1.8.928-2.48 1.676-.073.078-.14.154-.2.219-.258.27-.578.429-.811.41-.091-.007-.221-.041-.36-.25l-1.299.864c.367.554.907.887 1.518.939.72.06 1.48-.263 2.082-.897q.101-.111.219-.237c.184-.203.572-.626.9-.902a2.9 2.9 0 00.428 1.336c.346.523.871.837 1.472.89.756.064 1.616-.305 2.246-.968l.21-.229c.21-.228.655-.715 1.024-1.019a2.85 2.85 0 00.43 1.326c.345.523.87.837 1.473.89.757.064 1.622-.305 2.252-.968l.205-.22c.192-.211.655-.718 1.037-1.03.037.57.255 1.066.429 1.326.37.556.912.891 1.529.943q.091.008.176.008c.666 0 1.347-.32 1.893-.894l-1.134-1.069c-.252.268-.561.424-.803.406"/></mask><path fill="none" stroke="currentColor" stroke-miterlimit="16" stroke-width="1.6" d="m13.838 8.734 1.983.731.515-1.396-1.983-.73zm-4.947.96 1.983.73.515-1.396-1.983-.73zM8.077 1.7l-3.73 10.128c.561-.45 1.211-.795 1.963-.814l2.693-7.312 9.639 3.55-1.388 3.773c.533.013 1.04.208 1.458.55l1.934-5.248zm4.88 9.491 1.983.73.515-1.395-1.984-.73zM9.772 7.237l1.984.73.514-1.395-1.983-.73zM2.748 15.91c.725.065 1.48-.262 2.082-.897l.219-.236c.184-.203.572-.627.9-.902.033.572.254 1.073.428 1.336a1.95 1.95 0 001.472.89c.759.067 1.616-.305 2.246-.968l.213-.231c.21-.23.655-.715 1.024-1.02a2.85 2.85 0 00.429 1.326c.346.523.87.837 1.474.89.761.064 1.622-.305 2.251-.968.065-.067.133-.143.205-.22.193-.211.655-.715 1.038-1.027a2.85 2.85 0 00.429 1.325c.369.557.912.892 1.528.944q.09.008.177.008c.665 0 1.346-.32 1.892-.894l-1.13-1.074c-.253.268-.564.426-.804.406-.088-.008-.22-.042-.361-.255-.096-.143-.263-.614-.107-.923l.237-.465-.34-.396a1.38 1.38 0 00-1.048-.499h-.024c-.912 0-1.734.814-2.63 1.797a9 9 0 01-.19.205c-.294.31-.692.504-.983.48-.093-.007-.203-.038-.31-.2-.095-.145-.262-.613-.106-.922l.229-.46-.343-.395a1.38 1.38 0 00-1.048-.5h-.02c-.986 0-1.89.991-2.62 1.79l-.198.212c-.292.31-.692.502-.978.481-.09-.008-.2-.039-.307-.2-.096-.143-.262-.614-.106-.923l.236-.465-.34-.395a1.4 1.4 0 00-1.066-.512h-.02c-.952 0-1.8.928-2.48 1.676-.074.078-.141.154-.201.219-.257.27-.577.434-.811.41-.088-.007-.218-.041-.356-.25l-1.3.864c.367.554.907.886 1.518.938Zm16.068 2.834c-.088-.008-.22-.042-.361-.255-.096-.143-.263-.613-.107-.923l.237-.465-.34-.395a1.38 1.38 0 00-1.048-.5h-.024c-.912 0-1.734.814-2.633 1.797a9 9 0 01-.19.205c-.294.31-.697.505-.983.481-.093-.008-.202-.039-.309-.2-.096-.145-.262-.613-.107-.923l.237-.465-.343-.395a1.38 1.38 0 00-1.048-.5h-.02c-.91 0-1.727.812-2.62 1.79l-.196.212c-.291.307-.691.505-.977.481-.091-.008-.2-.039-.307-.2-.096-.143-.263-.613-.107-.923l.237-.465-.34-.395a1.4 1.4 0 00-1.066-.512H6.38c-.952 0-1.8.928-2.48 1.676-.073.078-.14.154-.2.219-.258.27-.578.429-.811.41-.091-.007-.221-.041-.36-.25l-1.299.864c.367.554.907.887 1.518.939.72.06 1.48-.263 2.082-.897q.101-.111.219-.237c.184-.203.572-.626.9-.902a2.9 2.9 0 00.428 1.336c.346.523.871.837 1.472.89.756.064 1.616-.305 2.246-.968l.21-.229c.21-.228.655-.715 1.024-1.019a2.85 2.85 0 00.43 1.326c.345.523.87.837 1.473.89.757.064 1.622-.305 2.252-.968l.205-.22c.192-.211.655-.718 1.037-1.03.037.57.255 1.066.429 1.326.37.556.912.891 1.529.943q.091.008.176.008c.666 0 1.347-.32 1.893-.894l-1.134-1.069c-.252.268-.561.424-.803.406Z" mask="url(#svgIDa)"/>',
1434
+ "left": 0,
1435
+ "top": 0,
1436
+ "width": 22,
1437
+ "height": 22
1438
+ };
1439
+ exports.__esModule = true;
1440
+ exports.default = data;
1441
+ }
1442
+ });
1443
+
1428
1444
  // src/icons/document.js
1429
1445
  var require_document = __commonJS({
1430
1446
  "src/icons/document.js"(exports) {
@@ -6189,6 +6205,7 @@ var import_dataflow03 = __toESM(require_dataflow03());
6189
6205
  var import_dbBackup = __toESM(require_dbBackup());
6190
6206
  var import_delete = __toESM(require_delete());
6191
6207
  var import_deliveryLocation = __toESM(require_deliveryLocation());
6208
+ var import_disasterRecovery = __toESM(require_disasterRecovery());
6192
6209
  var import_document = __toESM(require_document());
6193
6210
  var import_dot = __toESM(require_dot());
6194
6211
  var import_doubleCaretHorizontal = __toESM(require_doubleCaretHorizontal());
@@ -8525,6 +8542,102 @@ var Link = (_a) => {
8525
8542
 
8526
8543
  // src/atoms/Modal/Modal.tsx
8527
8544
  import React32 from "react";
8545
+ import { tv } from "tailwind-variants";
8546
+ var modalStyles = tv({
8547
+ slots: {
8548
+ overlay: "inset-0 overflow-y-auto z-modal fixed",
8549
+ backdrop: "-z-10 fixed min-w-full min-h-full bg-body-intense opacity-70",
8550
+ dialog: "bg-popover-content max-h-full flex flex-col",
8551
+ header: "pl-7 pr-[64px] py-6 gap-3 flex items-center",
8552
+ headerImage: "h-[120px] min-h-[120px] w-full",
8553
+ titleContainer: "flex flex-col grow",
8554
+ title: "",
8555
+ closeButtonContainer: "absolute top-[24px] right-[28px]",
8556
+ body: "px-7 grow overflow-y-auto text-default",
8557
+ footer: "px-7 py-6",
8558
+ actions: "flex gap-4 justify-end"
8559
+ },
8560
+ variants: {
8561
+ kind: {
8562
+ dialog: {
8563
+ overlay: "py-7 justify-center flex items-center",
8564
+ dialog: "relative w-full rounded mx-7"
8565
+ },
8566
+ drawer: {
8567
+ overlay: "overflow-x-hidden",
8568
+ dialog: "absolute h-full",
8569
+ title: "text-ellipsis overflow-x-hidden whitespace-nowrap"
8570
+ }
8571
+ },
8572
+ size: {
8573
+ sm: "",
8574
+ md: "",
8575
+ full: "",
8576
+ screen: {
8577
+ overlay: "py-0",
8578
+ dialog: "w-dvw h-dvh mx-0 rounded-none",
8579
+ header: "border-b-1 border-muted mb-6"
8580
+ }
8581
+ },
8582
+ noFooter: {
8583
+ true: {
8584
+ body: "pb-6"
8585
+ }
8586
+ },
8587
+ backgroundImage: {
8588
+ true: {
8589
+ headerImage: "object-cover"
8590
+ },
8591
+ false: {
8592
+ headerImage: "bg-default"
8593
+ }
8594
+ }
8595
+ },
8596
+ compoundVariants: [
8597
+ {
8598
+ kind: "dialog",
8599
+ size: "sm",
8600
+ class: {
8601
+ dialog: "max-w-[600px]"
8602
+ }
8603
+ },
8604
+ {
8605
+ kind: "dialog",
8606
+ size: "md",
8607
+ class: {
8608
+ dialog: "max-w-[940px]"
8609
+ }
8610
+ },
8611
+ {
8612
+ kind: "dialog",
8613
+ size: "full",
8614
+ class: {
8615
+ dialog: "min-h-full"
8616
+ }
8617
+ },
8618
+ {
8619
+ kind: "drawer",
8620
+ size: "sm",
8621
+ class: {
8622
+ dialog: "w-[360px]"
8623
+ }
8624
+ },
8625
+ {
8626
+ kind: "drawer",
8627
+ size: "md",
8628
+ class: {
8629
+ dialog: "w-[560px]"
8630
+ }
8631
+ },
8632
+ {
8633
+ kind: "drawer",
8634
+ size: "full",
8635
+ class: {
8636
+ dialog: "w-[1080px]"
8637
+ }
8638
+ }
8639
+ ]
8640
+ });
8528
8641
  var Modal = (_a) => {
8529
8642
  var _b = _a, {
8530
8643
  children,
@@ -8537,80 +8650,64 @@ var Modal = (_a) => {
8537
8650
  "className",
8538
8651
  "open"
8539
8652
  ]);
8653
+ const { overlay } = modalStyles({ kind });
8540
8654
  return open ? /* @__PURE__ */ React32.createElement("div", __spreadProps(__spreadValues({}, rest), {
8541
- className: classNames(
8542
- tw("inset-0 overflow-y-auto z-modal fixed"),
8543
- {
8544
- "py-7 justify-center flex items-center": kind === "dialog"
8545
- },
8546
- className
8547
- )
8655
+ className: overlay({ className })
8548
8656
  }), children) : null;
8549
8657
  };
8550
8658
  Modal.BackDrop = (_a) => {
8551
8659
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
8660
+ const { backdrop } = modalStyles();
8552
8661
  return /* @__PURE__ */ React32.createElement("div", __spreadProps(__spreadValues({}, rest), {
8553
- className: classNames(tw("-z-10 fixed min-w-full min-h-full bg-body-intense opacity-70"), className)
8662
+ className: backdrop({ className })
8554
8663
  }));
8555
8664
  };
8556
8665
  Modal.Dialog = React32.forwardRef(
8557
8666
  (_a, ref) => {
8558
- var _b = _a, { kind = "dialog", children, className, size = "sm" } = _b, rest = __objRest(_b, ["kind", "children", "className", "size"]);
8559
- const commonClasses = tw("bg-popover-content max-h-full flex flex-col");
8560
- const dialogClasses = classNames("relative w-full rounded mx-7", {
8561
- "max-w-[600px]": size === "sm",
8562
- "max-w-[940px]": size === "md",
8563
- "min-h-full": size === "full"
8564
- });
8565
- const drawerClasses = classNames("absolute h-full", {
8566
- "w-[360px]": size === "sm",
8567
- "w-[560px]": size === "md",
8568
- "w-[1080px]": size === "full"
8569
- });
8667
+ var _b = _a, { kind = "dialog", children, className, size = "md" } = _b, rest = __objRest(_b, ["kind", "children", "className", "size"]);
8668
+ const { dialog } = modalStyles({ kind, size });
8570
8669
  return /* @__PURE__ */ React32.createElement("div", __spreadProps(__spreadValues({
8571
8670
  ref,
8572
8671
  "aria-modal": "true"
8573
8672
  }, rest), {
8574
- className: classNames(commonClasses, kind === "dialog" ? dialogClasses : drawerClasses, className)
8673
+ className: dialog({ className })
8575
8674
  }), children);
8576
8675
  }
8577
8676
  );
8578
8677
  Modal.Header = (_a) => {
8579
- var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8678
+ var _b = _a, { kind = "dialog", size = "md", children, className } = _b, rest = __objRest(_b, ["kind", "size", "children", "className"]);
8679
+ const { header } = modalStyles({ kind, size });
8580
8680
  return /* @__PURE__ */ React32.createElement("div", __spreadProps(__spreadValues({}, rest), {
8581
- className: classNames(tw("pl-7 pr-[64px] py-6 gap-3 flex items-center"), className)
8681
+ className: header({ className })
8582
8682
  }), children);
8583
8683
  };
8584
8684
  Modal.HeaderImage = (_a) => {
8585
8685
  var _b = _a, { backgroundImage, className } = _b, rest = __objRest(_b, ["backgroundImage", "className"]);
8586
- const common = tw("h-[120px] min-h-[120px] w-full ");
8686
+ const { headerImage } = modalStyles({ backgroundImage: Boolean(backgroundImage) });
8587
8687
  return backgroundImage ? /* @__PURE__ */ React32.createElement("img", __spreadProps(__spreadValues({
8588
8688
  "aria-hidden": true,
8589
8689
  src: backgroundImage != null ? backgroundImage : void 0
8590
8690
  }, rest), {
8591
- className: classNames(common, tw("object-cover"), className)
8691
+ className: headerImage({ className })
8592
8692
  })) : /* @__PURE__ */ React32.createElement("div", {
8593
- className: classNames(common, tw("bg-default"), className)
8693
+ className: headerImage({ className })
8594
8694
  });
8595
8695
  };
8596
8696
  Modal.CloseButtonContainer = (_a) => {
8597
8697
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
8698
+ const { closeButtonContainer } = modalStyles();
8598
8699
  return /* @__PURE__ */ React32.createElement("div", __spreadProps(__spreadValues({}, rest), {
8599
- className: classNames(tw("absolute top-[24px] right-[28px]"), className)
8700
+ className: closeButtonContainer({ className })
8600
8701
  }));
8601
8702
  };
8602
8703
  Modal.Title = (_a) => {
8603
8704
  var _b = _a, { kind = "dialog", children, className } = _b, rest = __objRest(_b, ["kind", "children", "className"]);
8705
+ const { title } = modalStyles({ kind });
8604
8706
  return /* @__PURE__ */ React32.createElement(Typography, __spreadValues({
8605
8707
  htmlTag: "h2",
8606
8708
  variant: "subheading",
8607
8709
  color: "intense",
8608
- className: classNames(
8609
- tw({
8610
- "text-ellipsis overflow-x-hidden whitespace-nowrap": kind === "drawer"
8611
- }),
8612
- className
8613
- )
8710
+ className: title({ className })
8614
8711
  }, rest), children);
8615
8712
  };
8616
8713
  Modal.Subtitle = (_a) => {
@@ -8622,27 +8719,31 @@ Modal.Subtitle = (_a) => {
8622
8719
  };
8623
8720
  Modal.TitleContainer = (_a) => {
8624
8721
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8722
+ const { titleContainer } = modalStyles();
8625
8723
  return /* @__PURE__ */ React32.createElement("div", __spreadProps(__spreadValues({}, rest), {
8626
- className: classNames(tw("flex flex-col grow"), className)
8724
+ className: titleContainer({ className })
8627
8725
  }), children);
8628
8726
  };
8629
8727
  Modal.Body = (_a) => {
8630
8728
  var _b = _a, { children, className, noFooter = false, maxHeight, style } = _b, rest = __objRest(_b, ["children", "className", "noFooter", "maxHeight", "style"]);
8729
+ const { body } = modalStyles();
8631
8730
  return /* @__PURE__ */ React32.createElement("div", __spreadProps(__spreadValues({}, rest), {
8632
- className: classNames(tw("px-7 grow overflow-y-auto text-default", { "pb-6": noFooter }), className),
8731
+ className: body({ noFooter, className }),
8633
8732
  style: __spreadValues({ maxHeight }, style)
8634
8733
  }), children);
8635
8734
  };
8636
8735
  Modal.Footer = (_a) => {
8637
8736
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8737
+ const { footer } = modalStyles();
8638
8738
  return /* @__PURE__ */ React32.createElement("div", __spreadProps(__spreadValues({}, rest), {
8639
- className: classNames(tw("px-7 py-6"), className)
8739
+ className: footer({ className })
8640
8740
  }), children);
8641
8741
  };
8642
8742
  Modal.Actions = (_a) => {
8643
8743
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8744
+ const { actions } = modalStyles();
8644
8745
  return /* @__PURE__ */ React32.createElement("div", __spreadProps(__spreadValues({}, rest), {
8645
- className: classNames(tw("flex gap-4 justify-end"), className)
8746
+ className: actions({ className })
8646
8747
  }), children);
8647
8748
  };
8648
8749
 
@@ -9054,6 +9155,7 @@ var Group2 = React39.forwardRef((_a, ref) => {
9054
9155
  )
9055
9156
  }, props), children);
9056
9157
  });
9158
+ var endAdornmentSize = { width: 14, height: 14 };
9057
9159
  var Item4 = React39.forwardRef(
9058
9160
  (_a, ref) => {
9059
9161
  var _b = _a, { highlighted, selected, className, children } = _b, props = __objRest(_b, ["highlighted", "selected", "className", "children"]);
@@ -9066,8 +9168,10 @@ var Item4 = React39.forwardRef(
9066
9168
  })
9067
9169
  }, props), /* @__PURE__ */ React39.createElement("span", {
9068
9170
  className: tw("grow flex gap-x-3")
9069
- }, children), selected && /* @__PURE__ */ React39.createElement(InlineIcon, {
9171
+ }, children), selected ? /* @__PURE__ */ React39.createElement(InlineIcon, __spreadValues({
9070
9172
  icon: import_tick4.default
9173
+ }, endAdornmentSize)) : /* @__PURE__ */ React39.createElement("div", {
9174
+ style: endAdornmentSize
9071
9175
  }));
9072
9176
  }
9073
9177
  );
@@ -9278,5 +9382,6 @@ export {
9278
9382
  getTitleContent,
9279
9383
  getValues,
9280
9384
  isOptionDisabledBuiltin,
9385
+ modalStyles,
9281
9386
  rowClassNames
9282
9387
  };