prometeo-design-system 4.1.1 → 4.1.2
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/PyrionLayout.es.js +48 -48
- package/dist/components/PyrionNavigationDrawer/PLFooter.d.ts +2 -2
- package/dist/components/PyrionNavigationDrawer/PLayoutBase.d.ts +2 -2
- package/dist/components/PyrionNavigationDrawer/PyrionLayout.d.ts +4 -4
- package/dist/components/PyrionNavigationDrawer/index.d.ts +5 -3
- package/dist/exports/PyrionLayout.d.ts +1 -1
- package/dist/exports/usePyrionNavigation.d.ts +1 -1
- package/package.json +1 -1
package/dist/PyrionLayout.es.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as e } from "./jsx-runtime-GkKLlHH4.js";
|
|
2
2
|
import { u as We, g as ft } from "./useDevice-vwn4GLwK.js";
|
|
3
3
|
import { g as xe } from "./utils-X4-h3cum.js";
|
|
4
|
-
import Ue, { memo as T, forwardRef as Ne, useState as Z, useEffect as X, useContext as $e, createContext as
|
|
4
|
+
import Ue, { memo as T, forwardRef as Ne, useState as Z, useEffect as X, useContext as $e, createContext as Le, useRef as I, useCallback as x, Children as mt, isValidElement as ge, useMemo as ue, useImperativeHandle as Oe, use as pt } from "react";
|
|
5
5
|
import { createPortal as ze } from "react-dom";
|
|
6
6
|
import { useLocation as ht, useNavigate as bt } from "react-router";
|
|
7
7
|
import { B as xt, T as gt } from "./badge-CbqYNrl4.js";
|
|
@@ -49,7 +49,7 @@ const Ye = T(Ne(({ children: t, className: r, context: s, modal: l = !1, closeOn
|
|
|
49
49
|
w && m
|
|
50
50
|
] })
|
|
51
51
|
] });
|
|
52
|
-
})), Xe =
|
|
52
|
+
})), Xe = Le(null), Je = Le(null), kt = () => {
|
|
53
53
|
const t = $e(Xe);
|
|
54
54
|
if (!t) throw new Error("useDrawerState must be used within NavigationDrawer");
|
|
55
55
|
return t;
|
|
@@ -84,31 +84,31 @@ const Ye = T(Ne(({ children: t, className: r, context: s, modal: l = !1, closeOn
|
|
|
84
84
|
}, []), P = x(
|
|
85
85
|
(o, { notify: p = !0 } = {}) => {
|
|
86
86
|
const g = h.current !== o;
|
|
87
|
-
h.current = o, Dt(o), F(o), p && g && u.current.forEach((
|
|
87
|
+
h.current = o, Dt(o), F(o), p && g && u.current.forEach((L) => L(o));
|
|
88
88
|
},
|
|
89
89
|
[F]
|
|
90
90
|
), R = x(
|
|
91
91
|
(o, { notify: p = !0 } = {}) => {
|
|
92
92
|
const g = b.current !== o;
|
|
93
93
|
if (b.current = o, D(o), p && g) {
|
|
94
|
-
const
|
|
95
|
-
N.current.forEach((B) => B(
|
|
94
|
+
const L = !o;
|
|
95
|
+
N.current.forEach((B) => B(L));
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
[D]
|
|
99
99
|
), k = x(
|
|
100
100
|
(o, { notify: p = !0 } = {}) => {
|
|
101
|
-
const g = w.current,
|
|
101
|
+
const g = w.current, L = g !== o;
|
|
102
102
|
w.current = o, window.matchMedia("(min-width: 768px)").matches || P(o !== "drawer", { notify: p });
|
|
103
103
|
const B = g === "sidebar", _ = o === "sidebar";
|
|
104
|
-
p &&
|
|
104
|
+
p && L && B !== _ && N.current.forEach((Q) => Q(_)), R(o !== "sidebar", { notify: p }), P(o !== "drawer", { notify: p });
|
|
105
105
|
},
|
|
106
106
|
[P, R]
|
|
107
107
|
), j = x((o) => {
|
|
108
108
|
const p = n.current;
|
|
109
109
|
if (!p || window.matchMedia("(min-width: 768px)").matches) return;
|
|
110
110
|
y.current = !0;
|
|
111
|
-
const g = m.current?.offsetLeft ?? 0,
|
|
111
|
+
const g = m.current?.offsetLeft ?? 0, L = d.current?.offsetLeft ?? g, B = o === "drawer" ? 0 : o === "sidebar" ? L : g;
|
|
112
112
|
f.current = B, p.scrollTo({ left: B, behavior: "smooth" });
|
|
113
113
|
const _ = () => {
|
|
114
114
|
y.current = !1, f.current = null, p.removeEventListener("scrollend", _);
|
|
@@ -122,8 +122,8 @@ const Ye = T(Ne(({ children: t, className: r, context: s, modal: l = !1, closeOn
|
|
|
122
122
|
const g = [
|
|
123
123
|
{ panel: "drawer", offset: 0 },
|
|
124
124
|
{ panel: "outlet", offset: p.offsetLeft }
|
|
125
|
-
],
|
|
126
|
-
|
|
125
|
+
], L = d.current;
|
|
126
|
+
L && g.push({ panel: "sidebar", offset: L.offsetLeft });
|
|
127
127
|
const B = o.scrollLeft;
|
|
128
128
|
let _ = g[0], Q = Math.abs(B - _.offset);
|
|
129
129
|
for (let $ = 1; $ < g.length; $++) {
|
|
@@ -139,8 +139,8 @@ const Ye = T(Ne(({ children: t, className: r, context: s, modal: l = !1, closeOn
|
|
|
139
139
|
const o = n.current, p = m.current;
|
|
140
140
|
if (!o || !p) return;
|
|
141
141
|
if (window.matchMedia("(min-width: 768px)").matches) {
|
|
142
|
-
const
|
|
143
|
-
P(
|
|
142
|
+
const L = He();
|
|
143
|
+
P(L, { notify: !1 }), R(!0, { notify: !1 });
|
|
144
144
|
return;
|
|
145
145
|
}
|
|
146
146
|
requestAnimationFrame(() => {
|
|
@@ -149,9 +149,9 @@ const Ye = T(Ne(({ children: t, className: r, context: s, modal: l = !1, closeOn
|
|
|
149
149
|
}, [k, P, R]), X(() => {
|
|
150
150
|
const o = n.current;
|
|
151
151
|
if (!o || !m.current) return;
|
|
152
|
-
let g = !1,
|
|
152
|
+
let g = !1, L = 0, B = 0;
|
|
153
153
|
const _ = (S) => {
|
|
154
|
-
|
|
154
|
+
L = S.touches[0].clientX, B = S.touches[0].clientY;
|
|
155
155
|
}, Q = (S, U) => {
|
|
156
156
|
const a = window.getComputedStyle(S), v = U === "x" ? a.overflowX : a.overflowY;
|
|
157
157
|
return /(auto|scroll|overlay)/.test(v) ? U === "x" ? S.scrollWidth > S.clientWidth : S.scrollHeight > S.clientHeight : !1;
|
|
@@ -165,8 +165,8 @@ const Ye = T(Ne(({ children: t, className: r, context: s, modal: l = !1, closeOn
|
|
|
165
165
|
return null;
|
|
166
166
|
}, le = (S, U, a) => a === 0 ? !1 : U === "x" ? a < 0 ? S.scrollLeft + S.clientWidth < S.scrollWidth : S.scrollLeft > 0 : a < 0 ? S.scrollTop + S.clientHeight < S.scrollHeight : S.scrollTop > 0, he = (S) => {
|
|
167
167
|
if (!(S.target instanceof HTMLElement)) return;
|
|
168
|
-
const U = S.touches[0].clientX -
|
|
169
|
-
if (C && le(C, v,
|
|
168
|
+
const U = S.touches[0].clientX - L, a = S.touches[0].clientY - B, v = Math.abs(U) > Math.abs(a) ? "x" : "y", O = v === "x" ? U : a, C = $(S.target, v);
|
|
169
|
+
if (C && le(C, v, O))
|
|
170
170
|
return;
|
|
171
171
|
const z = o.classList.contains("disabled-dragopen"), de = o.classList.contains("disabled-dragopen-sidebar"), Fe = () => S.cancelable ? (S.preventDefault(), !0) : !1;
|
|
172
172
|
if (v === "x") {
|
|
@@ -249,10 +249,10 @@ const Ye = T(Ne(({ children: t, className: r, context: s, modal: l = !1, closeOn
|
|
|
249
249
|
if (!p) return;
|
|
250
250
|
const g = p.scrollLeft;
|
|
251
251
|
if (o) {
|
|
252
|
-
const
|
|
252
|
+
const L = p.style.scrollBehavior;
|
|
253
253
|
p.style.scrollBehavior = "auto", p.classList.remove("disabled-dragopen"), requestAnimationFrame(() => {
|
|
254
254
|
p.scrollLeft = g, requestAnimationFrame(() => {
|
|
255
|
-
p.style.scrollBehavior =
|
|
255
|
+
p.style.scrollBehavior = L;
|
|
256
256
|
});
|
|
257
257
|
});
|
|
258
258
|
} else
|
|
@@ -262,10 +262,10 @@ const Ye = T(Ne(({ children: t, className: r, context: s, modal: l = !1, closeOn
|
|
|
262
262
|
const p = n.current;
|
|
263
263
|
if (p)
|
|
264
264
|
if (o) {
|
|
265
|
-
const g = p.scrollLeft,
|
|
265
|
+
const g = p.scrollLeft, L = p.style.scrollBehavior;
|
|
266
266
|
p.style.scrollBehavior = "auto", p.classList.remove("disabled-dragopen-sidebar"), requestAnimationFrame(() => {
|
|
267
267
|
p.scrollLeft = g, requestAnimationFrame(() => {
|
|
268
|
-
p.style.scrollBehavior =
|
|
268
|
+
p.style.scrollBehavior = L;
|
|
269
269
|
});
|
|
270
270
|
});
|
|
271
271
|
} else
|
|
@@ -383,7 +383,7 @@ const ke = T(Ne(({ children: t, className: r, context: s }, l) => {
|
|
|
383
383
|
Sidebar: Ye
|
|
384
384
|
});
|
|
385
385
|
q.displayName = "NavigationDrawer";
|
|
386
|
-
const
|
|
386
|
+
const Lt = "hover:bg-neutral-medium-hover", Ot = Te("", {
|
|
387
387
|
variants: {
|
|
388
388
|
isSelected: {
|
|
389
389
|
true: "bg-neutral-medium-selected ",
|
|
@@ -490,8 +490,8 @@ const Ot = "hover:bg-neutral-medium-hover", Lt = Te("", {
|
|
|
490
490
|
"group navitem",
|
|
491
491
|
"h-12 flex-1 flex items-center p-3 rounded-lg justify-between w-full",
|
|
492
492
|
"transition-all duration-300",
|
|
493
|
-
|
|
494
|
-
|
|
493
|
+
Lt,
|
|
494
|
+
Ot({ isSelected: n, disabled: u }),
|
|
495
495
|
i
|
|
496
496
|
);
|
|
497
497
|
if (h === "a") {
|
|
@@ -608,7 +608,7 @@ const Rt = Ne((t, r) => {
|
|
|
608
608
|
toggleDrawerCollapse: N,
|
|
609
609
|
subscribeToCollapse: f
|
|
610
610
|
};
|
|
611
|
-
|
|
611
|
+
Oe(r, () => j, [j, s, y, N]);
|
|
612
612
|
const K = m, Y = x(() => {
|
|
613
613
|
const M = y?.() ?? !1;
|
|
614
614
|
if (u && u.length > 0 && M) {
|
|
@@ -959,7 +959,7 @@ const Ht = ({ onCloseClick: t, onMarkAllAsRead: r, notificationsListControls: s
|
|
|
959
959
|
}, []), b = x((u) => {
|
|
960
960
|
i(u), n.current.forEach((N) => N(u, u.length));
|
|
961
961
|
}, []);
|
|
962
|
-
|
|
962
|
+
Oe(s, () => ({
|
|
963
963
|
addNewNotification: c,
|
|
964
964
|
subscribeToUpdates: m,
|
|
965
965
|
setNotifications: b,
|
|
@@ -1003,7 +1003,7 @@ const Ht = ({ onCloseClick: t, onMarkAllAsRead: r, notificationsListControls: s
|
|
|
1003
1003
|
}
|
|
1004
1004
|
), Wt = ({ closeSidebar: t, options: r, helpSection: s, initialSection: l, notificationsListControls: i }, n) => {
|
|
1005
1005
|
const [c, m] = Z(l ?? "notifications");
|
|
1006
|
-
|
|
1006
|
+
Oe(n, () => ({
|
|
1007
1007
|
setActiveSection: m
|
|
1008
1008
|
}));
|
|
1009
1009
|
const d = () => {
|
|
@@ -1122,10 +1122,10 @@ const qt = ({ navigationControlsRef: t }) => {
|
|
|
1122
1122
|
Ae.displayName = "PyrionNavigationDrawer.LayoutBase";
|
|
1123
1123
|
const dt = T(({ children: t }) => /* @__PURE__ */ e.jsx(q.Outlet, { children: t }));
|
|
1124
1124
|
dt.displayName = "PyrionNavigationDrawer.IsolatedOutlet";
|
|
1125
|
-
const ut =
|
|
1125
|
+
const ut = Le(null), br = () => {
|
|
1126
1126
|
const t = pt(ut);
|
|
1127
1127
|
if (!t)
|
|
1128
|
-
throw new Error("
|
|
1128
|
+
throw new Error("usePyrionLayout debe usarse dentro de PyrionLayout");
|
|
1129
1129
|
return t;
|
|
1130
1130
|
}, xr = ({ children: t, helpSection: r, state: s, links: l, onLinkClick: i, onNavigate: n, onLogoutClick: c, actions: m, activeActionId: d, onActionClick: h, tabsProps: b, currentSystemId: w, onSessionClick: u, onSystemLogoClick: N, onProfileClick: y, ...f }) => {
|
|
1131
1131
|
const D = Object.assign({
|
|
@@ -1155,11 +1155,11 @@ const ut = Oe(null), br = () => {
|
|
|
1155
1155
|
desktop: ce
|
|
1156
1156
|
}
|
|
1157
1157
|
}, Me = x((a) => {
|
|
1158
|
-
const v = R ? "mobile" : "desktop",
|
|
1159
|
-
pe.system[v](
|
|
1158
|
+
const v = R ? "mobile" : "desktop", O = s.enabled_systems.find((C) => C.name === a)?.url;
|
|
1159
|
+
pe.system[v](O), b?.onTabClick?.(a);
|
|
1160
1160
|
}, [R, s.enabled_systems, b?.onTabClick]), ae = x((a) => {
|
|
1161
|
-
const v = R ? "mobile" : "desktop",
|
|
1162
|
-
pe.product[v](
|
|
1161
|
+
const v = R ? "mobile" : "desktop", O = s.company.products?.find((C) => C.name === a)?.domain;
|
|
1162
|
+
pe.product[v](O), b?.onTabClick?.(a);
|
|
1163
1163
|
}, [R, s.company.products, b?.onTabClick]), Be = x((a, v) => {
|
|
1164
1164
|
if (v) {
|
|
1165
1165
|
v(a), b?.onTabClick?.(a);
|
|
@@ -1168,12 +1168,12 @@ const ut = Oe(null), br = () => {
|
|
|
1168
1168
|
b?.onTabClick?.(a);
|
|
1169
1169
|
}, [b?.onTabClick]), Ce = x(() => {
|
|
1170
1170
|
const a = {};
|
|
1171
|
-
s.enabled_systems.forEach((
|
|
1172
|
-
a[
|
|
1171
|
+
s.enabled_systems.forEach((O) => {
|
|
1172
|
+
a[O.url] = O.name;
|
|
1173
1173
|
});
|
|
1174
1174
|
const v = window.location.origin;
|
|
1175
|
-
for (const [
|
|
1176
|
-
if (v ===
|
|
1175
|
+
for (const [O, C] of Object.entries(a))
|
|
1176
|
+
if (v === O)
|
|
1177
1177
|
return C;
|
|
1178
1178
|
return "";
|
|
1179
1179
|
}, [s.enabled_systems]), je = b?.currentTabName || Ce(), G = ue(
|
|
@@ -1182,7 +1182,7 @@ const ut = Oe(null), br = () => {
|
|
|
1182
1182
|
), oe = (a) => a == null ? null : typeof a == "string" || typeof a == "number" || typeof a == "boolean" ? String(a) : ge(a) ? a : typeof a == "object" ? JSON.stringify(a) : null, o = x((a, v) => {
|
|
1183
1183
|
if (!a) return null;
|
|
1184
1184
|
if (Array.isArray(a)) {
|
|
1185
|
-
const
|
|
1185
|
+
const O = a?.[0] ? xe(v, a[0]) : null, C = a?.[1] ? xe(v, a[1]) : null, z = oe(O), de = oe(C);
|
|
1186
1186
|
return /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
1187
1187
|
/* @__PURE__ */ e.jsx("p", { className: "prometeo-fonts-body-small text-neutral-default-default line-clamp-1 whitespace-break-spaces min-w-1/2", children: z }),
|
|
1188
1188
|
de && /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-1 flex-1 grow shrink-0 min-w-[40%] overflow-hidden", children: [
|
|
@@ -1192,15 +1192,15 @@ const ut = Oe(null), br = () => {
|
|
|
1192
1192
|
] });
|
|
1193
1193
|
}
|
|
1194
1194
|
if (typeof a == "string") {
|
|
1195
|
-
const
|
|
1196
|
-
return oe(
|
|
1195
|
+
const O = xe(v, a);
|
|
1196
|
+
return oe(O);
|
|
1197
1197
|
}
|
|
1198
1198
|
return typeof a == "function" ? oe(a(v)) : null;
|
|
1199
1199
|
}, []), p = x(
|
|
1200
1200
|
(a) => {
|
|
1201
1201
|
const v = D?.userCardOptions?.secondarySlot;
|
|
1202
1202
|
if (!v) return null;
|
|
1203
|
-
const
|
|
1203
|
+
const O = s.enabled_systems?.find((z) => z._id === w), C = { company: s.company, user: s.user, system: O, metadata: a };
|
|
1204
1204
|
return o(v, C);
|
|
1205
1205
|
},
|
|
1206
1206
|
[w, D?.userCardOptions?.secondarySlot, o, s.company, s.enabled_systems, s.user]
|
|
@@ -1208,11 +1208,11 @@ const ut = Oe(null), br = () => {
|
|
|
1208
1208
|
(a) => {
|
|
1209
1209
|
const v = D?.sessionCardOptions?.secondarySlot || D?.userCardOptions?.secondarySlot;
|
|
1210
1210
|
if (!v) return null;
|
|
1211
|
-
const
|
|
1211
|
+
const O = s.enabled_systems?.find((z) => z._id === w), C = { company: s.company, user: a.auth_id, metadata: a?.metadata, system: O };
|
|
1212
1212
|
return o(v, C);
|
|
1213
1213
|
},
|
|
1214
1214
|
[w, D?.sessionCardOptions?.secondarySlot, D?.userCardOptions?.secondarySlot, o, s.company]
|
|
1215
|
-
),
|
|
1215
|
+
), L = ue(() => {
|
|
1216
1216
|
const a = [];
|
|
1217
1217
|
return j.current.openNotifications = () => {
|
|
1218
1218
|
Y.current = "notifications", j.current.openSidebar?.(), K.current?.setActiveSection("notifications");
|
|
@@ -1236,8 +1236,8 @@ const ut = Oe(null), br = () => {
|
|
|
1236
1236
|
onClick: D.configurationActionOptions?.onClick
|
|
1237
1237
|
}), a;
|
|
1238
1238
|
}, [D, r, h, M]), B = ue(
|
|
1239
|
-
() => [...
|
|
1240
|
-
[
|
|
1239
|
+
() => [...L, ...m || []],
|
|
1240
|
+
[L, m]
|
|
1241
1241
|
), _ = ue(() => {
|
|
1242
1242
|
const a = s.enabled_systems.map((C) => ({
|
|
1243
1243
|
name: C.name,
|
|
@@ -1247,12 +1247,12 @@ const ut = Oe(null), br = () => {
|
|
|
1247
1247
|
})) || [], v = b?.customTabs?.map((C) => ({
|
|
1248
1248
|
...C,
|
|
1249
1249
|
onClick: () => Be(C.name, C?.onClick)
|
|
1250
|
-
})) || [],
|
|
1250
|
+
})) || [], O = s.company.products?.map((C) => ({
|
|
1251
1251
|
name: C.name,
|
|
1252
1252
|
thumbnail: C.thumbnail,
|
|
1253
1253
|
onClick: ae
|
|
1254
1254
|
})) || [];
|
|
1255
|
-
return [...a, ...v, ...
|
|
1255
|
+
return [...a, ...v, ...O];
|
|
1256
1256
|
}, [s.enabled_systems, s.company.products, b?.customTabs]), Q = x((a) => {
|
|
1257
1257
|
k.current?.addNewNotification ? k.current.addNewNotification(a) : console.warn("Notifications controls not ready yet");
|
|
1258
1258
|
}, []), $ = x((a) => k.current?.subscribeToUpdates ? k.current.subscribeToUpdates(a) : (console.warn("Notifications controls not ready yet"), () => {
|
|
@@ -1262,9 +1262,9 @@ const ut = Oe(null), br = () => {
|
|
|
1262
1262
|
k.current?.removeAllNotifications ? k.current.removeAllNotifications() : console.warn("Notifications controls not ready yet");
|
|
1263
1263
|
}, []), be = x((a) => {
|
|
1264
1264
|
k.current?.setNotifications ? k.current.setNotifications(a) : console.warn("Notifications controls not ready yet");
|
|
1265
|
-
}, []), S = x((a, v,
|
|
1265
|
+
}, []), S = x((a, v, O) => {
|
|
1266
1266
|
const C = /* @__PURE__ */ e.jsxs("div", { className: A(" bg-black/60 z-200 inset-0 h-full w-full grid place-items-center text-neutral-default-default", v ? "fixed" : "sticky"), children: [
|
|
1267
|
-
!
|
|
1267
|
+
!O && /* @__PURE__ */ e.jsx(fe, { label: "", icon: /* @__PURE__ */ e.jsx(Ie, {}), onClick: () => W(!1), variant: "text", className: "absolute top-0 right-0", size: "small", color: "secondary" }),
|
|
1268
1268
|
typeof a == "function" ? a() : a
|
|
1269
1269
|
] });
|
|
1270
1270
|
let z;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { TicketCardHandlerProps } from '../TicketCard';
|
|
3
|
-
import { AuthSession, PyrionLayoutOptions,
|
|
3
|
+
import { AuthSession, PyrionLayoutOptions, PyrionLayoutProps } from './PyrionLayout';
|
|
4
4
|
export interface DrawerFooterProps<TAppMetadata> {
|
|
5
|
-
state:
|
|
5
|
+
state: PyrionLayoutProps<TAppMetadata>['state'];
|
|
6
6
|
currentAppSessions: AuthSession<TAppMetadata>[];
|
|
7
7
|
resolveUserSecondarySlot: (metadata?: TAppMetadata) => ReactNode | string | null;
|
|
8
8
|
resolveSessionSecondarySlot: (session: AuthSession<TAppMetadata>) => ReactNode | string | null;
|
|
@@ -5,14 +5,14 @@ import { TabSwitchElement } from '../TabSwitch/TabSwitch';
|
|
|
5
5
|
import { TicketCardHandlerProps } from '../TicketCard';
|
|
6
6
|
import { NotificationsListControlsHandler } from './PLNotificationsList';
|
|
7
7
|
import { PLSidebarContentHandle } from './PLSidebarContent';
|
|
8
|
-
import { AuthSession, PyrionNavigationControls, PyrionLayoutOptions,
|
|
8
|
+
import { AuthSession, PyrionNavigationControls, PyrionLayoutOptions, PyrionLayoutProps } from './PyrionLayout';
|
|
9
9
|
export type TLayoutBaseProps<TAppMetadata = unknown, TNotificationMetadata = unknown> = {
|
|
10
10
|
links?: PyrionLayoutLinkItemProps[];
|
|
11
11
|
handleNavigation: (path: string) => void;
|
|
12
12
|
allActions: PyrionLayoutActionItemProps[];
|
|
13
13
|
activeActionId?: string;
|
|
14
14
|
onActionClick?: (id: string, payload?: any) => void;
|
|
15
|
-
state:
|
|
15
|
+
state: PyrionLayoutProps<TAppMetadata, TNotificationMetadata>['state'];
|
|
16
16
|
currentAppSessions: AuthSession<TAppMetadata>[];
|
|
17
17
|
resolveUserSecondarySlot: (metadata?: TAppMetadata) => ReactNode | string | null;
|
|
18
18
|
resolveSessionSecondarySlot: (session: AuthSession<TAppMetadata>) => ReactNode | string | null;
|
|
@@ -96,7 +96,7 @@ export interface PyrionLayoutOptions<TAppMetadata> {
|
|
|
96
96
|
sidebar?: boolean;
|
|
97
97
|
};
|
|
98
98
|
}
|
|
99
|
-
export interface
|
|
99
|
+
export interface PyrionLayoutProps<TAppMetadata, TNotificationMetadata = unknown> {
|
|
100
100
|
links?: PyrionLayoutLinkItemProps[];
|
|
101
101
|
actions?: PyrionLayoutActionItemProps[];
|
|
102
102
|
tabsProps?: PyrionLayoutTabsProps;
|
|
@@ -141,6 +141,6 @@ export type PyrionNavigationControls<TNotificationMetadata = unknown> = {
|
|
|
141
141
|
removeAllNotifications?: () => void;
|
|
142
142
|
removeNotification?: (id: string | string[]) => void;
|
|
143
143
|
};
|
|
144
|
-
export declare const
|
|
145
|
-
declare const
|
|
146
|
-
export default
|
|
144
|
+
export declare const usePyrionLayout: <TNotificationMetadata = unknown>() => PyrionNavigationControls<TNotificationMetadata>;
|
|
145
|
+
declare const PyrionLayout: <TAppMetadata = unknown, TNotificationMetadata = unknown>({ children, helpSection, state, links: navlinks, onLinkClick, onNavigate, onLogoutClick, actions, activeActionId, onActionClick, tabsProps, currentSystemId, onSessionClick, onSystemLogoClick, onProfileClick, ...props }: PyrionLayoutProps<TAppMetadata, TNotificationMetadata>) => import("react/jsx-runtime").JSX.Element;
|
|
146
|
+
export default PyrionLayout;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { default as
|
|
1
|
+
import { default as PyrionLayout, PyrionLayoutProps, PyrionLayoutOptions, PyrionLayoutTabsProps, AuthSession } from './PyrionLayout';
|
|
2
|
+
import { PyrionLayoutLinkItemProps } from '../NavigationDrawer/NavigationDrawerLinkItem';
|
|
3
|
+
import { PyrionLayoutActionItemProps } from '../NavigationDrawer/NavigationDrawerActionItem';
|
|
2
4
|
import { NotificationCardProps } from '../NotificationCard';
|
|
3
|
-
export { type
|
|
4
|
-
export default
|
|
5
|
+
export { type PyrionLayoutProps, type PyrionLayoutOptions, type PyrionLayoutTabsProps, type AuthSession, type NotificationCardProps, type PyrionLayoutLinkItemProps, type PyrionLayoutActionItemProps };
|
|
6
|
+
export default PyrionLayout;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default } from '../components/PyrionNavigationDrawer';
|
|
2
|
-
export { type
|
|
2
|
+
export { type PyrionLayoutProps, type PyrionLayoutOptions, type PyrionLayoutTabsProps, type AuthSession, type NotificationCardProps } from '../components/PyrionNavigationDrawer';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { usePyrionLayout as default } from '../components/PyrionNavigationDrawer/PyrionLayout';
|