@flamingo-stack/openframe-frontend-core 0.0.584-1973.5461.1 → 0.0.584
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-U7MJV2V7.cjs → chunk-33DHEEMP.cjs} +33 -33
- package/dist/{chunk-U7MJV2V7.cjs.map → chunk-33DHEEMP.cjs.map} +1 -1
- package/dist/{chunk-23VBGHBL.js → chunk-3ELW4VML.js} +2 -2
- package/dist/{chunk-7KBKLN2Z.cjs → chunk-3ZA2OYRE.cjs} +3 -3
- package/dist/{chunk-7KBKLN2Z.cjs.map → chunk-3ZA2OYRE.cjs.map} +1 -1
- package/dist/{chunk-73XDYWYG.js → chunk-4T5KOD3G.js} +5 -5
- package/dist/{chunk-MI6PPL3P.js → chunk-5CJKZHWO.js} +5 -5
- package/dist/{chunk-E7Q24T4G.js → chunk-6BJYPG2V.js} +3 -3
- package/dist/{chunk-YXNMLGFI.cjs → chunk-7X5TCK4R.cjs} +10 -10
- package/dist/{chunk-YXNMLGFI.cjs.map → chunk-7X5TCK4R.cjs.map} +1 -1
- package/dist/{chunk-7DEGEI7G.js → chunk-EJKEDCTH.js} +6 -6
- package/dist/{chunk-XIV5VDWL.cjs → chunk-HCKEDTKJ.cjs} +10 -10
- package/dist/{chunk-XIV5VDWL.cjs.map → chunk-HCKEDTKJ.cjs.map} +1 -1
- package/dist/{chunk-EQGAYDTC.cjs → chunk-IIT5HWLY.cjs} +9 -9
- package/dist/{chunk-EQGAYDTC.cjs.map → chunk-IIT5HWLY.cjs.map} +1 -1
- package/dist/{chunk-7SMYBCYH.cjs → chunk-IKUSKKFZ.cjs} +540 -883
- package/dist/chunk-IKUSKKFZ.cjs.map +1 -0
- package/dist/{chunk-JKYALZB7.cjs → chunk-JAJQ5P2Q.cjs} +22 -22
- package/dist/{chunk-JKYALZB7.cjs.map → chunk-JAJQ5P2Q.cjs.map} +1 -1
- package/dist/{chunk-WAXL3E3B.cjs → chunk-JFKK3ZOA.cjs} +43 -43
- package/dist/{chunk-WAXL3E3B.cjs.map → chunk-JFKK3ZOA.cjs.map} +1 -1
- package/dist/{chunk-AWAHYAII.js → chunk-JVWRMLQZ.js} +2 -2
- package/dist/{chunk-PZ27ELFP.cjs → chunk-JWKAJTNA.cjs} +43 -33
- package/dist/chunk-JWKAJTNA.cjs.map +1 -0
- package/dist/{chunk-PISJGXXI.js → chunk-KP6VJP36.js} +3 -3
- package/dist/{chunk-NSDZAUJK.js → chunk-LNKULR4V.js} +2 -2
- package/dist/{chunk-AFQB4YL7.cjs → chunk-MEJFHD5N.cjs} +15 -15
- package/dist/{chunk-AFQB4YL7.cjs.map → chunk-MEJFHD5N.cjs.map} +1 -1
- package/dist/{chunk-5VHCSN44.js → chunk-MYEG5ZDT.js} +2 -2
- package/dist/{chunk-MMA3MTJD.cjs → chunk-P2VRLSAP.cjs} +21 -21
- package/dist/{chunk-MMA3MTJD.cjs.map → chunk-P2VRLSAP.cjs.map} +1 -1
- package/dist/{chunk-7Q34BVL7.cjs → chunk-Q66AMADB.cjs} +4 -4
- package/dist/{chunk-7Q34BVL7.cjs.map → chunk-Q66AMADB.cjs.map} +1 -1
- package/dist/{chunk-4ARYZTGV.cjs → chunk-QJR32JM2.cjs} +159 -159
- package/dist/{chunk-4ARYZTGV.cjs.map → chunk-QJR32JM2.cjs.map} +1 -1
- package/dist/{chunk-M4IIK3B7.js → chunk-RURZ6QLN.js} +3 -3
- package/dist/{chunk-TCEU6DCF.js → chunk-TLKHLGAB.js} +3 -3
- package/dist/{chunk-JCWUJHOD.js → chunk-TOUD3AGK.js} +23 -13
- package/dist/chunk-TOUD3AGK.js.map +1 -0
- package/dist/{chunk-CHI7GJ3K.cjs → chunk-UCNEQKIT.cjs} +5 -5
- package/dist/{chunk-CHI7GJ3K.cjs.map → chunk-UCNEQKIT.cjs.map} +1 -1
- package/dist/{chunk-ZRGBLM6W.cjs → chunk-VOAZU46B.cjs} +69 -69
- package/dist/{chunk-ZRGBLM6W.cjs.map → chunk-VOAZU46B.cjs.map} +1 -1
- package/dist/{chunk-GYJVLFK5.js → chunk-VZSTL5VG.js} +2 -2
- package/dist/{chunk-3CAC3AAE.js → chunk-XPJKQ63S.js} +3 -3
- package/dist/{chunk-KSC5LNSY.js → chunk-XWBND4G5.js} +187 -530
- package/dist/chunk-XWBND4G5.js.map +1 -0
- package/dist/{chunk-22DWXIV3.js → chunk-YFZDIEVC.js} +5 -5
- package/dist/{chunk-7J7XDGY6.cjs → chunk-ZHUBNWEX.cjs} +3 -3
- package/dist/{chunk-7J7XDGY6.cjs.map → chunk-ZHUBNWEX.cjs.map} +1 -1
- 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/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/navigation/navigation-sidebar-item.d.ts.map +1 -1
- 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/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 -1
- 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/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/navigation/navigation-sidebar-item.tsx +19 -9
- 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-7SMYBCYH.cjs.map +0 -1
- package/dist/chunk-JCWUJHOD.js.map +0 -1
- package/dist/chunk-KSC5LNSY.js.map +0 -1
- package/dist/chunk-PZ27ELFP.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__/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-23VBGHBL.js.map → chunk-3ELW4VML.js.map} +0 -0
- /package/dist/{chunk-73XDYWYG.js.map → chunk-4T5KOD3G.js.map} +0 -0
- /package/dist/{chunk-MI6PPL3P.js.map → chunk-5CJKZHWO.js.map} +0 -0
- /package/dist/{chunk-E7Q24T4G.js.map → chunk-6BJYPG2V.js.map} +0 -0
- /package/dist/{chunk-7DEGEI7G.js.map → chunk-EJKEDCTH.js.map} +0 -0
- /package/dist/{chunk-AWAHYAII.js.map → chunk-JVWRMLQZ.js.map} +0 -0
- /package/dist/{chunk-PISJGXXI.js.map → chunk-KP6VJP36.js.map} +0 -0
- /package/dist/{chunk-NSDZAUJK.js.map → chunk-LNKULR4V.js.map} +0 -0
- /package/dist/{chunk-5VHCSN44.js.map → chunk-MYEG5ZDT.js.map} +0 -0
- /package/dist/{chunk-M4IIK3B7.js.map → chunk-RURZ6QLN.js.map} +0 -0
- /package/dist/{chunk-TCEU6DCF.js.map → chunk-TLKHLGAB.js.map} +0 -0
- /package/dist/{chunk-GYJVLFK5.js.map → chunk-VZSTL5VG.js.map} +0 -0
- /package/dist/{chunk-3CAC3AAE.js.map → chunk-XPJKQ63S.js.map} +0 -0
- /package/dist/{chunk-22DWXIV3.js.map → chunk-YFZDIEVC.js.map} +0 -0
|
@@ -90,7 +90,7 @@ var _chunkIKDC3R7Vcjs = require('./chunk-IKDC3R7V.cjs');
|
|
|
90
90
|
|
|
91
91
|
|
|
92
92
|
|
|
93
|
-
var
|
|
93
|
+
var _chunkIKUSKKFZcjs = require('./chunk-IKUSKKFZ.cjs');
|
|
94
94
|
|
|
95
95
|
|
|
96
96
|
|
|
@@ -331,7 +331,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
331
331
|
var useTheme = _nextthemes.useTheme;
|
|
332
332
|
function useThemeToggle() {
|
|
333
333
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
334
|
-
const mounted =
|
|
334
|
+
const mounted = _chunkIKUSKKFZcjs.useIsHydrated.call(void 0, );
|
|
335
335
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
336
336
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
337
337
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -608,7 +608,7 @@ function TruncateText({
|
|
|
608
608
|
const { ref, isTruncated } = _chunkZI27ALYXcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
|
|
609
609
|
const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
|
|
610
610
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
611
|
-
|
|
611
|
+
_chunkIKUSKKFZcjs.FloatingTooltip,
|
|
612
612
|
{
|
|
613
613
|
content: _nullishCoalesce(tooltip, () => ( children)),
|
|
614
614
|
side,
|
|
@@ -910,7 +910,7 @@ function AutocompleteInner(props, ref) {
|
|
|
910
910
|
),
|
|
911
911
|
/* @__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: [
|
|
912
912
|
multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
913
|
-
|
|
913
|
+
_chunkIKUSKKFZcjs.Tag,
|
|
914
914
|
{
|
|
915
915
|
variant: "outline",
|
|
916
916
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -1116,7 +1116,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1116
1116
|
"aria-hidden": "true",
|
|
1117
1117
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
1118
1118
|
children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1119
|
-
|
|
1119
|
+
_chunkIKUSKKFZcjs.Tag,
|
|
1120
1120
|
{
|
|
1121
1121
|
variant: "outline",
|
|
1122
1122
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -2500,7 +2500,7 @@ function InfoHint({ children, label, side = "top", className }) {
|
|
|
2500
2500
|
const describedById = _react.useId.call(void 0, );
|
|
2501
2501
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
|
|
2502
2502
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2503
|
-
|
|
2503
|
+
_chunkIKUSKKFZcjs.FloatingTooltip,
|
|
2504
2504
|
{
|
|
2505
2505
|
content: children,
|
|
2506
2506
|
side,
|
|
@@ -2594,7 +2594,7 @@ function Value2({ value, depth }) {
|
|
|
2594
2594
|
}
|
|
2595
2595
|
if (typeof value === "string") {
|
|
2596
2596
|
if (ISO_DATE.test(value)) {
|
|
2597
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children:
|
|
2597
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkIKUSKKFZcjs.formatRelativeTime.call(void 0, value) });
|
|
2598
2598
|
}
|
|
2599
2599
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
|
|
2600
2600
|
}
|
|
@@ -3226,7 +3226,7 @@ function RowValue({ value }) {
|
|
|
3226
3226
|
}
|
|
3227
3227
|
case "status": {
|
|
3228
3228
|
const { type: _type, ...props } = value;
|
|
3229
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3229
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TicketStatusTag, { ...props });
|
|
3230
3230
|
}
|
|
3231
3231
|
case "custom":
|
|
3232
3232
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
|
|
@@ -4137,7 +4137,7 @@ function TagsManager({
|
|
|
4137
4137
|
}
|
|
4138
4138
|
),
|
|
4139
4139
|
selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4140
|
-
|
|
4140
|
+
_chunkIKUSKKFZcjs.Tag,
|
|
4141
4141
|
{
|
|
4142
4142
|
label: tag.name,
|
|
4143
4143
|
variant: "outline",
|
|
@@ -4682,10 +4682,10 @@ function useConfirm() {
|
|
|
4682
4682
|
},
|
|
4683
4683
|
[]
|
|
4684
4684
|
);
|
|
4685
|
-
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4686
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4687
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4688
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4685
|
+
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
|
|
4686
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalTitle, { children: pending.title }) }),
|
|
4687
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
|
|
4688
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.ModalFooter, { children: [
|
|
4689
4689
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
|
|
4690
4690
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
|
|
4691
4691
|
] })
|
|
@@ -4743,9 +4743,9 @@ function AdminFormModal({
|
|
|
4743
4743
|
body: "Your edits have not been saved. Close and discard them?"
|
|
4744
4744
|
});
|
|
4745
4745
|
if (!isOpen) return null;
|
|
4746
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4747
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4748
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4746
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
|
|
4747
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.ModalHeader, { children: [
|
|
4748
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalTitle, { children: title }),
|
|
4749
4749
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
|
|
4750
4750
|
] }),
|
|
4751
4751
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -4769,7 +4769,7 @@ function AdminFormModal({
|
|
|
4769
4769
|
// a shrink-to-fit flex item pinned to the left of a 1400px panel).
|
|
4770
4770
|
// The placeholder owns its own layout and mirrors the column count so
|
|
4771
4771
|
// the modal doesn't visibly re-flow when the entity lands.
|
|
4772
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4772
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4773
4773
|
"div",
|
|
4774
4774
|
{
|
|
4775
4775
|
"aria-busy": "true",
|
|
@@ -4790,12 +4790,12 @@ function AdminFormModal({
|
|
|
4790
4790
|
]
|
|
4791
4791
|
}
|
|
4792
4792
|
) })
|
|
4793
|
-
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4793
|
+
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalContent, { className: contentClassName, children }),
|
|
4794
4794
|
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
|
|
4795
4795
|
]
|
|
4796
4796
|
}
|
|
4797
4797
|
),
|
|
4798
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4798
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
|
|
4799
4799
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
|
|
4800
4800
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
4801
4801
|
footerStatus,
|
|
@@ -6893,7 +6893,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
|
|
|
6893
6893
|
};
|
|
6894
6894
|
const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
|
|
6895
6895
|
const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6896
|
-
|
|
6896
|
+
_chunkIKUSKKFZcjs.Video,
|
|
6897
6897
|
{
|
|
6898
6898
|
url: item.src,
|
|
6899
6899
|
poster: item.poster ? displayImageSrc(item.poster) : void 0,
|
|
@@ -7617,7 +7617,7 @@ function buildRichEmbedOverrides({
|
|
|
7617
7617
|
ogEndpointPath,
|
|
7618
7618
|
textSizes
|
|
7619
7619
|
}) {
|
|
7620
|
-
const standard =
|
|
7620
|
+
const standard = _chunkIKUSKKFZcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7621
7621
|
return {
|
|
7622
7622
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7623
7623
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7627,7 +7627,7 @@ function buildRichEmbedOverrides({
|
|
|
7627
7627
|
const language = match ? match[1] : "";
|
|
7628
7628
|
const fenceText = () => String(children).replace(/\n$/, "").trim();
|
|
7629
7629
|
if (language === "youtube-embed") {
|
|
7630
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7630
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Video, { kind: "youtube", url: fenceText() });
|
|
7631
7631
|
}
|
|
7632
7632
|
if (language === "reddit-embed") {
|
|
7633
7633
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
|
|
@@ -7668,7 +7668,7 @@ function buildRichEmbedOverrides({
|
|
|
7668
7668
|
"data-figma-url": figmaUrl
|
|
7669
7669
|
} = divProps;
|
|
7670
7670
|
if (className === "youtube-embed" && videoId) {
|
|
7671
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7671
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Video, { kind: "youtube", url: videoId });
|
|
7672
7672
|
}
|
|
7673
7673
|
if (className === "reddit-embed" && postUrl) {
|
|
7674
7674
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
|
|
@@ -7753,14 +7753,14 @@ function buildRichEmbedOverrides({
|
|
|
7753
7753
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7754
7754
|
// elsewhere). Guard against empty `![]()`.
|
|
7755
7755
|
img: ({ src, alt }) => {
|
|
7756
|
-
if (!
|
|
7756
|
+
if (!_chunkIKUSKKFZcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7757
7757
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7758
7758
|
},
|
|
7759
7759
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
7760
7760
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
7761
7761
|
video: ({ src, poster, className }) => {
|
|
7762
|
-
if (!
|
|
7763
|
-
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,
|
|
7762
|
+
if (!_chunkIKUSKKFZcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7763
|
+
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, _chunkIKUSKKFZcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
7764
7764
|
}
|
|
7765
7765
|
};
|
|
7766
7766
|
}
|
|
@@ -7943,13 +7943,13 @@ var RichMarkdownInner = ({
|
|
|
7943
7943
|
},
|
|
7944
7944
|
[resolveLinkEndpointUrl, resolveSource]
|
|
7945
7945
|
);
|
|
7946
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
7946
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunkIKUSKKFZcjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
7947
7947
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
7948
7948
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
7949
7949
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
7950
7950
|
);
|
|
7951
7951
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7952
|
-
|
|
7952
|
+
_chunkIKUSKKFZcjs.MarkdownEngine,
|
|
7953
7953
|
{
|
|
7954
7954
|
content,
|
|
7955
7955
|
className,
|
|
@@ -7971,7 +7971,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
7971
7971
|
className = "",
|
|
7972
7972
|
sectionIds,
|
|
7973
7973
|
onInternalLinkClick,
|
|
7974
|
-
brokenLinks =
|
|
7974
|
+
brokenLinks = _chunkIKUSKKFZcjs.NO_BROKEN_LINKS,
|
|
7975
7975
|
currentPath,
|
|
7976
7976
|
resolveSource = "openframe-docs",
|
|
7977
7977
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -8544,7 +8544,7 @@ function FilterModal({
|
|
|
8544
8544
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _161 => _161.defaultSort]), () => ( "desc"));
|
|
8545
8545
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _162 => _162.sort]), () => ( dateDefaultSort)));
|
|
8546
8546
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _163 => _163.range]));
|
|
8547
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
8547
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkIKUSKKFZcjs.useScrollFade.call(void 0, );
|
|
8548
8548
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
8549
8549
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
8550
8550
|
_react.useEffect.call(void 0, () => {
|
|
@@ -8589,10 +8589,10 @@ function FilterModal({
|
|
|
8589
8589
|
const hasFilterGroups = filterGroups.length > 0;
|
|
8590
8590
|
const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
|
|
8591
8591
|
const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
|
|
8592
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8593
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8592
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Modal, { isOpen, onClose, className: _chunkPRPZBXWZcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
|
|
8593
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalTitle, { children: title }) }),
|
|
8594
8594
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8595
|
-
|
|
8595
|
+
_chunkIKUSKKFZcjs.ModalContent,
|
|
8596
8596
|
{
|
|
8597
8597
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
8598
8598
|
"flex min-h-0 flex-1 flex-col",
|
|
@@ -8684,12 +8684,12 @@ function FilterModal({
|
|
|
8684
8684
|
] })
|
|
8685
8685
|
}
|
|
8686
8686
|
),
|
|
8687
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8688
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8687
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
8688
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
8689
8689
|
] })
|
|
8690
8690
|
}
|
|
8691
8691
|
),
|
|
8692
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8692
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.ModalFooter, { children: [
|
|
8693
8693
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
|
|
8694
8694
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
|
|
8695
8695
|
] })
|
|
@@ -8733,9 +8733,9 @@ function actionToMenuItems(action, idx) {
|
|
|
8733
8733
|
function renderActionButton(action, opts = {}) {
|
|
8734
8734
|
const button = renderRawActionButton(action, opts);
|
|
8735
8735
|
if (!action.tooltip) return button;
|
|
8736
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8737
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8738
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8736
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Tooltip, { children: [
|
|
8737
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipTrigger, { asChild: true, children: button }),
|
|
8738
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipContent, { children: action.tooltip })
|
|
8739
8739
|
] }) });
|
|
8740
8740
|
}
|
|
8741
8741
|
function renderRawActionButton(action, opts = {}) {
|
|
@@ -8759,7 +8759,7 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
8759
8759
|
}
|
|
8760
8760
|
if (action.submenu && action.submenu.length > 0) {
|
|
8761
8761
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8762
|
-
|
|
8762
|
+
_chunkIKUSKKFZcjs.ActionsMenuDropdown,
|
|
8763
8763
|
{
|
|
8764
8764
|
groups: [{ items: action.submenu }],
|
|
8765
8765
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -8894,10 +8894,10 @@ function IconButtonsVariant({
|
|
|
8894
8894
|
selector,
|
|
8895
8895
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8896
8896
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
|
|
8897
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8897
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ActionsMenuDropdown, { groups: menuActions })
|
|
8898
8898
|
] })
|
|
8899
8899
|
] }),
|
|
8900
|
-
/* @__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,
|
|
8900
|
+
/* @__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, _chunkIKUSKKFZcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
|
|
8901
8901
|
] });
|
|
8902
8902
|
}
|
|
8903
8903
|
function PrimaryButtonsVariant({
|
|
@@ -8935,7 +8935,7 @@ function MenuPrimaryVariant({
|
|
|
8935
8935
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
|
|
8936
8936
|
selector,
|
|
8937
8937
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8938
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8938
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ActionsMenuDropdown, { groups: menuActions }),
|
|
8939
8939
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
|
|
8940
8940
|
] })
|
|
8941
8941
|
] }),
|
|
@@ -8943,7 +8943,7 @@ function MenuPrimaryVariant({
|
|
|
8943
8943
|
// The selector rides into the menu as its header row: on mobile the
|
|
8944
8944
|
// title row has no room for it, and hiding it entirely (what
|
|
8945
8945
|
// `icon-buttons` does) would leave no way to switch views at all.
|
|
8946
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8946
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
|
|
8947
8947
|
) : null })
|
|
8948
8948
|
] });
|
|
8949
8949
|
}
|
|
@@ -9346,7 +9346,7 @@ function TitleBlock({
|
|
|
9346
9346
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
9347
9347
|
(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: [
|
|
9348
9348
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9349
|
-
|
|
9349
|
+
_chunkIKUSKKFZcjs.FloatingTooltip,
|
|
9350
9350
|
{
|
|
9351
9351
|
content: title,
|
|
9352
9352
|
side: "bottom",
|
|
@@ -9363,12 +9363,12 @@ function TitleBlock({
|
|
|
9363
9363
|
}
|
|
9364
9364
|
),
|
|
9365
9365
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9366
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9366
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.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 }) })),
|
|
9367
9367
|
hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
|
|
9368
9368
|
empty `p` collapses to zero height (its only content would be
|
|
9369
9369
|
collapsible whitespace), which is exactly the shift that mode
|
|
9370
9370
|
exists to prevent. Hidden from AT — it carries no meaning. */
|
|
9371
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9371
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9372
9372
|
"p",
|
|
9373
9373
|
{
|
|
9374
9374
|
ref: subtitleRef,
|
|
@@ -9379,7 +9379,7 @@ function TitleBlock({
|
|
|
9379
9379
|
) })
|
|
9380
9380
|
] })
|
|
9381
9381
|
] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9382
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9382
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.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 }) }),
|
|
9383
9383
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9384
9384
|
] }) : (
|
|
9385
9385
|
/* This branch never had the single-line clamp, so text already
|
|
@@ -10993,7 +10993,7 @@ function extractSections(markdown, options = {}) {
|
|
|
10993
10993
|
if (heading.level > opts.maxLevel) continue;
|
|
10994
10994
|
let title = heading.text;
|
|
10995
10995
|
if (opts.stripFormattingMarkers) {
|
|
10996
|
-
title =
|
|
10996
|
+
title = _chunkIKUSKKFZcjs.stripInlineMarkdown.call(void 0, title).trim();
|
|
10997
10997
|
}
|
|
10998
10998
|
const baseId = _chunkZI27ALYXcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkZI27ALYXcjs.stripHeadingEmojis.call(void 0, title) : title);
|
|
10999
10999
|
const cleanId = baseId || `section-${sections.length + 1}`;
|
|
@@ -11485,7 +11485,7 @@ function DashboardInfoCard({
|
|
|
11485
11485
|
const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
|
|
11486
11486
|
if (asTag) {
|
|
11487
11487
|
const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
|
|
11488
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11488
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
|
|
11489
11489
|
}
|
|
11490
11490
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
|
|
11491
11491
|
"(",
|
|
@@ -11539,7 +11539,7 @@ function DashboardInfoCard({
|
|
|
11539
11539
|
/* @__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 }),
|
|
11540
11540
|
subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
|
|
11541
11541
|
renderPercentage(),
|
|
11542
|
-
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11542
|
+
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.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 }) }) })
|
|
11543
11543
|
] })
|
|
11544
11544
|
] }),
|
|
11545
11545
|
renderProgress()
|
|
@@ -11722,7 +11722,7 @@ function DeviceCard({
|
|
|
11722
11722
|
] }),
|
|
11723
11723
|
(statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
|
|
11724
11724
|
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11725
|
-
|
|
11725
|
+
_chunkIKUSKKFZcjs.Tag,
|
|
11726
11726
|
{
|
|
11727
11727
|
variant: statusTag.variant,
|
|
11728
11728
|
icon: statusTag.icon,
|
|
@@ -11736,7 +11736,7 @@ function DeviceCard({
|
|
|
11736
11736
|
formatLastSeen(device.lastSeen)
|
|
11737
11737
|
] })
|
|
11738
11738
|
] }),
|
|
11739
|
-
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,
|
|
11739
|
+
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, _chunkIKUSKKFZcjs.Tag, { variant: "outline", label: tag }, index)) })
|
|
11740
11740
|
]
|
|
11741
11741
|
}
|
|
11742
11742
|
);
|
|
@@ -11884,7 +11884,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
|
|
|
11884
11884
|
|
|
11885
11885
|
function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
|
|
11886
11886
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11887
|
-
|
|
11887
|
+
_chunkIKUSKKFZcjs.FloatingTooltip,
|
|
11888
11888
|
{
|
|
11889
11889
|
as: "span",
|
|
11890
11890
|
side: "top",
|
|
@@ -12068,7 +12068,7 @@ function DropdownButton({
|
|
|
12068
12068
|
)
|
|
12069
12069
|
);
|
|
12070
12070
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12071
|
-
|
|
12071
|
+
_chunkIKUSKKFZcjs.ActionsMenuDropdown,
|
|
12072
12072
|
{
|
|
12073
12073
|
groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
|
|
12074
12074
|
open,
|
|
@@ -12306,7 +12306,7 @@ function ServiceCardRowItem({ row }) {
|
|
|
12306
12306
|
),
|
|
12307
12307
|
children: [
|
|
12308
12308
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12309
|
-
|
|
12309
|
+
_chunkIKUSKKFZcjs.FloatingTooltip,
|
|
12310
12310
|
{
|
|
12311
12311
|
content: row.value,
|
|
12312
12312
|
side: "top",
|
|
@@ -12432,9 +12432,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
12432
12432
|
return next;
|
|
12433
12433
|
});
|
|
12434
12434
|
};
|
|
12435
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12435
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Tooltip, { open, onOpenChange: setOpen, children: [
|
|
12436
12436
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12437
|
-
|
|
12437
|
+
_chunkIKUSKKFZcjs.TooltipTrigger,
|
|
12438
12438
|
{
|
|
12439
12439
|
asChild: true,
|
|
12440
12440
|
onPointerDown: (e) => {
|
|
@@ -12452,7 +12452,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
12452
12452
|
children
|
|
12453
12453
|
}
|
|
12454
12454
|
),
|
|
12455
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12455
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipContent, { side, className: "max-w-xs", children: content })
|
|
12456
12456
|
] }) });
|
|
12457
12457
|
}
|
|
12458
12458
|
|
|
@@ -13467,9 +13467,9 @@ function TruncatedHeaderCell({ value, width }) {
|
|
|
13467
13467
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
13468
13468
|
}
|
|
13469
13469
|
}, []);
|
|
13470
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13471
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13472
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13470
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
13471
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.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 }) }) }),
|
|
13472
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
|
|
13473
13473
|
] }) });
|
|
13474
13474
|
}
|
|
13475
13475
|
|
|
@@ -13522,9 +13522,9 @@ function TruncatedCell({ value, className }) {
|
|
|
13522
13522
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
13523
13523
|
}
|
|
13524
13524
|
}, []);
|
|
13525
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13526
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13527
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13525
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
13526
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.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 }) }),
|
|
13527
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
|
|
13528
13528
|
] }) });
|
|
13529
13529
|
}
|
|
13530
13530
|
|
|
@@ -14808,7 +14808,7 @@ function SearchInput({
|
|
|
14808
14808
|
/* @__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, {}) }),
|
|
14809
14809
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
|
|
14810
14810
|
visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14811
|
-
|
|
14811
|
+
_chunkIKUSKKFZcjs.Tag,
|
|
14812
14812
|
{
|
|
14813
14813
|
variant: chipVariantToTagVariant(chip.variant),
|
|
14814
14814
|
label: chip.label,
|
|
@@ -14922,7 +14922,7 @@ function SearchInput({
|
|
|
14922
14922
|
}
|
|
14923
14923
|
),
|
|
14924
14924
|
/* @__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,
|
|
14925
|
-
|
|
14925
|
+
_chunkIKUSKKFZcjs.Tag,
|
|
14926
14926
|
{
|
|
14927
14927
|
variant: chipVariantToTagVariant(chip.variant),
|
|
14928
14928
|
label: chip.label,
|
|
@@ -15135,7 +15135,7 @@ function TagSearchInput({
|
|
|
15135
15135
|
/* @__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" }) }),
|
|
15136
15136
|
/* @__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: [
|
|
15137
15137
|
visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15138
|
-
|
|
15138
|
+
_chunkIKUSKKFZcjs.Tag,
|
|
15139
15139
|
{
|
|
15140
15140
|
variant: "outline",
|
|
15141
15141
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -15223,7 +15223,7 @@ function TagSearchInput({
|
|
|
15223
15223
|
"aria-hidden": "true",
|
|
15224
15224
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
15225
15225
|
children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15226
|
-
|
|
15226
|
+
_chunkIKUSKKFZcjs.Tag,
|
|
15227
15227
|
{
|
|
15228
15228
|
variant: "outline",
|
|
15229
15229
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -16112,20 +16112,20 @@ function ColorPresetSelect({
|
|
|
16112
16112
|
...presets.map((p) => ({
|
|
16113
16113
|
id: p.key,
|
|
16114
16114
|
label: p.label,
|
|
16115
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16115
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ColorSwatch, { color: p.color }),
|
|
16116
16116
|
onClick: () => onChange({ color: p.color, preset: p.key })
|
|
16117
16117
|
})),
|
|
16118
16118
|
{
|
|
16119
16119
|
id: CUSTOM_PRESET_KEY,
|
|
16120
16120
|
label: "Custom",
|
|
16121
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16121
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
|
|
16122
16122
|
onClick: () => onChange({ color: value, preset: void 0 })
|
|
16123
16123
|
}
|
|
16124
16124
|
]
|
|
16125
16125
|
}
|
|
16126
16126
|
];
|
|
16127
16127
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16128
|
-
|
|
16128
|
+
_chunkIKUSKKFZcjs.ActionsMenuDropdown,
|
|
16129
16129
|
{
|
|
16130
16130
|
groups,
|
|
16131
16131
|
align: "start",
|
|
@@ -16135,7 +16135,7 @@ function ColorPresetSelect({
|
|
|
16135
16135
|
{
|
|
16136
16136
|
disabled,
|
|
16137
16137
|
"aria-label": `Color: ${displayLabel}`,
|
|
16138
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16138
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ColorSwatch, { color: displayColor }),
|
|
16139
16139
|
selectedLabel: displayLabel,
|
|
16140
16140
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16141
16141
|
className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
|
|
@@ -16156,7 +16156,7 @@ function HexInputs({ value, onChange }) {
|
|
|
16156
16156
|
}
|
|
16157
16157
|
const commit = () => {
|
|
16158
16158
|
const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
|
|
16159
|
-
if (
|
|
16159
|
+
if (_chunkIKUSKKFZcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
|
|
16160
16160
|
else setDraft(value);
|
|
16161
16161
|
};
|
|
16162
16162
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -16220,12 +16220,12 @@ function ChannelInput({
|
|
|
16220
16220
|
);
|
|
16221
16221
|
}
|
|
16222
16222
|
function RgbInputs({ value, onChange }) {
|
|
16223
|
-
const rgb = _nullishCoalesce(
|
|
16223
|
+
const rgb = _nullishCoalesce(_chunkIKUSKKFZcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16224
16224
|
const update = (next) => {
|
|
16225
16225
|
const r = _nullishCoalesce(next.r, () => ( rgb.r));
|
|
16226
16226
|
const g = _nullishCoalesce(next.g, () => ( rgb.g));
|
|
16227
16227
|
const b = _nullishCoalesce(next.b, () => ( rgb.b));
|
|
16228
|
-
onChange(
|
|
16228
|
+
onChange(_chunkIKUSKKFZcjs.rgbToHex.call(void 0, r, g, b));
|
|
16229
16229
|
};
|
|
16230
16230
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16231
16231
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
|
|
@@ -16234,14 +16234,14 @@ function RgbInputs({ value, onChange }) {
|
|
|
16234
16234
|
] });
|
|
16235
16235
|
}
|
|
16236
16236
|
function HslInputs({ value, onChange }) {
|
|
16237
|
-
const rgb = _nullishCoalesce(
|
|
16238
|
-
const hsl =
|
|
16237
|
+
const rgb = _nullishCoalesce(_chunkIKUSKKFZcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16238
|
+
const hsl = _chunkIKUSKKFZcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
|
|
16239
16239
|
const update = (next) => {
|
|
16240
16240
|
const h = _nullishCoalesce(next.h, () => ( hsl.h));
|
|
16241
16241
|
const s = _nullishCoalesce(next.s, () => ( hsl.s));
|
|
16242
16242
|
const l = _nullishCoalesce(next.l, () => ( hsl.l));
|
|
16243
|
-
const out =
|
|
16244
|
-
onChange(
|
|
16243
|
+
const out = _chunkIKUSKKFZcjs.hslToRgb.call(void 0, h, s, l);
|
|
16244
|
+
onChange(_chunkIKUSKKFZcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
|
|
16245
16245
|
};
|
|
16246
16246
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16247
16247
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
|
|
@@ -16267,7 +16267,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16267
16267
|
{
|
|
16268
16268
|
disabled,
|
|
16269
16269
|
"aria-label": "Pick custom color",
|
|
16270
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16270
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ColorSwatch, { color: value }),
|
|
16271
16271
|
selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
|
|
16272
16272
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16273
16273
|
className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
|
|
@@ -16283,7 +16283,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16283
16283
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
|
|
16284
16284
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
16285
16285
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16286
|
-
|
|
16286
|
+
_chunkIKUSKKFZcjs.ActionsMenuDropdown,
|
|
16287
16287
|
{
|
|
16288
16288
|
groups: formatGroups,
|
|
16289
16289
|
align: "start",
|
|
@@ -16340,7 +16340,7 @@ function TicketStatusConfigRow({
|
|
|
16340
16340
|
const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
|
|
16341
16341
|
const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
|
|
16342
16342
|
const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16343
|
-
|
|
16343
|
+
_chunkIKUSKKFZcjs.TicketStatusTag,
|
|
16344
16344
|
{
|
|
16345
16345
|
status: statusKey,
|
|
16346
16346
|
label: name || " ",
|
|
@@ -16492,7 +16492,7 @@ function formatTestRunDuration(ms) {
|
|
|
16492
16492
|
var RESULT_COLUMN_MIN_WIDTH = 176;
|
|
16493
16493
|
var SKELETON_COLUMNS = 6;
|
|
16494
16494
|
function TestResultsSkeleton() {
|
|
16495
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16495
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
16496
16496
|
/* @__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}`)) }),
|
|
16497
16497
|
/* @__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}`)) }) })
|
|
16498
16498
|
] }) });
|
|
@@ -16527,7 +16527,7 @@ function TestResultsTable({ rows, loading }) {
|
|
|
16527
16527
|
if (loading) {
|
|
16528
16528
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
16529
16529
|
}
|
|
16530
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16530
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.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: [
|
|
16531
16531
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
16532
16532
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
16533
16533
|
] }) }) });
|
|
@@ -16587,7 +16587,7 @@ var TEST_RUN_STATUS_TAGS = {
|
|
|
16587
16587
|
function TestRunStatusStat({ status, className }) {
|
|
16588
16588
|
const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
|
|
16589
16589
|
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: [
|
|
16590
|
-
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16590
|
+
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.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: "-" }),
|
|
16591
16591
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
|
|
16592
16592
|
] });
|
|
16593
16593
|
}
|
|
@@ -16630,7 +16630,7 @@ function useTestRunState(campaign) {
|
|
|
16630
16630
|
const firstError = isFinished && campaign.errors.length > 0 ? campaign.errors[0].error : null;
|
|
16631
16631
|
const status = isActive ? "running" : hasRun && isFinished ? firstError ? "error" : "success" : "idle";
|
|
16632
16632
|
const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
|
|
16633
|
-
const startedLabel = showTiming && campaign.startedAt ?
|
|
16633
|
+
const startedLabel = showTiming && campaign.startedAt ? _chunkIKUSKKFZcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
|
|
16634
16634
|
const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
|
|
16635
16635
|
const displayRows = _react.useMemo.call(void 0,
|
|
16636
16636
|
() => campaign.results.map(
|
|
@@ -16968,7 +16968,7 @@ function TicketInfoSection({
|
|
|
16968
16968
|
/* @__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]) }),
|
|
16969
16969
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
16970
16970
|
(status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16971
|
-
|
|
16971
|
+
_chunkIKUSKKFZcjs.TicketStatusTag,
|
|
16972
16972
|
{
|
|
16973
16973
|
status: _nullishCoalesce(status, () => ( "")),
|
|
16974
16974
|
label: statusLabel,
|
|
@@ -17007,9 +17007,9 @@ function TicketInfoSection({
|
|
|
17007
17007
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
17008
17008
|
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" }) }),
|
|
17009
17009
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
|
|
17010
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17010
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.SimpleMarkdownRenderer, { content: description }),
|
|
17011
17011
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
17012
|
-
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,
|
|
17012
|
+
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, _chunkIKUSKKFZcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
|
|
17013
17013
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17014
17014
|
TicketNotesSection,
|
|
17015
17015
|
{
|
|
@@ -17032,7 +17032,7 @@ function renderTicketStatusOption(option, isSelected) {
|
|
|
17032
17032
|
const { label, color } = option;
|
|
17033
17033
|
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: [
|
|
17034
17034
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
17035
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17035
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ColorSwatch, { color }),
|
|
17036
17036
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
|
|
17037
17037
|
] }),
|
|
17038
17038
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -17077,9 +17077,9 @@ function TakeOverTicketModal({
|
|
|
17077
17077
|
if (!selectedStatusId || !assigneeId || isPending) return;
|
|
17078
17078
|
onConfirm({ statusId: selectedStatusId, assigneeId });
|
|
17079
17079
|
};
|
|
17080
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17080
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17081
17081
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17082
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17082
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalTitle, { children: "Take Over Ticket" }) }),
|
|
17083
17083
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17084
17084
|
"The ticket ",
|
|
17085
17085
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17094,7 +17094,7 @@ function TakeOverTicketModal({
|
|
|
17094
17094
|
value: selectedStatusId,
|
|
17095
17095
|
onChange: setStatusId,
|
|
17096
17096
|
placeholder: "Select Status",
|
|
17097
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17097
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17098
17098
|
renderOption: renderTicketStatusOption
|
|
17099
17099
|
}
|
|
17100
17100
|
) }),
|
|
@@ -17121,7 +17121,7 @@ function TakeOverTicketModal({
|
|
|
17121
17121
|
}
|
|
17122
17122
|
) })
|
|
17123
17123
|
] }),
|
|
17124
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17124
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.ModalFooter, { children: [
|
|
17125
17125
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17126
17126
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17127
17127
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17180,9 +17180,9 @@ function ReopenTicketModal({
|
|
|
17180
17180
|
reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
|
|
17181
17181
|
});
|
|
17182
17182
|
};
|
|
17183
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17183
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17184
17184
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17185
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17185
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17186
17186
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17187
17187
|
"The ticket ",
|
|
17188
17188
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17197,7 +17197,7 @@ function ReopenTicketModal({
|
|
|
17197
17197
|
value: selectedStatusId,
|
|
17198
17198
|
onChange: setStatusId,
|
|
17199
17199
|
placeholder: "Select Status",
|
|
17200
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17200
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17201
17201
|
renderOption: renderTicketStatusOption
|
|
17202
17202
|
}
|
|
17203
17203
|
) }),
|
|
@@ -17235,7 +17235,7 @@ function ReopenTicketModal({
|
|
|
17235
17235
|
disabled: isPending
|
|
17236
17236
|
}
|
|
17237
17237
|
) }),
|
|
17238
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17238
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.ModalFooter, { children: [
|
|
17239
17239
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17240
17240
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17241
17241
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17283,9 +17283,9 @@ function ReopenTicketRequestModal({
|
|
|
17283
17283
|
...showHandoffOption ? { handoffToTechnician: handoff } : {}
|
|
17284
17284
|
});
|
|
17285
17285
|
};
|
|
17286
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17286
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17287
17287
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17288
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17288
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17289
17289
|
/* @__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." }),
|
|
17290
17290
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17291
17291
|
Textarea,
|
|
@@ -17309,7 +17309,7 @@ function ReopenTicketRequestModal({
|
|
|
17309
17309
|
disabled: isPending
|
|
17310
17310
|
}
|
|
17311
17311
|
),
|
|
17312
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17312
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.ModalFooter, { children: [
|
|
17313
17313
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
|
|
17314
17314
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
|
|
17315
17315
|
] })
|
|
@@ -19306,7 +19306,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
|
|
|
19306
19306
|
sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
|
|
19307
19307
|
title: config.title,
|
|
19308
19308
|
loading: "eager",
|
|
19309
|
-
...
|
|
19309
|
+
..._chunkIKUSKKFZcjs.fetchPriorityProp.call(void 0, "high")
|
|
19310
19310
|
},
|
|
19311
19311
|
iframeKey
|
|
19312
19312
|
),
|
|
@@ -20156,7 +20156,7 @@ function MediaGalleryManager({
|
|
|
20156
20156
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: mediaItem.media_type === "video" || mediaItem.media_type === "demo" ? (
|
|
20157
20157
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
20158
20158
|
// fit="cover" crops to the aspect-video cell.
|
|
20159
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20159
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
|
|
20160
20160
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20161
20161
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
20162
20162
|
{
|
|
@@ -22406,9 +22406,9 @@ function PushButtonSelector({
|
|
|
22406
22406
|
option.id
|
|
22407
22407
|
);
|
|
22408
22408
|
if (option.disabled && option.disabledReason) {
|
|
22409
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22410
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22411
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22409
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Tooltip, { children: [
|
|
22410
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipTrigger, { asChild: true, children: optionEl }),
|
|
22411
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
|
|
22412
22412
|
] }, option.id);
|
|
22413
22413
|
}
|
|
22414
22414
|
return optionEl;
|
|
@@ -22453,7 +22453,7 @@ function PushButtonSelector({
|
|
|
22453
22453
|
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
|
|
22454
22454
|
] }) : null
|
|
22455
22455
|
] });
|
|
22456
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22456
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
|
|
22457
22457
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
22458
22458
|
searchInput,
|
|
22459
22459
|
lazyLoad ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22626,7 +22626,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
|
|
|
22626
22626
|
item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children: item.media_type === "video" || item.media_type === "demo" ? (
|
|
22627
22627
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
22628
22628
|
// fit="cover" crops to the aspect-video cell.
|
|
22629
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22629
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
22630
22630
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22631
22631
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
22632
22632
|
{
|
|
@@ -22759,7 +22759,7 @@ var SelectButton = _react2.default.forwardRef(
|
|
|
22759
22759
|
}
|
|
22760
22760
|
)
|
|
22761
22761
|
] }),
|
|
22762
|
-
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22762
|
+
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
|
|
22763
22763
|
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
|
|
22764
22764
|
]
|
|
22765
22765
|
}
|
|
@@ -23545,7 +23545,7 @@ function VideoBitesDisplay({
|
|
|
23545
23545
|
filterPublished = true,
|
|
23546
23546
|
showTitle = true
|
|
23547
23547
|
}) {
|
|
23548
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23548
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
23549
23549
|
}
|
|
23550
23550
|
|
|
23551
23551
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -23614,7 +23614,7 @@ function WalkthroughVideo({
|
|
|
23614
23614
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
23615
23615
|
};
|
|
23616
23616
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
|
|
23617
|
-
const hydrated =
|
|
23617
|
+
const hydrated = _chunkIKUSKKFZcjs.useIsHydrated.call(void 0, );
|
|
23618
23618
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
23619
23619
|
if (!hydrated) return false;
|
|
23620
23620
|
try {
|
|
@@ -24011,7 +24011,7 @@ function WalkthroughVideo({
|
|
|
24011
24011
|
},
|
|
24012
24012
|
children: [
|
|
24013
24013
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24014
|
-
|
|
24014
|
+
_chunkIKUSKKFZcjs.VideoHoverPreviewSurface,
|
|
24015
24015
|
{
|
|
24016
24016
|
url: video.mainVideoUrl || "",
|
|
24017
24017
|
posterUrl: video.posterUrl,
|
|
@@ -24034,7 +24034,7 @@ function WalkthroughVideo({
|
|
|
24034
24034
|
`card-${embedUrlKey}`
|
|
24035
24035
|
) }),
|
|
24036
24036
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24037
|
-
|
|
24037
|
+
_chunkIKUSKKFZcjs.CardHitLayer,
|
|
24038
24038
|
{
|
|
24039
24039
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
24040
24040
|
onPointerDown: pausePreviewNow,
|
|
@@ -24043,7 +24043,7 @@ function WalkthroughVideo({
|
|
|
24043
24043
|
}
|
|
24044
24044
|
),
|
|
24045
24045
|
/* @__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: [
|
|
24046
|
-
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24046
|
+
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
|
|
24047
24047
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
|
|
24048
24048
|
] }),
|
|
24049
24049
|
showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -24056,7 +24056,7 @@ function WalkthroughVideo({
|
|
|
24056
24056
|
onPointerDown: (e) => e.stopPropagation(),
|
|
24057
24057
|
onClick: onUnmuteOrPlay,
|
|
24058
24058
|
className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
|
|
24059
|
-
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24059
|
+
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.VideoUnmuteGlyph, {})
|
|
24060
24060
|
}
|
|
24061
24061
|
),
|
|
24062
24062
|
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: [
|
|
@@ -24149,7 +24149,7 @@ function WalkthroughVideo({
|
|
|
24149
24149
|
children: [
|
|
24150
24150
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
24151
24151
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24152
|
-
|
|
24152
|
+
_chunkIKUSKKFZcjs.Video,
|
|
24153
24153
|
{
|
|
24154
24154
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
24155
24155
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -24200,7 +24200,7 @@ function InlineWalkthroughVideo(props) {
|
|
|
24200
24200
|
var _reactquery = require('@tanstack/react-query');
|
|
24201
24201
|
function useWalkthroughVideo(opts) {
|
|
24202
24202
|
const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
|
|
24203
|
-
const captions =
|
|
24203
|
+
const captions = _chunkIKUSKKFZcjs.useCaptions.call(void 0, );
|
|
24204
24204
|
const query = _reactquery.useQuery.call(void 0, {
|
|
24205
24205
|
queryKey: ["walkthrough-video", endpoint],
|
|
24206
24206
|
enabled,
|
|
@@ -24398,7 +24398,7 @@ function VideoSourceSelector({
|
|
|
24398
24398
|
}
|
|
24399
24399
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
24400
24400
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
|
|
24401
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24401
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Video, { kind: "file", url: videoUrl }) }),
|
|
24402
24402
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24403
24403
|
"button",
|
|
24404
24404
|
{
|
|
@@ -24922,7 +24922,7 @@ function HighlightVideoSection({
|
|
|
24922
24922
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
24923
24923
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
24924
24924
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
|
|
24925
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24925
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
|
|
24926
24926
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24927
24927
|
"button",
|
|
24928
24928
|
{
|
|
@@ -25658,7 +25658,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
|
25658
25658
|
] });
|
|
25659
25659
|
};
|
|
25660
25660
|
var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
|
|
25661
|
-
const { innerRef, containerStyle } =
|
|
25661
|
+
const { innerRef, containerStyle } = _chunkIKUSKKFZcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
|
|
25662
25662
|
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
25663
25663
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
25664
25664
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -25826,7 +25826,7 @@ function WaitlistForm({
|
|
|
25826
25826
|
const { toast } = _chunkLEISUAHFcjs.useToast.call(void 0, );
|
|
25827
25827
|
const { honeypotInputProps, getSignals, resetSignals } = _chunkLEISUAHFcjs.useHumanitySignals.call(void 0, );
|
|
25828
25828
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
25829
|
-
const isClient =
|
|
25829
|
+
const isClient = _chunkIKUSKKFZcjs.useIsHydrated.call(void 0, );
|
|
25830
25830
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
25831
25831
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
25832
25832
|
const isMailDomainGeneric = hasGenericEmailDomain(email);
|
|
@@ -26630,7 +26630,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
26630
26630
|
"data-state": open ? "open" : "closed",
|
|
26631
26631
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
26632
26632
|
"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",
|
|
26633
|
-
|
|
26633
|
+
_chunkIKUSKKFZcjs.OVERLAY_BACKDROP_CLASS,
|
|
26634
26634
|
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
26635
26635
|
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
26636
26636
|
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
@@ -26706,11 +26706,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
26706
26706
|
}
|
|
26707
26707
|
);
|
|
26708
26708
|
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
26709
|
-
var AppLayoutDrawerHeader =
|
|
26710
|
-
var AppLayoutDrawerTitle =
|
|
26711
|
-
var AppLayoutDrawerDescription =
|
|
26712
|
-
var AppLayoutDrawerBody =
|
|
26713
|
-
var AppLayoutDrawerFooter =
|
|
26709
|
+
var AppLayoutDrawerHeader = _chunkIKUSKKFZcjs.DrawerHeader;
|
|
26710
|
+
var AppLayoutDrawerTitle = _chunkIKUSKKFZcjs.DrawerTitle;
|
|
26711
|
+
var AppLayoutDrawerDescription = _chunkIKUSKKFZcjs.DrawerDescription;
|
|
26712
|
+
var AppLayoutDrawerBody = _chunkIKUSKKFZcjs.DrawerBody;
|
|
26713
|
+
var AppLayoutDrawerFooter = _chunkIKUSKKFZcjs.DrawerFooter;
|
|
26714
26714
|
|
|
26715
26715
|
// src/components/features/notifications/notification-tile.tsx
|
|
26716
26716
|
|
|
@@ -26798,7 +26798,7 @@ function NotificationTile({
|
|
|
26798
26798
|
}
|
|
26799
26799
|
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkLEISUAHFcjs.dotColorByVariant[accentVariant]) }))) }),
|
|
26800
26800
|
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" }),
|
|
26801
|
-
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children:
|
|
26801
|
+
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkIKUSKKFZcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
|
|
26802
26802
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
|
|
26803
26803
|
{
|
|
26804
26804
|
active: isLive,
|
|
@@ -26895,7 +26895,7 @@ function NotificationDrawer({
|
|
|
26895
26895
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
26896
26896
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
26897
26897
|
/* @__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,
|
|
26898
|
-
|
|
26898
|
+
_chunkIKUSKKFZcjs.DrawerTitle,
|
|
26899
26899
|
{
|
|
26900
26900
|
hideClose: true,
|
|
26901
26901
|
className: "truncate",
|
|
@@ -26954,8 +26954,8 @@ function NotificationDrawer({
|
|
|
26954
26954
|
}
|
|
26955
26955
|
) });
|
|
26956
26956
|
}
|
|
26957
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26958
|
-
|
|
26957
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26958
|
+
_chunkIKUSKKFZcjs.DrawerContent,
|
|
26959
26959
|
{
|
|
26960
26960
|
side: "right",
|
|
26961
26961
|
"aria-describedby": void 0,
|
|
@@ -27230,13 +27230,13 @@ function getApprovalMeta(notification) {
|
|
|
27230
27230
|
function resolutionToStatus(resolution) {
|
|
27231
27231
|
switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
|
|
27232
27232
|
case "APPROVED":
|
|
27233
|
-
return
|
|
27233
|
+
return _chunkIKUSKKFZcjs.APPROVAL_STATUS.APPROVED;
|
|
27234
27234
|
case "REJECTED":
|
|
27235
|
-
return
|
|
27235
|
+
return _chunkIKUSKKFZcjs.APPROVAL_STATUS.REJECTED;
|
|
27236
27236
|
case "CANCELLED":
|
|
27237
|
-
return
|
|
27237
|
+
return _chunkIKUSKKFZcjs.APPROVAL_STATUS.CANCELLED;
|
|
27238
27238
|
default:
|
|
27239
|
-
return
|
|
27239
|
+
return _chunkIKUSKKFZcjs.APPROVAL_STATUS.PENDING;
|
|
27240
27240
|
}
|
|
27241
27241
|
}
|
|
27242
27242
|
function approvalMetaToBatchData(approval) {
|
|
@@ -27276,7 +27276,7 @@ function ApprovalRequestNotificationTile({
|
|
|
27276
27276
|
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _584 => _584.resolution]));
|
|
27277
27277
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
27278
27278
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
27279
|
-
const { innerRef, containerStyle } =
|
|
27279
|
+
const { innerRef, containerStyle } = _chunkIKUSKKFZcjs.useCollapsible.call(void 0, { expanded });
|
|
27280
27280
|
if (!approval || !batchData) return null;
|
|
27281
27281
|
const tileNotification = {
|
|
27282
27282
|
...notification,
|
|
@@ -27329,7 +27329,7 @@ function ApprovalRequestNotificationTile({
|
|
|
27329
27329
|
}
|
|
27330
27330
|
)
|
|
27331
27331
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
27332
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27332
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ApprovalStatusTag, { status }),
|
|
27333
27333
|
approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
27334
27334
|
"by ",
|
|
27335
27335
|
approval.resolvedByName
|
|
@@ -27347,12 +27347,12 @@ function ApprovalRequestNotificationTile({
|
|
|
27347
27347
|
"aria-expanded": expanded,
|
|
27348
27348
|
"aria-label": toggleLabel,
|
|
27349
27349
|
className: "ml-auto w-6 shrink-0 px-0 md:w-8",
|
|
27350
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27350
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.ExpandChevron, { expanded })
|
|
27351
27351
|
}
|
|
27352
27352
|
)
|
|
27353
27353
|
] }),
|
|
27354
27354
|
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,
|
|
27355
|
-
|
|
27355
|
+
_chunkIKUSKKFZcjs.ApprovalBatchMessage,
|
|
27356
27356
|
{
|
|
27357
27357
|
data: batchData,
|
|
27358
27358
|
showExecutionStatus: false,
|
|
@@ -27683,7 +27683,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
|
|
|
27683
27683
|
function StatusTag({ status }) {
|
|
27684
27684
|
if (status === "tracking") {
|
|
27685
27685
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27686
|
-
|
|
27686
|
+
_chunkIKUSKKFZcjs.Tag,
|
|
27687
27687
|
{
|
|
27688
27688
|
variant: "success",
|
|
27689
27689
|
className: STATUS_TAG_SKIN,
|
|
@@ -27693,9 +27693,9 @@ function StatusTag({ status }) {
|
|
|
27693
27693
|
);
|
|
27694
27694
|
}
|
|
27695
27695
|
if (status === "paused") {
|
|
27696
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27696
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
|
|
27697
27697
|
}
|
|
27698
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27698
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
|
|
27699
27699
|
}
|
|
27700
27700
|
function LastEntryRow({ entry, onClick }) {
|
|
27701
27701
|
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: [
|
|
@@ -27864,7 +27864,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
27864
27864
|
"data-state": isOpen ? "open" : "closed",
|
|
27865
27865
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
27866
27866
|
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
27867
|
-
|
|
27867
|
+
_chunkIKUSKKFZcjs.OVERLAY_BACKDROP_CLASS,
|
|
27868
27868
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
27869
27869
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
27870
27870
|
)
|
|
@@ -28018,7 +28018,7 @@ function BoardColumnHeader({
|
|
|
28018
28018
|
}) {
|
|
28019
28019
|
const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
|
|
28020
28020
|
const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
|
|
28021
|
-
const useStatusVariant =
|
|
28021
|
+
const useStatusVariant = _chunkIKUSKKFZcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
|
|
28022
28022
|
const actionClass = "h-8 w-8 p-0 md:h-8 md:w-8";
|
|
28023
28023
|
if (collapsed) {
|
|
28024
28024
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
@@ -28034,7 +28034,7 @@ function BoardColumnHeader({
|
|
|
28034
28034
|
}
|
|
28035
28035
|
),
|
|
28036
28036
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28037
|
-
|
|
28037
|
+
_chunkIKUSKKFZcjs.TicketStatusTag,
|
|
28038
28038
|
{
|
|
28039
28039
|
status: tagStatus,
|
|
28040
28040
|
label: column.label,
|
|
@@ -28047,7 +28047,7 @@ function BoardColumnHeader({
|
|
|
28047
28047
|
}
|
|
28048
28048
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
28049
28049
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
28050
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28050
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
|
|
28051
28051
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
|
|
28052
28052
|
] }),
|
|
28053
28053
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -28198,7 +28198,7 @@ function holdMoveDragEffect(element) {
|
|
|
28198
28198
|
|
|
28199
28199
|
function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
28200
28200
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
28201
|
-
const { innerRef, containerStyle } =
|
|
28201
|
+
const { innerRef, containerStyle } = _chunkIKUSKKFZcjs.useCollapsible.call(void 0, { expanded });
|
|
28202
28202
|
const isAdmin = pendingApproval.approvalType === "ADMIN";
|
|
28203
28203
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
|
|
28204
28204
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -28227,7 +28227,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
|
28227
28227
|
}
|
|
28228
28228
|
),
|
|
28229
28229
|
/* @__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,
|
|
28230
|
-
|
|
28230
|
+
_chunkIKUSKKFZcjs.ApprovalBatchMessage,
|
|
28231
28231
|
{
|
|
28232
28232
|
className: "mb-0",
|
|
28233
28233
|
data: {
|
|
@@ -28299,7 +28299,7 @@ var ACTIVITY_DEFAULT_LABEL = {
|
|
|
28299
28299
|
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";
|
|
28300
28300
|
function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
|
|
28301
28301
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
28302
|
-
const newMessageTextColor = columnColor ?
|
|
28302
|
+
const newMessageTextColor = columnColor ? _chunkIKUSKKFZcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
|
|
28303
28303
|
const showDeviceRow = !!(_optionalChain([ticket, 'access', _620 => _620.deviceHostnames, 'optionalAccess', _621 => _621.length]) || ticket.organizationName);
|
|
28304
28304
|
const deviceText = [_optionalChain([ticket, 'access', _622 => _622.deviceHostnames, 'optionalAccess', _623 => _623.join, 'call', _624 => _624(", ")]), ticket.organizationName].filter(Boolean).join(", ");
|
|
28305
28305
|
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _625 => _625.assignees, 'optionalAccess', _626 => _626.length]) || renderAssignSlot);
|
|
@@ -28338,8 +28338,8 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28338
28338
|
] })
|
|
28339
28339
|
] }) : null
|
|
28340
28340
|
] }) : null;
|
|
28341
|
-
const timestampLabel = ticket.createdAt ?
|
|
28342
|
-
const tooltipLabel = ticket.createdAt ?
|
|
28341
|
+
const timestampLabel = ticket.createdAt ? _chunkIKUSKKFZcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
|
|
28342
|
+
const tooltipLabel = ticket.createdAt ? _chunkIKUSKKFZcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
|
|
28343
28343
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
28344
28344
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
|
|
28345
28345
|
/* @__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: [
|
|
@@ -28352,9 +28352,9 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28352
28352
|
rightSection
|
|
28353
28353
|
] }),
|
|
28354
28354
|
_optionalChain([ticket, 'access', _629 => _629.tags, 'optionalAccess', _630 => _630.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
28355
|
-
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28356
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28357
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28355
|
+
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIKUSKKFZcjs.Tooltip, { children: [
|
|
28356
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
|
|
28357
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.TooltipContent, { children: tooltipLabel })
|
|
28358
28358
|
] }) }),
|
|
28359
28359
|
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: [
|
|
28360
28360
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
|
|
@@ -28374,7 +28374,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28374
28374
|
}
|
|
28375
28375
|
),
|
|
28376
28376
|
showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28377
|
-
|
|
28377
|
+
_chunkIKUSKKFZcjs.Tag,
|
|
28378
28378
|
{
|
|
28379
28379
|
label: "New Message",
|
|
28380
28380
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
|
|
@@ -28589,8 +28589,8 @@ function TicketTagRow({ tags }) {
|
|
|
28589
28589
|
const visible = tags.slice(0, MAX_VISIBLE_TAGS);
|
|
28590
28590
|
const hidden = tags.length - visible.length;
|
|
28591
28591
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
|
|
28592
|
-
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28593
|
-
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28592
|
+
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Tag, { variant: "outline", label: tag }, tag)),
|
|
28593
|
+
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKUSKKFZcjs.Tag, { variant: "outline", label: `+${hidden}` })
|
|
28594
28594
|
] });
|
|
28595
28595
|
}
|
|
28596
28596
|
|
|
@@ -30247,4 +30247,4 @@ function SortableRow({
|
|
|
30247
30247
|
|
|
30248
30248
|
|
|
30249
30249
|
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.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; 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;
|
|
30250
|
-
//# sourceMappingURL=chunk-
|
|
30250
|
+
//# sourceMappingURL=chunk-QJR32JM2.cjs.map
|