@flamingo-stack/openframe-frontend-core 0.0.589 → 0.0.590-2020.5605.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-EGUU3QCU.cjs → chunk-2564HPMD.cjs} +3 -3
- package/dist/{chunk-EGUU3QCU.cjs.map → chunk-2564HPMD.cjs.map} +1 -1
- package/dist/{chunk-JDINUWND.cjs → chunk-2MY6BT6P.cjs} +69 -69
- package/dist/{chunk-JDINUWND.cjs.map → chunk-2MY6BT6P.cjs.map} +1 -1
- package/dist/{chunk-G45RGWHF.cjs → chunk-353GRCTE.cjs} +37 -10
- package/dist/chunk-353GRCTE.cjs.map +1 -0
- package/dist/{chunk-5CHW7AMP.cjs → chunk-3BQESV5G.cjs} +10 -10
- package/dist/{chunk-5CHW7AMP.cjs.map → chunk-3BQESV5G.cjs.map} +1 -1
- package/dist/{chunk-KK3XU6YJ.cjs → chunk-3WZQ5RXS.cjs} +4 -4
- package/dist/{chunk-KK3XU6YJ.cjs.map → chunk-3WZQ5RXS.cjs.map} +1 -1
- package/dist/{chunk-A6X7EXP6.cjs → chunk-5KFIUNKN.cjs} +10 -10
- package/dist/{chunk-A6X7EXP6.cjs.map → chunk-5KFIUNKN.cjs.map} +1 -1
- package/dist/{chunk-CJOWLRUU.js → chunk-6BPIDRBI.js} +2 -2
- package/dist/{chunk-FVRRYJ6P.cjs → chunk-7H4RUNIL.cjs} +22 -22
- package/dist/{chunk-FVRRYJ6P.cjs.map → chunk-7H4RUNIL.cjs.map} +1 -1
- package/dist/{chunk-CN36E4PK.js → chunk-7JPKCUF7.js} +2 -2
- package/dist/{chunk-IYDHV2CS.cjs → chunk-7O7CAZYG.cjs} +43 -43
- package/dist/{chunk-IYDHV2CS.cjs.map → chunk-7O7CAZYG.cjs.map} +1 -1
- package/dist/{chunk-LGBNHWDN.js → chunk-ACUXSU6J.js} +3 -3
- package/dist/{chunk-KVNGYFFP.js → chunk-AV4UXMOH.js} +3 -3
- package/dist/{chunk-4ZKAMPBX.js → chunk-BKOCXNAP.js} +2 -2
- package/dist/{chunk-MENQLD57.cjs → chunk-CQHFRJSG.cjs} +5 -5
- package/dist/{chunk-MENQLD57.cjs.map → chunk-CQHFRJSG.cjs.map} +1 -1
- package/dist/{chunk-3OCYNMZ5.js → chunk-CT6I3HOP.js} +3 -3
- package/dist/{chunk-C6RJRSIM.cjs → chunk-DAUDWRE4.cjs} +3 -3
- package/dist/{chunk-C6RJRSIM.cjs.map → chunk-DAUDWRE4.cjs.map} +1 -1
- package/dist/{chunk-NXZC6UTN.js → chunk-DFUO7J3W.js} +2 -2
- package/dist/{chunk-TOYHZHTK.js → chunk-E5NSDLYJ.js} +2 -2
- package/dist/{chunk-77Y7R243.js → chunk-GAXC43J4.js} +5 -5
- package/dist/{chunk-EGYX55HT.cjs → chunk-I3HBFKKM.cjs} +159 -159
- package/dist/{chunk-EGYX55HT.cjs.map → chunk-I3HBFKKM.cjs.map} +1 -1
- package/dist/{chunk-ADANP3ZA.cjs → chunk-JIIA5BIJ.cjs} +33 -33
- package/dist/{chunk-ADANP3ZA.cjs.map → chunk-JIIA5BIJ.cjs.map} +1 -1
- package/dist/{chunk-PAUJQV3C.cjs → chunk-KIMRNY7A.cjs} +15 -15
- package/dist/{chunk-PAUJQV3C.cjs.map → chunk-KIMRNY7A.cjs.map} +1 -1
- package/dist/{chunk-FQBR6SCA.js → chunk-KLNHD4TC.js} +3 -3
- package/dist/{chunk-CNKVEVUN.js → chunk-LDNRL62P.js} +5 -5
- package/dist/{chunk-I5CJJFEJ.js → chunk-LKMRJ2CP.js} +3 -3
- package/dist/{chunk-KWTV3KGY.cjs → chunk-QEV5HPDQ.cjs} +9 -9
- package/dist/{chunk-KWTV3KGY.cjs.map → chunk-QEV5HPDQ.cjs.map} +1 -1
- package/dist/{chunk-WUCYI3BC.cjs → chunk-RLABO5PY.cjs} +24 -24
- package/dist/{chunk-WUCYI3BC.cjs.map → chunk-RLABO5PY.cjs.map} +1 -1
- package/dist/{chunk-5FNWOF46.js → chunk-RLC5IISG.js} +6 -6
- package/dist/{chunk-GKPY7VLK.js → chunk-RM3PTDSI.js} +4 -4
- package/dist/{chunk-NIDPX52C.js → chunk-T3WAHAMH.js} +5 -5
- package/dist/{chunk-D7YISHXC.js → chunk-V7RB3EUW.js} +37 -10
- package/dist/{chunk-D7YISHXC.js.map → chunk-V7RB3EUW.js.map} +1 -1
- package/dist/{chunk-BONXSRHZ.cjs → chunk-WIAEFA2K.cjs} +21 -21
- package/dist/{chunk-BONXSRHZ.cjs.map → chunk-WIAEFA2K.cjs.map} +1 -1
- package/dist/components/case-studies/index.cjs +9 -9
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +1 -1
- package/dist/components/chat/stream/message-mutations.d.ts.map +1 -1
- package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +4 -4
- package/dist/components/contact/index.js +3 -3
- package/dist/components/docs/index.cjs +7 -7
- package/dist/components/docs/index.js +6 -6
- package/dist/components/embeds/index.cjs +4 -4
- package/dist/components/embeds/index.js +3 -3
- package/dist/components/faq/index.cjs +4 -4
- package/dist/components/faq/index.js +3 -3
- package/dist/components/features/index.cjs +3 -3
- package/dist/components/features/index.js +2 -2
- package/dist/components/help-center-pages/index.cjs +23 -23
- package/dist/components/help-center-pages/index.js +14 -14
- package/dist/components/index.cjs +36 -36
- package/dist/components/index.js +13 -13
- package/dist/components/meeting-scheduler/index.cjs +21 -21
- package/dist/components/meeting-scheduler/index.js +2 -2
- package/dist/components/navigation/index.cjs +6 -6
- package/dist/components/navigation/index.js +5 -5
- package/dist/components/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/__tests__/ticket-event.test.ts +107 -0
- package/src/components/chat/stream/message-mutations.ts +47 -4
- package/src/components/chat/utils/process-historical-messages.ts +18 -6
- package/dist/chunk-G45RGWHF.cjs.map +0 -1
- /package/dist/{chunk-CJOWLRUU.js.map → chunk-6BPIDRBI.js.map} +0 -0
- /package/dist/{chunk-CN36E4PK.js.map → chunk-7JPKCUF7.js.map} +0 -0
- /package/dist/{chunk-LGBNHWDN.js.map → chunk-ACUXSU6J.js.map} +0 -0
- /package/dist/{chunk-KVNGYFFP.js.map → chunk-AV4UXMOH.js.map} +0 -0
- /package/dist/{chunk-4ZKAMPBX.js.map → chunk-BKOCXNAP.js.map} +0 -0
- /package/dist/{chunk-3OCYNMZ5.js.map → chunk-CT6I3HOP.js.map} +0 -0
- /package/dist/{chunk-NXZC6UTN.js.map → chunk-DFUO7J3W.js.map} +0 -0
- /package/dist/{chunk-TOYHZHTK.js.map → chunk-E5NSDLYJ.js.map} +0 -0
- /package/dist/{chunk-77Y7R243.js.map → chunk-GAXC43J4.js.map} +0 -0
- /package/dist/{chunk-FQBR6SCA.js.map → chunk-KLNHD4TC.js.map} +0 -0
- /package/dist/{chunk-CNKVEVUN.js.map → chunk-LDNRL62P.js.map} +0 -0
- /package/dist/{chunk-I5CJJFEJ.js.map → chunk-LKMRJ2CP.js.map} +0 -0
- /package/dist/{chunk-5FNWOF46.js.map → chunk-RLC5IISG.js.map} +0 -0
- /package/dist/{chunk-GKPY7VLK.js.map → chunk-RM3PTDSI.js.map} +0 -0
- /package/dist/{chunk-NIDPX52C.js.map → chunk-T3WAHAMH.js.map} +0 -0
|
@@ -90,7 +90,7 @@ var _chunkIKDC3R7Vcjs = require('./chunk-IKDC3R7V.cjs');
|
|
|
90
90
|
|
|
91
91
|
|
|
92
92
|
|
|
93
|
-
var
|
|
93
|
+
var _chunk353GRCTEcjs = require('./chunk-353GRCTE.cjs');
|
|
94
94
|
|
|
95
95
|
|
|
96
96
|
|
|
@@ -335,7 +335,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
335
335
|
var useTheme = _nextthemes.useTheme;
|
|
336
336
|
function useThemeToggle() {
|
|
337
337
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
338
|
-
const mounted =
|
|
338
|
+
const mounted = _chunk353GRCTEcjs.useIsHydrated.call(void 0, );
|
|
339
339
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
340
340
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
341
341
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -612,7 +612,7 @@ function TruncateText({
|
|
|
612
612
|
const { ref, isTruncated } = _chunkZI27ALYXcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
|
|
613
613
|
const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
|
|
614
614
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
615
|
-
|
|
615
|
+
_chunk353GRCTEcjs.FloatingTooltip,
|
|
616
616
|
{
|
|
617
617
|
content: _nullishCoalesce(tooltip, () => ( children)),
|
|
618
618
|
side,
|
|
@@ -914,7 +914,7 @@ function AutocompleteInner(props, ref) {
|
|
|
914
914
|
),
|
|
915
915
|
/* @__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: [
|
|
916
916
|
multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
917
|
-
|
|
917
|
+
_chunk353GRCTEcjs.Tag,
|
|
918
918
|
{
|
|
919
919
|
variant: "outline",
|
|
920
920
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -1120,7 +1120,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1120
1120
|
"aria-hidden": "true",
|
|
1121
1121
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
1122
1122
|
children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1123
|
-
|
|
1123
|
+
_chunk353GRCTEcjs.Tag,
|
|
1124
1124
|
{
|
|
1125
1125
|
variant: "outline",
|
|
1126
1126
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -2504,7 +2504,7 @@ function InfoHint({ children, label, side = "top", className }) {
|
|
|
2504
2504
|
const describedById = _react.useId.call(void 0, );
|
|
2505
2505
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
|
|
2506
2506
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2507
|
-
|
|
2507
|
+
_chunk353GRCTEcjs.FloatingTooltip,
|
|
2508
2508
|
{
|
|
2509
2509
|
content: children,
|
|
2510
2510
|
side,
|
|
@@ -2598,7 +2598,7 @@ function Value2({ value, depth }) {
|
|
|
2598
2598
|
}
|
|
2599
2599
|
if (typeof value === "string") {
|
|
2600
2600
|
if (ISO_DATE.test(value)) {
|
|
2601
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children:
|
|
2601
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunk353GRCTEcjs.formatRelativeTime.call(void 0, value) });
|
|
2602
2602
|
}
|
|
2603
2603
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
|
|
2604
2604
|
}
|
|
@@ -3230,7 +3230,7 @@ function RowValue({ value }) {
|
|
|
3230
3230
|
}
|
|
3231
3231
|
case "status": {
|
|
3232
3232
|
const { type: _type, ...props } = value;
|
|
3233
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3233
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TicketStatusTag, { ...props });
|
|
3234
3234
|
}
|
|
3235
3235
|
case "custom":
|
|
3236
3236
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
|
|
@@ -4141,7 +4141,7 @@ function TagsManager({
|
|
|
4141
4141
|
}
|
|
4142
4142
|
),
|
|
4143
4143
|
selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4144
|
-
|
|
4144
|
+
_chunk353GRCTEcjs.Tag,
|
|
4145
4145
|
{
|
|
4146
4146
|
label: tag.name,
|
|
4147
4147
|
variant: "outline",
|
|
@@ -4686,10 +4686,10 @@ function useConfirm() {
|
|
|
4686
4686
|
},
|
|
4687
4687
|
[]
|
|
4688
4688
|
);
|
|
4689
|
-
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4690
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4691
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4692
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4689
|
+
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
|
|
4690
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalTitle, { children: pending.title }) }),
|
|
4691
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
|
|
4692
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.ModalFooter, { children: [
|
|
4693
4693
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
|
|
4694
4694
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
|
|
4695
4695
|
] })
|
|
@@ -4747,9 +4747,9 @@ function AdminFormModal({
|
|
|
4747
4747
|
body: "Your edits have not been saved. Close and discard them?"
|
|
4748
4748
|
});
|
|
4749
4749
|
if (!isOpen) return null;
|
|
4750
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4751
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4752
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4750
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
|
|
4751
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.ModalHeader, { children: [
|
|
4752
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalTitle, { children: title }),
|
|
4753
4753
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
|
|
4754
4754
|
] }),
|
|
4755
4755
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -4773,7 +4773,7 @@ function AdminFormModal({
|
|
|
4773
4773
|
// a shrink-to-fit flex item pinned to the left of a 1400px panel).
|
|
4774
4774
|
// The placeholder owns its own layout and mirrors the column count so
|
|
4775
4775
|
// the modal doesn't visibly re-flow when the entity lands.
|
|
4776
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4776
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4777
4777
|
"div",
|
|
4778
4778
|
{
|
|
4779
4779
|
"aria-busy": "true",
|
|
@@ -4794,12 +4794,12 @@ function AdminFormModal({
|
|
|
4794
4794
|
]
|
|
4795
4795
|
}
|
|
4796
4796
|
) })
|
|
4797
|
-
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4797
|
+
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalContent, { className: contentClassName, children }),
|
|
4798
4798
|
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
|
|
4799
4799
|
]
|
|
4800
4800
|
}
|
|
4801
4801
|
),
|
|
4802
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4802
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
|
|
4803
4803
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
|
|
4804
4804
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
4805
4805
|
footerStatus,
|
|
@@ -6897,7 +6897,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
|
|
|
6897
6897
|
};
|
|
6898
6898
|
const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
|
|
6899
6899
|
const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6900
|
-
|
|
6900
|
+
_chunk353GRCTEcjs.Video,
|
|
6901
6901
|
{
|
|
6902
6902
|
url: item.src,
|
|
6903
6903
|
poster: item.poster ? displayImageSrc(item.poster) : void 0,
|
|
@@ -7621,7 +7621,7 @@ function buildRichEmbedOverrides({
|
|
|
7621
7621
|
ogEndpointPath,
|
|
7622
7622
|
textSizes
|
|
7623
7623
|
}) {
|
|
7624
|
-
const standard =
|
|
7624
|
+
const standard = _chunk353GRCTEcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7625
7625
|
return {
|
|
7626
7626
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7627
7627
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7631,7 +7631,7 @@ function buildRichEmbedOverrides({
|
|
|
7631
7631
|
const language = match ? match[1] : "";
|
|
7632
7632
|
const fenceText = () => String(children).replace(/\n$/, "").trim();
|
|
7633
7633
|
if (language === "youtube-embed") {
|
|
7634
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7634
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Video, { kind: "youtube", url: fenceText() });
|
|
7635
7635
|
}
|
|
7636
7636
|
if (language === "reddit-embed") {
|
|
7637
7637
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
|
|
@@ -7672,7 +7672,7 @@ function buildRichEmbedOverrides({
|
|
|
7672
7672
|
"data-figma-url": figmaUrl
|
|
7673
7673
|
} = divProps;
|
|
7674
7674
|
if (className === "youtube-embed" && videoId) {
|
|
7675
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7675
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Video, { kind: "youtube", url: videoId });
|
|
7676
7676
|
}
|
|
7677
7677
|
if (className === "reddit-embed" && postUrl) {
|
|
7678
7678
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
|
|
@@ -7757,14 +7757,14 @@ function buildRichEmbedOverrides({
|
|
|
7757
7757
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7758
7758
|
// elsewhere). Guard against empty `![]()`.
|
|
7759
7759
|
img: ({ src, alt }) => {
|
|
7760
|
-
if (!
|
|
7760
|
+
if (!_chunk353GRCTEcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7761
7761
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7762
7762
|
},
|
|
7763
7763
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
7764
7764
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
7765
7765
|
video: ({ src, poster, className }) => {
|
|
7766
|
-
if (!
|
|
7767
|
-
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,
|
|
7766
|
+
if (!_chunk353GRCTEcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7767
|
+
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, _chunk353GRCTEcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
7768
7768
|
}
|
|
7769
7769
|
};
|
|
7770
7770
|
}
|
|
@@ -7947,13 +7947,13 @@ var RichMarkdownInner = ({
|
|
|
7947
7947
|
},
|
|
7948
7948
|
[resolveLinkEndpointUrl, resolveSource]
|
|
7949
7949
|
);
|
|
7950
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
7950
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunk353GRCTEcjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
7951
7951
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
7952
7952
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
7953
7953
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
7954
7954
|
);
|
|
7955
7955
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7956
|
-
|
|
7956
|
+
_chunk353GRCTEcjs.MarkdownEngine,
|
|
7957
7957
|
{
|
|
7958
7958
|
content,
|
|
7959
7959
|
className,
|
|
@@ -7975,7 +7975,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
7975
7975
|
className = "",
|
|
7976
7976
|
sectionIds,
|
|
7977
7977
|
onInternalLinkClick,
|
|
7978
|
-
brokenLinks =
|
|
7978
|
+
brokenLinks = _chunk353GRCTEcjs.NO_BROKEN_LINKS,
|
|
7979
7979
|
currentPath,
|
|
7980
7980
|
resolveSource = "openframe-docs",
|
|
7981
7981
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -8548,7 +8548,7 @@ function FilterModal({
|
|
|
8548
8548
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _161 => _161.defaultSort]), () => ( "desc"));
|
|
8549
8549
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _162 => _162.sort]), () => ( dateDefaultSort)));
|
|
8550
8550
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _163 => _163.range]));
|
|
8551
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
8551
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunk353GRCTEcjs.useScrollFade.call(void 0, );
|
|
8552
8552
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
8553
8553
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
8554
8554
|
_react.useEffect.call(void 0, () => {
|
|
@@ -8593,10 +8593,10 @@ function FilterModal({
|
|
|
8593
8593
|
const hasFilterGroups = filterGroups.length > 0;
|
|
8594
8594
|
const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
|
|
8595
8595
|
const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
|
|
8596
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8597
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8596
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Modal, { isOpen, onClose, className: _chunkPRPZBXWZcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
|
|
8597
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalTitle, { children: title }) }),
|
|
8598
8598
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8599
|
-
|
|
8599
|
+
_chunk353GRCTEcjs.ModalContent,
|
|
8600
8600
|
{
|
|
8601
8601
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
8602
8602
|
"flex min-h-0 flex-1 flex-col",
|
|
@@ -8688,12 +8688,12 @@ function FilterModal({
|
|
|
8688
8688
|
] })
|
|
8689
8689
|
}
|
|
8690
8690
|
),
|
|
8691
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8692
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8691
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
8692
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
8693
8693
|
] })
|
|
8694
8694
|
}
|
|
8695
8695
|
),
|
|
8696
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8696
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.ModalFooter, { children: [
|
|
8697
8697
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
|
|
8698
8698
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
|
|
8699
8699
|
] })
|
|
@@ -8737,9 +8737,9 @@ function actionToMenuItems(action, idx) {
|
|
|
8737
8737
|
function renderActionButton(action, opts = {}) {
|
|
8738
8738
|
const button = renderRawActionButton(action, opts);
|
|
8739
8739
|
if (!action.tooltip) return button;
|
|
8740
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8741
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8742
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8740
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Tooltip, { children: [
|
|
8741
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipTrigger, { asChild: true, children: button }),
|
|
8742
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipContent, { children: action.tooltip })
|
|
8743
8743
|
] }) });
|
|
8744
8744
|
}
|
|
8745
8745
|
function renderRawActionButton(action, opts = {}) {
|
|
@@ -8763,7 +8763,7 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
8763
8763
|
}
|
|
8764
8764
|
if (action.submenu && action.submenu.length > 0) {
|
|
8765
8765
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8766
|
-
|
|
8766
|
+
_chunk353GRCTEcjs.ActionsMenuDropdown,
|
|
8767
8767
|
{
|
|
8768
8768
|
groups: [{ items: action.submenu }],
|
|
8769
8769
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -8898,10 +8898,10 @@ function IconButtonsVariant({
|
|
|
8898
8898
|
selector,
|
|
8899
8899
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8900
8900
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
|
|
8901
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8901
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ActionsMenuDropdown, { groups: menuActions })
|
|
8902
8902
|
] })
|
|
8903
8903
|
] }),
|
|
8904
|
-
/* @__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,
|
|
8904
|
+
/* @__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, _chunk353GRCTEcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
|
|
8905
8905
|
] });
|
|
8906
8906
|
}
|
|
8907
8907
|
function PrimaryButtonsVariant({
|
|
@@ -8939,7 +8939,7 @@ function MenuPrimaryVariant({
|
|
|
8939
8939
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
|
|
8940
8940
|
selector,
|
|
8941
8941
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8942
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8942
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ActionsMenuDropdown, { groups: menuActions }),
|
|
8943
8943
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
|
|
8944
8944
|
] })
|
|
8945
8945
|
] }),
|
|
@@ -8947,7 +8947,7 @@ function MenuPrimaryVariant({
|
|
|
8947
8947
|
// The selector rides into the menu as its header row: on mobile the
|
|
8948
8948
|
// title row has no room for it, and hiding it entirely (what
|
|
8949
8949
|
// `icon-buttons` does) would leave no way to switch views at all.
|
|
8950
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8950
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
|
|
8951
8951
|
) : null })
|
|
8952
8952
|
] });
|
|
8953
8953
|
}
|
|
@@ -9350,7 +9350,7 @@ function TitleBlock({
|
|
|
9350
9350
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
9351
9351
|
(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: [
|
|
9352
9352
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9353
|
-
|
|
9353
|
+
_chunk353GRCTEcjs.FloatingTooltip,
|
|
9354
9354
|
{
|
|
9355
9355
|
content: title,
|
|
9356
9356
|
side: "bottom",
|
|
@@ -9367,12 +9367,12 @@ function TitleBlock({
|
|
|
9367
9367
|
}
|
|
9368
9368
|
),
|
|
9369
9369
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9370
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9370
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.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 }) })),
|
|
9371
9371
|
hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
|
|
9372
9372
|
empty `p` collapses to zero height (its only content would be
|
|
9373
9373
|
collapsible whitespace), which is exactly the shift that mode
|
|
9374
9374
|
exists to prevent. Hidden from AT — it carries no meaning. */
|
|
9375
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9375
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9376
9376
|
"p",
|
|
9377
9377
|
{
|
|
9378
9378
|
ref: subtitleRef,
|
|
@@ -9383,7 +9383,7 @@ function TitleBlock({
|
|
|
9383
9383
|
) })
|
|
9384
9384
|
] })
|
|
9385
9385
|
] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9386
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9386
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.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 }) }),
|
|
9387
9387
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9388
9388
|
] }) : (
|
|
9389
9389
|
/* This branch never had the single-line clamp, so text already
|
|
@@ -10997,7 +10997,7 @@ function extractSections(markdown, options = {}) {
|
|
|
10997
10997
|
if (heading.level > opts.maxLevel) continue;
|
|
10998
10998
|
let title = heading.text;
|
|
10999
10999
|
if (opts.stripFormattingMarkers) {
|
|
11000
|
-
title =
|
|
11000
|
+
title = _chunk353GRCTEcjs.stripInlineMarkdown.call(void 0, title).trim();
|
|
11001
11001
|
}
|
|
11002
11002
|
const baseId = _chunkZI27ALYXcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkZI27ALYXcjs.stripHeadingEmojis.call(void 0, title) : title);
|
|
11003
11003
|
const cleanId = baseId || `section-${sections.length + 1}`;
|
|
@@ -11489,7 +11489,7 @@ function DashboardInfoCard({
|
|
|
11489
11489
|
const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
|
|
11490
11490
|
if (asTag) {
|
|
11491
11491
|
const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
|
|
11492
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11492
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
|
|
11493
11493
|
}
|
|
11494
11494
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
|
|
11495
11495
|
"(",
|
|
@@ -11543,7 +11543,7 @@ function DashboardInfoCard({
|
|
|
11543
11543
|
/* @__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 }),
|
|
11544
11544
|
subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
|
|
11545
11545
|
renderPercentage(),
|
|
11546
|
-
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11546
|
+
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.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 }) }) })
|
|
11547
11547
|
] })
|
|
11548
11548
|
] }),
|
|
11549
11549
|
renderProgress()
|
|
@@ -11726,7 +11726,7 @@ function DeviceCard({
|
|
|
11726
11726
|
] }),
|
|
11727
11727
|
(statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
|
|
11728
11728
|
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11729
|
-
|
|
11729
|
+
_chunk353GRCTEcjs.Tag,
|
|
11730
11730
|
{
|
|
11731
11731
|
variant: statusTag.variant,
|
|
11732
11732
|
icon: statusTag.icon,
|
|
@@ -11740,7 +11740,7 @@ function DeviceCard({
|
|
|
11740
11740
|
formatLastSeen(device.lastSeen)
|
|
11741
11741
|
] })
|
|
11742
11742
|
] }),
|
|
11743
|
-
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,
|
|
11743
|
+
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, _chunk353GRCTEcjs.Tag, { variant: "outline", label: tag }, index)) })
|
|
11744
11744
|
]
|
|
11745
11745
|
}
|
|
11746
11746
|
);
|
|
@@ -11888,7 +11888,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
|
|
|
11888
11888
|
|
|
11889
11889
|
function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
|
|
11890
11890
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11891
|
-
|
|
11891
|
+
_chunk353GRCTEcjs.FloatingTooltip,
|
|
11892
11892
|
{
|
|
11893
11893
|
as: "span",
|
|
11894
11894
|
side: "top",
|
|
@@ -12072,7 +12072,7 @@ function DropdownButton({
|
|
|
12072
12072
|
)
|
|
12073
12073
|
);
|
|
12074
12074
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12075
|
-
|
|
12075
|
+
_chunk353GRCTEcjs.ActionsMenuDropdown,
|
|
12076
12076
|
{
|
|
12077
12077
|
groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
|
|
12078
12078
|
open,
|
|
@@ -12310,7 +12310,7 @@ function ServiceCardRowItem({ row }) {
|
|
|
12310
12310
|
),
|
|
12311
12311
|
children: [
|
|
12312
12312
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12313
|
-
|
|
12313
|
+
_chunk353GRCTEcjs.FloatingTooltip,
|
|
12314
12314
|
{
|
|
12315
12315
|
content: row.value,
|
|
12316
12316
|
side: "top",
|
|
@@ -12436,9 +12436,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
12436
12436
|
return next;
|
|
12437
12437
|
});
|
|
12438
12438
|
};
|
|
12439
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12439
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Tooltip, { open, onOpenChange: setOpen, children: [
|
|
12440
12440
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12441
|
-
|
|
12441
|
+
_chunk353GRCTEcjs.TooltipTrigger,
|
|
12442
12442
|
{
|
|
12443
12443
|
asChild: true,
|
|
12444
12444
|
onPointerDown: (e) => {
|
|
@@ -12456,7 +12456,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
12456
12456
|
children
|
|
12457
12457
|
}
|
|
12458
12458
|
),
|
|
12459
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12459
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipContent, { side, className: "max-w-xs", children: content })
|
|
12460
12460
|
] }) });
|
|
12461
12461
|
}
|
|
12462
12462
|
|
|
@@ -13471,9 +13471,9 @@ function TruncatedHeaderCell({ value, width }) {
|
|
|
13471
13471
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
13472
13472
|
}
|
|
13473
13473
|
}, []);
|
|
13474
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13475
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13476
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13474
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
13475
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.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 }) }) }),
|
|
13476
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
|
|
13477
13477
|
] }) });
|
|
13478
13478
|
}
|
|
13479
13479
|
|
|
@@ -13526,9 +13526,9 @@ function TruncatedCell({ value, className }) {
|
|
|
13526
13526
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
13527
13527
|
}
|
|
13528
13528
|
}, []);
|
|
13529
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13530
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13531
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13529
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
13530
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.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 }) }),
|
|
13531
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
|
|
13532
13532
|
] }) });
|
|
13533
13533
|
}
|
|
13534
13534
|
|
|
@@ -14814,7 +14814,7 @@ function SearchInput({
|
|
|
14814
14814
|
/* @__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, {}) }),
|
|
14815
14815
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
|
|
14816
14816
|
visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14817
|
-
|
|
14817
|
+
_chunk353GRCTEcjs.Tag,
|
|
14818
14818
|
{
|
|
14819
14819
|
variant: chipVariantToTagVariant(chip.variant),
|
|
14820
14820
|
label: chip.label,
|
|
@@ -14928,7 +14928,7 @@ function SearchInput({
|
|
|
14928
14928
|
}
|
|
14929
14929
|
),
|
|
14930
14930
|
/* @__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,
|
|
14931
|
-
|
|
14931
|
+
_chunk353GRCTEcjs.Tag,
|
|
14932
14932
|
{
|
|
14933
14933
|
variant: chipVariantToTagVariant(chip.variant),
|
|
14934
14934
|
label: chip.label,
|
|
@@ -15141,7 +15141,7 @@ function TagSearchInput({
|
|
|
15141
15141
|
/* @__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" }) }),
|
|
15142
15142
|
/* @__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: [
|
|
15143
15143
|
visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15144
|
-
|
|
15144
|
+
_chunk353GRCTEcjs.Tag,
|
|
15145
15145
|
{
|
|
15146
15146
|
variant: "outline",
|
|
15147
15147
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -15229,7 +15229,7 @@ function TagSearchInput({
|
|
|
15229
15229
|
"aria-hidden": "true",
|
|
15230
15230
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
15231
15231
|
children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15232
|
-
|
|
15232
|
+
_chunk353GRCTEcjs.Tag,
|
|
15233
15233
|
{
|
|
15234
15234
|
variant: "outline",
|
|
15235
15235
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -16118,20 +16118,20 @@ function ColorPresetSelect({
|
|
|
16118
16118
|
...presets.map((p) => ({
|
|
16119
16119
|
id: p.key,
|
|
16120
16120
|
label: p.label,
|
|
16121
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16121
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ColorSwatch, { color: p.color }),
|
|
16122
16122
|
onClick: () => onChange({ color: p.color, preset: p.key })
|
|
16123
16123
|
})),
|
|
16124
16124
|
{
|
|
16125
16125
|
id: CUSTOM_PRESET_KEY,
|
|
16126
16126
|
label: "Custom",
|
|
16127
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16127
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
|
|
16128
16128
|
onClick: () => onChange({ color: value, preset: void 0 })
|
|
16129
16129
|
}
|
|
16130
16130
|
]
|
|
16131
16131
|
}
|
|
16132
16132
|
];
|
|
16133
16133
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16134
|
-
|
|
16134
|
+
_chunk353GRCTEcjs.ActionsMenuDropdown,
|
|
16135
16135
|
{
|
|
16136
16136
|
groups,
|
|
16137
16137
|
align: "start",
|
|
@@ -16141,7 +16141,7 @@ function ColorPresetSelect({
|
|
|
16141
16141
|
{
|
|
16142
16142
|
disabled,
|
|
16143
16143
|
"aria-label": `Color: ${displayLabel}`,
|
|
16144
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16144
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ColorSwatch, { color: displayColor }),
|
|
16145
16145
|
selectedLabel: displayLabel,
|
|
16146
16146
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16147
16147
|
className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
|
|
@@ -16162,7 +16162,7 @@ function HexInputs({ value, onChange }) {
|
|
|
16162
16162
|
}
|
|
16163
16163
|
const commit = () => {
|
|
16164
16164
|
const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
|
|
16165
|
-
if (
|
|
16165
|
+
if (_chunk353GRCTEcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
|
|
16166
16166
|
else setDraft(value);
|
|
16167
16167
|
};
|
|
16168
16168
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -16226,12 +16226,12 @@ function ChannelInput({
|
|
|
16226
16226
|
);
|
|
16227
16227
|
}
|
|
16228
16228
|
function RgbInputs({ value, onChange }) {
|
|
16229
|
-
const rgb = _nullishCoalesce(
|
|
16229
|
+
const rgb = _nullishCoalesce(_chunk353GRCTEcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16230
16230
|
const update = (next) => {
|
|
16231
16231
|
const r = _nullishCoalesce(next.r, () => ( rgb.r));
|
|
16232
16232
|
const g = _nullishCoalesce(next.g, () => ( rgb.g));
|
|
16233
16233
|
const b = _nullishCoalesce(next.b, () => ( rgb.b));
|
|
16234
|
-
onChange(
|
|
16234
|
+
onChange(_chunk353GRCTEcjs.rgbToHex.call(void 0, r, g, b));
|
|
16235
16235
|
};
|
|
16236
16236
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16237
16237
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
|
|
@@ -16240,14 +16240,14 @@ function RgbInputs({ value, onChange }) {
|
|
|
16240
16240
|
] });
|
|
16241
16241
|
}
|
|
16242
16242
|
function HslInputs({ value, onChange }) {
|
|
16243
|
-
const rgb = _nullishCoalesce(
|
|
16244
|
-
const hsl =
|
|
16243
|
+
const rgb = _nullishCoalesce(_chunk353GRCTEcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16244
|
+
const hsl = _chunk353GRCTEcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
|
|
16245
16245
|
const update = (next) => {
|
|
16246
16246
|
const h = _nullishCoalesce(next.h, () => ( hsl.h));
|
|
16247
16247
|
const s = _nullishCoalesce(next.s, () => ( hsl.s));
|
|
16248
16248
|
const l = _nullishCoalesce(next.l, () => ( hsl.l));
|
|
16249
|
-
const out =
|
|
16250
|
-
onChange(
|
|
16249
|
+
const out = _chunk353GRCTEcjs.hslToRgb.call(void 0, h, s, l);
|
|
16250
|
+
onChange(_chunk353GRCTEcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
|
|
16251
16251
|
};
|
|
16252
16252
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16253
16253
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
|
|
@@ -16273,7 +16273,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16273
16273
|
{
|
|
16274
16274
|
disabled,
|
|
16275
16275
|
"aria-label": "Pick custom color",
|
|
16276
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16276
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ColorSwatch, { color: value }),
|
|
16277
16277
|
selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
|
|
16278
16278
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16279
16279
|
className: _chunkPRPZBXWZcjs.cn.call(void 0, "group", className)
|
|
@@ -16289,7 +16289,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16289
16289
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
|
|
16290
16290
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
16291
16291
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16292
|
-
|
|
16292
|
+
_chunk353GRCTEcjs.ActionsMenuDropdown,
|
|
16293
16293
|
{
|
|
16294
16294
|
groups: formatGroups,
|
|
16295
16295
|
align: "start",
|
|
@@ -16346,7 +16346,7 @@ function TicketStatusConfigRow({
|
|
|
16346
16346
|
const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
|
|
16347
16347
|
const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
|
|
16348
16348
|
const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16349
|
-
|
|
16349
|
+
_chunk353GRCTEcjs.TicketStatusTag,
|
|
16350
16350
|
{
|
|
16351
16351
|
status: statusKey,
|
|
16352
16352
|
label: name || " ",
|
|
@@ -16498,7 +16498,7 @@ function formatTestRunDuration(ms) {
|
|
|
16498
16498
|
var RESULT_COLUMN_MIN_WIDTH = 176;
|
|
16499
16499
|
var SKELETON_COLUMNS = 6;
|
|
16500
16500
|
function TestResultsSkeleton() {
|
|
16501
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16501
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
16502
16502
|
/* @__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}`)) }),
|
|
16503
16503
|
/* @__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}`)) }) })
|
|
16504
16504
|
] }) });
|
|
@@ -16533,7 +16533,7 @@ function TestResultsTable({ rows, loading }) {
|
|
|
16533
16533
|
if (loading) {
|
|
16534
16534
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
16535
16535
|
}
|
|
16536
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16536
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.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: [
|
|
16537
16537
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
16538
16538
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
16539
16539
|
] }) }) });
|
|
@@ -16593,7 +16593,7 @@ var TEST_RUN_STATUS_TAGS = {
|
|
|
16593
16593
|
function TestRunStatusStat({ status, className }) {
|
|
16594
16594
|
const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
|
|
16595
16595
|
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: [
|
|
16596
|
-
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16596
|
+
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.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: "-" }),
|
|
16597
16597
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
|
|
16598
16598
|
] });
|
|
16599
16599
|
}
|
|
@@ -16636,7 +16636,7 @@ function useTestRunState(campaign) {
|
|
|
16636
16636
|
const firstError = isFinished && campaign.errors.length > 0 ? campaign.errors[0].error : null;
|
|
16637
16637
|
const status = isActive ? "running" : hasRun && isFinished ? firstError ? "error" : "success" : "idle";
|
|
16638
16638
|
const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
|
|
16639
|
-
const startedLabel = showTiming && campaign.startedAt ?
|
|
16639
|
+
const startedLabel = showTiming && campaign.startedAt ? _chunk353GRCTEcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
|
|
16640
16640
|
const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
|
|
16641
16641
|
const displayRows = _react.useMemo.call(void 0,
|
|
16642
16642
|
() => campaign.results.map(
|
|
@@ -16974,7 +16974,7 @@ function TicketInfoSection({
|
|
|
16974
16974
|
/* @__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]) }),
|
|
16975
16975
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
16976
16976
|
(status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16977
|
-
|
|
16977
|
+
_chunk353GRCTEcjs.TicketStatusTag,
|
|
16978
16978
|
{
|
|
16979
16979
|
status: _nullishCoalesce(status, () => ( "")),
|
|
16980
16980
|
label: statusLabel,
|
|
@@ -17013,9 +17013,9 @@ function TicketInfoSection({
|
|
|
17013
17013
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
17014
17014
|
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" }) }),
|
|
17015
17015
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
|
|
17016
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17016
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.SimpleMarkdownRenderer, { content: description }),
|
|
17017
17017
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
17018
|
-
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,
|
|
17018
|
+
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, _chunk353GRCTEcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
|
|
17019
17019
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17020
17020
|
TicketNotesSection,
|
|
17021
17021
|
{
|
|
@@ -17038,7 +17038,7 @@ function renderTicketStatusOption(option, isSelected) {
|
|
|
17038
17038
|
const { label, color } = option;
|
|
17039
17039
|
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: [
|
|
17040
17040
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
17041
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17041
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ColorSwatch, { color }),
|
|
17042
17042
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
|
|
17043
17043
|
] }),
|
|
17044
17044
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -17083,9 +17083,9 @@ function TakeOverTicketModal({
|
|
|
17083
17083
|
if (!selectedStatusId || !assigneeId || isPending) return;
|
|
17084
17084
|
onConfirm({ statusId: selectedStatusId, assigneeId });
|
|
17085
17085
|
};
|
|
17086
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17086
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17087
17087
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17088
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17088
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalTitle, { children: "Take Over Ticket" }) }),
|
|
17089
17089
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17090
17090
|
"The ticket ",
|
|
17091
17091
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17100,7 +17100,7 @@ function TakeOverTicketModal({
|
|
|
17100
17100
|
value: selectedStatusId,
|
|
17101
17101
|
onChange: setStatusId,
|
|
17102
17102
|
placeholder: "Select Status",
|
|
17103
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17103
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17104
17104
|
renderOption: renderTicketStatusOption
|
|
17105
17105
|
}
|
|
17106
17106
|
) }),
|
|
@@ -17127,7 +17127,7 @@ function TakeOverTicketModal({
|
|
|
17127
17127
|
}
|
|
17128
17128
|
) })
|
|
17129
17129
|
] }),
|
|
17130
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17130
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.ModalFooter, { children: [
|
|
17131
17131
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17132
17132
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17133
17133
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17186,9 +17186,9 @@ function ReopenTicketModal({
|
|
|
17186
17186
|
reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
|
|
17187
17187
|
});
|
|
17188
17188
|
};
|
|
17189
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17189
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17190
17190
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17191
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17191
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17192
17192
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17193
17193
|
"The ticket ",
|
|
17194
17194
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17203,7 +17203,7 @@ function ReopenTicketModal({
|
|
|
17203
17203
|
value: selectedStatusId,
|
|
17204
17204
|
onChange: setStatusId,
|
|
17205
17205
|
placeholder: "Select Status",
|
|
17206
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17206
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17207
17207
|
renderOption: renderTicketStatusOption
|
|
17208
17208
|
}
|
|
17209
17209
|
) }),
|
|
@@ -17241,7 +17241,7 @@ function ReopenTicketModal({
|
|
|
17241
17241
|
disabled: isPending
|
|
17242
17242
|
}
|
|
17243
17243
|
) }),
|
|
17244
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17244
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.ModalFooter, { children: [
|
|
17245
17245
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17246
17246
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17247
17247
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17289,9 +17289,9 @@ function ReopenTicketRequestModal({
|
|
|
17289
17289
|
...showHandoffOption ? { handoffToTechnician: handoff } : {}
|
|
17290
17290
|
});
|
|
17291
17291
|
};
|
|
17292
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17292
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17293
17293
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17294
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17294
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17295
17295
|
/* @__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." }),
|
|
17296
17296
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17297
17297
|
Textarea,
|
|
@@ -17315,7 +17315,7 @@ function ReopenTicketRequestModal({
|
|
|
17315
17315
|
disabled: isPending
|
|
17316
17316
|
}
|
|
17317
17317
|
),
|
|
17318
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17318
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.ModalFooter, { children: [
|
|
17319
17319
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
|
|
17320
17320
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
|
|
17321
17321
|
] })
|
|
@@ -19436,7 +19436,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
|
|
|
19436
19436
|
sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
|
|
19437
19437
|
title: config.title,
|
|
19438
19438
|
loading: "eager",
|
|
19439
|
-
...
|
|
19439
|
+
..._chunk353GRCTEcjs.fetchPriorityProp.call(void 0, "high")
|
|
19440
19440
|
},
|
|
19441
19441
|
iframeKey
|
|
19442
19442
|
),
|
|
@@ -20286,7 +20286,7 @@ function MediaGalleryManager({
|
|
|
20286
20286
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: _chunkEMF64FWAcjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? (
|
|
20287
20287
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
20288
20288
|
// fit="cover" crops to the aspect-video cell.
|
|
20289
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20289
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
|
|
20290
20290
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20291
20291
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
20292
20292
|
{
|
|
@@ -22537,9 +22537,9 @@ function PushButtonSelector({
|
|
|
22537
22537
|
option.id
|
|
22538
22538
|
);
|
|
22539
22539
|
if (option.disabled && option.disabledReason) {
|
|
22540
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22541
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22542
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22540
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Tooltip, { children: [
|
|
22541
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipTrigger, { asChild: true, children: optionEl }),
|
|
22542
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
|
|
22543
22543
|
] }, option.id);
|
|
22544
22544
|
}
|
|
22545
22545
|
return optionEl;
|
|
@@ -22584,7 +22584,7 @@ function PushButtonSelector({
|
|
|
22584
22584
|
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
|
|
22585
22585
|
] }) : null
|
|
22586
22586
|
] });
|
|
22587
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22587
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
|
|
22588
22588
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
22589
22589
|
searchInput,
|
|
22590
22590
|
lazyLoad ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22757,7 +22757,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
|
|
|
22757
22757
|
item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children: _chunkEMF64FWAcjs.isVideoMedia.call(void 0, item) || item.media_type === "demo" ? (
|
|
22758
22758
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
22759
22759
|
// fit="cover" crops to the aspect-video cell.
|
|
22760
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22760
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
22761
22761
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22762
22762
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
22763
22763
|
{
|
|
@@ -22890,7 +22890,7 @@ var SelectButton = _react2.default.forwardRef(
|
|
|
22890
22890
|
}
|
|
22891
22891
|
)
|
|
22892
22892
|
] }),
|
|
22893
|
-
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22893
|
+
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
|
|
22894
22894
|
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
|
|
22895
22895
|
]
|
|
22896
22896
|
}
|
|
@@ -23676,7 +23676,7 @@ function VideoBitesDisplay({
|
|
|
23676
23676
|
filterPublished = true,
|
|
23677
23677
|
showTitle = true
|
|
23678
23678
|
}) {
|
|
23679
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23679
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
23680
23680
|
}
|
|
23681
23681
|
|
|
23682
23682
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -23745,7 +23745,7 @@ function WalkthroughVideo({
|
|
|
23745
23745
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
23746
23746
|
};
|
|
23747
23747
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
|
|
23748
|
-
const hydrated =
|
|
23748
|
+
const hydrated = _chunk353GRCTEcjs.useIsHydrated.call(void 0, );
|
|
23749
23749
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
23750
23750
|
if (!hydrated) return false;
|
|
23751
23751
|
try {
|
|
@@ -24142,7 +24142,7 @@ function WalkthroughVideo({
|
|
|
24142
24142
|
},
|
|
24143
24143
|
children: [
|
|
24144
24144
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24145
|
-
|
|
24145
|
+
_chunk353GRCTEcjs.VideoHoverPreviewSurface,
|
|
24146
24146
|
{
|
|
24147
24147
|
url: video.mainVideoUrl || "",
|
|
24148
24148
|
posterUrl: video.posterUrl,
|
|
@@ -24165,7 +24165,7 @@ function WalkthroughVideo({
|
|
|
24165
24165
|
`card-${embedUrlKey}`
|
|
24166
24166
|
) }),
|
|
24167
24167
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24168
|
-
|
|
24168
|
+
_chunk353GRCTEcjs.CardHitLayer,
|
|
24169
24169
|
{
|
|
24170
24170
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
24171
24171
|
onPointerDown: pausePreviewNow,
|
|
@@ -24174,7 +24174,7 @@ function WalkthroughVideo({
|
|
|
24174
24174
|
}
|
|
24175
24175
|
),
|
|
24176
24176
|
/* @__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: [
|
|
24177
|
-
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEMF64FWAcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24177
|
+
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEMF64FWAcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
|
|
24178
24178
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
|
|
24179
24179
|
] }),
|
|
24180
24180
|
showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -24187,7 +24187,7 @@ function WalkthroughVideo({
|
|
|
24187
24187
|
onPointerDown: (e) => e.stopPropagation(),
|
|
24188
24188
|
onClick: onUnmuteOrPlay,
|
|
24189
24189
|
className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
|
|
24190
|
-
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24190
|
+
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.VideoUnmuteGlyph, {})
|
|
24191
24191
|
}
|
|
24192
24192
|
),
|
|
24193
24193
|
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: [
|
|
@@ -24280,7 +24280,7 @@ function WalkthroughVideo({
|
|
|
24280
24280
|
children: [
|
|
24281
24281
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
24282
24282
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24283
|
-
|
|
24283
|
+
_chunk353GRCTEcjs.Video,
|
|
24284
24284
|
{
|
|
24285
24285
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
24286
24286
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -24331,7 +24331,7 @@ function InlineWalkthroughVideo(props) {
|
|
|
24331
24331
|
var _reactquery = require('@tanstack/react-query');
|
|
24332
24332
|
function useWalkthroughVideo(opts) {
|
|
24333
24333
|
const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
|
|
24334
|
-
const captions =
|
|
24334
|
+
const captions = _chunk353GRCTEcjs.useCaptions.call(void 0, );
|
|
24335
24335
|
const query = _reactquery.useQuery.call(void 0, {
|
|
24336
24336
|
queryKey: ["walkthrough-video", endpoint],
|
|
24337
24337
|
enabled,
|
|
@@ -24529,7 +24529,7 @@ function VideoSourceSelector({
|
|
|
24529
24529
|
}
|
|
24530
24530
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
24531
24531
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
|
|
24532
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24532
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Video, { kind: "file", url: videoUrl }) }),
|
|
24533
24533
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24534
24534
|
"button",
|
|
24535
24535
|
{
|
|
@@ -25053,7 +25053,7 @@ function HighlightVideoSection({
|
|
|
25053
25053
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
25054
25054
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
25055
25055
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
|
|
25056
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25056
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
|
|
25057
25057
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25058
25058
|
"button",
|
|
25059
25059
|
{
|
|
@@ -25789,7 +25789,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
|
25789
25789
|
] });
|
|
25790
25790
|
};
|
|
25791
25791
|
var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
|
|
25792
|
-
const { innerRef, containerStyle } =
|
|
25792
|
+
const { innerRef, containerStyle } = _chunk353GRCTEcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
|
|
25793
25793
|
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
25794
25794
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
25795
25795
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -25957,7 +25957,7 @@ function WaitlistForm({
|
|
|
25957
25957
|
const { toast } = _chunkLEISUAHFcjs.useToast.call(void 0, );
|
|
25958
25958
|
const { honeypotInputProps, getSignals, resetSignals } = _chunkLEISUAHFcjs.useHumanitySignals.call(void 0, );
|
|
25959
25959
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
25960
|
-
const isClient =
|
|
25960
|
+
const isClient = _chunk353GRCTEcjs.useIsHydrated.call(void 0, );
|
|
25961
25961
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
25962
25962
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
25963
25963
|
const isMailDomainGeneric = hasGenericEmailDomain(email);
|
|
@@ -26761,7 +26761,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
26761
26761
|
"data-state": open ? "open" : "closed",
|
|
26762
26762
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
26763
26763
|
"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",
|
|
26764
|
-
|
|
26764
|
+
_chunk353GRCTEcjs.OVERLAY_BACKDROP_CLASS,
|
|
26765
26765
|
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
26766
26766
|
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
26767
26767
|
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
@@ -26837,11 +26837,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
26837
26837
|
}
|
|
26838
26838
|
);
|
|
26839
26839
|
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
26840
|
-
var AppLayoutDrawerHeader =
|
|
26841
|
-
var AppLayoutDrawerTitle =
|
|
26842
|
-
var AppLayoutDrawerDescription =
|
|
26843
|
-
var AppLayoutDrawerBody =
|
|
26844
|
-
var AppLayoutDrawerFooter =
|
|
26840
|
+
var AppLayoutDrawerHeader = _chunk353GRCTEcjs.DrawerHeader;
|
|
26841
|
+
var AppLayoutDrawerTitle = _chunk353GRCTEcjs.DrawerTitle;
|
|
26842
|
+
var AppLayoutDrawerDescription = _chunk353GRCTEcjs.DrawerDescription;
|
|
26843
|
+
var AppLayoutDrawerBody = _chunk353GRCTEcjs.DrawerBody;
|
|
26844
|
+
var AppLayoutDrawerFooter = _chunk353GRCTEcjs.DrawerFooter;
|
|
26845
26845
|
|
|
26846
26846
|
// src/components/features/notifications/notification-tile.tsx
|
|
26847
26847
|
|
|
@@ -26929,7 +26929,7 @@ function NotificationTile({
|
|
|
26929
26929
|
}
|
|
26930
26930
|
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkLEISUAHFcjs.dotColorByVariant[accentVariant]) }))) }),
|
|
26931
26931
|
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" }),
|
|
26932
|
-
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children:
|
|
26932
|
+
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunk353GRCTEcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
|
|
26933
26933
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
|
|
26934
26934
|
{
|
|
26935
26935
|
active: isLive,
|
|
@@ -27026,7 +27026,7 @@ function NotificationDrawer({
|
|
|
27026
27026
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
27027
27027
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
27028
27028
|
/* @__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,
|
|
27029
|
-
|
|
27029
|
+
_chunk353GRCTEcjs.DrawerTitle,
|
|
27030
27030
|
{
|
|
27031
27031
|
hideClose: true,
|
|
27032
27032
|
className: "truncate",
|
|
@@ -27085,8 +27085,8 @@ function NotificationDrawer({
|
|
|
27085
27085
|
}
|
|
27086
27086
|
) });
|
|
27087
27087
|
}
|
|
27088
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27089
|
-
|
|
27088
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27089
|
+
_chunk353GRCTEcjs.DrawerContent,
|
|
27090
27090
|
{
|
|
27091
27091
|
side: "right",
|
|
27092
27092
|
"aria-describedby": void 0,
|
|
@@ -27361,13 +27361,13 @@ function getApprovalMeta(notification) {
|
|
|
27361
27361
|
function resolutionToStatus(resolution) {
|
|
27362
27362
|
switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
|
|
27363
27363
|
case "APPROVED":
|
|
27364
|
-
return
|
|
27364
|
+
return _chunk353GRCTEcjs.APPROVAL_STATUS.APPROVED;
|
|
27365
27365
|
case "REJECTED":
|
|
27366
|
-
return
|
|
27366
|
+
return _chunk353GRCTEcjs.APPROVAL_STATUS.REJECTED;
|
|
27367
27367
|
case "CANCELLED":
|
|
27368
|
-
return
|
|
27368
|
+
return _chunk353GRCTEcjs.APPROVAL_STATUS.CANCELLED;
|
|
27369
27369
|
default:
|
|
27370
|
-
return
|
|
27370
|
+
return _chunk353GRCTEcjs.APPROVAL_STATUS.PENDING;
|
|
27371
27371
|
}
|
|
27372
27372
|
}
|
|
27373
27373
|
function approvalMetaToBatchData(approval) {
|
|
@@ -27407,7 +27407,7 @@ function ApprovalRequestNotificationTile({
|
|
|
27407
27407
|
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _581 => _581.resolution]));
|
|
27408
27408
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
27409
27409
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
27410
|
-
const { innerRef, containerStyle } =
|
|
27410
|
+
const { innerRef, containerStyle } = _chunk353GRCTEcjs.useCollapsible.call(void 0, { expanded });
|
|
27411
27411
|
if (!approval || !batchData) return null;
|
|
27412
27412
|
const tileNotification = {
|
|
27413
27413
|
...notification,
|
|
@@ -27460,7 +27460,7 @@ function ApprovalRequestNotificationTile({
|
|
|
27460
27460
|
}
|
|
27461
27461
|
)
|
|
27462
27462
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
27463
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27463
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ApprovalStatusTag, { status }),
|
|
27464
27464
|
approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
27465
27465
|
"by ",
|
|
27466
27466
|
approval.resolvedByName
|
|
@@ -27478,12 +27478,12 @@ function ApprovalRequestNotificationTile({
|
|
|
27478
27478
|
"aria-expanded": expanded,
|
|
27479
27479
|
"aria-label": toggleLabel,
|
|
27480
27480
|
className: "ml-auto w-6 shrink-0 px-0 md:w-8",
|
|
27481
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27481
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.ExpandChevron, { expanded })
|
|
27482
27482
|
}
|
|
27483
27483
|
)
|
|
27484
27484
|
] }),
|
|
27485
27485
|
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,
|
|
27486
|
-
|
|
27486
|
+
_chunk353GRCTEcjs.ApprovalBatchMessage,
|
|
27487
27487
|
{
|
|
27488
27488
|
data: batchData,
|
|
27489
27489
|
showExecutionStatus: false,
|
|
@@ -27814,7 +27814,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
|
|
|
27814
27814
|
function StatusTag({ status }) {
|
|
27815
27815
|
if (status === "tracking") {
|
|
27816
27816
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27817
|
-
|
|
27817
|
+
_chunk353GRCTEcjs.Tag,
|
|
27818
27818
|
{
|
|
27819
27819
|
variant: "success",
|
|
27820
27820
|
className: STATUS_TAG_SKIN,
|
|
@@ -27824,9 +27824,9 @@ function StatusTag({ status }) {
|
|
|
27824
27824
|
);
|
|
27825
27825
|
}
|
|
27826
27826
|
if (status === "paused") {
|
|
27827
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27827
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
|
|
27828
27828
|
}
|
|
27829
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27829
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
|
|
27830
27830
|
}
|
|
27831
27831
|
function LastEntryRow({ entry, onClick }) {
|
|
27832
27832
|
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: [
|
|
@@ -27995,7 +27995,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
27995
27995
|
"data-state": isOpen ? "open" : "closed",
|
|
27996
27996
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
27997
27997
|
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
27998
|
-
|
|
27998
|
+
_chunk353GRCTEcjs.OVERLAY_BACKDROP_CLASS,
|
|
27999
27999
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
28000
28000
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
28001
28001
|
)
|
|
@@ -28149,7 +28149,7 @@ function BoardColumnHeader({
|
|
|
28149
28149
|
}) {
|
|
28150
28150
|
const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
|
|
28151
28151
|
const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
|
|
28152
|
-
const useStatusVariant =
|
|
28152
|
+
const useStatusVariant = _chunk353GRCTEcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
|
|
28153
28153
|
const actionClass = "h-8 w-8 p-0 md:h-8 md:w-8";
|
|
28154
28154
|
if (collapsed) {
|
|
28155
28155
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
@@ -28165,7 +28165,7 @@ function BoardColumnHeader({
|
|
|
28165
28165
|
}
|
|
28166
28166
|
),
|
|
28167
28167
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28168
|
-
|
|
28168
|
+
_chunk353GRCTEcjs.TicketStatusTag,
|
|
28169
28169
|
{
|
|
28170
28170
|
status: tagStatus,
|
|
28171
28171
|
label: column.label,
|
|
@@ -28178,7 +28178,7 @@ function BoardColumnHeader({
|
|
|
28178
28178
|
}
|
|
28179
28179
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
28180
28180
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
28181
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28181
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
|
|
28182
28182
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
|
|
28183
28183
|
] }),
|
|
28184
28184
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -28329,7 +28329,7 @@ function holdMoveDragEffect(element) {
|
|
|
28329
28329
|
|
|
28330
28330
|
function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
28331
28331
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
28332
|
-
const { innerRef, containerStyle } =
|
|
28332
|
+
const { innerRef, containerStyle } = _chunk353GRCTEcjs.useCollapsible.call(void 0, { expanded });
|
|
28333
28333
|
const isAdmin = pendingApproval.approvalType === "ADMIN";
|
|
28334
28334
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
|
|
28335
28335
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -28358,7 +28358,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
|
28358
28358
|
}
|
|
28359
28359
|
),
|
|
28360
28360
|
/* @__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,
|
|
28361
|
-
|
|
28361
|
+
_chunk353GRCTEcjs.ApprovalBatchMessage,
|
|
28362
28362
|
{
|
|
28363
28363
|
className: "mb-0",
|
|
28364
28364
|
data: {
|
|
@@ -28430,7 +28430,7 @@ var ACTIVITY_DEFAULT_LABEL = {
|
|
|
28430
28430
|
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";
|
|
28431
28431
|
function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
|
|
28432
28432
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
28433
|
-
const newMessageTextColor = columnColor ?
|
|
28433
|
+
const newMessageTextColor = columnColor ? _chunk353GRCTEcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
|
|
28434
28434
|
const showDeviceRow = !!(_optionalChain([ticket, 'access', _617 => _617.deviceHostnames, 'optionalAccess', _618 => _618.length]) || ticket.organizationName);
|
|
28435
28435
|
const deviceText = [_optionalChain([ticket, 'access', _619 => _619.deviceHostnames, 'optionalAccess', _620 => _620.join, 'call', _621 => _621(", ")]), ticket.organizationName].filter(Boolean).join(", ");
|
|
28436
28436
|
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _622 => _622.assignees, 'optionalAccess', _623 => _623.length]) || renderAssignSlot);
|
|
@@ -28469,8 +28469,8 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28469
28469
|
] })
|
|
28470
28470
|
] }) : null
|
|
28471
28471
|
] }) : null;
|
|
28472
|
-
const timestampLabel = ticket.createdAt ?
|
|
28473
|
-
const tooltipLabel = ticket.createdAt ?
|
|
28472
|
+
const timestampLabel = ticket.createdAt ? _chunk353GRCTEcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
|
|
28473
|
+
const tooltipLabel = ticket.createdAt ? _chunk353GRCTEcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
|
|
28474
28474
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
28475
28475
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
|
|
28476
28476
|
/* @__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: [
|
|
@@ -28483,9 +28483,9 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28483
28483
|
rightSection
|
|
28484
28484
|
] }),
|
|
28485
28485
|
_optionalChain([ticket, 'access', _626 => _626.tags, 'optionalAccess', _627 => _627.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
28486
|
-
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28487
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28488
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28486
|
+
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk353GRCTEcjs.Tooltip, { children: [
|
|
28487
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: timestampLabel }) }),
|
|
28488
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.TooltipContent, { children: tooltipLabel })
|
|
28489
28489
|
] }) }),
|
|
28490
28490
|
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: [
|
|
28491
28491
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
|
|
@@ -28505,7 +28505,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
28505
28505
|
}
|
|
28506
28506
|
),
|
|
28507
28507
|
showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28508
|
-
|
|
28508
|
+
_chunk353GRCTEcjs.Tag,
|
|
28509
28509
|
{
|
|
28510
28510
|
label: "New Message",
|
|
28511
28511
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
|
|
@@ -28720,8 +28720,8 @@ function TicketTagRow({ tags }) {
|
|
|
28720
28720
|
const visible = tags.slice(0, MAX_VISIBLE_TAGS);
|
|
28721
28721
|
const hidden = tags.length - visible.length;
|
|
28722
28722
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
|
|
28723
|
-
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28724
|
-
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28723
|
+
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Tag, { variant: "outline", label: tag }, tag)),
|
|
28724
|
+
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk353GRCTEcjs.Tag, { variant: "outline", label: `+${hidden}` })
|
|
28725
28725
|
] });
|
|
28726
28726
|
}
|
|
28727
28727
|
|
|
@@ -30381,4 +30381,4 @@ function SortableRow({
|
|
|
30381
30381
|
|
|
30382
30382
|
|
|
30383
30383
|
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.PasswordInput = PasswordInput; exports.AccountDetailsFields = AccountDetailsFields; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.LabeledDivider = LabeledDivider; 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; exports.LazyMount = LazyMount;
|
|
30384
|
-
//# sourceMappingURL=chunk-
|
|
30384
|
+
//# sourceMappingURL=chunk-I3HBFKKM.cjs.map
|