@octaviaflow/core 3.0.18-beta.41 → 3.0.18-beta.43

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.
@@ -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;IACrB;;;;mEAI+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAsMD,eAAO,MAAM,gBAAgB,kHA+M3B,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({
@@ -8355,7 +8389,7 @@ var import_icons11 = require("@octaviaflow/icons");
8355
8389
  var import_framer_motion15 = require("framer-motion");
8356
8390
  var import_react47 = require("react");
8357
8391
  var import_react_aria7 = require("react-aria");
8358
- var import_react_dom5 = require("react-dom");
8392
+ var import_react_dom6 = require("react-dom");
8359
8393
 
8360
8394
  // src/utils/motion.ts
8361
8395
  var odsMotion = {
@@ -8511,7 +8545,7 @@ var DialogContent = (0, import_react47.forwardRef)(function DialogContent2({
8511
8545
  DialogContent.displayName = "Dialog.Content";
8512
8546
  var Dialog = (0, import_react47.forwardRef)(function Dialog2(props, ref) {
8513
8547
  if (typeof document === "undefined") return null;
8514
- return (0, import_react_dom5.createPortal)(
8548
+ return (0, import_react_dom6.createPortal)(
8515
8549
  /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_aria7.OverlayProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DialogContent, { ref, ...props }) }),
8516
8550
  document.body
8517
8551
  );
@@ -9029,11 +9063,17 @@ function CsvTable({
9029
9063
  error.message
9030
9064
  ] }),
9031
9065
  /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("table", { className: "ods-csv-viewer__table", "aria-label": "CSV data", children: [
9032
- headerRow && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("tr", { children: Array.from({ length: colCount }).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("th", { scope: "col", children: headerRow[i] ?? "" }, i)) }) }),
9066
+ headerRow && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("tr", { children: Array.from({ length: colCount }).map((_, i) => {
9067
+ const v = headerRow[i] ?? "";
9068
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("th", { scope: "col", title: v, children: v }, i);
9069
+ }) }) }),
9033
9070
  /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("tbody", { children: rows.map((row, ri) => (
9034
9071
  // CSV rows have no stable id — `ri` is the only key we have.
9035
9072
  // Acceptable since CSVs are read-only data.
9036
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("tr", { children: Array.from({ length: colCount }).map((_, ci) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("td", { children: row[ci] ?? "" }, ci)) }, ri)
9073
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("tr", { children: Array.from({ length: colCount }).map((_, ci) => {
9074
+ const v = row[ci] ?? "";
9075
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("td", { title: v, children: v }, ci);
9076
+ }) }, ri)
9037
9077
  )) })
9038
9078
  ] })
9039
9079
  ] });
@@ -9107,7 +9147,7 @@ function CsvEditBody({
9107
9147
  // src/components/ContextMenu/ContextMenu.tsx
9108
9148
  var import_framer_motion17 = require("framer-motion");
9109
9149
  var import_react52 = require("react");
9110
- var import_react_dom6 = require("react-dom");
9150
+ var import_react_dom7 = require("react-dom");
9111
9151
  var import_jsx_runtime35 = require("react/jsx-runtime");
9112
9152
  function flipIntoViewport(cursor, panelRect, viewport, margin = 8) {
9113
9153
  if (!panelRect) return cursor;
@@ -9340,7 +9380,7 @@ var ContextMenu = (0, import_react52.forwardRef)(
9340
9380
  children
9341
9381
  }
9342
9382
  ),
9343
- (0, import_react_dom6.createPortal)(panel, portalTarget)
9383
+ (0, import_react_dom7.createPortal)(panel, portalTarget)
9344
9384
  ] });
9345
9385
  }
9346
9386
  );
@@ -10852,7 +10892,7 @@ DatasetCard.displayName = "DatasetCard";
10852
10892
  // src/components/DataTable/DataTable.tsx
10853
10893
  var import_icons14 = require("@octaviaflow/icons");
10854
10894
  var import_react55 = require("react");
10855
- var import_react_dom7 = require("react-dom");
10895
+ var import_react_dom8 = require("react-dom");
10856
10896
  var import_jsx_runtime38 = require("react/jsx-runtime");
