@octaviaflow/core 3.1.0-beta.111 → 3.1.0-beta.112

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":"ExpressionField.d.ts","sourceRoot":"","sources":["../../../src/components/ExpressionField/ExpressionField.tsx"],"names":[],"mappings":"AA2BA,OAAO,EAML,KAAK,aAAa,EAIlB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAkBf,6EAA6E;AAC7E,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CAChC;AAED,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACrD;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;IAC1D;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,mEAAmE;AACnE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWzD;AAyBD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAiBpE;AAsCD,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,UAAU,EACV,QAAgB,EAChB,IAAQ,EACR,EAAE,EACF,SAAS,EACT,KAAK,EACL,YAAY,EACZ,WAAW,EACX,cAAsB,EACtB,YAAY,EAAE,SAAS,GACxB,EAAE,oBAAoB,2CA6ZtB;AA0RD,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"ExpressionField.d.ts","sourceRoot":"","sources":["../../../src/components/ExpressionField/ExpressionField.tsx"],"names":[],"mappings":"AA2BA,OAAO,EAML,KAAK,aAAa,EAIlB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAkBf,6EAA6E;AAC7E,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CAChC;AAED,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACrD;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;IAC1D;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,mEAAmE;AACnE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAmBzD;AAyBD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAiBpE;AAsCD,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,UAAU,EACV,QAAgB,EAChB,IAAQ,EACR,EAAE,EACF,SAAS,EACT,KAAK,EACL,YAAY,EACZ,WAAW,EACX,cAAsB,EACtB,YAAY,EAAE,SAAS,GACxB,EAAE,oBAAoB,2CA6ZtB;AA0RD,eAAe,eAAe,CAAC"}
@@ -7,6 +7,8 @@ export interface SlideoutPanelProps {
7
7
  title?: ReactNode;
8
8
  children?: ReactNode;
9
9
  footer?: ReactNode;
10
+ /** Controls shown in the header, before the close button — a refresh, a menu. */
11
+ headerActions?: ReactNode;
10
12
  className?: string;
11
13
  /**
12
14
  * Inset the panel (and its backdrop) from the top of the viewport — e.g. to
@@ -1 +1 @@
1
- {"version":3,"file":"SlideoutPanel.d.ts","sourceRoot":"","sources":["../../../src/components/SlideoutPanel/SlideoutPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,OAAO,CAAC;AAK1D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AA0JD,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,+BAWtD"}
1
+ {"version":3,"file":"SlideoutPanel.d.ts","sourceRoot":"","sources":["../../../src/components/SlideoutPanel/SlideoutPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,OAAO,CAAC;AAK1D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,iFAAiF;IACjF,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AA8JD,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,+BAWtD"}
@@ -32,6 +32,12 @@ export interface ToastOptions {
32
32
  duration?: number;
33
33
  closeable?: boolean;
34
34
  position?: ToastPosition;
35
+ /**
36
+ * Lines of `description` shown before it is cut. A longer description gets
37
+ * a More / Less toggle, and a click on the text toggles too. 0 never cuts.
38
+ * Default 2.
39
+ */
40
+ clampLines?: number;
35
41
  }
