@octaviaflow/core 3.0.11 → 3.0.12

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.
@@ -38,6 +38,13 @@ export interface AuthTabsProps {
38
38
  className?: string;
39
39
  }
40
40
  export declare function AuthTabs({ tabs, defaultTab, value, onChange, className }: AuthTabsProps): import("react/jsx-runtime").JSX.Element;
41
+ export interface AuthFieldRowProps {
42
+ children: ReactNode;
43
+ /** Grid template columns. Default: "1fr 1fr". */
44
+ columns?: string;
45
+ className?: string;
46
+ }
47
+ export declare function AuthFieldRow({ children, columns, className }: AuthFieldRowProps): import("react/jsx-runtime").JSX.Element;
41
48
  export type AuthBadgeTone = "neutral" | "org" | "personal" | "developer";
42
49
  export interface AuthBadgeProps {
43
50
  tone?: AuthBadgeTone;
@@ -1 +1 @@
1
- {"version":3,"file":"AuthCard.d.ts","sourceRoot":"","sources":["../../../src/components/AuthCard/AuthCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,SAAS,EAA2B,MAAM,OAAO,CAAC;AAGpF,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,oEAAoE;IACpE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,EACN,SAAS,GACV,EAAE,aAAa,2CAgBf;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAe,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAQ3E;AAKD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAYxF;AAKD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,aAAa,2CA6EvF;AAKD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,WAAW,CAAC;AAEzE,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EAAE,IAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,cAAc,2CAIlF"}
1
+ {"version":3,"file":"AuthCard.d.ts","sourceRoot":"","sources":["../../../src/components/AuthCard/AuthCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,SAAS,EAA2B,MAAM,OAAO,CAAC;AAGpF,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,oEAAoE;IACpE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,EACN,SAAS,GACV,EAAE,aAAa,2CAgBf;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAe,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAQ3E;AAKD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAYxF;AAKD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,aAAa,2CA6EvF;AASD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAmB,EAAE,SAAS,EAAE,EAAE,iBAAiB,2CAa3F;AAKD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,WAAW,CAAC;AAEzE,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EAAE,IAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,cAAc,2CAIlF"}
@@ -1,2 +1,2 @@
1
- export { AuthBadge, type AuthBadgeProps, type AuthBadgeTone, AuthCard, type AuthCardProps, AuthDivider, type AuthDividerProps, AuthSection, type AuthSectionProps, type AuthTab, AuthTabs, type AuthTabsProps, } from "./AuthCard";
1
+ export { AuthBadge, type AuthBadgeProps, type AuthBadgeTone, AuthCard, type AuthCardProps, AuthDivider, type AuthDividerProps, AuthFieldRow, type AuthFieldRowProps, AuthSection, type AuthSectionProps, type AuthTab, AuthTabs, type AuthTabsProps, } from "./AuthCard";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AuthCard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,QAAQ,EACR,KAAK,aAAa,EAClB,WAAW,EACX,KAAK,gBAAgB,EACrB,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,OAAO,EACZ,QAAQ,EACR,KAAK,aAAa,GACnB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AuthCard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,QAAQ,EACR,KAAK,aAAa,EAClB,WAAW,EACX,KAAK,gBAAgB,EACrB,YAAY,EACZ,KAAK,iBAAiB,EACtB,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,OAAO,EACZ,QAAQ,EACR,KAAK,aAAa,GACnB,MAAM,YAAY,CAAC"}
@@ -19,6 +19,18 @@ export interface DropdownMenuProps {
19
19
  * supplies its own button styling.
20
20
  */
21
21
  triggerClassName?: string;
22
+ /**
23
+ * Close the menu when the user clicks (mousedown) outside both the menu
24
+ * and the trigger. Default: true — the standard popover behaviour users
25
+ * expect. Disable only when you need an explicitly-controlled menu
26
+ * (e.g. anchored to a different dismissal flow).
27
+ */
28
+ closeOnOutsideClick?: boolean;
29
+ /**
30
+ * Close the menu when the user presses Escape. Default: true.
31
+ * Disable only if Escape is needed by a parent surface.
32
+ */
33
+ closeOnEscape?: boolean;
22
34
  /**
23
35
  * Accessible name for the trigger button. Required when `trigger` is not
24
36
  * a plain string (e.g. an icon-only trigger). When omitted and `trigger`
@@ -28,5 +40,5 @@ export interface DropdownMenuProps {
28
40
  /** id of an element that labels the trigger; alternative to aria-label. */
29
41
  "aria-labelledby"?: string;
30
42
  }
31
- export declare function DropdownMenu({ trigger, items, align, className, triggerClassName, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, }: DropdownMenuProps): import("react/jsx-runtime").JSX.Element;
43
+ export declare function DropdownMenu({ trigger, items, align, className, triggerClassName, closeOnOutsideClick, closeOnEscape, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, }: DropdownMenuProps): import("react/jsx-runtime").JSX.Element;
32
44
  //# sourceMappingURL=DropdownMenu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../../src/components/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAU,MAAM,OAAO,CAAC;AAQ/C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAsID,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,KAAK,EACL,KAAe,EACf,SAAS,EACT,gBAAgB,EAChB,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,GAClC,EAAE,iBAAiB,2CA0CnB"}
1
+ {"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../../src/components/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,OAAO,CAAC;AAQ1D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AA8KD,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,KAAK,EACL,KAAe,EACf,SAAS,EACT,gBAAgB,EAChB,mBAA0B,EAC1B,aAAoB,EACpB,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,GAClC,EAAE,iBAAiB,2CA4CnB"}
package/dist/index.cjs CHANGED
@@ -6525,9 +6525,37 @@ function MenuPopup({
6525
6525
  menuItems,
6526
6526
  triggerRef,
6527
6527
  align,
6528
- className
6528
+ className,
6529
+ closeOnOutsideClick,
6530
+ closeOnEscape
6529
6531
  }) {
6530
6532
  const menuRef = (0, import_react31.useRef)(null);
6533
+ (0, import_react31.useEffect)(() => {
6534
+ if (!state.isOpen || !closeOnOutsideClick) return;
6535
+ const handler = (e) => {
6536
+ const target = e.target;
6537
+ if (!target) return;
6538
+ const insideMenu = menuRef.current?.contains(target);
6539
+ const insideTrigger = triggerRef.current?.contains(target);
6540
+ if (!insideMenu && !insideTrigger) {
6541
+ state.close();
6542
+ }
6543
+ };
6544
+ document.addEventListener("mousedown", handler, true);
6545
+ return () => document.removeEventListener("mousedown", handler, true);
6546
+ }, [state.isOpen, closeOnOutsideClick]);
6547
+ (0, import_react31.useEffect)(() => {
6548
+ if (!state.isOpen || !closeOnEscape) return;
6549
+ const handler = (e) => {
6550
+ if (e.key === "Escape") {
6551
+ e.stopPropagation();
6552
+ state.close();
6553
+ triggerRef.current?.focus();
6554
+ }
6555
+ };
6556
+ document.addEventListener("keydown", handler);
6557
+ return () => document.removeEventListener("keydown", handler);
6558
+ }, [state.isOpen, closeOnEscape]);
6531
6559
  const nonSepItems = menuItems.filter((i) => !i.separator);
6532
6560
  const children = nonSepItems.map((item, idx) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)($05678f3aee5e7d1a$export$6d08773d2e66f8f2, { textValue: item.label, children: item.label }, idx));
6533
6561
  const treeState = $6b915bde6cd300dd$export$728d6ba534403756({
@@ -6607,6 +6635,8 @@ function DropdownMenu({
6607
6635
  align = "start",
6608
6636
  className,
6609
6637
  triggerClassName,
6638
+ closeOnOutsideClick = true,
6639
+ closeOnEscape = true,
6610
6640
  "aria-label": ariaLabel,
6611
6641
  "aria-labelledby": ariaLabelledby
6612
6642
  }) {
@@ -6641,7 +6671,9 @@ function DropdownMenu({
6641
6671
  menuItems: items,
6642
6672
  triggerRef,
6643
6673
  align,
6644
- className
6674
+ className,
6675
+ closeOnOutsideClick,
6676
+ closeOnEscape
6645
6677
  }
6646
6678
  )
6647
6679
  ] });
@@ -11497,8 +11529,9 @@ function RailItem({
11497
11529
  tooltipDelay,
11498
11530
  suppressTooltip
11499
11531
  }) {
11500
- const [tipOpen, setTipOpen] = (0, import_react53.useState)(false);
11532
+ const [open, setOpen] = (0, import_react53.useState)(false);
11501
11533
  const timerRef = (0, import_react53.useRef)(null);
11534
+ const hasChildren = !!(item.children && item.children.length > 0);
11502
11535
  const clear = () => {
11503
11536
  if (timerRef.current) {
11504
11537
  clearTimeout(timerRef.current);
@@ -11509,11 +11542,11 @@ function RailItem({
11509
11542
  const show = () => {
11510
11543
  if (suppressTooltip) return;
11511
11544
  clear();
11512
- timerRef.current = setTimeout(() => setTipOpen(true), tooltipDelay);
11545
+ timerRef.current = setTimeout(() => setOpen(true), tooltipDelay);
11513
11546
  };
11514
11547
  const hide = () => {
11515
11548
  clear();
11516
- setTipOpen(false);
11549
+ setOpen(false);
11517
11550
  };
11518
11551
  const Comp = item.href ? "a" : "button";
11519
11552
  const labelText = typeof item.label === "string" ? item.label : void 0;
@@ -11532,13 +11565,20 @@ function RailItem({
11532
11565
  type: item.href ? void 0 : "button",
11533
11566
  href: item.href,
11534
11567
  onClick: item.onClick,
11535
- className: cn("ods-sidebar__rail-item", item.active && "ods-sidebar__rail-item--active"),
11568
+ className: cn(
11569
+ "ods-sidebar__rail-item",
11570
+ hasChildren && "ods-sidebar__rail-item--parent",
11571
+ item.active && "ods-sidebar__rail-item--active"
11572
+ ),
11536
11573
  "aria-current": item.active ? "page" : void 0,
11537
11574
  "aria-label": labelText,
11575
+ "aria-haspopup": hasChildren ? "menu" : void 0,
11576
+ "aria-expanded": hasChildren ? open : void 0,
11538
11577
  children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "ods-sidebar__rail-icon", children: item.icon })
11539
11578
  }
11540
11579
  ),
11541
- tipOpen && labelText && /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "ods-sidebar__rail-tooltip", role: "tooltip", children: [
11580
+ open && labelText && hasChildren && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(RailFlyout, { title: labelText, items: item.children ?? [] }),
11581
+ open && labelText && !hasChildren && /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "ods-sidebar__rail-tooltip", role: "tooltip", children: [
11542
11582
  /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "ods-sidebar__rail-tooltip-label", children: labelText }),
11543
11583
  item.shortcut && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("kbd", { className: "ods-sidebar__rail-kbd", children: item.shortcut })
11544
11584
  ] })
@@ -11546,6 +11586,34 @@ function RailItem({
11546
11586
  }
11547
11587
  );
11548
11588
  }
11589
+ function RailFlyout({ title, items }) {
11590
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "ods-sidebar__rail-flyout", role: "menu", children: [
11591
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "ods-sidebar__rail-flyout-header", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "ods-sidebar__rail-flyout-title", children: title }) }),
11592
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("ul", { className: "ods-sidebar__rail-flyout-list", children: items.map((child) => {
11593
+ const ChildComp = child.href ? "a" : "button";
11594
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
11595
+ ChildComp,
11596
+ {
11597
+ type: child.href ? void 0 : "button",
11598
+ href: child.href,
11599
+ onClick: child.onClick,
11600
+ role: "menuitem",
11601
+ className: cn(
11602
+ "ods-sidebar__rail-flyout-item",
11603
+ child.active && "ods-sidebar__rail-flyout-item--active"
11604
+ ),
11605
+ "aria-current": child.active ? "page" : void 0,
11606
+ children: [
11607
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "ods-sidebar__rail-flyout-icon", children: child.icon }),
11608
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "ods-sidebar__rail-flyout-label", children: child.label }),
11609
+ child.tag && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "ods-sidebar__rail-flyout-tag", children: child.tag }),
11610
+ child.badge && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "ods-sidebar__rail-flyout-badge", children: child.badge })
11611
+ ]
11612
+ }
11613
+ ) }, child.id);
11614
+ }) })
11615
+ ] });
11616
+ }
11549
11617
  function ExpandedLayout({
11550
11618
  logo,
11551
11619
  brand,