@flytedan/flytebot-design-system 0.12.12 → 0.12.13

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/dist/index.js CHANGED
@@ -568,6 +568,11 @@ function SegmentedControl({ options = [], value, onChange, className = "", ...re
568
568
  }) });
569
569
  }
570
570
 
571
+ // src/components/textExposure.ts
572
+ function truncationTitle(content) {
573
+ return typeof content === "string" || typeof content === "number" ? String(content) : void 0;
574
+ }
575
+
571
576
  // src/components/surfaces/Card.tsx
572
577
  import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
573
578
  function Card({
@@ -589,7 +594,7 @@ function Card({
589
594
  ].filter(Boolean).join(" ");
590
595
  return /* @__PURE__ */ jsxs4("div", { className: cls, ...rest, children: [
591
596
  title ? /* @__PURE__ */ jsxs4("div", { className: "fd-card-head", children: [
592
- /* @__PURE__ */ jsx5("span", { className: "fd-card-head-title", children: title }),
597
+ /* @__PURE__ */ jsx5("span", { className: "fd-card-head-title", title: truncationTitle(title), children: title }),
593
598
  action
594
599
  ] }) : null,
595
600
  padded ? /* @__PURE__ */ jsx5("div", { className: "fd-card-body", children }) : children,
@@ -665,7 +670,7 @@ function Drawer({ open = true, title, onClose, footer, children, className = "",
665
670
  /* @__PURE__ */ jsx7("div", { className: "fd-scrim" + (closing ? " is-closing" : ""), style: { display: "block", zIndex: zIndex - LAYER_STEP }, onClick: close }),
666
671
  /* @__PURE__ */ jsxs6("aside", { className: ["fd-drawer", closing ? "is-closing" : "", className].filter(Boolean).join(" "), role: "dialog", "aria-modal": "true", ...rest, style: { zIndex }, children: [
667
672
  /* @__PURE__ */ jsxs6("div", { className: "fd-card-head", style: { flex: "none" }, children: [
668
- /* @__PURE__ */ jsx7("span", { className: "fd-card-head-title", children: title }),
673
+ /* @__PURE__ */ jsx7("span", { className: "fd-card-head-title", title: truncationTitle(title), children: title }),
669
674
  onClose ? /* @__PURE__ */ jsx7("button", { type: "button", className: "fd-btn-icon", "aria-label": "Close", onClick: close, children: /* @__PURE__ */ jsx7("i", { className: "ph ph-x" }) }) : null
670
675
  ] }),
671
676
  /* @__PURE__ */ jsx7("div", { style: { flex: "1 1 auto", minHeight: 0, overflow: "auto", padding: 20 }, children }),
@@ -947,7 +952,12 @@ function Topbar({
947
952
  onMenu ? /* @__PURE__ */ jsx16("button", { type: "button", className: "fd-btn-icon", "aria-label": "Menu", onClick: onMenu, children: /* @__PURE__ */ jsx16("i", { className: "ph ph-list" }) }) : null,
948
953
  /* @__PURE__ */ jsx16("nav", { className: "fd-crumb", "aria-label": "Breadcrumb", children: crumbs.map((c, i) => /* @__PURE__ */ jsxs13(React6.Fragment, { children: [
949
954
  i > 0 ? /* @__PURE__ */ jsx16("i", { className: "ph ph-caret-right", style: { fontSize: 11, opacity: 0.6 }, "aria-hidden": "true" }) : null,
950
- i === crumbs.length - 1 ? /* @__PURE__ */ jsx16("span", { className: "fd-crumb-current", children: c.label }) : /* @__PURE__ */ jsx16(
955
+ i === crumbs.length - 1 ? (
956
+ // MP-141: the current crumb mixes a static route label with (usually) a
957
+ // user-entered campaign name and is single-line by design — exposure,
958
+ // not wrapping, is the fix here, same rule as every other identifier.
959
+ /* @__PURE__ */ jsx16("span", { className: "fd-crumb-current", title: truncationTitle(c.label), children: c.label })
960
+ ) : /* @__PURE__ */ jsx16(
951
961
  "a",
952
962
  {
953
963
  href: c.href || "#",
@@ -2542,12 +2552,12 @@ function SegmentedMeter({
2542
2552
  legend ? /* @__PURE__ */ jsxs31("ul", { className: "fd-segmeter-legend", children: [
2543
2553
  items.map((s, i) => /* @__PURE__ */ jsxs31("li", { children: [
2544
2554
  /* @__PURE__ */ jsx34("span", { className: "fd-segmeter-dot", style: { background: fill(s, i) }, "aria-hidden": "true" }),
2545
- /* @__PURE__ */ jsx34("span", { className: "fd-segmeter-key", children: s.label }),
2555
+ /* @__PURE__ */ jsx34("span", { className: "fd-segmeter-key", title: truncationTitle(s.label), children: s.label }),
2546
2556
  /* @__PURE__ */ jsx34("span", { className: "fd-segmeter-val fd-tabular", children: format(s.value) })
2547
2557
  ] }, s.id || s.label || i)),
2548
2558
  safeTotal && used < safeTotal ? /* @__PURE__ */ jsxs31("li", { className: "is-remainder", children: [
2549
2559
  /* @__PURE__ */ jsx34("span", { className: "fd-segmeter-dot is-empty", "aria-hidden": "true" }),
2550
- /* @__PURE__ */ jsx34("span", { className: "fd-segmeter-key", children: remainderLabel }),
2560
+ /* @__PURE__ */ jsx34("span", { className: "fd-segmeter-key", title: truncationTitle(remainderLabel), children: remainderLabel }),
2551
2561
  /* @__PURE__ */ jsx34("span", { className: "fd-segmeter-val fd-tabular", children: format(safeTotal - used) })
2552
2562
  ] }) : null
2553
2563
  ] }) : null
@@ -2989,7 +2999,11 @@ function EntityRow({
2989
2999
  /* @__PURE__ */ jsx39("span", { className: "fd-erow-title fd-body-sm", children: title })
2990
3000
  ]
2991
3001
  }
2992
- ) }) : /* @__PURE__ */ jsx39("span", { className: "fd-erow-title fd-body-sm", children: title }),
3002
+ ) }) : (
3003
+ // MP-141: dense-row identifier, no Tooltip wrapper in this branch — a native
3004
+ // `title` is the exposure mechanism, same rule as every other identifier.
3005
+ /* @__PURE__ */ jsx39("span", { className: "fd-erow-title fd-body-sm", title: truncationTitle(title), children: title })
3006
+ ),
2993
3007
  meta ? /* @__PURE__ */ jsx39("span", { className: "fd-erow-meta", children: meta }) : null
2994
3008
  ] }),
2995
3009
  hasStrip ? /* @__PURE__ */ jsxs36("span", { className: "fd-erow-strip", children: [