10857
10897
  function readValue(row, col) {
10858
10898
  if (typeof col.accessor === "function") return col.accessor(row);
@@ -10915,7 +10955,7 @@ function PortalMenu({
10915
10955
  right: align === "end" ? pos.right : "auto",
10916
10956
  zIndex: 1e3
10917
10957
  };
10918
- return (0, import_react_dom7.createPortal)(
10958
+ return (0, import_react_dom8.createPortal)(
10919
10959
  /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { ref: menuRef, className: cn("ods-datatable__menu", className), style, children }),
10920
10960
  document.body
10921
10961
  );
@@ -12343,7 +12383,7 @@ Drawer.displayName = "Drawer";
12343
12383
  var import_framer_motion19 = require("framer-motion");
12344
12384
  var import_react61 = require("react");
12345
12385
  var import_react_aria8 = require("react-aria");
12346
- var import_react_dom8 = require("react-dom");
12386
+ var import_react_dom9 = require("react-dom");
12347
12387
  var import_jsx_runtime44 = require("react/jsx-runtime");
12348
12388
  function MenuItemComponent({ item, state, onAction }) {
12349
12389
  const ref = (0, import_react61.useRef)(null);
@@ -12507,7 +12547,7 @@ function MenuPopup({
12507
12547
  }
12508
12548
  ) });
12509
12549
  if (typeof document !== "undefined") {
12510
- return (0, import_react_dom8.createPortal)(portalContent, document.body);
12550
+ return (0, import_react_dom9.createPortal)(portalContent, document.body);
12511
12551
  }
12512
12552
  return null;
12513
12553
  }
@@ -16042,7 +16082,7 @@ Heatmap.displayName = "Heatmap";
16042
16082
 
16043
16083
  // src/components/HoverCard/HoverCard.tsx
16044
16084
  var import_react79 = require("react");
16045
- var import_react_dom9 = require("react-dom");
16085
+ var import_react_dom10 = require("react-dom");
16046
16086
  var import_jsx_runtime59 = require("react/jsx-runtime");
