@burdenoff/fe-libs 2026.528.1 → 2026.528.3
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/chrome/AutoBreadcrumbs.d.ts.map +1 -1
- package/dist/chrome/AutoBreadcrumbs.js +33 -16
- package/dist/chrome/Breadcrumb.d.ts.map +1 -1
- package/dist/chrome/Breadcrumbs.d.ts +0 -51
- package/dist/chrome/Breadcrumbs.d.ts.map +1 -1
- package/dist/chrome/Breadcrumbs.js +67 -64
- package/dist/chrome/ProductSideNav.d.ts.map +1 -1
- package/dist/chrome/ProductSideNav.js +32 -31
- package/dist/chrome/ProductSwitcher.js +2 -2
- package/dist/shared/actors/ActorIdentity.d.ts +20 -0
- package/dist/shared/actors/ActorIdentity.d.ts.map +1 -0
- package/dist/shared/actors/ActorIdentity.js +66 -0
- package/dist/shared/actors/index.d.ts +3 -0
- package/dist/shared/actors/index.d.ts.map +1 -0
- package/dist/shared/actors/index.js +2 -0
- package/dist/shared/actors/useActorProfiles.d.ts +33 -0
- package/dist/shared/actors/useActorProfiles.d.ts.map +1 -0
- package/dist/shared/actors/useActorProfiles.js +110 -0
- package/dist/shared/hooks/index.d.ts +1 -0
- package/dist/shared/hooks/index.d.ts.map +1 -1
- package/dist/shared/hooks/useCurrentContextSearchParams.d.ts +17 -0
- package/dist/shared/hooks/useCurrentContextSearchParams.d.ts.map +1 -0
- package/dist/shared/hooks/useCurrentContextSearchParams.js +30 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared-hooks.js +6 -5
- package/dist/shared.js +31 -27
- package/dist/ui/bottom-sheet.d.ts.map +1 -1
- package/dist/ui/bottom-sheet.js +1 -1
- package/dist/ui/dialog.js +1 -1
- package/dist/ui/index.d.ts +1 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/page-container.d.ts +24 -0
- package/dist/ui/page-container.d.ts.map +1 -0
- package/dist/ui/page-container.js +13 -0
- package/dist/ui.js +2 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoBreadcrumbs.d.ts","sourceRoot":"","sources":["../../src/chrome/AutoBreadcrumbs.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAWH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAE9D;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,QAElD;AAiBD,wBAAgB,eAAe,
|
|
1
|
+
{"version":3,"file":"AutoBreadcrumbs.d.ts","sourceRoot":"","sources":["../../src/chrome/AutoBreadcrumbs.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAWH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAE9D;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,QAElD;AAiBD,wBAAgB,eAAe,mDAgH9B"}
|
|
@@ -46,37 +46,54 @@ function m() {
|
|
|
46
46
|
h,
|
|
47
47
|
m
|
|
48
48
|
]);
|
|
49
|
-
|
|
49
|
+
if (_.length === 0) return null;
|
|
50
|
+
let v = (() => {
|
|
51
|
+
let e = m("nav.home");
|
|
52
|
+
return e === "nav.home" ? "Home" : e;
|
|
53
|
+
})();
|
|
54
|
+
return /* @__PURE__ */ o("nav", {
|
|
50
55
|
"aria-label": "Breadcrumb",
|
|
51
|
-
className: "mb-
|
|
56
|
+
className: "mb-4 flex min-w-0 items-center border-b border-border-subtle bg-bg-surface px-4 py-2 text-[13px] font-medium sm:px-6",
|
|
52
57
|
children: /* @__PURE__ */ s("ol", {
|
|
53
|
-
className: "flex
|
|
58
|
+
className: "flex min-w-0 flex-wrap items-center gap-0.5",
|
|
54
59
|
children: [
|
|
55
60
|
/* @__PURE__ */ o("li", { children: /* @__PURE__ */ s("button", {
|
|
56
61
|
type: "button",
|
|
57
62
|
onClick: () => p("/"),
|
|
58
|
-
className: "flex items-center gap-
|
|
59
|
-
"aria-label":
|
|
60
|
-
children: [/* @__PURE__ */ o(a, { className: "
|
|
61
|
-
className: "
|
|
62
|
-
children:
|
|
63
|
-
let e = m("nav.home");
|
|
64
|
-
return e === "nav.home" ? "Home" : e;
|
|
65
|
-
})()
|
|
63
|
+
className: "inline-flex items-center gap-1 rounded-md p-1.5 text-text-secondary transition-colors duration-150 hover:bg-action-ghost-bg-hover hover:text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-strong",
|
|
64
|
+
"aria-label": v,
|
|
65
|
+
children: [/* @__PURE__ */ o(a, { className: "size-3.5" }), /* @__PURE__ */ o("span", {
|
|
66
|
+
className: "sr-only sm:not-sr-only sm:inline",
|
|
67
|
+
children: v
|
|
66
68
|
})]
|
|
67
69
|
}) }),
|
|
68
|
-
/* @__PURE__ */ o(
|
|
70
|
+
/* @__PURE__ */ o("li", {
|
|
71
|
+
"aria-hidden": "true",
|
|
72
|
+
className: "flex items-center px-0.5",
|
|
73
|
+
children: /* @__PURE__ */ o(i, {
|
|
74
|
+
className: "size-3.5 shrink-0 text-text-tertiary opacity-60",
|
|
75
|
+
strokeWidth: 2
|
|
76
|
+
})
|
|
77
|
+
}),
|
|
69
78
|
_.map((e) => /* @__PURE__ */ s("li", {
|
|
70
|
-
className: "flex items-center
|
|
79
|
+
className: "flex min-w-0 items-center",
|
|
71
80
|
children: [e.isLast ? /* @__PURE__ */ o("span", {
|
|
72
|
-
className: "
|
|
81
|
+
className: "inline-flex max-w-[220px] items-center truncate rounded-md px-1.5 py-0.5 font-semibold text-text-primary sm:max-w-[320px]",
|
|
82
|
+
"aria-current": "page",
|
|
73
83
|
children: e.label
|
|
74
84
|
}) : /* @__PURE__ */ o("button", {
|
|
75
85
|
type: "button",
|
|
76
86
|
onClick: () => p(e.path),
|
|
77
|
-
className: "text-text-secondary hover:text-text-primary
|
|
87
|
+
className: "inline-flex max-w-[140px] items-center truncate rounded-md px-1.5 py-0.5 text-text-secondary transition-colors duration-150 hover:bg-action-ghost-bg-hover hover:text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-strong sm:max-w-[200px]",
|
|
78
88
|
children: e.label
|
|
79
|
-
}), !e.isLast && /* @__PURE__ */ o(
|
|
89
|
+
}), !e.isLast && /* @__PURE__ */ o("span", {
|
|
90
|
+
"aria-hidden": "true",
|
|
91
|
+
className: "flex items-center px-0.5",
|
|
92
|
+
children: /* @__PURE__ */ o(i, {
|
|
93
|
+
className: "size-3.5 shrink-0 text-text-tertiary opacity-60",
|
|
94
|
+
strokeWidth: 2
|
|
95
|
+
})
|
|
96
|
+
})]
|
|
80
97
|
}, e.path))
|
|
81
98
|
]
|
|
82
99
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumb.d.ts","sourceRoot":"","sources":["../../src/chrome/Breadcrumb.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAW,MAAM,OAAO,CAAC;AAEzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IAEpB,2DAA2D;IAC3D,eAAe,EAAE,OAAO,EAAE,CAAC;IAE3B,yCAAyC;IACzC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACvE;AAiGD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"Breadcrumb.d.ts","sourceRoot":"","sources":["../../src/chrome/Breadcrumb.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAW,MAAM,OAAO,CAAC;AAEzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IAEpB,2DAA2D;IAC3D,eAAe,EAAE,OAAO,EAAE,CAAC;IAE3B,yCAAyC;IACzC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACvE;AAiGD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAuF1C,CAAC"}
|
|
@@ -1,69 +1,18 @@
|
|
|
1
1
|
import { FC, ReactNode } from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* Breadcrumb Item Interface
|
|
4
|
-
*
|
|
5
|
-
* Represents a single breadcrumb item in the navigation trail.
|
|
6
|
-
*/
|
|
7
2
|
export interface BreadcrumbItem {
|
|
8
|
-
/** Label text to display */
|
|
9
3
|
label: string;
|
|
10
|
-
/** Optional href for navigation */
|
|
11
4
|
href?: string;
|
|
12
|
-
/** Optional icon component */
|
|
13
5
|
icon?: ReactNode;
|
|
14
|
-
/** Click handler (use instead of href for custom navigation) */
|
|
15
6
|
onClick?: () => void;
|
|
16
|
-
/** Whether this is the current page */
|
|
17
7
|
isCurrentPage?: boolean;
|
|
18
8
|
}
|
|
19
|
-
/**
|
|
20
|
-
* Breadcrumbs Props Interface
|
|
21
|
-
*
|
|
22
|
-
* Generic breadcrumb navigation component that accepts all data via props.
|
|
23
|
-
* No dependencies on routing libraries - pure presentation component.
|
|
24
|
-
*/
|
|
25
9
|
export interface BreadcrumbsProps {
|
|
26
|
-
/** Array of breadcrumb items */
|
|
27
10
|
items: BreadcrumbItem[];
|
|
28
|
-
/** Custom separator element (defaults to chevron) */
|
|
29
11
|
separator?: ReactNode;
|
|
30
|
-
/** Whether to show home icon as first item */
|
|
31
12
|
showHome?: boolean;
|
|
32
|
-
/** Home click handler */
|
|
33
13
|
onHomeClick?: () => void;
|
|
34
|
-
/** Maximum items to show before collapsing (defaults to 5) */
|
|
35
14
|
maxItems?: number;
|
|
36
|
-
/** Additional CSS classes */
|
|
37
15
|
className?: string;
|
|
38
16
|
}
|
|
39
|
-
/**
|
|
40
|
-
* Breadcrumbs Component
|
|
41
|
-
*
|
|
42
|
-
* Generic breadcrumb navigation for app shells. Pure presentation component
|
|
43
|
-
* that accepts all data via props.
|
|
44
|
-
*
|
|
45
|
-
* Features:
|
|
46
|
-
* - Dynamic breadcrumb trail
|
|
47
|
-
* - Optional home icon
|
|
48
|
-
* - Collapsible items (ellipsis) when exceeds maxItems
|
|
49
|
-
* - Custom separators
|
|
50
|
-
* - Active page indication
|
|
51
|
-
* - Accessible navigation
|
|
52
|
-
*
|
|
53
|
-
* Uses semantic tokens for styling, which must be provided by the shell.
|
|
54
|
-
*
|
|
55
|
-
* @example
|
|
56
|
-
* ```tsx
|
|
57
|
-
* <Breadcrumbs
|
|
58
|
-
* items={[
|
|
59
|
-
* { label: 'Workspaces', href: '/workspaces' },
|
|
60
|
-
* { label: 'My Workspace', href: '/workspaces/123' },
|
|
61
|
-
* { label: 'Documents', isCurrentPage: true }
|
|
62
|
-
* ]}
|
|
63
|
-
* showHome
|
|
64
|
-
* onHomeClick={() => navigate('/')}
|
|
65
|
-
* />
|
|
66
|
-
* ```
|
|
67
|
-
*/
|
|
68
17
|
export declare const Breadcrumbs: FC<BreadcrumbsProps>;
|
|
69
18
|
//# sourceMappingURL=Breadcrumbs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumbs.d.ts","sourceRoot":"","sources":["../../src/chrome/Breadcrumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Breadcrumbs.d.ts","sourceRoot":"","sources":["../../src/chrome/Breadcrumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAK3C,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgBD,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAqF5C,CAAC"}
|
|
@@ -1,80 +1,83 @@
|
|
|
1
1
|
import { cn as e } from "../shared-utils.js";
|
|
2
2
|
import { Fragment as t, useMemo as n } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { ChevronRight as r, Home as i } from "lucide-react";
|
|
4
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
4
5
|
//#region src/chrome/Breadcrumbs.tsx
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
var s = /* @__PURE__ */ a(r, {
|
|
7
|
+
"aria-hidden": "true",
|
|
8
|
+
className: "size-3.5 shrink-0 text-text-tertiary opacity-60",
|
|
9
|
+
strokeWidth: 2
|
|
10
|
+
}), c = "inline-flex items-center gap-1 rounded-md px-1.5 py-0.5 text-text-secondary transition-colors duration-150 hover:bg-action-ghost-bg-hover hover:text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-strong", l = "inline-flex items-center gap-1 rounded-md px-1.5 py-0.5 font-semibold text-text-primary cursor-default", u = ({ items: r, separator: u, showHome: d = !0, onHomeClick: f, maxItems: p = 5, className: m }) => {
|
|
11
|
+
let h = n(() => r.length <= p ? r : [
|
|
12
|
+
r[0],
|
|
8
13
|
{
|
|
9
14
|
label: "...",
|
|
10
15
|
isEllipsis: !0
|
|
11
16
|
},
|
|
12
|
-
...
|
|
13
|
-
], [
|
|
14
|
-
|
|
15
|
-
fill: "none",
|
|
16
|
-
stroke: "currentColor",
|
|
17
|
-
viewBox: "0 0 24 24",
|
|
18
|
-
"aria-hidden": "true",
|
|
19
|
-
children: /* @__PURE__ */ r("path", {
|
|
20
|
-
strokeLinecap: "round",
|
|
21
|
-
strokeLinejoin: "round",
|
|
22
|
-
strokeWidth: 2,
|
|
23
|
-
d: "M9 5l7 7-7 7"
|
|
24
|
-
})
|
|
25
|
-
});
|
|
26
|
-
return /* @__PURE__ */ r("nav", {
|
|
17
|
+
...r.slice(-2)
|
|
18
|
+
], [r, p]), g = u ?? s;
|
|
19
|
+
return /* @__PURE__ */ a("nav", {
|
|
27
20
|
"aria-label": "Breadcrumb",
|
|
28
|
-
className: e("flex items-center gap-
|
|
29
|
-
children: /* @__PURE__ */
|
|
30
|
-
className: "flex items-center gap-
|
|
31
|
-
children: [
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
stroke: "currentColor",
|
|
40
|
-
viewBox: "0 0 24 24",
|
|
41
|
-
children: /* @__PURE__ */ r("path", {
|
|
42
|
-
strokeLinecap: "round",
|
|
43
|
-
strokeLinejoin: "round",
|
|
44
|
-
strokeWidth: 2,
|
|
45
|
-
d: "M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"
|
|
46
|
-
})
|
|
21
|
+
className: e("flex min-w-0 items-center gap-1 text-[13px] font-medium", m),
|
|
22
|
+
children: /* @__PURE__ */ o("ol", {
|
|
23
|
+
className: "flex min-w-0 flex-wrap items-center gap-0.5",
|
|
24
|
+
children: [d && /* @__PURE__ */ a("li", {
|
|
25
|
+
className: "flex items-center",
|
|
26
|
+
children: /* @__PURE__ */ a("button", {
|
|
27
|
+
type: "button",
|
|
28
|
+
onClick: f,
|
|
29
|
+
className: e(c, "p-1.5"),
|
|
30
|
+
"aria-label": "Home",
|
|
31
|
+
children: /* @__PURE__ */ a(i, { className: "size-3.5" })
|
|
47
32
|
})
|
|
48
|
-
})
|
|
33
|
+
}), h.map((n, r) => {
|
|
49
34
|
if (!n) return null;
|
|
50
|
-
let
|
|
51
|
-
return /* @__PURE__ */
|
|
35
|
+
let i = "isEllipsis" in n && n.isEllipsis;
|
|
36
|
+
return /* @__PURE__ */ o(t, { children: [(d || r > 0) && /* @__PURE__ */ a("li", {
|
|
52
37
|
"aria-hidden": "true",
|
|
53
|
-
className: "flex items-center",
|
|
54
|
-
children:
|
|
55
|
-
}), /* @__PURE__ */
|
|
56
|
-
className: "
|
|
57
|
-
children: "
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
38
|
+
className: "flex items-center px-0.5",
|
|
39
|
+
children: g
|
|
40
|
+
}), /* @__PURE__ */ a("li", {
|
|
41
|
+
className: "flex min-w-0 items-center",
|
|
42
|
+
children: i ? /* @__PURE__ */ a("span", {
|
|
43
|
+
className: "px-1 text-text-tertiary",
|
|
44
|
+
"aria-hidden": "true",
|
|
45
|
+
children: "…"
|
|
46
|
+
}) : n.isCurrentPage ? /* @__PURE__ */ o("span", {
|
|
47
|
+
className: e(l, "max-w-[260px] truncate"),
|
|
48
|
+
"aria-current": "page",
|
|
49
|
+
children: [n.icon && /* @__PURE__ */ a("span", {
|
|
50
|
+
className: "flex items-center",
|
|
51
|
+
children: n.icon
|
|
52
|
+
}), /* @__PURE__ */ a("span", {
|
|
53
|
+
className: "truncate",
|
|
54
|
+
children: n.label
|
|
55
|
+
})]
|
|
56
|
+
}) : n.href || n.onClick ? /* @__PURE__ */ o("button", {
|
|
57
|
+
type: "button",
|
|
58
|
+
onClick: n.onClick,
|
|
59
|
+
className: e(c, "max-w-[180px] truncate"),
|
|
60
|
+
children: [n.icon && /* @__PURE__ */ a("span", {
|
|
61
|
+
className: "flex items-center",
|
|
62
|
+
children: n.icon
|
|
63
|
+
}), /* @__PURE__ */ a("span", {
|
|
64
|
+
className: "truncate",
|
|
65
|
+
children: n.label
|
|
66
|
+
})]
|
|
67
|
+
}) : /* @__PURE__ */ o("span", {
|
|
68
|
+
className: e(c, "pointer-events-none max-w-[180px] truncate"),
|
|
69
|
+
children: [n.icon && /* @__PURE__ */ a("span", {
|
|
70
|
+
className: "flex items-center",
|
|
71
|
+
children: n.icon
|
|
72
|
+
}), /* @__PURE__ */ a("span", {
|
|
73
|
+
className: "truncate",
|
|
74
|
+
children: n.label
|
|
75
|
+
})]
|
|
76
|
+
})
|
|
77
|
+
})] }, `${n.label}-${r}`);
|
|
75
78
|
})]
|
|
76
79
|
})
|
|
77
80
|
});
|
|
78
81
|
};
|
|
79
82
|
//#endregion
|
|
80
|
-
export {
|
|
83
|
+
export { u as Breadcrumbs };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductSideNav.d.ts","sourceRoot":"","sources":["../../src/chrome/ProductSideNav.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ProductSideNav.d.ts","sourceRoot":"","sources":["../../src/chrome/ProductSideNav.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQpD,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,+BAA+B;IAC/B,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACnC,0DAA0D;IAC1D,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,OAAO,EACP,UAAU,EACV,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAiC,EACjC,aAA0B,GAC3B,EAAE,mBAAmB,2CA6DrB"}
|
|
@@ -1,51 +1,52 @@
|
|
|
1
1
|
import { useNavRegistryStore as e } from "../shared/hooks/shell/useNavRegistry.js";
|
|
2
2
|
import { useShellUi as t } from "../shared/providers/shell/ShellUiProvider.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
3
|
+
import { appendContextToPath as n, useCurrentContextSearchParams as r } from "../shared/hooks/useCurrentContextSearchParams.js";
|
|
4
|
+
import { SideNavigation as i } from "./SideNavigation.js";
|
|
5
|
+
import { useMemo as a } from "react";
|
|
6
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
7
|
+
import { useLocation as c, useNavigate as l } from "react-router-dom";
|
|
7
8
|
//#region src/chrome/ProductSideNav.tsx
|
|
8
|
-
function
|
|
9
|
-
let
|
|
10
|
-
|
|
11
|
-
},
|
|
12
|
-
|
|
13
|
-
},
|
|
9
|
+
function u({ logo: u, appName: d, groupOrder: f, groupLabels: p, mobileActions: m, customHeader: h, homeAriaLabel: g = "Go to dashboard", collapseLabel: _ = "Collapse" }) {
|
|
10
|
+
let v = l(), y = c(), { sidebarCollapsed: b, toggleSidebar: x } = t(), S = r(), C = e((e) => e.items), w = a(() => C.filter((e) => e.visible !== !1).sort((e, t) => (e.order ?? 999) - (t.order ?? 999)), [C]), T = (e) => {
|
|
11
|
+
v(n(e, S));
|
|
12
|
+
}, E = () => {
|
|
13
|
+
v(n("/", S));
|
|
14
|
+
}, D = /* @__PURE__ */ s("div", {
|
|
14
15
|
className: "flex items-center gap-icon-gap cursor-pointer",
|
|
15
|
-
onClick:
|
|
16
|
+
onClick: E,
|
|
16
17
|
role: "button",
|
|
17
18
|
tabIndex: 0,
|
|
18
19
|
onKeyDown: (e) => {
|
|
19
|
-
(e.key === "Enter" || e.key === " ") && (e.preventDefault(),
|
|
20
|
+
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), E());
|
|
20
21
|
},
|
|
21
|
-
"aria-label":
|
|
22
|
-
children: [/* @__PURE__ */
|
|
22
|
+
"aria-label": g,
|
|
23
|
+
children: [/* @__PURE__ */ o("div", {
|
|
23
24
|
className: "size-8 bg-action-primary-bg rounded-md flex items-center justify-center flex-shrink-0",
|
|
24
|
-
children: /* @__PURE__ */
|
|
25
|
+
children: /* @__PURE__ */ o("span", {
|
|
25
26
|
className: "text-action-primary-text font-bold text-sm",
|
|
26
|
-
children:
|
|
27
|
+
children: u
|
|
27
28
|
})
|
|
28
|
-
}), !
|
|
29
|
+
}), !b && /* @__PURE__ */ o("h1", {
|
|
29
30
|
className: "text-heading-h4 font-semibold text-text-primary",
|
|
30
|
-
children:
|
|
31
|
+
children: d
|
|
31
32
|
})]
|
|
32
33
|
});
|
|
33
|
-
return /* @__PURE__ */
|
|
34
|
+
return /* @__PURE__ */ o("div", {
|
|
34
35
|
"data-tour": "sidenav",
|
|
35
36
|
className: "h-full",
|
|
36
|
-
children: /* @__PURE__ */ i
|
|
37
|
-
items:
|
|
38
|
-
currentPath:
|
|
39
|
-
collapsed:
|
|
40
|
-
groupOrder:
|
|
41
|
-
groupLabels:
|
|
42
|
-
onItemClick:
|
|
43
|
-
onToggleCollapse:
|
|
44
|
-
collapseLabel:
|
|
45
|
-
mobileActions:
|
|
46
|
-
header:
|
|
37
|
+
children: /* @__PURE__ */ o(i, {
|
|
38
|
+
items: w,
|
|
39
|
+
currentPath: y.pathname,
|
|
40
|
+
collapsed: b,
|
|
41
|
+
groupOrder: f,
|
|
42
|
+
groupLabels: p,
|
|
43
|
+
onItemClick: T,
|
|
44
|
+
onToggleCollapse: x,
|
|
45
|
+
collapseLabel: _,
|
|
46
|
+
mobileActions: m,
|
|
47
|
+
header: h ?? D
|
|
47
48
|
})
|
|
48
49
|
});
|
|
49
50
|
}
|
|
50
51
|
//#endregion
|
|
51
|
-
export {
|
|
52
|
+
export { u as ProductSideNav };
|
|
@@ -66,11 +66,11 @@ var a = ({ products: a, currentProductId: o, onProductChange: s, compact: c = !1
|
|
|
66
66
|
children: e.icon || e.name.charAt(0)
|
|
67
67
|
}),
|
|
68
68
|
/* @__PURE__ */ r("span", {
|
|
69
|
-
className: "flex-1 text-left",
|
|
69
|
+
className: "flex-1 truncate text-left",
|
|
70
70
|
children: e.name
|
|
71
71
|
}),
|
|
72
72
|
e.comingSoon ? /* @__PURE__ */ r("span", {
|
|
73
|
-
className: "
|
|
73
|
+
className: "shrink-0 whitespace-nowrap rounded-full border border-border-subtle bg-bg-sunken px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-text-secondary",
|
|
74
74
|
children: "Coming soon"
|
|
75
75
|
}) : e.id === o && /* @__PURE__ */ r("svg", {
|
|
76
76
|
className: "size-5 text-action-primary-text",
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { ActorProfile } from './useActorProfiles';
|
|
3
|
+
export type ActorIdentityVariant = 'cell' | 'inline' | 'chip';
|
|
4
|
+
export interface ActorIdentityProps {
|
|
5
|
+
profile: ActorProfile;
|
|
6
|
+
variant?: ActorIdentityVariant;
|
|
7
|
+
className?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Hide the UUID drill-down. Use for very compact lists where the row itself
|
|
10
|
+
* links to a detail page that exposes the ID.
|
|
11
|
+
*/
|
|
12
|
+
hideIdDrilldown?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Renders an actor (user / app / service) using resolved identity. The UUID
|
|
16
|
+
* is hidden behind a `<details>` drill-down — never shown as the primary
|
|
17
|
+
* heading. Pair with {@link useActorProfiles} to resolve raw actorIds.
|
|
18
|
+
*/
|
|
19
|
+
export declare const ActorIdentity: FC<ActorIdentityProps>;
|
|
20
|
+
//# sourceMappingURL=ActorIdentity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActorIdentity.d.ts","sourceRoot":"","sources":["../../../src/shared/actors/ActorIdentity.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAUD;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAiFhD,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import { useState as t } from "react";
|
|
3
|
+
import { Check as n, Copy as r, User2 as i } from "lucide-react";
|
|
4
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
5
|
+
//#region src/shared/actors/ActorIdentity.tsx
|
|
6
|
+
function s(e) {
|
|
7
|
+
let t = e.trim();
|
|
8
|
+
if (!t) return "?";
|
|
9
|
+
let n = t.split(/\s+/).filter(Boolean);
|
|
10
|
+
return n.length === 1 ? n[0].charAt(0).toUpperCase() : (n[0].charAt(0) + n[n.length - 1].charAt(0)).toUpperCase();
|
|
11
|
+
}
|
|
12
|
+
var c = ({ profile: c, variant: l = "cell", className: u, hideIdDrilldown: d = !1 }) => {
|
|
13
|
+
let [f, p] = t(!1), m = () => {
|
|
14
|
+
typeof navigator > "u" || !navigator.clipboard || navigator.clipboard.writeText(c.actorId).then(() => {
|
|
15
|
+
p(!0), setTimeout(() => p(!1), 1500);
|
|
16
|
+
});
|
|
17
|
+
}, h = l === "chip", g = l === "inline";
|
|
18
|
+
return /* @__PURE__ */ o("div", {
|
|
19
|
+
className: e(h ? "inline-flex items-center gap-2 rounded-full border border-border-subtle bg-bg-sunken px-2 py-1" : g ? "inline-flex items-center gap-2" : "flex items-center gap-3", u),
|
|
20
|
+
children: [
|
|
21
|
+
/* @__PURE__ */ a("div", {
|
|
22
|
+
className: e("flex items-center justify-center rounded-full bg-action-primary-bg/15 font-semibold text-action-primary-text", h ? "size-6 text-[10px]" : "size-9 text-xs"),
|
|
23
|
+
"aria-hidden": "true",
|
|
24
|
+
children: c.avatarUrl ? /* @__PURE__ */ a("img", {
|
|
25
|
+
src: c.avatarUrl,
|
|
26
|
+
alt: "",
|
|
27
|
+
className: "size-full rounded-full object-cover"
|
|
28
|
+
}) : c.resolved ? s(c.displayName) : /* @__PURE__ */ a(i, {
|
|
29
|
+
className: "size-4",
|
|
30
|
+
"aria-hidden": "true"
|
|
31
|
+
})
|
|
32
|
+
}),
|
|
33
|
+
/* @__PURE__ */ o("div", {
|
|
34
|
+
className: "min-w-0 flex-1",
|
|
35
|
+
children: [/* @__PURE__ */ a("p", {
|
|
36
|
+
className: e(h ? "text-xs font-medium text-text-primary" : "truncate text-sm font-medium text-text-primary"),
|
|
37
|
+
children: c.displayName
|
|
38
|
+
}), h ? null : /* @__PURE__ */ a("p", {
|
|
39
|
+
className: "truncate text-xs text-text-secondary",
|
|
40
|
+
children: c.email ?? c.secondaryLabel
|
|
41
|
+
})]
|
|
42
|
+
}),
|
|
43
|
+
!h && !g && !d ? /* @__PURE__ */ o("details", {
|
|
44
|
+
className: "group",
|
|
45
|
+
children: [/* @__PURE__ */ a("summary", {
|
|
46
|
+
className: "cursor-pointer text-[10px] uppercase tracking-wider text-text-tertiary transition-colors hover:text-text-primary",
|
|
47
|
+
children: "ID"
|
|
48
|
+
}), /* @__PURE__ */ o("div", {
|
|
49
|
+
className: "mt-1 flex items-center gap-2 rounded-md border border-border-subtle bg-bg-sunken px-2 py-1",
|
|
50
|
+
children: [/* @__PURE__ */ a("span", {
|
|
51
|
+
className: "font-mono text-[11px] text-text-secondary",
|
|
52
|
+
children: c.actorId
|
|
53
|
+
}), /* @__PURE__ */ a("button", {
|
|
54
|
+
type: "button",
|
|
55
|
+
onClick: m,
|
|
56
|
+
className: "text-text-tertiary transition-colors hover:text-text-primary",
|
|
57
|
+
"aria-label": "Copy actor ID",
|
|
58
|
+
children: a(f ? n : r, { className: "size-3.5" })
|
|
59
|
+
})]
|
|
60
|
+
})]
|
|
61
|
+
}) : null
|
|
62
|
+
]
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
//#endregion
|
|
66
|
+
export { c as ActorIdentity };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { useActorProfiles, buildActorFallback, type ActorInput, type ActorProfile, type ActorProfileMap, type UseActorProfilesOptions, } from './useActorProfiles';
|
|
2
|
+
export { ActorIdentity, type ActorIdentityProps, type ActorIdentityVariant } from './ActorIdentity';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/actors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,uBAAuB,GAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface ActorProfile {
|
|
2
|
+
actorId: string;
|
|
3
|
+
actorType: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
secondaryLabel: string;
|
|
6
|
+
email?: string;
|
|
7
|
+
avatarUrl?: string;
|
|
8
|
+
resolved: boolean;
|
|
9
|
+
}
|
|
10
|
+
export type ActorProfileMap = Record<string, ActorProfile>;
|
|
11
|
+
export interface ActorInput {
|
|
12
|
+
actorId: string;
|
|
13
|
+
actorType: string;
|
|
14
|
+
}
|
|
15
|
+
export interface UseActorProfilesOptions {
|
|
16
|
+
apiGatewayUrl?: string;
|
|
17
|
+
authToken?: string;
|
|
18
|
+
orgId?: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function buildActorFallback(actor: ActorInput): ActorProfile;
|
|
21
|
+
/**
|
|
22
|
+
* Resolves a list of actor IDs to human-friendly profiles (displayName + email
|
|
23
|
+
* + avatar), with a 5-minute in-memory cache and inflight de-duplication.
|
|
24
|
+
*
|
|
25
|
+
* Backed by the global gateway `user(id)` query. Non-user actor types resolve
|
|
26
|
+
* locally to a humanized fallback. Network failures return the fallback rather
|
|
27
|
+
* than throwing — UI always has *something* to render.
|
|
28
|
+
*
|
|
29
|
+
* Pair with the {@link ActorIdentity} component for consistent UUID hygiene:
|
|
30
|
+
* displayName + email in the primary slot, UUID hidden in a drill-down.
|
|
31
|
+
*/
|
|
32
|
+
export declare function useActorProfiles(actors: ActorInput[], options?: UseActorProfilesOptions): ActorProfileMap;
|
|
33
|
+
//# sourceMappingURL=useActorProfiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useActorProfiles.d.ts","sourceRoot":"","sources":["../../../src/shared/actors/useActorProfiles.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAE3D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAmDD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,CAWlE;AAsBD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,UAAU,EAAE,EACpB,OAAO,GAAE,uBAA4B,GACpC,eAAe,CAwGjB"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { graphqlFetch as e } from "../graphql/fetch.js";
|
|
2
|
+
import { useEffect as t, useMemo as n, useRef as r, useState as i } from "react";
|
|
3
|
+
//#region src/shared/actors/useActorProfiles.ts
|
|
4
|
+
var a = "\n query ActorProfileUser($id: ID!) {\n user(id: $id) {\n id\n email\n firstName\n lastName\n name\n username\n avatar\n }\n }\n";
|
|
5
|
+
function o(e) {
|
|
6
|
+
return e.length <= 12 ? e : `${e.slice(0, 8)}…${e.slice(-4)}`;
|
|
7
|
+
}
|
|
8
|
+
function s(e) {
|
|
9
|
+
switch (e.toLowerCase()) {
|
|
10
|
+
case "user": return "User";
|
|
11
|
+
case "app": return "App";
|
|
12
|
+
case "service": return "Service";
|
|
13
|
+
case "super_admin": return "Super Admin";
|
|
14
|
+
default: return e.split("_").map((e) => e.charAt(0) + e.slice(1).toLowerCase()).join(" ");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function c(e) {
|
|
18
|
+
return {
|
|
19
|
+
actorId: e.actorId,
|
|
20
|
+
actorType: e.actorType,
|
|
21
|
+
displayName: e.actorType.toLowerCase() === "user" ? `User ${o(e.actorId)}` : s(e.actorType),
|
|
22
|
+
secondaryLabel: o(e.actorId),
|
|
23
|
+
resolved: !1
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
var l = /* @__PURE__ */ new Map(), u = /* @__PURE__ */ new Map(), d = 300 * 1e3, f = /* @__PURE__ */ new Map();
|
|
27
|
+
function p(e) {
|
|
28
|
+
let t = f.get(e);
|
|
29
|
+
if (!t || t < Date.now()) {
|
|
30
|
+
l.delete(e), f.delete(e);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
return l.get(e);
|
|
34
|
+
}
|
|
35
|
+
function m(e) {
|
|
36
|
+
l.set(e.actorId, e), f.set(e.actorId, Date.now() + d);
|
|
37
|
+
}
|
|
38
|
+
function h(s, l = {}) {
|
|
39
|
+
let { apiGatewayUrl: d, authToken: f, orgId: h } = l, [g, _] = i(() => {
|
|
40
|
+
let e = {};
|
|
41
|
+
for (let t of s) {
|
|
42
|
+
let n = p(t.actorId);
|
|
43
|
+
e[t.actorId] = n ?? c(t);
|
|
44
|
+
}
|
|
45
|
+
return e;
|
|
46
|
+
}), v = n(() => s.map((e) => `${e.actorId}|${e.actorType}`).sort().join(","), [s]), y = r(void 0);
|
|
47
|
+
return t(() => {
|
|
48
|
+
let t = !1;
|
|
49
|
+
y.current = f;
|
|
50
|
+
async function n(t) {
|
|
51
|
+
let n = p(t.actorId);
|
|
52
|
+
if (n?.resolved) return n;
|
|
53
|
+
if (t.actorType.toLowerCase() !== "user") {
|
|
54
|
+
let e = c(t);
|
|
55
|
+
return m(e), e;
|
|
56
|
+
}
|
|
57
|
+
let r = t.actorId, i = u.get(r);
|
|
58
|
+
if (i) return i;
|
|
59
|
+
let s = (async () => {
|
|
60
|
+
try {
|
|
61
|
+
let n = await e({
|
|
62
|
+
gateway: "global",
|
|
63
|
+
baseUrl: d,
|
|
64
|
+
authToken: f,
|
|
65
|
+
organizationId: h,
|
|
66
|
+
query: a,
|
|
67
|
+
variables: { id: t.actorId }
|
|
68
|
+
});
|
|
69
|
+
if (n.errors?.length || !n.data?.user) {
|
|
70
|
+
let e = c(t);
|
|
71
|
+
return m(e), e;
|
|
72
|
+
}
|
|
73
|
+
let r = n.data.user, i = r.name?.trim() || [r.firstName, r.lastName].filter(Boolean).join(" ").trim() || r.username?.trim() || r.email?.trim() || `User ${o(t.actorId)}`, s = {
|
|
74
|
+
actorId: t.actorId,
|
|
75
|
+
actorType: t.actorType,
|
|
76
|
+
displayName: i,
|
|
77
|
+
secondaryLabel: r.email ?? o(t.actorId),
|
|
78
|
+
email: r.email ?? void 0,
|
|
79
|
+
avatarUrl: r.avatar ?? void 0,
|
|
80
|
+
resolved: !0
|
|
81
|
+
};
|
|
82
|
+
return m(s), s;
|
|
83
|
+
} catch {
|
|
84
|
+
return c(t);
|
|
85
|
+
} finally {
|
|
86
|
+
u.delete(r);
|
|
87
|
+
}
|
|
88
|
+
})();
|
|
89
|
+
return u.set(r, s), s;
|
|
90
|
+
}
|
|
91
|
+
async function r() {
|
|
92
|
+
let e = await Promise.all(s.map(n));
|
|
93
|
+
t || _((t) => {
|
|
94
|
+
let n = { ...t };
|
|
95
|
+
for (let t of e) n[t.actorId] = t;
|
|
96
|
+
return n;
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
return r(), () => {
|
|
100
|
+
t = !0;
|
|
101
|
+
};
|
|
102
|
+
}, [
|
|
103
|
+
v,
|
|
104
|
+
f,
|
|
105
|
+
d,
|
|
106
|
+
h
|
|
107
|
+
]), g;
|
|
108
|
+
}
|
|
109
|
+
//#endregion
|
|
110
|
+
export { c as buildActorFallback, h as useActorProfiles };
|
|
@@ -30,4 +30,5 @@ export { useQuotaErrorToast, dispatchQuotaExhausted, QUOTA_EXHAUSTED_EVENT, } fr
|
|
|
30
30
|
export type { UseQuotaErrorToastOptions, QuotaExhaustedEventDetail } from './useQuotaErrorToast';
|
|
31
31
|
export { useUpgradePrompt, publishPlanUsageSnapshot, PLAN_USAGE_SNAPSHOT_EVENT, } from './useUpgradePrompt';
|
|
32
32
|
export type { UseUpgradePromptOptions, UseUpgradePromptResult, PlanUsageEntry, PlanUsageSnapshot, } from './useUpgradePrompt';
|
|
33
|
+
export { useCurrentContextSearchParams, appendContextToPath, } from './useCurrentContextSearchParams';
|
|
33
34
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAc,MAAM,OAAO,CAAC;AACnC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,oBAAoB,8CAA2D,CAAC;AAE7F;;GAEG;AACH,wBAAgB,uBAAuB,2BAMtC;AAOD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAG/E,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAG9E,cAAc,aAAa,CAAC;AAG5B,cAAc,WAAW,CAAC;AAG1B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGjG,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAc,MAAM,OAAO,CAAC;AACnC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,oBAAoB,8CAA2D,CAAC;AAE7F;;GAEG;AACH,wBAAgB,uBAAuB,2BAMtC;AAOD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAG/E,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAG9E,cAAc,aAAa,CAAC;AAG5B,cAAc,WAAW,CAAC;AAG1B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGjG,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the active context (org, workspace, project, tenant) as a
|
|
3
|
+
* URLSearchParams ready to be appended to a navigation path.
|
|
4
|
+
*
|
|
5
|
+
* Use this when constructing internal links in chrome / sidenav / header /
|
|
6
|
+
* command palette so the first navigation already carries the correct
|
|
7
|
+
* context. Without it, the ActiveContextProvider re-syncs context after the
|
|
8
|
+
* page mounts and produces a second navigation that feels like a reload.
|
|
9
|
+
*/
|
|
10
|
+
export declare function useCurrentContextSearchParams(): URLSearchParams;
|
|
11
|
+
/**
|
|
12
|
+
* Merge the current context into a target path. Existing query params on the
|
|
13
|
+
* target take precedence — context values are only added when the target
|
|
14
|
+
* doesn't already specify them.
|
|
15
|
+
*/
|
|
16
|
+
export declare function appendContextToPath(path: string, ctxParams: URLSearchParams): string;
|
|
17
|
+
//# sourceMappingURL=useCurrentContextSearchParams.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCurrentContextSearchParams.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/useCurrentContextSearchParams.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,IAAI,eAAe,CAgB/D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,MAAM,CAUpF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { DEFAULT_ACTIVE_CONTEXT_URL_PARAMS as e } from "../providers/shell/ActiveContextStorage.js";
|
|
2
|
+
import { useActiveContext as t } from "../providers/shell/ActiveContextProvider.js";
|
|
3
|
+
import { useMemo as n } from "react";
|
|
4
|
+
//#region src/shared/hooks/useCurrentContextSearchParams.ts
|
|
5
|
+
function r() {
|
|
6
|
+
let r = t();
|
|
7
|
+
return n(() => {
|
|
8
|
+
let t = new URLSearchParams(), n = [
|
|
9
|
+
[e.organization, r.organizationId],
|
|
10
|
+
[e.workspace, r.workspaceId],
|
|
11
|
+
[e.project, r.projectId],
|
|
12
|
+
[e.tenant, r.tenantId]
|
|
13
|
+
];
|
|
14
|
+
for (let [e, r] of n) r && t.set(e, r);
|
|
15
|
+
return t;
|
|
16
|
+
}, [
|
|
17
|
+
r.organizationId,
|
|
18
|
+
r.workspaceId,
|
|
19
|
+
r.projectId,
|
|
20
|
+
r.tenantId
|
|
21
|
+
]);
|
|
22
|
+
}
|
|
23
|
+
function i(e, t) {
|
|
24
|
+
let [n, r] = e.split("?"), i = new URLSearchParams(r ?? "");
|
|
25
|
+
for (let [e, n] of t) n && !i.has(e) && i.set(e, n);
|
|
26
|
+
let a = i.toString();
|
|
27
|
+
return a ? `${n}?${a}` : n;
|
|
28
|
+
}
|
|
29
|
+
//#endregion
|
|
30
|
+
export { i as appendContextToPath, r as useCurrentContextSearchParams };
|
package/dist/shared/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAQA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AAEzB,eAAO,MAAM,iBAAiB,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAQA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AAEzB,eAAO,MAAM,iBAAiB,UAAU,CAAC"}
|
package/dist/shared-hooks.js
CHANGED
|
@@ -29,13 +29,14 @@ import { useReferralAttribution as Y } from "./shared/hooks/useReferralAttributi
|
|
|
29
29
|
import { useRecordProductVisit as X } from "./shared/hooks/useRecordProductVisit.js";
|
|
30
30
|
import { QUOTA_EXHAUSTED_EVENT as Z, dispatchQuotaExhausted as Q, useQuotaErrorToast as ne } from "./shared/hooks/useQuotaErrorToast.js";
|
|
31
31
|
import { PLAN_USAGE_SNAPSHOT_EVENT as re, publishPlanUsageSnapshot as ie, useUpgradePrompt as ae } from "./shared/hooks/useUpgradePrompt.js";
|
|
32
|
-
import oe,
|
|
32
|
+
import { appendContextToPath as oe, useCurrentContextSearchParams as se } from "./shared/hooks/useCurrentContextSearchParams.js";
|
|
33
|
+
import ce, { use as le } from "react";
|
|
33
34
|
//#region src/shared/hooks/index.ts
|
|
34
|
-
var $ =
|
|
35
|
-
function
|
|
36
|
-
let e =
|
|
35
|
+
var $ = ce.createContext(null);
|
|
36
|
+
function ue() {
|
|
37
|
+
let e = le($);
|
|
37
38
|
if (!e) throw Error("useMicrofrontendContext must be used within a MicrofrontendProvider");
|
|
38
39
|
return e;
|
|
39
40
|
}
|
|
40
41
|
//#endregion
|
|
41
|
-
export { x as BREAKPOINTS, i as ConsoleTransport, U as GLOBAL_SHORTCUT_CATEGORIES, t as LogLevel, ee as LogManager, n as Logger, R as MODIFIER_KEYS, $ as MicrofrontendContext, re as PLAN_USAGE_SNAPSHOT_EVENT, z as PLATFORM_TYPES, Z as QUOTA_EXHAUSTED_EVENT, W as createGlobalShortcuts, o as detectPlatform, Q as dispatchQuotaExhausted, s as formatKeyCombo, c as getDisplayKeysForPlatform, G as getGlobalShortcutsByCategory, l as getShortcutLabel, u as isMac, d as isMobileDevice, f as isTabletDevice, r as logManager, p as matchesKeyCombo, K as mergeShortcuts, m as normalizeKey, h as normalizePlatformCombo, g as parseKeyCombo, ie as publishPlanUsageSnapshot, _ as shouldEnableKeyboardShortcuts, v as shouldIgnoreShortcut, I as useAsync, L as useAsyncImmediate, S as useBreakpoint, N as useConditionalToggle, O as useCopyToClipboard, y as useDebounce, J as useHasAnimated, V as useHotkeys, E as useKeyPress, D as useKeyboardShortcut, B as useKeyboardShortcuts, k as useLocalStorage, q as useLogger, e as useMediaQuery,
|
|
42
|
+
export { x as BREAKPOINTS, i as ConsoleTransport, U as GLOBAL_SHORTCUT_CATEGORIES, t as LogLevel, ee as LogManager, n as Logger, R as MODIFIER_KEYS, $ as MicrofrontendContext, re as PLAN_USAGE_SNAPSHOT_EVENT, z as PLATFORM_TYPES, Z as QUOTA_EXHAUSTED_EVENT, oe as appendContextToPath, W as createGlobalShortcuts, o as detectPlatform, Q as dispatchQuotaExhausted, s as formatKeyCombo, c as getDisplayKeysForPlatform, G as getGlobalShortcutsByCategory, l as getShortcutLabel, u as isMac, d as isMobileDevice, f as isTabletDevice, r as logManager, p as matchesKeyCombo, K as mergeShortcuts, m as normalizeKey, h as normalizePlatformCombo, g as parseKeyCombo, ie as publishPlanUsageSnapshot, _ as shouldEnableKeyboardShortcuts, v as shouldIgnoreShortcut, I as useAsync, L as useAsyncImmediate, S as useBreakpoint, N as useConditionalToggle, O as useCopyToClipboard, se as useCurrentContextSearchParams, y as useDebounce, J as useHasAnimated, V as useHotkeys, E as useKeyPress, D as useKeyboardShortcut, B as useKeyboardShortcuts, k as useLocalStorage, q as useLogger, e as useMediaQuery, ue as useMicrofrontendContext, C as useMobileBreakpoint, w as useOnClickOutside, T as useOnClickOutsideWithRef, a as usePWA, A as usePrevious, j as usePreviousDistinct, M as usePreviousHistory, ne as useQuotaErrorToast, X as useRecordProductVisit, Y as useReferralAttribution, te as useSessionStorage, H as useShortcutHelp, b as useThrottle, P as useToggle, F as useToggleObject, ae as useUpgradePrompt };
|
package/dist/shared.js
CHANGED
|
@@ -77,34 +77,38 @@ import { useReferralAttribution as Wn } from "./shared/hooks/useReferralAttribut
|
|
|
77
77
|
import { useRecordProductVisit as Gn } from "./shared/hooks/useRecordProductVisit.js";
|
|
78
78
|
import { QUOTA_EXHAUSTED_EVENT as Kn, dispatchQuotaExhausted as qn, useQuotaErrorToast as Jn } from "./shared/hooks/useQuotaErrorToast.js";
|
|
79
79
|
import { PLAN_USAGE_SNAPSHOT_EVENT as Yn, publishPlanUsageSnapshot as Xn, useUpgradePrompt as Zn } from "./shared/hooks/useUpgradePrompt.js";
|
|
80
|
-
import {
|
|
81
|
-
import {
|
|
82
|
-
import {
|
|
83
|
-
import {
|
|
84
|
-
import {
|
|
85
|
-
import {
|
|
86
|
-
import {
|
|
87
|
-
import {
|
|
88
|
-
import {
|
|
89
|
-
import {
|
|
90
|
-
import {
|
|
91
|
-
import {
|
|
80
|
+
import { appendContextToPath as Qn, useCurrentContextSearchParams as $n } from "./shared/hooks/useCurrentContextSearchParams.js";
|
|
81
|
+
import { MicrofrontendContext as er, useMicrofrontendContext as tr } from "./shared-hooks.js";
|
|
82
|
+
import { detectDeviceType as nr, getResponsiveSelector as rr } from "./shared/tours/types.js";
|
|
83
|
+
import { useTourPlayer as ir } from "./shared/tours/useTourPlayer.js";
|
|
84
|
+
import { TourSpotlight as ar } from "./shared/tours/TourSpotlight.js";
|
|
85
|
+
import { TourTooltip as or } from "./shared/tours/TourTooltip.js";
|
|
86
|
+
import { TourPlayerProvider as sr, useIsTourPlaying as cr, useStartTour as lr, useStopTour as ur, useTourPlayerContext as dr } from "./shared/tours/TourPlayerProvider.js";
|
|
87
|
+
import { TourPlayer as fr, TourTriggerButton as pr, usePlayTour as mr } from "./shared/tours/TourPlayer.js";
|
|
88
|
+
import { getTourContextRank as hr, getTourRouteCatalog as gr, getTourRouteModules as _r, getTourRoutePages as vr, isTourVisibleForContext as yr, normalizeTourPath as br, registerTourRouteCatalog as xr, resolveTourTargetPath as Sr } from "./shared/tours/routeCatalog.js";
|
|
89
|
+
import { withTourProgressStatus as Cr } from "./shared/tours/progress.js";
|
|
90
|
+
import { ToursProvider as wr, useAutoStartTour as Tr, useSafeToursContext as Er, useTours as Dr, useToursContext as Or } from "./shared/tours/ToursContext.js";
|
|
91
|
+
import { TourTrigger as kr } from "./shared/tours/TourTrigger.js";
|
|
92
|
+
import { TourInitializer as Ar } from "./shared/tours/TourInitializer.js";
|
|
92
93
|
import "./shared-tours.js";
|
|
93
|
-
import { AppShellProvider as
|
|
94
|
-
import { MicrofrontendProvider as
|
|
95
|
-
import { getNativeBridge as
|
|
96
|
-
import { getPlatform as
|
|
97
|
-
import { nativeConfirm as
|
|
98
|
-
import { SafeAreaView as
|
|
99
|
-
import { useNativePlatform as
|
|
100
|
-
import { useSafeArea as
|
|
101
|
-
import { useNativeKeyboard as
|
|
102
|
-
import { useAppState as
|
|
103
|
-
import { useDeviceInfo as
|
|
104
|
-
import { useHaptics as
|
|
105
|
-
import { useStatusBar as
|
|
94
|
+
import { AppShellProvider as jr, resolveAppShellObservabilityConfig as Mr } from "./shared/providers/AppShellProvider.js";
|
|
95
|
+
import { MicrofrontendProvider as Nr } from "./shared-providers.js";
|
|
96
|
+
import { getNativeBridge as Pr } from "./shared/native/bridge.js";
|
|
97
|
+
import { getPlatform as Fr, isAndroid as Ir, isIOS as Lr, isNative as Rr, isWeb as zr } from "./shared/native/platform.js";
|
|
98
|
+
import { nativeConfirm as Br, nativeCopyText as Vr, nativeImpact as Hr, nativeNotify as Ur, nativeOpenUrl as Wr, nativeShare as Gr, nativeToast as Kr } from "./shared/native/consumers.js";
|
|
99
|
+
import { SafeAreaView as qr } from "./shared/native/SafeAreaView.js";
|
|
100
|
+
import { useNativePlatform as Jr } from "./shared/native/hooks/useNativePlatform.js";
|
|
101
|
+
import { useSafeArea as Yr } from "./shared/native/hooks/useSafeArea.js";
|
|
102
|
+
import { useNativeKeyboard as Xr } from "./shared/native/hooks/useNativeKeyboard.js";
|
|
103
|
+
import { useAppState as Zr } from "./shared/native/hooks/useAppState.js";
|
|
104
|
+
import { useDeviceInfo as Qr } from "./shared/native/hooks/useDeviceInfo.js";
|
|
105
|
+
import { useHaptics as $r } from "./shared/native/hooks/useHaptics.js";
|
|
106
|
+
import { useStatusBar as ei } from "./shared/native/hooks/useStatusBar.js";
|
|
106
107
|
import "./shared-native.js";
|
|
108
|
+
import { buildActorFallback as ti, useActorProfiles as ni } from "./shared/actors/useActorProfiles.js";
|
|
109
|
+
import { ActorIdentity as ri } from "./shared/actors/ActorIdentity.js";
|
|
110
|
+
import "./shared/actors/index.js";
|
|
107
111
|
//#region src/shared/index.ts
|
|
108
|
-
var
|
|
112
|
+
var ii = "1.0.0";
|
|
109
113
|
//#endregion
|
|
110
|
-
export { yt as AccessDenied, xe as ApolloClient, Se as ApolloProvider, kt as AppErrorBoundary, Ye as AppInitializer,
|
|
114
|
+
export { yt as AccessDenied, ri as ActorIdentity, xe as ApolloClient, Se as ApolloProvider, kt as AppErrorBoundary, Ye as AppInitializer, jr as AppShellProvider, hn as BREAKPOINTS, an as BackendAuditSink, rn as BroadcastChannelSink, W as COMMON_SHELL_LESS_ROUTES, Et as ConditionalShell, nt as ConsoleTransport, It as ContextConversationWidget, X as DEFAULT_PAGE_SIZE, G as DEFAULT_SHELL_CONFIG, nn as DevtoolsSink, pt as ErrorBoundary, xt as ErrorFallback, cn as EventBusProvider, ii as FE_SHARED_VERSION, At as FeatureFlagProvider, Ft as FeatureGate, Z as GATEWAYS, Rn as GLOBAL_SHORTCUT_CATEGORIES, ge as GatewayProvider, Ce as InMemoryCache, Xt as KeyboardHelpDialogWrapper, St as LoadingFallback, Qe as LogLevel, et as LogManager, $e as Logger, Nn as MODIFIER_KEYS, er as MicrofrontendContext, Tt as MicrofrontendErrorBoundary, Nr as MicrofrontendProvider, sn as OtelBrowserSink, Yn as PLAN_USAGE_SNAPSHOT_EVENT, Pn as PLATFORM_TYPES, B as PRODUCTS, V as PRODUCT_URLS, Ot as PWAInstallBanner, Ct as PageLoadingFallback, gt as PermissionButton, bt as PermissionDenied, _t as PermissionGate, vt as PermissionLink, ct as QUOTA_EXHAUSTED_CODE, Kn as QUOTA_EXHAUSTED_EVENT, Zt as QuotaMeter, mt as RequireAuth, ht as RequireGuest, on as RybbitSink, ue as SSELink, We as SSORedirectSpinner, qr as SafeAreaView, wt as SectionLoadingFallback, Ar as TourInitializer, fr as TourPlayer, sr as TourPlayerProvider, ar as TourSpotlight, or as TourTooltip, kr as TourTrigger, pr as TourTriggerButton, wr as ToursProvider, Qt as UPGRADE_PROMPT_EVENT, tn as UpgradeInlineBanner, $t as UpgradePromptModal, n as alertTokens, Qn as appendContextToPath, Ae as attemptTokenRefresh, ti as buildActorFallback, lt as buildQuotaExhaustedMessage, p as capitalizeFirst, m as capitalizeWords, r as categoryTokens, Ge as checkRemoteSLO, Ke as checkSLO, je as clearAuthSessionStorage, qe as clearLocalAuthState, Ie as clearSSoCookie, Le as clearShellSsoCookies, rt as clearUserContext, ft as cn, t as createApolloClient, ln as createEventBus, zn as createGlobalShortcuts, de as createGraphQLClient, ot as createProfileScopedStorage, nr as detectDeviceType, Lt as detectPlatform, qn as dispatchQuotaExhausted, en as dispatchUpgradePrompt, ut as extractQuotaExhaustedExtensions, h as formatBytes, g as formatCompactNumber, _ as formatCurrency, v as formatCurrencyCompact, y as formatDate, b as formatDateTime, x as formatDuration, Rt as formatKeyCombo, S as formatList, C as formatNumber, w as formatOrdinal, T as formatPercentage, E as formatRelativeTime, D as formatTime, i as getAlertTokens, a as getCategoryTokens, zt as getDisplayKeysForPlatform, Q as getGatewayConfig, $ as getGatewayUrl, fe as getGlobalClient, Bn as getGlobalShortcutsByCategory, ee as getGraphQLEndpoint, Pr as getNativeBridge, Fr as getPlatform, H as getProductUrl, U as getProductsWithUrls, st as getProfileScopedKey, o as getProgressTokens, rr as getResponsiveSelector, Je as getSSORedirectUrl, Re as getSSoCookie, K as getShellConfig, Bt as getShortcutLabel, s as getStatusBadgeTokens, c as getStatusTokens, re as getStoredAuthToken, ie as getStoredLocale, ae as getStoredOrganizationId, oe as getStoredWorkspaceId, se as getStoredWorkspaceToken, hr as getTourContextRank, gr as getTourRouteCatalog, _r as getTourRouteModules, vr as getTourRoutePages, l as getTrendTokens, pe as getWorkspaceClient, te as getWorkspaceTokenPayload, we as gql, ce as graphqlFetch, Me as hasAuthGraphQLErrors, me as initializeAppClients, it as initializeLogger, I as installGatewayFetchRewrite, Ir as isAndroid, Ne as isAuthGraphQLError, Pe as isAuthNetworkError, N as isChunkLoadError, Lr as isIOS, Vt as isMac, Ht as isMobileDevice, Rr as isNative, dt as isQuotaExhaustedError, ze as isSharedSsoCookieDomain, q as isShellLessRoute, Ut as isTabletDevice, yr as isTourVisibleForContext, Be as isTrustedSsoOrigin, zr as isWeb, ne as isWorkspaceTokenValidForContext, P as lazyWithRetry, tt as logManager, Wt as matchesKeyCombo, Vn as mergeShortcuts, Br as nativeConfirm, Vr as nativeCopyText, Hr as nativeImpact, Ur as nativeNotify, Wr as nativeOpenUrl, Gr as nativeShare, Kr as nativeToast, Gt as normalizeKey, Kt as normalizePlatformCombo, br as normalizeTourPath, qt as parseKeyCombo, O as pluralize, u as progressTokens, Xn as publishPlanUsageSnapshot, Ve as readShellSsoCookie, Fe as redirectToLogin, xr as registerTourRouteCatalog, he as resetAppClients, Mr as resolveAppShellObservabilityConfig, z as resolveAuthBridgeConfig, L as resolveGatewayBases, le as resolveGatewayUrl, F as resolveGatewayUrls, Sr as resolveTourTargetPath, He as setSSoCookie, Ue as setShellSsoCookies, at as setUserContext, Jt as shouldEnableKeyboardShortcuts, Yt as shouldIgnoreShortcut, J as shouldShowBreadcrumb, Y as shouldShowSidebar, k as slugify, d as statusTokens, R as suppressConsole, A as toCamelCase, j as toPascalCase, f as trendTokens, M as truncateText, ni as useActorProfiles, Te as useApolloClient, Zr as useAppState, jn as useAsync, Mn as useAsyncImmediate, Tr as useAutoStartTour, gn as useBreakpoint, On as useConditionalToggle, Sn as useCopyToClipboard, $n as useCurrentContextSearchParams, pn as useDebounce, Qr as useDeviceInfo, un as useEvent, dn as useEventBus, fn as useEventEmitter, Mt as useFeatureFlag, Nt as useFeatureFlagDetails, Pt as useFeatureFlagValue, jt as useFeatureFlags, _e as useGateway, ve as useGatewayClient, $r as useHaptics, Un as useHasAnimated, In as useHotkeys, cr as useIsTourPlaying, bn as useKeyPress, xn as useKeyboardShortcut, Fn as useKeyboardShortcuts, Ee as useLazyQuery, Cn as useLocalStorage, Hn as useLogger, e as useMediaQuery, tr as useMicrofrontendContext, _n as useMobileBreakpoint, De as useMutation, Xr as useNativeKeyboard, Jr as useNativePlatform, vn as useOnClickOutside, yn as useOnClickOutsideWithRef, Dt as usePWA, mr as usePlayTour, Tn as usePrevious, En as usePreviousDistinct, Dn as usePreviousHistory, Oe as useQuery, Jn as useQuotaErrorToast, Gn as useRecordProductVisit, Wn as useReferralAttribution, Xe as useRegistryHelpers, Yr as useSafeArea, ye as useSafeGateway, be as useSafeGatewayClient, Er as useSafeToursContext, wn as useSessionStorage, Ze as useShellNavigate, Ln as useShortcutHelp, lr as useStartTour, ei as useStatusBar, ur as useStopTour, ke as useSubscription, mn as useThrottle, kn as useToggle, An as useToggleObject, ir as useTourPlayer, dr as useTourPlayerContext, Dr as useTours, Or as useToursContext, Zn as useUpgradePrompt, Cr as withTourProgressStatus };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bottom-sheet.d.ts","sourceRoot":"","sources":["../../src/ui/bottom-sheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAK1D,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAEjF,wBAAgB,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAEzD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAE7F;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEzF;AAoBD,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"bottom-sheet.d.ts","sourceRoot":"","sources":["../../src/ui/bottom-sheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAK1D,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAEjF,wBAAgB,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAEzD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAE7F;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEzF;AAoBD,MAAM,WAAW,uBAAwB,SAAQ,KAAK,CAAC,cAAc,CACnE,OAAO,eAAe,CAAC,OAAO,CAC/B;IACC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,QAAQ,EACR,UAAiB,EACjB,eAAsB,EACtB,GAAG,KAAK,EACT,EAAE,uBAAuB,2CAqCzB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQrF;AAED,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQrF;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQpD;AAED,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,WAAW,CAAC,2CAQ1D"}
|
package/dist/ui/bottom-sheet.js
CHANGED
|
@@ -34,7 +34,7 @@ function l({ className: a, children: o, showHandle: s = !0, showCloseButton: l =
|
|
|
34
34
|
"data-slot": "bottom-sheet-portal",
|
|
35
35
|
children: [/* @__PURE__ */ n(c, {}), /* @__PURE__ */ r(i.Content, {
|
|
36
36
|
"data-slot": "bottom-sheet-content",
|
|
37
|
-
className: e("fixed inset-x-0 bottom-0 z-[120] flex max-h-[90vh] flex-col gap-3", "bg-bg-
|
|
37
|
+
className: e("fixed inset-x-0 bottom-0 z-[120] flex max-h-[90vh] flex-col gap-3", "bg-bg-surface text-text-primary border-t border-border-default", "rounded-t-2xl shadow-lg", "pb-[max(env(safe-area-inset-bottom),1rem)]", "data-[state=open]:animate-in data-[state=open]:slide-in-from-bottom data-[state=open]:duration-300", "data-[state=closed]:animate-out data-[state=closed]:slide-out-to-bottom data-[state=closed]:duration-200", "focus:outline-none", a),
|
|
38
38
|
...u,
|
|
39
39
|
children: [
|
|
40
40
|
s ? /* @__PURE__ */ n("div", {
|
package/dist/ui/dialog.js
CHANGED
|
@@ -41,7 +41,7 @@ function u({ className: a, children: o, showCloseButton: c = !0, ...u }) {
|
|
|
41
41
|
"data-slot": "dialog-portal",
|
|
42
42
|
children: [/* @__PURE__ */ n(l, {}), /* @__PURE__ */ r(i.Content, {
|
|
43
43
|
"data-slot": "dialog-content",
|
|
44
|
-
className: e("bg-
|
|
44
|
+
className: e("bg-bg-surface text-text-primary border-border-default data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg", a),
|
|
45
45
|
...u,
|
|
46
46
|
children: [o, c && /* @__PURE__ */ r(i.Close, {
|
|
47
47
|
"data-slot": "dialog-close",
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -29,4 +29,5 @@ export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, Tabl
|
|
|
29
29
|
export { Tabs, TabsList, TabsTrigger, TabsContent } from './tabs';
|
|
30
30
|
export { Textarea, type TextareaProps } from './textarea';
|
|
31
31
|
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './tooltip';
|
|
32
|
+
export { PageContainer, type PageContainerProps, type PageContainerVariant, } from './page-container';
|
|
32
33
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/ui/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export type PageContainerVariant = 'surface' | 'canvas';
|
|
3
|
+
export interface PageContainerProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
/**
|
|
5
|
+
* Background variant.
|
|
6
|
+
* - "surface" (default): bg-bg-surface — solid card-like background for most pages.
|
|
7
|
+
* - "canvas": bg-bg-canvas — slightly elevated tone used when the page itself
|
|
8
|
+
* contains many surface cards.
|
|
9
|
+
*/
|
|
10
|
+
variant?: PageContainerVariant;
|
|
11
|
+
/**
|
|
12
|
+
* Apply default page padding. Set to false when the page provides its own.
|
|
13
|
+
* Defaults to true.
|
|
14
|
+
*/
|
|
15
|
+
padded?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Standard page wrapper used across microfes to guarantee a consistent
|
|
19
|
+
* background, padding, and minimum height. Pages that omit a background
|
|
20
|
+
* inherit the system default (often appears black in dark mode) which breaks
|
|
21
|
+
* theme parity — wrap with PageContainer to avoid that.
|
|
22
|
+
*/
|
|
23
|
+
export declare const PageContainer: React.ForwardRefExoticComponent<PageContainerProps & React.RefAttributes<HTMLDivElement>>;
|
|
24
|
+
//# sourceMappingURL=page-container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-container.d.ts","sourceRoot":"","sources":["../../src/ui/page-container.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC9E;;;;;OAKG;IACH,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,2FAiBzB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { cn as e } from "../lib/utils.js";
|
|
2
|
+
import * as t from "react";
|
|
3
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
4
|
+
//#region src/ui/page-container.tsx
|
|
5
|
+
var r = t.forwardRef(({ className: t, variant: r = "surface", padded: i = !0, children: a, ...o }, s) => /* @__PURE__ */ n("div", {
|
|
6
|
+
ref: s,
|
|
7
|
+
className: e("min-h-screen w-full text-text-primary", r === "canvas" ? "bg-bg-canvas" : "bg-bg-surface", i && "p-4 sm:p-6", t),
|
|
8
|
+
...o,
|
|
9
|
+
children: a
|
|
10
|
+
}));
|
|
11
|
+
r.displayName = "PageContainer";
|
|
12
|
+
//#endregion
|
|
13
|
+
export { r as PageContainer };
|
package/dist/ui.js
CHANGED
|
@@ -29,4 +29,5 @@ import { Switch as dt } from "./ui/switch.js";
|
|
|
29
29
|
import { Tabs as ft, TabsContent as pt, TabsList as mt, TabsTrigger as ht } from "./ui/tabs.js";
|
|
30
30
|
import { Textarea as gt } from "./ui/textarea.js";
|
|
31
31
|
import { Tooltip as _t, TooltipContent as vt, TooltipProvider as yt, TooltipTrigger as bt } from "./ui/tooltip.js";
|
|
32
|
-
|
|
32
|
+
import { PageContainer as xt } from "./ui/page-container.js";
|
|
33
|
+
export { e as Accordion, t as AccordionContent, n as AccordionItem, r as AccordionTrigger, G as AlertDialog, K as AlertDialogAction, q as AlertDialogCancel, J as AlertDialogContent, Y as AlertDialogDescription, X as AlertDialogFooter, Z as AlertDialogHeader, Q as AlertDialogOverlay, $ as AlertDialogPortal, ee as AlertDialogTitle, te as AlertDialogTrigger, ne as Badge, a as BottomSheet, o as BottomSheetClose, s as BottomSheetContent, c as BottomSheetDescription, l as BottomSheetFooter, u as BottomSheetHeader, d as BottomSheetTitle, f as BottomSheetTrigger, U as Button, ie as Card, ae as CardContent, oe as CardDescription, se as CardFooter, ce as CardHeader, le as CardTitle, ue as Checkbox, de as Command, fe as CommandDialog, pe as CommandEmpty, me as CommandGroup, he as CommandInput, ge as CommandItem, _e as CommandList, ve as CommandSeparator, ye as CommandShortcut, p as Dialog, m as DialogClose, h as DialogContent, g as DialogDescription, _ as DialogFooter, v as DialogHeader, y as DialogOverlay, b as DialogPortal, x as DialogTitle, S as DialogTrigger, be as DropdownMenu, xe as DropdownMenuCheckboxItem, Se as DropdownMenuContent, Ce as DropdownMenuGroup, we as DropdownMenuItem, Te as DropdownMenuLabel, Ee as DropdownMenuPortal, De as DropdownMenuRadioGroup, Oe as DropdownMenuRadioItem, ke as DropdownMenuSeparator, Ae as DropdownMenuShortcut, je as DropdownMenuSub, Me as DropdownMenuSubContent, Ne as DropdownMenuSubTrigger, Pe as DropdownMenuTrigger, H as EmptyState, Fe as Input, Ie as Label, i as OptionalFields, xt as PageContainer, Le as Popover, Re as PopoverAnchor, ze as PopoverContent, Be as PopoverTrigger, C as ResponsiveDialog, w as ResponsiveDialogClose, T as ResponsiveDialogContent, E as ResponsiveDialogDescription, D as ResponsiveDialogFooter, O as ResponsiveDialogHeader, k as ResponsiveDialogTitle, A as ResponsiveDialogTrigger, V as ResponsiveStack, z as ResponsiveTable, Ve as ScrollArea, He as ScrollBar, Ue as Select, We as SelectContent, Ge as SelectGroup, Ke as SelectItem, qe as SelectLabel, Je as SelectScrollDownButton, Ye as SelectScrollUpButton, Xe as SelectSeparator, Ze as SelectTrigger, Qe as SelectValue, $e as Separator, et as Sheet, tt as SheetClose, nt as SheetContent, rt as SheetDescription, it as SheetFooter, at as SheetHeader, ot as SheetTitle, st as SheetTrigger, ct as Skeleton, ut as Spinner, B as Stepper, dt as Switch, j as Table, M as TableBody, N as TableCaption, P as TableCell, F as TableFooter, I as TableHead, L as TableHeader, R as TableRow, ft as Tabs, pt as TabsContent, mt as TabsList, ht as TabsTrigger, gt as Textarea, lt as Toaster, _t as Tooltip, vt as TooltipContent, yt as TooltipProvider, bt as TooltipTrigger, re as badgeVariants, W as buttonVariants };
|