36
42
  export interface ToastProviderProps {
37
43
  children: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/components/Toast/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAOf,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AACpE,MAAM,MAAM,aAAa,GACrB,UAAU,GACV,YAAY,GACZ,WAAW,GACX,aAAa,GACb,eAAe,GACf,cAAc,CAAC;AAEnB,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,sCAAsC;IACtC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,SAAS,CAAC;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AA+QD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAWD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,eAAgC,EAChC,QAAY,GACb,EAAE,kBAAkB,2CAiGpB;AAKD,wBAAgB,QAAQ;sBAKgB,YAAY;2BAC7B,SAAS,SAAQ,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;yBAE5D,SAAS,SAAQ,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;2BAExD,SAAS,SAAQ,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;wBAE7D,SAAS,SAAQ,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;yBAGhE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,SACrC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;;kBA7YxB,MAAM,KAAK,IAAI;4BACL,aAAa,KAAK,IAAI;EAiZ/C"}
1
+ {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/components/Toast/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,SAAS,EAQf,MAAM,OAAO,CAAC;AAOf,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AACpE,MAAM,MAAM,aAAa,GACrB,UAAU,GACV,YAAY,GACZ,WAAW,GACX,aAAa,GACb,eAAe,GACf,cAAc,CAAC;AAEnB,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,sCAAsC;IACtC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,SAAS,CAAC;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAqWD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAWD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,eAAgC,EAChC,QAAY,GACb,EAAE,kBAAkB,2CAkIpB;AAKD,wBAAgB,QAAQ;sBAKgB,YAAY;2BAC7B,SAAS,SAAQ,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;yBAE5D,SAAS,SAAQ,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;2BAExD,SAAS,SAAQ,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;wBAE7D,SAAS,SAAQ,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;yBAGhE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,SACrC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;;kBAzfxB,MAAM,KAAK,IAAI;4BACL,aAAa,KAAK,IAAI;EA6f/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"VersionHistory.d.ts","sourceRoot":"","sources":["../../../src/components/VersionHistory/VersionHistory.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VersionHistory.d.ts","sourceRoot":"","sources":["../../../src/components/VersionHistory/VersionHistory.tsx"],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -16859,7 +16859,10 @@ function shortReferenceLabel(token) {
16859
16859
  if (token.startsWith("{{ods://")) {
16860
16860
  const path = token.slice(8, -2);
16861
16861
  const parts = path.split("/");
16862
- if (parts[0] === "steps" && parts.length >= 4) return parts.slice(3).join(".");
16862
+ if (parts[0] === "steps") {
16863
+ if (parts.length >= 4) return parts.slice(3).join(".");
16864
+ return parts[2] ?? "output";
16865
+ }
16863
16866
  if (parts[0] === "flow") return `flow.${parts.slice(1).join(".")}`;
16864
16867
  return parts.join(".");
16865
16868
  }
@@ -40069,6 +40072,7 @@ function SlideoutContent({
40069
40072
  title,
40070
40073
  children,
40071
40074
  footer,
40075
+ headerActions,
40072
40076
  className,
40073
40077
  offsetTop = 0,
40074
40078
  offsetBottom = 0
@@ -40154,16 +40158,19 @@ function SlideoutContent({
40154
40158
  children: [
40155
40159
  title && /* @__PURE__ */ (0, import_jsx_runtime161.jsxs)("div", { className: "ods-slideout__header", children: [
40156
40160
  /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("h2", { ...titleProps, className: "ods-slideout__title", children: title }),
40157
- /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
40158
- "button",
40159
- {
40160
- className: "ods-slideout__close",
40161
- onClick: onClose,
40162
- "aria-label": "Close panel",
40163
- type: "button",
40164
- children: /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("path", { d: "M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z" }) })
40165
- }
40166
- )
40161
+ /* @__PURE__ */ (0, import_jsx_runtime161.jsxs)("div", { className: "ods-slideout__header-actions", children: [
40162
+ headerActions,
40163
+ /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
40164
+ "button",
40165
+ {
40166
+ className: "ods-slideout__close",
40167
+ onClick: onClose,
40168
+ "aria-label": "Close panel",
40169
+ type: "button",
40170
+ children: /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("path", { d: "M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z" }) })
40171
+ }
40172
+ )
40173
+ ] })
40167
40174
  ] }),
40168
40175
  /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("div", { className: "ods-slideout__body", children }),
40169
40176
  footer && /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("div", { className: "ods-slideout__footer", children: footer })
@@ -41676,15 +41683,57 @@ var defaultIcons = {
41676
41683
  ] })
41677
41684
  };
41678
41685
  var ToastContext = (0, import_react188.createContext)(null);
