@flamingo-stack/openframe-frontend-core 0.0.579 → 0.0.580-1952.5355.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat-protocol/decode.d.ts.map +1 -1
- package/dist/chat-protocol/events.d.ts +1 -47
- package/dist/chat-protocol/events.d.ts.map +1 -1
- package/dist/chat-protocol/index.cjs +0 -51
- package/dist/chat-protocol/index.cjs.map +1 -1
- package/dist/chat-protocol/index.js +1 -48
- package/dist/chat-protocol/index.js.map +1 -1
- package/dist/chat-protocol/leading-frames.d.ts +3 -9
- package/dist/chat-protocol/leading-frames.d.ts.map +1 -1
- package/dist/chat-protocol/nats-decoder.d.ts +0 -41
- package/dist/chat-protocol/nats-decoder.d.ts.map +1 -1
- package/dist/{chunk-OGZAFM6M.cjs → chunk-3HON5UEM.cjs} +5 -5
- package/dist/{chunk-OGZAFM6M.cjs.map → chunk-3HON5UEM.cjs.map} +1 -1
- package/dist/{chunk-PMENIZXI.js → chunk-3IQ5EPTU.js} +4 -4
- package/dist/{chunk-BCJQ7CJE.cjs → chunk-4VXIRT7T.cjs} +9 -9
- package/dist/{chunk-BCJQ7CJE.cjs.map → chunk-4VXIRT7T.cjs.map} +1 -1
- package/dist/{chunk-IFYQ7DHV.cjs → chunk-5UWZEYWX.cjs} +43 -43
- package/dist/{chunk-IFYQ7DHV.cjs.map → chunk-5UWZEYWX.cjs.map} +1 -1
- package/dist/{chunk-CP5EYMNL.js → chunk-6IIFWQMC.js} +2 -2
- package/dist/{chunk-O2FTVZOD.js → chunk-D6FA6PG5.js} +3 -3
- package/dist/{chunk-DB3TV4CW.js → chunk-DNM5EXQS.js} +3 -3
- package/dist/{chunk-H4BPHGU5.js → chunk-E4VOSHP4.js} +2 -2
- package/dist/{chunk-36TJYCF3.cjs → chunk-E5AYJ337.cjs} +21 -21
- package/dist/{chunk-36TJYCF3.cjs.map → chunk-E5AYJ337.cjs.map} +1 -1
- package/dist/{chunk-H54EPP3P.cjs → chunk-GKKPUEMT.cjs} +4 -4
- package/dist/{chunk-H54EPP3P.cjs.map → chunk-GKKPUEMT.cjs.map} +1 -1
- package/dist/{chunk-BW4WDUSI.js → chunk-GSLJDW4F.js} +2 -2
- package/dist/{chunk-4FJSN2XW.cjs → chunk-GUILHB3S.cjs} +10 -10
- package/dist/{chunk-4FJSN2XW.cjs.map → chunk-GUILHB3S.cjs.map} +1 -1
- package/dist/{chunk-NPVDKOGD.cjs → chunk-IA3HSKNP.cjs} +22 -22
- package/dist/{chunk-NPVDKOGD.cjs.map → chunk-IA3HSKNP.cjs.map} +1 -1
- package/dist/{chunk-FEVLXRTC.cjs → chunk-JHKKXU2F.cjs} +159 -159
- package/dist/{chunk-FEVLXRTC.cjs.map → chunk-JHKKXU2F.cjs.map} +1 -1
- package/dist/{chunk-37XJYOAY.cjs → chunk-JZGN2RH3.cjs} +10 -10
- package/dist/{chunk-37XJYOAY.cjs.map → chunk-JZGN2RH3.cjs.map} +1 -1
- package/dist/{chunk-L2CF2QZW.js → chunk-L2TJ5AIY.js} +5 -5
- package/dist/{chunk-4LZ7B5H5.cjs → chunk-NAT4RZ27.cjs} +3 -3
- package/dist/{chunk-4LZ7B5H5.cjs.map → chunk-NAT4RZ27.cjs.map} +1 -1
- package/dist/{chunk-YW4WBNYV.cjs → chunk-NFZSFZK7.cjs} +24 -24
- package/dist/{chunk-YW4WBNYV.cjs.map → chunk-NFZSFZK7.cjs.map} +1 -1
- package/dist/{chunk-QCP2KV7P.js → chunk-O4NV4EYT.js} +3 -3
- package/dist/{chunk-A6C5HOD7.cjs → chunk-POIFPUEC.cjs} +15 -15
- package/dist/{chunk-A6C5HOD7.cjs.map → chunk-POIFPUEC.cjs.map} +1 -1
- package/dist/{chunk-AKPLEWMH.js → chunk-Q2BEBMWV.js} +2 -2
- package/dist/{chunk-4WSKSNXL.js → chunk-QHEFJMGH.js} +6 -6
- package/dist/{chunk-3AX3ZEY3.js → chunk-QZSNH7XU.js} +1317 -1480
- package/dist/chunk-QZSNH7XU.js.map +1 -0
- package/dist/{chunk-HGA74X35.js → chunk-RCFPYPV5.js} +3 -3
- package/dist/{chunk-PWOYEUIQ.js → chunk-RU2VPCO3.js} +5 -5
- package/dist/{chunk-M5GWCMYE.cjs → chunk-VI5NVHZ5.cjs} +32 -32
- package/dist/{chunk-M5GWCMYE.cjs.map → chunk-VI5NVHZ5.cjs.map} +1 -1
- package/dist/{chunk-HHJVIHVR.cjs → chunk-VMXQASS5.cjs} +69 -69
- package/dist/{chunk-HHJVIHVR.cjs.map → chunk-VMXQASS5.cjs.map} +1 -1
- package/dist/{chunk-QGJYWLF4.js → chunk-VSHN2F34.js} +2 -2
- package/dist/{chunk-RKGOVTXZ.cjs → chunk-VYQNM75R.cjs} +167 -330
- package/dist/chunk-VYQNM75R.cjs.map +1 -0
- package/dist/{chunk-5Y6TPFW7.js → chunk-WXTXA22M.js} +5 -5
- package/dist/{chunk-4HGRXFQP.cjs → chunk-WZRXOP7V.cjs} +3 -3
- package/dist/{chunk-4HGRXFQP.cjs.map → chunk-WZRXOP7V.cjs.map} +1 -1
- package/dist/{chunk-D44S2QLI.js → chunk-Y5XXRM53.js} +3 -3
- 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/index.cjs +2 -10
- package/dist/components/chat/index.cjs.map +1 -1
- package/dist/components/chat/index.d.ts +0 -1
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/chat/index.js +1 -9
- package/dist/components/chat/stream/chat-stream-reducer.d.ts +0 -9
- package/dist/components/chat/stream/chat-stream-reducer.d.ts.map +1 -1
- package/dist/components/chat/stream/delta-batcher.d.ts +3 -3
- package/dist/components/chat/stream/delta-batcher.d.ts.map +1 -1
- package/dist/components/chat/stream/message-mutations.d.ts.map +1 -1
- package/dist/components/chat/types/component.types.d.ts +0 -6
- package/dist/components/chat/types/component.types.d.ts.map +1 -1
- package/dist/components/chat/types/message.types.d.ts +2 -30
- package/dist/components/chat/types/message.types.d.ts.map +1 -1
- package/dist/components/chat/types/network.types.d.ts +1 -3
- package/dist/components/chat/types/network.types.d.ts.map +1 -1
- package/dist/components/chat/types/processing.types.d.ts +1 -4
- package/dist/components/chat/types/processing.types.d.ts.map +1 -1
- package/dist/components/chat/utils/approval-display.d.ts +8 -36
- package/dist/components/chat/utils/approval-display.d.ts.map +1 -1
- package/dist/components/chat/utils/extract-incomplete-message-state.d.ts.map +1 -1
- package/dist/components/chat/utils/index.d.ts +1 -1
- package/dist/components/chat/utils/index.d.ts.map +1 -1
- package/dist/components/chat/utils/message-segment-accumulator.d.ts +4 -16
- package/dist/components/chat/utils/message-segment-accumulator.d.ts.map +1 -1
- package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
- package/dist/components/chat/utils/resolve-fetched-card-href.d.ts +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 +121 -129
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +13 -21
- package/dist/components/index.js.map +1 -1
- package/dist/components/meeting-scheduler/index.cjs +21 -21
- package/dist/components/meeting-scheduler/index.js +2 -2
- package/dist/components/navigation/index.cjs +6 -6
- package/dist/components/navigation/index.js +5 -5
- package/dist/components/onboarding-guides/index.cjs +6 -6
- package/dist/components/onboarding-guides/index.js +5 -5
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/ui/index.cjs +3 -11
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.js +2 -10
- package/dist/index.cjs +7 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +6 -14
- package/dist/index.js.map +1 -1
- 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__/__snapshots__/nats-decoder-golden.test.ts.snap +0 -80
- package/src/chat-protocol/__tests__/nats-decoder-golden.test.ts +1 -118
- package/src/chat-protocol/decode.ts +3 -4
- package/src/chat-protocol/events.ts +0 -51
- package/src/chat-protocol/leading-frames.ts +3 -9
- package/src/chat-protocol/nats-decoder.ts +1 -110
- package/src/components/chat/__tests__/chat-pending-turn.test.tsx +0 -19
- package/src/components/chat/chat-message-enhanced.tsx +1 -13
- package/src/components/chat/index.ts +0 -1
- package/src/components/chat/stream/__tests__/chat-stream-reducer.test.ts +0 -90
- package/src/components/chat/stream/chat-dialog-store.ts +1 -1
- package/src/components/chat/stream/chat-stream-reducer.ts +11 -49
- package/src/components/chat/stream/delta-batcher.ts +4 -9
- package/src/components/chat/stream/message-mutations.ts +0 -2
- package/src/components/chat/types/component.types.ts +0 -9
- package/src/components/chat/types/message.types.ts +0 -32
- package/src/components/chat/types/network.types.ts +1 -3
- package/src/components/chat/types/processing.types.ts +1 -4
- package/src/components/chat/utils/__tests__/process-historical-messages-approvals.test.ts +0 -93
- package/src/components/chat/utils/__tests__/process-historical-messages-golden.test.ts +1 -78
- package/src/components/chat/utils/approval-display.ts +8 -53
- package/src/components/chat/utils/extract-incomplete-message-state.ts +0 -1
- package/src/components/chat/utils/index.ts +1 -6
- package/src/components/chat/utils/message-segment-accumulator.ts +3 -37
- package/src/components/chat/utils/process-historical-messages.ts +7 -44
- package/src/components/chat/utils/resolve-fetched-card-href.ts +1 -1
- package/src/stories/ChatMessageEnhanced.stories.tsx +3 -7
- package/dist/chunk-3AX3ZEY3.js.map +0 -1
- package/dist/chunk-RKGOVTXZ.cjs.map +0 -1
- package/dist/components/chat/guide-display.d.ts +0 -14
- package/dist/components/chat/guide-display.d.ts.map +0 -1
- package/src/components/chat/guide-display.tsx +0 -42
- /package/dist/{chunk-PMENIZXI.js.map → chunk-3IQ5EPTU.js.map} +0 -0
- /package/dist/{chunk-CP5EYMNL.js.map → chunk-6IIFWQMC.js.map} +0 -0
- /package/dist/{chunk-O2FTVZOD.js.map → chunk-D6FA6PG5.js.map} +0 -0
- /package/dist/{chunk-DB3TV4CW.js.map → chunk-DNM5EXQS.js.map} +0 -0
- /package/dist/{chunk-H4BPHGU5.js.map → chunk-E4VOSHP4.js.map} +0 -0
- /package/dist/{chunk-BW4WDUSI.js.map → chunk-GSLJDW4F.js.map} +0 -0
- /package/dist/{chunk-L2CF2QZW.js.map → chunk-L2TJ5AIY.js.map} +0 -0
- /package/dist/{chunk-QCP2KV7P.js.map → chunk-O4NV4EYT.js.map} +0 -0
- /package/dist/{chunk-AKPLEWMH.js.map → chunk-Q2BEBMWV.js.map} +0 -0
- /package/dist/{chunk-4WSKSNXL.js.map → chunk-QHEFJMGH.js.map} +0 -0
- /package/dist/{chunk-HGA74X35.js.map → chunk-RCFPYPV5.js.map} +0 -0
- /package/dist/{chunk-PWOYEUIQ.js.map → chunk-RU2VPCO3.js.map} +0 -0
- /package/dist/{chunk-QGJYWLF4.js.map → chunk-VSHN2F34.js.map} +0 -0
- /package/dist/{chunk-5Y6TPFW7.js.map → chunk-WXTXA22M.js.map} +0 -0
- /package/dist/{chunk-D44S2QLI.js.map → chunk-Y5XXRM53.js.map} +0 -0
|
@@ -89,7 +89,7 @@ var _chunkIKDC3R7Vcjs = require('./chunk-IKDC3R7V.cjs');
|
|
|
89
89
|
|
|
90
90
|
|
|
91
91
|
|
|
92
|
-
var
|
|
92
|
+
var _chunkVYQNM75Rcjs = require('./chunk-VYQNM75R.cjs');
|
|
93
93
|
|
|
94
94
|
|
|
95
95
|
|
|
@@ -329,7 +329,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
329
329
|
var useTheme = _nextthemes.useTheme;
|
|
330
330
|
function useThemeToggle() {
|
|
331
331
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
332
|
-
const mounted =
|
|
332
|
+
const mounted = _chunkVYQNM75Rcjs.useIsHydrated.call(void 0, );
|
|
333
333
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
334
334
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
335
335
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -606,7 +606,7 @@ function TruncateText({
|
|
|
606
606
|
const { ref, isTruncated } = _chunkZI27ALYXcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
|
|
607
607
|
const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
|
|
608
608
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
609
|
-
|
|
609
|
+
_chunkVYQNM75Rcjs.FloatingTooltip,
|
|
610
610
|
{
|
|
611
611
|
content: _nullishCoalesce(tooltip, () => ( children)),
|
|
612
612
|
side,
|
|
@@ -908,7 +908,7 @@ function AutocompleteInner(props, ref) {
|
|
|
908
908
|
),
|
|
909
909
|
/* @__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: [
|
|
910
910
|
multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
911
|
-
|
|
911
|
+
_chunkVYQNM75Rcjs.Tag,
|
|
912
912
|
{
|
|
913
913
|
variant: "outline",
|
|
914
914
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -1114,7 +1114,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1114
1114
|
"aria-hidden": "true",
|
|
1115
1115
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
1116
1116
|
children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1117
|
-
|
|
1117
|
+
_chunkVYQNM75Rcjs.Tag,
|
|
1118
1118
|
{
|
|
1119
1119
|
variant: "outline",
|
|
1120
1120
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -2498,7 +2498,7 @@ function InfoHint({ children, label, side = "top", className }) {
|
|
|
2498
2498
|
const describedById = _react.useId.call(void 0, );
|
|
2499
2499
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
|
|
2500
2500
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2501
|
-
|
|
2501
|
+
_chunkVYQNM75Rcjs.FloatingTooltip,
|
|
2502
2502
|
{
|
|
2503
2503
|
content: children,
|
|
2504
2504
|
side,
|
|
@@ -2592,7 +2592,7 @@ function Value2({ value, depth }) {
|
|
|
2592
2592
|
}
|
|
2593
2593
|
if (typeof value === "string") {
|
|
2594
2594
|
if (ISO_DATE.test(value)) {
|
|
2595
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children:
|
|
2595
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkVYQNM75Rcjs.formatRelativeTime.call(void 0, value) });
|
|
2596
2596
|
}
|
|
2597
2597
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
|
|
2598
2598
|
}
|
|
@@ -3224,7 +3224,7 @@ function RowValue({ value }) {
|
|
|
3224
3224
|
}
|
|
3225
3225
|
case "status": {
|
|
3226
3226
|
const { type: _type, ...props } = value;
|
|
3227
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3227
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.TicketStatusTag, { ...props });
|
|
3228
3228
|
}
|
|
3229
3229
|
case "custom":
|
|
3230
3230
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
|
|
@@ -4135,7 +4135,7 @@ function TagsManager({
|
|
|
4135
4135
|
}
|
|
4136
4136
|
),
|
|
4137
4137
|
selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4138
|
-
|
|
4138
|
+
_chunkVYQNM75Rcjs.Tag,
|
|
4139
4139
|
{
|
|
4140
4140
|
label: tag.name,
|
|
4141
4141
|
variant: "outline",
|
|
@@ -4680,10 +4680,10 @@ function useConfirm() {
|
|
|
4680
4680
|
},
|
|
4681
4681
|
[]
|
|
4682
4682
|
);
|
|
4683
|
-
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4684
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4685
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4686
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4683
|
+
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVYQNM75Rcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
|
|
4684
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ModalTitle, { children: pending.title }) }),
|
|
4685
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
|
|
4686
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVYQNM75Rcjs.ModalFooter, { children: [
|
|
4687
4687
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
|
|
4688
4688
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
|
|
4689
4689
|
] })
|
|
@@ -4741,9 +4741,9 @@ function AdminFormModal({
|
|
|
4741
4741
|
body: "Your edits have not been saved. Close and discard them?"
|
|
4742
4742
|
});
|
|
4743
4743
|
if (!isOpen) return null;
|
|
4744
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4745
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4746
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4744
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVYQNM75Rcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
|
|
4745
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVYQNM75Rcjs.ModalHeader, { children: [
|
|
4746
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ModalTitle, { children: title }),
|
|
4747
4747
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
|
|
4748
4748
|
] }),
|
|
4749
4749
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -4767,7 +4767,7 @@ function AdminFormModal({
|
|
|
4767
4767
|
// a shrink-to-fit flex item pinned to the left of a 1400px panel).
|
|
4768
4768
|
// The placeholder owns its own layout and mirrors the column count so
|
|
4769
4769
|
// the modal doesn't visibly re-flow when the entity lands.
|
|
4770
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4770
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4771
4771
|
"div",
|
|
4772
4772
|
{
|
|
4773
4773
|
"aria-busy": "true",
|
|
@@ -4788,12 +4788,12 @@ function AdminFormModal({
|
|
|
4788
4788
|
]
|
|
4789
4789
|
}
|
|
4790
4790
|
) })
|
|
4791
|
-
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4791
|
+
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ModalContent, { className: contentClassName, children }),
|
|
4792
4792
|
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
|
|
4793
4793
|
]
|
|
4794
4794
|
}
|
|
4795
4795
|
),
|
|
4796
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4796
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
|
|
4797
4797
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
|
|
4798
4798
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
4799
4799
|
footerStatus,
|
|
@@ -6891,7 +6891,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
|
|
|
6891
6891
|
};
|
|
6892
6892
|
const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
|
|
6893
6893
|
const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6894
|
-
|
|
6894
|
+
_chunkVYQNM75Rcjs.Video,
|
|
6895
6895
|
{
|
|
6896
6896
|
url: item.src,
|
|
6897
6897
|
poster: item.poster ? displayImageSrc(item.poster) : void 0,
|
|
@@ -7615,7 +7615,7 @@ function buildRichEmbedOverrides({
|
|
|
7615
7615
|
ogEndpointPath,
|
|
7616
7616
|
textSizes
|
|
7617
7617
|
}) {
|
|
7618
|
-
const standard =
|
|
7618
|
+
const standard = _chunkVYQNM75Rcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7619
7619
|
return {
|
|
7620
7620
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7621
7621
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7625,7 +7625,7 @@ function buildRichEmbedOverrides({
|
|
|
7625
7625
|
const language = match ? match[1] : "";
|
|
7626
7626
|
const fenceText = () => String(children).replace(/\n$/, "").trim();
|
|
7627
7627
|
if (language === "youtube-embed") {
|
|
7628
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7628
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.Video, { kind: "youtube", url: fenceText() });
|
|
7629
7629
|
}
|
|
7630
7630
|
if (language === "reddit-embed") {
|
|
7631
7631
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
|
|
@@ -7666,7 +7666,7 @@ function buildRichEmbedOverrides({
|
|
|
7666
7666
|
"data-figma-url": figmaUrl
|
|
7667
7667
|
} = divProps;
|
|
7668
7668
|
if (className === "youtube-embed" && videoId) {
|
|
7669
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7669
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.Video, { kind: "youtube", url: videoId });
|
|
7670
7670
|
}
|
|
7671
7671
|
if (className === "reddit-embed" && postUrl) {
|
|
7672
7672
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
|
|
@@ -7751,14 +7751,14 @@ function buildRichEmbedOverrides({
|
|
|
7751
7751
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7752
7752
|
// elsewhere). Guard against empty `![]()`.
|
|
7753
7753
|
img: ({ src, alt }) => {
|
|
7754
|
-
if (!
|
|
7754
|
+
if (!_chunkVYQNM75Rcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7755
7755
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7756
7756
|
},
|
|
7757
7757
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
7758
7758
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
7759
7759
|
video: ({ src, poster, className }) => {
|
|
7760
|
-
if (!
|
|
7761
|
-
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,
|
|
7760
|
+
if (!_chunkVYQNM75Rcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7761
|
+
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, _chunkVYQNM75Rcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
7762
7762
|
}
|
|
7763
7763
|
};
|
|
7764
7764
|
}
|
|
@@ -7941,13 +7941,13 @@ var RichMarkdownInner = ({
|
|
|
7941
7941
|
},
|
|
7942
7942
|
[resolveLinkEndpointUrl, resolveSource]
|
|
7943
7943
|
);
|
|
7944
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
7944
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunkVYQNM75Rcjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
7945
7945
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
7946
7946
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
7947
7947
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
7948
7948
|
);
|
|
7949
7949
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7950
|
-
|
|
7950
|
+
_chunkVYQNM75Rcjs.MarkdownEngine,
|
|
7951
7951
|
{
|
|
7952
7952
|
content,
|
|
7953
7953
|
className,
|
|
@@ -7969,7 +7969,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
7969
7969
|
className = "",
|
|
7970
7970
|
sectionIds,
|
|
7971
7971
|
onInternalLinkClick,
|
|
7972
|
-
brokenLinks =
|
|
7972
|
+
brokenLinks = _chunkVYQNM75Rcjs.NO_BROKEN_LINKS,
|
|
7973
7973
|
currentPath,
|
|
7974
7974
|
resolveSource = "openframe-docs",
|
|
7975
7975
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -8542,7 +8542,7 @@ function FilterModal({
|
|
|
8542
8542
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _161 => _161.defaultSort]), () => ( "desc"));
|
|
8543
8543
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _162 => _162.sort]), () => ( dateDefaultSort)));
|
|
8544
8544
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _163 => _163.range]));
|
|
8545
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
8545
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkVYQNM75Rcjs.useScrollFade.call(void 0, );
|
|
8546
8546
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
8547
8547
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
8548
8548
|
_react.useEffect.call(void 0, () => {
|
|
@@ -8587,10 +8587,10 @@ function FilterModal({
|
|
|
8587
8587
|
const hasFilterGroups = filterGroups.length > 0;
|
|
8588
8588
|
const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
|
|
8589
8589
|
const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
|
|
8590
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8591
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8590
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVYQNM75Rcjs.Modal, { isOpen, onClose, className: _chunkPRPZBXWZcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
|
|
8591
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ModalTitle, { children: title }) }),
|
|
8592
8592
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8593
|
-
|
|
8593
|
+
_chunkVYQNM75Rcjs.ModalContent,
|
|
8594
8594
|
{
|
|
8595
8595
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
8596
8596
|
"flex min-h-0 flex-1 flex-col",
|
|
@@ -8682,12 +8682,12 @@ function FilterModal({
|
|
|
8682
8682
|
] })
|
|
8683
8683
|
}
|
|
8684
8684
|
),
|
|
8685
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8686
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8685
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
8686
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
8687
8687
|
] })
|
|
8688
8688
|
}
|
|
8689
8689
|
),
|
|
8690
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8690
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVYQNM75Rcjs.ModalFooter, { children: [
|
|
8691
8691
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
|
|
8692
8692
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
|
|
8693
8693
|
] })
|
|
@@ -8731,9 +8731,9 @@ function actionToMenuItems(action, idx) {
|
|
|
8731
8731
|
function renderActionButton(action, opts = {}) {
|
|
8732
8732
|
const button = renderRawActionButton(action, opts);
|
|
8733
8733
|
if (!action.tooltip) return button;
|
|
8734
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8735
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8736
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8734
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVYQNM75Rcjs.Tooltip, { children: [
|
|
8735
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.TooltipTrigger, { asChild: true, children: button }),
|
|
8736
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.TooltipContent, { children: action.tooltip })
|
|
8737
8737
|
] }) });
|
|
8738
8738
|
}
|
|
8739
8739
|
function renderRawActionButton(action, opts = {}) {
|
|
@@ -8757,7 +8757,7 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
8757
8757
|
}
|
|
8758
8758
|
if (action.submenu && action.submenu.length > 0) {
|
|
8759
8759
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8760
|
-
|
|
8760
|
+
_chunkVYQNM75Rcjs.ActionsMenuDropdown,
|
|
8761
8761
|
{
|
|
8762
8762
|
groups: [{ items: action.submenu }],
|
|
8763
8763
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -8892,10 +8892,10 @@ function IconButtonsVariant({
|
|
|
8892
8892
|
selector,
|
|
8893
8893
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8894
8894
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
|
|
8895
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8895
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ActionsMenuDropdown, { groups: menuActions })
|
|
8896
8896
|
] })
|
|
8897
8897
|
] }),
|
|
8898
|
-
/* @__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,
|
|
8898
|
+
/* @__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, _chunkVYQNM75Rcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
|
|
8899
8899
|
] });
|
|
8900
8900
|
}
|
|
8901
8901
|
function PrimaryButtonsVariant({
|
|
@@ -8933,11 +8933,11 @@ function MenuPrimaryVariant({
|
|
|
8933
8933
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
|
|
8934
8934
|
selector,
|
|
8935
8935
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8936
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8936
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ActionsMenuDropdown, { groups: menuActions }),
|
|
8937
8937
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
|
|
8938
8938
|
] })
|
|
8939
8939
|
] }),
|
|
8940
|
-
/* @__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, {}) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8940
|
+
/* @__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, {}) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
|
|
8941
8941
|
] });
|
|
8942
8942
|
}
|
|
8943
8943
|
function MobileBottomActions({ actions, loading }) {
|
|
@@ -9339,7 +9339,7 @@ function TitleBlock({
|
|
|
9339
9339
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
9340
9340
|
(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: [
|
|
9341
9341
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9342
|
-
|
|
9342
|
+
_chunkVYQNM75Rcjs.FloatingTooltip,
|
|
9343
9343
|
{
|
|
9344
9344
|
content: title,
|
|
9345
9345
|
side: "bottom",
|
|
@@ -9356,12 +9356,12 @@ function TitleBlock({
|
|
|
9356
9356
|
}
|
|
9357
9357
|
),
|
|
9358
9358
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9359
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9359
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.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 }) })),
|
|
9360
9360
|
hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
|
|
9361
9361
|
empty `p` collapses to zero height (its only content would be
|
|
9362
9362
|
collapsible whitespace), which is exactly the shift that mode
|
|
9363
9363
|
exists to prevent. Hidden from AT — it carries no meaning. */
|
|
9364
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9364
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9365
9365
|
"p",
|
|
9366
9366
|
{
|
|
9367
9367
|
ref: subtitleRef,
|
|
@@ -9372,7 +9372,7 @@ function TitleBlock({
|
|
|
9372
9372
|
) })
|
|
9373
9373
|
] })
|
|
9374
9374
|
] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9375
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9375
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.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 }) }),
|
|
9376
9376
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9377
9377
|
] }) : (
|
|
9378
9378
|
/* This branch never had the single-line clamp, so text already
|
|
@@ -10969,7 +10969,7 @@ function extractSections(markdown, options = {}) {
|
|
|
10969
10969
|
if (heading.level > opts.maxLevel) continue;
|
|
10970
10970
|
let title = heading.text;
|
|
10971
10971
|
if (opts.stripFormattingMarkers) {
|
|
10972
|
-
title =
|
|
10972
|
+
title = _chunkVYQNM75Rcjs.stripInlineMarkdown.call(void 0, title).trim();
|
|
10973
10973
|
}
|
|
10974
10974
|
const baseId = _chunkZI27ALYXcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkZI27ALYXcjs.stripHeadingEmojis.call(void 0, title) : title);
|
|
10975
10975
|
const cleanId = baseId || `section-${sections.length + 1}`;
|
|
@@ -11461,7 +11461,7 @@ function DashboardInfoCard({
|
|
|
11461
11461
|
const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
|
|
11462
11462
|
if (asTag) {
|
|
11463
11463
|
const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
|
|
11464
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11464
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
|
|
11465
11465
|
}
|
|
11466
11466
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
|
|
11467
11467
|
"(",
|
|
@@ -11515,7 +11515,7 @@ function DashboardInfoCard({
|
|
|
11515
11515
|
/* @__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 }),
|
|
11516
11516
|
subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
|
|
11517
11517
|
renderPercentage(),
|
|
11518
|
-
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11518
|
+
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.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 }) }) })
|
|
11519
11519
|
] })
|
|
11520
11520
|
] }),
|
|
11521
11521
|
renderProgress()
|
|
@@ -11698,7 +11698,7 @@ function DeviceCard({
|
|
|
11698
11698
|
] }),
|
|
11699
11699
|
(statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
|
|
11700
11700
|
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11701
|
-
|
|
11701
|
+
_chunkVYQNM75Rcjs.Tag,
|
|
11702
11702
|
{
|
|
11703
11703
|
variant: statusTag.variant,
|
|
11704
11704
|
icon: statusTag.icon,
|
|
@@ -11712,7 +11712,7 @@ function DeviceCard({
|
|
|
11712
11712
|
formatLastSeen(device.lastSeen)
|
|
11713
11713
|
] })
|
|
11714
11714
|
] }),
|
|
11715
|
-
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,
|
|
11715
|
+
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, _chunkVYQNM75Rcjs.Tag, { variant: "outline", label: tag }, index)) })
|
|
11716
11716
|
]
|
|
11717
11717
|
}
|
|
11718
11718
|
);
|
|
@@ -11860,7 +11860,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
|
|
|
11860
11860
|
|
|
11861
11861
|
function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
|
|
11862
11862
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11863
|
-
|
|
11863
|
+
_chunkVYQNM75Rcjs.FloatingTooltip,
|
|
11864
11864
|
{
|
|
11865
11865
|
as: "span",
|
|
11866
11866
|
side: "top",
|
|
@@ -12044,7 +12044,7 @@ function DropdownButton({
|
|
|
12044
12044
|
)
|
|
12045
12045
|
);
|
|
12046
12046
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12047
|
-
|
|
12047
|
+
_chunkVYQNM75Rcjs.ActionsMenuDropdown,
|
|
12048
12048
|
{
|
|
12049
12049
|
groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
|
|
12050
12050
|
open,
|
|
@@ -12282,7 +12282,7 @@ function ServiceCardRowItem({ row }) {
|
|
|
12282
12282
|
),
|
|
12283
12283
|
children: [
|
|
12284
12284
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12285
|
-
|
|
12285
|
+
_chunkVYQNM75Rcjs.FloatingTooltip,
|
|
12286
12286
|
{
|
|
12287
12287
|
content: row.value,
|
|
12288
12288
|
side: "top",
|
|
@@ -12408,9 +12408,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
12408
12408
|
return next;
|
|
12409
12409
|
});
|
|
12410
12410
|
};
|
|
12411
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12411
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVYQNM75Rcjs.Tooltip, { open, onOpenChange: setOpen, children: [
|
|
12412
12412
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12413
|
-
|
|
12413
|
+
_chunkVYQNM75Rcjs.TooltipTrigger,
|
|
12414
12414
|
{
|
|
12415
12415
|
asChild: true,
|
|
12416
12416
|
onPointerDown: (e) => {
|
|
@@ -12428,7 +12428,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
12428
12428
|
children
|
|
12429
12429
|
}
|
|
12430
12430
|
),
|
|
12431
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12431
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.TooltipContent, { side, className: "max-w-xs", children: content })
|
|
12432
12432
|
] }) });
|
|
12433
12433
|
}
|
|
12434
12434
|
|
|
@@ -13443,9 +13443,9 @@ function TruncatedHeaderCell({ value, width }) {
|
|
|
13443
13443
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
13444
13444
|
}
|
|
13445
13445
|
}, []);
|
|
13446
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13447
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13448
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13446
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVYQNM75Rcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
13447
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.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 }) }) }),
|
|
13448
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
|
|
13449
13449
|
] }) });
|
|
13450
13450
|
}
|
|
13451
13451
|
|
|
@@ -13498,9 +13498,9 @@ function TruncatedCell({ value, className }) {
|
|
|
13498
13498
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
13499
13499
|
}
|
|
13500
13500
|
}, []);
|
|
13501
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13502
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13503
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13501
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVYQNM75Rcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
13502
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.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 }) }),
|
|
13503
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
|
|
13504
13504
|
] }) });
|
|
13505
13505
|
}
|
|
13506
13506
|
|
|
@@ -14784,7 +14784,7 @@ function SearchInput({
|
|
|
14784
14784
|
/* @__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, {}) }),
|
|
14785
14785
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
|
|
14786
14786
|
visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14787
|
-
|
|
14787
|
+
_chunkVYQNM75Rcjs.Tag,
|
|
14788
14788
|
{
|
|
14789
14789
|
variant: chipVariantToTagVariant(chip.variant),
|
|
14790
14790
|
label: chip.label,
|
|
@@ -14898,7 +14898,7 @@ function SearchInput({
|
|
|
14898
14898
|
}
|
|
14899
14899
|
),
|
|
14900
14900
|
/* @__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,
|
|
14901
|
-
|
|
14901
|
+
_chunkVYQNM75Rcjs.Tag,
|
|
14902
14902
|
{
|
|
14903
14903
|
variant: chipVariantToTagVariant(chip.variant),
|
|
14904
14904
|
label: chip.label,
|
|
@@ -15111,7 +15111,7 @@ function TagSearchInput({
|
|
|
15111
15111
|
/* @__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" }) }),
|
|
15112
15112
|
/* @__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: [
|
|
15113
15113
|
visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15114
|
-
|
|
15114
|
+
_chunkVYQNM75Rcjs.Tag,
|
|
15115
15115
|
{
|
|
15116
15116
|
variant: "outline",
|
|
15117
15117
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -15199,7 +15199,7 @@ function TagSearchInput({
|
|
|
15199
15199
|
"aria-hidden": "true",
|
|
15200
15200
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
15201
15201
|
children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15202
|
-
|
|
15202
|
+
_chunkVYQNM75Rcjs.Tag,
|
|
15203
15203
|
{
|
|
15204
15204
|
variant: "outline",
|
|
15205
15205
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -16088,20 +16088,20 @@ function ColorPresetSelect({
|
|
|
16088
16088
|
...presets.map((p) => ({
|
|
16089
16089
|
id: p.key,
|
|
16090
16090
|
label: p.label,
|
|
16091
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16091
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ColorSwatch, { color: p.color }),
|
|
16092
16092
|
onClick: () => onChange({ color: p.color, preset: p.key })
|
|
16093
16093
|
})),
|
|
16094
16094
|
{
|
|
16095
16095
|
id: CUSTOM_PRESET_KEY,
|
|
16096
16096
|
label: "Custom",
|
|
16097
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16097
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
|
|
16098
16098
|
onClick: () => onChange({ color: value, preset: void 0 })
|
|
16099
16099
|
}
|
|
16100
16100
|
]
|
|
16101
16101
|
}
|
|
16102
16102
|
];
|
|
16103
16103
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16104
|
-
|
|
16104
|
+
_chunkVYQNM75Rcjs.ActionsMenuDropdown,
|
|
16105
16105
|
{
|
|
16106
16106
|
groups,
|
|
16107
16107
|
align: "start",
|
|
@@ -16111,7 +16111,7 @@ function ColorPresetSelect({
|
|
|
16111
16111
|
{
|
|
16112
16112
|
disabled,
|
|
16113
16113
|
"aria-label": `Color: ${displayLabel}`,
|
|
16114
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16114
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ColorSwatch, { color: displayColor }),
|
|
16115
16115
|
selectedLabel: displayLabel,
|
|
16116
16116
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16117
16117
|
className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
|
|
@@ -16132,7 +16132,7 @@ function HexInputs({ value, onChange }) {
|
|
|
16132
16132
|
}
|
|
16133
16133
|
const commit = () => {
|
|
16134
16134
|
const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
|
|
16135
|
-
if (
|
|
16135
|
+
if (_chunkVYQNM75Rcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
|
|
16136
16136
|
else setDraft(value);
|
|
16137
16137
|
};
|
|
16138
16138
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -16196,12 +16196,12 @@ function ChannelInput({
|
|
|
16196
16196
|
);
|
|
16197
16197
|
}
|
|
16198
16198
|
function RgbInputs({ value, onChange }) {
|
|
16199
|
-
const rgb = _nullishCoalesce(
|
|
16199
|
+
const rgb = _nullishCoalesce(_chunkVYQNM75Rcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16200
16200
|
const update = (next) => {
|
|
16201
16201
|
const r = _nullishCoalesce(next.r, () => ( rgb.r));
|
|
16202
16202
|
const g = _nullishCoalesce(next.g, () => ( rgb.g));
|
|
16203
16203
|
const b = _nullishCoalesce(next.b, () => ( rgb.b));
|
|
16204
|
-
onChange(
|
|
16204
|
+
onChange(_chunkVYQNM75Rcjs.rgbToHex.call(void 0, r, g, b));
|
|
16205
16205
|
};
|
|
16206
16206
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16207
16207
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
|
|
@@ -16210,14 +16210,14 @@ function RgbInputs({ value, onChange }) {
|
|
|
16210
16210
|
] });
|
|
16211
16211
|
}
|
|
16212
16212
|
function HslInputs({ value, onChange }) {
|
|
16213
|
-
const rgb = _nullishCoalesce(
|
|
16214
|
-
const hsl =
|
|
16213
|
+
const rgb = _nullishCoalesce(_chunkVYQNM75Rcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16214
|
+
const hsl = _chunkVYQNM75Rcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
|
|
16215
16215
|
const update = (next) => {
|
|
16216
16216
|
const h = _nullishCoalesce(next.h, () => ( hsl.h));
|
|
16217
16217
|
const s = _nullishCoalesce(next.s, () => ( hsl.s));
|
|
16218
16218
|
const l = _nullishCoalesce(next.l, () => ( hsl.l));
|
|
16219
|
-
const out =
|
|
16220
|
-
onChange(
|
|
16219
|
+
const out = _chunkVYQNM75Rcjs.hslToRgb.call(void 0, h, s, l);
|
|
16220
|
+
onChange(_chunkVYQNM75Rcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
|
|
16221
16221
|
};
|
|
16222
16222
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16223
16223
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
|
|
@@ -16243,7 +16243,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16243
16243
|
{
|
|
16244
16244
|
disabled,
|
|
16245
16245
|
"aria-label": "Pick custom color",
|
|
16246
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16246
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ColorSwatch, { color: value }),
|
|
16247
16247
|
selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
|
|
16248
16248
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16249
16249
|
className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
|
|
@@ -16259,7 +16259,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16259
16259
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
|
|
16260
16260
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
16261
16261
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16262
|
-
|
|
16262
|
+
_chunkVYQNM75Rcjs.ActionsMenuDropdown,
|
|
16263
16263
|
{
|
|
16264
16264
|
groups: formatGroups,
|
|
16265
16265
|
align: "start",
|
|
@@ -16316,7 +16316,7 @@ function TicketStatusConfigRow({
|
|
|
16316
16316
|
const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
|
|
16317
16317
|
const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
|
|
16318
16318
|
const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16319
|
-
|
|
16319
|
+
_chunkVYQNM75Rcjs.TicketStatusTag,
|
|
16320
16320
|
{
|
|
16321
16321
|
status: statusKey,
|
|
16322
16322
|
label: name || " ",
|
|
@@ -16468,7 +16468,7 @@ function formatTestRunDuration(ms) {
|
|
|
16468
16468
|
var RESULT_COLUMN_MIN_WIDTH = 176;
|
|
16469
16469
|
var SKELETON_COLUMNS = 6;
|
|
16470
16470
|
function TestResultsSkeleton() {
|
|
16471
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16471
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
16472
16472
|
/* @__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}`)) }),
|
|
16473
16473
|
/* @__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}`)) }) })
|
|
16474
16474
|
] }) });
|
|
@@ -16503,7 +16503,7 @@ function TestResultsTable({ rows, loading }) {
|
|
|
16503
16503
|
if (loading) {
|
|
16504
16504
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
16505
16505
|
}
|
|
16506
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16506
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.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: [
|
|
16507
16507
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
16508
16508
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
16509
16509
|
] }) }) });
|
|
@@ -16563,7 +16563,7 @@ var TEST_RUN_STATUS_TAGS = {
|
|
|
16563
16563
|
function TestRunStatusStat({ status, className }) {
|
|
16564
16564
|
const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
|
|
16565
16565
|
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: [
|
|
16566
|
-
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16566
|
+
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.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: "-" }),
|
|
16567
16567
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
|
|
16568
16568
|
] });
|
|
16569
16569
|
}
|
|
@@ -16606,7 +16606,7 @@ function useTestRunState(campaign) {
|
|
|
16606
16606
|
const firstError = isFinished && campaign.errors.length > 0 ? campaign.errors[0].error : null;
|
|
16607
16607
|
const status = isActive ? "running" : hasRun && isFinished ? firstError ? "error" : "success" : "idle";
|
|
16608
16608
|
const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
|
|
16609
|
-
const startedLabel = showTiming && campaign.startedAt ?
|
|
16609
|
+
const startedLabel = showTiming && campaign.startedAt ? _chunkVYQNM75Rcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
|
|
16610
16610
|
const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
|
|
16611
16611
|
const displayRows = _react.useMemo.call(void 0,
|
|
16612
16612
|
() => campaign.results.map(
|
|
@@ -16944,7 +16944,7 @@ function TicketInfoSection({
|
|
|
16944
16944
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _390 => _390.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _391 => _391.icon]), onClick: _optionalChain([device, 'optionalAccess', _392 => _392.onClick]) }),
|
|
16945
16945
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
16946
16946
|
(status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16947
|
-
|
|
16947
|
+
_chunkVYQNM75Rcjs.TicketStatusTag,
|
|
16948
16948
|
{
|
|
16949
16949
|
status: _nullishCoalesce(status, () => ( "")),
|
|
16950
16950
|
label: statusLabel,
|
|
@@ -16983,9 +16983,9 @@ function TicketInfoSection({
|
|
|
16983
16983
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16984
16984
|
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" }) }),
|
|
16985
16985
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
|
|
16986
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16986
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.SimpleMarkdownRenderer, { content: description }),
|
|
16987
16987
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
16988
|
-
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,
|
|
16988
|
+
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, _chunkVYQNM75Rcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
|
|
16989
16989
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16990
16990
|
TicketNotesSection,
|
|
16991
16991
|
{
|
|
@@ -17008,7 +17008,7 @@ function renderTicketStatusOption(option, isSelected) {
|
|
|
17008
17008
|
const { label, color } = option;
|
|
17009
17009
|
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: [
|
|
17010
17010
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
17011
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17011
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ColorSwatch, { color }),
|
|
17012
17012
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
|
|
17013
17013
|
] }),
|
|
17014
17014
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -17053,9 +17053,9 @@ function TakeOverTicketModal({
|
|
|
17053
17053
|
if (!selectedStatusId || !assigneeId || isPending) return;
|
|
17054
17054
|
onConfirm({ statusId: selectedStatusId, assigneeId });
|
|
17055
17055
|
};
|
|
17056
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17056
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVYQNM75Rcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17057
17057
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17058
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17058
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ModalTitle, { children: "Take Over Ticket" }) }),
|
|
17059
17059
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17060
17060
|
"The ticket ",
|
|
17061
17061
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17070,7 +17070,7 @@ function TakeOverTicketModal({
|
|
|
17070
17070
|
value: selectedStatusId,
|
|
17071
17071
|
onChange: setStatusId,
|
|
17072
17072
|
placeholder: "Select Status",
|
|
17073
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17073
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17074
17074
|
renderOption: renderTicketStatusOption
|
|
17075
17075
|
}
|
|
17076
17076
|
) }),
|
|
@@ -17097,7 +17097,7 @@ function TakeOverTicketModal({
|
|
|
17097
17097
|
}
|
|
17098
17098
|
) })
|
|
17099
17099
|
] }),
|
|
17100
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17100
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVYQNM75Rcjs.ModalFooter, { children: [
|
|
17101
17101
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17102
17102
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17103
17103
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17156,9 +17156,9 @@ function ReopenTicketModal({
|
|
|
17156
17156
|
reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
|
|
17157
17157
|
});
|
|
17158
17158
|
};
|
|
17159
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17159
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVYQNM75Rcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17160
17160
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17161
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17161
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17162
17162
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17163
17163
|
"The ticket ",
|
|
17164
17164
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17173,7 +17173,7 @@ function ReopenTicketModal({
|
|
|
17173
17173
|
value: selectedStatusId,
|
|
17174
17174
|
onChange: setStatusId,
|
|
17175
17175
|
placeholder: "Select Status",
|
|
17176
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17176
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17177
17177
|
renderOption: renderTicketStatusOption
|
|
17178
17178
|
}
|
|
17179
17179
|
) }),
|
|
@@ -17211,7 +17211,7 @@ function ReopenTicketModal({
|
|
|
17211
17211
|
disabled: isPending
|
|
17212
17212
|
}
|
|
17213
17213
|
) }),
|
|
17214
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17214
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVYQNM75Rcjs.ModalFooter, { children: [
|
|
17215
17215
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17216
17216
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17217
17217
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17259,9 +17259,9 @@ function ReopenTicketRequestModal({
|
|
|
17259
17259
|
...showHandoffOption ? { handoffToTechnician: handoff } : {}
|
|
17260
17260
|
});
|
|
17261
17261
|
};
|
|
17262
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17262
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVYQNM75Rcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17263
17263
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17264
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17264
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17265
17265
|
/* @__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." }),
|
|
17266
17266
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17267
17267
|
Textarea,
|
|
@@ -17285,7 +17285,7 @@ function ReopenTicketRequestModal({
|
|
|
17285
17285
|
disabled: isPending
|
|
17286
17286
|
}
|
|
17287
17287
|
),
|
|
17288
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17288
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVYQNM75Rcjs.ModalFooter, { children: [
|
|
17289
17289
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
|
|
17290
17290
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
|
|
17291
17291
|
] })
|
|
@@ -19282,7 +19282,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
|
|
|
19282
19282
|
sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
|
|
19283
19283
|
title: config.title,
|
|
19284
19284
|
loading: "eager",
|
|
19285
|
-
...
|
|
19285
|
+
..._chunkVYQNM75Rcjs.fetchPriorityProp.call(void 0, "high")
|
|
19286
19286
|
},
|
|
19287
19287
|
iframeKey
|
|
19288
19288
|
),
|
|
@@ -20132,7 +20132,7 @@ function MediaGalleryManager({
|
|
|
20132
20132
|
/* @__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" ? (
|
|
20133
20133
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
20134
20134
|
// fit="cover" crops to the aspect-video cell.
|
|
20135
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20135
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
|
|
20136
20136
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20137
20137
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
20138
20138
|
{
|
|
@@ -20689,9 +20689,9 @@ function PushButtonSelector({
|
|
|
20689
20689
|
option.id
|
|
20690
20690
|
);
|
|
20691
20691
|
if (option.disabled && option.disabledReason) {
|
|
20692
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
20693
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20694
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20692
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVYQNM75Rcjs.Tooltip, { children: [
|
|
20693
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.TooltipTrigger, { asChild: true, children: optionEl }),
|
|
20694
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
|
|
20695
20695
|
] }, option.id);
|
|
20696
20696
|
}
|
|
20697
20697
|
return optionEl;
|
|
@@ -20728,7 +20728,7 @@ function PushButtonSelector({
|
|
|
20728
20728
|
ungroupedOptions.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-2", children: ungroupedOptions.map(renderOption) })
|
|
20729
20729
|
] });
|
|
20730
20730
|
};
|
|
20731
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20731
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
|
|
20732
20732
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
20733
20733
|
renderOptionsContent(),
|
|
20734
20734
|
selectionSummary && validSelectedIds.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rounded-lg border border-ods-success bg-ods-success-secondary p-4", children: [
|
|
@@ -20891,7 +20891,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
|
|
|
20891
20891
|
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" ? (
|
|
20892
20892
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
20893
20893
|
// fit="cover" crops to the aspect-video cell.
|
|
20894
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20894
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
20895
20895
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20896
20896
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
20897
20897
|
{
|
|
@@ -21024,7 +21024,7 @@ var SelectButton = _react2.default.forwardRef(
|
|
|
21024
21024
|
}
|
|
21025
21025
|
)
|
|
21026
21026
|
] }),
|
|
21027
|
-
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21027
|
+
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
|
|
21028
21028
|
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
|
|
21029
21029
|
]
|
|
21030
21030
|
}
|
|
@@ -21810,7 +21810,7 @@ function VideoBitesDisplay({
|
|
|
21810
21810
|
filterPublished = true,
|
|
21811
21811
|
showTitle = true
|
|
21812
21812
|
}) {
|
|
21813
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21813
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
21814
21814
|
}
|
|
21815
21815
|
|
|
21816
21816
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -21879,7 +21879,7 @@ function WalkthroughVideo({
|
|
|
21879
21879
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
21880
21880
|
};
|
|
21881
21881
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
|
|
21882
|
-
const hydrated =
|
|
21882
|
+
const hydrated = _chunkVYQNM75Rcjs.useIsHydrated.call(void 0, );
|
|
21883
21883
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
21884
21884
|
if (!hydrated) return false;
|
|
21885
21885
|
try {
|
|
@@ -22276,7 +22276,7 @@ function WalkthroughVideo({
|
|
|
22276
22276
|
},
|
|
22277
22277
|
children: [
|
|
22278
22278
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22279
|
-
|
|
22279
|
+
_chunkVYQNM75Rcjs.VideoHoverPreviewSurface,
|
|
22280
22280
|
{
|
|
22281
22281
|
url: video.mainVideoUrl || "",
|
|
22282
22282
|
posterUrl: video.posterUrl,
|
|
@@ -22299,7 +22299,7 @@ function WalkthroughVideo({
|
|
|
22299
22299
|
`card-${embedUrlKey}`
|
|
22300
22300
|
) }),
|
|
22301
22301
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22302
|
-
|
|
22302
|
+
_chunkVYQNM75Rcjs.CardHitLayer,
|
|
22303
22303
|
{
|
|
22304
22304
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
22305
22305
|
onPointerDown: pausePreviewNow,
|
|
@@ -22308,7 +22308,7 @@ function WalkthroughVideo({
|
|
|
22308
22308
|
}
|
|
22309
22309
|
),
|
|
22310
22310
|
/* @__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: [
|
|
22311
|
-
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,
|
|
22311
|
+
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, _chunkVYQNM75Rcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
|
|
22312
22312
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
|
|
22313
22313
|
] }),
|
|
22314
22314
|
showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22321,7 +22321,7 @@ function WalkthroughVideo({
|
|
|
22321
22321
|
onPointerDown: (e) => e.stopPropagation(),
|
|
22322
22322
|
onClick: onUnmuteOrPlay,
|
|
22323
22323
|
className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
|
|
22324
|
-
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22324
|
+
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.VideoUnmuteGlyph, {})
|
|
22325
22325
|
}
|
|
22326
22326
|
),
|
|
22327
22327
|
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: [
|
|
@@ -22414,7 +22414,7 @@ function WalkthroughVideo({
|
|
|
22414
22414
|
children: [
|
|
22415
22415
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
22416
22416
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22417
|
-
|
|
22417
|
+
_chunkVYQNM75Rcjs.Video,
|
|
22418
22418
|
{
|
|
22419
22419
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
22420
22420
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -22465,7 +22465,7 @@ function InlineWalkthroughVideo(props) {
|
|
|
22465
22465
|
var _reactquery = require('@tanstack/react-query');
|
|
22466
22466
|
function useWalkthroughVideo(opts) {
|
|
22467
22467
|
const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
|
|
22468
|
-
const captions =
|
|
22468
|
+
const captions = _chunkVYQNM75Rcjs.useCaptions.call(void 0, );
|
|
22469
22469
|
const query = _reactquery.useQuery.call(void 0, {
|
|
22470
22470
|
queryKey: ["walkthrough-video", endpoint],
|
|
22471
22471
|
enabled,
|
|
@@ -22663,7 +22663,7 @@ function VideoSourceSelector({
|
|
|
22663
22663
|
}
|
|
22664
22664
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
22665
22665
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
|
|
22666
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22666
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.Video, { kind: "file", url: videoUrl }) }),
|
|
22667
22667
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22668
22668
|
"button",
|
|
22669
22669
|
{
|
|
@@ -23187,7 +23187,7 @@ function HighlightVideoSection({
|
|
|
23187
23187
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
23188
23188
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
23189
23189
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
|
|
23190
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23190
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
|
|
23191
23191
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23192
23192
|
"button",
|
|
23193
23193
|
{
|
|
@@ -23923,7 +23923,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
|
23923
23923
|
] });
|
|
23924
23924
|
};
|
|
23925
23925
|
var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
|
|
23926
|
-
const { innerRef, containerStyle } =
|
|
23926
|
+
const { innerRef, containerStyle } = _chunkVYQNM75Rcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
|
|
23927
23927
|
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
23928
23928
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
23929
23929
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -24091,7 +24091,7 @@ function WaitlistForm({
|
|
|
24091
24091
|
const { toast } = _chunkLEISUAHFcjs.useToast.call(void 0, );
|
|
24092
24092
|
const { honeypotInputProps, getSignals, resetSignals } = _chunkLEISUAHFcjs.useHumanitySignals.call(void 0, );
|
|
24093
24093
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
24094
|
-
const isClient =
|
|
24094
|
+
const isClient = _chunkVYQNM75Rcjs.useIsHydrated.call(void 0, );
|
|
24095
24095
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
24096
24096
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
24097
24097
|
const isMailDomainGeneric = hasGenericEmailDomain(email);
|
|
@@ -24895,7 +24895,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
24895
24895
|
"data-state": open ? "open" : "closed",
|
|
24896
24896
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
24897
24897
|
"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",
|
|
24898
|
-
|
|
24898
|
+
_chunkVYQNM75Rcjs.OVERLAY_BACKDROP_CLASS,
|
|
24899
24899
|
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
24900
24900
|
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
24901
24901
|
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
@@ -24971,11 +24971,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
24971
24971
|
}
|
|
24972
24972
|
);
|
|
24973
24973
|
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
24974
|
-
var AppLayoutDrawerHeader =
|
|
24975
|
-
var AppLayoutDrawerTitle =
|
|
24976
|
-
var AppLayoutDrawerDescription =
|
|
24977
|
-
var AppLayoutDrawerBody =
|
|
24978
|
-
var AppLayoutDrawerFooter =
|
|
24974
|
+
var AppLayoutDrawerHeader = _chunkVYQNM75Rcjs.DrawerHeader;
|
|
24975
|
+
var AppLayoutDrawerTitle = _chunkVYQNM75Rcjs.DrawerTitle;
|
|
24976
|
+
var AppLayoutDrawerDescription = _chunkVYQNM75Rcjs.DrawerDescription;
|
|
24977
|
+
var AppLayoutDrawerBody = _chunkVYQNM75Rcjs.DrawerBody;
|
|
24978
|
+
var AppLayoutDrawerFooter = _chunkVYQNM75Rcjs.DrawerFooter;
|
|
24979
24979
|
|
|
24980
24980
|
// src/components/features/notifications/notification-tile.tsx
|
|
24981
24981
|
|
|
@@ -25063,7 +25063,7 @@ function NotificationTile({
|
|
|
25063
25063
|
}
|
|
25064
25064
|
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkLEISUAHFcjs.dotColorByVariant[accentVariant]) }))) }),
|
|
25065
25065
|
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" }),
|
|
25066
|
-
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children:
|
|
25066
|
+
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkVYQNM75Rcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
|
|
25067
25067
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
|
|
25068
25068
|
{
|
|
25069
25069
|
active: isLive,
|
|
@@ -25160,7 +25160,7 @@ function NotificationDrawer({
|
|
|
25160
25160
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
25161
25161
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
25162
25162
|
/* @__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,
|
|
25163
|
-
|
|
25163
|
+
_chunkVYQNM75Rcjs.DrawerTitle,
|
|
25164
25164
|
{
|
|
25165
25165
|
hideClose: true,
|
|
25166
25166
|
className: "truncate",
|
|
@@ -25219,8 +25219,8 @@ function NotificationDrawer({
|
|
|
25219
25219
|
}
|
|
25220
25220
|
) });
|
|
25221
25221
|
}
|
|
25222
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25223
|
-
|
|
25222
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25223
|
+
_chunkVYQNM75Rcjs.DrawerContent,
|
|
25224
25224
|
{
|
|
25225
25225
|
side: "right",
|
|
25226
25226
|
"aria-describedby": void 0,
|
|
@@ -25495,13 +25495,13 @@ function getApprovalMeta(notification) {
|
|
|
25495
25495
|
function resolutionToStatus(resolution) {
|
|
25496
25496
|
switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
|
|
25497
25497
|
case "APPROVED":
|
|
25498
|
-
return
|
|
25498
|
+
return _chunkVYQNM75Rcjs.APPROVAL_STATUS.APPROVED;
|
|
25499
25499
|
case "REJECTED":
|
|
25500
|
-
return
|
|
25500
|
+
return _chunkVYQNM75Rcjs.APPROVAL_STATUS.REJECTED;
|
|
25501
25501
|
case "CANCELLED":
|
|
25502
|
-
return
|
|
25502
|
+
return _chunkVYQNM75Rcjs.APPROVAL_STATUS.CANCELLED;
|
|
25503
25503
|
default:
|
|
25504
|
-
return
|
|
25504
|
+
return _chunkVYQNM75Rcjs.APPROVAL_STATUS.PENDING;
|
|
25505
25505
|
}
|
|
25506
25506
|
}
|
|
25507
25507
|
function approvalMetaToBatchData(approval) {
|
|
@@ -25541,7 +25541,7 @@ function ApprovalRequestNotificationTile({
|
|
|
25541
25541
|
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _580 => _580.resolution]));
|
|
25542
25542
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
25543
25543
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
25544
|
-
const { innerRef, containerStyle } =
|
|
25544
|
+
const { innerRef, containerStyle } = _chunkVYQNM75Rcjs.useCollapsible.call(void 0, { expanded });
|
|
25545
25545
|
if (!approval || !batchData) return null;
|
|
25546
25546
|
const tileNotification = {
|
|
25547
25547
|
...notification,
|
|
@@ -25594,7 +25594,7 @@ function ApprovalRequestNotificationTile({
|
|
|
25594
25594
|
}
|
|
25595
25595
|
)
|
|
25596
25596
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
25597
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25597
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ApprovalStatusTag, { status }),
|
|
25598
25598
|
approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
25599
25599
|
"by ",
|
|
25600
25600
|
approval.resolvedByName
|
|
@@ -25612,12 +25612,12 @@ function ApprovalRequestNotificationTile({
|
|
|
25612
25612
|
"aria-expanded": expanded,
|
|
25613
25613
|
"aria-label": toggleLabel,
|
|
25614
25614
|
className: "ml-auto w-6 shrink-0 px-0 md:w-8",
|
|
25615
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25615
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.ExpandChevron, { expanded })
|
|
25616
25616
|
}
|
|
25617
25617
|
)
|
|
25618
25618
|
] }),
|
|
25619
25619
|
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,
|
|
25620
|
-
|
|
25620
|
+
_chunkVYQNM75Rcjs.ApprovalBatchMessage,
|
|
25621
25621
|
{
|
|
25622
25622
|
data: batchData,
|
|
25623
25623
|
showExecutionStatus: false,
|
|
@@ -25948,7 +25948,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
|
|
|
25948
25948
|
function StatusTag({ status }) {
|
|
25949
25949
|
if (status === "tracking") {
|
|
25950
25950
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25951
|
-
|
|
25951
|
+
_chunkVYQNM75Rcjs.Tag,
|
|
25952
25952
|
{
|
|
25953
25953
|
variant: "success",
|
|
25954
25954
|
className: STATUS_TAG_SKIN,
|
|
@@ -25958,9 +25958,9 @@ function StatusTag({ status }) {
|
|
|
25958
25958
|
);
|
|
25959
25959
|
}
|
|
25960
25960
|
if (status === "paused") {
|
|
25961
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25961
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
|
|
25962
25962
|
}
|
|
25963
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25963
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
|
|
25964
25964
|
}
|
|
25965
25965
|
function LastEntryRow({ entry, onClick }) {
|
|
25966
25966
|
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: [
|
|
@@ -26129,7 +26129,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
26129
26129
|
"data-state": isOpen ? "open" : "closed",
|
|
26130
26130
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
26131
26131
|
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
26132
|
-
|
|
26132
|
+
_chunkVYQNM75Rcjs.OVERLAY_BACKDROP_CLASS,
|
|
26133
26133
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
26134
26134
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
26135
26135
|
)
|
|
@@ -26283,7 +26283,7 @@ function BoardColumnHeader({
|
|
|
26283
26283
|
}) {
|
|
26284
26284
|
const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
|
|
26285
26285
|
const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
|
|
26286
|
-
const useStatusVariant =
|
|
26286
|
+
const useStatusVariant = _chunkVYQNM75Rcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
|
|
26287
26287
|
if (collapsed) {
|
|
26288
26288
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
26289
26289
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -26298,7 +26298,7 @@ function BoardColumnHeader({
|
|
|
26298
26298
|
}
|
|
26299
26299
|
),
|
|
26300
26300
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26301
|
-
|
|
26301
|
+
_chunkVYQNM75Rcjs.TicketStatusTag,
|
|
26302
26302
|
{
|
|
26303
26303
|
status: tagStatus,
|
|
26304
26304
|
label: column.label,
|
|
@@ -26311,7 +26311,7 @@ function BoardColumnHeader({
|
|
|
26311
26311
|
}
|
|
26312
26312
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
26313
26313
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
26314
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26314
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
|
|
26315
26315
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
|
|
26316
26316
|
] }),
|
|
26317
26317
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -26462,7 +26462,7 @@ function holdMoveDragEffect(element) {
|
|
|
26462
26462
|
|
|
26463
26463
|
function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
26464
26464
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
26465
|
-
const { innerRef, containerStyle } =
|
|
26465
|
+
const { innerRef, containerStyle } = _chunkVYQNM75Rcjs.useCollapsible.call(void 0, { expanded });
|
|
26466
26466
|
const isAdmin = pendingApproval.approvalType === "ADMIN";
|
|
26467
26467
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
|
|
26468
26468
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -26491,7 +26491,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
|
26491
26491
|
}
|
|
26492
26492
|
),
|
|
26493
26493
|
/* @__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,
|
|
26494
|
-
|
|
26494
|
+
_chunkVYQNM75Rcjs.ApprovalBatchMessage,
|
|
26495
26495
|
{
|
|
26496
26496
|
className: "mb-0",
|
|
26497
26497
|
data: {
|
|
@@ -26563,7 +26563,7 @@ var ACTIVITY_DEFAULT_LABEL = {
|
|
|
26563
26563
|
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";
|
|
26564
26564
|
function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
|
|
26565
26565
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
26566
|
-
const newMessageTextColor = columnColor ?
|
|
26566
|
+
const newMessageTextColor = columnColor ? _chunkVYQNM75Rcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
|
|
26567
26567
|
const showDeviceRow = !!(_optionalChain([ticket, 'access', _616 => _616.deviceHostnames, 'optionalAccess', _617 => _617.length]) || ticket.organizationName);
|
|
26568
26568
|
const deviceText = [_optionalChain([ticket, 'access', _618 => _618.deviceHostnames, 'optionalAccess', _619 => _619.join, 'call', _620 => _620(", ")]), ticket.organizationName].filter(Boolean).join(", ");
|
|
26569
26569
|
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _621 => _621.assignees, 'optionalAccess', _622 => _622.length]) || renderAssignSlot);
|
|
@@ -26602,8 +26602,8 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
26602
26602
|
] })
|
|
26603
26603
|
] }) : null
|
|
26604
26604
|
] }) : null;
|
|
26605
|
-
const timestampLabel = ticket.createdAt ?
|
|
26606
|
-
const tooltipLabel = ticket.createdAt ?
|
|
26605
|
+
const timestampLabel = ticket.createdAt ? _chunkVYQNM75Rcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
|
|
26606
|
+
const tooltipLabel = ticket.createdAt ? _chunkVYQNM75Rcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
|
|
26607
26607
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
26608
26608
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
|
|
26609
26609
|
/* @__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: [
|
|
@@ -26616,9 +26616,9 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
26616
26616
|
rightSection
|
|
26617
26617
|
] }),
|
|
26618
26618
|
_optionalChain([ticket, 'access', _625 => _625.tags, 'optionalAccess', _626 => _626.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
26619
|
-
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26620
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26621
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26619
|
+
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVYQNM75Rcjs.Tooltip, { children: [
|
|
26620
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
|
|
26621
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.TooltipContent, { children: tooltipLabel })
|
|
26622
26622
|
] }) }),
|
|
26623
26623
|
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: [
|
|
26624
26624
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
|
|
@@ -26638,7 +26638,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
26638
26638
|
}
|
|
26639
26639
|
),
|
|
26640
26640
|
showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26641
|
-
|
|
26641
|
+
_chunkVYQNM75Rcjs.Tag,
|
|
26642
26642
|
{
|
|
26643
26643
|
label: "New Message",
|
|
26644
26644
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
|
|
@@ -26852,8 +26852,8 @@ function TicketTagRow({ tags }) {
|
|
|
26852
26852
|
const visible = tags.slice(0, MAX_VISIBLE_TAGS);
|
|
26853
26853
|
const hidden = tags.length - visible.length;
|
|
26854
26854
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
|
|
26855
|
-
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26856
|
-
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26855
|
+
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.Tag, { variant: "outline", label: tag }, tag)),
|
|
26856
|
+
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVYQNM75Rcjs.Tag, { variant: "outline", label: `+${hidden}` })
|
|
26857
26857
|
] });
|
|
26858
26858
|
}
|
|
26859
26859
|
|
|
@@ -28410,4 +28410,4 @@ function SortableRow({
|
|
|
28410
28410
|
|
|
28411
28411
|
|
|
28412
28412
|
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.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;
|
|
28413
|
-
//# sourceMappingURL=chunk-
|
|
28413
|
+
//# sourceMappingURL=chunk-JHKKXU2F.cjs.map
|