@flamingo-stack/openframe-frontend-core 0.0.580-1961.5367.1 → 0.0.580
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-KOXEFRIS.cjs → chunk-2H5THD2V.cjs} +69 -69
- package/dist/{chunk-KOXEFRIS.cjs.map → chunk-2H5THD2V.cjs.map} +1 -1
- package/dist/{chunk-KTVCPFRY.js → chunk-4VXJLVEF.js} +3 -3
- package/dist/{chunk-D5H4PRT6.cjs → chunk-7QBSMF3A.cjs} +4 -4
- package/dist/{chunk-D5H4PRT6.cjs.map → chunk-7QBSMF3A.cjs.map} +1 -1
- package/dist/{chunk-NHUVHW6N.js → chunk-AHPTMNF2.js} +2 -2
- package/dist/{chunk-CNHSVN5U.cjs → chunk-BVQYK3TO.cjs} +159 -159
- package/dist/{chunk-CNHSVN5U.cjs.map → chunk-BVQYK3TO.cjs.map} +1 -1
- package/dist/{chunk-4LPRIBW6.js → chunk-CCQDL6HM.js} +3 -3
- package/dist/{chunk-MDOLH3P3.cjs → chunk-DLLMAPL5.cjs} +5 -5
- package/dist/{chunk-MDOLH3P3.cjs.map → chunk-DLLMAPL5.cjs.map} +1 -1
- package/dist/{chunk-GBQLFG3C.js → chunk-FEPUMLJL.js} +4 -4
- package/dist/{chunk-F5FAVDVN.js → chunk-FF27HBZ7.js} +2 -2
- package/dist/{chunk-YSZFIV7M.cjs → chunk-FHICKOW7.cjs} +22 -22
- package/dist/{chunk-YSZFIV7M.cjs.map → chunk-FHICKOW7.cjs.map} +1 -1
- package/dist/{chunk-KDBRR4NA.cjs → chunk-FLUR7CUB.cjs} +3 -3
- package/dist/{chunk-KDBRR4NA.cjs.map → chunk-FLUR7CUB.cjs.map} +1 -1
- package/dist/{chunk-E6W6XU5Q.cjs → chunk-FWY4U5CB.cjs} +10 -10
- package/dist/{chunk-E6W6XU5Q.cjs.map → chunk-FWY4U5CB.cjs.map} +1 -1
- package/dist/{chunk-XDYPYW3K.js → chunk-HJVKPG55.js} +4 -10
- package/dist/chunk-HJVKPG55.js.map +1 -0
- package/dist/{chunk-XQ5RB7JR.cjs → chunk-IB7PMKJX.cjs} +9 -9
- package/dist/{chunk-XQ5RB7JR.cjs.map → chunk-IB7PMKJX.cjs.map} +1 -1
- package/dist/{chunk-6EFHTJAS.js → chunk-KMC44UBW.js} +3 -3
- package/dist/{chunk-Q6TEYGFN.js → chunk-LCR3J5Z4.js} +3 -3
- package/dist/{chunk-OU4FQZWH.js → chunk-MHA4KNWD.js} +2 -2
- package/dist/{chunk-Y6PZVGSN.cjs → chunk-MPHTQLXW.cjs} +24 -24
- package/dist/{chunk-Y6PZVGSN.cjs.map → chunk-MPHTQLXW.cjs.map} +1 -1
- package/dist/{chunk-7LF4L4PN.js → chunk-OABA7YGU.js} +6 -6
- package/dist/{chunk-AH7OTMJR.js → chunk-P2XZEUDA.js} +5 -5
- package/dist/{chunk-UXE4DR4N.js → chunk-PPWFQVWK.js} +3 -3
- package/dist/{chunk-DPVNUSNO.cjs → chunk-Q3MR6FFT.cjs} +21 -21
- package/dist/{chunk-DPVNUSNO.cjs.map → chunk-Q3MR6FFT.cjs.map} +1 -1
- package/dist/{chunk-LZ46JHWB.js → chunk-ROUP3WGG.js} +5 -5
- package/dist/{chunk-WSBVOHYG.js → chunk-SE2AQAOH.js} +5 -5
- package/dist/{chunk-GA4SY5N3.cjs → chunk-TDTACWIE.cjs} +15 -15
- package/dist/{chunk-GA4SY5N3.cjs.map → chunk-TDTACWIE.cjs.map} +1 -1
- package/dist/{chunk-QS47HKYQ.cjs → chunk-ULMO6SIY.cjs} +43 -43
- package/dist/{chunk-QS47HKYQ.cjs.map → chunk-ULMO6SIY.cjs.map} +1 -1
- package/dist/{chunk-EUIYALFP.cjs → chunk-ULZHN4XS.cjs} +3 -3
- package/dist/{chunk-EUIYALFP.cjs.map → chunk-ULZHN4XS.cjs.map} +1 -1
- package/dist/{chunk-OEFQPESB.js → chunk-UWVKWRM3.js} +2 -2
- package/dist/{chunk-GTYXMVOG.cjs → chunk-V3XCLT5V.cjs} +32 -32
- package/dist/{chunk-GTYXMVOG.cjs.map → chunk-V3XCLT5V.cjs.map} +1 -1
- package/dist/{chunk-MNCI3CXL.cjs → chunk-VQTE5WAE.cjs} +10 -10
- package/dist/{chunk-MNCI3CXL.cjs.map → chunk-VQTE5WAE.cjs.map} +1 -1
- package/dist/{chunk-DJJAEVB2.js → chunk-YLLX27VK.js} +2 -2
- package/dist/{chunk-A4F7VLCJ.cjs → chunk-YU2UJPAT.cjs} +4 -10
- package/dist/chunk-YU2UJPAT.cjs.map +1 -0
- package/dist/components/case-studies/index.cjs +9 -9
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +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 -121
- package/dist/components/index.js +13 -13
- package/dist/components/meeting-scheduler/index.cjs +21 -21
- package/dist/components/meeting-scheduler/index.js +2 -2
- package/dist/components/navigation/index.cjs +6 -6
- package/dist/components/navigation/index.js +5 -5
- package/dist/components/onboarding-guides/index.cjs +6 -6
- package/dist/components/onboarding-guides/index.js +5 -5
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/ui/actions-menu-header-context.d.ts +3 -2
- package/dist/components/ui/actions-menu-header-context.d.ts.map +1 -1
- package/dist/components/ui/index.cjs +3 -3
- package/dist/components/ui/index.js +2 -2
- package/dist/components/ui/tab-selector.d.ts.map +1 -1
- package/dist/index.cjs +7 -7
- package/dist/index.js +6 -6
- package/package.json +1 -1
- package/src/components/ui/.actions-menu.md +1 -1
- package/src/components/ui/.tab-selector.md +1 -1
- package/src/components/ui/actions-menu-header-context.ts +3 -2
- package/src/components/ui/tab-selector.tsx +9 -13
- package/dist/chunk-A4F7VLCJ.cjs.map +0 -1
- package/dist/chunk-XDYPYW3K.js.map +0 -1
- /package/dist/{chunk-KTVCPFRY.js.map → chunk-4VXJLVEF.js.map} +0 -0
- /package/dist/{chunk-NHUVHW6N.js.map → chunk-AHPTMNF2.js.map} +0 -0
- /package/dist/{chunk-4LPRIBW6.js.map → chunk-CCQDL6HM.js.map} +0 -0
- /package/dist/{chunk-GBQLFG3C.js.map → chunk-FEPUMLJL.js.map} +0 -0
- /package/dist/{chunk-F5FAVDVN.js.map → chunk-FF27HBZ7.js.map} +0 -0
- /package/dist/{chunk-6EFHTJAS.js.map → chunk-KMC44UBW.js.map} +0 -0
- /package/dist/{chunk-Q6TEYGFN.js.map → chunk-LCR3J5Z4.js.map} +0 -0
- /package/dist/{chunk-OU4FQZWH.js.map → chunk-MHA4KNWD.js.map} +0 -0
- /package/dist/{chunk-7LF4L4PN.js.map → chunk-OABA7YGU.js.map} +0 -0
- /package/dist/{chunk-AH7OTMJR.js.map → chunk-P2XZEUDA.js.map} +0 -0
- /package/dist/{chunk-UXE4DR4N.js.map → chunk-PPWFQVWK.js.map} +0 -0
- /package/dist/{chunk-LZ46JHWB.js.map → chunk-ROUP3WGG.js.map} +0 -0
- /package/dist/{chunk-WSBVOHYG.js.map → chunk-SE2AQAOH.js.map} +0 -0
- /package/dist/{chunk-OEFQPESB.js.map → chunk-UWVKWRM3.js.map} +0 -0
- /package/dist/{chunk-DJJAEVB2.js.map → chunk-YLLX27VK.js.map} +0 -0
|
@@ -90,7 +90,7 @@ var _chunkIKDC3R7Vcjs = require('./chunk-IKDC3R7V.cjs');
|
|
|
90
90
|
|
|
91
91
|
|
|
92
92
|
|
|
93
|
-
var
|
|
93
|
+
var _chunkYU2UJPATcjs = require('./chunk-YU2UJPAT.cjs');
|
|
94
94
|
|
|
95
95
|
|
|
96
96
|
|
|
@@ -331,7 +331,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
331
331
|
var useTheme = _nextthemes.useTheme;
|
|
332
332
|
function useThemeToggle() {
|
|
333
333
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
334
|
-
const mounted =
|
|
334
|
+
const mounted = _chunkYU2UJPATcjs.useIsHydrated.call(void 0, );
|
|
335
335
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
336
336
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
337
337
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -608,7 +608,7 @@ function TruncateText({
|
|
|
608
608
|
const { ref, isTruncated } = _chunkZI27ALYXcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
|
|
609
609
|
const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
|
|
610
610
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
611
|
-
|
|
611
|
+
_chunkYU2UJPATcjs.FloatingTooltip,
|
|
612
612
|
{
|
|
613
613
|
content: _nullishCoalesce(tooltip, () => ( children)),
|
|
614
614
|
side,
|
|
@@ -910,7 +910,7 @@ function AutocompleteInner(props, ref) {
|
|
|
910
910
|
),
|
|
911
911
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2", children: [
|
|
912
912
|
multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
913
|
-
|
|
913
|
+
_chunkYU2UJPATcjs.Tag,
|
|
914
914
|
{
|
|
915
915
|
variant: "outline",
|
|
916
916
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -1116,7 +1116,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1116
1116
|
"aria-hidden": "true",
|
|
1117
1117
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
1118
1118
|
children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1119
|
-
|
|
1119
|
+
_chunkYU2UJPATcjs.Tag,
|
|
1120
1120
|
{
|
|
1121
1121
|
variant: "outline",
|
|
1122
1122
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -2500,7 +2500,7 @@ function InfoHint({ children, label, side = "top", className }) {
|
|
|
2500
2500
|
const describedById = _react.useId.call(void 0, );
|
|
2501
2501
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
|
|
2502
2502
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2503
|
-
|
|
2503
|
+
_chunkYU2UJPATcjs.FloatingTooltip,
|
|
2504
2504
|
{
|
|
2505
2505
|
content: children,
|
|
2506
2506
|
side,
|
|
@@ -2594,7 +2594,7 @@ function Value2({ value, depth }) {
|
|
|
2594
2594
|
}
|
|
2595
2595
|
if (typeof value === "string") {
|
|
2596
2596
|
if (ISO_DATE.test(value)) {
|
|
2597
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children:
|
|
2597
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkYU2UJPATcjs.formatRelativeTime.call(void 0, value) });
|
|
2598
2598
|
}
|
|
2599
2599
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
|
|
2600
2600
|
}
|
|
@@ -3226,7 +3226,7 @@ function RowValue({ value }) {
|
|
|
3226
3226
|
}
|
|
3227
3227
|
case "status": {
|
|
3228
3228
|
const { type: _type, ...props } = value;
|
|
3229
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3229
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.TicketStatusTag, { ...props });
|
|
3230
3230
|
}
|
|
3231
3231
|
case "custom":
|
|
3232
3232
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
|
|
@@ -4137,7 +4137,7 @@ function TagsManager({
|
|
|
4137
4137
|
}
|
|
4138
4138
|
),
|
|
4139
4139
|
selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4140
|
-
|
|
4140
|
+
_chunkYU2UJPATcjs.Tag,
|
|
4141
4141
|
{
|
|
4142
4142
|
label: tag.name,
|
|
4143
4143
|
variant: "outline",
|
|
@@ -4682,10 +4682,10 @@ function useConfirm() {
|
|
|
4682
4682
|
},
|
|
4683
4683
|
[]
|
|
4684
4684
|
);
|
|
4685
|
-
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4686
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4687
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4688
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4685
|
+
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYU2UJPATcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
|
|
4686
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ModalTitle, { children: pending.title }) }),
|
|
4687
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
|
|
4688
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYU2UJPATcjs.ModalFooter, { children: [
|
|
4689
4689
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
|
|
4690
4690
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
|
|
4691
4691
|
] })
|
|
@@ -4743,9 +4743,9 @@ function AdminFormModal({
|
|
|
4743
4743
|
body: "Your edits have not been saved. Close and discard them?"
|
|
4744
4744
|
});
|
|
4745
4745
|
if (!isOpen) return null;
|
|
4746
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4747
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4748
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4746
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYU2UJPATcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
|
|
4747
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYU2UJPATcjs.ModalHeader, { children: [
|
|
4748
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ModalTitle, { children: title }),
|
|
4749
4749
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
|
|
4750
4750
|
] }),
|
|
4751
4751
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -4769,7 +4769,7 @@ function AdminFormModal({
|
|
|
4769
4769
|
// a shrink-to-fit flex item pinned to the left of a 1400px panel).
|
|
4770
4770
|
// The placeholder owns its own layout and mirrors the column count so
|
|
4771
4771
|
// the modal doesn't visibly re-flow when the entity lands.
|
|
4772
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4772
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4773
4773
|
"div",
|
|
4774
4774
|
{
|
|
4775
4775
|
"aria-busy": "true",
|
|
@@ -4790,12 +4790,12 @@ function AdminFormModal({
|
|
|
4790
4790
|
]
|
|
4791
4791
|
}
|
|
4792
4792
|
) })
|
|
4793
|
-
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4793
|
+
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ModalContent, { className: contentClassName, children }),
|
|
4794
4794
|
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
|
|
4795
4795
|
]
|
|
4796
4796
|
}
|
|
4797
4797
|
),
|
|
4798
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4798
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
|
|
4799
4799
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
|
|
4800
4800
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
4801
4801
|
footerStatus,
|
|
@@ -6893,7 +6893,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
|
|
|
6893
6893
|
};
|
|
6894
6894
|
const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
|
|
6895
6895
|
const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6896
|
-
|
|
6896
|
+
_chunkYU2UJPATcjs.Video,
|
|
6897
6897
|
{
|
|
6898
6898
|
url: item.src,
|
|
6899
6899
|
poster: item.poster ? displayImageSrc(item.poster) : void 0,
|
|
@@ -7617,7 +7617,7 @@ function buildRichEmbedOverrides({
|
|
|
7617
7617
|
ogEndpointPath,
|
|
7618
7618
|
textSizes
|
|
7619
7619
|
}) {
|
|
7620
|
-
const standard =
|
|
7620
|
+
const standard = _chunkYU2UJPATcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7621
7621
|
return {
|
|
7622
7622
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7623
7623
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7627,7 +7627,7 @@ function buildRichEmbedOverrides({
|
|
|
7627
7627
|
const language = match ? match[1] : "";
|
|
7628
7628
|
const fenceText = () => String(children).replace(/\n$/, "").trim();
|
|
7629
7629
|
if (language === "youtube-embed") {
|
|
7630
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7630
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.Video, { kind: "youtube", url: fenceText() });
|
|
7631
7631
|
}
|
|
7632
7632
|
if (language === "reddit-embed") {
|
|
7633
7633
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
|
|
@@ -7668,7 +7668,7 @@ function buildRichEmbedOverrides({
|
|
|
7668
7668
|
"data-figma-url": figmaUrl
|
|
7669
7669
|
} = divProps;
|
|
7670
7670
|
if (className === "youtube-embed" && videoId) {
|
|
7671
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7671
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.Video, { kind: "youtube", url: videoId });
|
|
7672
7672
|
}
|
|
7673
7673
|
if (className === "reddit-embed" && postUrl) {
|
|
7674
7674
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
|
|
@@ -7753,14 +7753,14 @@ function buildRichEmbedOverrides({
|
|
|
7753
7753
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7754
7754
|
// elsewhere). Guard against empty `![]()`.
|
|
7755
7755
|
img: ({ src, alt }) => {
|
|
7756
|
-
if (!
|
|
7756
|
+
if (!_chunkYU2UJPATcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7757
7757
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7758
7758
|
},
|
|
7759
7759
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
7760
7760
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
7761
7761
|
video: ({ src, poster, className }) => {
|
|
7762
|
-
if (!
|
|
7763
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `overflow-hidden ${className || "my-8 w-full rounded-lg"}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7762
|
+
if (!_chunkYU2UJPATcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7763
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `overflow-hidden ${className || "my-8 w-full rounded-lg"}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
7764
7764
|
}
|
|
7765
7765
|
};
|
|
7766
7766
|
}
|
|
@@ -7943,13 +7943,13 @@ var RichMarkdownInner = ({
|
|
|
7943
7943
|
},
|
|
7944
7944
|
[resolveLinkEndpointUrl, resolveSource]
|
|
7945
7945
|
);
|
|
7946
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
7946
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunkYU2UJPATcjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
7947
7947
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
7948
7948
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
7949
7949
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
7950
7950
|
);
|
|
7951
7951
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7952
|
-
|
|
7952
|
+
_chunkYU2UJPATcjs.MarkdownEngine,
|
|
7953
7953
|
{
|
|
7954
7954
|
content,
|
|
7955
7955
|
className,
|
|
@@ -7971,7 +7971,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
7971
7971
|
className = "",
|
|
7972
7972
|
sectionIds,
|
|
7973
7973
|
onInternalLinkClick,
|
|
7974
|
-
brokenLinks =
|
|
7974
|
+
brokenLinks = _chunkYU2UJPATcjs.NO_BROKEN_LINKS,
|
|
7975
7975
|
currentPath,
|
|
7976
7976
|
resolveSource = "openframe-docs",
|
|
7977
7977
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -8544,7 +8544,7 @@ function FilterModal({
|
|
|
8544
8544
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _161 => _161.defaultSort]), () => ( "desc"));
|
|
8545
8545
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _162 => _162.sort]), () => ( dateDefaultSort)));
|
|
8546
8546
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _163 => _163.range]));
|
|
8547
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
8547
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkYU2UJPATcjs.useScrollFade.call(void 0, );
|
|
8548
8548
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
8549
8549
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
8550
8550
|
_react.useEffect.call(void 0, () => {
|
|
@@ -8589,10 +8589,10 @@ function FilterModal({
|
|
|
8589
8589
|
const hasFilterGroups = filterGroups.length > 0;
|
|
8590
8590
|
const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
|
|
8591
8591
|
const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
|
|
8592
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8593
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8592
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYU2UJPATcjs.Modal, { isOpen, onClose, className: _chunkPRPZBXWZcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
|
|
8593
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ModalTitle, { children: title }) }),
|
|
8594
8594
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8595
|
-
|
|
8595
|
+
_chunkYU2UJPATcjs.ModalContent,
|
|
8596
8596
|
{
|
|
8597
8597
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
8598
8598
|
"flex min-h-0 flex-1 flex-col",
|
|
@@ -8684,12 +8684,12 @@ function FilterModal({
|
|
|
8684
8684
|
] })
|
|
8685
8685
|
}
|
|
8686
8686
|
),
|
|
8687
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8688
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8687
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
8688
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
8689
8689
|
] })
|
|
8690
8690
|
}
|
|
8691
8691
|
),
|
|
8692
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8692
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYU2UJPATcjs.ModalFooter, { children: [
|
|
8693
8693
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
|
|
8694
8694
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
|
|
8695
8695
|
] })
|
|
@@ -8733,9 +8733,9 @@ function actionToMenuItems(action, idx) {
|
|
|
8733
8733
|
function renderActionButton(action, opts = {}) {
|
|
8734
8734
|
const button = renderRawActionButton(action, opts);
|
|
8735
8735
|
if (!action.tooltip) return button;
|
|
8736
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8737
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8738
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8736
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYU2UJPATcjs.Tooltip, { children: [
|
|
8737
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.TooltipTrigger, { asChild: true, children: button }),
|
|
8738
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.TooltipContent, { children: action.tooltip })
|
|
8739
8739
|
] }) });
|
|
8740
8740
|
}
|
|
8741
8741
|
function renderRawActionButton(action, opts = {}) {
|
|
@@ -8759,7 +8759,7 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
8759
8759
|
}
|
|
8760
8760
|
if (action.submenu && action.submenu.length > 0) {
|
|
8761
8761
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8762
|
-
|
|
8762
|
+
_chunkYU2UJPATcjs.ActionsMenuDropdown,
|
|
8763
8763
|
{
|
|
8764
8764
|
groups: [{ items: action.submenu }],
|
|
8765
8765
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -8894,10 +8894,10 @@ function IconButtonsVariant({
|
|
|
8894
8894
|
selector,
|
|
8895
8895
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8896
8896
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
|
|
8897
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8897
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ActionsMenuDropdown, { groups: menuActions })
|
|
8898
8898
|
] })
|
|
8899
8899
|
] }),
|
|
8900
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex md:hidden", className), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileTriggerSkeleton, {}) : useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8900
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex md:hidden", className), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileTriggerSkeleton, {}) : useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
|
|
8901
8901
|
] });
|
|
8902
8902
|
}
|
|
8903
8903
|
function PrimaryButtonsVariant({
|
|
@@ -8935,7 +8935,7 @@ function MenuPrimaryVariant({
|
|
|
8935
8935
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
|
|
8936
8936
|
selector,
|
|
8937
8937
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8938
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8938
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ActionsMenuDropdown, { groups: menuActions }),
|
|
8939
8939
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
|
|
8940
8940
|
] })
|
|
8941
8941
|
] }),
|
|
@@ -8943,7 +8943,7 @@ function MenuPrimaryVariant({
|
|
|
8943
8943
|
// The selector rides into the menu as its header row: on mobile the
|
|
8944
8944
|
// title row has no room for it, and hiding it entirely (what
|
|
8945
8945
|
// `icon-buttons` does) would leave no way to switch views at all.
|
|
8946
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8946
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
|
|
8947
8947
|
) : null })
|
|
8948
8948
|
] });
|
|
8949
8949
|
}
|
|
@@ -9346,7 +9346,7 @@ function TitleBlock({
|
|
|
9346
9346
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
9347
9347
|
(loading || title) && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9348
9348
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9349
|
-
|
|
9349
|
+
_chunkYU2UJPATcjs.FloatingTooltip,
|
|
9350
9350
|
{
|
|
9351
9351
|
content: title,
|
|
9352
9352
|
side: "bottom",
|
|
@@ -9363,12 +9363,12 @@ function TitleBlock({
|
|
|
9363
9363
|
}
|
|
9364
9364
|
),
|
|
9365
9365
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9366
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9366
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
|
|
9367
9367
|
hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
|
|
9368
9368
|
empty `p` collapses to zero height (its only content would be
|
|
9369
9369
|
collapsible whitespace), which is exactly the shift that mode
|
|
9370
9370
|
exists to prevent. Hidden from AT — it carries no meaning. */
|
|
9371
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9371
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9372
9372
|
"p",
|
|
9373
9373
|
{
|
|
9374
9374
|
ref: subtitleRef,
|
|
@@ -9379,7 +9379,7 @@ function TitleBlock({
|
|
|
9379
9379
|
) })
|
|
9380
9380
|
] })
|
|
9381
9381
|
] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9382
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9382
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, titleClass, "min-w-0 text-ods-text-primary", titleOverflowClass), children: title }) }),
|
|
9383
9383
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9384
9384
|
] }) : (
|
|
9385
9385
|
/* This branch never had the single-line clamp, so text already
|
|
@@ -10976,7 +10976,7 @@ function extractSections(markdown, options = {}) {
|
|
|
10976
10976
|
if (heading.level > opts.maxLevel) continue;
|
|
10977
10977
|
let title = heading.text;
|
|
10978
10978
|
if (opts.stripFormattingMarkers) {
|
|
10979
|
-
title =
|
|
10979
|
+
title = _chunkYU2UJPATcjs.stripInlineMarkdown.call(void 0, title).trim();
|
|
10980
10980
|
}
|
|
10981
10981
|
const baseId = _chunkZI27ALYXcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkZI27ALYXcjs.stripHeadingEmojis.call(void 0, title) : title);
|
|
10982
10982
|
const cleanId = baseId || `section-${sections.length + 1}`;
|
|
@@ -11468,7 +11468,7 @@ function DashboardInfoCard({
|
|
|
11468
11468
|
const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
|
|
11469
11469
|
if (asTag) {
|
|
11470
11470
|
const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
|
|
11471
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11471
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
|
|
11472
11472
|
}
|
|
11473
11473
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
|
|
11474
11474
|
"(",
|
|
@@ -11522,7 +11522,7 @@ function DashboardInfoCard({
|
|
|
11522
11522
|
/* @__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 }),
|
|
11523
11523
|
subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
|
|
11524
11524
|
renderPercentage(),
|
|
11525
|
-
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11525
|
+
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.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 }) }) })
|
|
11526
11526
|
] })
|
|
11527
11527
|
] }),
|
|
11528
11528
|
renderProgress()
|
|
@@ -11705,7 +11705,7 @@ function DeviceCard({
|
|
|
11705
11705
|
] }),
|
|
11706
11706
|
(statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
|
|
11707
11707
|
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11708
|
-
|
|
11708
|
+
_chunkYU2UJPATcjs.Tag,
|
|
11709
11709
|
{
|
|
11710
11710
|
variant: statusTag.variant,
|
|
11711
11711
|
icon: statusTag.icon,
|
|
@@ -11719,7 +11719,7 @@ function DeviceCard({
|
|
|
11719
11719
|
formatLastSeen(device.lastSeen)
|
|
11720
11720
|
] })
|
|
11721
11721
|
] }),
|
|
11722
|
-
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,
|
|
11722
|
+
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, _chunkYU2UJPATcjs.Tag, { variant: "outline", label: tag }, index)) })
|
|
11723
11723
|
]
|
|
11724
11724
|
}
|
|
11725
11725
|
);
|
|
@@ -11867,7 +11867,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
|
|
|
11867
11867
|
|
|
11868
11868
|
function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
|
|
11869
11869
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11870
|
-
|
|
11870
|
+
_chunkYU2UJPATcjs.FloatingTooltip,
|
|
11871
11871
|
{
|
|
11872
11872
|
as: "span",
|
|
11873
11873
|
side: "top",
|
|
@@ -12051,7 +12051,7 @@ function DropdownButton({
|
|
|
12051
12051
|
)
|
|
12052
12052
|
);
|
|
12053
12053
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12054
|
-
|
|
12054
|
+
_chunkYU2UJPATcjs.ActionsMenuDropdown,
|
|
12055
12055
|
{
|
|
12056
12056
|
groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
|
|
12057
12057
|
open,
|
|
@@ -12289,7 +12289,7 @@ function ServiceCardRowItem({ row }) {
|
|
|
12289
12289
|
),
|
|
12290
12290
|
children: [
|
|
12291
12291
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12292
|
-
|
|
12292
|
+
_chunkYU2UJPATcjs.FloatingTooltip,
|
|
12293
12293
|
{
|
|
12294
12294
|
content: row.value,
|
|
12295
12295
|
side: "top",
|
|
@@ -12415,9 +12415,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
12415
12415
|
return next;
|
|
12416
12416
|
});
|
|
12417
12417
|
};
|
|
12418
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12418
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYU2UJPATcjs.Tooltip, { open, onOpenChange: setOpen, children: [
|
|
12419
12419
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12420
|
-
|
|
12420
|
+
_chunkYU2UJPATcjs.TooltipTrigger,
|
|
12421
12421
|
{
|
|
12422
12422
|
asChild: true,
|
|
12423
12423
|
onPointerDown: (e) => {
|
|
@@ -12435,7 +12435,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
12435
12435
|
children
|
|
12436
12436
|
}
|
|
12437
12437
|
),
|
|
12438
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12438
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.TooltipContent, { side, className: "max-w-xs", children: content })
|
|
12439
12439
|
] }) });
|
|
12440
12440
|
}
|
|
12441
12441
|
|
|
@@ -13450,9 +13450,9 @@ function TruncatedHeaderCell({ value, width }) {
|
|
|
13450
13450
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
13451
13451
|
}
|
|
13452
13452
|
}, []);
|
|
13453
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13454
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13455
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13453
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYU2UJPATcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
13454
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.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 }) }) }),
|
|
13455
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
|
|
13456
13456
|
] }) });
|
|
13457
13457
|
}
|
|
13458
13458
|
|
|
@@ -13505,9 +13505,9 @@ function TruncatedCell({ value, className }) {
|
|
|
13505
13505
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
13506
13506
|
}
|
|
13507
13507
|
}, []);
|
|
13508
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13509
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13510
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13508
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYU2UJPATcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
13509
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.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 }) }),
|
|
13510
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
|
|
13511
13511
|
] }) });
|
|
13512
13512
|
}
|
|
13513
13513
|
|
|
@@ -14791,7 +14791,7 @@ function SearchInput({
|
|
|
14791
14791
|
/* @__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, {}) }),
|
|
14792
14792
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
|
|
14793
14793
|
visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14794
|
-
|
|
14794
|
+
_chunkYU2UJPATcjs.Tag,
|
|
14795
14795
|
{
|
|
14796
14796
|
variant: chipVariantToTagVariant(chip.variant),
|
|
14797
14797
|
label: chip.label,
|
|
@@ -14905,7 +14905,7 @@ function SearchInput({
|
|
|
14905
14905
|
}
|
|
14906
14906
|
),
|
|
14907
14907
|
/* @__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,
|
|
14908
|
-
|
|
14908
|
+
_chunkYU2UJPATcjs.Tag,
|
|
14909
14909
|
{
|
|
14910
14910
|
variant: chipVariantToTagVariant(chip.variant),
|
|
14911
14911
|
label: chip.label,
|
|
@@ -15118,7 +15118,7 @@ function TagSearchInput({
|
|
|
15118
15118
|
/* @__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" }) }),
|
|
15119
15119
|
/* @__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: [
|
|
15120
15120
|
visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15121
|
-
|
|
15121
|
+
_chunkYU2UJPATcjs.Tag,
|
|
15122
15122
|
{
|
|
15123
15123
|
variant: "outline",
|
|
15124
15124
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -15206,7 +15206,7 @@ function TagSearchInput({
|
|
|
15206
15206
|
"aria-hidden": "true",
|
|
15207
15207
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
15208
15208
|
children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15209
|
-
|
|
15209
|
+
_chunkYU2UJPATcjs.Tag,
|
|
15210
15210
|
{
|
|
15211
15211
|
variant: "outline",
|
|
15212
15212
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -16095,20 +16095,20 @@ function ColorPresetSelect({
|
|
|
16095
16095
|
...presets.map((p) => ({
|
|
16096
16096
|
id: p.key,
|
|
16097
16097
|
label: p.label,
|
|
16098
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16098
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ColorSwatch, { color: p.color }),
|
|
16099
16099
|
onClick: () => onChange({ color: p.color, preset: p.key })
|
|
16100
16100
|
})),
|
|
16101
16101
|
{
|
|
16102
16102
|
id: CUSTOM_PRESET_KEY,
|
|
16103
16103
|
label: "Custom",
|
|
16104
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16104
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
|
|
16105
16105
|
onClick: () => onChange({ color: value, preset: void 0 })
|
|
16106
16106
|
}
|
|
16107
16107
|
]
|
|
16108
16108
|
}
|
|
16109
16109
|
];
|
|
16110
16110
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16111
|
-
|
|
16111
|
+
_chunkYU2UJPATcjs.ActionsMenuDropdown,
|
|
16112
16112
|
{
|
|
16113
16113
|
groups,
|
|
16114
16114
|
align: "start",
|
|
@@ -16118,7 +16118,7 @@ function ColorPresetSelect({
|
|
|
16118
16118
|
{
|
|
16119
16119
|
disabled,
|
|
16120
16120
|
"aria-label": `Color: ${displayLabel}`,
|
|
16121
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16121
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ColorSwatch, { color: displayColor }),
|
|
16122
16122
|
selectedLabel: displayLabel,
|
|
16123
16123
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16124
16124
|
className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
|
|
@@ -16139,7 +16139,7 @@ function HexInputs({ value, onChange }) {
|
|
|
16139
16139
|
}
|
|
16140
16140
|
const commit = () => {
|
|
16141
16141
|
const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
|
|
16142
|
-
if (
|
|
16142
|
+
if (_chunkYU2UJPATcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
|
|
16143
16143
|
else setDraft(value);
|
|
16144
16144
|
};
|
|
16145
16145
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -16203,12 +16203,12 @@ function ChannelInput({
|
|
|
16203
16203
|
);
|
|
16204
16204
|
}
|
|
16205
16205
|
function RgbInputs({ value, onChange }) {
|
|
16206
|
-
const rgb = _nullishCoalesce(
|
|
16206
|
+
const rgb = _nullishCoalesce(_chunkYU2UJPATcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16207
16207
|
const update = (next) => {
|
|
16208
16208
|
const r = _nullishCoalesce(next.r, () => ( rgb.r));
|
|
16209
16209
|
const g = _nullishCoalesce(next.g, () => ( rgb.g));
|
|
16210
16210
|
const b = _nullishCoalesce(next.b, () => ( rgb.b));
|
|
16211
|
-
onChange(
|
|
16211
|
+
onChange(_chunkYU2UJPATcjs.rgbToHex.call(void 0, r, g, b));
|
|
16212
16212
|
};
|
|
16213
16213
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16214
16214
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
|
|
@@ -16217,14 +16217,14 @@ function RgbInputs({ value, onChange }) {
|
|
|
16217
16217
|
] });
|
|
16218
16218
|
}
|
|
16219
16219
|
function HslInputs({ value, onChange }) {
|
|
16220
|
-
const rgb = _nullishCoalesce(
|
|
16221
|
-
const hsl =
|
|
16220
|
+
const rgb = _nullishCoalesce(_chunkYU2UJPATcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16221
|
+
const hsl = _chunkYU2UJPATcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
|
|
16222
16222
|
const update = (next) => {
|
|
16223
16223
|
const h = _nullishCoalesce(next.h, () => ( hsl.h));
|
|
16224
16224
|
const s = _nullishCoalesce(next.s, () => ( hsl.s));
|
|
16225
16225
|
const l = _nullishCoalesce(next.l, () => ( hsl.l));
|
|
16226
|
-
const out =
|
|
16227
|
-
onChange(
|
|
16226
|
+
const out = _chunkYU2UJPATcjs.hslToRgb.call(void 0, h, s, l);
|
|
16227
|
+
onChange(_chunkYU2UJPATcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
|
|
16228
16228
|
};
|
|
16229
16229
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16230
16230
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
|
|
@@ -16250,7 +16250,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16250
16250
|
{
|
|
16251
16251
|
disabled,
|
|
16252
16252
|
"aria-label": "Pick custom color",
|
|
16253
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16253
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ColorSwatch, { color: value }),
|
|
16254
16254
|
selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
|
|
16255
16255
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16256
16256
|
className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
|
|
@@ -16266,7 +16266,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16266
16266
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
|
|
16267
16267
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
16268
16268
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16269
|
-
|
|
16269
|
+
_chunkYU2UJPATcjs.ActionsMenuDropdown,
|
|
16270
16270
|
{
|
|
16271
16271
|
groups: formatGroups,
|
|
16272
16272
|
align: "start",
|
|
@@ -16323,7 +16323,7 @@ function TicketStatusConfigRow({
|
|
|
16323
16323
|
const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
|
|
16324
16324
|
const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
|
|
16325
16325
|
const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16326
|
-
|
|
16326
|
+
_chunkYU2UJPATcjs.TicketStatusTag,
|
|
16327
16327
|
{
|
|
16328
16328
|
status: statusKey,
|
|
16329
16329
|
label: name || " ",
|
|
@@ -16475,7 +16475,7 @@ function formatTestRunDuration(ms) {
|
|
|
16475
16475
|
var RESULT_COLUMN_MIN_WIDTH = 176;
|
|
16476
16476
|
var SKELETON_COLUMNS = 6;
|
|
16477
16477
|
function TestResultsSkeleton() {
|
|
16478
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16478
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
16479
16479
|
/* @__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}`)) }),
|
|
16480
16480
|
/* @__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}`)) }) })
|
|
16481
16481
|
] }) });
|
|
@@ -16510,7 +16510,7 @@ function TestResultsTable({ rows, loading }) {
|
|
|
16510
16510
|
if (loading) {
|
|
16511
16511
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
16512
16512
|
}
|
|
16513
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16513
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.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: [
|
|
16514
16514
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
16515
16515
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
16516
16516
|
] }) }) });
|
|
@@ -16570,7 +16570,7 @@ var TEST_RUN_STATUS_TAGS = {
|
|
|
16570
16570
|
function TestRunStatusStat({ status, className }) {
|
|
16571
16571
|
const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
|
|
16572
16572
|
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: [
|
|
16573
|
-
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16573
|
+
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.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: "-" }),
|
|
16574
16574
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
|
|
16575
16575
|
] });
|
|
16576
16576
|
}
|
|
@@ -16613,7 +16613,7 @@ function useTestRunState(campaign) {
|
|
|
16613
16613
|
const firstError = isFinished && campaign.errors.length > 0 ? campaign.errors[0].error : null;
|
|
16614
16614
|
const status = isActive ? "running" : hasRun && isFinished ? firstError ? "error" : "success" : "idle";
|
|
16615
16615
|
const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
|
|
16616
|
-
const startedLabel = showTiming && campaign.startedAt ?
|
|
16616
|
+
const startedLabel = showTiming && campaign.startedAt ? _chunkYU2UJPATcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
|
|
16617
16617
|
const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
|
|
16618
16618
|
const displayRows = _react.useMemo.call(void 0,
|
|
16619
16619
|
() => campaign.results.map(
|
|
@@ -16951,7 +16951,7 @@ function TicketInfoSection({
|
|
|
16951
16951
|
/* @__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]) }),
|
|
16952
16952
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
16953
16953
|
(status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16954
|
-
|
|
16954
|
+
_chunkYU2UJPATcjs.TicketStatusTag,
|
|
16955
16955
|
{
|
|
16956
16956
|
status: _nullishCoalesce(status, () => ( "")),
|
|
16957
16957
|
label: statusLabel,
|
|
@@ -16990,9 +16990,9 @@ function TicketInfoSection({
|
|
|
16990
16990
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16991
16991
|
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" }) }),
|
|
16992
16992
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
|
|
16993
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16993
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.SimpleMarkdownRenderer, { content: description }),
|
|
16994
16994
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
16995
|
-
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,
|
|
16995
|
+
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, _chunkYU2UJPATcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
|
|
16996
16996
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16997
16997
|
TicketNotesSection,
|
|
16998
16998
|
{
|
|
@@ -17015,7 +17015,7 @@ function renderTicketStatusOption(option, isSelected) {
|
|
|
17015
17015
|
const { label, color } = option;
|
|
17016
17016
|
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: [
|
|
17017
17017
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
17018
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17018
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ColorSwatch, { color }),
|
|
17019
17019
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
|
|
17020
17020
|
] }),
|
|
17021
17021
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -17060,9 +17060,9 @@ function TakeOverTicketModal({
|
|
|
17060
17060
|
if (!selectedStatusId || !assigneeId || isPending) return;
|
|
17061
17061
|
onConfirm({ statusId: selectedStatusId, assigneeId });
|
|
17062
17062
|
};
|
|
17063
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17063
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYU2UJPATcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17064
17064
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17065
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17065
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ModalTitle, { children: "Take Over Ticket" }) }),
|
|
17066
17066
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17067
17067
|
"The ticket ",
|
|
17068
17068
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17077,7 +17077,7 @@ function TakeOverTicketModal({
|
|
|
17077
17077
|
value: selectedStatusId,
|
|
17078
17078
|
onChange: setStatusId,
|
|
17079
17079
|
placeholder: "Select Status",
|
|
17080
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17080
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17081
17081
|
renderOption: renderTicketStatusOption
|
|
17082
17082
|
}
|
|
17083
17083
|
) }),
|
|
@@ -17104,7 +17104,7 @@ function TakeOverTicketModal({
|
|
|
17104
17104
|
}
|
|
17105
17105
|
) })
|
|
17106
17106
|
] }),
|
|
17107
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17107
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYU2UJPATcjs.ModalFooter, { children: [
|
|
17108
17108
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17109
17109
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17110
17110
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17163,9 +17163,9 @@ function ReopenTicketModal({
|
|
|
17163
17163
|
reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
|
|
17164
17164
|
});
|
|
17165
17165
|
};
|
|
17166
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17166
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYU2UJPATcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17167
17167
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17168
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17168
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17169
17169
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17170
17170
|
"The ticket ",
|
|
17171
17171
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17180,7 +17180,7 @@ function ReopenTicketModal({
|
|
|
17180
17180
|
value: selectedStatusId,
|
|
17181
17181
|
onChange: setStatusId,
|
|
17182
17182
|
placeholder: "Select Status",
|
|
17183
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17183
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17184
17184
|
renderOption: renderTicketStatusOption
|
|
17185
17185
|
}
|
|
17186
17186
|
) }),
|
|
@@ -17218,7 +17218,7 @@ function ReopenTicketModal({
|
|
|
17218
17218
|
disabled: isPending
|
|
17219
17219
|
}
|
|
17220
17220
|
) }),
|
|
17221
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17221
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYU2UJPATcjs.ModalFooter, { children: [
|
|
17222
17222
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17223
17223
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17224
17224
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17266,9 +17266,9 @@ function ReopenTicketRequestModal({
|
|
|
17266
17266
|
...showHandoffOption ? { handoffToTechnician: handoff } : {}
|
|
17267
17267
|
});
|
|
17268
17268
|
};
|
|
17269
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17269
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYU2UJPATcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17270
17270
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17271
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17271
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17272
17272
|
/* @__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." }),
|
|
17273
17273
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17274
17274
|
Textarea,
|
|
@@ -17292,7 +17292,7 @@ function ReopenTicketRequestModal({
|
|
|
17292
17292
|
disabled: isPending
|
|
17293
17293
|
}
|
|
17294
17294
|
),
|
|
17295
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17295
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYU2UJPATcjs.ModalFooter, { children: [
|
|
17296
17296
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
|
|
17297
17297
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
|
|
17298
17298
|
] })
|
|
@@ -19289,7 +19289,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
|
|
|
19289
19289
|
sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
|
|
19290
19290
|
title: config.title,
|
|
19291
19291
|
loading: "eager",
|
|
19292
|
-
...
|
|
19292
|
+
..._chunkYU2UJPATcjs.fetchPriorityProp.call(void 0, "high")
|
|
19293
19293
|
},
|
|
19294
19294
|
iframeKey
|
|
19295
19295
|
),
|
|
@@ -20139,7 +20139,7 @@ function MediaGalleryManager({
|
|
|
20139
20139
|
/* @__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" ? (
|
|
20140
20140
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
20141
20141
|
// fit="cover" crops to the aspect-video cell.
|
|
20142
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20142
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
|
|
20143
20143
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20144
20144
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
20145
20145
|
{
|
|
@@ -20696,9 +20696,9 @@ function PushButtonSelector({
|
|
|
20696
20696
|
option.id
|
|
20697
20697
|
);
|
|
20698
20698
|
if (option.disabled && option.disabledReason) {
|
|
20699
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
20700
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20701
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20699
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYU2UJPATcjs.Tooltip, { children: [
|
|
20700
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.TooltipTrigger, { asChild: true, children: optionEl }),
|
|
20701
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
|
|
20702
20702
|
] }, option.id);
|
|
20703
20703
|
}
|
|
20704
20704
|
return optionEl;
|
|
@@ -20735,7 +20735,7 @@ function PushButtonSelector({
|
|
|
20735
20735
|
ungroupedOptions.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-2", children: ungroupedOptions.map(renderOption) })
|
|
20736
20736
|
] });
|
|
20737
20737
|
};
|
|
20738
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20738
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
|
|
20739
20739
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
20740
20740
|
renderOptionsContent(),
|
|
20741
20741
|
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: [
|
|
@@ -20898,7 +20898,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
|
|
|
20898
20898
|
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" ? (
|
|
20899
20899
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
20900
20900
|
// fit="cover" crops to the aspect-video cell.
|
|
20901
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20901
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
20902
20902
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20903
20903
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
20904
20904
|
{
|
|
@@ -21031,7 +21031,7 @@ var SelectButton = _react2.default.forwardRef(
|
|
|
21031
21031
|
}
|
|
21032
21032
|
)
|
|
21033
21033
|
] }),
|
|
21034
|
-
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21034
|
+
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
|
|
21035
21035
|
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
|
|
21036
21036
|
]
|
|
21037
21037
|
}
|
|
@@ -21817,7 +21817,7 @@ function VideoBitesDisplay({
|
|
|
21817
21817
|
filterPublished = true,
|
|
21818
21818
|
showTitle = true
|
|
21819
21819
|
}) {
|
|
21820
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21820
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
21821
21821
|
}
|
|
21822
21822
|
|
|
21823
21823
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -21886,7 +21886,7 @@ function WalkthroughVideo({
|
|
|
21886
21886
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
21887
21887
|
};
|
|
21888
21888
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
|
|
21889
|
-
const hydrated =
|
|
21889
|
+
const hydrated = _chunkYU2UJPATcjs.useIsHydrated.call(void 0, );
|
|
21890
21890
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
21891
21891
|
if (!hydrated) return false;
|
|
21892
21892
|
try {
|
|
@@ -22283,7 +22283,7 @@ function WalkthroughVideo({
|
|
|
22283
22283
|
},
|
|
22284
22284
|
children: [
|
|
22285
22285
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22286
|
-
|
|
22286
|
+
_chunkYU2UJPATcjs.VideoHoverPreviewSurface,
|
|
22287
22287
|
{
|
|
22288
22288
|
url: video.mainVideoUrl || "",
|
|
22289
22289
|
posterUrl: video.posterUrl,
|
|
@@ -22306,7 +22306,7 @@ function WalkthroughVideo({
|
|
|
22306
22306
|
`card-${embedUrlKey}`
|
|
22307
22307
|
) }),
|
|
22308
22308
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22309
|
-
|
|
22309
|
+
_chunkYU2UJPATcjs.CardHitLayer,
|
|
22310
22310
|
{
|
|
22311
22311
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
22312
22312
|
onPointerDown: pausePreviewNow,
|
|
@@ -22315,7 +22315,7 @@ function WalkthroughVideo({
|
|
|
22315
22315
|
}
|
|
22316
22316
|
),
|
|
22317
22317
|
/* @__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: [
|
|
22318
|
-
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,
|
|
22318
|
+
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, _chunkYU2UJPATcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
|
|
22319
22319
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
|
|
22320
22320
|
] }),
|
|
22321
22321
|
showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22328,7 +22328,7 @@ function WalkthroughVideo({
|
|
|
22328
22328
|
onPointerDown: (e) => e.stopPropagation(),
|
|
22329
22329
|
onClick: onUnmuteOrPlay,
|
|
22330
22330
|
className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
|
|
22331
|
-
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22331
|
+
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.VideoUnmuteGlyph, {})
|
|
22332
22332
|
}
|
|
22333
22333
|
),
|
|
22334
22334
|
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: [
|
|
@@ -22421,7 +22421,7 @@ function WalkthroughVideo({
|
|
|
22421
22421
|
children: [
|
|
22422
22422
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
22423
22423
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22424
|
-
|
|
22424
|
+
_chunkYU2UJPATcjs.Video,
|
|
22425
22425
|
{
|
|
22426
22426
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
22427
22427
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -22472,7 +22472,7 @@ function InlineWalkthroughVideo(props) {
|
|
|
22472
22472
|
var _reactquery = require('@tanstack/react-query');
|
|
22473
22473
|
function useWalkthroughVideo(opts) {
|
|
22474
22474
|
const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
|
|
22475
|
-
const captions =
|
|
22475
|
+
const captions = _chunkYU2UJPATcjs.useCaptions.call(void 0, );
|
|
22476
22476
|
const query = _reactquery.useQuery.call(void 0, {
|
|
22477
22477
|
queryKey: ["walkthrough-video", endpoint],
|
|
22478
22478
|
enabled,
|
|
@@ -22670,7 +22670,7 @@ function VideoSourceSelector({
|
|
|
22670
22670
|
}
|
|
22671
22671
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
22672
22672
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
|
|
22673
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22673
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.Video, { kind: "file", url: videoUrl }) }),
|
|
22674
22674
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22675
22675
|
"button",
|
|
22676
22676
|
{
|
|
@@ -23194,7 +23194,7 @@ function HighlightVideoSection({
|
|
|
23194
23194
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
23195
23195
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
23196
23196
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
|
|
23197
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23197
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
|
|
23198
23198
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23199
23199
|
"button",
|
|
23200
23200
|
{
|
|
@@ -23930,7 +23930,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
|
23930
23930
|
] });
|
|
23931
23931
|
};
|
|
23932
23932
|
var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
|
|
23933
|
-
const { innerRef, containerStyle } =
|
|
23933
|
+
const { innerRef, containerStyle } = _chunkYU2UJPATcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
|
|
23934
23934
|
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
23935
23935
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
23936
23936
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -24098,7 +24098,7 @@ function WaitlistForm({
|
|
|
24098
24098
|
const { toast } = _chunkLEISUAHFcjs.useToast.call(void 0, );
|
|
24099
24099
|
const { honeypotInputProps, getSignals, resetSignals } = _chunkLEISUAHFcjs.useHumanitySignals.call(void 0, );
|
|
24100
24100
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
24101
|
-
const isClient =
|
|
24101
|
+
const isClient = _chunkYU2UJPATcjs.useIsHydrated.call(void 0, );
|
|
24102
24102
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
24103
24103
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
24104
24104
|
const isMailDomainGeneric = hasGenericEmailDomain(email);
|
|
@@ -24902,7 +24902,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
24902
24902
|
"data-state": open ? "open" : "closed",
|
|
24903
24903
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
24904
24904
|
"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",
|
|
24905
|
-
|
|
24905
|
+
_chunkYU2UJPATcjs.OVERLAY_BACKDROP_CLASS,
|
|
24906
24906
|
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
24907
24907
|
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
24908
24908
|
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
@@ -24978,11 +24978,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
24978
24978
|
}
|
|
24979
24979
|
);
|
|
24980
24980
|
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
24981
|
-
var AppLayoutDrawerHeader =
|
|
24982
|
-
var AppLayoutDrawerTitle =
|
|
24983
|
-
var AppLayoutDrawerDescription =
|
|
24984
|
-
var AppLayoutDrawerBody =
|
|
24985
|
-
var AppLayoutDrawerFooter =
|
|
24981
|
+
var AppLayoutDrawerHeader = _chunkYU2UJPATcjs.DrawerHeader;
|
|
24982
|
+
var AppLayoutDrawerTitle = _chunkYU2UJPATcjs.DrawerTitle;
|
|
24983
|
+
var AppLayoutDrawerDescription = _chunkYU2UJPATcjs.DrawerDescription;
|
|
24984
|
+
var AppLayoutDrawerBody = _chunkYU2UJPATcjs.DrawerBody;
|
|
24985
|
+
var AppLayoutDrawerFooter = _chunkYU2UJPATcjs.DrawerFooter;
|
|
24986
24986
|
|
|
24987
24987
|
// src/components/features/notifications/notification-tile.tsx
|
|
24988
24988
|
|
|
@@ -25070,7 +25070,7 @@ function NotificationTile({
|
|
|
25070
25070
|
}
|
|
25071
25071
|
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkLEISUAHFcjs.dotColorByVariant[accentVariant]) }))) }),
|
|
25072
25072
|
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" }),
|
|
25073
|
-
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children:
|
|
25073
|
+
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkYU2UJPATcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
|
|
25074
25074
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
|
|
25075
25075
|
{
|
|
25076
25076
|
active: isLive,
|
|
@@ -25167,7 +25167,7 @@ function NotificationDrawer({
|
|
|
25167
25167
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
25168
25168
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
25169
25169
|
/* @__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,
|
|
25170
|
-
|
|
25170
|
+
_chunkYU2UJPATcjs.DrawerTitle,
|
|
25171
25171
|
{
|
|
25172
25172
|
hideClose: true,
|
|
25173
25173
|
className: "truncate",
|
|
@@ -25226,8 +25226,8 @@ function NotificationDrawer({
|
|
|
25226
25226
|
}
|
|
25227
25227
|
) });
|
|
25228
25228
|
}
|
|
25229
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25230
|
-
|
|
25229
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25230
|
+
_chunkYU2UJPATcjs.DrawerContent,
|
|
25231
25231
|
{
|
|
25232
25232
|
side: "right",
|
|
25233
25233
|
"aria-describedby": void 0,
|
|
@@ -25502,13 +25502,13 @@ function getApprovalMeta(notification) {
|
|
|
25502
25502
|
function resolutionToStatus(resolution) {
|
|
25503
25503
|
switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
|
|
25504
25504
|
case "APPROVED":
|
|
25505
|
-
return
|
|
25505
|
+
return _chunkYU2UJPATcjs.APPROVAL_STATUS.APPROVED;
|
|
25506
25506
|
case "REJECTED":
|
|
25507
|
-
return
|
|
25507
|
+
return _chunkYU2UJPATcjs.APPROVAL_STATUS.REJECTED;
|
|
25508
25508
|
case "CANCELLED":
|
|
25509
|
-
return
|
|
25509
|
+
return _chunkYU2UJPATcjs.APPROVAL_STATUS.CANCELLED;
|
|
25510
25510
|
default:
|
|
25511
|
-
return
|
|
25511
|
+
return _chunkYU2UJPATcjs.APPROVAL_STATUS.PENDING;
|
|
25512
25512
|
}
|
|
25513
25513
|
}
|
|
25514
25514
|
function approvalMetaToBatchData(approval) {
|
|
@@ -25548,7 +25548,7 @@ function ApprovalRequestNotificationTile({
|
|
|
25548
25548
|
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _580 => _580.resolution]));
|
|
25549
25549
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
25550
25550
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
25551
|
-
const { innerRef, containerStyle } =
|
|
25551
|
+
const { innerRef, containerStyle } = _chunkYU2UJPATcjs.useCollapsible.call(void 0, { expanded });
|
|
25552
25552
|
if (!approval || !batchData) return null;
|
|
25553
25553
|
const tileNotification = {
|
|
25554
25554
|
...notification,
|
|
@@ -25601,7 +25601,7 @@ function ApprovalRequestNotificationTile({
|
|
|
25601
25601
|
}
|
|
25602
25602
|
)
|
|
25603
25603
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
25604
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25604
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ApprovalStatusTag, { status }),
|
|
25605
25605
|
approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
25606
25606
|
"by ",
|
|
25607
25607
|
approval.resolvedByName
|
|
@@ -25619,12 +25619,12 @@ function ApprovalRequestNotificationTile({
|
|
|
25619
25619
|
"aria-expanded": expanded,
|
|
25620
25620
|
"aria-label": toggleLabel,
|
|
25621
25621
|
className: "ml-auto w-6 shrink-0 px-0 md:w-8",
|
|
25622
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25622
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.ExpandChevron, { expanded })
|
|
25623
25623
|
}
|
|
25624
25624
|
)
|
|
25625
25625
|
] }),
|
|
25626
25626
|
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,
|
|
25627
|
-
|
|
25627
|
+
_chunkYU2UJPATcjs.ApprovalBatchMessage,
|
|
25628
25628
|
{
|
|
25629
25629
|
data: batchData,
|
|
25630
25630
|
showExecutionStatus: false,
|
|
@@ -25955,7 +25955,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
|
|
|
25955
25955
|
function StatusTag({ status }) {
|
|
25956
25956
|
if (status === "tracking") {
|
|
25957
25957
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25958
|
-
|
|
25958
|
+
_chunkYU2UJPATcjs.Tag,
|
|
25959
25959
|
{
|
|
25960
25960
|
variant: "success",
|
|
25961
25961
|
className: STATUS_TAG_SKIN,
|
|
@@ -25965,9 +25965,9 @@ function StatusTag({ status }) {
|
|
|
25965
25965
|
);
|
|
25966
25966
|
}
|
|
25967
25967
|
if (status === "paused") {
|
|
25968
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25968
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
|
|
25969
25969
|
}
|
|
25970
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25970
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
|
|
25971
25971
|
}
|
|
25972
25972
|
function LastEntryRow({ entry, onClick }) {
|
|
25973
25973
|
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: [
|
|
@@ -26136,7 +26136,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
26136
26136
|
"data-state": isOpen ? "open" : "closed",
|
|
26137
26137
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
26138
26138
|
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
26139
|
-
|
|
26139
|
+
_chunkYU2UJPATcjs.OVERLAY_BACKDROP_CLASS,
|
|
26140
26140
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
26141
26141
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
26142
26142
|
)
|
|
@@ -26290,7 +26290,7 @@ function BoardColumnHeader({
|
|
|
26290
26290
|
}) {
|
|
26291
26291
|
const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
|
|
26292
26292
|
const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
|
|
26293
|
-
const useStatusVariant =
|
|
26293
|
+
const useStatusVariant = _chunkYU2UJPATcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
|
|
26294
26294
|
const actionClass = "h-8 w-8 p-0 md:h-8 md:w-8";
|
|
26295
26295
|
if (collapsed) {
|
|
26296
26296
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
@@ -26306,7 +26306,7 @@ function BoardColumnHeader({
|
|
|
26306
26306
|
}
|
|
26307
26307
|
),
|
|
26308
26308
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26309
|
-
|
|
26309
|
+
_chunkYU2UJPATcjs.TicketStatusTag,
|
|
26310
26310
|
{
|
|
26311
26311
|
status: tagStatus,
|
|
26312
26312
|
label: column.label,
|
|
@@ -26319,7 +26319,7 @@ function BoardColumnHeader({
|
|
|
26319
26319
|
}
|
|
26320
26320
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
26321
26321
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
26322
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26322
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
|
|
26323
26323
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
|
|
26324
26324
|
] }),
|
|
26325
26325
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -26470,7 +26470,7 @@ function holdMoveDragEffect(element) {
|
|
|
26470
26470
|
|
|
26471
26471
|
function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
26472
26472
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
26473
|
-
const { innerRef, containerStyle } =
|
|
26473
|
+
const { innerRef, containerStyle } = _chunkYU2UJPATcjs.useCollapsible.call(void 0, { expanded });
|
|
26474
26474
|
const isAdmin = pendingApproval.approvalType === "ADMIN";
|
|
26475
26475
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
|
|
26476
26476
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -26499,7 +26499,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
|
26499
26499
|
}
|
|
26500
26500
|
),
|
|
26501
26501
|
/* @__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,
|
|
26502
|
-
|
|
26502
|
+
_chunkYU2UJPATcjs.ApprovalBatchMessage,
|
|
26503
26503
|
{
|
|
26504
26504
|
className: "mb-0",
|
|
26505
26505
|
data: {
|
|
@@ -26571,7 +26571,7 @@ var ACTIVITY_DEFAULT_LABEL = {
|
|
|
26571
26571
|
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";
|
|
26572
26572
|
function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
|
|
26573
26573
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
26574
|
-
const newMessageTextColor = columnColor ?
|
|
26574
|
+
const newMessageTextColor = columnColor ? _chunkYU2UJPATcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
|
|
26575
26575
|
const showDeviceRow = !!(_optionalChain([ticket, 'access', _616 => _616.deviceHostnames, 'optionalAccess', _617 => _617.length]) || ticket.organizationName);
|
|
26576
26576
|
const deviceText = [_optionalChain([ticket, 'access', _618 => _618.deviceHostnames, 'optionalAccess', _619 => _619.join, 'call', _620 => _620(", ")]), ticket.organizationName].filter(Boolean).join(", ");
|
|
26577
26577
|
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _621 => _621.assignees, 'optionalAccess', _622 => _622.length]) || renderAssignSlot);
|
|
@@ -26610,8 +26610,8 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
26610
26610
|
] })
|
|
26611
26611
|
] }) : null
|
|
26612
26612
|
] }) : null;
|
|
26613
|
-
const timestampLabel = ticket.createdAt ?
|
|
26614
|
-
const tooltipLabel = ticket.createdAt ?
|
|
26613
|
+
const timestampLabel = ticket.createdAt ? _chunkYU2UJPATcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
|
|
26614
|
+
const tooltipLabel = ticket.createdAt ? _chunkYU2UJPATcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
|
|
26615
26615
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
26616
26616
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
|
|
26617
26617
|
/* @__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: [
|
|
@@ -26624,9 +26624,9 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
26624
26624
|
rightSection
|
|
26625
26625
|
] }),
|
|
26626
26626
|
_optionalChain([ticket, 'access', _625 => _625.tags, 'optionalAccess', _626 => _626.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
26627
|
-
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26628
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26629
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26627
|
+
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYU2UJPATcjs.Tooltip, { children: [
|
|
26628
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
|
|
26629
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.TooltipContent, { children: tooltipLabel })
|
|
26630
26630
|
] }) }),
|
|
26631
26631
|
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: [
|
|
26632
26632
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
|
|
@@ -26646,7 +26646,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
26646
26646
|
}
|
|
26647
26647
|
),
|
|
26648
26648
|
showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26649
|
-
|
|
26649
|
+
_chunkYU2UJPATcjs.Tag,
|
|
26650
26650
|
{
|
|
26651
26651
|
label: "New Message",
|
|
26652
26652
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
|
|
@@ -26861,8 +26861,8 @@ function TicketTagRow({ tags }) {
|
|
|
26861
26861
|
const visible = tags.slice(0, MAX_VISIBLE_TAGS);
|
|
26862
26862
|
const hidden = tags.length - visible.length;
|
|
26863
26863
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
|
|
26864
|
-
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26865
|
-
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26864
|
+
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.Tag, { variant: "outline", label: tag }, tag)),
|
|
26865
|
+
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYU2UJPATcjs.Tag, { variant: "outline", label: `+${hidden}` })
|
|
26866
26866
|
] });
|
|
26867
26867
|
}
|
|
26868
26868
|
|
|
@@ -28472,4 +28472,4 @@ function SortableRow({
|
|
|
28472
28472
|
|
|
28473
28473
|
|
|
28474
28474
|
exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.TruncateText = TruncateText; exports.Autocomplete = Autocomplete; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePickerCalendar = DatePickerCalendar; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.InfoHint = InfoHint; exports.Field = Field; exports.HoneypotField = HoneypotField; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.DeletedUserAvatar = DeletedUserAvatar; exports.SearchableSelect = SearchableSelect; exports.AssigneeDropdown = AssigneeDropdown; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoDataMessage = NoDataMessage; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.AdminFormModal = AdminFormModal; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.FullscreenSwitchController = FullscreenSwitchController; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.StatusIndicator = StatusIndicator; exports.BackButton = BackButton; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.SourceTooltip = SourceTooltip; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TitleContentBlock = TitleContentBlock; exports.TouchFriendlyTooltip = TouchFriendlyTooltip; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.AppLayoutDrawerContainerContext = AppLayoutDrawerContainerContext; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerCoordinationContext = AppLayoutDrawerCoordinationContext; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableList = SortableList; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.COMPACT_ROW_MIN_HEIGHT_PX = COMPACT_ROW_MIN_HEIGHT_PX; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.DataTableEmpty = DataTableEmpty; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.FilterPillRow = FilterPillRow;
|
|
28475
|
-
//# sourceMappingURL=chunk-
|
|
28475
|
+
//# sourceMappingURL=chunk-BVQYK3TO.cjs.map
|