41679
- function ToastBody({ item, onDismiss }) {
41686
+ function ToastBody({ item, stacked, onDismiss }) {
41680
41687
  const dismiss = () => onDismiss(item.id);
41688
+ const [expanded, setExpanded] = (0, import_react188.useState)(false);
41689
+ const [overflowing, setOverflowing] = (0, import_react188.useState)(false);
41690
+ const descRef = (0, import_react188.useRef)(null);
41691
+ const cut = item.clampLines > 0 && !expanded;
41692
+ (0, import_react188.useLayoutEffect)(() => {
41693
+ if (!cut) return;
41694
+ const el = descRef.current;
41695
+ if (el) setOverflowing(el.scrollHeight > el.clientHeight + 1);
41696
+ }, [cut, item.description]);
41681
41697
  if (item.render) return /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(import_jsx_runtime174.Fragment, { children: item.render({ id: item.id, dismiss }) });
41682
41698
  const title = item.title ?? item.message;
41699
+ const toggles = overflowing && !stacked;
41700
+ const toggle = () => setExpanded((v) => !v);
41701
+ const onTextClick = (e) => {
41702
+ if (!toggles) return;
41703
+ if (window.getSelection()?.toString()) return;
41704
+ e.stopPropagation();
41705
+ toggle();
41706
+ };
41683
41707
  return /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)(import_jsx_runtime174.Fragment, { children: [
41684
41708
  /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("span", { className: "ods-toast__icon", "aria-hidden": "true", children: item.icon ?? defaultIcons[item.variant] }),
41685
- /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("div", { className: "ods-toast__body", children: [
41709
+ /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("div", { className: "ods-toast__body", onClick: onTextClick, children: [
41686
41710
  title && /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("div", { className: "ods-toast__title", children: title }),
41687
- item.description && /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("div", { className: "ods-toast__desc", children: item.description })
41711
+ item.description && /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
41712
+ "div",
41713
+ {
41714
+ ref: descRef,
41715
+ className: cn(
41716
+ "ods-toast__desc",
41717
+ cut && "ods-toast__desc--cut",
41718
+ toggles && "ods-toast__desc--toggles"
41719
+ ),
41720
+ style: cut ? { "--ods-toast-clamp": item.clampLines } : void 0,
41721
+ children: item.description
41722
+ }
41723
+ ),
41724
+ toggles && /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
41725
+ "button",
41726
+ {
41727
+ type: "button",
41728
+ className: "ods-toast__more",
41729
+ "aria-expanded": expanded,
41730
+ onClick: (e) => {
41731
+ e.stopPropagation();
41732
+ toggle();
41733
+ },
41734
+ children: expanded ? "Less" : "More"
41735
+ }
41736
+ )
41688
41737
  ] }),
41689
41738
  (item.actionLabel || item.action) && /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("div", { className: "ods-toast__action", children: item.actionLabel ? (
41690
41739
  // First-class action chip — consistent styling, auto-dismiss
@@ -41732,10 +41781,17 @@ function ToastBody({ item, onDismiss }) {
41732
41781
  )
41733
41782
  ] });
41734
41783
  }
41735
- function PositionStack({ items, position, onDismiss, maxStack }) {
41784
+ function PositionStack({ items, position, onDismiss, onHold, onRelease, maxStack }) {
41736
41785
  const [hovered, setHovered] = (0, import_react188.useState)(false);
41786
+ const [focused, setFocused] = (0, import_react188.useState)(false);
41737
41787
  const [pinned, setPinned] = (0, import_react188.useState)(false);
41738
41788
  const expanded = hovered || pinned;
41789
+ const held = hovered || focused;
41790
+ const ids = (0, import_react188.useMemo)(() => items.map((t) => t.id), [items]);
41791
+ (0, import_react188.useEffect)(() => {
41792
+ if (held) onHold(ids);
41793
+ else onRelease(ids);
41794
+ }, [held, ids, onHold, onRelease]);
41739
41795
  const ordered = (0, import_react188.useMemo)(() => [...items].reverse(), [items]);
41740
41796
  const isBottom = position.startsWith("bottom");
41741
41797
  const dir = isBottom ? -1 : 1;
@@ -41763,6 +41819,10 @@ function PositionStack({ items, position, onDismiss, maxStack }) {
41763
41819
  ),
41764
41820
  onMouseEnter: () => setHovered(true),
41765
41821
  onMouseLeave: () => setHovered(false),
41822
+ onFocus: () => setFocused(true),
41823
+ onBlur: (e) => {
41824
+ if (!e.currentTarget.contains(e.relatedTarget)) setFocused(false);
41825
+ },
41766
41826
  "aria-live": "polite",
41767
41827
  children: [
41768
41828
  /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
@@ -41800,7 +41860,14 @@ function PositionStack({ items, position, onDismiss, maxStack }) {
41800
41860
  setPinned(true);
41801
41861
  }
41802
41862
  },
41803
- children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(ToastBody, { item, onDismiss })
41863
+ children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
41864
+ ToastBody,
41865
+ {
41866
+ item,
41867
+ stacked: !expanded && items.length > 1,
41868
+ onDismiss
41869
+ }
41870
+ )
41804
41871
  },
41805
41872
  item.id
41806
41873
  );
@@ -41837,29 +41904,51 @@ function ToastProvider({
41837
41904
  const [toasts, setToasts] = (0, import_react188.useState)([]);
41838
41905
  const timers = (0, import_react188.useRef)(/* @__PURE__ */ new Map());
41839
41906
  const idCounter2 = (0, import_react188.useRef)(0);
41840
- const dismiss = (0, import_react188.useCallback)((id) => {
41841
- setToasts((prev) => prev.filter((t) => t.id !== id));
41842
- const timer = timers.current.get(id);
41843
- if (timer) {
41844
- clearTimeout(timer);
41845
- timers.current.delete(id);
41846
- }
41907
+ const forget = (0, import_react188.useCallback)((id) => {
41908
+ const c = timers.current.get(id);
41909
+ if (c?.handle) clearTimeout(c.handle);
41910
+ timers.current.delete(id);
41847
41911
  }, []);
41848
- const dismissAll = (0, import_react188.useCallback)((position) => {
41849
- setToasts((prev) => {
41850
- const remaining = position ? prev.filter((t) => t.position !== position) : [];
41851
- for (const t of prev) {
41852
- if (!remaining.find((r) => r.id === t.id)) {
41853
- const timer = timers.current.get(t.id);
41854
- if (timer) {
41855
- clearTimeout(timer);
41856
- timers.current.delete(t.id);
41857
- }
41912
+ const dismiss = (0, import_react188.useCallback)(
41913
+ (id) => {
41914
+ setToasts((prev) => prev.filter((t) => t.id !== id));
41915
+ forget(id);
41916
+ },
41917
+ [forget]
41918
+ );
41919
+ const dismissAll = (0, import_react188.useCallback)(
41920
+ (position) => {
41921
+ setToasts((prev) => {
41922
+ const remaining = position ? prev.filter((t) => t.position !== position) : [];
41923
+ for (const t of prev) {
41924
+ if (!remaining.find((r) => r.id === t.id)) forget(t.id);
41858
41925
  }
41859
- }
41860
- return remaining;
41861
- });
41926
+ return remaining;
41927
+ });
41928
+ },
41929
+ [forget]
41930
+ );
41931
+ const hold = (0, import_react188.useCallback)((ids) => {
41932
+ const now2 = Date.now();
41933
+ for (const id of ids) {
41934
+ const c = timers.current.get(id);
41935
+ if (!c || c.handle === null) continue;
41936
+ clearTimeout(c.handle);
41937
+ c.handle = null;
41938
+ c.remaining = Math.max(0, c.remaining - (now2 - c.since));
41939
+ }
41862
41940
  }, []);
41941
+ const release = (0, import_react188.useCallback)(
41942
+ (ids) => {
41943
+ for (const id of ids) {
41944
+ const c = timers.current.get(id);
41945
+ if (!c || c.handle !== null) continue;
41946
+ c.since = Date.now();
41947
+ c.handle = setTimeout(() => dismiss(id), c.remaining);
41948
+ }
41949
+ },
41950
+ [dismiss]
41951
+ );
41863
41952
  const toast = (0, import_react188.useCallback)(
41864
41953
  (options2) => {
41865
41954
  const id = `toast-${++idCounter2.current}`;
@@ -41876,12 +41965,16 @@ function ToastProvider({
41876
41965
  render: options2.render,
41877
41966
  duration: options2.duration ?? 5e3,
41878
41967
  closeable: options2.closeable ?? true,
41879
- position: options2.position ?? defaultPosition
41968
+ position: options2.position ?? defaultPosition,
41969
+ clampLines: options2.clampLines ?? 2
41880
41970
  };
41881
41971
  setToasts((prev) => [...prev, item]);
41882
41972
  if (item.duration > 0) {
41883
- const timer = setTimeout(() => dismiss(id), item.duration);
41884
- timers.current.set(id, timer);
41973
+ timers.current.set(id, {
41974
+ handle: setTimeout(() => dismiss(id), item.duration),
41975
+ remaining: item.duration,
41976
+ since: Date.now()
41977
+ });
41885
41978
  }
41886
41979
  return id;
41887
41980
  },
@@ -41909,7 +42002,9 @@ function ToastProvider({
41909
42002
  items: list,
41910
42003
  position: pos,
41911
42004
  maxStack,
41912
- onDismiss: dismiss
42005
+ onDismiss: dismiss,
42006
+ onHold: hold,
42007
+ onRelease: release
41913
42008
  },
41914
42009
  pos
41915
42010
  );
@@ -42810,7 +42905,20 @@ function VersionHistory({
42810
42905
  }) {
42811
42906
  const [expandedId, setExpandedId] = (0, import_react195.useState)(defaultExpandedId);
42812
42907
  const baseId = (0, import_react195.useId)();
42813
- const showToolbar = Boolean(tabs && tabs.length > 0 || onRefresh);
42908
+ const showToolbar = Boolean(tabs && tabs.length > 0);
42909
+ const refreshButton = onRefresh ? /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
42910
+ "button",
42911
+ {
42912
+ type: "button",
42913
+ className: "ods-version-history__refresh",
42914
+ onClick: onRefresh,
42915
+ disabled: refreshing,
42916
+ "aria-label": "Refresh history",
42917
+ title: "Refresh",
42918
+ "data-spinning": refreshing || void 0,
42919
+ children: /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(RefreshGlyph, {})
42920
+ }
42921
+ ) : null;
42814
42922
  return /* @__PURE__ */ (0, import_jsx_runtime182.jsxs)(
42815
42923
  SlideoutPanel,
42816
42924
  {
@@ -42819,6 +42927,7 @@ function VersionHistory({
42819
42927
  position,
42820
42928
  width,
42821
42929
  title,
42930
+ headerActions: showToolbar ? void 0 : refreshButton,
42822
42931
  offsetTop,
42823
42932
  offsetBottom,
42824
42933
  className: cn("ods-version-history", className),
@@ -42846,19 +42955,7 @@ function VersionHistory({
42846
42955
  tab.id
42847
42956
  );
42848
42957
  }) }) : /* @__PURE__ */ (0, import_jsx_runtime182.jsx)("span", {}),
42849
- onRefresh && /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
42850
- "button",
42851
- {
42852
- type: "button",
42853
- className: "ods-version-history__refresh",
42854
- onClick: onRefresh,
42855
- disabled: refreshing,
42856
- "aria-label": "Refresh history",
42857
- title: "Refresh",
42858
- "data-spinning": refreshing || void 0,
42859
- children: /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(RefreshGlyph, {})
42860
- }
42861
- )
42958
+ refreshButton
42862
42959
  ] }),
42863
42960
  error && /* @__PURE__ */ (0, import_jsx_runtime182.jsx)("div", { className: "ods-version-history__banner", children: /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(Banner, { variant: "error", appearance: "subtle", title: "Couldn't load history", description: error }) }),
42864
42961
  /* @__PURE__ */ (0, import_jsx_runtime182.jsx)("div", { className: "ods-version-history__body", role: "tabpanel", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime182.jsxs)("div", { className: "ods-version-history__status", role: "status", "aria-live": "polite", children: [