@octaviaflow/core 3.0.18-beta.40 → 3.0.18-beta.42

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.
@@ -52,6 +52,12 @@ export interface ConditionBuilderProps extends Omit<ComponentPropsWithoutRef<"di
52
52
  addLabel?: ReactNode;
53
53
  /** Custom aria-label for the remove buttons. Defaults to "Remove condition". */
54
54
  removeLabel?: string;
55
+ /** Cap the rows-area height to roughly N rows; beyond N the rows scroll
56
+ * inside a contained viewport so the panel stops growing unboundedly.
57
+ * The "Add condition" action sits OUTSIDE the scroll viewport so it
58
+ * stays reachable regardless of how many rows are configured.
59
+ * Set to 0 / omitted to disable the cap (legacy behavior). */
60
+ maxVisibleRows?: number;
55
61
  }
56
62
  export declare const ConditionBuilder: import("react").ForwardRefExoticComponent<ConditionBuilderProps & import("react").RefAttributes<HTMLDivElement>>;
57
63
  //# sourceMappingURL=ConditionBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/ConditionBuilder/ConditionBuilder.tsx"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,wBAAwB,EAG7B,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AAGf,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd;;4DAEwD;IACxD,YAAY,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,KAAK,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,CAAC,SAAS,GAAG,cAAc,CAAC,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACzD,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC;4EACwE;IACxE,YAAY,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B;yEACqE;IACrE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5C,mDAAmD;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAsMD,eAAO,MAAM,gBAAgB,kHA4L3B,CAAC"}
