@flamingo-stack/openframe-frontend-core 0.0.578 → 0.0.579-1952.5335.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-IBSOYTGZ.js → chunk-2ML5QEDH.js} +3 -3
- package/dist/{chunk-NPNYQSCG.cjs → chunk-3B42TFEE.cjs} +21 -21
- package/dist/{chunk-NPNYQSCG.cjs.map → chunk-3B42TFEE.cjs.map} +1 -1
- package/dist/{chunk-POB6GNIR.cjs → chunk-3XFMM34I.cjs} +43 -43
- package/dist/{chunk-POB6GNIR.cjs.map → chunk-3XFMM34I.cjs.map} +1 -1
- package/dist/{chunk-R7OJZCE6.cjs → chunk-4C3MS2G6.cjs} +69 -69
- package/dist/{chunk-R7OJZCE6.cjs.map → chunk-4C3MS2G6.cjs.map} +1 -1
- package/dist/{chunk-G3AJXLKH.cjs → chunk-653A7FPP.cjs} +22 -22
- package/dist/{chunk-G3AJXLKH.cjs.map → chunk-653A7FPP.cjs.map} +1 -1
- package/dist/{chunk-KPE277X2.js → chunk-6QDW4CDG.js} +2 -2
- package/dist/{chunk-E5QAU63Y.cjs → chunk-7WKFLOC7.cjs} +9 -9
- package/dist/{chunk-E5QAU63Y.cjs.map → chunk-7WKFLOC7.cjs.map} +1 -1
- package/dist/{chunk-ABWA3W3M.cjs → chunk-AAHKPPGQ.cjs} +32 -32
- package/dist/{chunk-ABWA3W3M.cjs.map → chunk-AAHKPPGQ.cjs.map} +1 -1
- package/dist/{chunk-JJH4H4CJ.js → chunk-AT4WAFJO.js} +5 -5
- package/dist/{chunk-5IAGT5LB.js → chunk-C4KL7OQI.js} +2 -2
- package/dist/{chunk-SETRICAM.cjs → chunk-C7Q2PVHD.cjs} +4 -4
- package/dist/{chunk-SETRICAM.cjs.map → chunk-C7Q2PVHD.cjs.map} +1 -1
- package/dist/{chunk-AJ67T7LI.js → chunk-CGVPUA4X.js} +3 -3
- package/dist/{chunk-BFJBE4PQ.js → chunk-CSBNQJSI.js} +4 -4
- package/dist/{chunk-LPFA56WY.js → chunk-DBP7S75Q.js} +1317 -1480
- package/dist/chunk-DBP7S75Q.js.map +1 -0
- package/dist/{chunk-KQBYQBQN.cjs → chunk-DGB2FLFH.cjs} +10 -10
- package/dist/{chunk-KQBYQBQN.cjs.map → chunk-DGB2FLFH.cjs.map} +1 -1
- package/dist/{chunk-GOEBT72V.cjs → chunk-EVTRRDIH.cjs} +15 -15
- package/dist/{chunk-GOEBT72V.cjs.map → chunk-EVTRRDIH.cjs.map} +1 -1
- package/dist/{chunk-UQPA2XT7.cjs → chunk-GP2QLZIN.cjs} +24 -24
- package/dist/{chunk-UQPA2XT7.cjs.map → chunk-GP2QLZIN.cjs.map} +1 -1
- package/dist/{chunk-KLG3MGRP.js → chunk-KXLJT5U5.js} +3 -3
- package/dist/{chunk-SNZZ6Q6G.js → chunk-L66XBQM6.js} +2 -2
- package/dist/{chunk-SHJXC7A4.js → chunk-NWAUHBYH.js} +3 -3
- package/dist/{chunk-YOYHJQX3.cjs → chunk-OCSAB6NT.cjs} +5 -5
- package/dist/{chunk-YOYHJQX3.cjs.map → chunk-OCSAB6NT.cjs.map} +1 -1
- package/dist/{chunk-5NG2P2KI.js → chunk-PFTEG6L7.js} +5 -5
- package/dist/{chunk-BLPGMX2L.cjs → chunk-PITZMTGE.cjs} +159 -159
- package/dist/{chunk-BLPGMX2L.cjs.map → chunk-PITZMTGE.cjs.map} +1 -1
- package/dist/{chunk-ZBVMPVJF.js → chunk-QOPQ6BCA.js} +3 -3
- package/dist/{chunk-IWK2NFVR.js → chunk-RXZWUJEB.js} +2 -2
- package/dist/{chunk-OIJWSYKP.cjs → chunk-SY5HCZZO.cjs} +3 -3
- package/dist/{chunk-OIJWSYKP.cjs.map → chunk-SY5HCZZO.cjs.map} +1 -1
- package/dist/{chunk-ESXUEMPA.js → chunk-TYJITV3H.js} +2 -2
- package/dist/{chunk-M7FNT5AC.cjs → chunk-VLRXLTR4.cjs} +167 -330
- package/dist/chunk-VLRXLTR4.cjs.map +1 -0
- package/dist/{chunk-WUZQYZXI.cjs → chunk-WHSSI3S7.cjs} +3 -3
- package/dist/{chunk-WUZQYZXI.cjs.map → chunk-WHSSI3S7.cjs.map} +1 -1
- package/dist/{chunk-LEUJNBWU.js → chunk-XJ45MHWI.js} +6 -6
- package/dist/{chunk-NJDL7F7K.cjs → chunk-YYEVFC3K.cjs} +10 -10
- package/dist/{chunk-NJDL7F7K.cjs.map → chunk-YYEVFC3K.cjs.map} +1 -1
- package/dist/{chunk-QHGARH6P.js → chunk-ZCEQLHU3.js} +5 -5
- 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/schemas/meeting-booking-schema.d.ts +2 -2
- 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-LPFA56WY.js.map +0 -1
- package/dist/chunk-M7FNT5AC.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-IBSOYTGZ.js.map → chunk-2ML5QEDH.js.map} +0 -0
- /package/dist/{chunk-KPE277X2.js.map → chunk-6QDW4CDG.js.map} +0 -0
- /package/dist/{chunk-JJH4H4CJ.js.map → chunk-AT4WAFJO.js.map} +0 -0
- /package/dist/{chunk-5IAGT5LB.js.map → chunk-C4KL7OQI.js.map} +0 -0
- /package/dist/{chunk-AJ67T7LI.js.map → chunk-CGVPUA4X.js.map} +0 -0
- /package/dist/{chunk-BFJBE4PQ.js.map → chunk-CSBNQJSI.js.map} +0 -0
- /package/dist/{chunk-KLG3MGRP.js.map → chunk-KXLJT5U5.js.map} +0 -0
- /package/dist/{chunk-SNZZ6Q6G.js.map → chunk-L66XBQM6.js.map} +0 -0
- /package/dist/{chunk-SHJXC7A4.js.map → chunk-NWAUHBYH.js.map} +0 -0
- /package/dist/{chunk-5NG2P2KI.js.map → chunk-PFTEG6L7.js.map} +0 -0
- /package/dist/{chunk-ZBVMPVJF.js.map → chunk-QOPQ6BCA.js.map} +0 -0
- /package/dist/{chunk-IWK2NFVR.js.map → chunk-RXZWUJEB.js.map} +0 -0
- /package/dist/{chunk-ESXUEMPA.js.map → chunk-TYJITV3H.js.map} +0 -0
- /package/dist/{chunk-LEUJNBWU.js.map → chunk-XJ45MHWI.js.map} +0 -0
- /package/dist/{chunk-QHGARH6P.js.map → chunk-ZCEQLHU3.js.map} +0 -0
|
@@ -88,7 +88,7 @@ var _chunkQYQXAXVRcjs = require('./chunk-QYQXAXVR.cjs');
|
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
|
|
91
|
-
var
|
|
91
|
+
var _chunkVLRXLTR4cjs = require('./chunk-VLRXLTR4.cjs');
|
|
92
92
|
|
|
93
93
|
|
|
94
94
|
|
|
@@ -328,7 +328,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
328
328
|
var useTheme = _nextthemes.useTheme;
|
|
329
329
|
function useThemeToggle() {
|
|
330
330
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
331
|
-
const mounted =
|
|
331
|
+
const mounted = _chunkVLRXLTR4cjs.useIsHydrated.call(void 0, );
|
|
332
332
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
333
333
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
334
334
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -605,7 +605,7 @@ function TruncateText({
|
|
|
605
605
|
const { ref, isTruncated } = _chunk36NFJULVcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
|
|
606
606
|
const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
|
|
607
607
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
608
|
-
|
|
608
|
+
_chunkVLRXLTR4cjs.FloatingTooltip,
|
|
609
609
|
{
|
|
610
610
|
content: _nullishCoalesce(tooltip, () => ( children)),
|
|
611
611
|
side,
|
|
@@ -907,7 +907,7 @@ function AutocompleteInner(props, ref) {
|
|
|
907
907
|
),
|
|
908
908
|
/* @__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: [
|
|
909
909
|
multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
910
|
-
|
|
910
|
+
_chunkVLRXLTR4cjs.Tag,
|
|
911
911
|
{
|
|
912
912
|
variant: "outline",
|
|
913
913
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -1113,7 +1113,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1113
1113
|
"aria-hidden": "true",
|
|
1114
1114
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
1115
1115
|
children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1116
|
-
|
|
1116
|
+
_chunkVLRXLTR4cjs.Tag,
|
|
1117
1117
|
{
|
|
1118
1118
|
variant: "outline",
|
|
1119
1119
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -2497,7 +2497,7 @@ function InfoHint({ children, label, side = "top", className }) {
|
|
|
2497
2497
|
const describedById = _react.useId.call(void 0, );
|
|
2498
2498
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
|
|
2499
2499
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2500
|
-
|
|
2500
|
+
_chunkVLRXLTR4cjs.FloatingTooltip,
|
|
2501
2501
|
{
|
|
2502
2502
|
content: children,
|
|
2503
2503
|
side,
|
|
@@ -2591,7 +2591,7 @@ function Value2({ value, depth }) {
|
|
|
2591
2591
|
}
|
|
2592
2592
|
if (typeof value === "string") {
|
|
2593
2593
|
if (ISO_DATE.test(value)) {
|
|
2594
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children:
|
|
2594
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkVLRXLTR4cjs.formatRelativeTime.call(void 0, value) });
|
|
2595
2595
|
}
|
|
2596
2596
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
|
|
2597
2597
|
}
|
|
@@ -3223,7 +3223,7 @@ function RowValue({ value }) {
|
|
|
3223
3223
|
}
|
|
3224
3224
|
case "status": {
|
|
3225
3225
|
const { type: _type, ...props } = value;
|
|
3226
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3226
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.TicketStatusTag, { ...props });
|
|
3227
3227
|
}
|
|
3228
3228
|
case "custom":
|
|
3229
3229
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
|
|
@@ -4134,7 +4134,7 @@ function TagsManager({
|
|
|
4134
4134
|
}
|
|
4135
4135
|
),
|
|
4136
4136
|
selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4137
|
-
|
|
4137
|
+
_chunkVLRXLTR4cjs.Tag,
|
|
4138
4138
|
{
|
|
4139
4139
|
label: tag.name,
|
|
4140
4140
|
variant: "outline",
|
|
@@ -4678,10 +4678,10 @@ function useConfirm() {
|
|
|
4678
4678
|
},
|
|
4679
4679
|
[]
|
|
4680
4680
|
);
|
|
4681
|
-
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4682
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4683
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4684
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4681
|
+
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVLRXLTR4cjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
|
|
4682
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ModalTitle, { children: pending.title }) }),
|
|
4683
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
|
|
4684
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVLRXLTR4cjs.ModalFooter, { children: [
|
|
4685
4685
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
|
|
4686
4686
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
|
|
4687
4687
|
] })
|
|
@@ -4739,9 +4739,9 @@ function AdminFormModal({
|
|
|
4739
4739
|
body: "Your edits have not been saved. Close and discard them?"
|
|
4740
4740
|
});
|
|
4741
4741
|
if (!isOpen) return null;
|
|
4742
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4743
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4744
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4742
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVLRXLTR4cjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
|
|
4743
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVLRXLTR4cjs.ModalHeader, { children: [
|
|
4744
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ModalTitle, { children: title }),
|
|
4745
4745
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
|
|
4746
4746
|
] }),
|
|
4747
4747
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -4765,7 +4765,7 @@ function AdminFormModal({
|
|
|
4765
4765
|
// a shrink-to-fit flex item pinned to the left of a 1400px panel).
|
|
4766
4766
|
// The placeholder owns its own layout and mirrors the column count so
|
|
4767
4767
|
// the modal doesn't visibly re-flow when the entity lands.
|
|
4768
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4768
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4769
4769
|
"div",
|
|
4770
4770
|
{
|
|
4771
4771
|
"aria-busy": "true",
|
|
@@ -4786,12 +4786,12 @@ function AdminFormModal({
|
|
|
4786
4786
|
]
|
|
4787
4787
|
}
|
|
4788
4788
|
) })
|
|
4789
|
-
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4789
|
+
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ModalContent, { className: contentClassName, children }),
|
|
4790
4790
|
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
|
|
4791
4791
|
]
|
|
4792
4792
|
}
|
|
4793
4793
|
),
|
|
4794
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4794
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
|
|
4795
4795
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
|
|
4796
4796
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
4797
4797
|
footerStatus,
|
|
@@ -6889,7 +6889,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
|
|
|
6889
6889
|
};
|
|
6890
6890
|
const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
|
|
6891
6891
|
const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6892
|
-
|
|
6892
|
+
_chunkVLRXLTR4cjs.Video,
|
|
6893
6893
|
{
|
|
6894
6894
|
url: item.src,
|
|
6895
6895
|
poster: item.poster ? displayImageSrc(item.poster) : void 0,
|
|
@@ -7613,7 +7613,7 @@ function buildRichEmbedOverrides({
|
|
|
7613
7613
|
ogEndpointPath,
|
|
7614
7614
|
textSizes
|
|
7615
7615
|
}) {
|
|
7616
|
-
const standard =
|
|
7616
|
+
const standard = _chunkVLRXLTR4cjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7617
7617
|
return {
|
|
7618
7618
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7619
7619
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7623,7 +7623,7 @@ function buildRichEmbedOverrides({
|
|
|
7623
7623
|
const language = match ? match[1] : "";
|
|
7624
7624
|
const fenceText = () => String(children).replace(/\n$/, "").trim();
|
|
7625
7625
|
if (language === "youtube-embed") {
|
|
7626
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7626
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.Video, { kind: "youtube", url: fenceText() });
|
|
7627
7627
|
}
|
|
7628
7628
|
if (language === "reddit-embed") {
|
|
7629
7629
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
|
|
@@ -7664,7 +7664,7 @@ function buildRichEmbedOverrides({
|
|
|
7664
7664
|
"data-figma-url": figmaUrl
|
|
7665
7665
|
} = divProps;
|
|
7666
7666
|
if (className === "youtube-embed" && videoId) {
|
|
7667
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7667
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.Video, { kind: "youtube", url: videoId });
|
|
7668
7668
|
}
|
|
7669
7669
|
if (className === "reddit-embed" && postUrl) {
|
|
7670
7670
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
|
|
@@ -7749,14 +7749,14 @@ function buildRichEmbedOverrides({
|
|
|
7749
7749
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7750
7750
|
// elsewhere). Guard against empty `![]()`.
|
|
7751
7751
|
img: ({ src, alt }) => {
|
|
7752
|
-
if (!
|
|
7752
|
+
if (!_chunkVLRXLTR4cjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7753
7753
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7754
7754
|
},
|
|
7755
7755
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
7756
7756
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
7757
7757
|
video: ({ src, poster, className }) => {
|
|
7758
|
-
if (!
|
|
7759
|
-
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,
|
|
7758
|
+
if (!_chunkVLRXLTR4cjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7759
|
+
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, _chunkVLRXLTR4cjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
7760
7760
|
}
|
|
7761
7761
|
};
|
|
7762
7762
|
}
|
|
@@ -7939,13 +7939,13 @@ var RichMarkdownInner = ({
|
|
|
7939
7939
|
},
|
|
7940
7940
|
[resolveLinkEndpointUrl, resolveSource]
|
|
7941
7941
|
);
|
|
7942
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
7942
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunkVLRXLTR4cjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
7943
7943
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
7944
7944
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
7945
7945
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
7946
7946
|
);
|
|
7947
7947
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7948
|
-
|
|
7948
|
+
_chunkVLRXLTR4cjs.MarkdownEngine,
|
|
7949
7949
|
{
|
|
7950
7950
|
content,
|
|
7951
7951
|
className,
|
|
@@ -7967,7 +7967,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
7967
7967
|
className = "",
|
|
7968
7968
|
sectionIds,
|
|
7969
7969
|
onInternalLinkClick,
|
|
7970
|
-
brokenLinks =
|
|
7970
|
+
brokenLinks = _chunkVLRXLTR4cjs.NO_BROKEN_LINKS,
|
|
7971
7971
|
currentPath,
|
|
7972
7972
|
resolveSource = "openframe-docs",
|
|
7973
7973
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -8540,7 +8540,7 @@ function FilterModal({
|
|
|
8540
8540
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _161 => _161.defaultSort]), () => ( "desc"));
|
|
8541
8541
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _162 => _162.sort]), () => ( dateDefaultSort)));
|
|
8542
8542
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _163 => _163.range]));
|
|
8543
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
8543
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkVLRXLTR4cjs.useScrollFade.call(void 0, );
|
|
8544
8544
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
8545
8545
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
8546
8546
|
_react.useEffect.call(void 0, () => {
|
|
@@ -8585,10 +8585,10 @@ function FilterModal({
|
|
|
8585
8585
|
const hasFilterGroups = filterGroups.length > 0;
|
|
8586
8586
|
const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
|
|
8587
8587
|
const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
|
|
8588
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8589
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8588
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVLRXLTR4cjs.Modal, { isOpen, onClose, className: _chunkPRPZBXWZcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
|
|
8589
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ModalTitle, { children: title }) }),
|
|
8590
8590
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8591
|
-
|
|
8591
|
+
_chunkVLRXLTR4cjs.ModalContent,
|
|
8592
8592
|
{
|
|
8593
8593
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
8594
8594
|
"flex min-h-0 flex-1 flex-col",
|
|
@@ -8680,12 +8680,12 @@ function FilterModal({
|
|
|
8680
8680
|
] })
|
|
8681
8681
|
}
|
|
8682
8682
|
),
|
|
8683
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8684
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8683
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
8684
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
8685
8685
|
] })
|
|
8686
8686
|
}
|
|
8687
8687
|
),
|
|
8688
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8688
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVLRXLTR4cjs.ModalFooter, { children: [
|
|
8689
8689
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
|
|
8690
8690
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
|
|
8691
8691
|
] })
|
|
@@ -8729,9 +8729,9 @@ function actionToMenuItems(action, idx) {
|
|
|
8729
8729
|
function renderActionButton(action, opts = {}) {
|
|
8730
8730
|
const button = renderRawActionButton(action, opts);
|
|
8731
8731
|
if (!action.tooltip) return button;
|
|
8732
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8733
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8734
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8732
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVLRXLTR4cjs.Tooltip, { children: [
|
|
8733
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.TooltipTrigger, { asChild: true, children: button }),
|
|
8734
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.TooltipContent, { children: action.tooltip })
|
|
8735
8735
|
] }) });
|
|
8736
8736
|
}
|
|
8737
8737
|
function renderRawActionButton(action, opts = {}) {
|
|
@@ -8755,7 +8755,7 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
8755
8755
|
}
|
|
8756
8756
|
if (action.submenu && action.submenu.length > 0) {
|
|
8757
8757
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8758
|
-
|
|
8758
|
+
_chunkVLRXLTR4cjs.ActionsMenuDropdown,
|
|
8759
8759
|
{
|
|
8760
8760
|
groups: [{ items: action.submenu }],
|
|
8761
8761
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -8890,10 +8890,10 @@ function IconButtonsVariant({
|
|
|
8890
8890
|
selector,
|
|
8891
8891
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8892
8892
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
|
|
8893
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8893
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ActionsMenuDropdown, { groups: menuActions })
|
|
8894
8894
|
] })
|
|
8895
8895
|
] }),
|
|
8896
|
-
/* @__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,
|
|
8896
|
+
/* @__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, _chunkVLRXLTR4cjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
|
|
8897
8897
|
] });
|
|
8898
8898
|
}
|
|
8899
8899
|
function PrimaryButtonsVariant({
|
|
@@ -8931,11 +8931,11 @@ function MenuPrimaryVariant({
|
|
|
8931
8931
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
|
|
8932
8932
|
selector,
|
|
8933
8933
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8934
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8934
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ActionsMenuDropdown, { groups: menuActions }),
|
|
8935
8935
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
|
|
8936
8936
|
] })
|
|
8937
8937
|
] }),
|
|
8938
|
-
/* @__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,
|
|
8938
|
+
/* @__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, _chunkVLRXLTR4cjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
|
|
8939
8939
|
] });
|
|
8940
8940
|
}
|
|
8941
8941
|
function MobileBottomActions({ actions, loading }) {
|
|
@@ -9337,7 +9337,7 @@ function TitleBlock({
|
|
|
9337
9337
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
9338
9338
|
(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: [
|
|
9339
9339
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9340
|
-
|
|
9340
|
+
_chunkVLRXLTR4cjs.FloatingTooltip,
|
|
9341
9341
|
{
|
|
9342
9342
|
content: title,
|
|
9343
9343
|
side: "bottom",
|
|
@@ -9354,12 +9354,12 @@ function TitleBlock({
|
|
|
9354
9354
|
}
|
|
9355
9355
|
),
|
|
9356
9356
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9357
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9357
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.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 }) })),
|
|
9358
9358
|
hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
|
|
9359
9359
|
empty `p` collapses to zero height (its only content would be
|
|
9360
9360
|
collapsible whitespace), which is exactly the shift that mode
|
|
9361
9361
|
exists to prevent. Hidden from AT — it carries no meaning. */
|
|
9362
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9362
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9363
9363
|
"p",
|
|
9364
9364
|
{
|
|
9365
9365
|
ref: subtitleRef,
|
|
@@ -9370,7 +9370,7 @@ function TitleBlock({
|
|
|
9370
9370
|
) })
|
|
9371
9371
|
] })
|
|
9372
9372
|
] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9373
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9373
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.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 }) }),
|
|
9374
9374
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9375
9375
|
] }) : (
|
|
9376
9376
|
/* This branch never had the single-line clamp, so text already
|
|
@@ -10967,7 +10967,7 @@ function extractSections(markdown, options = {}) {
|
|
|
10967
10967
|
if (heading.level > opts.maxLevel) continue;
|
|
10968
10968
|
let title = heading.text;
|
|
10969
10969
|
if (opts.stripFormattingMarkers) {
|
|
10970
|
-
title =
|
|
10970
|
+
title = _chunkVLRXLTR4cjs.stripInlineMarkdown.call(void 0, title).trim();
|
|
10971
10971
|
}
|
|
10972
10972
|
const baseId = _chunk36NFJULVcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunk36NFJULVcjs.stripHeadingEmojis.call(void 0, title) : title);
|
|
10973
10973
|
const cleanId = baseId || `section-${sections.length + 1}`;
|
|
@@ -11459,7 +11459,7 @@ function DashboardInfoCard({
|
|
|
11459
11459
|
const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
|
|
11460
11460
|
if (asTag) {
|
|
11461
11461
|
const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
|
|
11462
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11462
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.Tag, { variant: tagVariant, label: `${percentage}%` });
|
|
11463
11463
|
}
|
|
11464
11464
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
|
|
11465
11465
|
"(",
|
|
@@ -11513,7 +11513,7 @@ function DashboardInfoCard({
|
|
|
11513
11513
|
/* @__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 }),
|
|
11514
11514
|
subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
|
|
11515
11515
|
renderPercentage(),
|
|
11516
|
-
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11516
|
+
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.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 }) }) })
|
|
11517
11517
|
] })
|
|
11518
11518
|
] }),
|
|
11519
11519
|
renderProgress()
|
|
@@ -11696,7 +11696,7 @@ function DeviceCard({
|
|
|
11696
11696
|
] }),
|
|
11697
11697
|
(statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
|
|
11698
11698
|
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11699
|
-
|
|
11699
|
+
_chunkVLRXLTR4cjs.Tag,
|
|
11700
11700
|
{
|
|
11701
11701
|
variant: statusTag.variant,
|
|
11702
11702
|
icon: statusTag.icon,
|
|
@@ -11710,7 +11710,7 @@ function DeviceCard({
|
|
|
11710
11710
|
formatLastSeen(device.lastSeen)
|
|
11711
11711
|
] })
|
|
11712
11712
|
] }),
|
|
11713
|
-
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,
|
|
11713
|
+
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, _chunkVLRXLTR4cjs.Tag, { variant: "outline", label: tag }, index)) })
|
|
11714
11714
|
]
|
|
11715
11715
|
}
|
|
11716
11716
|
);
|
|
@@ -11858,7 +11858,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
|
|
|
11858
11858
|
|
|
11859
11859
|
function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
|
|
11860
11860
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11861
|
-
|
|
11861
|
+
_chunkVLRXLTR4cjs.FloatingTooltip,
|
|
11862
11862
|
{
|
|
11863
11863
|
as: "span",
|
|
11864
11864
|
side: "top",
|
|
@@ -12042,7 +12042,7 @@ function DropdownButton({
|
|
|
12042
12042
|
)
|
|
12043
12043
|
);
|
|
12044
12044
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12045
|
-
|
|
12045
|
+
_chunkVLRXLTR4cjs.ActionsMenuDropdown,
|
|
12046
12046
|
{
|
|
12047
12047
|
groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
|
|
12048
12048
|
open,
|
|
@@ -12280,7 +12280,7 @@ function ServiceCardRowItem({ row }) {
|
|
|
12280
12280
|
),
|
|
12281
12281
|
children: [
|
|
12282
12282
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12283
|
-
|
|
12283
|
+
_chunkVLRXLTR4cjs.FloatingTooltip,
|
|
12284
12284
|
{
|
|
12285
12285
|
content: row.value,
|
|
12286
12286
|
side: "top",
|
|
@@ -12406,9 +12406,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
12406
12406
|
return next;
|
|
12407
12407
|
});
|
|
12408
12408
|
};
|
|
12409
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12409
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVLRXLTR4cjs.Tooltip, { open, onOpenChange: setOpen, children: [
|
|
12410
12410
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12411
|
-
|
|
12411
|
+
_chunkVLRXLTR4cjs.TooltipTrigger,
|
|
12412
12412
|
{
|
|
12413
12413
|
asChild: true,
|
|
12414
12414
|
onPointerDown: (e) => {
|
|
@@ -12426,7 +12426,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
12426
12426
|
children
|
|
12427
12427
|
}
|
|
12428
12428
|
),
|
|
12429
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12429
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.TooltipContent, { side, className: "max-w-xs", children: content })
|
|
12430
12430
|
] }) });
|
|
12431
12431
|
}
|
|
12432
12432
|
|
|
@@ -13441,9 +13441,9 @@ function TruncatedHeaderCell({ value, width }) {
|
|
|
13441
13441
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
13442
13442
|
}
|
|
13443
13443
|
}, []);
|
|
13444
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13445
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13446
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13444
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVLRXLTR4cjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
13445
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.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 }) }) }),
|
|
13446
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
|
|
13447
13447
|
] }) });
|
|
13448
13448
|
}
|
|
13449
13449
|
|
|
@@ -13496,9 +13496,9 @@ function TruncatedCell({ value, className }) {
|
|
|
13496
13496
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
13497
13497
|
}
|
|
13498
13498
|
}, []);
|
|
13499
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13500
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13501
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13499
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVLRXLTR4cjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
13500
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.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 }) }),
|
|
13501
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
|
|
13502
13502
|
] }) });
|
|
13503
13503
|
}
|
|
13504
13504
|
|
|
@@ -14782,7 +14782,7 @@ function SearchInput({
|
|
|
14782
14782
|
/* @__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, {}) }),
|
|
14783
14783
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
|
|
14784
14784
|
visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14785
|
-
|
|
14785
|
+
_chunkVLRXLTR4cjs.Tag,
|
|
14786
14786
|
{
|
|
14787
14787
|
variant: chipVariantToTagVariant(chip.variant),
|
|
14788
14788
|
label: chip.label,
|
|
@@ -14896,7 +14896,7 @@ function SearchInput({
|
|
|
14896
14896
|
}
|
|
14897
14897
|
),
|
|
14898
14898
|
/* @__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,
|
|
14899
|
-
|
|
14899
|
+
_chunkVLRXLTR4cjs.Tag,
|
|
14900
14900
|
{
|
|
14901
14901
|
variant: chipVariantToTagVariant(chip.variant),
|
|
14902
14902
|
label: chip.label,
|
|
@@ -15109,7 +15109,7 @@ function TagSearchInput({
|
|
|
15109
15109
|
/* @__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" }) }),
|
|
15110
15110
|
/* @__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: [
|
|
15111
15111
|
visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15112
|
-
|
|
15112
|
+
_chunkVLRXLTR4cjs.Tag,
|
|
15113
15113
|
{
|
|
15114
15114
|
variant: "outline",
|
|
15115
15115
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -15197,7 +15197,7 @@ function TagSearchInput({
|
|
|
15197
15197
|
"aria-hidden": "true",
|
|
15198
15198
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
15199
15199
|
children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15200
|
-
|
|
15200
|
+
_chunkVLRXLTR4cjs.Tag,
|
|
15201
15201
|
{
|
|
15202
15202
|
variant: "outline",
|
|
15203
15203
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -16083,20 +16083,20 @@ function ColorPresetSelect({
|
|
|
16083
16083
|
...presets.map((p) => ({
|
|
16084
16084
|
id: p.key,
|
|
16085
16085
|
label: p.label,
|
|
16086
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16086
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ColorSwatch, { color: p.color }),
|
|
16087
16087
|
onClick: () => onChange({ color: p.color, preset: p.key })
|
|
16088
16088
|
})),
|
|
16089
16089
|
{
|
|
16090
16090
|
id: CUSTOM_PRESET_KEY,
|
|
16091
16091
|
label: "Custom",
|
|
16092
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16092
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
|
|
16093
16093
|
onClick: () => onChange({ color: value, preset: void 0 })
|
|
16094
16094
|
}
|
|
16095
16095
|
]
|
|
16096
16096
|
}
|
|
16097
16097
|
];
|
|
16098
16098
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16099
|
-
|
|
16099
|
+
_chunkVLRXLTR4cjs.ActionsMenuDropdown,
|
|
16100
16100
|
{
|
|
16101
16101
|
groups,
|
|
16102
16102
|
align: "start",
|
|
@@ -16106,7 +16106,7 @@ function ColorPresetSelect({
|
|
|
16106
16106
|
{
|
|
16107
16107
|
disabled,
|
|
16108
16108
|
"aria-label": `Color: ${displayLabel}`,
|
|
16109
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16109
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ColorSwatch, { color: displayColor }),
|
|
16110
16110
|
selectedLabel: displayLabel,
|
|
16111
16111
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16112
16112
|
className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
|
|
@@ -16127,7 +16127,7 @@ function HexInputs({ value, onChange }) {
|
|
|
16127
16127
|
}
|
|
16128
16128
|
const commit = () => {
|
|
16129
16129
|
const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
|
|
16130
|
-
if (
|
|
16130
|
+
if (_chunkVLRXLTR4cjs.HEX_PATTERN.test(candidate)) onChange(candidate);
|
|
16131
16131
|
else setDraft(value);
|
|
16132
16132
|
};
|
|
16133
16133
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -16191,12 +16191,12 @@ function ChannelInput({
|
|
|
16191
16191
|
);
|
|
16192
16192
|
}
|
|
16193
16193
|
function RgbInputs({ value, onChange }) {
|
|
16194
|
-
const rgb = _nullishCoalesce(
|
|
16194
|
+
const rgb = _nullishCoalesce(_chunkVLRXLTR4cjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16195
16195
|
const update = (next) => {
|
|
16196
16196
|
const r = _nullishCoalesce(next.r, () => ( rgb.r));
|
|
16197
16197
|
const g = _nullishCoalesce(next.g, () => ( rgb.g));
|
|
16198
16198
|
const b = _nullishCoalesce(next.b, () => ( rgb.b));
|
|
16199
|
-
onChange(
|
|
16199
|
+
onChange(_chunkVLRXLTR4cjs.rgbToHex.call(void 0, r, g, b));
|
|
16200
16200
|
};
|
|
16201
16201
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16202
16202
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
|
|
@@ -16205,14 +16205,14 @@ function RgbInputs({ value, onChange }) {
|
|
|
16205
16205
|
] });
|
|
16206
16206
|
}
|
|
16207
16207
|
function HslInputs({ value, onChange }) {
|
|
16208
|
-
const rgb = _nullishCoalesce(
|
|
16209
|
-
const hsl =
|
|
16208
|
+
const rgb = _nullishCoalesce(_chunkVLRXLTR4cjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16209
|
+
const hsl = _chunkVLRXLTR4cjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
|
|
16210
16210
|
const update = (next) => {
|
|
16211
16211
|
const h = _nullishCoalesce(next.h, () => ( hsl.h));
|
|
16212
16212
|
const s = _nullishCoalesce(next.s, () => ( hsl.s));
|
|
16213
16213
|
const l = _nullishCoalesce(next.l, () => ( hsl.l));
|
|
16214
|
-
const out =
|
|
16215
|
-
onChange(
|
|
16214
|
+
const out = _chunkVLRXLTR4cjs.hslToRgb.call(void 0, h, s, l);
|
|
16215
|
+
onChange(_chunkVLRXLTR4cjs.rgbToHex.call(void 0, out.r, out.g, out.b));
|
|
16216
16216
|
};
|
|
16217
16217
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16218
16218
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
|
|
@@ -16238,7 +16238,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16238
16238
|
{
|
|
16239
16239
|
disabled,
|
|
16240
16240
|
"aria-label": "Pick custom color",
|
|
16241
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16241
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ColorSwatch, { color: value }),
|
|
16242
16242
|
selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
|
|
16243
16243
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16244
16244
|
className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
|
|
@@ -16254,7 +16254,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16254
16254
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
|
|
16255
16255
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
16256
16256
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16257
|
-
|
|
16257
|
+
_chunkVLRXLTR4cjs.ActionsMenuDropdown,
|
|
16258
16258
|
{
|
|
16259
16259
|
groups: formatGroups,
|
|
16260
16260
|
align: "start",
|
|
@@ -16343,7 +16343,7 @@ function TicketStatusConfigRow({
|
|
|
16343
16343
|
showColorPicker ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex", colClass), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ColorPresetSelect, { value: color, presetKey, onChange: onColorChange }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: _chunkPRPZBXWZcjs.cn.call(void 0, "hidden md:block", colClass) }),
|
|
16344
16344
|
showColorPicker && isCustomColor ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex", colClass), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ColorPickerInput, { value: color, onChange: (next) => onColorChange({ color: next, preset: void 0 }) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: _chunkPRPZBXWZcjs.cn.call(void 0, "hidden md:block", colClass) }),
|
|
16345
16345
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex h-11 items-center justify-start md:h-12 md:justify-end", colClass), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16346
|
-
|
|
16346
|
+
_chunkVLRXLTR4cjs.TicketStatusTag,
|
|
16347
16347
|
{
|
|
16348
16348
|
status: statusKey,
|
|
16349
16349
|
label: name || " ",
|
|
@@ -16393,7 +16393,7 @@ function formatTestRunDuration(ms) {
|
|
|
16393
16393
|
var RESULT_COLUMN_MIN_WIDTH = 176;
|
|
16394
16394
|
var SKELETON_COLUMNS = 6;
|
|
16395
16395
|
function TestResultsSkeleton() {
|
|
16396
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16396
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
16397
16397
|
/* @__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}`)) }),
|
|
16398
16398
|
/* @__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}`)) }) })
|
|
16399
16399
|
] }) });
|
|
@@ -16428,7 +16428,7 @@ function TestResultsTable({ rows, loading }) {
|
|
|
16428
16428
|
if (loading) {
|
|
16429
16429
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
16430
16430
|
}
|
|
16431
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16431
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.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: [
|
|
16432
16432
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
16433
16433
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
16434
16434
|
] }) }) });
|
|
@@ -16488,7 +16488,7 @@ var TEST_RUN_STATUS_TAGS = {
|
|
|
16488
16488
|
function TestRunStatusStat({ status, className }) {
|
|
16489
16489
|
const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
|
|
16490
16490
|
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: [
|
|
16491
|
-
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16491
|
+
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.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: "-" }),
|
|
16492
16492
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
|
|
16493
16493
|
] });
|
|
16494
16494
|
}
|
|
@@ -16531,7 +16531,7 @@ function useTestRunState(campaign) {
|
|
|
16531
16531
|
const firstError = isFinished && campaign.errors.length > 0 ? campaign.errors[0].error : null;
|
|
16532
16532
|
const status = isActive ? "running" : hasRun && isFinished ? firstError ? "error" : "success" : "idle";
|
|
16533
16533
|
const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
|
|
16534
|
-
const startedLabel = showTiming && campaign.startedAt ?
|
|
16534
|
+
const startedLabel = showTiming && campaign.startedAt ? _chunkVLRXLTR4cjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
|
|
16535
16535
|
const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
|
|
16536
16536
|
const displayRows = _react.useMemo.call(void 0,
|
|
16537
16537
|
() => campaign.results.map(
|
|
@@ -16869,7 +16869,7 @@ function TicketInfoSection({
|
|
|
16869
16869
|
/* @__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]) }),
|
|
16870
16870
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
16871
16871
|
(status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16872
|
-
|
|
16872
|
+
_chunkVLRXLTR4cjs.TicketStatusTag,
|
|
16873
16873
|
{
|
|
16874
16874
|
status: _nullishCoalesce(status, () => ( "")),
|
|
16875
16875
|
label: statusLabel,
|
|
@@ -16908,9 +16908,9 @@ function TicketInfoSection({
|
|
|
16908
16908
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16909
16909
|
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" }) }),
|
|
16910
16910
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
|
|
16911
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16911
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.SimpleMarkdownRenderer, { content: description }),
|
|
16912
16912
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
16913
|
-
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,
|
|
16913
|
+
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, _chunkVLRXLTR4cjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
|
|
16914
16914
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16915
16915
|
TicketNotesSection,
|
|
16916
16916
|
{
|
|
@@ -16933,7 +16933,7 @@ function renderTicketStatusOption(option, isSelected) {
|
|
|
16933
16933
|
const { label, color } = option;
|
|
16934
16934
|
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: [
|
|
16935
16935
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
16936
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16936
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ColorSwatch, { color }),
|
|
16937
16937
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
|
|
16938
16938
|
] }),
|
|
16939
16939
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -16978,9 +16978,9 @@ function TakeOverTicketModal({
|
|
|
16978
16978
|
if (!selectedStatusId || !assigneeId || isPending) return;
|
|
16979
16979
|
onConfirm({ statusId: selectedStatusId, assigneeId });
|
|
16980
16980
|
};
|
|
16981
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16981
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVLRXLTR4cjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
16982
16982
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
16983
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16983
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ModalTitle, { children: "Take Over Ticket" }) }),
|
|
16984
16984
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
16985
16985
|
"The ticket ",
|
|
16986
16986
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -16995,7 +16995,7 @@ function TakeOverTicketModal({
|
|
|
16995
16995
|
value: selectedStatusId,
|
|
16996
16996
|
onChange: setStatusId,
|
|
16997
16997
|
placeholder: "Select Status",
|
|
16998
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16998
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
16999
16999
|
renderOption: renderTicketStatusOption
|
|
17000
17000
|
}
|
|
17001
17001
|
) }),
|
|
@@ -17022,7 +17022,7 @@ function TakeOverTicketModal({
|
|
|
17022
17022
|
}
|
|
17023
17023
|
) })
|
|
17024
17024
|
] }),
|
|
17025
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17025
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVLRXLTR4cjs.ModalFooter, { children: [
|
|
17026
17026
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17027
17027
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17028
17028
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17081,9 +17081,9 @@ function ReopenTicketModal({
|
|
|
17081
17081
|
reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
|
|
17082
17082
|
});
|
|
17083
17083
|
};
|
|
17084
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17084
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVLRXLTR4cjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17085
17085
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17086
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17086
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17087
17087
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17088
17088
|
"The ticket ",
|
|
17089
17089
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17098,7 +17098,7 @@ function ReopenTicketModal({
|
|
|
17098
17098
|
value: selectedStatusId,
|
|
17099
17099
|
onChange: setStatusId,
|
|
17100
17100
|
placeholder: "Select Status",
|
|
17101
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17101
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17102
17102
|
renderOption: renderTicketStatusOption
|
|
17103
17103
|
}
|
|
17104
17104
|
) }),
|
|
@@ -17136,7 +17136,7 @@ function ReopenTicketModal({
|
|
|
17136
17136
|
disabled: isPending
|
|
17137
17137
|
}
|
|
17138
17138
|
) }),
|
|
17139
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17139
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVLRXLTR4cjs.ModalFooter, { children: [
|
|
17140
17140
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17141
17141
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17142
17142
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17184,9 +17184,9 @@ function ReopenTicketRequestModal({
|
|
|
17184
17184
|
...showHandoffOption ? { handoffToTechnician: handoff } : {}
|
|
17185
17185
|
});
|
|
17186
17186
|
};
|
|
17187
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17187
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVLRXLTR4cjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17188
17188
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17189
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17189
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17190
17190
|
/* @__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." }),
|
|
17191
17191
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17192
17192
|
Textarea,
|
|
@@ -17210,7 +17210,7 @@ function ReopenTicketRequestModal({
|
|
|
17210
17210
|
disabled: isPending
|
|
17211
17211
|
}
|
|
17212
17212
|
),
|
|
17213
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17213
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVLRXLTR4cjs.ModalFooter, { children: [
|
|
17214
17214
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
|
|
17215
17215
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
|
|
17216
17216
|
] })
|
|
@@ -19207,7 +19207,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
|
|
|
19207
19207
|
sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
|
|
19208
19208
|
title: config.title,
|
|
19209
19209
|
loading: "eager",
|
|
19210
|
-
...
|
|
19210
|
+
..._chunkVLRXLTR4cjs.fetchPriorityProp.call(void 0, "high")
|
|
19211
19211
|
},
|
|
19212
19212
|
iframeKey
|
|
19213
19213
|
),
|
|
@@ -20057,7 +20057,7 @@ function MediaGalleryManager({
|
|
|
20057
20057
|
/* @__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" ? (
|
|
20058
20058
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
20059
20059
|
// fit="cover" crops to the aspect-video cell.
|
|
20060
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20060
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
|
|
20061
20061
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20062
20062
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
20063
20063
|
{
|
|
@@ -20614,9 +20614,9 @@ function PushButtonSelector({
|
|
|
20614
20614
|
option.id
|
|
20615
20615
|
);
|
|
20616
20616
|
if (option.disabled && option.disabledReason) {
|
|
20617
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
20618
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20619
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20617
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVLRXLTR4cjs.Tooltip, { children: [
|
|
20618
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.TooltipTrigger, { asChild: true, children: optionEl }),
|
|
20619
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
|
|
20620
20620
|
] }, option.id);
|
|
20621
20621
|
}
|
|
20622
20622
|
return optionEl;
|
|
@@ -20653,7 +20653,7 @@ function PushButtonSelector({
|
|
|
20653
20653
|
ungroupedOptions.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-2", children: ungroupedOptions.map(renderOption) })
|
|
20654
20654
|
] });
|
|
20655
20655
|
};
|
|
20656
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20656
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
|
|
20657
20657
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
20658
20658
|
renderOptionsContent(),
|
|
20659
20659
|
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: [
|
|
@@ -20816,7 +20816,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
|
|
|
20816
20816
|
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" ? (
|
|
20817
20817
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
20818
20818
|
// fit="cover" crops to the aspect-video cell.
|
|
20819
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20819
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
20820
20820
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20821
20821
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
20822
20822
|
{
|
|
@@ -20949,7 +20949,7 @@ var SelectButton = _react2.default.forwardRef(
|
|
|
20949
20949
|
}
|
|
20950
20950
|
)
|
|
20951
20951
|
] }),
|
|
20952
|
-
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20952
|
+
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
|
|
20953
20953
|
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
|
|
20954
20954
|
]
|
|
20955
20955
|
}
|
|
@@ -21735,7 +21735,7 @@ function VideoBitesDisplay({
|
|
|
21735
21735
|
filterPublished = true,
|
|
21736
21736
|
showTitle = true
|
|
21737
21737
|
}) {
|
|
21738
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21738
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
21739
21739
|
}
|
|
21740
21740
|
|
|
21741
21741
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -21804,7 +21804,7 @@ function WalkthroughVideo({
|
|
|
21804
21804
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
21805
21805
|
};
|
|
21806
21806
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
|
|
21807
|
-
const hydrated =
|
|
21807
|
+
const hydrated = _chunkVLRXLTR4cjs.useIsHydrated.call(void 0, );
|
|
21808
21808
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
21809
21809
|
if (!hydrated) return false;
|
|
21810
21810
|
try {
|
|
@@ -22201,7 +22201,7 @@ function WalkthroughVideo({
|
|
|
22201
22201
|
},
|
|
22202
22202
|
children: [
|
|
22203
22203
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22204
|
-
|
|
22204
|
+
_chunkVLRXLTR4cjs.VideoHoverPreviewSurface,
|
|
22205
22205
|
{
|
|
22206
22206
|
url: video.mainVideoUrl || "",
|
|
22207
22207
|
posterUrl: video.posterUrl,
|
|
@@ -22224,7 +22224,7 @@ function WalkthroughVideo({
|
|
|
22224
22224
|
`card-${embedUrlKey}`
|
|
22225
22225
|
) }),
|
|
22226
22226
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22227
|
-
|
|
22227
|
+
_chunkVLRXLTR4cjs.CardHitLayer,
|
|
22228
22228
|
{
|
|
22229
22229
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
22230
22230
|
onPointerDown: pausePreviewNow,
|
|
@@ -22233,7 +22233,7 @@ function WalkthroughVideo({
|
|
|
22233
22233
|
}
|
|
22234
22234
|
),
|
|
22235
22235
|
/* @__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: [
|
|
22236
|
-
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,
|
|
22236
|
+
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, _chunkVLRXLTR4cjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
|
|
22237
22237
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
|
|
22238
22238
|
] }),
|
|
22239
22239
|
showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22246,7 +22246,7 @@ function WalkthroughVideo({
|
|
|
22246
22246
|
onPointerDown: (e) => e.stopPropagation(),
|
|
22247
22247
|
onClick: onUnmuteOrPlay,
|
|
22248
22248
|
className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
|
|
22249
|
-
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22249
|
+
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.VideoUnmuteGlyph, {})
|
|
22250
22250
|
}
|
|
22251
22251
|
),
|
|
22252
22252
|
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: [
|
|
@@ -22339,7 +22339,7 @@ function WalkthroughVideo({
|
|
|
22339
22339
|
children: [
|
|
22340
22340
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
22341
22341
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22342
|
-
|
|
22342
|
+
_chunkVLRXLTR4cjs.Video,
|
|
22343
22343
|
{
|
|
22344
22344
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
22345
22345
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -22390,7 +22390,7 @@ function InlineWalkthroughVideo(props) {
|
|
|
22390
22390
|
var _reactquery = require('@tanstack/react-query');
|
|
22391
22391
|
function useWalkthroughVideo(opts) {
|
|
22392
22392
|
const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
|
|
22393
|
-
const captions =
|
|
22393
|
+
const captions = _chunkVLRXLTR4cjs.useCaptions.call(void 0, );
|
|
22394
22394
|
const query = _reactquery.useQuery.call(void 0, {
|
|
22395
22395
|
queryKey: ["walkthrough-video", endpoint],
|
|
22396
22396
|
enabled,
|
|
@@ -22588,7 +22588,7 @@ function VideoSourceSelector({
|
|
|
22588
22588
|
}
|
|
22589
22589
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
22590
22590
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
|
|
22591
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22591
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.Video, { kind: "file", url: videoUrl }) }),
|
|
22592
22592
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22593
22593
|
"button",
|
|
22594
22594
|
{
|
|
@@ -23112,7 +23112,7 @@ function HighlightVideoSection({
|
|
|
23112
23112
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
23113
23113
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
23114
23114
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
|
|
23115
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23115
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
|
|
23116
23116
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23117
23117
|
"button",
|
|
23118
23118
|
{
|
|
@@ -23848,7 +23848,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
|
23848
23848
|
] });
|
|
23849
23849
|
};
|
|
23850
23850
|
var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
|
|
23851
|
-
const { innerRef, containerStyle } =
|
|
23851
|
+
const { innerRef, containerStyle } = _chunkVLRXLTR4cjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
|
|
23852
23852
|
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
23853
23853
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
23854
23854
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -24016,7 +24016,7 @@ function WaitlistForm({
|
|
|
24016
24016
|
const { toast } = _chunk2BFZHTSDcjs.useToast.call(void 0, );
|
|
24017
24017
|
const { honeypotInputProps, getSignals, resetSignals } = _chunk2BFZHTSDcjs.useHumanitySignals.call(void 0, );
|
|
24018
24018
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
24019
|
-
const isClient =
|
|
24019
|
+
const isClient = _chunkVLRXLTR4cjs.useIsHydrated.call(void 0, );
|
|
24020
24020
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
24021
24021
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
24022
24022
|
const isMailDomainGeneric = hasGenericEmailDomain(email);
|
|
@@ -24820,7 +24820,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
24820
24820
|
"data-state": open ? "open" : "closed",
|
|
24821
24821
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
24822
24822
|
"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",
|
|
24823
|
-
|
|
24823
|
+
_chunkVLRXLTR4cjs.OVERLAY_BACKDROP_CLASS,
|
|
24824
24824
|
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
24825
24825
|
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
24826
24826
|
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
@@ -24896,11 +24896,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
24896
24896
|
}
|
|
24897
24897
|
);
|
|
24898
24898
|
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
24899
|
-
var AppLayoutDrawerHeader =
|
|
24900
|
-
var AppLayoutDrawerTitle =
|
|
24901
|
-
var AppLayoutDrawerDescription =
|
|
24902
|
-
var AppLayoutDrawerBody =
|
|
24903
|
-
var AppLayoutDrawerFooter =
|
|
24899
|
+
var AppLayoutDrawerHeader = _chunkVLRXLTR4cjs.DrawerHeader;
|
|
24900
|
+
var AppLayoutDrawerTitle = _chunkVLRXLTR4cjs.DrawerTitle;
|
|
24901
|
+
var AppLayoutDrawerDescription = _chunkVLRXLTR4cjs.DrawerDescription;
|
|
24902
|
+
var AppLayoutDrawerBody = _chunkVLRXLTR4cjs.DrawerBody;
|
|
24903
|
+
var AppLayoutDrawerFooter = _chunkVLRXLTR4cjs.DrawerFooter;
|
|
24904
24904
|
|
|
24905
24905
|
// src/components/features/notifications/notification-tile.tsx
|
|
24906
24906
|
|
|
@@ -24988,7 +24988,7 @@ function NotificationTile({
|
|
|
24988
24988
|
}
|
|
24989
24989
|
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "size-1.5 rounded-full", _chunk2BFZHTSDcjs.dotColorByVariant[accentVariant]) }))) }),
|
|
24990
24990
|
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" }),
|
|
24991
|
-
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children:
|
|
24991
|
+
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkVLRXLTR4cjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
|
|
24992
24992
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
|
|
24993
24993
|
{
|
|
24994
24994
|
active: isLive,
|
|
@@ -25085,7 +25085,7 @@ function NotificationDrawer({
|
|
|
25085
25085
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
25086
25086
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
25087
25087
|
/* @__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,
|
|
25088
|
-
|
|
25088
|
+
_chunkVLRXLTR4cjs.DrawerTitle,
|
|
25089
25089
|
{
|
|
25090
25090
|
hideClose: true,
|
|
25091
25091
|
className: "truncate",
|
|
@@ -25144,8 +25144,8 @@ function NotificationDrawer({
|
|
|
25144
25144
|
}
|
|
25145
25145
|
) });
|
|
25146
25146
|
}
|
|
25147
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25148
|
-
|
|
25147
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25148
|
+
_chunkVLRXLTR4cjs.DrawerContent,
|
|
25149
25149
|
{
|
|
25150
25150
|
side: "right",
|
|
25151
25151
|
"aria-describedby": void 0,
|
|
@@ -25420,13 +25420,13 @@ function getApprovalMeta(notification) {
|
|
|
25420
25420
|
function resolutionToStatus(resolution) {
|
|
25421
25421
|
switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
|
|
25422
25422
|
case "APPROVED":
|
|
25423
|
-
return
|
|
25423
|
+
return _chunkVLRXLTR4cjs.APPROVAL_STATUS.APPROVED;
|
|
25424
25424
|
case "REJECTED":
|
|
25425
|
-
return
|
|
25425
|
+
return _chunkVLRXLTR4cjs.APPROVAL_STATUS.REJECTED;
|
|
25426
25426
|
case "CANCELLED":
|
|
25427
|
-
return
|
|
25427
|
+
return _chunkVLRXLTR4cjs.APPROVAL_STATUS.CANCELLED;
|
|
25428
25428
|
default:
|
|
25429
|
-
return
|
|
25429
|
+
return _chunkVLRXLTR4cjs.APPROVAL_STATUS.PENDING;
|
|
25430
25430
|
}
|
|
25431
25431
|
}
|
|
25432
25432
|
function approvalMetaToBatchData(approval) {
|
|
@@ -25466,7 +25466,7 @@ function ApprovalRequestNotificationTile({
|
|
|
25466
25466
|
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _580 => _580.resolution]));
|
|
25467
25467
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
25468
25468
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
25469
|
-
const { innerRef, containerStyle } =
|
|
25469
|
+
const { innerRef, containerStyle } = _chunkVLRXLTR4cjs.useCollapsible.call(void 0, { expanded });
|
|
25470
25470
|
if (!approval || !batchData) return null;
|
|
25471
25471
|
const tileNotification = {
|
|
25472
25472
|
...notification,
|
|
@@ -25519,7 +25519,7 @@ function ApprovalRequestNotificationTile({
|
|
|
25519
25519
|
}
|
|
25520
25520
|
)
|
|
25521
25521
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
25522
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25522
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ApprovalStatusTag, { status }),
|
|
25523
25523
|
approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
25524
25524
|
"by ",
|
|
25525
25525
|
approval.resolvedByName
|
|
@@ -25537,12 +25537,12 @@ function ApprovalRequestNotificationTile({
|
|
|
25537
25537
|
"aria-expanded": expanded,
|
|
25538
25538
|
"aria-label": toggleLabel,
|
|
25539
25539
|
className: "ml-auto w-6 shrink-0 px-0 md:w-8",
|
|
25540
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25540
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.ExpandChevron, { expanded })
|
|
25541
25541
|
}
|
|
25542
25542
|
)
|
|
25543
25543
|
] }),
|
|
25544
25544
|
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,
|
|
25545
|
-
|
|
25545
|
+
_chunkVLRXLTR4cjs.ApprovalBatchMessage,
|
|
25546
25546
|
{
|
|
25547
25547
|
data: batchData,
|
|
25548
25548
|
showExecutionStatus: false,
|
|
@@ -25873,7 +25873,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
|
|
|
25873
25873
|
function StatusTag({ status }) {
|
|
25874
25874
|
if (status === "tracking") {
|
|
25875
25875
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25876
|
-
|
|
25876
|
+
_chunkVLRXLTR4cjs.Tag,
|
|
25877
25877
|
{
|
|
25878
25878
|
variant: "success",
|
|
25879
25879
|
className: STATUS_TAG_SKIN,
|
|
@@ -25883,9 +25883,9 @@ function StatusTag({ status }) {
|
|
|
25883
25883
|
);
|
|
25884
25884
|
}
|
|
25885
25885
|
if (status === "paused") {
|
|
25886
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25886
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
|
|
25887
25887
|
}
|
|
25888
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25888
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
|
|
25889
25889
|
}
|
|
25890
25890
|
function LastEntryRow({ entry, onClick }) {
|
|
25891
25891
|
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: [
|
|
@@ -26054,7 +26054,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
26054
26054
|
"data-state": isOpen ? "open" : "closed",
|
|
26055
26055
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
26056
26056
|
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
26057
|
-
|
|
26057
|
+
_chunkVLRXLTR4cjs.OVERLAY_BACKDROP_CLASS,
|
|
26058
26058
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
26059
26059
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
26060
26060
|
)
|
|
@@ -26208,7 +26208,7 @@ function BoardColumnHeader({
|
|
|
26208
26208
|
}) {
|
|
26209
26209
|
const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
|
|
26210
26210
|
const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
|
|
26211
|
-
const useStatusVariant =
|
|
26211
|
+
const useStatusVariant = _chunkVLRXLTR4cjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
|
|
26212
26212
|
if (collapsed) {
|
|
26213
26213
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
26214
26214
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -26223,7 +26223,7 @@ function BoardColumnHeader({
|
|
|
26223
26223
|
}
|
|
26224
26224
|
),
|
|
26225
26225
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26226
|
-
|
|
26226
|
+
_chunkVLRXLTR4cjs.TicketStatusTag,
|
|
26227
26227
|
{
|
|
26228
26228
|
status: tagStatus,
|
|
26229
26229
|
label: column.label,
|
|
@@ -26236,7 +26236,7 @@ function BoardColumnHeader({
|
|
|
26236
26236
|
}
|
|
26237
26237
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
26238
26238
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
26239
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26239
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
|
|
26240
26240
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
|
|
26241
26241
|
] }),
|
|
26242
26242
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -26387,7 +26387,7 @@ function holdMoveDragEffect(element) {
|
|
|
26387
26387
|
|
|
26388
26388
|
function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
26389
26389
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
26390
|
-
const { innerRef, containerStyle } =
|
|
26390
|
+
const { innerRef, containerStyle } = _chunkVLRXLTR4cjs.useCollapsible.call(void 0, { expanded });
|
|
26391
26391
|
const isAdmin = pendingApproval.approvalType === "ADMIN";
|
|
26392
26392
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
|
|
26393
26393
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -26416,7 +26416,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
|
26416
26416
|
}
|
|
26417
26417
|
),
|
|
26418
26418
|
/* @__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,
|
|
26419
|
-
|
|
26419
|
+
_chunkVLRXLTR4cjs.ApprovalBatchMessage,
|
|
26420
26420
|
{
|
|
26421
26421
|
className: "mb-0",
|
|
26422
26422
|
data: {
|
|
@@ -26488,7 +26488,7 @@ var ACTIVITY_DEFAULT_LABEL = {
|
|
|
26488
26488
|
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";
|
|
26489
26489
|
function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
|
|
26490
26490
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
26491
|
-
const newMessageTextColor = columnColor ?
|
|
26491
|
+
const newMessageTextColor = columnColor ? _chunkVLRXLTR4cjs.getReadableTextColor.call(void 0, columnColor) : void 0;
|
|
26492
26492
|
const showDeviceRow = !!(_optionalChain([ticket, 'access', _616 => _616.deviceHostnames, 'optionalAccess', _617 => _617.length]) || ticket.organizationName);
|
|
26493
26493
|
const deviceText = [_optionalChain([ticket, 'access', _618 => _618.deviceHostnames, 'optionalAccess', _619 => _619.join, 'call', _620 => _620(", ")]), ticket.organizationName].filter(Boolean).join(", ");
|
|
26494
26494
|
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _621 => _621.assignees, 'optionalAccess', _622 => _622.length]) || renderAssignSlot);
|
|
@@ -26527,8 +26527,8 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
26527
26527
|
] })
|
|
26528
26528
|
] }) : null
|
|
26529
26529
|
] }) : null;
|
|
26530
|
-
const timestampLabel = ticket.createdAt ?
|
|
26531
|
-
const tooltipLabel = ticket.createdAt ?
|
|
26530
|
+
const timestampLabel = ticket.createdAt ? _chunkVLRXLTR4cjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
|
|
26531
|
+
const tooltipLabel = ticket.createdAt ? _chunkVLRXLTR4cjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
|
|
26532
26532
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
26533
26533
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
|
|
26534
26534
|
/* @__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: [
|
|
@@ -26541,9 +26541,9 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
26541
26541
|
rightSection
|
|
26542
26542
|
] }),
|
|
26543
26543
|
_optionalChain([ticket, 'access', _625 => _625.tags, 'optionalAccess', _626 => _626.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
26544
|
-
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26545
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26546
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26544
|
+
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVLRXLTR4cjs.Tooltip, { children: [
|
|
26545
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
|
|
26546
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.TooltipContent, { children: tooltipLabel })
|
|
26547
26547
|
] }) }),
|
|
26548
26548
|
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: [
|
|
26549
26549
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
|
|
@@ -26563,7 +26563,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
26563
26563
|
}
|
|
26564
26564
|
),
|
|
26565
26565
|
showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26566
|
-
|
|
26566
|
+
_chunkVLRXLTR4cjs.Tag,
|
|
26567
26567
|
{
|
|
26568
26568
|
label: "New Message",
|
|
26569
26569
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
|
|
@@ -26777,8 +26777,8 @@ function TicketTagRow({ tags }) {
|
|
|
26777
26777
|
const visible = tags.slice(0, MAX_VISIBLE_TAGS);
|
|
26778
26778
|
const hidden = tags.length - visible.length;
|
|
26779
26779
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
|
|
26780
|
-
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26781
|
-
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26780
|
+
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.Tag, { variant: "outline", label: tag }, tag)),
|
|
26781
|
+
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVLRXLTR4cjs.Tag, { variant: "outline", label: `+${hidden}` })
|
|
26782
26782
|
] });
|
|
26783
26783
|
}
|
|
26784
26784
|
|
|
@@ -28294,4 +28294,4 @@ function SortableRow({ id, children }) {
|
|
|
28294
28294
|
|
|
28295
28295
|
|
|
28296
28296
|
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.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;
|
|
28297
|
-
//# sourceMappingURL=chunk-
|
|
28297
|
+
//# sourceMappingURL=chunk-PITZMTGE.cjs.map
|