@flamingo-stack/openframe-frontend-core 0.0.661 → 0.0.662-snapshot.20260923194332
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/{chunk-M23ZPKOK.js → chunk-3PSNWOAP.js} +4 -4
- package/dist/{chunk-D7QWYQBQ.cjs → chunk-4ZEHQXQ5.cjs} +75 -75
- package/dist/{chunk-D7QWYQBQ.cjs.map → chunk-4ZEHQXQ5.cjs.map} +1 -1
- package/dist/{chunk-YNW3DQFY.cjs → chunk-67FVIC5H.cjs} +81 -53
- package/dist/chunk-67FVIC5H.cjs.map +1 -0
- package/dist/{chunk-J5TAB64U.js → chunk-7I4DGWF5.js} +2 -2
- package/dist/{chunk-24T5HZPB.cjs → chunk-BASKR3Z4.cjs} +1 -1
- package/dist/chunk-BASKR3Z4.cjs.map +1 -0
- package/dist/{chunk-GXHZCGVJ.cjs → chunk-BSETJKSW.cjs} +25 -25
- package/dist/{chunk-GXHZCGVJ.cjs.map → chunk-BSETJKSW.cjs.map} +1 -1
- package/dist/{chunk-N4ORXOZK.cjs → chunk-DF6UYONR.cjs} +10 -10
- package/dist/{chunk-N4ORXOZK.cjs.map → chunk-DF6UYONR.cjs.map} +1 -1
- package/dist/{chunk-Z572FXXM.js → chunk-EX3YF5UR.js} +2 -2
- package/dist/{chunk-U4N65JUW.js → chunk-FXEOBJKX.js} +4 -4
- package/dist/{chunk-WDJT7NJ5.js → chunk-HZ3KIFUW.js} +5 -5
- package/dist/{chunk-PC5WWTDM.js → chunk-I5ZKHDT6.js} +3 -3
- package/dist/{chunk-5LS7KNAU.js → chunk-IHTDANFB.js} +7 -7
- package/dist/{chunk-F5LMTKQD.js → chunk-J3T2WNWC.js} +5 -5
- package/dist/{chunk-Q4XWYP5U.js → chunk-JVAG5CHS.js} +140 -112
- package/dist/chunk-JVAG5CHS.js.map +1 -0
- package/dist/{chunk-UA3V3KXX.js → chunk-KU7HL52F.js} +1 -1
- package/dist/chunk-KU7HL52F.js.map +1 -0
- package/dist/{chunk-7KNVRRI4.cjs → chunk-LPZHG75D.cjs} +25 -25
- package/dist/{chunk-7KNVRRI4.cjs.map → chunk-LPZHG75D.cjs.map} +1 -1
- package/dist/{chunk-ZASHVL45.cjs → chunk-MB5RK5WQ.cjs} +3 -3
- package/dist/{chunk-ZASHVL45.cjs.map → chunk-MB5RK5WQ.cjs.map} +1 -1
- package/dist/{chunk-4EY5JSMK.cjs → chunk-MEVV7FIR.cjs} +5 -5
- package/dist/{chunk-4EY5JSMK.cjs.map → chunk-MEVV7FIR.cjs.map} +1 -1
- package/dist/{chunk-IMDYBINC.js → chunk-N55XI4LH.js} +4 -4
- package/dist/{chunk-RFGXKRRL.js → chunk-NAML3TDW.js} +7 -7
- package/dist/{chunk-TRR6XUEP.js → chunk-OJR7KKCI.js} +3 -3
- package/dist/{chunk-LXBHYUIN.js → chunk-OZTH6T4W.js} +2 -2
- package/dist/{chunk-6VY6PXAN.cjs → chunk-P3IDYJE5.cjs} +33 -33
- package/dist/{chunk-6VY6PXAN.cjs.map → chunk-P3IDYJE5.cjs.map} +1 -1
- package/dist/{chunk-WGTKYVBK.cjs → chunk-PBEXPLFI.cjs} +12 -12
- package/dist/{chunk-WGTKYVBK.cjs.map → chunk-PBEXPLFI.cjs.map} +1 -1
- package/dist/{chunk-EUT6SQW7.js → chunk-Q3G5WOER.js} +3 -3
- package/dist/{chunk-4JITKV2S.cjs → chunk-REQ2AIEE.cjs} +51 -51
- package/dist/{chunk-4JITKV2S.cjs.map → chunk-REQ2AIEE.cjs.map} +1 -1
- package/dist/{chunk-4NKKPGDN.js → chunk-RP4TSHMY.js} +2 -2
- package/dist/{chunk-GLDXZK76.cjs → chunk-RYEMWKYE.cjs} +7 -7
- package/dist/{chunk-GLDXZK76.cjs.map → chunk-RYEMWKYE.cjs.map} +1 -1
- package/dist/{chunk-RPHRBZG6.cjs → chunk-TKASQOSM.cjs} +3 -3
- package/dist/{chunk-RPHRBZG6.cjs.map → chunk-TKASQOSM.cjs.map} +1 -1
- package/dist/{chunk-KCYGLC7Q.js → chunk-V54WTP2E.js} +5 -5
- package/dist/{chunk-H3DF7COI.cjs → chunk-VKKVWGFW.cjs} +44 -44
- package/dist/{chunk-H3DF7COI.cjs.map → chunk-VKKVWGFW.cjs.map} +1 -1
- package/dist/{chunk-XNJZ6A2S.cjs → chunk-WDE7ETA5.cjs} +5 -5
- package/dist/{chunk-XNJZ6A2S.cjs.map → chunk-WDE7ETA5.cjs.map} +1 -1
- package/dist/{chunk-XOA32PN3.cjs → chunk-WZ6OV7VU.cjs} +22 -22
- package/dist/{chunk-XOA32PN3.cjs.map → chunk-WZ6OV7VU.cjs.map} +1 -1
- package/dist/{chunk-QARWK4LN.cjs → chunk-XKQJDXDO.cjs} +10 -10
- package/dist/{chunk-QARWK4LN.cjs.map → chunk-XKQJDXDO.cjs.map} +1 -1
- package/dist/{chunk-FC6I2NWF.js → chunk-XSQSTJ5D.js} +2 -2
- package/dist/{chunk-ZIT4TC5R.cjs → chunk-XVSA4565.cjs} +248 -248
- package/dist/{chunk-ZIT4TC5R.cjs.map → chunk-XVSA4565.cjs.map} +1 -1
- package/dist/components/case-studies/index.cjs +20 -20
- package/dist/components/case-studies/index.js +5 -5
- package/dist/components/chat/index.cjs +3 -3
- package/dist/components/chat/index.js +2 -2
- package/dist/components/contact/index.cjs +6 -6
- package/dist/components/contact/index.js +5 -5
- package/dist/components/docs/index.cjs +9 -9
- package/dist/components/docs/index.js +8 -8
- package/dist/components/embeds/index.cjs +6 -6
- package/dist/components/embeds/index.js +5 -5
- package/dist/components/faq/index.cjs +6 -6
- package/dist/components/faq/index.js +5 -5
- package/dist/components/features/index.cjs +5 -5
- package/dist/components/features/index.js +4 -4
- package/dist/components/help-center-pages/index.cjs +25 -25
- package/dist/components/help-center-pages/index.js +16 -16
- package/dist/components/icons/elestio-logo.d.ts +4 -1
- package/dist/components/icons/elestio-logo.d.ts.map +1 -1
- package/dist/components/icons/index.cjs +2 -2
- package/dist/components/icons/index.js +1 -1
- package/dist/components/index.cjs +44 -42
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +17 -15
- package/dist/components/index.js.map +1 -1
- package/dist/components/meeting-scheduler/index.cjs +28 -28
- package/dist/components/meeting-scheduler/index.js +4 -4
- package/dist/components/navigation/index.cjs +10 -8
- package/dist/components/navigation/index.cjs.map +1 -1
- package/dist/components/navigation/index.d.ts +2 -0
- package/dist/components/navigation/index.d.ts.map +1 -1
- package/dist/components/navigation/index.js +9 -7
- package/dist/components/navigation/mobile-burger-menu.d.ts.map +1 -1
- package/dist/components/navigation/navigation-item-badge.d.ts +22 -0
- package/dist/components/navigation/navigation-item-badge.d.ts.map +1 -0
- package/dist/components/navigation/navigation-sidebar-item.d.ts.map +1 -1
- package/dist/components/onboarding-guides/index.cjs +8 -8
- package/dist/components/onboarding-guides/index.js +7 -7
- package/dist/components/tickets/index.cjs +9 -9
- package/dist/components/tickets/index.js +8 -8
- package/dist/components/ui/index.cjs +5 -5
- package/dist/components/ui/index.js +4 -4
- package/dist/hooks/index.cjs +3 -3
- package/dist/hooks/index.js +2 -2
- package/dist/index.cjs +11 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +10 -8
- package/dist/index.js.map +1 -1
- package/dist/types/navigation.d.ts +8 -0
- package/dist/types/navigation.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/icons/elestio-logo.tsx +4 -1
- package/src/components/navigation/index.ts +2 -0
- package/src/components/navigation/mobile-burger-menu.tsx +16 -8
- package/src/components/navigation/navigation-item-badge.tsx +40 -0
- package/src/components/navigation/navigation-sidebar-item.tsx +15 -4
- package/src/stories/AppLayout.stories.tsx +1 -0
- package/src/types/navigation.ts +8 -0
- package/dist/chunk-24T5HZPB.cjs.map +0 -1
- package/dist/chunk-Q4XWYP5U.js.map +0 -1
- package/dist/chunk-UA3V3KXX.js.map +0 -1
- package/dist/chunk-YNW3DQFY.cjs.map +0 -1
- /package/dist/{chunk-M23ZPKOK.js.map → chunk-3PSNWOAP.js.map} +0 -0
- /package/dist/{chunk-J5TAB64U.js.map → chunk-7I4DGWF5.js.map} +0 -0
- /package/dist/{chunk-Z572FXXM.js.map → chunk-EX3YF5UR.js.map} +0 -0
- /package/dist/{chunk-U4N65JUW.js.map → chunk-FXEOBJKX.js.map} +0 -0
- /package/dist/{chunk-WDJT7NJ5.js.map → chunk-HZ3KIFUW.js.map} +0 -0
- /package/dist/{chunk-PC5WWTDM.js.map → chunk-I5ZKHDT6.js.map} +0 -0
- /package/dist/{chunk-5LS7KNAU.js.map → chunk-IHTDANFB.js.map} +0 -0
- /package/dist/{chunk-F5LMTKQD.js.map → chunk-J3T2WNWC.js.map} +0 -0
- /package/dist/{chunk-IMDYBINC.js.map → chunk-N55XI4LH.js.map} +0 -0
- /package/dist/{chunk-RFGXKRRL.js.map → chunk-NAML3TDW.js.map} +0 -0
- /package/dist/{chunk-TRR6XUEP.js.map → chunk-OJR7KKCI.js.map} +0 -0
- /package/dist/{chunk-LXBHYUIN.js.map → chunk-OZTH6T4W.js.map} +0 -0
- /package/dist/{chunk-EUT6SQW7.js.map → chunk-Q3G5WOER.js.map} +0 -0
- /package/dist/{chunk-4NKKPGDN.js.map → chunk-RP4TSHMY.js.map} +0 -0
- /package/dist/{chunk-KCYGLC7Q.js.map → chunk-V54WTP2E.js.map} +0 -0
- /package/dist/{chunk-FC6I2NWF.js.map → chunk-XSQSTJ5D.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkMEVV7FIRcjs = require('./chunk-MEVV7FIR.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
@@ -13,15 +13,16 @@ var _chunk4EY5JSMKcjs = require('./chunk-4EY5JSMK.cjs');
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _chunkXVSA4565cjs = require('./chunk-XVSA4565.cjs');
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _chunkWDE7ETA5cjs = require('./chunk-WDE7ETA5.cjs');
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
|
|
25
|
+
var _chunkBSETJKSWcjs = require('./chunk-BSETJKSW.cjs');
|
|
25
26
|
|
|
26
27
|
|
|
27
28
|
|
|
@@ -33,7 +34,7 @@ var _chunkTLLJIGTPcjs = require('./chunk-TLLJIGTP.cjs');
|
|
|
33
34
|
|
|
34
35
|
|
|
35
36
|
|
|
36
|
-
var
|
|
37
|
+
var _chunkBASKR3Z4cjs = require('./chunk-BASKR3Z4.cjs');
|
|
37
38
|
|
|
38
39
|
|
|
39
40
|
|
|
@@ -109,7 +110,7 @@ function MingoAiButton({ source, icon, label = "Mingo AI", className, onClick, .
|
|
|
109
110
|
}
|
|
110
111
|
) }),
|
|
111
112
|
icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative inline-flex size-6 shrink-0 items-center justify-center", children: icon }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
112
|
-
|
|
113
|
+
_chunkBASKR3Z4cjs.MingoIcon,
|
|
113
114
|
{
|
|
114
115
|
color: "currentColor",
|
|
115
116
|
eyesColor: MINGO_ACCENT,
|
|
@@ -132,7 +133,7 @@ var MOBILE_NAV_PANEL_ID = "mobile-nav-panel";
|
|
|
132
133
|
function MobileNavPanel({ isOpen, config }) {
|
|
133
134
|
const panelRef = _react.useRef.call(void 0, null);
|
|
134
135
|
_overlays.usePreventScroll.call(void 0, { isDisabled: !isOpen });
|
|
135
|
-
|
|
136
|
+
_chunkWDE7ETA5cjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: config.onClose });
|
|
136
137
|
const headerHeight = _chunkTLLJIGTPcjs.useHeaderHeight.call(void 0, 64, { enabled: isOpen });
|
|
137
138
|
if (!isOpen) return null;
|
|
138
139
|
const renderNavigationItem = (item) => {
|
|
@@ -184,7 +185,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
184
185
|
);
|
|
185
186
|
};
|
|
186
187
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
187
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "fixed inset-0 z-[9998]",
|
|
188
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "fixed inset-0 z-[9998]", _chunkBSETJKSWcjs.OVERLAY_BACKDROP_CLASS), onClick: config.onClose }),
|
|
188
189
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
189
190
|
"div",
|
|
190
191
|
{
|
|
@@ -239,16 +240,16 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
239
240
|
// src/components/navigation/ticket-alerts-button.tsx
|
|
240
241
|
|
|
241
242
|
function TicketAlertsButton({ href, onNavigate, disabled, className }) {
|
|
242
|
-
const live =
|
|
243
|
+
const live = _chunkMEVV7FIRcjs.useOptionalTicketLive.call(void 0, );
|
|
243
244
|
if (!live || !live.authed || live.unreadTotal === 0) return null;
|
|
244
245
|
const targetId = live.nextUnreadTicketId;
|
|
245
|
-
const target = targetId ?
|
|
246
|
+
const target = targetId ? _chunkXVSA4565cjs.buildTicketOpenHref.call(void 0, href, targetId) : href;
|
|
246
247
|
const handleClick = () => {
|
|
247
248
|
if (onNavigate) onNavigate(target);
|
|
248
249
|
else window.location.assign(target);
|
|
249
250
|
};
|
|
250
251
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
251
|
-
|
|
252
|
+
_chunkXVSA4565cjs.HeaderButton,
|
|
252
253
|
{
|
|
253
254
|
icon: (
|
|
254
255
|
// Glyph inherits HeaderButton's standard cell coloring (secondary at
|
|
@@ -258,7 +259,7 @@ function TicketAlertsButton({ href, onNavigate, disabled, className }) {
|
|
|
258
259
|
// existing while updates are unread — never by tinting the glyph.
|
|
259
260
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative inline-flex", children: [
|
|
260
261
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYRTMAXLEcjs.LifeBuoyIcon, { className: "h-6 w-6" }),
|
|
261
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
262
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXVSA4565cjs.UnreadCountBadge, { count: live.unreadTotal })
|
|
262
263
|
] })
|
|
263
264
|
),
|
|
264
265
|
"aria-label": `Support tickets \u2014 ${live.unreadTotal} unread ${live.unreadTotal === 1 ? "update" : "updates"}`,
|
|
@@ -576,7 +577,7 @@ function Header({ config }) {
|
|
|
576
577
|
leading: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
577
578
|
!!_optionalChain([config, 'access', _12 => _12.actions, 'optionalAccess', _13 => _13.left, 'optionalAccess', _14 => _14.length]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-full items-center border-r border-ods-border", children: config.actions.left }),
|
|
578
579
|
_optionalChain([config, 'access', _15 => _15.mobile, 'optionalAccess', _16 => _16.enabled]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
579
|
-
|
|
580
|
+
_chunkXVSA4565cjs.HeaderButton,
|
|
580
581
|
{
|
|
581
582
|
className: "border-r border-ods-border lg:hidden",
|
|
582
583
|
onClick: () => {
|
|
@@ -677,7 +678,7 @@ function HeaderSkeleton({ config }) {
|
|
|
677
678
|
// src/components/navigation/client-only-header.tsx
|
|
678
679
|
|
|
679
680
|
function ClientOnlyHeader({ config, skeleton }) {
|
|
680
|
-
const isClient =
|
|
681
|
+
const isClient = _chunkBSETJKSWcjs.useIsHydrated.call(void 0, );
|
|
681
682
|
if (!isClient) {
|
|
682
683
|
return skeleton || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderSkeleton, { config });
|
|
683
684
|
}
|
|
@@ -691,12 +692,12 @@ var _framermotion = require('framer-motion');
|
|
|
691
692
|
|
|
692
693
|
function SlidingSidebar({ config }) {
|
|
693
694
|
const [expandedItems, setExpandedItems] = _react.useState.call(void 0, /* @__PURE__ */ new Set());
|
|
694
|
-
const mounted =
|
|
695
|
+
const mounted = _chunkBSETJKSWcjs.useIsHydrated.call(void 0, );
|
|
695
696
|
const headerHeight = _chunkTLLJIGTPcjs.useHeaderHeight.call(void 0, );
|
|
696
697
|
const asideRef = _react.useRef.call(void 0, null);
|
|
697
698
|
const prefersReducedMotion = _framermotion.useReducedMotion.call(void 0, );
|
|
698
699
|
_overlays.usePreventScroll.call(void 0, { isDisabled: !config.isOpen });
|
|
699
|
-
|
|
700
|
+
_chunkWDE7ETA5cjs.useFocusTrap.call(void 0, asideRef, config.isOpen, { onEscape: config.onClose, contain: false });
|
|
700
701
|
const toggleExpanded = (itemId) => {
|
|
701
702
|
const newExpanded = new Set(expandedItems);
|
|
702
703
|
if (newExpanded.has(itemId)) {
|
|
@@ -823,7 +824,7 @@ function SlidingSidebar({ config }) {
|
|
|
823
824
|
duration: 0.3,
|
|
824
825
|
ease: [0.4, 0, 0.2, 1]
|
|
825
826
|
},
|
|
826
|
-
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "fixed inset-0 z-[45]",
|
|
827
|
+
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "fixed inset-0 z-[45]", _chunkBSETJKSWcjs.OVERLAY_BACKDROP_CLASS),
|
|
827
828
|
onClick: () => config.onClose()
|
|
828
829
|
}
|
|
829
830
|
) }),
|
|
@@ -885,7 +886,7 @@ function NavigationSidebarHeader({ minimized }) {
|
|
|
885
886
|
minimized ? "ml-0 opacity-0" : "ml-[var(--spacing-system-xs)] opacity-100"
|
|
886
887
|
),
|
|
887
888
|
"aria-hidden": minimized,
|
|
888
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
889
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBASKR3Z4cjs.OpenFrameText, { textColor: "var(--color-text-primary)" })
|
|
889
890
|
}
|
|
890
891
|
)
|
|
891
892
|
] });
|
|
@@ -894,6 +895,24 @@ function NavigationSidebarHeader({ minimized }) {
|
|
|
894
895
|
// src/components/navigation/navigation-sidebar-item.tsx
|
|
895
896
|
|
|
896
897
|
|
|
898
|
+
// src/components/navigation/navigation-item-badge.tsx
|
|
899
|
+
|
|
900
|
+
function NavigationItemBadge({ label, compact = false, className, ...rest }) {
|
|
901
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
902
|
+
_chunkBSETJKSWcjs.Tag,
|
|
903
|
+
{
|
|
904
|
+
as: "span",
|
|
905
|
+
label,
|
|
906
|
+
variant: "warning",
|
|
907
|
+
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "pointer-events-none shrink-0", compact && "h-5 px-[var(--spacing-system-xxs)]", className),
|
|
908
|
+
labelClassName: compact ? "text-badge" : void 0,
|
|
909
|
+
...rest
|
|
910
|
+
}
|
|
911
|
+
);
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
// src/components/navigation/navigation-sidebar-item.tsx
|
|
915
|
+
|
|
897
916
|
var NavigationSidebarItemButton = _react.memo.call(void 0, function NavigationSidebarItemButtonImpl({
|
|
898
917
|
item,
|
|
899
918
|
isActive,
|
|
@@ -904,6 +923,7 @@ var NavigationSidebarItemButton = _react.memo.call(void 0, function NavigationSi
|
|
|
904
923
|
}) {
|
|
905
924
|
const unreadCount = _nullishCoalesce(item.unreadCount, () => ( 0));
|
|
906
925
|
const hasUnread = unreadCount > 0;
|
|
926
|
+
const name = item.badge ? `${item.label} (${item.badge})` : item.label;
|
|
907
927
|
const className = _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
908
928
|
// `isolate` scopes the hover layer's negative z-index to this row, so it
|
|
909
929
|
// paints over the row's own background and under its content instead of
|
|
@@ -944,25 +964,28 @@ var NavigationSidebarItemButton = _react.memo.call(void 0, function NavigationSi
|
|
|
944
964
|
_react.cloneElement.call(void 0, item.icon, {
|
|
945
965
|
color: isActive && !disabled ? "text-ods-accent" : "text-ods-text-secondary"
|
|
946
966
|
}),
|
|
947
|
-
hasUnread && !showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
967
|
+
hasUnread && !showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXVSA4565cjs.UnreadDot, { size: "fixed" })
|
|
948
968
|
] }),
|
|
949
|
-
/* @__PURE__ */ _jsxruntime.
|
|
969
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
950
970
|
"span",
|
|
951
971
|
{
|
|
952
972
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
953
|
-
"flex-1
|
|
973
|
+
"flex min-w-0 flex-1 items-center overflow-hidden text-left transition-[opacity,margin-left] duration-300",
|
|
954
974
|
showLabel ? "ml-[var(--spacing-system-xs)] opacity-100" : "ml-0 opacity-0"
|
|
955
975
|
),
|
|
956
976
|
"aria-hidden": !showLabel,
|
|
957
|
-
children:
|
|
977
|
+
children: [
|
|
978
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate text-h4", children: item.label }),
|
|
979
|
+
item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NavigationItemBadge, { label: item.badge, className: "ml-[var(--spacing-system-xs)] shrink-0" })
|
|
980
|
+
]
|
|
958
981
|
}
|
|
959
982
|
),
|
|
960
983
|
hasUnread && showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex size-6 flex-shrink-0 items-center justify-center rounded-md bg-ods-accent p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-on-accent text-h5", children: unreadCount > 99 ? "99+" : unreadCount }) })
|
|
961
984
|
] });
|
|
962
985
|
const shared = {
|
|
963
986
|
className,
|
|
964
|
-
title: !showLabel ?
|
|
965
|
-
"aria-label":
|
|
987
|
+
title: !showLabel ? name : void 0,
|
|
988
|
+
"aria-label": name,
|
|
966
989
|
"aria-current": isActive ? "page" : void 0
|
|
967
990
|
};
|
|
968
991
|
if (disabled || !item.path || item.onClick) {
|
|
@@ -1035,14 +1058,14 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
1035
1058
|
const isMdUp = _nullishCoalesce(_chunkTLLJIGTPcjs.useMdUp.call(void 0, ), () => ( false));
|
|
1036
1059
|
const isLgUp = _nullishCoalesce(_chunkTLLJIGTPcjs.useLgUp.call(void 0, ), () => ( false));
|
|
1037
1060
|
const isTablet = isMdUp && !isLgUp;
|
|
1038
|
-
const [desktopMinimized, setDesktopMinimized] =
|
|
1061
|
+
const [desktopMinimized, setDesktopMinimized] = _chunkWDE7ETA5cjs.useLocalStorage.call(void 0, STORAGE_KEY, _nullishCoalesce(config.minimized, () => ( false)));
|
|
1039
1062
|
const [tabletMinimized, setTabletMinimized] = _react.useState.call(void 0, true);
|
|
1040
1063
|
const [tabletFor, setTabletFor] = _react.useState.call(void 0, isTablet);
|
|
1041
1064
|
if (tabletFor !== isTablet) {
|
|
1042
1065
|
setTabletFor(isTablet);
|
|
1043
1066
|
if (isTablet) setTabletMinimized(true);
|
|
1044
1067
|
}
|
|
1045
|
-
const hydrated =
|
|
1068
|
+
const hydrated = _chunkBSETJKSWcjs.useIsHydrated.call(void 0, );
|
|
1046
1069
|
const minimized = hydrated ? isTablet ? tabletMinimized : desktopMinimized : _nullishCoalesce(config.minimized, () => ( false));
|
|
1047
1070
|
const [transitionsEnabled, setTransitionsEnabled] = _react.useState.call(void 0, false);
|
|
1048
1071
|
const isOverlayOpen = isTablet && !minimized;
|
|
@@ -1224,7 +1247,7 @@ function HeaderGlobalSearch({
|
|
|
1224
1247
|
"form",
|
|
1225
1248
|
{
|
|
1226
1249
|
onSubmit: handleSubmit,
|
|
1227
|
-
...
|
|
1250
|
+
..._chunkXVSA4565cjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
|
|
1228
1251
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
1229
1252
|
"flex h-full flex-1 items-center gap-2 px-3",
|
|
1230
1253
|
// Transparent so the cell inherits the bar's background
|
|
@@ -1289,7 +1312,7 @@ function HeaderMingoButton({ isActive = false, iconOnly = false, className, ...p
|
|
|
1289
1312
|
// Outer frame follows the button's text color (currentColor); the eyes
|
|
1290
1313
|
// and corner block are ODS cyan.
|
|
1291
1314
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1292
|
-
|
|
1315
|
+
_chunkBASKR3Z4cjs.MingoIcon,
|
|
1293
1316
|
{
|
|
1294
1317
|
color: "currentColor",
|
|
1295
1318
|
eyesColor: "var(--ods-flamingo-cyan-base)",
|
|
@@ -1411,7 +1434,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
|
|
|
1411
1434
|
leading: (
|
|
1412
1435
|
// Mobile: Burger Menu Button
|
|
1413
1436
|
!isMdUp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1414
|
-
|
|
1437
|
+
_chunkXVSA4565cjs.HeaderButton,
|
|
1415
1438
|
{
|
|
1416
1439
|
onClick: onToggleMobileMenu,
|
|
1417
1440
|
isActive: isMobileMenuOpen,
|
|
@@ -1431,13 +1454,13 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
|
|
|
1431
1454
|
lowerPathColor: "var(--color-accent-primary)"
|
|
1432
1455
|
}
|
|
1433
1456
|
),
|
|
1434
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1457
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBASKR3Z4cjs.OpenFrameText, { textColor: "var(--color-text-primary)", className: "h-4" })
|
|
1435
1458
|
] }),
|
|
1436
1459
|
logoClassName: "gap-2",
|
|
1437
1460
|
center: showSearch ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderGlobalSearch, { onSubmit: onSearch, className: _chunkX7CEWD6Vcjs.cn.call(void 0, "w-full", dimmedClass) }) : void 0,
|
|
1438
1461
|
sideActions: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
1439
1462
|
showSearch && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1440
|
-
|
|
1463
|
+
_chunkXVSA4565cjs.HeaderButton,
|
|
1441
1464
|
{
|
|
1442
1465
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "h-6 w-6" }),
|
|
1443
1466
|
"aria-label": "Search",
|
|
@@ -1454,7 +1477,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
|
|
|
1454
1477
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "hidden lg:flex", dimmedClass)
|
|
1455
1478
|
}
|
|
1456
1479
|
),
|
|
1457
|
-
showTimeTracker && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1480
|
+
showTimeTracker && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXVSA4565cjs.TimeTrackerHeaderButton, { disabled, className: _chunkX7CEWD6Vcjs.cn.call(void 0, cellDivider, dimmedClass) }),
|
|
1458
1481
|
showNotifications && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1459
1482
|
NotificationsHeaderButton,
|
|
1460
1483
|
{
|
|
@@ -1474,7 +1497,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
|
|
|
1474
1497
|
),
|
|
1475
1498
|
isMdUp && showUser && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkGSD62VAYcjs.DropdownMenu, { children: [
|
|
1476
1499
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSD62VAYcjs.DropdownMenuTrigger, { asChild: true, disabled, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1477
|
-
|
|
1500
|
+
_chunkXVSA4565cjs.HeaderButton,
|
|
1478
1501
|
{
|
|
1479
1502
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1480
1503
|
_chunkODB2AEUWcjs.SquareAvatar,
|
|
@@ -1523,7 +1546,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
|
|
|
1523
1546
|
onClick: onProfile,
|
|
1524
1547
|
className: "cursor-pointer rounded-none border-b border-ods-border bg-ods-card px-3 py-3 hover:bg-ods-card/80 focus:bg-ods-card/80",
|
|
1525
1548
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
1526
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1549
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBASKR3Z4cjs.UserIcon, { className: "h-6 w-6 shrink-0 text-ods-text-primary" }),
|
|
1527
1550
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: "Profile Settings" })
|
|
1528
1551
|
] })
|
|
1529
1552
|
}
|
|
@@ -1534,7 +1557,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
|
|
|
1534
1557
|
onClick: onLogout,
|
|
1535
1558
|
className: "cursor-pointer rounded-none bg-ods-card px-3 py-3 hover:bg-ods-card/80 focus:bg-ods-card/80",
|
|
1536
1559
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
1537
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1560
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBASKR3Z4cjs.LogOutIcon, { className: "shrink-0 text-ods-error", size: 24 }),
|
|
1538
1561
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: "Log Out" })
|
|
1539
1562
|
] })
|
|
1540
1563
|
}
|
|
@@ -1558,12 +1581,12 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
|
|
|
1558
1581
|
);
|
|
1559
1582
|
});
|
|
1560
1583
|
function NotificationsHeaderButton({ fallbackUnreadCount, disabled, dimmedClass }) {
|
|
1561
|
-
const ctx =
|
|
1584
|
+
const ctx = _chunkXVSA4565cjs.useOptionalNotifications.call(void 0, );
|
|
1562
1585
|
const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _94 => _94.unreadCount]), () => ( fallbackUnreadCount))) > 0;
|
|
1563
1586
|
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _95 => _95.isOpen]), () => ( false));
|
|
1564
1587
|
const onClick = _optionalChain([ctx, 'optionalAccess', _96 => _96.toggle]);
|
|
1565
1588
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1566
|
-
|
|
1589
|
+
_chunkXVSA4565cjs.HeaderButton,
|
|
1567
1590
|
{
|
|
1568
1591
|
icon: isActive ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYRTMAXLEcjs.XmarkIcon, { className: "h-6 w-6" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYRTMAXLEcjs.BellIcon, { className: "h-6 w-6" }),
|
|
1569
1592
|
showUnreadDot: !isActive && hasUnread,
|
|
@@ -1641,7 +1664,7 @@ var MobileBurgerMenu = _react2.default.memo(function MobileBurgerMenuImpl({
|
|
|
1641
1664
|
}) {
|
|
1642
1665
|
const panelRef = _react.useRef.call(void 0, null);
|
|
1643
1666
|
_overlays.usePreventScroll.call(void 0, { isDisabled: !isOpen });
|
|
1644
|
-
|
|
1667
|
+
_chunkWDE7ETA5cjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: onClose });
|
|
1645
1668
|
const handleItemClick = _react.useCallback.call(void 0,
|
|
1646
1669
|
(item) => {
|
|
1647
1670
|
if (item.onClick) {
|
|
@@ -1675,21 +1698,25 @@ var MobileBurgerMenu = _react2.default.memo(function MobileBurgerMenuImpl({
|
|
|
1675
1698
|
disabled && "cursor-not-allowed opacity-50"
|
|
1676
1699
|
),
|
|
1677
1700
|
"aria-current": isActive ? "page" : void 0,
|
|
1701
|
+
"aria-label": item.badge ? `${item.label} (${item.badge})` : void 0,
|
|
1678
1702
|
children: [
|
|
1679
1703
|
item.icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-4 flex-shrink-0 items-center justify-center", children: _react2.default.cloneElement(item.icon, {
|
|
1680
1704
|
size: 16,
|
|
1681
1705
|
color: isActive && !disabled ? "var(--color-accent-primary)" : "var(--color-text-secondary)"
|
|
1682
1706
|
}) }),
|
|
1683
|
-
/* @__PURE__ */ _jsxruntime.
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1707
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
1708
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1709
|
+
"span",
|
|
1710
|
+
{
|
|
1711
|
+
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
1712
|
+
"min-w-0 truncate text-left text-h6",
|
|
1713
|
+
isActive && !disabled ? "text-ods-accent" : "text-ods-text-primary"
|
|
1714
|
+
),
|
|
1715
|
+
children: item.label
|
|
1716
|
+
}
|
|
1717
|
+
),
|
|
1718
|
+
item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NavigationItemBadge, { compact: true, label: item.badge })
|
|
1719
|
+
] })
|
|
1693
1720
|
]
|
|
1694
1721
|
},
|
|
1695
1722
|
item.id
|
|
@@ -1702,7 +1729,7 @@ var MobileBurgerMenu = _react2.default.memo(function MobileBurgerMenuImpl({
|
|
|
1702
1729
|
{
|
|
1703
1730
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
1704
1731
|
"absolute inset-0 z-[100] md:hidden",
|
|
1705
|
-
|
|
1732
|
+
_chunkBSETJKSWcjs.OVERLAY_BACKDROP_CLASS,
|
|
1706
1733
|
"transition-all duration-300 motion-reduce:transition-none",
|
|
1707
1734
|
isOpen ? "opacity-100" : "pointer-events-none opacity-0"
|
|
1708
1735
|
),
|
|
@@ -1837,7 +1864,7 @@ function AppLayout({
|
|
|
1837
1864
|
}),
|
|
1838
1865
|
[]
|
|
1839
1866
|
);
|
|
1840
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1867
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXVSA4565cjs.AppLayoutDrawerContainerContext.Provider, { value: drawerContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXVSA4565cjs.AppLayoutDrawerCoordinationContext.Provider, { value: drawerCoordination, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex h-screen flex-col bg-ods-bg", className), children: [
|
|
1841
1868
|
topBar,
|
|
1842
1869
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex min-h-0 flex-1", children: [
|
|
1843
1870
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, NavigationSidebar, { config: sidebarConfig, disabled }),
|
|
@@ -1861,7 +1888,7 @@ function AppLayout({
|
|
|
1861
1888
|
disabled
|
|
1862
1889
|
}
|
|
1863
1890
|
),
|
|
1864
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1891
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXVSA4565cjs.NotificationDrawer, {}),
|
|
1865
1892
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: setDrawerContainer, className: "relative flex flex-1 flex-col overflow-hidden", children: [
|
|
1866
1893
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "main", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex-1 overflow-y-auto", mainClassName), children }),
|
|
1867
1894
|
drawer
|
|
@@ -1889,5 +1916,6 @@ function AppLayout({
|
|
|
1889
1916
|
|
|
1890
1917
|
|
|
1891
1918
|
|
|
1892
|
-
|
|
1893
|
-
|
|
1919
|
+
|
|
1920
|
+
exports.MingoAiButton = MingoAiButton; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.TicketAlertsButton = TicketAlertsButton; exports.TopNavigation = TopNavigation; exports.Header = Header; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.NavigationItemBadge = NavigationItemBadge; exports.NAVIGATION_SIDEBAR_WIDTH_VAR = NAVIGATION_SIDEBAR_WIDTH_VAR; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout;
|
|
1921
|
+
//# sourceMappingURL=chunk-67FVIC5H.cjs.map
|