1
+ {"version":3,"file":"ConditionBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/ConditionBuilder/ConditionBuilder.tsx"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,wBAAwB,EAG7B,KAAK,SAAS,EAQf,MAAM,OAAO,CAAC;AAIf,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd;;4DAEwD;IACxD,YAAY,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,KAAK,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,CAAC,SAAS,GAAG,cAAc,CAAC,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACzD,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC;4EACwE;IACxE,YAAY,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B;yEACqE;IACrE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5C,mDAAmD;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;mEAI+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA0OD,eAAO,MAAM,gBAAgB,kHA+M3B,CAAC"}
package/dist/index.cjs CHANGED
@@ -7873,6 +7873,7 @@ function useCommandPaletteShortcut(toggle, options = {}) {
7873
7873
  // src/components/ConditionBuilder/ConditionBuilder.tsx
7874
7874
  var import_icons9 = require("@octaviaflow/icons");
7875
7875
  var import_react45 = require("react");
7876
+ var import_react_dom5 = require("react-dom");
7876
7877
  var import_jsx_runtime28 = require("react/jsx-runtime");
7877
7878
  function OptionDropdown({
7878
7879
  value,
@@ -7890,6 +7891,22 @@ function OptionDropdown({
7890
7891
  const panelRef = (0, import_react45.useRef)(null);
7891
7892
  const inputRef = (0, import_react45.useRef)(null);
7892
7893
  const listboxId = (0, import_react45.useId)();
7894
+ const [panelPos, setPanelPos] = (0, import_react45.useState)(null);
7895
+ const updatePanelPos = (0, import_react45.useCallback)(() => {
7896
+ if (!triggerRef.current) return;
7897
+ const r = triggerRef.current.getBoundingClientRect();
7898
+ setPanelPos({ top: r.bottom + 4, left: r.left, width: r.width });
7899
+ }, []);
7900
+ (0, import_react45.useLayoutEffect)(() => {
7901
+ if (!open) return;
7902
+ updatePanelPos();
7903
+ window.addEventListener("scroll", updatePanelPos, true);
7904
+ window.addEventListener("resize", updatePanelPos);
7905
+ return () => {
7906
+ window.removeEventListener("scroll", updatePanelPos, true);
7907
+ window.removeEventListener("resize", updatePanelPos);
7908
+ };
7909
+ }, [open, updatePanelPos]);
7893
7910
  const showSearch = searchable === true || searchable === "auto" && options.length > 8;
7894
7911
  const selected = options.find((o) => o.value === value);
7895
7912
  const filtered = (0, import_react45.useMemo)(() => {
@@ -7976,54 +7993,71 @@ function OptionDropdown({
7976
7993
  ]
7977
7994
  }
7978
7995
  ),
7979
- open && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { ref: panelRef, className: "ods-cb-dd__panel", role: "presentation", children: [
7980
- showSearch && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "ods-cb-dd__search", children: [
7981
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_icons9.SearchIcon, { "aria-hidden": "true" }),
7982
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
7983
- "input",
7984
- {
7985
- ref: inputRef,
7986
- value: query,
7987
- onChange: (e) => setQuery(e.target.value),
7988
- placeholder: "Search\u2026",
7989
- "aria-label": "Search options"
7990
- }
7991
- )
7992
- ] }),
7993
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("ul", { id: listboxId, role: "listbox", "aria-label": ariaLabel, className: "ods-cb-dd__list", children: [
7994
- filtered.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("li", { className: "ods-cb-dd__empty", children: "No matches" }),
7995
- filtered.map((opt, idx) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
7996
- "button",
7997
- {
7998
- type: "button",
7999
- role: "option",
8000
- "aria-selected": opt.value === value,
8001
- className: cn(
8002
- "ods-cb-dd__opt",
8003
- opt.value === value && "ods-cb-dd__opt--selected",
8004
- idx === activeIdx && "ods-cb-dd__opt--active"
8005
- ),
8006
- onClick: () => select(opt.value),
8007
- onMouseEnter: () => setActiveIdx(idx),
8008
- children: [
8009
- opt.icon && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "ods-cb-dd__opt-icon", "aria-hidden": "true", children: opt.icon }),
8010
- opt.symbol && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "ods-cb-dd__opt-symbol", children: opt.symbol }),
8011
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("span", { className: "ods-cb-dd__opt-text", children: [
8012
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "ods-cb-dd__opt-label", children: opt.label }),
8013
- opt.description && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "ods-cb-dd__opt-desc", children: opt.description })
8014
- ] }),
8015
- opt.value === value && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8016
- import_icons9.CheckmarkIcon,
7996
+ open && panelPos && typeof document !== "undefined" && (0, import_react_dom5.createPortal)(
7997
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
7998
+ "div",
7999
+ {
8000
+ ref: panelRef,
8001
+ className: "ods-cb-dd__panel ods-cb-dd__panel--portal",
8002
+ role: "presentation",
8003
+ style: {
8004
+ position: "fixed",
8005
+ top: panelPos.top,
8006
+ left: panelPos.left,
8007
+ minWidth: panelPos.width
8008
+ },
8009
+ children: [
8010
+ showSearch && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "ods-cb-dd__search", children: [
8011
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_icons9.SearchIcon, { "aria-hidden": "true" }),
8012
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8013
+ "input",
8017
8014
  {
8018
- "aria-hidden": "true",
8019
- className: "ods-cb-dd__opt-check"
8015
+ ref: inputRef,
8016
+ value: query,
8017
+ onChange: (e) => setQuery(e.target.value),
8018
+ placeholder: "Search\u2026",
8019
+ "aria-label": "Search options"
8020
8020
  }
8021
8021
  )
8022
- ]
8023
- }
8024
- ) }, opt.value))
8025
- ] })
8026
- ] })
8022
+ ] }),
8023
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("ul", { id: listboxId, role: "listbox", "aria-label": ariaLabel, className: "ods-cb-dd__list", children: [
8024
+ filtered.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("li", { className: "ods-cb-dd__empty", children: "No matches" }),
8025
+ filtered.map((opt, idx) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
8026
+ "button",
8027
+ {
8028
+ type: "button",
8029
+ role: "option",
8030
+ "aria-selected": opt.value === value,
8031
+ className: cn(
8032
+ "ods-cb-dd__opt",
8033
+ opt.value === value && "ods-cb-dd__opt--selected",
8034
+ idx === activeIdx && "ods-cb-dd__opt--active"
8035
+ ),
8036
+ onClick: () => select(opt.value),
8037
+ onMouseEnter: () => setActiveIdx(idx),
8038
+ children: [
8039
+ opt.icon && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "ods-cb-dd__opt-icon", "aria-hidden": "true", children: opt.icon }),
8040
+ opt.symbol && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "ods-cb-dd__opt-symbol", children: opt.symbol }),
8041
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("span", { className: "ods-cb-dd__opt-text", children: [
8042
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "ods-cb-dd__opt-label", children: opt.label }),
8043
+ opt.description && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "ods-cb-dd__opt-desc", children: opt.description })
8044
+ ] }),
8045
+ opt.value === value && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8046
+ import_icons9.CheckmarkIcon,
8047
+ {
8048
+ "aria-hidden": "true",
8049
+ className: "ods-cb-dd__opt-check"
8050
+ }
8051
+ )
8052
+ ]
8053
+ }
8054
+ ) }, opt.value))
8055
+ ] })
8056
+ ]
8057
+ }
8058
+ ),
8059
+ document.body
8060
+ )
8027
8061
  ] });