16047
16087
  function computePosition3(rect, panelRect, placement, offset) {
16048
16088
  const cx = rect.left + rect.width / 2;
@@ -16126,7 +16166,7 @@ function HoverCard({
16126
16166
  children
16127
16167
  }
16128
16168
  );
16129
- const portal = typeof document !== "undefined" && open ? (0, import_react_dom9.createPortal)(
16169
+ const portal = typeof document !== "undefined" && open ? (0, import_react_dom10.createPortal)(
16130
16170
  /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
16131
16171
  "div",
16132
16172
  {
@@ -18308,7 +18348,7 @@ MetricCard.displayName = "MetricCard";
18308
18348
  // src/components/MultiSelect/MultiSelect.tsx
18309
18349
  var import_framer_motion27 = require("framer-motion");
18310
18350
  var import_react91 = require("react");
18311
- var import_react_dom10 = require("react-dom");
18351
+ var import_react_dom11 = require("react-dom");
18312
18352
  var import_icons24 = require("@octaviaflow/icons");
18313
18353
  var import_jsx_runtime71 = require("react/jsx-runtime");
18314
18354
  var RESERVED_TAIL_PX = 64;
@@ -18676,7 +18716,7 @@ var MultiSelect = (0, import_react91.forwardRef)(
18676
18716
  ]
18677
18717
  }
18678
18718
  ),
18679
- typeof document !== "undefined" && (0, import_react_dom10.createPortal)(
18719
+ typeof document !== "undefined" && (0, import_react_dom11.createPortal)(
18680
18720
  /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_framer_motion27.AnimatePresence, { children: open && /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
18681
18721
  import_framer_motion27.motion.div,
18682
18722
  {
@@ -20641,7 +20681,7 @@ PipelineCard.displayName = "PipelineCard";
20641
20681
 
20642
20682
  // src/components/Popover/Popover.tsx
20643
20683
  var import_react99 = require("react");
20644
- var import_react_dom11 = require("react-dom");
20684
+ var import_react_dom12 = require("react-dom");
20645
20685
  var import_jsx_runtime79 = require("react/jsx-runtime");
20646
20686
  function computePosition4(rect, popRect, placement, offset) {
20647
20687
  const cx = rect.left + rect.width / 2;
@@ -20738,7 +20778,7 @@ function Popover({
20738
20778
  children
20739
20779
  }
20740
20780
  );
20741
- const portal = typeof document !== "undefined" && open ? (0, import_react_dom11.createPortal)(
20781
+ const portal = typeof document !== "undefined" && open ? (0, import_react_dom12.createPortal)(
20742
20782
  /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
20743
20783
  "div",
20744
20784
  {
@@ -22676,7 +22716,7 @@ function SettingsRow({
22676
22716
  // src/components/Sheet/Sheet.tsx
22677
22717
  var import_framer_motion29 = require("framer-motion");
22678
22718
  var import_react114 = require("react");
22679
- var import_react_dom12 = require("react-dom");
22719
+ var import_react_dom13 = require("react-dom");
22680
22720
  var import_jsx_runtime95 = require("react/jsx-runtime");
22681
22721
  var slideVariants = {
22682
22722
  top: { initial: { y: "-100%" }, animate: { y: 0 }, exit: { y: "-100%" } },
@@ -22759,7 +22799,7 @@ function Sheet({
22759
22799
  )
22760
22800
  ] }) });
22761
22801
  if (typeof document === "undefined") return null;
22762
- return (0, import_react_dom12.createPortal)(content, document.body);
22802
+ return (0, import_react_dom13.createPortal)(content, document.body);
22763
22803
  }
22764
22804
 
22765
22805
  // src/components/Show/Show.tsx
@@ -23392,7 +23432,7 @@ SkeletonGroup.displayName = "SkeletonGroup";
23392
23432
  var import_framer_motion30 = require("framer-motion");
23393
23433
  var import_react117 = require("react");
23394
23434
  var import_react_aria11 = require("react-aria");
23395
- var import_react_dom13 = require("react-dom");
23435
+ var import_react_dom14 = require("react-dom");
23396
23436
  var import_jsx_runtime99 = require("react/jsx-runtime");
23397
23437
  var slideVariants2 = {
23398
23438
  left: {
@@ -23484,7 +23524,7 @@ function SlideoutContent({
23484
23524
  }
23485
23525
  function SlideoutPanel(props) {
23486
23526
  if (typeof document === "undefined") return null;
23487
- return (0, import_react_dom13.createPortal)(
23527
+ return (0, import_react_dom14.createPortal)(
23488
23528
  /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_react_aria11.OverlayProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(SlideoutContent, { ...props }) }),
23489
23529
  document.body
23490
23530
  );
@@ -24101,7 +24141,7 @@ VStack.displayName = "VStack";
24101
24141
  // src/components/Spotlight/Spotlight.tsx
24102
24142
  var import_framer_motion31 = require("framer-motion");
24103
24143
  var import_react122 = require("react");
24104
- var import_react_dom14 = require("react-dom");
24144
+ var import_react_dom15 = require("react-dom");
24105
24145
  var import_jsx_runtime104 = require("react/jsx-runtime");
24106
24146
  var Spotlight = (0, import_react122.forwardRef)(
24107
24147
  function Spotlight2({
@@ -24168,7 +24208,7 @@ var Spotlight = (0, import_react122.forwardRef)(
24168
24208
  width: rect.width + padding * 2,
24169
24209
  height: rect.height + padding * 2
24170
24210
  } : null;
24171
- return (0, import_react_dom14.createPortal)(
24211
+ return (0, import_react_dom15.createPortal)(
24172
24212
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_framer_motion31.AnimatePresence, { children: open && /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(
24173
24213
  import_framer_motion31.motion.div,
24174
24214
  {
@@ -25859,7 +25899,7 @@ TestimonialCard.displayName = "TestimonialCard";
25859
25899
  // src/components/Textarea/Textarea.tsx
25860
25900
  var import_react136 = require("react");
25861
25901
  var import_react_aria14 = require("react-aria");
25862
- var import_react_dom15 = require("react-dom");
25902
+ var import_react_dom16 = require("react-dom");
25863
25903
  var import_icons43 = require("@octaviaflow/icons");
25864
25904
 
25865
25905
  // src/hooks/useTextareaCommands.ts
@@ -26651,7 +26691,7 @@ var Textarea = (0, import_react136.forwardRef)(
26651
26691
  "aria-activedescendant": cmdEnabled && cmdPalette.isOpen && cmdPalette.items[cmdPalette.activeIndex] ? `${baseId}-cmd-${cmdPalette.items[cmdPalette.activeIndex].id}` : void 0
26652
26692
  }
26653
26693
  ),
26654
- cmdEnabled && cmdPalette.isOpen && cmdPalette.items.length > 0 && typeof document !== "undefined" && (0, import_react_dom15.createPortal)(
26694
+ cmdEnabled && cmdPalette.isOpen && cmdPalette.items.length > 0 && typeof document !== "undefined" && (0, import_react_dom16.createPortal)(
26655
26695
  /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
26656
26696
  "ul",
26657
26697
  {
@@ -26694,7 +26734,7 @@ var Textarea = (0, import_react136.forwardRef)(
26694
26734
  ),
26695
26735
  document.body
26696
26736
  ),
26697
- selectionToolbar && sel.active && sel.rect && typeof document !== "undefined" && (0, import_react_dom15.createPortal)(
26737
+ selectionToolbar && sel.active && sel.rect && typeof document !== "undefined" && (0, import_react_dom16.createPortal)(
26698
26738
  /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)(
26699
26739
  "div",
26700
26740
  {
@@ -27584,7 +27624,7 @@ TimezonePicker.displayName = "TimezonePicker";
27584
27624
  // src/components/Toast/Toast.tsx
27585
27625
  var import_framer_motion36 = require("framer-motion");
27586
27626
  var import_react140 = require("react");
27587
- var import_react_dom16 = require("react-dom");
27627
+ var import_react_dom17 = require("react-dom");
27588
27628
  var import_jsx_runtime120 = require("react/jsx-runtime");
27589
27629
  var defaultIcons = {
27590
27630
  success: /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
@@ -27914,7 +27954,7 @@ function ToastProvider({
27914
27954
  }) });
27915
27955
  return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(ToastContext.Provider, { value: ctx, children: [
27916
27956
  children,
27917
- typeof document !== "undefined" && (0, import_react_dom16.createPortal)(containers, document.body)
27957
+ typeof document !== "undefined" && (0, import_react_dom17.createPortal)(containers, document.body)
27918
27958
  ] });
27919
27959
  }
27920
27960
  function useToast() {
@@ -33162,6 +33202,24 @@ function XmlNodeRow({
33162
33202
  const children = node.children ?? [];
33163
33203
  const isSelfClosing = children.length === 0;
33164
33204
  const attrs = Object.entries(node.attributes ?? {});
33205
+ const inlineTextChild = children.length === 1 && children[0].type === "text" ? children[0].text ?? "" : null;
33206
+ if (inlineTextChild !== null) {
33207
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)("div", { className: "ods-xml-viewer__row", style: { paddingLeft: pad2 }, children: [
33208
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("span", { className: "ods-xml-viewer__caret-spacer" }),
33209
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("span", { className: "ods-xml-viewer__bracket", children: "<" }),
33210
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("span", { className: "ods-xml-viewer__tag", children: node.name }),
33211
+ showAttributes && attrs.map(([k, v]) => /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)("span", { className: "ods-xml-viewer__attr", children: [
33212
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("span", { className: "ods-xml-viewer__attr-name", children: k }),
33213
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("span", { className: "ods-xml-viewer__attr-eq", children: "=" }),
33214
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("span", { className: "ods-xml-viewer__attr-value", children: `"${v}"` })
33215
+ ] }, k)),
33216
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("span", { className: "ods-xml-viewer__bracket", children: ">" }),
33217
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("span", { className: "ods-xml-viewer__text", children: inlineTextChild }),
33218
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("span", { className: "ods-xml-viewer__bracket", children: "</" }),
33219
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("span", { className: "ods-xml-viewer__tag", children: node.name }),
33220
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("span", { className: "ods-xml-viewer__bracket", children: ">" })
33221
+ ] });
33222
+ }
33165
33223
  return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)("div", { children: [
33166
33224
  /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
33167
33225
  "div",