@flamingo-stack/openframe-frontend-core 0.0.665 → 0.0.666
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-MNUR6PAJ.cjs → chunk-23XIOIGS.cjs} +392 -370
- package/dist/chunk-23XIOIGS.cjs.map +1 -0
- package/dist/{chunk-LCYYTWRF.cjs → chunk-2S44CUCH.cjs} +4 -4
- package/dist/{chunk-LCYYTWRF.cjs.map → chunk-2S44CUCH.cjs.map} +1 -1
- package/dist/{chunk-LXL3PZE2.cjs → chunk-7H7LYI4M.cjs} +10 -10
- package/dist/{chunk-LXL3PZE2.cjs.map → chunk-7H7LYI4M.cjs.map} +1 -1
- package/dist/{chunk-L4ZNA3NX.cjs → chunk-AAIL6J56.cjs} +3 -3
- package/dist/{chunk-L4ZNA3NX.cjs.map → chunk-AAIL6J56.cjs.map} +1 -1
- package/dist/{chunk-QR3NUFA5.js → chunk-CRDKQMTP.js} +2 -2
- package/dist/{chunk-77WMNQTE.js → chunk-CYPLD5F3.js} +3 -3
- package/dist/{chunk-BPKEDLGR.js → chunk-DDW7G6U7.js} +5 -5
- package/dist/{chunk-OLCI3UA5.js → chunk-EYCF3GGM.js} +6 -6
- package/dist/{chunk-Z2MJPTIB.js → chunk-HQHZZ3SL.js} +3 -3
- package/dist/{chunk-DNFC6RYF.js → chunk-ILAEMVAI.js} +2 -2
- package/dist/{chunk-3SS37SNM.cjs → chunk-IUNCGKFP.cjs} +10 -10
- package/dist/{chunk-3SS37SNM.cjs.map → chunk-IUNCGKFP.cjs.map} +1 -1
- package/dist/{chunk-OMTLCMQB.js → chunk-IWCYTHNG.js} +31 -9
- package/dist/chunk-IWCYTHNG.js.map +1 -0
- package/dist/{chunk-RT5JNTCN.js → chunk-JBRNIUYC.js} +3 -3
- package/dist/{chunk-FGQSSFP4.cjs → chunk-KDFSFVNX.cjs} +10 -10
- package/dist/{chunk-FGQSSFP4.cjs.map → chunk-KDFSFVNX.cjs.map} +1 -1
- package/dist/{chunk-XCACXPCM.cjs → chunk-L7QXTWI7.cjs} +22 -22
- package/dist/{chunk-XCACXPCM.cjs.map → chunk-L7QXTWI7.cjs.map} +1 -1
- package/dist/{chunk-CQJXOBWK.js → chunk-NIVLGQKS.js} +3 -3
- package/dist/{chunk-GDTFJ5QN.js → chunk-O5GV3WQO.js} +2 -2
- package/dist/{chunk-ZGPST26T.cjs → chunk-OPY4JNY2.cjs} +45 -45
- package/dist/{chunk-ZGPST26T.cjs.map → chunk-OPY4JNY2.cjs.map} +1 -1
- package/dist/{chunk-ZMZUF6FX.cjs → chunk-QSYYYL55.cjs} +3 -3
- package/dist/{chunk-ZMZUF6FX.cjs.map → chunk-QSYYYL55.cjs.map} +1 -1
- package/dist/{chunk-RM4S53GB.js → chunk-R6NU4QFR.js} +2 -2
- package/dist/{chunk-BKCPXDOE.js → chunk-SCRVQY42.js} +2 -2
- package/dist/{chunk-MBLACUCE.js → chunk-V3B37LQY.js} +5 -5
- package/dist/{chunk-JHAS6Y7P.js → chunk-VI35TSB2.js} +4 -4
- package/dist/{chunk-KBUYG5N6.cjs → chunk-VN2U4EBP.cjs} +33 -33
- package/dist/{chunk-KBUYG5N6.cjs.map → chunk-VN2U4EBP.cjs.map} +1 -1
- package/dist/{chunk-6W5N23LC.cjs → chunk-VUYRTI3Z.cjs} +26 -26
- package/dist/{chunk-6W5N23LC.cjs.map → chunk-VUYRTI3Z.cjs.map} +1 -1
- package/dist/{chunk-6FD7ZEBY.cjs → chunk-W2WEIVHT.cjs} +163 -163
- package/dist/{chunk-6FD7ZEBY.cjs.map → chunk-W2WEIVHT.cjs.map} +1 -1
- package/dist/{chunk-EMJAT6IK.cjs → chunk-WI5LLFA6.cjs} +15 -15
- package/dist/{chunk-EMJAT6IK.cjs.map → chunk-WI5LLFA6.cjs.map} +1 -1
- package/dist/{chunk-JHH7NETU.cjs → chunk-XMY2XTHG.cjs} +5 -5
- package/dist/{chunk-JHH7NETU.cjs.map → chunk-XMY2XTHG.cjs.map} +1 -1
- package/dist/{chunk-LTW2GWJ2.cjs → chunk-XSRIPH6U.cjs} +22 -22
- package/dist/{chunk-LTW2GWJ2.cjs.map → chunk-XSRIPH6U.cjs.map} +1 -1
- package/dist/{chunk-X32X52VN.cjs → chunk-YAF2JKAK.cjs} +71 -71
- package/dist/{chunk-X32X52VN.cjs.map → chunk-YAF2JKAK.cjs.map} +1 -1
- package/dist/{chunk-YRMKUDOE.js → chunk-YVMSA7LR.js} +5 -5
- package/dist/{chunk-O3GB7JFL.js → chunk-ZDGEJFDG.js} +3 -3
- package/dist/components/case-studies/index.cjs +14 -14
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/chat/chat-composer.d.ts +10 -1
- package/dist/components/chat/chat-composer.d.ts.map +1 -1
- package/dist/components/chat/chat-input.d.ts.map +1 -1
- package/dist/components/chat/embeddable-chat.d.ts +10 -0
- package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +1 -1
- package/dist/components/chat/types/component.types.d.ts +7 -0
- package/dist/components/chat/types/component.types.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 +39 -39
- package/dist/components/index.js +13 -13
- package/dist/components/meeting-scheduler/index.cjs +24 -24
- package/dist/components/meeting-scheduler/index.js +2 -2
- package/dist/components/navigation/index.cjs +6 -6
- package/dist/components/navigation/index.js +5 -5
- package/dist/components/onboarding-guides/index.cjs +6 -6
- package/dist/components/onboarding-guides/index.js +5 -5
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/ui/index.cjs +3 -3
- package/dist/components/ui/index.js +2 -2
- package/dist/index.cjs +7 -7
- package/dist/index.js +6 -6
- package/package.json +1 -1
- package/src/components/chat/chat-composer.tsx +21 -5
- package/src/components/chat/chat-input.tsx +15 -3
- package/src/components/chat/embeddable-chat.tsx +16 -2
- package/src/components/chat/types/component.types.ts +7 -0
- package/src/stories/EmbeddableChat.stories.tsx +21 -0
- package/dist/chunk-MNUR6PAJ.cjs.map +0 -1
- package/dist/chunk-OMTLCMQB.js.map +0 -1
- /package/dist/{chunk-QR3NUFA5.js.map → chunk-CRDKQMTP.js.map} +0 -0
- /package/dist/{chunk-77WMNQTE.js.map → chunk-CYPLD5F3.js.map} +0 -0
- /package/dist/{chunk-BPKEDLGR.js.map → chunk-DDW7G6U7.js.map} +0 -0
- /package/dist/{chunk-OLCI3UA5.js.map → chunk-EYCF3GGM.js.map} +0 -0
- /package/dist/{chunk-Z2MJPTIB.js.map → chunk-HQHZZ3SL.js.map} +0 -0
- /package/dist/{chunk-DNFC6RYF.js.map → chunk-ILAEMVAI.js.map} +0 -0
- /package/dist/{chunk-RT5JNTCN.js.map → chunk-JBRNIUYC.js.map} +0 -0
- /package/dist/{chunk-CQJXOBWK.js.map → chunk-NIVLGQKS.js.map} +0 -0
- /package/dist/{chunk-GDTFJ5QN.js.map → chunk-O5GV3WQO.js.map} +0 -0
- /package/dist/{chunk-RM4S53GB.js.map → chunk-R6NU4QFR.js.map} +0 -0
- /package/dist/{chunk-BKCPXDOE.js.map → chunk-SCRVQY42.js.map} +0 -0
- /package/dist/{chunk-MBLACUCE.js.map → chunk-V3B37LQY.js.map} +0 -0
- /package/dist/{chunk-JHAS6Y7P.js.map → chunk-VI35TSB2.js.map} +0 -0
- /package/dist/{chunk-YRMKUDOE.js.map → chunk-YVMSA7LR.js.map} +0 -0
- /package/dist/{chunk-O3GB7JFL.js.map → chunk-ZDGEJFDG.js.map} +0 -0
|
@@ -93,7 +93,7 @@ var _chunkQVSVRG7Icjs = require('./chunk-QVSVRG7I.cjs');
|
|
|
93
93
|
|
|
94
94
|
|
|
95
95
|
|
|
96
|
-
var
|
|
96
|
+
var _chunk23XIOIGScjs = require('./chunk-23XIOIGS.cjs');
|
|
97
97
|
|
|
98
98
|
|
|
99
99
|
|
|
@@ -349,7 +349,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
349
349
|
var useTheme = _nextthemes.useTheme;
|
|
350
350
|
function useThemeToggle() {
|
|
351
351
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
352
|
-
const mounted =
|
|
352
|
+
const mounted = _chunk23XIOIGScjs.useIsHydrated.call(void 0, );
|
|
353
353
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
354
354
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
355
355
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -626,7 +626,7 @@ function TruncateText({
|
|
|
626
626
|
const { ref, isTruncated } = _chunkTLLJIGTPcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
|
|
627
627
|
const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
|
|
628
628
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
629
|
-
|
|
629
|
+
_chunk23XIOIGScjs.FloatingTooltip,
|
|
630
630
|
{
|
|
631
631
|
content: _nullishCoalesce(tooltip, () => ( children)),
|
|
632
632
|
side,
|
|
@@ -933,7 +933,7 @@ function AutocompleteInner(props, ref) {
|
|
|
933
933
|
),
|
|
934
934
|
/* @__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: [
|
|
935
935
|
multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
936
|
-
|
|
936
|
+
_chunk23XIOIGScjs.Tag,
|
|
937
937
|
{
|
|
938
938
|
variant: "outline",
|
|
939
939
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -1155,7 +1155,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1155
1155
|
"aria-hidden": "true",
|
|
1156
1156
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
1157
1157
|
children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1158
|
-
|
|
1158
|
+
_chunk23XIOIGScjs.Tag,
|
|
1159
1159
|
{
|
|
1160
1160
|
variant: "outline",
|
|
1161
1161
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -2540,7 +2540,7 @@ function InfoHint({ children, label, side = "top", className }) {
|
|
|
2540
2540
|
const describedById = _react.useId.call(void 0, );
|
|
2541
2541
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
|
|
2542
2542
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2543
|
-
|
|
2543
|
+
_chunk23XIOIGScjs.FloatingTooltip,
|
|
2544
2544
|
{
|
|
2545
2545
|
content: children,
|
|
2546
2546
|
side,
|
|
@@ -2634,7 +2634,7 @@ function Value2({ value, depth }) {
|
|
|
2634
2634
|
}
|
|
2635
2635
|
if (typeof value === "string") {
|
|
2636
2636
|
if (ISO_DATE.test(value)) {
|
|
2637
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children:
|
|
2637
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunk23XIOIGScjs.formatRelativeTime.call(void 0, value) });
|
|
2638
2638
|
}
|
|
2639
2639
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
|
|
2640
2640
|
}
|
|
@@ -3266,7 +3266,7 @@ function RowValue({ value }) {
|
|
|
3266
3266
|
}
|
|
3267
3267
|
case "status": {
|
|
3268
3268
|
const { type: _type, ...props } = value;
|
|
3269
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3269
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.TicketStatusTag, { ...props });
|
|
3270
3270
|
}
|
|
3271
3271
|
case "custom":
|
|
3272
3272
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
|
|
@@ -4177,7 +4177,7 @@ function TagsManager({
|
|
|
4177
4177
|
}
|
|
4178
4178
|
),
|
|
4179
4179
|
selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4180
|
-
|
|
4180
|
+
_chunk23XIOIGScjs.Tag,
|
|
4181
4181
|
{
|
|
4182
4182
|
label: tag.name,
|
|
4183
4183
|
variant: "outline",
|
|
@@ -4722,10 +4722,10 @@ function useConfirm() {
|
|
|
4722
4722
|
},
|
|
4723
4723
|
[]
|
|
4724
4724
|
);
|
|
4725
|
-
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4726
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4727
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4728
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4725
|
+
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk23XIOIGScjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
|
|
4726
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ModalTitle, { children: pending.title }) }),
|
|
4727
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
|
|
4728
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk23XIOIGScjs.ModalFooter, { children: [
|
|
4729
4729
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
|
|
4730
4730
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
|
|
4731
4731
|
] })
|
|
@@ -4788,9 +4788,9 @@ function AdminFormModal({
|
|
|
4788
4788
|
body: "Your edits have not been saved. Close and discard them?"
|
|
4789
4789
|
});
|
|
4790
4790
|
if (!isOpen) return null;
|
|
4791
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4792
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4793
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4791
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk23XIOIGScjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
|
|
4792
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk23XIOIGScjs.ModalHeader, { children: [
|
|
4793
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ModalTitle, { children: title }),
|
|
4794
4794
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
|
|
4795
4795
|
] }),
|
|
4796
4796
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -4815,7 +4815,7 @@ function AdminFormModal({
|
|
|
4815
4815
|
// a shrink-to-fit flex item pinned to the left of a 1400px panel).
|
|
4816
4816
|
// The placeholder owns its own layout and mirrors the column count so
|
|
4817
4817
|
// the modal doesn't visibly re-flow when the entity lands.
|
|
4818
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4818
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4819
4819
|
"div",
|
|
4820
4820
|
{
|
|
4821
4821
|
"aria-busy": "true",
|
|
@@ -4836,12 +4836,12 @@ function AdminFormModal({
|
|
|
4836
4836
|
]
|
|
4837
4837
|
}
|
|
4838
4838
|
) })
|
|
4839
|
-
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4839
|
+
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ModalContent, { className: contentClassName, children }),
|
|
4840
4840
|
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
|
|
4841
4841
|
]
|
|
4842
4842
|
}
|
|
4843
4843
|
),
|
|
4844
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4844
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
|
|
4845
4845
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
|
|
4846
4846
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
4847
4847
|
footerStatus,
|
|
@@ -6987,7 +6987,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
|
|
|
6987
6987
|
};
|
|
6988
6988
|
const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
|
|
6989
6989
|
const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6990
|
-
|
|
6990
|
+
_chunk23XIOIGScjs.Video,
|
|
6991
6991
|
{
|
|
6992
6992
|
url: item.src,
|
|
6993
6993
|
poster: item.poster ? displayImageSrc(item.poster) : void 0,
|
|
@@ -7711,7 +7711,7 @@ function buildRichEmbedOverrides({
|
|
|
7711
7711
|
ogEndpointPath,
|
|
7712
7712
|
textSizes
|
|
7713
7713
|
}) {
|
|
7714
|
-
const standard =
|
|
7714
|
+
const standard = _chunk23XIOIGScjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7715
7715
|
return {
|
|
7716
7716
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7717
7717
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7721,7 +7721,7 @@ function buildRichEmbedOverrides({
|
|
|
7721
7721
|
const language = match ? match[1] : "";
|
|
7722
7722
|
const fenceText = () => String(children).replace(/\n$/, "").trim();
|
|
7723
7723
|
if (language === "youtube-embed") {
|
|
7724
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7724
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.Video, { kind: "youtube", url: fenceText() });
|
|
7725
7725
|
}
|
|
7726
7726
|
if (language === "reddit-embed") {
|
|
7727
7727
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
|
|
@@ -7762,7 +7762,7 @@ function buildRichEmbedOverrides({
|
|
|
7762
7762
|
"data-figma-url": figmaUrl
|
|
7763
7763
|
} = divProps;
|
|
7764
7764
|
if (className === "youtube-embed" && videoId) {
|
|
7765
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7765
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.Video, { kind: "youtube", url: videoId });
|
|
7766
7766
|
}
|
|
7767
7767
|
if (className === "reddit-embed" && postUrl) {
|
|
7768
7768
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
|
|
@@ -7847,14 +7847,14 @@ function buildRichEmbedOverrides({
|
|
|
7847
7847
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7848
7848
|
// elsewhere). Guard against empty `![]()`.
|
|
7849
7849
|
img: ({ src, alt }) => {
|
|
7850
|
-
if (!
|
|
7850
|
+
if (!_chunk23XIOIGScjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7851
7851
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7852
7852
|
},
|
|
7853
7853
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
7854
7854
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
7855
7855
|
video: ({ src, poster, className }) => {
|
|
7856
|
-
if (!
|
|
7857
|
-
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,
|
|
7856
|
+
if (!_chunk23XIOIGScjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7857
|
+
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, _chunk23XIOIGScjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
7858
7858
|
}
|
|
7859
7859
|
};
|
|
7860
7860
|
}
|
|
@@ -8095,13 +8095,13 @@ var RichMarkdownInner = ({
|
|
|
8095
8095
|
},
|
|
8096
8096
|
[resolveLinkEndpointUrl, resolveSource]
|
|
8097
8097
|
);
|
|
8098
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
8098
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunk23XIOIGScjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
8099
8099
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
8100
8100
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
8101
8101
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
8102
8102
|
);
|
|
8103
8103
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8104
|
-
|
|
8104
|
+
_chunk23XIOIGScjs.MarkdownEngine,
|
|
8105
8105
|
{
|
|
8106
8106
|
content,
|
|
8107
8107
|
className,
|
|
@@ -8123,7 +8123,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
8123
8123
|
className = "",
|
|
8124
8124
|
sectionIds,
|
|
8125
8125
|
onInternalLinkClick,
|
|
8126
|
-
brokenLinks =
|
|
8126
|
+
brokenLinks = _chunk23XIOIGScjs.NO_BROKEN_LINKS,
|
|
8127
8127
|
currentPath,
|
|
8128
8128
|
resolveSource = "openframe-docs",
|
|
8129
8129
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -9088,7 +9088,7 @@ function FilterModal({
|
|
|
9088
9088
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _167 => _167.defaultSort]), () => ( "desc"));
|
|
9089
9089
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _168 => _168.sort]), () => ( dateDefaultSort)));
|
|
9090
9090
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _169 => _169.range]));
|
|
9091
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
9091
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunk23XIOIGScjs.useScrollFade.call(void 0, );
|
|
9092
9092
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
9093
9093
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
9094
9094
|
_react.useEffect.call(void 0, () => {
|
|
@@ -9133,10 +9133,10 @@ function FilterModal({
|
|
|
9133
9133
|
const hasFilterGroups = filterGroups.length > 0;
|
|
9134
9134
|
const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
|
|
9135
9135
|
const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
|
|
9136
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9137
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9136
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk23XIOIGScjs.Modal, { isOpen, onClose, className: _chunkX7CEWD6Vcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
|
|
9137
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ModalTitle, { children: title }) }),
|
|
9138
9138
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9139
|
-
|
|
9139
|
+
_chunk23XIOIGScjs.ModalContent,
|
|
9140
9140
|
{
|
|
9141
9141
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
9142
9142
|
"flex min-h-0 flex-1 flex-col",
|
|
@@ -9228,12 +9228,12 @@ function FilterModal({
|
|
|
9228
9228
|
] })
|
|
9229
9229
|
}
|
|
9230
9230
|
),
|
|
9231
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9232
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9231
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
9232
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
9233
9233
|
] })
|
|
9234
9234
|
}
|
|
9235
9235
|
),
|
|
9236
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9236
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk23XIOIGScjs.ModalFooter, { children: [
|
|
9237
9237
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
|
|
9238
9238
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
|
|
9239
9239
|
] })
|
|
@@ -9277,9 +9277,9 @@ function actionToMenuItems(action, idx) {
|
|
|
9277
9277
|
function renderActionButton(action, opts = {}) {
|
|
9278
9278
|
const button = renderRawActionButton(action, opts);
|
|
9279
9279
|
if (!action.tooltip) return button;
|
|
9280
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9281
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9282
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9280
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk23XIOIGScjs.Tooltip, { children: [
|
|
9281
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.TooltipTrigger, { asChild: true, children: button }),
|
|
9282
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.TooltipContent, { children: action.tooltip })
|
|
9283
9283
|
] }) });
|
|
9284
9284
|
}
|
|
9285
9285
|
function renderRawActionButton(action, opts = {}) {
|
|
@@ -9303,7 +9303,7 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
9303
9303
|
}
|
|
9304
9304
|
if (action.submenu && action.submenu.length > 0) {
|
|
9305
9305
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9306
|
-
|
|
9306
|
+
_chunk23XIOIGScjs.ActionsMenuDropdown,
|
|
9307
9307
|
{
|
|
9308
9308
|
groups: [{ items: action.submenu }],
|
|
9309
9309
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -9438,10 +9438,10 @@ function IconButtonsVariant({
|
|
|
9438
9438
|
selector,
|
|
9439
9439
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
9440
9440
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
|
|
9441
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9441
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ActionsMenuDropdown, { groups: menuActions })
|
|
9442
9442
|
] })
|
|
9443
9443
|
] }),
|
|
9444
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.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,
|
|
9444
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.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, _chunk23XIOIGScjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
|
|
9445
9445
|
] });
|
|
9446
9446
|
}
|
|
9447
9447
|
function PrimaryButtonsVariant({
|
|
@@ -9479,7 +9479,7 @@ function MenuPrimaryVariant({
|
|
|
9479
9479
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
|
|
9480
9480
|
selector,
|
|
9481
9481
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
9482
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9482
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ActionsMenuDropdown, { groups: menuActions }),
|
|
9483
9483
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
|
|
9484
9484
|
] })
|
|
9485
9485
|
] }),
|
|
@@ -9487,7 +9487,7 @@ function MenuPrimaryVariant({
|
|
|
9487
9487
|
// The selector rides into the menu as its header row: on mobile the
|
|
9488
9488
|
// title row has no room for it, and hiding it entirely (what
|
|
9489
9489
|
// `icon-buttons` does) would leave no way to switch views at all.
|
|
9490
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9490
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
|
|
9491
9491
|
) : null })
|
|
9492
9492
|
] });
|
|
9493
9493
|
}
|
|
@@ -9893,7 +9893,7 @@ function TitleBlock({
|
|
|
9893
9893
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
9894
9894
|
(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: [
|
|
9895
9895
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9896
|
-
|
|
9896
|
+
_chunk23XIOIGScjs.FloatingTooltip,
|
|
9897
9897
|
{
|
|
9898
9898
|
content: title,
|
|
9899
9899
|
side: "bottom",
|
|
@@ -9910,12 +9910,12 @@ function TitleBlock({
|
|
|
9910
9910
|
}
|
|
9911
9911
|
),
|
|
9912
9912
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9913
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9913
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
|
|
9914
9914
|
hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
|
|
9915
9915
|
empty `p` collapses to zero height (its only content would be
|
|
9916
9916
|
collapsible whitespace), which is exactly the shift that mode
|
|
9917
9917
|
exists to prevent. Hidden from AT — it carries no meaning. */
|
|
9918
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9918
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9919
9919
|
"p",
|
|
9920
9920
|
{
|
|
9921
9921
|
ref: subtitleRef,
|
|
@@ -9926,7 +9926,7 @@ function TitleBlock({
|
|
|
9926
9926
|
) })
|
|
9927
9927
|
] })
|
|
9928
9928
|
] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9929
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9929
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, titleClass, "min-w-0 text-ods-text-primary", titleOverflowClass), children: title }) }),
|
|
9930
9930
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9931
9931
|
] }) : (
|
|
9932
9932
|
/* This branch never had the single-line clamp, so text already
|
|
@@ -11355,8 +11355,8 @@ function makeComposeContentUrl(opts) {
|
|
|
11355
11355
|
}
|
|
11356
11356
|
if (externalUrl) return { href: externalUrl, targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)) };
|
|
11357
11357
|
const claimedOwner = _nullishCoalesce(targetPlatform, () => ( primaryPlatformOf(platforms)));
|
|
11358
|
-
const owner = claimedOwner &&
|
|
11359
|
-
const origin = owner ?
|
|
11358
|
+
const owner = claimedOwner && _chunk23XIOIGScjs.byKey.call(void 0, claimedOwner) ? claimedOwner : null;
|
|
11359
|
+
const origin = owner ? _chunk23XIOIGScjs.getPlatformProductionUrl.call(void 0, owner) : opts.contentOrigin;
|
|
11360
11360
|
return {
|
|
11361
11361
|
href: `${origin.replace(/\/+$/, "")}/${seg}/${_optionalChain([slugHint, 'optionalAccess', _227 => _227.trim, 'call', _228 => _228()]) || identifier}`,
|
|
11362
11362
|
// Report the owner so `decideNewTab` can compare it against the current
|
|
@@ -11531,7 +11531,7 @@ function extractSections(markdown, options = {}) {
|
|
|
11531
11531
|
if (heading.level > opts.maxLevel) continue;
|
|
11532
11532
|
let title = heading.text;
|
|
11533
11533
|
if (opts.stripFormattingMarkers) {
|
|
11534
|
-
title =
|
|
11534
|
+
title = _chunk23XIOIGScjs.stripInlineMarkdown.call(void 0, title).trim();
|
|
11535
11535
|
}
|
|
11536
11536
|
const baseId = _chunkTLLJIGTPcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkTLLJIGTPcjs.stripHeadingEmojis.call(void 0, title) : title);
|
|
11537
11537
|
const cleanId = baseId || `section-${sections.length + 1}`;
|
|
@@ -12104,7 +12104,7 @@ function DashboardInfoCard({
|
|
|
12104
12104
|
const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
|
|
12105
12105
|
if (asTag) {
|
|
12106
12106
|
const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
|
|
12107
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12107
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.Tag, { variant: tagVariant, label: `${percentage}%` });
|
|
12108
12108
|
}
|
|
12109
12109
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
|
|
12110
12110
|
"(",
|
|
@@ -12158,7 +12158,7 @@ function DashboardInfoCard({
|
|
|
12158
12158
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "truncate text-ods-text-primary text-h3 md:text-h2", valueClassName), children: formattedValue }),
|
|
12159
12159
|
subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
|
|
12160
12160
|
renderPercentage(),
|
|
12161
|
-
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12161
|
+
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.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, _chunkYRTMAXLEcjs.QuestionCircleIcon, { size: 20 }) }) })
|
|
12162
12162
|
] })
|
|
12163
12163
|
] }),
|
|
12164
12164
|
renderProgress()
|
|
@@ -12335,7 +12335,7 @@ function DeviceCard({
|
|
|
12335
12335
|
] }),
|
|
12336
12336
|
(statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
|
|
12337
12337
|
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12338
|
-
|
|
12338
|
+
_chunk23XIOIGScjs.Tag,
|
|
12339
12339
|
{
|
|
12340
12340
|
variant: statusTag.variant,
|
|
12341
12341
|
icon: statusTag.icon,
|
|
@@ -12349,7 +12349,7 @@ function DeviceCard({
|
|
|
12349
12349
|
formatLastSeen(device.lastSeen)
|
|
12350
12350
|
] })
|
|
12351
12351
|
] }),
|
|
12352
|
-
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,
|
|
12352
|
+
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, _chunk23XIOIGScjs.Tag, { variant: "outline", label: tag }, index)) })
|
|
12353
12353
|
]
|
|
12354
12354
|
}
|
|
12355
12355
|
);
|
|
@@ -12497,7 +12497,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
|
|
|
12497
12497
|
|
|
12498
12498
|
function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
|
|
12499
12499
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12500
|
-
|
|
12500
|
+
_chunk23XIOIGScjs.FloatingTooltip,
|
|
12501
12501
|
{
|
|
12502
12502
|
as: "span",
|
|
12503
12503
|
side: "top",
|
|
@@ -12682,7 +12682,7 @@ function DropdownButton({
|
|
|
12682
12682
|
)
|
|
12683
12683
|
);
|
|
12684
12684
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12685
|
-
|
|
12685
|
+
_chunk23XIOIGScjs.ActionsMenuDropdown,
|
|
12686
12686
|
{
|
|
12687
12687
|
groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
|
|
12688
12688
|
open,
|
|
@@ -12920,7 +12920,7 @@ function ServiceCardRowItem({ row }) {
|
|
|
12920
12920
|
),
|
|
12921
12921
|
children: [
|
|
12922
12922
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12923
|
-
|
|
12923
|
+
_chunk23XIOIGScjs.FloatingTooltip,
|
|
12924
12924
|
{
|
|
12925
12925
|
content: row.value,
|
|
12926
12926
|
side: "top",
|
|
@@ -13058,7 +13058,7 @@ function PeopleCell({ people, fallbackName = "Unassigned" }) {
|
|
|
13058
13058
|
);
|
|
13059
13059
|
}
|
|
13060
13060
|
const fullNames = people.map((p) => p.name || "Unknown").join(", ");
|
|
13061
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13061
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.FloatingTooltip, { content: fullNames, triggerClassName: "min-w-0 max-w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
13062
13062
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13063
13063
|
_chunkODB2AEUWcjs.AvatarStack,
|
|
13064
13064
|
{
|
|
@@ -13120,9 +13120,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
13120
13120
|
return next;
|
|
13121
13121
|
});
|
|
13122
13122
|
};
|
|
13123
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13123
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk23XIOIGScjs.Tooltip, { open, onOpenChange: setOpen, children: [
|
|
13124
13124
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13125
|
-
|
|
13125
|
+
_chunk23XIOIGScjs.TooltipTrigger,
|
|
13126
13126
|
{
|
|
13127
13127
|
asChild: true,
|
|
13128
13128
|
onPointerDown: (e) => {
|
|
@@ -13140,7 +13140,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
13140
13140
|
children
|
|
13141
13141
|
}
|
|
13142
13142
|
),
|
|
13143
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13143
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.TooltipContent, { side, className: "max-w-xs", children: content })
|
|
13144
13144
|
] }) });
|
|
13145
13145
|
}
|
|
13146
13146
|
|
|
@@ -14451,9 +14451,9 @@ function TruncatedHeaderCell({ value, width }) {
|
|
|
14451
14451
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
14452
14452
|
}
|
|
14453
14453
|
}, []);
|
|
14454
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14455
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14456
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14454
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk23XIOIGScjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
14455
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.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 }) }) }),
|
|
14456
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
|
|
14457
14457
|
] }) });
|
|
14458
14458
|
}
|
|
14459
14459
|
|
|
@@ -14506,9 +14506,9 @@ function TruncatedCell({ value, className }) {
|
|
|
14506
14506
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
14507
14507
|
}
|
|
14508
14508
|
}, []);
|
|
14509
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14510
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14511
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14509
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk23XIOIGScjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
14510
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, "block truncate", className), children: value }) }),
|
|
14511
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
|
|
14512
14512
|
] }) });
|
|
14513
14513
|
}
|
|
14514
14514
|
|
|
@@ -15790,7 +15790,7 @@ function SearchInput({
|
|
|
15790
15790
|
/* @__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, {}) }),
|
|
15791
15791
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
|
|
15792
15792
|
visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15793
|
-
|
|
15793
|
+
_chunk23XIOIGScjs.Tag,
|
|
15794
15794
|
{
|
|
15795
15795
|
variant: chipVariantToTagVariant(chip.variant),
|
|
15796
15796
|
label: chip.label,
|
|
@@ -15906,7 +15906,7 @@ function SearchInput({
|
|
|
15906
15906
|
}
|
|
15907
15907
|
),
|
|
15908
15908
|
/* @__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,
|
|
15909
|
-
|
|
15909
|
+
_chunk23XIOIGScjs.Tag,
|
|
15910
15910
|
{
|
|
15911
15911
|
variant: chipVariantToTagVariant(chip.variant),
|
|
15912
15912
|
label: chip.label,
|
|
@@ -16119,7 +16119,7 @@ function TagSearchInput({
|
|
|
16119
16119
|
/* @__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" }) }),
|
|
16120
16120
|
/* @__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: [
|
|
16121
16121
|
visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16122
|
-
|
|
16122
|
+
_chunk23XIOIGScjs.Tag,
|
|
16123
16123
|
{
|
|
16124
16124
|
variant: "outline",
|
|
16125
16125
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -16207,7 +16207,7 @@ function TagSearchInput({
|
|
|
16207
16207
|
"aria-hidden": "true",
|
|
16208
16208
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
16209
16209
|
children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16210
|
-
|
|
16210
|
+
_chunk23XIOIGScjs.Tag,
|
|
16211
16211
|
{
|
|
16212
16212
|
variant: "outline",
|
|
16213
16213
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -17138,20 +17138,20 @@ function ColorPresetSelect({
|
|
|
17138
17138
|
...presets.map((p) => ({
|
|
17139
17139
|
id: p.key,
|
|
17140
17140
|
label: p.label,
|
|
17141
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17141
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ColorSwatch, { color: p.color }),
|
|
17142
17142
|
onClick: () => onChange({ color: p.color, preset: p.key })
|
|
17143
17143
|
})),
|
|
17144
17144
|
{
|
|
17145
17145
|
id: CUSTOM_PRESET_KEY,
|
|
17146
17146
|
label: "Custom",
|
|
17147
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17147
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
|
|
17148
17148
|
onClick: () => onChange({ color: value, preset: void 0 })
|
|
17149
17149
|
}
|
|
17150
17150
|
]
|
|
17151
17151
|
}
|
|
17152
17152
|
];
|
|
17153
17153
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17154
|
-
|
|
17154
|
+
_chunk23XIOIGScjs.ActionsMenuDropdown,
|
|
17155
17155
|
{
|
|
17156
17156
|
groups,
|
|
17157
17157
|
align: "start",
|
|
@@ -17161,7 +17161,7 @@ function ColorPresetSelect({
|
|
|
17161
17161
|
{
|
|
17162
17162
|
disabled,
|
|
17163
17163
|
"aria-label": `Color: ${displayLabel}`,
|
|
17164
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17164
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ColorSwatch, { color: displayColor }),
|
|
17165
17165
|
selectedLabel: displayLabel,
|
|
17166
17166
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
17167
17167
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "group", className)
|
|
@@ -17182,7 +17182,7 @@ function HexInputs({ value, onChange }) {
|
|
|
17182
17182
|
}
|
|
17183
17183
|
const commit = () => {
|
|
17184
17184
|
const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
|
|
17185
|
-
if (
|
|
17185
|
+
if (_chunk23XIOIGScjs.HEX_PATTERN.test(candidate)) onChange(candidate);
|
|
17186
17186
|
else setDraft(value);
|
|
17187
17187
|
};
|
|
17188
17188
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17246,12 +17246,12 @@ function ChannelInput({
|
|
|
17246
17246
|
);
|
|
17247
17247
|
}
|
|
17248
17248
|
function RgbInputs({ value, onChange }) {
|
|
17249
|
-
const rgb = _nullishCoalesce(
|
|
17249
|
+
const rgb = _nullishCoalesce(_chunk23XIOIGScjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
17250
17250
|
const update = (next) => {
|
|
17251
17251
|
const r = _nullishCoalesce(next.r, () => ( rgb.r));
|
|
17252
17252
|
const g = _nullishCoalesce(next.g, () => ( rgb.g));
|
|
17253
17253
|
const b = _nullishCoalesce(next.b, () => ( rgb.b));
|
|
17254
|
-
onChange(
|
|
17254
|
+
onChange(_chunk23XIOIGScjs.rgbToHex.call(void 0, r, g, b));
|
|
17255
17255
|
};
|
|
17256
17256
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
17257
17257
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
|
|
@@ -17260,14 +17260,14 @@ function RgbInputs({ value, onChange }) {
|
|
|
17260
17260
|
] });
|
|
17261
17261
|
}
|
|
17262
17262
|
function HslInputs({ value, onChange }) {
|
|
17263
|
-
const rgb = _nullishCoalesce(
|
|
17264
|
-
const hsl =
|
|
17263
|
+
const rgb = _nullishCoalesce(_chunk23XIOIGScjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
17264
|
+
const hsl = _chunk23XIOIGScjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
|
|
17265
17265
|
const update = (next) => {
|
|
17266
17266
|
const h = _nullishCoalesce(next.h, () => ( hsl.h));
|
|
17267
17267
|
const s = _nullishCoalesce(next.s, () => ( hsl.s));
|
|
17268
17268
|
const l = _nullishCoalesce(next.l, () => ( hsl.l));
|
|
17269
|
-
const out =
|
|
17270
|
-
onChange(
|
|
17269
|
+
const out = _chunk23XIOIGScjs.hslToRgb.call(void 0, h, s, l);
|
|
17270
|
+
onChange(_chunk23XIOIGScjs.rgbToHex.call(void 0, out.r, out.g, out.b));
|
|
17271
17271
|
};
|
|
17272
17272
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
17273
17273
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
|
|
@@ -17293,7 +17293,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
17293
17293
|
{
|
|
17294
17294
|
disabled,
|
|
17295
17295
|
"aria-label": "Pick custom color",
|
|
17296
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17296
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ColorSwatch, { color: value }),
|
|
17297
17297
|
selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
|
|
17298
17298
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
17299
17299
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "group", className)
|
|
@@ -17309,7 +17309,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
17309
17309
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
|
|
17310
17310
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
17311
17311
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17312
|
-
|
|
17312
|
+
_chunk23XIOIGScjs.ActionsMenuDropdown,
|
|
17313
17313
|
{
|
|
17314
17314
|
groups: formatGroups,
|
|
17315
17315
|
align: "start",
|
|
@@ -17366,7 +17366,7 @@ function TicketStatusConfigRow({
|
|
|
17366
17366
|
const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
|
|
17367
17367
|
const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
|
|
17368
17368
|
const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17369
|
-
|
|
17369
|
+
_chunk23XIOIGScjs.TicketStatusTag,
|
|
17370
17370
|
{
|
|
17371
17371
|
status: statusKey,
|
|
17372
17372
|
label: name || " ",
|
|
@@ -17518,7 +17518,7 @@ function formatTestRunDuration(ms) {
|
|
|
17518
17518
|
var RESULT_COLUMN_MIN_WIDTH = 176;
|
|
17519
17519
|
var SKELETON_COLUMNS = 6;
|
|
17520
17520
|
function TestResultsSkeleton() {
|
|
17521
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17521
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
17522
17522
|
/* @__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}`)) }),
|
|
17523
17523
|
/* @__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}`)) }) })
|
|
17524
17524
|
] }) });
|
|
@@ -17553,7 +17553,7 @@ function TestResultsTable({ rows, loading }) {
|
|
|
17553
17553
|
if (loading) {
|
|
17554
17554
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
17555
17555
|
}
|
|
17556
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17556
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.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: [
|
|
17557
17557
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
17558
17558
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
17559
17559
|
] }) }) });
|
|
@@ -17615,7 +17615,7 @@ var TEST_RUN_STATUS_TAGS = {
|
|
|
17615
17615
|
function TestRunStatusStat({ status, className }) {
|
|
17616
17616
|
const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
|
|
17617
17617
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex min-w-0 flex-col items-start justify-center gap-[var(--spacing-system-xxs)]", className), children: [
|
|
17618
|
-
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17618
|
+
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.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: "-" }),
|
|
17619
17619
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
|
|
17620
17620
|
] });
|
|
17621
17621
|
}
|
|
@@ -17659,7 +17659,7 @@ function useTestRunState(campaign) {
|
|
|
17659
17659
|
const stopReason = _nullishCoalesce(campaign.stopReason, () => ( "completed"));
|
|
17660
17660
|
const status = isActive ? "running" : hasRun && isFinished ? stopReason === "completed" ? firstError ? "error" : "success" : stopReason : "idle";
|
|
17661
17661
|
const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
|
|
17662
|
-
const startedLabel = showTiming && campaign.startedAt ?
|
|
17662
|
+
const startedLabel = showTiming && campaign.startedAt ? _chunk23XIOIGScjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
|
|
17663
17663
|
const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
|
|
17664
17664
|
const displayRows = _react.useMemo.call(void 0,
|
|
17665
17665
|
() => campaign.results.map(
|
|
@@ -17997,7 +17997,7 @@ function TicketInfoSection({
|
|
|
17997
17997
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _408 => _408.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _409 => _409.icon]), onClick: _optionalChain([device, 'optionalAccess', _410 => _410.onClick]) }),
|
|
17998
17998
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
17999
17999
|
(status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18000
|
-
|
|
18000
|
+
_chunk23XIOIGScjs.TicketStatusTag,
|
|
18001
18001
|
{
|
|
18002
18002
|
status: _nullishCoalesce(status, () => ( "")),
|
|
18003
18003
|
label: statusLabel,
|
|
@@ -18036,9 +18036,9 @@ function TicketInfoSection({
|
|
|
18036
18036
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
18037
18037
|
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" }) }),
|
|
18038
18038
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
|
|
18039
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18039
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.SimpleMarkdownRenderer, { content: description }),
|
|
18040
18040
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
18041
|
-
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,
|
|
18041
|
+
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, _chunk23XIOIGScjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
|
|
18042
18042
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18043
18043
|
TicketNotesSection,
|
|
18044
18044
|
{
|
|
@@ -18061,7 +18061,7 @@ function renderTicketStatusOption(option, isSelected) {
|
|
|
18061
18061
|
const { label, color } = option;
|
|
18062
18062
|
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: [
|
|
18063
18063
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
18064
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18064
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ColorSwatch, { color }),
|
|
18065
18065
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
|
|
18066
18066
|
] }),
|
|
18067
18067
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYRTMAXLEcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -18106,9 +18106,9 @@ function TakeOverTicketModal({
|
|
|
18106
18106
|
if (!selectedStatusId || !assigneeId || isPending) return;
|
|
18107
18107
|
onConfirm({ statusId: selectedStatusId, assigneeId });
|
|
18108
18108
|
};
|
|
18109
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18109
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk23XIOIGScjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
18110
18110
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
18111
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18111
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ModalTitle, { children: "Take Over Ticket" }) }),
|
|
18112
18112
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
18113
18113
|
"The ticket ",
|
|
18114
18114
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -18123,7 +18123,7 @@ function TakeOverTicketModal({
|
|
|
18123
18123
|
value: selectedStatusId,
|
|
18124
18124
|
onChange: setStatusId,
|
|
18125
18125
|
placeholder: "Select Status",
|
|
18126
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18126
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
18127
18127
|
renderOption: renderTicketStatusOption
|
|
18128
18128
|
}
|
|
18129
18129
|
) }),
|
|
@@ -18150,7 +18150,7 @@ function TakeOverTicketModal({
|
|
|
18150
18150
|
}
|
|
18151
18151
|
) })
|
|
18152
18152
|
] }),
|
|
18153
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18153
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk23XIOIGScjs.ModalFooter, { children: [
|
|
18154
18154
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
18155
18155
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
18156
18156
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18209,9 +18209,9 @@ function ReopenTicketModal({
|
|
|
18209
18209
|
reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
|
|
18210
18210
|
});
|
|
18211
18211
|
};
|
|
18212
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18212
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk23XIOIGScjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
18213
18213
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
18214
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18214
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
18215
18215
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
18216
18216
|
"The ticket ",
|
|
18217
18217
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -18226,7 +18226,7 @@ function ReopenTicketModal({
|
|
|
18226
18226
|
value: selectedStatusId,
|
|
18227
18227
|
onChange: setStatusId,
|
|
18228
18228
|
placeholder: "Select Status",
|
|
18229
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18229
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
18230
18230
|
renderOption: renderTicketStatusOption
|
|
18231
18231
|
}
|
|
18232
18232
|
) }),
|
|
@@ -18264,7 +18264,7 @@ function ReopenTicketModal({
|
|
|
18264
18264
|
disabled: isPending
|
|
18265
18265
|
}
|
|
18266
18266
|
) }),
|
|
18267
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18267
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk23XIOIGScjs.ModalFooter, { children: [
|
|
18268
18268
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
18269
18269
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
18270
18270
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18312,9 +18312,9 @@ function ReopenTicketRequestModal({
|
|
|
18312
18312
|
...showHandoffOption ? { handoffToTechnician: handoff } : {}
|
|
18313
18313
|
});
|
|
18314
18314
|
};
|
|
18315
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18315
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk23XIOIGScjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
18316
18316
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
18317
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18317
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
18318
18318
|
/* @__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." }),
|
|
18319
18319
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18320
18320
|
Textarea,
|
|
@@ -18338,7 +18338,7 @@ function ReopenTicketRequestModal({
|
|
|
18338
18338
|
disabled: isPending
|
|
18339
18339
|
}
|
|
18340
18340
|
),
|
|
18341
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18341
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk23XIOIGScjs.ModalFooter, { children: [
|
|
18342
18342
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
|
|
18343
18343
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
|
|
18344
18344
|
] })
|
|
@@ -19765,7 +19765,7 @@ function SsoJoinForm({
|
|
|
19765
19765
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", children: displayName }),
|
|
19766
19766
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: organizationName })
|
|
19767
19767
|
] }),
|
|
19768
|
-
roles.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xs)]", children: roles.map((role) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19768
|
+
roles.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xs)]", children: roles.map((role) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.Tag, { variant: "grey", label: role }, role)) })
|
|
19769
19769
|
] }),
|
|
19770
19770
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19771
19771
|
CheckboxBlock,
|
|
@@ -20702,7 +20702,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
|
|
|
20702
20702
|
sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
|
|
20703
20703
|
title: config.title,
|
|
20704
20704
|
loading: "eager",
|
|
20705
|
-
...
|
|
20705
|
+
..._chunk23XIOIGScjs.fetchPriorityProp.call(void 0, "high")
|
|
20706
20706
|
},
|
|
20707
20707
|
iframeKey
|
|
20708
20708
|
),
|
|
@@ -21554,7 +21554,7 @@ function MediaGalleryManager({
|
|
|
21554
21554
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: _chunkODB2AEUWcjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? (
|
|
21555
21555
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
21556
21556
|
// fit="cover" crops to the aspect-video cell.
|
|
21557
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21557
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
|
|
21558
21558
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21559
21559
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
21560
21560
|
{
|
|
@@ -23805,9 +23805,9 @@ function PushButtonSelector({
|
|
|
23805
23805
|
option.id
|
|
23806
23806
|
);
|
|
23807
23807
|
if (option.disabled && option.disabledReason) {
|
|
23808
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23809
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23810
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23808
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk23XIOIGScjs.Tooltip, { children: [
|
|
23809
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.TooltipTrigger, { asChild: true, children: optionEl }),
|
|
23810
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
|
|
23811
23811
|
] }, option.id);
|
|
23812
23812
|
}
|
|
23813
23813
|
return optionEl;
|
|
@@ -23852,7 +23852,7 @@ function PushButtonSelector({
|
|
|
23852
23852
|
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
|
|
23853
23853
|
] }) : null
|
|
23854
23854
|
] });
|
|
23855
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23855
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
|
|
23856
23856
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
23857
23857
|
searchInput,
|
|
23858
23858
|
lazyLoad ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -24025,7 +24025,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
|
|
|
24025
24025
|
item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children: _chunkODB2AEUWcjs.isVideoMedia.call(void 0, item) || item.media_type === "demo" ? (
|
|
24026
24026
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
24027
24027
|
// fit="cover" crops to the aspect-video cell.
|
|
24028
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24028
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
24029
24029
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24030
24030
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
24031
24031
|
{
|
|
@@ -24158,7 +24158,7 @@ var SelectButton = _react2.default.forwardRef(
|
|
|
24158
24158
|
}
|
|
24159
24159
|
)
|
|
24160
24160
|
] }),
|
|
24161
|
-
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24161
|
+
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
|
|
24162
24162
|
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYRTMAXLEcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
|
|
24163
24163
|
]
|
|
24164
24164
|
}
|
|
@@ -25020,7 +25020,7 @@ function VideoBitesDisplay({
|
|
|
25020
25020
|
filterPublished = true,
|
|
25021
25021
|
showTitle = true
|
|
25022
25022
|
}) {
|
|
25023
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25023
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
25024
25024
|
}
|
|
25025
25025
|
|
|
25026
25026
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -25089,7 +25089,7 @@ function WalkthroughVideo({
|
|
|
25089
25089
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
25090
25090
|
};
|
|
25091
25091
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
|
|
25092
|
-
const hydrated =
|
|
25092
|
+
const hydrated = _chunk23XIOIGScjs.useIsHydrated.call(void 0, );
|
|
25093
25093
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
25094
25094
|
if (!hydrated) return false;
|
|
25095
25095
|
try {
|
|
@@ -25486,7 +25486,7 @@ function WalkthroughVideo({
|
|
|
25486
25486
|
},
|
|
25487
25487
|
children: [
|
|
25488
25488
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25489
|
-
|
|
25489
|
+
_chunk23XIOIGScjs.VideoHoverPreviewSurface,
|
|
25490
25490
|
{
|
|
25491
25491
|
url: video.mainVideoUrl || "",
|
|
25492
25492
|
posterUrl: video.posterUrl,
|
|
@@ -25509,7 +25509,7 @@ function WalkthroughVideo({
|
|
|
25509
25509
|
`card-${embedUrlKey}`
|
|
25510
25510
|
) }),
|
|
25511
25511
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25512
|
-
|
|
25512
|
+
_chunk23XIOIGScjs.CardHitLayer,
|
|
25513
25513
|
{
|
|
25514
25514
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
25515
25515
|
onPointerDown: pausePreviewNow,
|
|
@@ -25518,7 +25518,7 @@ function WalkthroughVideo({
|
|
|
25518
25518
|
}
|
|
25519
25519
|
),
|
|
25520
25520
|
/* @__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: [
|
|
25521
|
-
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODB2AEUWcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25521
|
+
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODB2AEUWcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
|
|
25522
25522
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
|
|
25523
25523
|
] }),
|
|
25524
25524
|
showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -25531,7 +25531,7 @@ function WalkthroughVideo({
|
|
|
25531
25531
|
onPointerDown: (e) => e.stopPropagation(),
|
|
25532
25532
|
onClick: onUnmuteOrPlay,
|
|
25533
25533
|
className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
|
|
25534
|
-
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25534
|
+
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.VideoUnmuteGlyph, {})
|
|
25535
25535
|
}
|
|
25536
25536
|
),
|
|
25537
25537
|
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: [
|
|
@@ -25624,7 +25624,7 @@ function WalkthroughVideo({
|
|
|
25624
25624
|
children: [
|
|
25625
25625
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
25626
25626
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25627
|
-
|
|
25627
|
+
_chunk23XIOIGScjs.Video,
|
|
25628
25628
|
{
|
|
25629
25629
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
25630
25630
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -25675,7 +25675,7 @@ function InlineWalkthroughVideo(props) {
|
|
|
25675
25675
|
var _reactquery = require('@tanstack/react-query');
|
|
25676
25676
|
function useWalkthroughVideo(opts) {
|
|
25677
25677
|
const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
|
|
25678
|
-
const captions =
|
|
25678
|
+
const captions = _chunk23XIOIGScjs.useCaptions.call(void 0, );
|
|
25679
25679
|
const query = _reactquery.useQuery.call(void 0, {
|
|
25680
25680
|
queryKey: ["walkthrough-video", endpoint],
|
|
25681
25681
|
enabled,
|
|
@@ -25873,7 +25873,7 @@ function VideoSourceSelector({
|
|
|
25873
25873
|
}
|
|
25874
25874
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
25875
25875
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
|
|
25876
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25876
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.Video, { kind: "file", url: videoUrl }) }),
|
|
25877
25877
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25878
25878
|
"button",
|
|
25879
25879
|
{
|
|
@@ -26397,7 +26397,7 @@ function HighlightVideoSection({
|
|
|
26397
26397
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
26398
26398
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
26399
26399
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
|
|
26400
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26400
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
|
|
26401
26401
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26402
26402
|
"button",
|
|
26403
26403
|
{
|
|
@@ -27137,7 +27137,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
|
27137
27137
|
] });
|
|
27138
27138
|
};
|
|
27139
27139
|
var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
|
|
27140
|
-
const { innerRef, containerStyle } =
|
|
27140
|
+
const { innerRef, containerStyle } = _chunk23XIOIGScjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
|
|
27141
27141
|
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
27142
27142
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
27143
27143
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -27305,7 +27305,7 @@ function WaitlistForm({
|
|
|
27305
27305
|
const { toast } = _chunkFJNGXGJWcjs.useToast.call(void 0, );
|
|
27306
27306
|
const { honeypotInputProps, getSignals, resetSignals } = _chunkFJNGXGJWcjs.useHumanitySignals.call(void 0, );
|
|
27307
27307
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
27308
|
-
const isClient =
|
|
27308
|
+
const isClient = _chunk23XIOIGScjs.useIsHydrated.call(void 0, );
|
|
27309
27309
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
27310
27310
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
27311
27311
|
const isMailDomainGeneric = hasGenericEmailDomain(email);
|
|
@@ -28085,7 +28085,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
28085
28085
|
"data-state": open ? "open" : "closed",
|
|
28086
28086
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
28087
28087
|
"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",
|
|
28088
|
-
|
|
28088
|
+
_chunk23XIOIGScjs.OVERLAY_BACKDROP_CLASS,
|
|
28089
28089
|
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
28090
28090
|
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
28091
28091
|
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
@@ -28161,11 +28161,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
28161
28161
|
}
|
|
28162
28162
|
);
|
|
28163
28163
|
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
28164
|
-
var AppLayoutDrawerHeader =
|
|
28165
|
-
var AppLayoutDrawerTitle =
|
|
28166
|
-
var AppLayoutDrawerDescription =
|
|
28167
|
-
var AppLayoutDrawerBody =
|
|
28168
|
-
var AppLayoutDrawerFooter =
|
|
28164
|
+
var AppLayoutDrawerHeader = _chunk23XIOIGScjs.DrawerHeader;
|
|
28165
|
+
var AppLayoutDrawerTitle = _chunk23XIOIGScjs.DrawerTitle;
|
|
28166
|
+
var AppLayoutDrawerDescription = _chunk23XIOIGScjs.DrawerDescription;
|
|
28167
|
+
var AppLayoutDrawerBody = _chunk23XIOIGScjs.DrawerBody;
|
|
28168
|
+
var AppLayoutDrawerFooter = _chunk23XIOIGScjs.DrawerFooter;
|
|
28169
28169
|
|
|
28170
28170
|
// src/components/features/notifications/notification-tile.tsx
|
|
28171
28171
|
|
|
@@ -28254,7 +28254,7 @@ function NotificationTile({
|
|
|
28254
28254
|
}
|
|
28255
28255
|
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkFJNGXGJWcjs.dotColorByVariant[accentVariant]) }))) }),
|
|
28256
28256
|
type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkX7CEWD6Vcjs.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" }),
|
|
28257
|
-
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children:
|
|
28257
|
+
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunk23XIOIGScjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
|
|
28258
28258
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
|
|
28259
28259
|
{
|
|
28260
28260
|
active: isLive,
|
|
@@ -28361,7 +28361,7 @@ function NotificationDrawer({
|
|
|
28361
28361
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
28362
28362
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
28363
28363
|
/* @__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,
|
|
28364
|
-
|
|
28364
|
+
_chunk23XIOIGScjs.DrawerTitle,
|
|
28365
28365
|
{
|
|
28366
28366
|
hideClose: true,
|
|
28367
28367
|
className: "truncate",
|
|
@@ -28420,8 +28420,8 @@ function NotificationDrawer({
|
|
|
28420
28420
|
}
|
|
28421
28421
|
) });
|
|
28422
28422
|
}
|
|
28423
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28424
|
-
|
|
28423
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28424
|
+
_chunk23XIOIGScjs.DrawerContent,
|
|
28425
28425
|
{
|
|
28426
28426
|
side: "right",
|
|
28427
28427
|
"aria-describedby": void 0,
|
|
@@ -28704,13 +28704,13 @@ function getApprovalMeta(notification) {
|
|
|
28704
28704
|
function resolutionToStatus(resolution) {
|
|
28705
28705
|
switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
|
|
28706
28706
|
case "APPROVED":
|
|
28707
|
-
return
|
|
28707
|
+
return _chunk23XIOIGScjs.APPROVAL_STATUS.APPROVED;
|
|
28708
28708
|
case "REJECTED":
|
|
28709
|
-
return
|
|
28709
|
+
return _chunk23XIOIGScjs.APPROVAL_STATUS.REJECTED;
|
|
28710
28710
|
case "CANCELLED":
|
|
28711
|
-
return
|
|
28711
|
+
return _chunk23XIOIGScjs.APPROVAL_STATUS.CANCELLED;
|
|
28712
28712
|
default:
|
|
28713
|
-
return
|
|
28713
|
+
return _chunk23XIOIGScjs.APPROVAL_STATUS.PENDING;
|
|
28714
28714
|
}
|
|
28715
28715
|
}
|
|
28716
28716
|
function approvalMetaToBatchData(approval) {
|
|
@@ -28751,7 +28751,7 @@ function ApprovalRequestNotificationTile({
|
|
|
28751
28751
|
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _615 => _615.resolution]));
|
|
28752
28752
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
28753
28753
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
28754
|
-
const { innerRef, containerStyle } =
|
|
28754
|
+
const { innerRef, containerStyle } = _chunk23XIOIGScjs.useCollapsible.call(void 0, { expanded });
|
|
28755
28755
|
if (!approval || !batchData) return null;
|
|
28756
28756
|
const tileNotification = {
|
|
28757
28757
|
...notification,
|
|
@@ -28805,7 +28805,7 @@ function ApprovalRequestNotificationTile({
|
|
|
28805
28805
|
}
|
|
28806
28806
|
)
|
|
28807
28807
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
28808
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28808
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ApprovalStatusTag, { status }),
|
|
28809
28809
|
approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
28810
28810
|
"by ",
|
|
28811
28811
|
approval.resolvedByName
|
|
@@ -28823,12 +28823,12 @@ function ApprovalRequestNotificationTile({
|
|
|
28823
28823
|
"aria-expanded": expanded,
|
|
28824
28824
|
"aria-label": toggleLabel,
|
|
28825
28825
|
className: "ml-auto w-6 shrink-0 px-0 md:w-8",
|
|
28826
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28826
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.ExpandChevron, { expanded })
|
|
28827
28827
|
}
|
|
28828
28828
|
)
|
|
28829
28829
|
] }),
|
|
28830
28830
|
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,
|
|
28831
|
-
|
|
28831
|
+
_chunk23XIOIGScjs.ApprovalBatchMessage,
|
|
28832
28832
|
{
|
|
28833
28833
|
data: batchData,
|
|
28834
28834
|
showExecutionStatus: false,
|
|
@@ -29164,7 +29164,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
|
|
|
29164
29164
|
function StatusTag({ status }) {
|
|
29165
29165
|
if (status === "tracking") {
|
|
29166
29166
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29167
|
-
|
|
29167
|
+
_chunk23XIOIGScjs.Tag,
|
|
29168
29168
|
{
|
|
29169
29169
|
variant: "success",
|
|
29170
29170
|
className: STATUS_TAG_SKIN,
|
|
@@ -29174,9 +29174,9 @@ function StatusTag({ status }) {
|
|
|
29174
29174
|
);
|
|
29175
29175
|
}
|
|
29176
29176
|
if (status === "paused") {
|
|
29177
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29177
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYRTMAXLEcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
|
|
29178
29178
|
}
|
|
29179
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29179
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
|
|
29180
29180
|
}
|
|
29181
29181
|
function LastEntryRow({ entry, onClick }) {
|
|
29182
29182
|
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: [
|
|
@@ -29345,7 +29345,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
29345
29345
|
"data-state": isOpen ? "open" : "closed",
|
|
29346
29346
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
29347
29347
|
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
29348
|
-
|
|
29348
|
+
_chunk23XIOIGScjs.OVERLAY_BACKDROP_CLASS,
|
|
29349
29349
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
29350
29350
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
29351
29351
|
)
|
|
@@ -29499,7 +29499,7 @@ function BoardColumnHeader({
|
|
|
29499
29499
|
}) {
|
|
29500
29500
|
const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
|
|
29501
29501
|
const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
|
|
29502
|
-
const useStatusVariant =
|
|
29502
|
+
const useStatusVariant = _chunk23XIOIGScjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
|
|
29503
29503
|
const actionClass = "h-8 w-8 p-0 md:h-8 md:w-8";
|
|
29504
29504
|
if (collapsed) {
|
|
29505
29505
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
@@ -29515,7 +29515,7 @@ function BoardColumnHeader({
|
|
|
29515
29515
|
}
|
|
29516
29516
|
),
|
|
29517
29517
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29518
|
-
|
|
29518
|
+
_chunk23XIOIGScjs.TicketStatusTag,
|
|
29519
29519
|
{
|
|
29520
29520
|
status: tagStatus,
|
|
29521
29521
|
label: column.label,
|
|
@@ -29528,7 +29528,7 @@ function BoardColumnHeader({
|
|
|
29528
29528
|
}
|
|
29529
29529
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
29530
29530
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
29531
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29531
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
|
|
29532
29532
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
|
|
29533
29533
|
] }),
|
|
29534
29534
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -29679,7 +29679,7 @@ function holdMoveDragEffect(element) {
|
|
|
29679
29679
|
|
|
29680
29680
|
function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
29681
29681
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
29682
|
-
const { innerRef, containerStyle } =
|
|
29682
|
+
const { innerRef, containerStyle } = _chunk23XIOIGScjs.useCollapsible.call(void 0, { expanded });
|
|
29683
29683
|
const isAdmin = pendingApproval.approvalType === "ADMIN";
|
|
29684
29684
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
|
|
29685
29685
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -29708,7 +29708,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
|
29708
29708
|
}
|
|
29709
29709
|
),
|
|
29710
29710
|
/* @__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,
|
|
29711
|
-
|
|
29711
|
+
_chunk23XIOIGScjs.ApprovalBatchMessage,
|
|
29712
29712
|
{
|
|
29713
29713
|
className: "mb-0",
|
|
29714
29714
|
data: {
|
|
@@ -29780,7 +29780,7 @@ var ACTIVITY_DEFAULT_LABEL = {
|
|
|
29780
29780
|
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";
|
|
29781
29781
|
function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
|
|
29782
29782
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
29783
|
-
const newMessageTextColor = columnColor ?
|
|
29783
|
+
const newMessageTextColor = columnColor ? _chunk23XIOIGScjs.getReadableTextColor.call(void 0, columnColor) : void 0;
|
|
29784
29784
|
const showDeviceRow = !!(_optionalChain([ticket, 'access', _651 => _651.deviceHostnames, 'optionalAccess', _652 => _652.length]) || ticket.organizationName);
|
|
29785
29785
|
const deviceText = [_optionalChain([ticket, 'access', _653 => _653.deviceHostnames, 'optionalAccess', _654 => _654.join, 'call', _655 => _655(", ")]), ticket.organizationName].filter(Boolean).join(", ");
|
|
29786
29786
|
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _656 => _656.assignees, 'optionalAccess', _657 => _657.length]) || renderAssignSlot);
|
|
@@ -29819,8 +29819,8 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
29819
29819
|
] })
|
|
29820
29820
|
] }) : null
|
|
29821
29821
|
] }) : null;
|
|
29822
|
-
const timestampLabel = ticket.createdAt ?
|
|
29823
|
-
const tooltipLabel = ticket.createdAt ?
|
|
29822
|
+
const timestampLabel = ticket.createdAt ? _chunk23XIOIGScjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
|
|
29823
|
+
const tooltipLabel = ticket.createdAt ? _chunk23XIOIGScjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
|
|
29824
29824
|
const metaLabel = [ticket.ticketNumber || null, timestampLabel].filter(Boolean).join(" \u2022 ");
|
|
29825
29825
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
29826
29826
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
|
|
@@ -29834,9 +29834,9 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
29834
29834
|
rightSection
|
|
29835
29835
|
] }),
|
|
29836
29836
|
_optionalChain([ticket, 'access', _660 => _660.tags, 'optionalAccess', _661 => _661.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
29837
|
-
metaLabel && (tooltipLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29838
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29839
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29837
|
+
metaLabel && (tooltipLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk23XIOIGScjs.Tooltip, { children: [
|
|
29838
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: metaLabel }) }),
|
|
29839
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.TooltipContent, { children: tooltipLabel })
|
|
29840
29840
|
] }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: metaLabel })),
|
|
29841
29841
|
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: [
|
|
29842
29842
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYRTMAXLEcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
|
|
@@ -29856,7 +29856,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
29856
29856
|
}
|
|
29857
29857
|
),
|
|
29858
29858
|
showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29859
|
-
|
|
29859
|
+
_chunk23XIOIGScjs.Tag,
|
|
29860
29860
|
{
|
|
29861
29861
|
label: "New Message",
|
|
29862
29862
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYRTMAXLEcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
|
|
@@ -30071,8 +30071,8 @@ function TicketTagRow({ tags }) {
|
|
|
30071
30071
|
const visible = tags.slice(0, MAX_VISIBLE_TAGS);
|
|
30072
30072
|
const hidden = tags.length - visible.length;
|
|
30073
30073
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
|
|
30074
|
-
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30075
|
-
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30074
|
+
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.Tag, { variant: "outline", label: tag }, tag)),
|
|
30075
|
+
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk23XIOIGScjs.Tag, { variant: "outline", label: `+${hidden}` })
|
|
30076
30076
|
] });
|
|
30077
30077
|
}
|
|
30078
30078
|
|
|
@@ -31766,4 +31766,4 @@ function SortableRow({
|
|
|
31766
31766
|
|
|
31767
31767
|
|
|
31768
31768
|
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.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS = HUBSPOT_DO_NOT_COLLECT_FORM_PROPS; 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.SOCIAL_PLATFORM_ALIASES = SOCIAL_PLATFORM_ALIASES; exports.normalizeSocialPlatform = normalizeSocialPlatform; exports.hostMatches = hostMatches; exports.SOCIAL_PLATFORM_ALT_HOSTS = SOCIAL_PLATFORM_ALT_HOSTS; exports.socialPlatformHosts = socialPlatformHosts; exports.classifySocialHost = classifySocialHost; exports.pickSocialLink = pickSocialLink; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.AppStoreBadge = AppStoreBadge; exports.GooglePlayBadge = GooglePlayBadge; exports.StoreBadgeLinks = StoreBadgeLinks; 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.ENTITY_QUOTES_TITLE = ENTITY_QUOTES_TITLE; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; 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.normalizeSchedulingSlug = normalizeSchedulingSlug; 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.ODS_SPACING_TOKENS = ODS_SPACING_TOKENS; exports.ODS_SPACING_TOKEN_PATTERN = ODS_SPACING_TOKEN_PATTERN; exports.ODS_SPACING_PROPS = ODS_SPACING_PROPS; exports.TAILWIND_STEP_TO_ODS_TOKEN = TAILWIND_STEP_TO_ODS_TOKEN; exports.CSV_CONTENT_TYPE = CSV_CONTENT_TYPE; exports.csvEscape = csvEscape; exports.toCsv = toCsv; exports.BenefitCard = BenefitCard; exports.benefitCardBorderClass = benefitCardBorderClass; 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.PersonCell = PersonCell; exports.PeopleCell = PeopleCell; 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.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; 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.CompactAuthShell = CompactAuthShell; exports.LabeledDivider = LabeledDivider; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.PolicyLink = PolicyLink; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LegalLinks = LegalLinks; exports.LoginForm = LoginForm; exports.NoAccountNotice = NoAccountNotice; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.SsoJoinForm = SsoJoinForm; 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.SOCIAL_ICON_COMPONENTS = SOCIAL_ICON_COMPONENTS; exports.SocialIconRow = SocialIconRow; 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.TICKET_APPROVAL_REQUEST_TYPE = TICKET_APPROVAL_REQUEST_TYPE; exports.MINGO_APPROVAL_REQUEST_TYPE = MINGO_APPROVAL_REQUEST_TYPE; exports.isApprovalNotificationType = isApprovalNotificationType; 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.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.DataTableEmpty = DataTableEmpty; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DATA_TABLE_HEADER_LABEL_CLASS = DATA_TABLE_HEADER_LABEL_CLASS; 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; exports.IconTile = IconTile;
|
|
31769
|
-
//# sourceMappingURL=chunk-
|
|
31769
|
+
//# sourceMappingURL=chunk-W2WEIVHT.cjs.map
|