8028
8062
  }
8029
8063
  var ConditionBuilder = (0, import_react45.forwardRef)(function ConditionBuilder2({
@@ -8037,6 +8071,7 @@ var ConditionBuilder = (0, import_react45.forwardRef)(function ConditionBuilder2
8037
8071
  onJoinChange,
8038
8072
  addLabel = "Add condition",
8039
8073
  removeLabel = "Remove condition",
8074
+ maxVisibleRows,
8040
8075
  className,
8041
8076
  ...rest
8042
8077
  }, ref) {
@@ -8096,6 +8131,12 @@ var ConditionBuilder = (0, import_react45.forwardRef)(function ConditionBuilder2
8096
8131
  },
8097
8132
  [conditions, joinOperator, onChange]
8098
8133
  );
8134
+ const cappedRows = Boolean(maxVisibleRows && maxVisibleRows > 0);
8135
+ const rowsViewportStyle = cappedRows ? {
8136
+ maxHeight: `calc((var(--ods-layout-control-height, 32px) + var(--ods-space-2, 8px)) * ${maxVisibleRows} + var(--ods-space-1, 4px))`,
8137
+ overflowY: "auto",
8138
+ paddingRight: "var(--ods-space-1, 4px)"
8139
+ } : void 0;
8099
8140
  return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
8100
8141
  "div",
8101
8142
  {
@@ -8107,7 +8148,7 @@ var ConditionBuilder = (0, import_react45.forwardRef)(function ConditionBuilder2
8107
8148
  className
8108
8149
  ),
8109
8150
  children: [
8110
- conditions.map((condition, index) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "ods-condition-row", children: [
8151
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "ods-condition-builder__rows", style: rowsViewportStyle, children: conditions.map((condition, index) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "ods-condition-row", children: [
8111
8152
  index === 0 ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8112
8153
  "span",
8113
8154
  {
@@ -8177,7 +8218,7 @@ var ConditionBuilder = (0, import_react45.forwardRef)(function ConditionBuilder2
8177
8218
  children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_icons9.CloseIcon, { "aria-hidden": "true" })
8178
8219
  }
8179
8220
  )
8180
- ] }, index)),
8221
+ ] }, index)) }),
8181
8222
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "ods-condition-builder__actions", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
8182
8223
  "button",
