@octaviaflow/core 3.0.10 → 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.
- package/dist/components/AuthCard/AuthCard.d.ts +7 -0
- package/dist/components/AuthCard/AuthCard.d.ts.map +1 -1
- package/dist/components/AuthCard/index.d.ts +1 -1
- package/dist/components/AuthCard/index.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.d.ts +13 -1
- package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/index.cjs +128 -23
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +291 -186
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -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,
|
|
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,
|
|
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
|
@@ -415,24 +415,61 @@ function AuthTabs({ tabs, defaultTab, value, onChange, className }) {
|
|
|
415
415
|
onChange?.(id);
|
|
416
416
|
};
|
|
417
417
|
const activeTab = tabs.find((t) => t.id === active) ?? tabs[0];
|
|
418
|
+
const scopeId = (0, import_react2.useId)();
|
|
419
|
+
const tabRefs = (0, import_react2.useRef)({});
|
|
420
|
+
const handleKeyDown = (e) => {
|
|
421
|
+
const ids = tabs.map((t) => t.id);
|
|
422
|
+
const currentIdx = ids.indexOf(active);
|
|
423
|
+
if (currentIdx === -1) return;
|
|
424
|
+
let nextIdx = null;
|
|
425
|
+
if (e.key === "ArrowRight") nextIdx = (currentIdx + 1) % ids.length;
|
|
426
|
+
else if (e.key === "ArrowLeft") nextIdx = (currentIdx - 1 + ids.length) % ids.length;
|
|
427
|
+
else if (e.key === "Home") nextIdx = 0;
|
|
428
|
+
else if (e.key === "End") nextIdx = ids.length - 1;
|
|
429
|
+
if (nextIdx === null) return;
|
|
430
|
+
e.preventDefault();
|
|
431
|
+
const nextId = ids[nextIdx];
|
|
432
|
+
select(nextId);
|
|
433
|
+
tabRefs.current[nextId]?.focus();
|
|
434
|
+
};
|
|
418
435
|
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: cn("ods-auth-tabs", className), children: [
|
|
419
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "ods-auth-tabs__list", role: "tablist", children: tabs.map((t) =>
|
|
420
|
-
|
|
436
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "ods-auth-tabs__list", role: "tablist", children: tabs.map((t) => {
|
|
437
|
+
const isActive2 = t.id === active;
|
|
438
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
439
|
+
"button",
|
|
440
|
+
{
|
|
441
|
+
ref: (el) => {
|
|
442
|
+
tabRefs.current[t.id] = el;
|
|
443
|
+
},
|
|
444
|
+
type: "button",
|
|
445
|
+
role: "tab",
|
|
446
|
+
id: `${scopeId}-tab-${t.id}`,
|
|
447
|
+
"aria-selected": isActive2,
|
|
448
|
+
"aria-controls": `${scopeId}-panel-${t.id}`,
|
|
449
|
+
tabIndex: isActive2 ? 0 : -1,
|
|
450
|
+
className: cn("ods-auth-tabs__tab", isActive2 && "ods-auth-tabs__tab--active"),
|
|
451
|
+
onClick: () => select(t.id),
|
|
452
|
+
onKeyDown: handleKeyDown,
|
|
453
|
+
children: [
|
|
454
|
+
t.icon && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "ods-auth-tabs__icon", children: t.icon }),
|
|
455
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "ods-auth-tabs__label", children: t.label }),
|
|
456
|
+
t.description && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "ods-auth-tabs__desc", children: t.description })
|
|
457
|
+
]
|
|
458
|
+
},
|
|
459
|
+
t.id
|
|
460
|
+
);
|
|
461
|
+
}) }),
|
|
462
|
+
activeTab && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
463
|
+
"div",
|
|
421
464
|
{
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
"aria-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
children:
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
t.description && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "ods-auth-tabs__desc", children: t.description })
|
|
431
|
-
]
|
|
432
|
-
},
|
|
433
|
-
t.id
|
|
434
|
-
)) }),
|
|
435
|
-
activeTab && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "ods-auth-tabs__panel", children: activeTab.content })
|
|
465
|
+
role: "tabpanel",
|
|
466
|
+
id: `${scopeId}-panel-${activeTab.id}`,
|
|
467
|
+
"aria-labelledby": `${scopeId}-tab-${activeTab.id}`,
|
|
468
|
+
tabIndex: 0,
|
|
469
|
+
className: "ods-auth-tabs__panel",
|
|
470
|
+
children: activeTab.content
|
|
471
|
+
}
|
|
472
|
+
)
|
|
436
473
|
] });
|
|
437
474
|
}
|
|
438
475
|
function AuthBadge({ tone = "neutral", children, className }) {
|
|
@@ -6488,9 +6525,37 @@ function MenuPopup({
|
|
|
6488
6525
|
menuItems,
|
|
6489
6526
|
triggerRef,
|
|
6490
6527
|
align,
|
|
6491
|
-
className
|
|
6528
|
+
className,
|
|
6529
|
+
closeOnOutsideClick,
|
|
6530
|
+
closeOnEscape
|
|
6492
6531
|
}) {
|
|
6493
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]);
|
|
6494
6559
|
const nonSepItems = menuItems.filter((i) => !i.separator);
|
|
6495
6560
|
const children = nonSepItems.map((item, idx) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)($05678f3aee5e7d1a$export$6d08773d2e66f8f2, { textValue: item.label, children: item.label }, idx));
|
|
6496
6561
|
const treeState = $6b915bde6cd300dd$export$728d6ba534403756({
|
|
@@ -6570,6 +6635,8 @@ function DropdownMenu({
|
|
|
6570
6635
|
align = "start",
|
|
6571
6636
|
className,
|
|
6572
6637
|
triggerClassName,
|
|
6638
|
+
closeOnOutsideClick = true,
|
|
6639
|
+
closeOnEscape = true,
|
|
6573
6640
|
"aria-label": ariaLabel,
|
|
6574
6641
|
"aria-labelledby": ariaLabelledby
|
|
6575
6642
|
}) {
|
|
@@ -6604,7 +6671,9 @@ function DropdownMenu({
|
|
|
6604
6671
|
menuItems: items,
|
|
6605
6672
|
triggerRef,
|
|
6606
6673
|
align,
|
|
6607
|
-
className
|
|
6674
|
+
className,
|
|
6675
|
+
closeOnOutsideClick,
|
|
6676
|
+
closeOnEscape
|
|
6608
6677
|
}
|
|
6609
6678
|
)
|
|
6610
6679
|
] });
|
|
@@ -11460,8 +11529,9 @@ function RailItem({
|
|
|
11460
11529
|
tooltipDelay,
|
|
11461
11530
|
suppressTooltip
|
|
11462
11531
|
}) {
|
|
11463
|
-
const [
|
|
11532
|
+
const [open, setOpen] = (0, import_react53.useState)(false);
|
|
11464
11533
|
const timerRef = (0, import_react53.useRef)(null);
|
|
11534
|
+
const hasChildren = !!(item.children && item.children.length > 0);
|
|
11465
11535
|
const clear = () => {
|
|
11466
11536
|
if (timerRef.current) {
|
|
11467
11537
|
clearTimeout(timerRef.current);
|
|
@@ -11472,11 +11542,11 @@ function RailItem({
|
|
|
11472
11542
|
const show = () => {
|
|
11473
11543
|
if (suppressTooltip) return;
|
|
11474
11544
|
clear();
|
|
11475
|
-
timerRef.current = setTimeout(() =>
|
|
11545
|
+
timerRef.current = setTimeout(() => setOpen(true), tooltipDelay);
|
|
11476
11546
|
};
|
|
11477
11547
|
const hide = () => {
|
|
11478
11548
|
clear();
|
|
11479
|
-
|
|
11549
|
+
setOpen(false);
|
|
11480
11550
|
};
|
|
11481
11551
|
const Comp = item.href ? "a" : "button";
|
|
11482
11552
|
const labelText = typeof item.label === "string" ? item.label : void 0;
|
|
@@ -11495,13 +11565,20 @@ function RailItem({
|
|
|
11495
11565
|
type: item.href ? void 0 : "button",
|
|
11496
11566
|
href: item.href,
|
|
11497
11567
|
onClick: item.onClick,
|
|
11498
|
-
className: cn(
|
|
11568
|
+
className: cn(
|
|
11569
|
+
"ods-sidebar__rail-item",
|
|
11570
|
+
hasChildren && "ods-sidebar__rail-item--parent",
|
|
11571
|
+
item.active && "ods-sidebar__rail-item--active"
|
|
11572
|
+
),
|
|
11499
11573
|
"aria-current": item.active ? "page" : void 0,
|
|
11500
11574
|
"aria-label": labelText,
|
|
11575
|
+
"aria-haspopup": hasChildren ? "menu" : void 0,
|
|
11576
|
+
"aria-expanded": hasChildren ? open : void 0,
|
|
11501
11577
|
children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "ods-sidebar__rail-icon", children: item.icon })
|
|
11502
11578
|
}
|
|
11503
11579
|
),
|
|
11504
|
-
|
|
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: [
|
|
11505
11582
|
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "ods-sidebar__rail-tooltip-label", children: labelText }),
|
|
11506
11583
|
item.shortcut && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("kbd", { className: "ods-sidebar__rail-kbd", children: item.shortcut })
|
|
11507
11584
|
] })
|
|
@@ -11509,6 +11586,34 @@ function RailItem({
|
|
|
11509
11586
|
}
|
|
11510
11587
|
);
|
|
11511
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
|
+
}
|
|
11512
11617
|
function ExpandedLayout({
|
|
11513
11618
|
logo,
|
|
11514
11619
|
brand,
|