@flamingo-stack/openframe-frontend-core 0.0.582-snapshot.20260901200712 → 0.0.582
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-HIHPWVKP.js → chunk-2EIGO6ZS.js} +5 -5
- package/dist/{chunk-WHNC7C76.js → chunk-53ZVUW2M.js} +5 -5
- package/dist/{chunk-L26MD32B.js → chunk-5U2FU5LM.js} +3 -3
- package/dist/{chunk-IJVWKLJK.cjs → chunk-7WE6FGGK.cjs} +69 -69
- package/dist/{chunk-IJVWKLJK.cjs.map → chunk-7WE6FGGK.cjs.map} +1 -1
- package/dist/{chunk-DROXHJVZ.js → chunk-CJW6KZD3.js} +2 -2
- package/dist/{chunk-3RR67XC2.cjs → chunk-E4TK2BBD.cjs} +5 -5
- package/dist/{chunk-3RR67XC2.cjs.map → chunk-E4TK2BBD.cjs.map} +1 -1
- package/dist/{chunk-FCLM2RXI.js → chunk-EULY3BXB.js} +2 -2
- package/dist/{chunk-XWBND4G5.js → chunk-F227VMPL.js} +2 -2
- package/dist/chunk-F227VMPL.js.map +1 -0
- package/dist/{chunk-PMA7DVQR.js → chunk-GAL6EXUY.js} +4 -4
- package/dist/{chunk-J3EEL6YC.js → chunk-H7K76TPX.js} +5 -5
- package/dist/{chunk-M6ZUEBDK.cjs → chunk-HMEEW73F.cjs} +159 -159
- package/dist/{chunk-M6ZUEBDK.cjs.map → chunk-HMEEW73F.cjs.map} +1 -1
- package/dist/{chunk-WMRXB6RS.js → chunk-IB23CRL2.js} +3 -3
- package/dist/{chunk-YNLIXABT.cjs → chunk-IVJ6TBVW.cjs} +43 -43
- package/dist/{chunk-YNLIXABT.cjs.map → chunk-IVJ6TBVW.cjs.map} +1 -1
- package/dist/{chunk-AJLF6MBD.js → chunk-IZGXIZWF.js} +3 -3
- package/dist/{chunk-BTBW4L2W.cjs → chunk-JMWLF2GL.cjs} +33 -33
- package/dist/{chunk-BTBW4L2W.cjs.map → chunk-JMWLF2GL.cjs.map} +1 -1
- package/dist/{chunk-EZ5VU5WS.js → chunk-JUXCEHK2.js} +2 -2
- package/dist/{chunk-EATPU5EF.cjs → chunk-KS7NKONC.cjs} +9 -9
- package/dist/{chunk-EATPU5EF.cjs.map → chunk-KS7NKONC.cjs.map} +1 -1
- package/dist/{chunk-RBDVHLT5.cjs → chunk-LHQ6RVFE.cjs} +22 -22
- package/dist/{chunk-RBDVHLT5.cjs.map → chunk-LHQ6RVFE.cjs.map} +1 -1
- package/dist/{chunk-IKUSKKFZ.cjs → chunk-LOJ5KQ6B.cjs} +2 -2
- package/dist/chunk-LOJ5KQ6B.cjs.map +1 -0
- package/dist/{chunk-6BI3AYBY.cjs → chunk-M3ERSHPM.cjs} +4 -4
- package/dist/{chunk-6BI3AYBY.cjs.map → chunk-M3ERSHPM.cjs.map} +1 -1
- package/dist/{chunk-IFPGXSMZ.cjs → chunk-RBMVTCRM.cjs} +3 -3
- package/dist/{chunk-IFPGXSMZ.cjs.map → chunk-RBMVTCRM.cjs.map} +1 -1
- package/dist/{chunk-OCXFFGFA.cjs → chunk-RILGQ2OY.cjs} +10 -10
- package/dist/{chunk-OCXFFGFA.cjs.map → chunk-RILGQ2OY.cjs.map} +1 -1
- package/dist/{chunk-KDWNMFX4.cjs → chunk-RQMS2CF5.cjs} +24 -24
- package/dist/{chunk-KDWNMFX4.cjs.map → chunk-RQMS2CF5.cjs.map} +1 -1
- package/dist/{chunk-TRD2YICZ.cjs → chunk-S2ZXUQLR.cjs} +21 -21
- package/dist/{chunk-TRD2YICZ.cjs.map → chunk-S2ZXUQLR.cjs.map} +1 -1
- package/dist/{chunk-R5A3MGMY.js → chunk-SM6JAZ4C.js} +3 -3
- package/dist/{chunk-VWHEXQ64.js → chunk-T4DIAKIK.js} +3 -3
- package/dist/{chunk-3TNM6SDP.cjs → chunk-TMNFC24G.cjs} +15 -15
- package/dist/{chunk-3TNM6SDP.cjs.map → chunk-TMNFC24G.cjs.map} +1 -1
- package/dist/{chunk-XZ3MKTJZ.js → chunk-U6GFESVF.js} +2 -2
- package/dist/{chunk-PFKWJ6PJ.js → chunk-XA5UPYWE.js} +2 -2
- package/dist/{chunk-WBTKXNKZ.cjs → chunk-XNSEZVV4.cjs} +10 -10
- package/dist/{chunk-WBTKXNKZ.cjs.map → chunk-XNSEZVV4.cjs.map} +1 -1
- package/dist/{chunk-WTC6QQNX.cjs → chunk-YU4QZ6I6.cjs} +3 -3
- package/dist/{chunk-WTC6QQNX.cjs.map → chunk-YU4QZ6I6.cjs.map} +1 -1
- package/dist/{chunk-IOP7BCRQ.js → chunk-ZSENCE55.js} +6 -6
- package/dist/components/case-studies/index.cjs +9 -9
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/chat/chat-message-row.d.ts +2 -4
- package/dist/components/chat/chat-message-row.d.ts.map +1 -1
- 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 +36 -36
- package/dist/components/index.js +13 -13
- package/dist/components/meeting-scheduler/index.cjs +21 -21
- package/dist/components/meeting-scheduler/index.js +2 -2
- package/dist/components/navigation/index.cjs +6 -6
- package/dist/components/navigation/index.js +5 -5
- package/dist/components/onboarding-guides/index.cjs +6 -6
- package/dist/components/onboarding-guides/index.js +5 -5
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/ui/index.cjs +3 -3
- package/dist/components/ui/index.js +2 -2
- package/dist/index.cjs +7 -7
- package/dist/index.js +6 -6
- package/package.json +1 -1
- package/src/components/chat/.chat-message-row.md +1 -1
- package/src/components/chat/chat-message-row.tsx +3 -5
- package/dist/chunk-IKUSKKFZ.cjs.map +0 -1
- package/dist/chunk-XWBND4G5.js.map +0 -1
- /package/dist/{chunk-HIHPWVKP.js.map → chunk-2EIGO6ZS.js.map} +0 -0
- /package/dist/{chunk-WHNC7C76.js.map → chunk-53ZVUW2M.js.map} +0 -0
- /package/dist/{chunk-L26MD32B.js.map → chunk-5U2FU5LM.js.map} +0 -0
- /package/dist/{chunk-DROXHJVZ.js.map → chunk-CJW6KZD3.js.map} +0 -0
- /package/dist/{chunk-FCLM2RXI.js.map → chunk-EULY3BXB.js.map} +0 -0
- /package/dist/{chunk-PMA7DVQR.js.map → chunk-GAL6EXUY.js.map} +0 -0
- /package/dist/{chunk-J3EEL6YC.js.map → chunk-H7K76TPX.js.map} +0 -0
- /package/dist/{chunk-WMRXB6RS.js.map → chunk-IB23CRL2.js.map} +0 -0
- /package/dist/{chunk-AJLF6MBD.js.map → chunk-IZGXIZWF.js.map} +0 -0
- /package/dist/{chunk-EZ5VU5WS.js.map → chunk-JUXCEHK2.js.map} +0 -0
- /package/dist/{chunk-R5A3MGMY.js.map → chunk-SM6JAZ4C.js.map} +0 -0
- /package/dist/{chunk-VWHEXQ64.js.map → chunk-T4DIAKIK.js.map} +0 -0
- /package/dist/{chunk-XZ3MKTJZ.js.map → chunk-U6GFESVF.js.map} +0 -0
- /package/dist/{chunk-PFKWJ6PJ.js.map → chunk-XA5UPYWE.js.map} +0 -0
- /package/dist/{chunk-IOP7BCRQ.js.map → chunk-ZSENCE55.js.map} +0 -0
|
@@ -90,7 +90,7 @@ var _chunkIKDC3R7Vcjs = require('./chunk-IKDC3R7V.cjs');
|
|
|
90
90
|
|
|
91
91
|
|
|
92
92
|
|
|
93
|
-
var
|
|
93
|
+
var _chunkLOJ5KQ6Bcjs = require('./chunk-LOJ5KQ6B.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 = _chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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: _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
|
|
4686
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.ModalTitle, { children: pending.title }) }),
|
|
4687
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
|
|
4747
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkLOJ5KQ6Bcjs.ModalHeader, { children: [
|
|
4748
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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 = _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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 (!_chunkLOJ5KQ6Bcjs.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 (!_chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, () => _chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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 = _chunkLOJ5KQ6Bcjs.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 } = _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.Modal, { isOpen, onClose, className: _chunkPRPZBXWZcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
|
|
8593
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.ModalTitle, { children: title }) }),
|
|
8594
8594
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8595
|
-
|
|
8595
|
+
_chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
8688
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkLOJ5KQ6Bcjs.Tooltip, { children: [
|
|
8737
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.TooltipTrigger, { asChild: true, children: button }),
|
|
8738
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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 = _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkLOJ5KQ6Bcjs.Tooltip, { open, onOpenChange: setOpen, children: [
|
|
12419
12419
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12420
|
-
|
|
12420
|
+
_chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkLOJ5KQ6Bcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
13454
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkLOJ5KQ6Bcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
13509
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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 (_chunkLOJ5KQ6Bcjs.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(_chunkLOJ5KQ6Bcjs.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(_chunkLOJ5KQ6Bcjs.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(_chunkLOJ5KQ6Bcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16221
|
+
const hsl = _chunkLOJ5KQ6Bcjs.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 = _chunkLOJ5KQ6Bcjs.hslToRgb.call(void 0, h, s, l);
|
|
16227
|
+
onChange(_chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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
|
+
_chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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 ? _chunkLOJ5KQ6Bcjs.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', _391 => _391.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _392 => _392.icon]), onClick: _optionalChain([device, 'optionalAccess', _393 => _393.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
|
+
_chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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
|
+
..._chunkLOJ5KQ6Bcjs.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, _chunkLOJ5KQ6Bcjs.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
|
{
|
|
@@ -22389,9 +22389,9 @@ function PushButtonSelector({
|
|
|
22389
22389
|
option.id
|
|
22390
22390
|
);
|
|
22391
22391
|
if (option.disabled && option.disabledReason) {
|
|
22392
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22393
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22394
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22392
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkLOJ5KQ6Bcjs.Tooltip, { children: [
|
|
22393
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.TooltipTrigger, { asChild: true, children: optionEl }),
|
|
22394
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
|
|
22395
22395
|
] }, option.id);
|
|
22396
22396
|
}
|
|
22397
22397
|
return optionEl;
|
|
@@ -22436,7 +22436,7 @@ function PushButtonSelector({
|
|
|
22436
22436
|
lazyLoad.isFetchingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "py-2 text-center text-ods-text-secondary text-h6", children: "Loading more\u2026" }) : null
|
|
22437
22437
|
] }) : null
|
|
22438
22438
|
] });
|
|
22439
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22439
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
|
|
22440
22440
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
22441
22441
|
searchInput,
|
|
22442
22442
|
lazyLoad ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22609,7 +22609,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
|
|
|
22609
22609
|
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" ? (
|
|
22610
22610
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
22611
22611
|
// fit="cover" crops to the aspect-video cell.
|
|
22612
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22612
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
22613
22613
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22614
22614
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
22615
22615
|
{
|
|
@@ -22742,7 +22742,7 @@ var SelectButton = _react2.default.forwardRef(
|
|
|
22742
22742
|
}
|
|
22743
22743
|
)
|
|
22744
22744
|
] }),
|
|
22745
|
-
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22745
|
+
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
|
|
22746
22746
|
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
|
|
22747
22747
|
]
|
|
22748
22748
|
}
|
|
@@ -23528,7 +23528,7 @@ function VideoBitesDisplay({
|
|
|
23528
23528
|
filterPublished = true,
|
|
23529
23529
|
showTitle = true
|
|
23530
23530
|
}) {
|
|
23531
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23531
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
23532
23532
|
}
|
|
23533
23533
|
|
|
23534
23534
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -23597,7 +23597,7 @@ function WalkthroughVideo({
|
|
|
23597
23597
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
23598
23598
|
};
|
|
23599
23599
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
|
|
23600
|
-
const hydrated =
|
|
23600
|
+
const hydrated = _chunkLOJ5KQ6Bcjs.useIsHydrated.call(void 0, );
|
|
23601
23601
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
23602
23602
|
if (!hydrated) return false;
|
|
23603
23603
|
try {
|
|
@@ -23994,7 +23994,7 @@ function WalkthroughVideo({
|
|
|
23994
23994
|
},
|
|
23995
23995
|
children: [
|
|
23996
23996
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23997
|
-
|
|
23997
|
+
_chunkLOJ5KQ6Bcjs.VideoHoverPreviewSurface,
|
|
23998
23998
|
{
|
|
23999
23999
|
url: video.mainVideoUrl || "",
|
|
24000
24000
|
posterUrl: video.posterUrl,
|
|
@@ -24017,7 +24017,7 @@ function WalkthroughVideo({
|
|
|
24017
24017
|
`card-${embedUrlKey}`
|
|
24018
24018
|
) }),
|
|
24019
24019
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24020
|
-
|
|
24020
|
+
_chunkLOJ5KQ6Bcjs.CardHitLayer,
|
|
24021
24021
|
{
|
|
24022
24022
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
24023
24023
|
onPointerDown: pausePreviewNow,
|
|
@@ -24026,7 +24026,7 @@ function WalkthroughVideo({
|
|
|
24026
24026
|
}
|
|
24027
24027
|
),
|
|
24028
24028
|
/* @__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: [
|
|
24029
|
-
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,
|
|
24029
|
+
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, _chunkLOJ5KQ6Bcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
|
|
24030
24030
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
|
|
24031
24031
|
] }),
|
|
24032
24032
|
showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -24039,7 +24039,7 @@ function WalkthroughVideo({
|
|
|
24039
24039
|
onPointerDown: (e) => e.stopPropagation(),
|
|
24040
24040
|
onClick: onUnmuteOrPlay,
|
|
24041
24041
|
className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
|
|
24042
|
-
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24042
|
+
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.VideoUnmuteGlyph, {})
|
|
24043
24043
|
}
|
|
24044
24044
|
),
|
|
24045
24045
|
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: [
|
|
@@ -24132,7 +24132,7 @@ function WalkthroughVideo({
|
|
|
24132
24132
|
children: [
|
|
24133
24133
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
24134
24134
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24135
|
-
|
|
24135
|
+
_chunkLOJ5KQ6Bcjs.Video,
|
|
24136
24136
|
{
|
|
24137
24137
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
24138
24138
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -24183,7 +24183,7 @@ function InlineWalkthroughVideo(props) {
|
|
|
24183
24183
|
var _reactquery = require('@tanstack/react-query');
|
|
24184
24184
|
function useWalkthroughVideo(opts) {
|
|
24185
24185
|
const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
|
|
24186
|
-
const captions =
|
|
24186
|
+
const captions = _chunkLOJ5KQ6Bcjs.useCaptions.call(void 0, );
|
|
24187
24187
|
const query = _reactquery.useQuery.call(void 0, {
|
|
24188
24188
|
queryKey: ["walkthrough-video", endpoint],
|
|
24189
24189
|
enabled,
|
|
@@ -24381,7 +24381,7 @@ function VideoSourceSelector({
|
|
|
24381
24381
|
}
|
|
24382
24382
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
24383
24383
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
|
|
24384
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24384
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.Video, { kind: "file", url: videoUrl }) }),
|
|
24385
24385
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24386
24386
|
"button",
|
|
24387
24387
|
{
|
|
@@ -24905,7 +24905,7 @@ function HighlightVideoSection({
|
|
|
24905
24905
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
24906
24906
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
24907
24907
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
|
|
24908
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24908
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
|
|
24909
24909
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24910
24910
|
"button",
|
|
24911
24911
|
{
|
|
@@ -25641,7 +25641,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
|
25641
25641
|
] });
|
|
25642
25642
|
};
|
|
25643
25643
|
var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
|
|
25644
|
-
const { innerRef, containerStyle } =
|
|
25644
|
+
const { innerRef, containerStyle } = _chunkLOJ5KQ6Bcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
|
|
25645
25645
|
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
25646
25646
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
25647
25647
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -25809,7 +25809,7 @@ function WaitlistForm({
|
|
|
25809
25809
|
const { toast } = _chunkLEISUAHFcjs.useToast.call(void 0, );
|
|
25810
25810
|
const { honeypotInputProps, getSignals, resetSignals } = _chunkLEISUAHFcjs.useHumanitySignals.call(void 0, );
|
|
25811
25811
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
25812
|
-
const isClient =
|
|
25812
|
+
const isClient = _chunkLOJ5KQ6Bcjs.useIsHydrated.call(void 0, );
|
|
25813
25813
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
25814
25814
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
25815
25815
|
const isMailDomainGeneric = hasGenericEmailDomain(email);
|
|
@@ -26613,7 +26613,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
26613
26613
|
"data-state": open ? "open" : "closed",
|
|
26614
26614
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
26615
26615
|
"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",
|
|
26616
|
-
|
|
26616
|
+
_chunkLOJ5KQ6Bcjs.OVERLAY_BACKDROP_CLASS,
|
|
26617
26617
|
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
26618
26618
|
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
26619
26619
|
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
@@ -26689,11 +26689,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
26689
26689
|
}
|
|
26690
26690
|
);
|
|
26691
26691
|
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
26692
|
-
var AppLayoutDrawerHeader =
|
|
26693
|
-
var AppLayoutDrawerTitle =
|
|
26694
|
-
var AppLayoutDrawerDescription =
|
|
26695
|
-
var AppLayoutDrawerBody =
|
|
26696
|
-
var AppLayoutDrawerFooter =
|
|
26692
|
+
var AppLayoutDrawerHeader = _chunkLOJ5KQ6Bcjs.DrawerHeader;
|
|
26693
|
+
var AppLayoutDrawerTitle = _chunkLOJ5KQ6Bcjs.DrawerTitle;
|
|
26694
|
+
var AppLayoutDrawerDescription = _chunkLOJ5KQ6Bcjs.DrawerDescription;
|
|
26695
|
+
var AppLayoutDrawerBody = _chunkLOJ5KQ6Bcjs.DrawerBody;
|
|
26696
|
+
var AppLayoutDrawerFooter = _chunkLOJ5KQ6Bcjs.DrawerFooter;
|
|
26697
26697
|
|
|
26698
26698
|
// src/components/features/notifications/notification-tile.tsx
|
|
26699
26699
|
|
|
@@ -26781,7 +26781,7 @@ function NotificationTile({
|
|
|
26781
26781
|
}
|
|
26782
26782
|
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkLEISUAHFcjs.dotColorByVariant[accentVariant]) }))) }),
|
|
26783
26783
|
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" }),
|
|
26784
|
-
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children:
|
|
26784
|
+
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkLOJ5KQ6Bcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
|
|
26785
26785
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
|
|
26786
26786
|
{
|
|
26787
26787
|
active: isLive,
|
|
@@ -26878,7 +26878,7 @@ function NotificationDrawer({
|
|
|
26878
26878
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
26879
26879
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
26880
26880
|
/* @__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,
|
|
26881
|
-
|
|
26881
|
+
_chunkLOJ5KQ6Bcjs.DrawerTitle,
|
|
26882
26882
|
{
|
|
26883
26883
|
hideClose: true,
|
|
26884
26884
|
className: "truncate",
|
|
@@ -26937,8 +26937,8 @@ function NotificationDrawer({
|
|
|
26937
26937
|
}
|
|
26938
26938
|
) });
|
|
26939
26939
|
}
|
|
26940
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26941
|
-
|
|
26940
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26941
|
+
_chunkLOJ5KQ6Bcjs.DrawerContent,
|
|
26942
26942
|
{
|
|
26943
26943
|
side: "right",
|
|
26944
26944
|
"aria-describedby": void 0,
|
|
@@ -27213,13 +27213,13 @@ function getApprovalMeta(notification) {
|
|
|
27213
27213
|
function resolutionToStatus(resolution) {
|
|
27214
27214
|
switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
|
|
27215
27215
|
case "APPROVED":
|
|
27216
|
-
return
|
|
27216
|
+
return _chunkLOJ5KQ6Bcjs.APPROVAL_STATUS.APPROVED;
|
|
27217
27217
|
case "REJECTED":
|
|
27218
|
-
return
|
|
27218
|
+
return _chunkLOJ5KQ6Bcjs.APPROVAL_STATUS.REJECTED;
|
|
27219
27219
|
case "CANCELLED":
|
|
27220
|
-
return
|
|
27220
|
+
return _chunkLOJ5KQ6Bcjs.APPROVAL_STATUS.CANCELLED;
|
|
27221
27221
|
default:
|
|
27222
|
-
return
|
|
27222
|
+
return _chunkLOJ5KQ6Bcjs.APPROVAL_STATUS.PENDING;
|
|
27223
27223
|
}
|
|
27224
27224
|
}
|
|
27225
27225
|
function approvalMetaToBatchData(approval) {
|
|
@@ -27259,7 +27259,7 @@ function ApprovalRequestNotificationTile({
|
|
|
27259
27259
|
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _584 => _584.resolution]));
|
|
27260
27260
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
27261
27261
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
27262
|
-
const { innerRef, containerStyle } =
|
|
27262
|
+
const { innerRef, containerStyle } = _chunkLOJ5KQ6Bcjs.useCollapsible.call(void 0, { expanded });
|
|
27263
27263
|
if (!approval || !batchData) return null;
|
|
27264
27264
|
const tileNotification = {
|
|
27265
27265
|
...notification,
|
|
@@ -27312,7 +27312,7 @@ function ApprovalRequestNotificationTile({
|
|
|
27312
27312
|
}
|
|
27313
27313
|
)
|
|
27314
27314
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
27315
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27315
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.ApprovalStatusTag, { status }),
|
|
27316
27316
|
approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
27317
27317
|
"by ",
|
|
27318
27318
|
approval.resolvedByName
|
|
@@ -27330,12 +27330,12 @@ function ApprovalRequestNotificationTile({
|
|
|
27330
27330
|
"aria-expanded": expanded,
|
|
27331
27331
|
"aria-label": toggleLabel,
|
|
27332
27332
|
className: "ml-auto w-6 shrink-0 px-0 md:w-8",
|
|
27333
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27333
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.ExpandChevron, { expanded })
|
|
27334
27334
|
}
|
|
27335
27335
|
)
|
|
27336
27336
|
] }),
|
|
27337
27337
|
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,
|
|
27338
|
-
|
|
27338
|
+
_chunkLOJ5KQ6Bcjs.ApprovalBatchMessage,
|
|
27339
27339
|
{
|
|
27340
27340
|
data: batchData,
|
|
27341
27341
|
showExecutionStatus: false,
|
|
@@ -27666,7 +27666,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
|
|
|
27666
27666
|
function StatusTag({ status }) {
|
|
27667
27667
|
if (status === "tracking") {
|
|
27668
27668
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27669
|
-
|
|
27669
|
+
_chunkLOJ5KQ6Bcjs.Tag,
|
|
27670
27670
|
{
|
|
27671
27671
|
variant: "success",
|
|
27672
27672
|
className: STATUS_TAG_SKIN,
|
|
@@ -27676,9 +27676,9 @@ function StatusTag({ status }) {
|
|
|
27676
27676
|
);
|
|
27677
27677
|
}
|
|
27678
27678
|
if (status === "paused") {
|
|
27679
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27679
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
|
|
27680
27680
|
}
|
|
27681
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27681
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
|
|
27682
27682
|
}
|
|
27683
27683
|
function LastEntryRow({ entry, onClick }) {
|
|
27684
27684
|
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: [
|
|
@@ -27847,7 +27847,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
27847
27847
|
"data-state": isOpen ? "open" : "closed",
|
|
27848
27848
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
27849
27849
|
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
27850
|
-
|
|
27850
|
+
_chunkLOJ5KQ6Bcjs.OVERLAY_BACKDROP_CLASS,
|
|
27851
27851
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
27852
27852
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
27853
27853
|
)
|
|
@@ -28001,7 +28001,7 @@ function BoardColumnHeader({
|
|
|
28001
28001
|
}) {
|
|
28002
28002
|
const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
|
|
28003
28003
|
const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
|
|
28004
|
-
const useStatusVariant =
|
|
28004
|
+
const useStatusVariant = _chunkLOJ5KQ6Bcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
|
|
28005
28005
|
const actionClass = "h-8 w-8 p-0 md:h-8 md:w-8";
|
|
28006
28006
|
if (collapsed) {
|
|
28007
28007
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
@@ -28017,7 +28017,7 @@ function BoardColumnHeader({
|
|
|
28017
28017
|
}
|
|
28018
28018
|
),
|
|
28019
28019
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28020
|
-
|
|
28020
|
+
_chunkLOJ5KQ6Bcjs.TicketStatusTag,
|
|
28021
28021
|
{
|
|
28022
28022
|
status: tagStatus,
|
|
28023
28023
|
label: column.label,
|
|
@@ -28030,7 +28030,7 @@ function BoardColumnHeader({
|
|
|
28030
28030
|
}
|
|
28031
28031
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
28032
28032
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
28033
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28033
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
|
|
28034
28034
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
|
|
28035
28035
|
] }),
|
|
28036
28036
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -28181,7 +28181,7 @@ function holdMoveDragEffect(element) {
|
|
|
28181
28181
|
|
|
28182
28182
|
function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
28183
28183
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
28184
|
-
const { innerRef, containerStyle } =
|
|
28184
|
+
const { innerRef, containerStyle } = _chunkLOJ5KQ6Bcjs.useCollapsible.call(void 0, { expanded });
|
|
28185
28185
|
const isAdmin = pendingApproval.approvalType === "ADMIN";
|
|
28186
28186
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
|
|
28187
28187
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -28210,7 +28210,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
|
28210
28210
|
}
|
|
28211
28211
|
),
|
|
28212
28212
|
/* @__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,
|
|
28213
|
-
|
|
28213
|
+
_chunkLOJ5KQ6Bcjs.ApprovalBatchMessage,
|
|
28214
28214
|
{
|
|
28215
28215
|
className: "mb-0",
|
|
28216
28216
|
data: {
|
|
@@ -28282,7 +28282,7 @@ var ACTIVITY_DEFAULT_LABEL = {
|
|
|
28282
28282
|
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";
|
|
28283
28283
|
function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
|
|
28284
28284
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
28285
|
-
const newMessageTextColor = columnColor ?
|
|
28285
|
+
const newMessageTextColor = columnColor ? _chunkLOJ5KQ6Bcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
|
|
28286
28286
|
const showDeviceRow = !!(_optionalChain([ticket, 'access', _620 => _620.deviceHostnames, 'optionalAccess', _621 => _621.length]) || ticket.organizationName);
|
|
28287
28287
|
const deviceText = [_optionalChain([ticket, 'access', _622 => _622.deviceHostnames, 'optionalAccess', _623 => _623.join, 'call', _624 => _624(", ")]), ticket.organizationName].filter(Boolean).join(", ");
|
|
28288
28288
|
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _625 => _625.assignees, 'optionalAccess', _626 => _626.length]) || renderAssignSlot);
|
|
@@ -28321,8 +28321,8 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28321
28321
|
] })
|
|
28322
28322
|
] }) : null
|
|
28323
28323
|
] }) : null;
|
|
28324
|
-
const timestampLabel = ticket.createdAt ?
|
|
28325
|
-
const tooltipLabel = ticket.createdAt ?
|
|
28324
|
+
const timestampLabel = ticket.createdAt ? _chunkLOJ5KQ6Bcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
|
|
28325
|
+
const tooltipLabel = ticket.createdAt ? _chunkLOJ5KQ6Bcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
|
|
28326
28326
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
28327
28327
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
|
|
28328
28328
|
/* @__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: [
|
|
@@ -28335,9 +28335,9 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28335
28335
|
rightSection
|
|
28336
28336
|
] }),
|
|
28337
28337
|
_optionalChain([ticket, 'access', _629 => _629.tags, 'optionalAccess', _630 => _630.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
28338
|
-
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28339
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28340
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28338
|
+
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkLOJ5KQ6Bcjs.Tooltip, { children: [
|
|
28339
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
|
|
28340
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.TooltipContent, { children: tooltipLabel })
|
|
28341
28341
|
] }) }),
|
|
28342
28342
|
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: [
|
|
28343
28343
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
|
|
@@ -28357,7 +28357,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28357
28357
|
}
|
|
28358
28358
|
),
|
|
28359
28359
|
showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28360
|
-
|
|
28360
|
+
_chunkLOJ5KQ6Bcjs.Tag,
|
|
28361
28361
|
{
|
|
28362
28362
|
label: "New Message",
|
|
28363
28363
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
|
|
@@ -28572,8 +28572,8 @@ function TicketTagRow({ tags }) {
|
|
|
28572
28572
|
const visible = tags.slice(0, MAX_VISIBLE_TAGS);
|
|
28573
28573
|
const hidden = tags.length - visible.length;
|
|
28574
28574
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
|
|
28575
|
-
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28576
|
-
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28575
|
+
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.Tag, { variant: "outline", label: tag }, tag)),
|
|
28576
|
+
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOJ5KQ6Bcjs.Tag, { variant: "outline", label: `+${hidden}` })
|
|
28577
28577
|
] });
|
|
28578
28578
|
}
|
|
28579
28579
|
|
|
@@ -30230,4 +30230,4 @@ function SortableRow({
|
|
|
30230
30230
|
|
|
30231
30231
|
|
|
30232
30232
|
exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.TruncateText = TruncateText; exports.Autocomplete = Autocomplete; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePickerCalendar = DatePickerCalendar; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.InfoHint = InfoHint; exports.Field = Field; exports.HoneypotField = HoneypotField; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.DeletedUserAvatar = DeletedUserAvatar; exports.SearchableSelect = SearchableSelect; exports.AssigneeDropdown = AssigneeDropdown; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoDataMessage = NoDataMessage; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.AdminFormModal = AdminFormModal; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.FullscreenSwitchController = FullscreenSwitchController; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.StatusIndicator = StatusIndicator; exports.BackButton = BackButton; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.SourceTooltip = SourceTooltip; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TitleContentBlock = TitleContentBlock; exports.TouchFriendlyTooltip = TouchFriendlyTooltip; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.AppLayoutDrawerContainerContext = AppLayoutDrawerContainerContext; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerCoordinationContext = AppLayoutDrawerCoordinationContext; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableList = SortableList; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.COMPACT_ROW_MIN_HEIGHT_PX = COMPACT_ROW_MIN_HEIGHT_PX; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.DataTableEmpty = DataTableEmpty; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.FilterPillRow = FilterPillRow;
|
|
30233
|
-
//# sourceMappingURL=chunk-
|
|
30233
|
+
//# sourceMappingURL=chunk-HMEEW73F.cjs.map
|