8183
8224
  {
@@ -8348,7 +8389,7 @@ var import_icons11 = require("@octaviaflow/icons");
8348
8389
  var import_framer_motion15 = require("framer-motion");
8349
8390
  var import_react47 = require("react");
8350
8391
  var import_react_aria7 = require("react-aria");
8351
- var import_react_dom5 = require("react-dom");
8392
+ var import_react_dom6 = require("react-dom");
8352
8393
 
8353
8394
  // src/utils/motion.ts
8354
8395
  var odsMotion = {
@@ -8504,7 +8545,7 @@ var DialogContent = (0, import_react47.forwardRef)(function DialogContent2({
8504
8545
  DialogContent.displayName = "Dialog.Content";
8505
8546
  var Dialog = (0, import_react47.forwardRef)(function Dialog2(props, ref) {
8506
8547
  if (typeof document === "undefined") return null;
8507
- return (0, import_react_dom5.createPortal)(
8548
+ return (0, import_react_dom6.createPortal)(
8508
8549
  /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_aria7.OverlayProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DialogContent, { ref, ...props }) }),
8509
8550
  document.body
8510
8551
  );
@@ -9100,7 +9141,7 @@ function CsvEditBody({
9100
9141
  // src/components/ContextMenu/ContextMenu.tsx
9101
9142
  var import_framer_motion17 = require("framer-motion");
9102
9143
  var import_react52 = require("react");
9103
- var import_react_dom6 = require("react-dom");
9144
+ var import_react_dom7 = require("react-dom");
9104
9145
  var import_jsx_runtime35 = require("react/jsx-runtime");
9105
9146
  function flipIntoViewport(cursor, panelRect, viewport, margin = 8) {
9106
9147
  if (!panelRect) return cursor;
@@ -9333,7 +9374,7 @@ var ContextMenu = (0, import_react52.forwardRef)(
9333
9374
  children
9334
9375
  }
9335
9376
  ),
9336
- (0, import_react_dom6.createPortal)(panel, portalTarget)
9377
+ (0, import_react_dom7.createPortal)(panel, portalTarget)
9337
9378
  ] });
9338
9379
  }
9339
9380
  );
@@ -10845,7 +10886,7 @@ DatasetCard.displayName = "DatasetCard";
10845
10886
  // src/components/DataTable/DataTable.tsx
10846
10887
  var import_icons14 = require("@octaviaflow/icons");
10847
10888
  var import_react55 = require("react");
10848
- var import_react_dom7 = require("react-dom");
10889
+ var import_react_dom8 = require("react-dom");
10849
10890
  var import_jsx_runtime38 = require("react/jsx-runtime");
10850
10891
  function readValue(row, col) {
10851
10892
  if (typeof col.accessor === "function") return col.accessor(row);
@@ -10908,7 +10949,7 @@ function PortalMenu({
10908
10949
  right: align === "end" ? pos.right : "auto",
10909
10950
  zIndex: 1e3
10910
10951
  };
10911
- return (0, import_react_dom7.createPortal)(
10952
+ return (0, import_react_dom8.createPortal)(
10912
10953
  /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { ref: menuRef, className: cn("ods-datatable__menu", className), style, children }),
10913
10954
  document.body
10914
10955
  );
@@ -12336,7 +12377,7 @@ Drawer.displayName = "Drawer";
12336
12377
  var import_framer_motion19 = require("framer-motion");
12337
12378
  var import_react61 = require("react");
12338
12379
  var import_react_aria8 = require("react-aria");
12339
- var import_react_dom8 = require("react-dom");
12380
+ var import_react_dom9 = require("react-dom");
12340
12381
  var import_jsx_runtime44 = require("react/jsx-runtime");
12341
12382
  function MenuItemComponent({ item, state, onAction }) {
12342
12383
  const ref = (0, import_react61.useRef)(null);
@@ -12500,7 +12541,7 @@ function MenuPopup({
12500
12541
  }
12501
12542
  ) });
12502
12543
  if (typeof document !== "undefined") {
12503
- return (0, import_react_dom8.createPortal)(portalContent, document.body);
12544
+ return (0, import_react_dom9.createPortal)(portalContent, document.body);
12504
12545
  }
12505
12546
  return null;
12506
12547
  }
@@ -16035,7 +16076,7 @@ Heatmap.displayName = "Heatmap";
16035
16076
 
16036
16077
  // src/components/HoverCard/HoverCard.tsx
16037
16078
  var import_react79 = require("react");
16038
- var import_react_dom9 = require("react-dom");
16079
+ var import_react_dom10 = require("react-dom");
16039
16080
  var import_jsx_runtime59 = require("react/jsx-runtime");
16040
16081
  function computePosition3(rect, panelRect, placement, offset) {
16041
16082
  const cx = rect.left + rect.width / 2;
@@ -16119,7 +16160,7 @@ function HoverCard({
16119
16160
  children
16120
16161
  }
16121
16162
  );
16122
- const portal = typeof document !== "undefined" && open ? (0, import_react_dom9.createPortal)(
16163
+ const portal = typeof document !== "undefined" && open ? (0, import_react_dom10.createPortal)(
16123
16164
  /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
16124
16165
  "div",
16125
16166
  {
@@ -18301,7 +18342,7 @@ MetricCard.displayName = "MetricCard";
18301
18342
  // src/components/MultiSelect/MultiSelect.tsx
18302
18343
  var import_framer_motion27 = require("framer-motion");
18303
18344
  var import_react91 = require("react");
18304
- var import_react_dom10 = require("react-dom");
18345
+ var import_react_dom11 = require("react-dom");
18305
18346
  var import_icons24 = require("@octaviaflow/icons");
18306
18347
  var import_jsx_runtime71 = require("react/jsx-runtime");
18307
18348
  var RESERVED_TAIL_PX = 64;
@@ -18669,7 +18710,7 @@ var MultiSelect = (0, import_react91.forwardRef)(
18669
18710
  ]
18670
18711
  }
18671
18712
  ),
18672
- typeof document !== "undefined" && (0, import_react_dom10.createPortal)(
18713
+ typeof document !== "undefined" && (0, import_react_dom11.createPortal)(
18673
18714
  /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_framer_motion27.AnimatePresence, { children: open && /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
18674
18715
  import_framer_motion27.motion.div,
18675
18716
  {
@@ -20634,7 +20675,7 @@ PipelineCard.displayName = "PipelineCard";
20634
20675
 
20635
20676
  // src/components/Popover/Popover.tsx
20636
20677
  var import_react99 = require("react");
20637
- var import_react_dom11 = require("react-dom");
20678
+ var import_react_dom12 = require("react-dom");
20638
20679
  var import_jsx_runtime79 = require("react/jsx-runtime");
20639
20680
  function computePosition4(rect, popRect, placement, offset) {
20640
20681
  const cx = rect.left + rect.width / 2;
@@ -20731,7 +20772,7 @@ function Popover({
20731
20772
  children
20732
20773
  }
20733
20774
  );
20734
- const portal = typeof document !== "undefined" && open ? (0, import_react_dom11.createPortal)(
20775
+ const portal = typeof document !== "undefined" && open ? (0, import_react_dom12.createPortal)(
20735
20776
  /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
20736
20777
  "div",
20737
20778
  {
@@ -22669,7 +22710,7 @@ function SettingsRow({
22669
22710
  // src/components/Sheet/Sheet.tsx
22670
22711
  var import_framer_motion29 = require("framer-motion");
22671
22712
  var import_react114 = require("react");
22672
- var import_react_dom12 = require("react-dom");
22713
+ var import_react_dom13 = require("react-dom");
22673
22714
  var import_jsx_runtime95 = require("react/jsx-runtime");
22674
22715
  var slideVariants = {
22675
22716
  top: { initial: { y: "-100%" }, animate: { y: 0 }, exit: { y: "-100%" } },
@@ -22752,7 +22793,7 @@ function Sheet({
22752
22793
  )
22753
22794
  ] }) });
22754
22795
  if (typeof document === "undefined") return null;
22755
- return (0, import_react_dom12.createPortal)(content, document.body);
22796
+ return (0, import_react_dom13.createPortal)(content, document.body);
22756
22797
  }
22757
22798
 
22758
22799
  // src/components/Show/Show.tsx
@@ -23385,7 +23426,7 @@ SkeletonGroup.displayName = "SkeletonGroup";
23385
23426
  var import_framer_motion30 = require("framer-motion");
23386
23427
  var import_react117 = require("react");
23387
23428
  var import_react_aria11 = require("react-aria");
23388
- var import_react_dom13 = require("react-dom");
23429
+ var import_react_dom14 = require("react-dom");
23389
23430
  var import_jsx_runtime99 = require("react/jsx-runtime");
23390
23431
  var slideVariants2 = {
23391
23432
  left: {
@@ -23477,7 +23518,7 @@ function SlideoutContent({
23477
23518
  }
23478
23519
  function SlideoutPanel(props) {
23479
23520
  if (typeof document === "undefined") return null;
23480
- return (0, import_react_dom13.createPortal)(
23521
+ return (0, import_react_dom14.createPortal)(
23481
23522
  /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_react_aria11.OverlayProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(SlideoutContent, { ...props }) }),
23482
23523
  document.body
23483
23524
  );
@@ -24094,7 +24135,7 @@ VStack.displayName = "VStack";
24094
24135
  // src/components/Spotlight/Spotlight.tsx
24095
24136
  var import_framer_motion31 = require("framer-motion");
24096
24137
  var import_react122 = require("react");
24097
- var import_react_dom14 = require("react-dom");
24138
+ var import_react_dom15 = require("react-dom");
24098
24139
  var import_jsx_runtime104 = require("react/jsx-runtime");
24099
24140
  var Spotlight = (0, import_react122.forwardRef)(
24100
24141
  function Spotlight2({
@@ -24161,7 +24202,7 @@ var Spotlight = (0, import_react122.forwardRef)(
24161
24202
  width: rect.width + padding * 2,
24162
24203
  height: rect.height + padding * 2
24163
24204
  } : null;
24164
- return (0, import_react_dom14.createPortal)(
24205
+ return (0, import_react_dom15.createPortal)(
24165
24206
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_framer_motion31.AnimatePresence, { children: open && /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(
24166
24207
  import_framer_motion31.motion.div,
24167
24208
  {
@@ -25852,7 +25893,7 @@ TestimonialCard.displayName = "TestimonialCard";
25852
25893
  // src/components/Textarea/Textarea.tsx
25853
25894
  var import_react136 = require("react");
25854
25895
  var import_react_aria14 = require("react-aria");
25855
- var import_react_dom15 = require("react-dom");
25896
+ var import_react_dom16 = require("react-dom");
25856
25897
  var import_icons43 = require("@octaviaflow/icons");
25857
25898
 
25858
25899
  // src/hooks/useTextareaCommands.ts
@@ -26644,7 +26685,7 @@ var Textarea = (0, import_react136.forwardRef)(
26644
26685
  "aria-activedescendant": cmdEnabled && cmdPalette.isOpen && cmdPalette.items[cmdPalette.activeIndex] ? `${baseId}-cmd-${cmdPalette.items[cmdPalette.activeIndex].id}` : void 0
26645
26686
  }
26646
26687
  ),
26647
- cmdEnabled && cmdPalette.isOpen && cmdPalette.items.length > 0 && typeof document !== "undefined" && (0, import_react_dom15.createPortal)(
26688
+ cmdEnabled && cmdPalette.isOpen && cmdPalette.items.length > 0 && typeof document !== "undefined" && (0, import_react_dom16.createPortal)(
26648
26689
  /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
26649
26690
  "ul",
26650
26691
  {
@@ -26687,7 +26728,7 @@ var Textarea = (0, import_react136.forwardRef)(
26687
26728
  ),
26688
26729
  document.body
26689
26730
  ),
26690
- selectionToolbar && sel.active && sel.rect && typeof document !== "undefined" && (0, import_react_dom15.createPortal)(
26731
+ selectionToolbar && sel.active && sel.rect && typeof document !== "undefined" && (0, import_react_dom16.createPortal)(
26691
26732
  /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)(
26692
26733
  "div",
26693
26734
  {
@@ -27577,7 +27618,7 @@ TimezonePicker.displayName = "TimezonePicker";
27577
27618
  // src/components/Toast/Toast.tsx
27578
27619
  var import_framer_motion36 = require("framer-motion");
27579
27620
  var import_react140 = require("react");
27580
- var import_react_dom16 = require("react-dom");
27621
+ var import_react_dom17 = require("react-dom");
27581
27622
  var import_jsx_runtime120 = require("react/jsx-runtime");
27582
27623
  var defaultIcons = {
27583
27624
  success: /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
@@ -27907,7 +27948,7 @@ function ToastProvider({
27907
27948
  }) });
27908
27949
  return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(ToastContext.Provider, { value: ctx, children: [
27909
27950
  children,
27910
- typeof document !== "undefined" && (0, import_react_dom16.createPortal)(containers, document.body)
27951
+ typeof document !== "undefined" && (0, import_react_dom17.createPortal)(containers, document.body)
27911
27952
  ] });
27912
27953
  }
27913
27954
  function useToast() {