@flamingo-stack/openframe-frontend-core 0.0.587-1973.5528.1 → 0.0.587-2000.5532.1
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/chat-protocol/events.d.ts +2 -8
- package/dist/chat-protocol/events.d.ts.map +1 -1
- package/dist/chat-protocol/index.cjs +0 -188
- package/dist/chat-protocol/index.cjs.map +1 -1
- package/dist/chat-protocol/index.js +0 -188
- package/dist/chat-protocol/index.js.map +1 -1
- package/dist/chat-protocol/nats-decoder.d.ts.map +1 -1
- package/dist/{chunk-5VCDP6UA.cjs → chunk-3FHWLQDG.cjs} +10 -10
- package/dist/{chunk-5VCDP6UA.cjs.map → chunk-3FHWLQDG.cjs.map} +1 -1
- package/dist/{chunk-RE3KVI2Q.js → chunk-3PDTGDOA.js} +5 -5
- package/dist/{chunk-5X7AJ67N.js → chunk-436G4DI4.js} +3 -3
- package/dist/{chunk-BLC4JOFC.cjs → chunk-4IIFSFJ3.cjs} +15 -15
- package/dist/{chunk-BLC4JOFC.cjs.map → chunk-4IIFSFJ3.cjs.map} +1 -1
- package/dist/{chunk-JR37UTA2.cjs → chunk-5O5JMGEN.cjs} +33 -33
- package/dist/{chunk-JR37UTA2.cjs.map → chunk-5O5JMGEN.cjs.map} +1 -1
- package/dist/{chunk-7A6J4JTW.js → chunk-6BFEJXMI.js} +3 -3
- package/dist/{chunk-S2UY2C4A.cjs → chunk-7WIKOL25.cjs} +10 -10
- package/dist/{chunk-S2UY2C4A.cjs.map → chunk-7WIKOL25.cjs.map} +1 -1
- package/dist/{chunk-DVMQV3M4.cjs → chunk-A5PXHMCJ.cjs} +69 -69
- package/dist/{chunk-DVMQV3M4.cjs.map → chunk-A5PXHMCJ.cjs.map} +1 -1
- package/dist/{chunk-RQ5PYSRJ.js → chunk-BLJEPNMJ.js} +4 -4
- package/dist/{chunk-4MVGFYRE.js → chunk-D7YISHXC.js} +190 -534
- package/dist/chunk-D7YISHXC.js.map +1 -0
- package/dist/{chunk-4S7GMJYA.cjs → chunk-DMQMRFGS.cjs} +21 -21
- package/dist/{chunk-4S7GMJYA.cjs.map → chunk-DMQMRFGS.cjs.map} +1 -1
- package/dist/{chunk-AIUIIGO3.cjs → chunk-DTQCZ6AR.cjs} +24 -24
- package/dist/{chunk-AIUIIGO3.cjs.map → chunk-DTQCZ6AR.cjs.map} +1 -1
- package/dist/{chunk-QKAUBYU5.cjs → chunk-E7NFHRLX.cjs} +3 -3
- package/dist/{chunk-QKAUBYU5.cjs.map → chunk-E7NFHRLX.cjs.map} +1 -1
- package/dist/{chunk-WFWWQO2I.js → chunk-F3YRPKUA.js} +2 -2
- package/dist/{chunk-EKKR5ZFB.cjs → chunk-G45RGWHF.cjs} +543 -887
- package/dist/chunk-G45RGWHF.cjs.map +1 -0
- package/dist/{chunk-ZRFSUCAH.js → chunk-HCWZP44O.js} +5 -3
- package/dist/{chunk-ZRFSUCAH.js.map → chunk-HCWZP44O.js.map} +1 -1
- package/dist/{chunk-NEI7XMCM.cjs → chunk-IGBNEPTD.cjs} +9 -9
- package/dist/{chunk-NEI7XMCM.cjs.map → chunk-IGBNEPTD.cjs.map} +1 -1
- package/dist/{chunk-3UJMZADA.cjs → chunk-KQ5JQVYL.cjs} +43 -43
- package/dist/{chunk-3UJMZADA.cjs.map → chunk-KQ5JQVYL.cjs.map} +1 -1
- package/dist/{chunk-FDWGO244.js → chunk-LODCKZ72.js} +2 -2
- package/dist/{chunk-ULOMJH7C.cjs → chunk-MF7TMFVB.cjs} +5 -5
- package/dist/{chunk-ULOMJH7C.cjs.map → chunk-MF7TMFVB.cjs.map} +1 -1
- package/dist/{chunk-DSXD77KX.cjs → chunk-MXCWOMNT.cjs} +3 -3
- package/dist/{chunk-DSXD77KX.cjs.map → chunk-MXCWOMNT.cjs.map} +1 -1
- package/dist/{chunk-E2QFZDCP.js → chunk-OKD7MX7Y.js} +5 -5
- package/dist/{chunk-OW3FUJ2I.js → chunk-P24OI2CD.js} +3 -3
- package/dist/{chunk-QSO24MEK.js → chunk-R2U2D7LU.js} +2 -2
- package/dist/{chunk-KQWI25NP.js → chunk-SI57FQZ2.js} +2 -2
- package/dist/{chunk-JQO47UHC.js → chunk-SVR75PFW.js} +5 -5
- package/dist/{chunk-UYHETUX3.cjs → chunk-UBSIENYF.cjs} +162 -160
- package/dist/chunk-UBSIENYF.cjs.map +1 -0
- package/dist/{chunk-OZRT3ZI3.js → chunk-V4WUSOGS.js} +3 -3
- package/dist/{chunk-UODM3HJC.js → chunk-VWNU2PFX.js} +3 -3
- package/dist/{chunk-SCVIBVFS.cjs → chunk-WQXWH7LF.cjs} +4 -4
- package/dist/{chunk-SCVIBVFS.cjs.map → chunk-WQXWH7LF.cjs.map} +1 -1
- package/dist/{chunk-7COFWOCJ.cjs → chunk-XNEPABUD.cjs} +22 -22
- package/dist/{chunk-7COFWOCJ.cjs.map → chunk-XNEPABUD.cjs.map} +1 -1
- package/dist/{chunk-QYDIVL4X.js → chunk-YB5DFQKD.js} +6 -6
- package/dist/components/case-studies/index.cjs +9 -9
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
- package/dist/components/chat/chat-message-list.d.ts.map +1 -1
- package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts +1 -4
- package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-slash-commands.d.ts +3 -3
- package/dist/components/chat/hooks/use-slash-commands.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts +28 -2
- package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +1 -1
- package/dist/components/chat/remark-strip-citations.d.ts.map +1 -1
- package/dist/components/chat/stream/chat-stream-reducer.d.ts.map +1 -1
- package/dist/components/chat/tool-execution-display.d.ts.map +1 -1
- package/dist/components/chat/types/component.types.d.ts +0 -4
- package/dist/components/chat/types/component.types.d.ts.map +1 -1
- package/dist/components/chat/types/message.types.d.ts +1 -35
- package/dist/components/chat/types/message.types.d.ts.map +1 -1
- package/dist/components/chat/types/unified-chat-state.types.d.ts +3 -3
- package/dist/components/chat/types/unified-chat-state.types.d.ts.map +1 -1
- package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +4 -4
- package/dist/components/contact/index.js +3 -3
- package/dist/components/docs/index.cjs +7 -7
- package/dist/components/docs/index.js +6 -6
- package/dist/components/embeds/index.cjs +4 -4
- package/dist/components/embeds/index.js +3 -3
- package/dist/components/faq/index.cjs +4 -4
- package/dist/components/faq/index.js +3 -3
- package/dist/components/features/index.cjs +3 -3
- package/dist/components/features/index.js +2 -2
- package/dist/components/help-center-pages/index.cjs +23 -23
- package/dist/components/help-center-pages/index.js +14 -14
- package/dist/components/index.cjs +36 -36
- package/dist/components/index.js +13 -13
- package/dist/components/meeting-scheduler/index.cjs +21 -21
- package/dist/components/meeting-scheduler/index.js +2 -2
- package/dist/components/navigation/index.cjs +6 -6
- package/dist/components/navigation/index.js +5 -5
- package/dist/components/onboarding-guides/index.cjs +6 -6
- package/dist/components/onboarding-guides/index.js +5 -5
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/ui/data-table/use-data-table.d.ts.map +1 -1
- package/dist/components/ui/hover-dropdown.d.ts.map +1 -1
- package/dist/components/ui/index.cjs +3 -3
- package/dist/components/ui/index.js +2 -2
- package/dist/index.cjs +7 -7
- package/dist/index.js +6 -6
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -2
- package/src/chat-protocol/__tests__/nats-decoder-golden.test.ts +0 -130
- package/src/chat-protocol/events.ts +1 -9
- package/src/chat-protocol/nats-decoder.ts +0 -7
- package/src/components/chat/__tests__/chat-message-list.test.tsx +0 -70
- package/src/components/chat/__tests__/chat-message-streaming-memo.test.tsx +0 -86
- package/src/components/chat/chat-message-enhanced.tsx +13 -28
- package/src/components/chat/chat-message-list.tsx +22 -27
- package/src/components/chat/embeddable-chat.tsx +36 -55
- package/src/components/chat/entity-cards/dispatch.tsx +17 -86
- package/src/components/chat/hooks/use-nats-chat-adapter.ts +0 -7
- package/src/components/chat/hooks/use-slash-commands.ts +5 -9
- package/src/components/chat/hooks/use-sse-chat-adapter.ts +29 -2
- package/src/components/chat/remark-strip-citations.ts +3 -5
- package/src/components/chat/stream/__tests__/chat-stream-reducer.test.ts +0 -56
- package/src/components/chat/stream/chat-stream-reducer.ts +0 -31
- package/src/components/chat/tool-execution-display.tsx +2 -5
- package/src/components/chat/types/component.types.ts +0 -4
- package/src/components/chat/types/message.types.ts +0 -39
- package/src/components/chat/types/unified-chat-state.types.ts +3 -4
- package/src/components/chat/utils/__tests__/process-historical-messages-golden.test.ts +0 -57
- package/src/components/chat/utils/process-historical-messages.ts +1 -19
- package/src/components/ui/__tests__/data-table-compiler-identity.test.tsx +74 -0
- package/src/components/ui/data-table/use-data-table.ts +36 -1
- package/src/components/ui/hover-dropdown.tsx +3 -8
- package/dist/chat-protocol/source-metadata.d.ts +0 -5
- package/dist/chat-protocol/source-metadata.d.ts.map +0 -1
- package/dist/chunk-4MVGFYRE.js.map +0 -1
- package/dist/chunk-EKKR5ZFB.cjs.map +0 -1
- package/dist/chunk-UYHETUX3.cjs.map +0 -1
- package/dist/components/chat/utils/chat-source-metadata.d.ts +0 -5
- package/dist/components/chat/utils/chat-source-metadata.d.ts.map +0 -1
- package/src/chat-protocol/__tests__/source-metadata.test.ts +0 -74
- package/src/chat-protocol/source-metadata.ts +0 -202
- package/src/components/chat/__tests__/embeddable-chat-sources.test.tsx +0 -411
- package/src/components/chat/__tests__/remark-strip-citations.test.ts +0 -52
- package/src/components/chat/__tests__/tool-execution-display.test.tsx +0 -93
- package/src/components/chat/entity-cards/__tests__/dispatch-video-refs.test.tsx +0 -74
- package/src/components/chat/hooks/__tests__/use-slash-commands.test.ts +0 -64
- package/src/components/chat/utils/chat-source-metadata.ts +0 -19
- /package/dist/{chunk-RE3KVI2Q.js.map → chunk-3PDTGDOA.js.map} +0 -0
- /package/dist/{chunk-5X7AJ67N.js.map → chunk-436G4DI4.js.map} +0 -0
- /package/dist/{chunk-7A6J4JTW.js.map → chunk-6BFEJXMI.js.map} +0 -0
- /package/dist/{chunk-RQ5PYSRJ.js.map → chunk-BLJEPNMJ.js.map} +0 -0
- /package/dist/{chunk-WFWWQO2I.js.map → chunk-F3YRPKUA.js.map} +0 -0
- /package/dist/{chunk-FDWGO244.js.map → chunk-LODCKZ72.js.map} +0 -0
- /package/dist/{chunk-E2QFZDCP.js.map → chunk-OKD7MX7Y.js.map} +0 -0
- /package/dist/{chunk-OW3FUJ2I.js.map → chunk-P24OI2CD.js.map} +0 -0
- /package/dist/{chunk-QSO24MEK.js.map → chunk-R2U2D7LU.js.map} +0 -0
- /package/dist/{chunk-KQWI25NP.js.map → chunk-SI57FQZ2.js.map} +0 -0
- /package/dist/{chunk-JQO47UHC.js.map → chunk-SVR75PFW.js.map} +0 -0
- /package/dist/{chunk-OZRT3ZI3.js.map → chunk-V4WUSOGS.js.map} +0 -0
- /package/dist/{chunk-UODM3HJC.js.map → chunk-VWNU2PFX.js.map} +0 -0
- /package/dist/{chunk-QYDIVL4X.js.map → chunk-YB5DFQKD.js.map} +0 -0
|
@@ -90,7 +90,7 @@ var _chunkIKDC3R7Vcjs = require('./chunk-IKDC3R7V.cjs');
|
|
|
90
90
|
|
|
91
91
|
|
|
92
92
|
|
|
93
|
-
var
|
|
93
|
+
var _chunkG45RGWHFcjs = require('./chunk-G45RGWHF.cjs');
|
|
94
94
|
|
|
95
95
|
|
|
96
96
|
|
|
@@ -335,7 +335,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
335
335
|
var useTheme = _nextthemes.useTheme;
|
|
336
336
|
function useThemeToggle() {
|
|
337
337
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
338
|
-
const mounted =
|
|
338
|
+
const mounted = _chunkG45RGWHFcjs.useIsHydrated.call(void 0, );
|
|
339
339
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
340
340
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
341
341
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -612,7 +612,7 @@ function TruncateText({
|
|
|
612
612
|
const { ref, isTruncated } = _chunkZI27ALYXcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
|
|
613
613
|
const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
|
|
614
614
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
615
|
-
|
|
615
|
+
_chunkG45RGWHFcjs.FloatingTooltip,
|
|
616
616
|
{
|
|
617
617
|
content: _nullishCoalesce(tooltip, () => ( children)),
|
|
618
618
|
side,
|
|
@@ -914,7 +914,7 @@ function AutocompleteInner(props, ref) {
|
|
|
914
914
|
),
|
|
915
915
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2", children: [
|
|
916
916
|
multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
917
|
-
|
|
917
|
+
_chunkG45RGWHFcjs.Tag,
|
|
918
918
|
{
|
|
919
919
|
variant: "outline",
|
|
920
920
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -1120,7 +1120,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1120
1120
|
"aria-hidden": "true",
|
|
1121
1121
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
1122
1122
|
children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1123
|
-
|
|
1123
|
+
_chunkG45RGWHFcjs.Tag,
|
|
1124
1124
|
{
|
|
1125
1125
|
variant: "outline",
|
|
1126
1126
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -2504,7 +2504,7 @@ function InfoHint({ children, label, side = "top", className }) {
|
|
|
2504
2504
|
const describedById = _react.useId.call(void 0, );
|
|
2505
2505
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
|
|
2506
2506
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2507
|
-
|
|
2507
|
+
_chunkG45RGWHFcjs.FloatingTooltip,
|
|
2508
2508
|
{
|
|
2509
2509
|
content: children,
|
|
2510
2510
|
side,
|
|
@@ -2598,7 +2598,7 @@ function Value2({ value, depth }) {
|
|
|
2598
2598
|
}
|
|
2599
2599
|
if (typeof value === "string") {
|
|
2600
2600
|
if (ISO_DATE.test(value)) {
|
|
2601
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children:
|
|
2601
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkG45RGWHFcjs.formatRelativeTime.call(void 0, value) });
|
|
2602
2602
|
}
|
|
2603
2603
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
|
|
2604
2604
|
}
|
|
@@ -3230,7 +3230,7 @@ function RowValue({ value }) {
|
|
|
3230
3230
|
}
|
|
3231
3231
|
case "status": {
|
|
3232
3232
|
const { type: _type, ...props } = value;
|
|
3233
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3233
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TicketStatusTag, { ...props });
|
|
3234
3234
|
}
|
|
3235
3235
|
case "custom":
|
|
3236
3236
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
|
|
@@ -4141,7 +4141,7 @@ function TagsManager({
|
|
|
4141
4141
|
}
|
|
4142
4142
|
),
|
|
4143
4143
|
selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4144
|
-
|
|
4144
|
+
_chunkG45RGWHFcjs.Tag,
|
|
4145
4145
|
{
|
|
4146
4146
|
label: tag.name,
|
|
4147
4147
|
variant: "outline",
|
|
@@ -4686,10 +4686,10 @@ function useConfirm() {
|
|
|
4686
4686
|
},
|
|
4687
4687
|
[]
|
|
4688
4688
|
);
|
|
4689
|
-
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4690
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4691
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4692
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4689
|
+
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
|
|
4690
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTitle, { children: pending.title }) }),
|
|
4691
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
|
|
4692
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.ModalFooter, { children: [
|
|
4693
4693
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
|
|
4694
4694
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
|
|
4695
4695
|
] })
|
|
@@ -4747,9 +4747,9 @@ function AdminFormModal({
|
|
|
4747
4747
|
body: "Your edits have not been saved. Close and discard them?"
|
|
4748
4748
|
});
|
|
4749
4749
|
if (!isOpen) return null;
|
|
4750
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4751
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4752
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4750
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
|
|
4751
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.ModalHeader, { children: [
|
|
4752
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTitle, { children: title }),
|
|
4753
4753
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
|
|
4754
4754
|
] }),
|
|
4755
4755
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -4773,7 +4773,7 @@ function AdminFormModal({
|
|
|
4773
4773
|
// a shrink-to-fit flex item pinned to the left of a 1400px panel).
|
|
4774
4774
|
// The placeholder owns its own layout and mirrors the column count so
|
|
4775
4775
|
// the modal doesn't visibly re-flow when the entity lands.
|
|
4776
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4776
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4777
4777
|
"div",
|
|
4778
4778
|
{
|
|
4779
4779
|
"aria-busy": "true",
|
|
@@ -4794,12 +4794,12 @@ function AdminFormModal({
|
|
|
4794
4794
|
]
|
|
4795
4795
|
}
|
|
4796
4796
|
) })
|
|
4797
|
-
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4797
|
+
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalContent, { className: contentClassName, children }),
|
|
4798
4798
|
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
|
|
4799
4799
|
]
|
|
4800
4800
|
}
|
|
4801
4801
|
),
|
|
4802
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4802
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
|
|
4803
4803
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
|
|
4804
4804
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
4805
4805
|
footerStatus,
|
|
@@ -6897,7 +6897,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
|
|
|
6897
6897
|
};
|
|
6898
6898
|
const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
|
|
6899
6899
|
const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6900
|
-
|
|
6900
|
+
_chunkG45RGWHFcjs.Video,
|
|
6901
6901
|
{
|
|
6902
6902
|
url: item.src,
|
|
6903
6903
|
poster: item.poster ? displayImageSrc(item.poster) : void 0,
|
|
@@ -7621,7 +7621,7 @@ function buildRichEmbedOverrides({
|
|
|
7621
7621
|
ogEndpointPath,
|
|
7622
7622
|
textSizes
|
|
7623
7623
|
}) {
|
|
7624
|
-
const standard =
|
|
7624
|
+
const standard = _chunkG45RGWHFcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7625
7625
|
return {
|
|
7626
7626
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7627
7627
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7631,7 +7631,7 @@ function buildRichEmbedOverrides({
|
|
|
7631
7631
|
const language = match ? match[1] : "";
|
|
7632
7632
|
const fenceText = () => String(children).replace(/\n$/, "").trim();
|
|
7633
7633
|
if (language === "youtube-embed") {
|
|
7634
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7634
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "youtube", url: fenceText() });
|
|
7635
7635
|
}
|
|
7636
7636
|
if (language === "reddit-embed") {
|
|
7637
7637
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
|
|
@@ -7672,7 +7672,7 @@ function buildRichEmbedOverrides({
|
|
|
7672
7672
|
"data-figma-url": figmaUrl
|
|
7673
7673
|
} = divProps;
|
|
7674
7674
|
if (className === "youtube-embed" && videoId) {
|
|
7675
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7675
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "youtube", url: videoId });
|
|
7676
7676
|
}
|
|
7677
7677
|
if (className === "reddit-embed" && postUrl) {
|
|
7678
7678
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
|
|
@@ -7757,14 +7757,14 @@ function buildRichEmbedOverrides({
|
|
|
7757
7757
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7758
7758
|
// elsewhere). Guard against empty `![]()`.
|
|
7759
7759
|
img: ({ src, alt }) => {
|
|
7760
|
-
if (!
|
|
7760
|
+
if (!_chunkG45RGWHFcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7761
7761
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7762
7762
|
},
|
|
7763
7763
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
7764
7764
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
7765
7765
|
video: ({ src, poster, className }) => {
|
|
7766
|
-
if (!
|
|
7767
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `overflow-hidden ${className || "my-8 w-full rounded-lg"}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7766
|
+
if (!_chunkG45RGWHFcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7767
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `overflow-hidden ${className || "my-8 w-full rounded-lg"}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
7768
7768
|
}
|
|
7769
7769
|
};
|
|
7770
7770
|
}
|
|
@@ -7947,13 +7947,13 @@ var RichMarkdownInner = ({
|
|
|
7947
7947
|
},
|
|
7948
7948
|
[resolveLinkEndpointUrl, resolveSource]
|
|
7949
7949
|
);
|
|
7950
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
7950
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunkG45RGWHFcjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
7951
7951
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
7952
7952
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
7953
7953
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
7954
7954
|
);
|
|
7955
7955
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7956
|
-
|
|
7956
|
+
_chunkG45RGWHFcjs.MarkdownEngine,
|
|
7957
7957
|
{
|
|
7958
7958
|
content,
|
|
7959
7959
|
className,
|
|
@@ -7975,7 +7975,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
7975
7975
|
className = "",
|
|
7976
7976
|
sectionIds,
|
|
7977
7977
|
onInternalLinkClick,
|
|
7978
|
-
brokenLinks =
|
|
7978
|
+
brokenLinks = _chunkG45RGWHFcjs.NO_BROKEN_LINKS,
|
|
7979
7979
|
currentPath,
|
|
7980
7980
|
resolveSource = "openframe-docs",
|
|
7981
7981
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -8548,7 +8548,7 @@ function FilterModal({
|
|
|
8548
8548
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _161 => _161.defaultSort]), () => ( "desc"));
|
|
8549
8549
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _162 => _162.sort]), () => ( dateDefaultSort)));
|
|
8550
8550
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _163 => _163.range]));
|
|
8551
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
8551
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkG45RGWHFcjs.useScrollFade.call(void 0, );
|
|
8552
8552
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
8553
8553
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
8554
8554
|
_react.useEffect.call(void 0, () => {
|
|
@@ -8593,10 +8593,10 @@ function FilterModal({
|
|
|
8593
8593
|
const hasFilterGroups = filterGroups.length > 0;
|
|
8594
8594
|
const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
|
|
8595
8595
|
const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
|
|
8596
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8597
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8596
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Modal, { isOpen, onClose, className: _chunkPRPZBXWZcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
|
|
8597
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTitle, { children: title }) }),
|
|
8598
8598
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8599
|
-
|
|
8599
|
+
_chunkG45RGWHFcjs.ModalContent,
|
|
8600
8600
|
{
|
|
8601
8601
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
8602
8602
|
"flex min-h-0 flex-1 flex-col",
|
|
@@ -8688,12 +8688,12 @@ function FilterModal({
|
|
|
8688
8688
|
] })
|
|
8689
8689
|
}
|
|
8690
8690
|
),
|
|
8691
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8692
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8691
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
8692
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
8693
8693
|
] })
|
|
8694
8694
|
}
|
|
8695
8695
|
),
|
|
8696
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8696
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.ModalFooter, { children: [
|
|
8697
8697
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
|
|
8698
8698
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
|
|
8699
8699
|
] })
|
|
@@ -8737,9 +8737,9 @@ function actionToMenuItems(action, idx) {
|
|
|
8737
8737
|
function renderActionButton(action, opts = {}) {
|
|
8738
8738
|
const button = renderRawActionButton(action, opts);
|
|
8739
8739
|
if (!action.tooltip) return button;
|
|
8740
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8741
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8742
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8740
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Tooltip, { children: [
|
|
8741
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipTrigger, { asChild: true, children: button }),
|
|
8742
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipContent, { children: action.tooltip })
|
|
8743
8743
|
] }) });
|
|
8744
8744
|
}
|
|
8745
8745
|
function renderRawActionButton(action, opts = {}) {
|
|
@@ -8763,7 +8763,7 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
8763
8763
|
}
|
|
8764
8764
|
if (action.submenu && action.submenu.length > 0) {
|
|
8765
8765
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8766
|
-
|
|
8766
|
+
_chunkG45RGWHFcjs.ActionsMenuDropdown,
|
|
8767
8767
|
{
|
|
8768
8768
|
groups: [{ items: action.submenu }],
|
|
8769
8769
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -8898,10 +8898,10 @@ function IconButtonsVariant({
|
|
|
8898
8898
|
selector,
|
|
8899
8899
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8900
8900
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
|
|
8901
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8901
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ActionsMenuDropdown, { groups: menuActions })
|
|
8902
8902
|
] })
|
|
8903
8903
|
] }),
|
|
8904
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex md:hidden", className), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileTriggerSkeleton, {}) : useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8904
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex md:hidden", className), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileTriggerSkeleton, {}) : useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
|
|
8905
8905
|
] });
|
|
8906
8906
|
}
|
|
8907
8907
|
function PrimaryButtonsVariant({
|
|
@@ -8939,7 +8939,7 @@ function MenuPrimaryVariant({
|
|
|
8939
8939
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
|
|
8940
8940
|
selector,
|
|
8941
8941
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8942
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8942
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ActionsMenuDropdown, { groups: menuActions }),
|
|
8943
8943
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
|
|
8944
8944
|
] })
|
|
8945
8945
|
] }),
|
|
@@ -8947,7 +8947,7 @@ function MenuPrimaryVariant({
|
|
|
8947
8947
|
// The selector rides into the menu as its header row: on mobile the
|
|
8948
8948
|
// title row has no room for it, and hiding it entirely (what
|
|
8949
8949
|
// `icon-buttons` does) would leave no way to switch views at all.
|
|
8950
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8950
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
|
|
8951
8951
|
) : null })
|
|
8952
8952
|
] });
|
|
8953
8953
|
}
|
|
@@ -9350,7 +9350,7 @@ function TitleBlock({
|
|
|
9350
9350
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
9351
9351
|
(loading || title) && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9352
9352
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9353
|
-
|
|
9353
|
+
_chunkG45RGWHFcjs.FloatingTooltip,
|
|
9354
9354
|
{
|
|
9355
9355
|
content: title,
|
|
9356
9356
|
side: "bottom",
|
|
@@ -9367,12 +9367,12 @@ function TitleBlock({
|
|
|
9367
9367
|
}
|
|
9368
9368
|
),
|
|
9369
9369
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9370
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9370
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
|
|
9371
9371
|
hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
|
|
9372
9372
|
empty `p` collapses to zero height (its only content would be
|
|
9373
9373
|
collapsible whitespace), which is exactly the shift that mode
|
|
9374
9374
|
exists to prevent. Hidden from AT — it carries no meaning. */
|
|
9375
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9375
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9376
9376
|
"p",
|
|
9377
9377
|
{
|
|
9378
9378
|
ref: subtitleRef,
|
|
@@ -9383,7 +9383,7 @@ function TitleBlock({
|
|
|
9383
9383
|
) })
|
|
9384
9384
|
] })
|
|
9385
9385
|
] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9386
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9386
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, titleClass, "min-w-0 text-ods-text-primary", titleOverflowClass), children: title }) }),
|
|
9387
9387
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9388
9388
|
] }) : (
|
|
9389
9389
|
/* This branch never had the single-line clamp, so text already
|
|
@@ -10997,7 +10997,7 @@ function extractSections(markdown, options = {}) {
|
|
|
10997
10997
|
if (heading.level > opts.maxLevel) continue;
|
|
10998
10998
|
let title = heading.text;
|
|
10999
10999
|
if (opts.stripFormattingMarkers) {
|
|
11000
|
-
title =
|
|
11000
|
+
title = _chunkG45RGWHFcjs.stripInlineMarkdown.call(void 0, title).trim();
|
|
11001
11001
|
}
|
|
11002
11002
|
const baseId = _chunkZI27ALYXcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkZI27ALYXcjs.stripHeadingEmojis.call(void 0, title) : title);
|
|
11003
11003
|
const cleanId = baseId || `section-${sections.length + 1}`;
|
|
@@ -11489,7 +11489,7 @@ function DashboardInfoCard({
|
|
|
11489
11489
|
const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
|
|
11490
11490
|
if (asTag) {
|
|
11491
11491
|
const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
|
|
11492
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11492
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
|
|
11493
11493
|
}
|
|
11494
11494
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
|
|
11495
11495
|
"(",
|
|
@@ -11543,7 +11543,7 @@ function DashboardInfoCard({
|
|
|
11543
11543
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "truncate text-ods-text-primary text-h3 md:text-h2", valueClassName), children: formattedValue }),
|
|
11544
11544
|
subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
|
|
11545
11545
|
renderPercentage(),
|
|
11546
|
-
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11546
|
+
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.FloatingTooltip, { content: tooltip, side: "top", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "cursor-help text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.QuestionCircleIcon, { size: 20 }) }) })
|
|
11547
11547
|
] })
|
|
11548
11548
|
] }),
|
|
11549
11549
|
renderProgress()
|
|
@@ -11726,7 +11726,7 @@ function DeviceCard({
|
|
|
11726
11726
|
] }),
|
|
11727
11727
|
(statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
|
|
11728
11728
|
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11729
|
-
|
|
11729
|
+
_chunkG45RGWHFcjs.Tag,
|
|
11730
11730
|
{
|
|
11731
11731
|
variant: statusTag.variant,
|
|
11732
11732
|
icon: statusTag.icon,
|
|
@@ -11740,7 +11740,7 @@ function DeviceCard({
|
|
|
11740
11740
|
formatLastSeen(device.lastSeen)
|
|
11741
11741
|
] })
|
|
11742
11742
|
] }),
|
|
11743
|
-
device.tags && device.tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-wrap items-center gap-2", children: device.tags.map((tag, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11743
|
+
device.tags && device.tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-wrap items-center gap-2", children: device.tags.map((tag, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: "outline", label: tag }, index)) })
|
|
11744
11744
|
]
|
|
11745
11745
|
}
|
|
11746
11746
|
);
|
|
@@ -11888,7 +11888,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
|
|
|
11888
11888
|
|
|
11889
11889
|
function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
|
|
11890
11890
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11891
|
-
|
|
11891
|
+
_chunkG45RGWHFcjs.FloatingTooltip,
|
|
11892
11892
|
{
|
|
11893
11893
|
as: "span",
|
|
11894
11894
|
side: "top",
|
|
@@ -12072,7 +12072,7 @@ function DropdownButton({
|
|
|
12072
12072
|
)
|
|
12073
12073
|
);
|
|
12074
12074
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12075
|
-
|
|
12075
|
+
_chunkG45RGWHFcjs.ActionsMenuDropdown,
|
|
12076
12076
|
{
|
|
12077
12077
|
groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
|
|
12078
12078
|
open,
|
|
@@ -12310,7 +12310,7 @@ function ServiceCardRowItem({ row }) {
|
|
|
12310
12310
|
),
|
|
12311
12311
|
children: [
|
|
12312
12312
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12313
|
-
|
|
12313
|
+
_chunkG45RGWHFcjs.FloatingTooltip,
|
|
12314
12314
|
{
|
|
12315
12315
|
content: row.value,
|
|
12316
12316
|
side: "top",
|
|
@@ -12436,9 +12436,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
12436
12436
|
return next;
|
|
12437
12437
|
});
|
|
12438
12438
|
};
|
|
12439
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12439
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Tooltip, { open, onOpenChange: setOpen, children: [
|
|
12440
12440
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12441
|
-
|
|
12441
|
+
_chunkG45RGWHFcjs.TooltipTrigger,
|
|
12442
12442
|
{
|
|
12443
12443
|
asChild: true,
|
|
12444
12444
|
onPointerDown: (e) => {
|
|
@@ -12456,7 +12456,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
12456
12456
|
children
|
|
12457
12457
|
}
|
|
12458
12458
|
),
|
|
12459
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12459
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipContent, { side, className: "max-w-xs", children: content })
|
|
12460
12460
|
] }) });
|
|
12461
12461
|
}
|
|
12462
12462
|
|
|
@@ -13471,9 +13471,9 @@ function TruncatedHeaderCell({ value, width }) {
|
|
|
13471
13471
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
13472
13472
|
}
|
|
13473
13473
|
}, []);
|
|
13474
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13475
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13476
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13474
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
13475
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center", style: { width, height: 48 }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: textRef, className: "truncate text-ods-text-secondary text-h5", children: value }) }) }),
|
|
13476
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
|
|
13477
13477
|
] }) });
|
|
13478
13478
|
}
|
|
13479
13479
|
|
|
@@ -13526,9 +13526,9 @@ function TruncatedCell({ value, className }) {
|
|
|
13526
13526
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
13527
13527
|
}
|
|
13528
13528
|
}, []);
|
|
13529
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13530
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13531
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13529
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
13530
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, "block truncate", className), children: value }) }),
|
|
13531
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
|
|
13532
13532
|
] }) });
|
|
13533
13533
|
}
|
|
13534
13534
|
|
|
@@ -14370,7 +14370,8 @@ function useDataTable({
|
|
|
14370
14370
|
getFilteredRowModel: getFilteredRowModelOverride,
|
|
14371
14371
|
...rest
|
|
14372
14372
|
}) {
|
|
14373
|
-
|
|
14373
|
+
"use no memo";
|
|
14374
|
+
const table = _reacttable.useReactTable.call(void 0, {
|
|
14374
14375
|
...rest,
|
|
14375
14376
|
getCoreRowModel: coreRowModelFactory,
|
|
14376
14377
|
getSortedRowModel: clientSideSorting ? _nullishCoalesce(getSortedRowModelOverride, () => ( sortedRowModelFactory)) : getSortedRowModelOverride,
|
|
@@ -14378,6 +14379,7 @@ function useDataTable({
|
|
|
14378
14379
|
manualSorting: _nullishCoalesce(manualSorting, () => ( !clientSideSorting)),
|
|
14379
14380
|
manualFiltering: _nullishCoalesce(manualFiltering, () => ( !clientSideFiltering))
|
|
14380
14381
|
});
|
|
14382
|
+
return new Proxy(table, {});
|
|
14381
14383
|
}
|
|
14382
14384
|
|
|
14383
14385
|
// src/components/ui/data-table/index.ts
|
|
@@ -14812,7 +14814,7 @@ function SearchInput({
|
|
|
14812
14814
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex-shrink-0 text-ods-text-secondary transition-colors duration-200 group-has-[:focus]:text-ods-accent [&_svg]:size-4 md:[&_svg]:size-6", children: startAdornment !== void 0 ? startAdornment : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}) }),
|
|
14813
14815
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
|
|
14814
14816
|
visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14815
|
-
|
|
14817
|
+
_chunkG45RGWHFcjs.Tag,
|
|
14816
14818
|
{
|
|
14817
14819
|
variant: chipVariantToTagVariant(chip.variant),
|
|
14818
14820
|
label: chip.label,
|
|
@@ -14926,7 +14928,7 @@ function SearchInput({
|
|
|
14926
14928
|
}
|
|
14927
14929
|
),
|
|
14928
14930
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: measureRef, "aria-hidden": "true", className: "pointer-events-none fixed -left-[9999px] top-0 flex gap-2", children: filterChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14929
|
-
|
|
14931
|
+
_chunkG45RGWHFcjs.Tag,
|
|
14930
14932
|
{
|
|
14931
14933
|
variant: chipVariantToTagVariant(chip.variant),
|
|
14932
14934
|
label: chip.label,
|
|
@@ -15139,7 +15141,7 @@ function TagSearchInput({
|
|
|
15139
15141
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center pl-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "size-4 text-ods-text-secondary md:size-6" }) }),
|
|
15140
15142
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2", children: [
|
|
15141
15143
|
visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15142
|
-
|
|
15144
|
+
_chunkG45RGWHFcjs.Tag,
|
|
15143
15145
|
{
|
|
15144
15146
|
variant: "outline",
|
|
15145
15147
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -15227,7 +15229,7 @@ function TagSearchInput({
|
|
|
15227
15229
|
"aria-hidden": "true",
|
|
15228
15230
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
15229
15231
|
children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15230
|
-
|
|
15232
|
+
_chunkG45RGWHFcjs.Tag,
|
|
15231
15233
|
{
|
|
15232
15234
|
variant: "outline",
|
|
15233
15235
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -16116,20 +16118,20 @@ function ColorPresetSelect({
|
|
|
16116
16118
|
...presets.map((p) => ({
|
|
16117
16119
|
id: p.key,
|
|
16118
16120
|
label: p.label,
|
|
16119
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16121
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color: p.color }),
|
|
16120
16122
|
onClick: () => onChange({ color: p.color, preset: p.key })
|
|
16121
16123
|
})),
|
|
16122
16124
|
{
|
|
16123
16125
|
id: CUSTOM_PRESET_KEY,
|
|
16124
16126
|
label: "Custom",
|
|
16125
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16127
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
|
|
16126
16128
|
onClick: () => onChange({ color: value, preset: void 0 })
|
|
16127
16129
|
}
|
|
16128
16130
|
]
|
|
16129
16131
|
}
|
|
16130
16132
|
];
|
|
16131
16133
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16132
|
-
|
|
16134
|
+
_chunkG45RGWHFcjs.ActionsMenuDropdown,
|
|
16133
16135
|
{
|
|
16134
16136
|
groups,
|
|
16135
16137
|
align: "start",
|
|
@@ -16139,7 +16141,7 @@ function ColorPresetSelect({
|
|
|
16139
16141
|
{
|
|
16140
16142
|
disabled,
|
|
16141
16143
|
"aria-label": `Color: ${displayLabel}`,
|
|
16142
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16144
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color: displayColor }),
|
|
16143
16145
|
selectedLabel: displayLabel,
|
|
16144
16146
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16145
16147
|
className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
|
|
@@ -16160,7 +16162,7 @@ function HexInputs({ value, onChange }) {
|
|
|
16160
16162
|
}
|
|
16161
16163
|
const commit = () => {
|
|
16162
16164
|
const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
|
|
16163
|
-
if (
|
|
16165
|
+
if (_chunkG45RGWHFcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
|
|
16164
16166
|
else setDraft(value);
|
|
16165
16167
|
};
|
|
16166
16168
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -16224,12 +16226,12 @@ function ChannelInput({
|
|
|
16224
16226
|
);
|
|
16225
16227
|
}
|
|
16226
16228
|
function RgbInputs({ value, onChange }) {
|
|
16227
|
-
const rgb = _nullishCoalesce(
|
|
16229
|
+
const rgb = _nullishCoalesce(_chunkG45RGWHFcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16228
16230
|
const update = (next) => {
|
|
16229
16231
|
const r = _nullishCoalesce(next.r, () => ( rgb.r));
|
|
16230
16232
|
const g = _nullishCoalesce(next.g, () => ( rgb.g));
|
|
16231
16233
|
const b = _nullishCoalesce(next.b, () => ( rgb.b));
|
|
16232
|
-
onChange(
|
|
16234
|
+
onChange(_chunkG45RGWHFcjs.rgbToHex.call(void 0, r, g, b));
|
|
16233
16235
|
};
|
|
16234
16236
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16235
16237
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
|
|
@@ -16238,14 +16240,14 @@ function RgbInputs({ value, onChange }) {
|
|
|
16238
16240
|
] });
|
|
16239
16241
|
}
|
|
16240
16242
|
function HslInputs({ value, onChange }) {
|
|
16241
|
-
const rgb = _nullishCoalesce(
|
|
16242
|
-
const hsl =
|
|
16243
|
+
const rgb = _nullishCoalesce(_chunkG45RGWHFcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16244
|
+
const hsl = _chunkG45RGWHFcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
|
|
16243
16245
|
const update = (next) => {
|
|
16244
16246
|
const h = _nullishCoalesce(next.h, () => ( hsl.h));
|
|
16245
16247
|
const s = _nullishCoalesce(next.s, () => ( hsl.s));
|
|
16246
16248
|
const l = _nullishCoalesce(next.l, () => ( hsl.l));
|
|
16247
|
-
const out =
|
|
16248
|
-
onChange(
|
|
16249
|
+
const out = _chunkG45RGWHFcjs.hslToRgb.call(void 0, h, s, l);
|
|
16250
|
+
onChange(_chunkG45RGWHFcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
|
|
16249
16251
|
};
|
|
16250
16252
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16251
16253
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
|
|
@@ -16271,7 +16273,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16271
16273
|
{
|
|
16272
16274
|
disabled,
|
|
16273
16275
|
"aria-label": "Pick custom color",
|
|
16274
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16276
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color: value }),
|
|
16275
16277
|
selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
|
|
16276
16278
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16277
16279
|
className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
|
|
@@ -16287,7 +16289,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16287
16289
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
|
|
16288
16290
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
16289
16291
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16290
|
-
|
|
16292
|
+
_chunkG45RGWHFcjs.ActionsMenuDropdown,
|
|
16291
16293
|
{
|
|
16292
16294
|
groups: formatGroups,
|
|
16293
16295
|
align: "start",
|
|
@@ -16344,7 +16346,7 @@ function TicketStatusConfigRow({
|
|
|
16344
16346
|
const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
|
|
16345
16347
|
const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
|
|
16346
16348
|
const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16347
|
-
|
|
16349
|
+
_chunkG45RGWHFcjs.TicketStatusTag,
|
|
16348
16350
|
{
|
|
16349
16351
|
status: statusKey,
|
|
16350
16352
|
label: name || " ",
|
|
@@ -16496,7 +16498,7 @@ function formatTestRunDuration(ms) {
|
|
|
16496
16498
|
var RESULT_COLUMN_MIN_WIDTH = 176;
|
|
16497
16499
|
var SKELETON_COLUMNS = 6;
|
|
16498
16500
|
function TestResultsSkeleton() {
|
|
16499
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16501
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
16500
16502
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)]", children: Array.from({ length: SKELETON_COLUMNS }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-[160px] shrink-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-3/4 animate-pulse rounded-sm bg-ods-bg-surface" }) }, `skeleton-header-${i}`)) }),
|
|
16501
16503
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "animate-pulse overflow-hidden rounded-[6px] border border-ods-border bg-ods-card", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[66px] items-center gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)] md:h-[78px]", children: Array.from({ length: SKELETON_COLUMNS }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-[160px] shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-3/4 rounded-sm bg-ods-bg-surface" }) }, `skeleton-cell-${i}`)) }) })
|
|
16502
16504
|
] }) });
|
|
@@ -16531,7 +16533,7 @@ function TestResultsTable({ rows, loading }) {
|
|
|
16531
16533
|
if (loading) {
|
|
16532
16534
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
16533
16535
|
}
|
|
16534
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16536
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { minWidth: Math.max(1, columnKeys.length) * RESULT_COLUMN_MIN_WIDTH }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DataTable, { table, children: [
|
|
16535
16537
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
16536
16538
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
16537
16539
|
] }) }) });
|
|
@@ -16591,7 +16593,7 @@ var TEST_RUN_STATUS_TAGS = {
|
|
|
16591
16593
|
function TestRunStatusStat({ status, className }) {
|
|
16592
16594
|
const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
|
|
16593
16595
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex min-w-0 flex-col items-start justify-center gap-[var(--spacing-system-xxs)]", className), children: [
|
|
16594
|
-
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16596
|
+
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { label: tag.label, variant: tag.variant, className: "pointer-events-none" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h4", children: "-" }),
|
|
16595
16597
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
|
|
16596
16598
|
] });
|
|
16597
16599
|
}
|
|
@@ -16634,7 +16636,7 @@ function useTestRunState(campaign) {
|
|
|
16634
16636
|
const firstError = isFinished && campaign.errors.length > 0 ? campaign.errors[0].error : null;
|
|
16635
16637
|
const status = isActive ? "running" : hasRun && isFinished ? firstError ? "error" : "success" : "idle";
|
|
16636
16638
|
const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
|
|
16637
|
-
const startedLabel = showTiming && campaign.startedAt ?
|
|
16639
|
+
const startedLabel = showTiming && campaign.startedAt ? _chunkG45RGWHFcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
|
|
16638
16640
|
const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
|
|
16639
16641
|
const displayRows = _react.useMemo.call(void 0,
|
|
16640
16642
|
() => campaign.results.map(
|
|
@@ -16972,7 +16974,7 @@ function TicketInfoSection({
|
|
|
16972
16974
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _391 => _391.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _392 => _392.icon]), onClick: _optionalChain([device, 'optionalAccess', _393 => _393.onClick]) }),
|
|
16973
16975
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
16974
16976
|
(status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16975
|
-
|
|
16977
|
+
_chunkG45RGWHFcjs.TicketStatusTag,
|
|
16976
16978
|
{
|
|
16977
16979
|
status: _nullishCoalesce(status, () => ( "")),
|
|
16978
16980
|
label: statusLabel,
|
|
@@ -17011,9 +17013,9 @@ function TicketInfoSection({
|
|
|
17011
17013
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
17012
17014
|
createdAt && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-2 items-center gap-4 border-b border-ods-border bg-ods-bg px-4 py-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: createdAt, label: "Created" }) }),
|
|
17013
17015
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
|
|
17014
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17016
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.SimpleMarkdownRenderer, { content: description }),
|
|
17015
17017
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
17016
|
-
tags && tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Tags", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-wrap gap-2", children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17018
|
+
tags && tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Tags", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-wrap gap-2", children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
|
|
17017
17019
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17018
17020
|
TicketNotesSection,
|
|
17019
17021
|
{
|
|
@@ -17036,7 +17038,7 @@ function renderTicketStatusOption(option, isSelected) {
|
|
|
17036
17038
|
const { label, color } = option;
|
|
17037
17039
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-[var(--spacing-system-xs)]", children: [
|
|
17038
17040
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
17039
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17041
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color }),
|
|
17040
17042
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
|
|
17041
17043
|
] }),
|
|
17042
17044
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -17081,9 +17083,9 @@ function TakeOverTicketModal({
|
|
|
17081
17083
|
if (!selectedStatusId || !assigneeId || isPending) return;
|
|
17082
17084
|
onConfirm({ statusId: selectedStatusId, assigneeId });
|
|
17083
17085
|
};
|
|
17084
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17086
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17085
17087
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17086
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17088
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTitle, { children: "Take Over Ticket" }) }),
|
|
17087
17089
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17088
17090
|
"The ticket ",
|
|
17089
17091
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17098,7 +17100,7 @@ function TakeOverTicketModal({
|
|
|
17098
17100
|
value: selectedStatusId,
|
|
17099
17101
|
onChange: setStatusId,
|
|
17100
17102
|
placeholder: "Select Status",
|
|
17101
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17103
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17102
17104
|
renderOption: renderTicketStatusOption
|
|
17103
17105
|
}
|
|
17104
17106
|
) }),
|
|
@@ -17125,7 +17127,7 @@ function TakeOverTicketModal({
|
|
|
17125
17127
|
}
|
|
17126
17128
|
) })
|
|
17127
17129
|
] }),
|
|
17128
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17130
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.ModalFooter, { children: [
|
|
17129
17131
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17130
17132
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17131
17133
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17184,9 +17186,9 @@ function ReopenTicketModal({
|
|
|
17184
17186
|
reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
|
|
17185
17187
|
});
|
|
17186
17188
|
};
|
|
17187
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17189
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17188
17190
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17189
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17191
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17190
17192
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17191
17193
|
"The ticket ",
|
|
17192
17194
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17201,7 +17203,7 @@ function ReopenTicketModal({
|
|
|
17201
17203
|
value: selectedStatusId,
|
|
17202
17204
|
onChange: setStatusId,
|
|
17203
17205
|
placeholder: "Select Status",
|
|
17204
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17206
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17205
17207
|
renderOption: renderTicketStatusOption
|
|
17206
17208
|
}
|
|
17207
17209
|
) }),
|
|
@@ -17239,7 +17241,7 @@ function ReopenTicketModal({
|
|
|
17239
17241
|
disabled: isPending
|
|
17240
17242
|
}
|
|
17241
17243
|
) }),
|
|
17242
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17244
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.ModalFooter, { children: [
|
|
17243
17245
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17244
17246
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17245
17247
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17287,9 +17289,9 @@ function ReopenTicketRequestModal({
|
|
|
17287
17289
|
...showHandoffOption ? { handoffToTechnician: handoff } : {}
|
|
17288
17290
|
});
|
|
17289
17291
|
};
|
|
17290
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17292
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17291
17293
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17292
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17294
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17293
17295
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: "This ticket will be reopened and the AI assistant will continue helping you." }),
|
|
17294
17296
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17295
17297
|
Textarea,
|
|
@@ -17313,7 +17315,7 @@ function ReopenTicketRequestModal({
|
|
|
17313
17315
|
disabled: isPending
|
|
17314
17316
|
}
|
|
17315
17317
|
),
|
|
17316
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17318
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.ModalFooter, { children: [
|
|
17317
17319
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
|
|
17318
17320
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
|
|
17319
17321
|
] })
|
|
@@ -19432,7 +19434,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
|
|
|
19432
19434
|
sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
|
|
19433
19435
|
title: config.title,
|
|
19434
19436
|
loading: "eager",
|
|
19435
|
-
...
|
|
19437
|
+
..._chunkG45RGWHFcjs.fetchPriorityProp.call(void 0, "high")
|
|
19436
19438
|
},
|
|
19437
19439
|
iframeKey
|
|
19438
19440
|
),
|
|
@@ -20282,7 +20284,7 @@ function MediaGalleryManager({
|
|
|
20282
20284
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: _chunkEMF64FWAcjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? (
|
|
20283
20285
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
20284
20286
|
// fit="cover" crops to the aspect-video cell.
|
|
20285
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20287
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
|
|
20286
20288
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20287
20289
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
20288
20290
|
{
|
|
@@ -22533,9 +22535,9 @@ function PushButtonSelector({
|
|
|
22533
22535
|
option.id
|
|
22534
22536
|
);
|
|
22535
22537
|
if (option.disabled && option.disabledReason) {
|
|
22536
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22537
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22538
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22538
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Tooltip, { children: [
|
|
22539
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipTrigger, { asChild: true, children: optionEl }),
|
|
22540
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
|
|
22539
22541
|
] }, option.id);
|
|
22540
22542
|
}
|
|
22541
22543
|
return optionEl;
|
|
@@ -22580,7 +22582,7 @@ function PushButtonSelector({
|
|
|
22580
22582
|
lazyLoad.isFetchingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "py-2 text-center text-ods-text-secondary text-h6", children: "Loading more\u2026" }) : null
|
|
22581
22583
|
] }) : null
|
|
22582
22584
|
] });
|
|
22583
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22585
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
|
|
22584
22586
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
22585
22587
|
searchInput,
|
|
22586
22588
|
lazyLoad ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22753,7 +22755,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
|
|
|
22753
22755
|
item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children: _chunkEMF64FWAcjs.isVideoMedia.call(void 0, item) || item.media_type === "demo" ? (
|
|
22754
22756
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
22755
22757
|
// fit="cover" crops to the aspect-video cell.
|
|
22756
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22758
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
22757
22759
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22758
22760
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
22759
22761
|
{
|
|
@@ -22886,7 +22888,7 @@ var SelectButton = _react2.default.forwardRef(
|
|
|
22886
22888
|
}
|
|
22887
22889
|
)
|
|
22888
22890
|
] }),
|
|
22889
|
-
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22891
|
+
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
|
|
22890
22892
|
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
|
|
22891
22893
|
]
|
|
22892
22894
|
}
|
|
@@ -23672,7 +23674,7 @@ function VideoBitesDisplay({
|
|
|
23672
23674
|
filterPublished = true,
|
|
23673
23675
|
showTitle = true
|
|
23674
23676
|
}) {
|
|
23675
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23677
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
23676
23678
|
}
|
|
23677
23679
|
|
|
23678
23680
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -23741,7 +23743,7 @@ function WalkthroughVideo({
|
|
|
23741
23743
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
23742
23744
|
};
|
|
23743
23745
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
|
|
23744
|
-
const hydrated =
|
|
23746
|
+
const hydrated = _chunkG45RGWHFcjs.useIsHydrated.call(void 0, );
|
|
23745
23747
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
23746
23748
|
if (!hydrated) return false;
|
|
23747
23749
|
try {
|
|
@@ -24138,7 +24140,7 @@ function WalkthroughVideo({
|
|
|
24138
24140
|
},
|
|
24139
24141
|
children: [
|
|
24140
24142
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24141
|
-
|
|
24143
|
+
_chunkG45RGWHFcjs.VideoHoverPreviewSurface,
|
|
24142
24144
|
{
|
|
24143
24145
|
url: video.mainVideoUrl || "",
|
|
24144
24146
|
posterUrl: video.posterUrl,
|
|
@@ -24161,7 +24163,7 @@ function WalkthroughVideo({
|
|
|
24161
24163
|
`card-${embedUrlKey}`
|
|
24162
24164
|
) }),
|
|
24163
24165
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24164
|
-
|
|
24166
|
+
_chunkG45RGWHFcjs.CardHitLayer,
|
|
24165
24167
|
{
|
|
24166
24168
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
24167
24169
|
onPointerDown: pausePreviewNow,
|
|
@@ -24170,7 +24172,7 @@ function WalkthroughVideo({
|
|
|
24170
24172
|
}
|
|
24171
24173
|
),
|
|
24172
24174
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "pointer-events-none absolute bottom-[var(--spacing-system-xsf)] left-[var(--spacing-system-xsf)] z-20 flex max-w-[calc(100%-2*var(--spacing-system-xsf))] items-center gap-[var(--spacing-system-xsf)] rounded-full bg-ods-overlay py-[var(--spacing-system-xxs)] pl-[var(--spacing-system-xxs)] pr-[var(--spacing-system-sf)] text-ods-text-primary text-h6", children: [
|
|
24173
|
-
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEMF64FWAcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24175
|
+
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEMF64FWAcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
|
|
24174
24176
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
|
|
24175
24177
|
] }),
|
|
24176
24178
|
showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -24183,7 +24185,7 @@ function WalkthroughVideo({
|
|
|
24183
24185
|
onPointerDown: (e) => e.stopPropagation(),
|
|
24184
24186
|
onClick: onUnmuteOrPlay,
|
|
24185
24187
|
className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
|
|
24186
|
-
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24188
|
+
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.VideoUnmuteGlyph, {})
|
|
24187
24189
|
}
|
|
24188
24190
|
),
|
|
24189
24191
|
showPlaybackControls && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "absolute left-[var(--spacing-system-xsf)] top-[var(--spacing-system-xsf)] z-30 flex items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -24276,7 +24278,7 @@ function WalkthroughVideo({
|
|
|
24276
24278
|
children: [
|
|
24277
24279
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
24278
24280
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24279
|
-
|
|
24281
|
+
_chunkG45RGWHFcjs.Video,
|
|
24280
24282
|
{
|
|
24281
24283
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
24282
24284
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -24327,7 +24329,7 @@ function InlineWalkthroughVideo(props) {
|
|
|
24327
24329
|
var _reactquery = require('@tanstack/react-query');
|
|
24328
24330
|
function useWalkthroughVideo(opts) {
|
|
24329
24331
|
const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
|
|
24330
|
-
const captions =
|
|
24332
|
+
const captions = _chunkG45RGWHFcjs.useCaptions.call(void 0, );
|
|
24331
24333
|
const query = _reactquery.useQuery.call(void 0, {
|
|
24332
24334
|
queryKey: ["walkthrough-video", endpoint],
|
|
24333
24335
|
enabled,
|
|
@@ -24525,7 +24527,7 @@ function VideoSourceSelector({
|
|
|
24525
24527
|
}
|
|
24526
24528
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
24527
24529
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
|
|
24528
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24530
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "file", url: videoUrl }) }),
|
|
24529
24531
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24530
24532
|
"button",
|
|
24531
24533
|
{
|
|
@@ -25049,7 +25051,7 @@ function HighlightVideoSection({
|
|
|
25049
25051
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
25050
25052
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
25051
25053
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
|
|
25052
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25054
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
|
|
25053
25055
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25054
25056
|
"button",
|
|
25055
25057
|
{
|
|
@@ -25785,7 +25787,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
|
25785
25787
|
] });
|
|
25786
25788
|
};
|
|
25787
25789
|
var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
|
|
25788
|
-
const { innerRef, containerStyle } =
|
|
25790
|
+
const { innerRef, containerStyle } = _chunkG45RGWHFcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
|
|
25789
25791
|
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
25790
25792
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
25791
25793
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -25953,7 +25955,7 @@ function WaitlistForm({
|
|
|
25953
25955
|
const { toast } = _chunkLEISUAHFcjs.useToast.call(void 0, );
|
|
25954
25956
|
const { honeypotInputProps, getSignals, resetSignals } = _chunkLEISUAHFcjs.useHumanitySignals.call(void 0, );
|
|
25955
25957
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
25956
|
-
const isClient =
|
|
25958
|
+
const isClient = _chunkG45RGWHFcjs.useIsHydrated.call(void 0, );
|
|
25957
25959
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
25958
25960
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
25959
25961
|
const isMailDomainGeneric = hasGenericEmailDomain(email);
|
|
@@ -26757,7 +26759,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
26757
26759
|
"data-state": open ? "open" : "closed",
|
|
26758
26760
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
26759
26761
|
"absolute inset-0 z-[102] outline-none data-[state=closed]:pointer-events-none data-[state=open]:pointer-events-auto data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
26760
|
-
|
|
26762
|
+
_chunkG45RGWHFcjs.OVERLAY_BACKDROP_CLASS,
|
|
26761
26763
|
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
26762
26764
|
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
26763
26765
|
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
@@ -26833,11 +26835,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
26833
26835
|
}
|
|
26834
26836
|
);
|
|
26835
26837
|
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
26836
|
-
var AppLayoutDrawerHeader =
|
|
26837
|
-
var AppLayoutDrawerTitle =
|
|
26838
|
-
var AppLayoutDrawerDescription =
|
|
26839
|
-
var AppLayoutDrawerBody =
|
|
26840
|
-
var AppLayoutDrawerFooter =
|
|
26838
|
+
var AppLayoutDrawerHeader = _chunkG45RGWHFcjs.DrawerHeader;
|
|
26839
|
+
var AppLayoutDrawerTitle = _chunkG45RGWHFcjs.DrawerTitle;
|
|
26840
|
+
var AppLayoutDrawerDescription = _chunkG45RGWHFcjs.DrawerDescription;
|
|
26841
|
+
var AppLayoutDrawerBody = _chunkG45RGWHFcjs.DrawerBody;
|
|
26842
|
+
var AppLayoutDrawerFooter = _chunkG45RGWHFcjs.DrawerFooter;
|
|
26841
26843
|
|
|
26842
26844
|
// src/components/features/notifications/notification-tile.tsx
|
|
26843
26845
|
|
|
@@ -26925,7 +26927,7 @@ function NotificationTile({
|
|
|
26925
26927
|
}
|
|
26926
26928
|
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkLEISUAHFcjs.dotColorByVariant[accentVariant]) }))) }),
|
|
26927
26929
|
type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "min-w-0 flex-1 truncate text-h5", typeColorByVariant[accentVariant]), title: type, children: type }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1" }),
|
|
26928
|
-
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children:
|
|
26930
|
+
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkG45RGWHFcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
|
|
26929
26931
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
|
|
26930
26932
|
{
|
|
26931
26933
|
active: isLive,
|
|
@@ -27022,7 +27024,7 @@ function NotificationDrawer({
|
|
|
27022
27024
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
27023
27025
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
27024
27026
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-m)] pt-[var(--spacing-system-m)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27025
|
-
|
|
27027
|
+
_chunkG45RGWHFcjs.DrawerTitle,
|
|
27026
27028
|
{
|
|
27027
27029
|
hideClose: true,
|
|
27028
27030
|
className: "truncate",
|
|
@@ -27081,8 +27083,8 @@ function NotificationDrawer({
|
|
|
27081
27083
|
}
|
|
27082
27084
|
) });
|
|
27083
27085
|
}
|
|
27084
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27085
|
-
|
|
27086
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27087
|
+
_chunkG45RGWHFcjs.DrawerContent,
|
|
27086
27088
|
{
|
|
27087
27089
|
side: "right",
|
|
27088
27090
|
"aria-describedby": void 0,
|
|
@@ -27357,13 +27359,13 @@ function getApprovalMeta(notification) {
|
|
|
27357
27359
|
function resolutionToStatus(resolution) {
|
|
27358
27360
|
switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
|
|
27359
27361
|
case "APPROVED":
|
|
27360
|
-
return
|
|
27362
|
+
return _chunkG45RGWHFcjs.APPROVAL_STATUS.APPROVED;
|
|
27361
27363
|
case "REJECTED":
|
|
27362
|
-
return
|
|
27364
|
+
return _chunkG45RGWHFcjs.APPROVAL_STATUS.REJECTED;
|
|
27363
27365
|
case "CANCELLED":
|
|
27364
|
-
return
|
|
27366
|
+
return _chunkG45RGWHFcjs.APPROVAL_STATUS.CANCELLED;
|
|
27365
27367
|
default:
|
|
27366
|
-
return
|
|
27368
|
+
return _chunkG45RGWHFcjs.APPROVAL_STATUS.PENDING;
|
|
27367
27369
|
}
|
|
27368
27370
|
}
|
|
27369
27371
|
function approvalMetaToBatchData(approval) {
|
|
@@ -27403,7 +27405,7 @@ function ApprovalRequestNotificationTile({
|
|
|
27403
27405
|
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _581 => _581.resolution]));
|
|
27404
27406
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
27405
27407
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
27406
|
-
const { innerRef, containerStyle } =
|
|
27408
|
+
const { innerRef, containerStyle } = _chunkG45RGWHFcjs.useCollapsible.call(void 0, { expanded });
|
|
27407
27409
|
if (!approval || !batchData) return null;
|
|
27408
27410
|
const tileNotification = {
|
|
27409
27411
|
...notification,
|
|
@@ -27456,7 +27458,7 @@ function ApprovalRequestNotificationTile({
|
|
|
27456
27458
|
}
|
|
27457
27459
|
)
|
|
27458
27460
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
27459
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27461
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ApprovalStatusTag, { status }),
|
|
27460
27462
|
approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
27461
27463
|
"by ",
|
|
27462
27464
|
approval.resolvedByName
|
|
@@ -27474,12 +27476,12 @@ function ApprovalRequestNotificationTile({
|
|
|
27474
27476
|
"aria-expanded": expanded,
|
|
27475
27477
|
"aria-label": toggleLabel,
|
|
27476
27478
|
className: "ml-auto w-6 shrink-0 px-0 md:w-8",
|
|
27477
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27479
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.ExpandChevron, { expanded })
|
|
27478
27480
|
}
|
|
27479
27481
|
)
|
|
27480
27482
|
] }),
|
|
27481
27483
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-t border-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27482
|
-
|
|
27484
|
+
_chunkG45RGWHFcjs.ApprovalBatchMessage,
|
|
27483
27485
|
{
|
|
27484
27486
|
data: batchData,
|
|
27485
27487
|
showExecutionStatus: false,
|
|
@@ -27810,7 +27812,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
|
|
|
27810
27812
|
function StatusTag({ status }) {
|
|
27811
27813
|
if (status === "tracking") {
|
|
27812
27814
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27813
|
-
|
|
27815
|
+
_chunkG45RGWHFcjs.Tag,
|
|
27814
27816
|
{
|
|
27815
27817
|
variant: "success",
|
|
27816
27818
|
className: STATUS_TAG_SKIN,
|
|
@@ -27820,9 +27822,9 @@ function StatusTag({ status }) {
|
|
|
27820
27822
|
);
|
|
27821
27823
|
}
|
|
27822
27824
|
if (status === "paused") {
|
|
27823
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27825
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
|
|
27824
27826
|
}
|
|
27825
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27827
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
|
|
27826
27828
|
}
|
|
27827
27829
|
function LastEntryRow({ entry, onClick }) {
|
|
27828
27830
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-m)] border-b border-ods-border bg-ods-bg px-[var(--spacing-system-m)] py-[var(--spacing-system-sf)] last:border-b-0", children: [
|
|
@@ -27991,7 +27993,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
27991
27993
|
"data-state": isOpen ? "open" : "closed",
|
|
27992
27994
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
27993
27995
|
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
27994
|
-
|
|
27996
|
+
_chunkG45RGWHFcjs.OVERLAY_BACKDROP_CLASS,
|
|
27995
27997
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
27996
27998
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
27997
27999
|
)
|
|
@@ -28145,7 +28147,7 @@ function BoardColumnHeader({
|
|
|
28145
28147
|
}) {
|
|
28146
28148
|
const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
|
|
28147
28149
|
const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
|
|
28148
|
-
const useStatusVariant =
|
|
28150
|
+
const useStatusVariant = _chunkG45RGWHFcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
|
|
28149
28151
|
const actionClass = "h-8 w-8 p-0 md:h-8 md:w-8";
|
|
28150
28152
|
if (collapsed) {
|
|
28151
28153
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
@@ -28161,7 +28163,7 @@ function BoardColumnHeader({
|
|
|
28161
28163
|
}
|
|
28162
28164
|
),
|
|
28163
28165
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28164
|
-
|
|
28166
|
+
_chunkG45RGWHFcjs.TicketStatusTag,
|
|
28165
28167
|
{
|
|
28166
28168
|
status: tagStatus,
|
|
28167
28169
|
label: column.label,
|
|
@@ -28174,7 +28176,7 @@ function BoardColumnHeader({
|
|
|
28174
28176
|
}
|
|
28175
28177
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
28176
28178
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
28177
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28179
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
|
|
28178
28180
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
|
|
28179
28181
|
] }),
|
|
28180
28182
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -28325,7 +28327,7 @@ function holdMoveDragEffect(element) {
|
|
|
28325
28327
|
|
|
28326
28328
|
function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
28327
28329
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
28328
|
-
const { innerRef, containerStyle } =
|
|
28330
|
+
const { innerRef, containerStyle } = _chunkG45RGWHFcjs.useCollapsible.call(void 0, { expanded });
|
|
28329
28331
|
const isAdmin = pendingApproval.approvalType === "ADMIN";
|
|
28330
28332
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
|
|
28331
28333
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -28354,7 +28356,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
|
28354
28356
|
}
|
|
28355
28357
|
),
|
|
28356
28358
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, className: "pt-[var(--spacing-system-xs)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28357
|
-
|
|
28359
|
+
_chunkG45RGWHFcjs.ApprovalBatchMessage,
|
|
28358
28360
|
{
|
|
28359
28361
|
className: "mb-0",
|
|
28360
28362
|
data: {
|
|
@@ -28426,7 +28428,7 @@ var ACTIVITY_DEFAULT_LABEL = {
|
|
|
28426
28428
|
var TICKET_CARD_SHELL = "relative flex flex-col gap-[var(--spacing-system-sf)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-sf)] select-none text-left";
|
|
28427
28429
|
function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
|
|
28428
28430
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
28429
|
-
const newMessageTextColor = columnColor ?
|
|
28431
|
+
const newMessageTextColor = columnColor ? _chunkG45RGWHFcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
|
|
28430
28432
|
const showDeviceRow = !!(_optionalChain([ticket, 'access', _617 => _617.deviceHostnames, 'optionalAccess', _618 => _618.length]) || ticket.organizationName);
|
|
28431
28433
|
const deviceText = [_optionalChain([ticket, 'access', _619 => _619.deviceHostnames, 'optionalAccess', _620 => _620.join, 'call', _621 => _621(", ")]), ticket.organizationName].filter(Boolean).join(", ");
|
|
28432
28434
|
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _622 => _622.assignees, 'optionalAccess', _623 => _623.length]) || renderAssignSlot);
|
|
@@ -28465,8 +28467,8 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28465
28467
|
] })
|
|
28466
28468
|
] }) : null
|
|
28467
28469
|
] }) : null;
|
|
28468
|
-
const timestampLabel = ticket.createdAt ?
|
|
28469
|
-
const tooltipLabel = ticket.createdAt ?
|
|
28470
|
+
const timestampLabel = ticket.createdAt ? _chunkG45RGWHFcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
|
|
28471
|
+
const tooltipLabel = ticket.createdAt ? _chunkG45RGWHFcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
|
|
28470
28472
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
28471
28473
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
|
|
28472
28474
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-zero)]", title: ticket.title, children: [
|
|
@@ -28479,9 +28481,9 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28479
28481
|
rightSection
|
|
28480
28482
|
] }),
|
|
28481
28483
|
_optionalChain([ticket, 'access', _626 => _626.tags, 'optionalAccess', _627 => _627.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
28482
|
-
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28483
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28484
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28484
|
+
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkG45RGWHFcjs.Tooltip, { children: [
|
|
28485
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
|
|
28486
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.TooltipContent, { children: tooltipLabel })
|
|
28485
28487
|
] }) }),
|
|
28486
28488
|
ticket.escalatedByUser && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xxs)] text-ods-open-yellow text-h6", children: [
|
|
28487
28489
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
|
|
@@ -28501,7 +28503,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28501
28503
|
}
|
|
28502
28504
|
),
|
|
28503
28505
|
showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28504
|
-
|
|
28506
|
+
_chunkG45RGWHFcjs.Tag,
|
|
28505
28507
|
{
|
|
28506
28508
|
label: "New Message",
|
|
28507
28509
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
|
|
@@ -28716,8 +28718,8 @@ function TicketTagRow({ tags }) {
|
|
|
28716
28718
|
const visible = tags.slice(0, MAX_VISIBLE_TAGS);
|
|
28717
28719
|
const hidden = tags.length - visible.length;
|
|
28718
28720
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
|
|
28719
|
-
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28720
|
-
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28721
|
+
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: "outline", label: tag }, tag)),
|
|
28722
|
+
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG45RGWHFcjs.Tag, { variant: "outline", label: `+${hidden}` })
|
|
28721
28723
|
] });
|
|
28722
28724
|
}
|
|
28723
28725
|
|
|
@@ -30377,4 +30379,4 @@ function SortableRow({
|
|
|
30377
30379
|
|
|
30378
30380
|
|
|
30379
30381
|
exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.TruncateText = TruncateText; exports.Autocomplete = Autocomplete; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePickerCalendar = DatePickerCalendar; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.InfoHint = InfoHint; exports.Field = Field; exports.HoneypotField = HoneypotField; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.DeletedUserAvatar = DeletedUserAvatar; exports.SearchableSelect = SearchableSelect; exports.AssigneeDropdown = AssigneeDropdown; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoDataMessage = NoDataMessage; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.AdminFormModal = AdminFormModal; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.FullscreenSwitchController = FullscreenSwitchController; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.StatusIndicator = StatusIndicator; exports.BackButton = BackButton; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.SourceTooltip = SourceTooltip; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TitleContentBlock = TitleContentBlock; exports.TouchFriendlyTooltip = TouchFriendlyTooltip; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.PasswordInput = PasswordInput; exports.AccountDetailsFields = AccountDetailsFields; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.LabeledDivider = LabeledDivider; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.AppLayoutDrawerContainerContext = AppLayoutDrawerContainerContext; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerCoordinationContext = AppLayoutDrawerCoordinationContext; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableList = SortableList; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.COMPACT_ROW_MIN_HEIGHT_PX = COMPACT_ROW_MIN_HEIGHT_PX; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.DataTableEmpty = DataTableEmpty; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount;
|
|
30380
|
-
//# sourceMappingURL=chunk-
|
|
30382
|
+
//# sourceMappingURL=chunk-UBSIENYF.cjs.map
|