@flamingo-stack/openframe-frontend-core 0.0.701 → 0.0.702-snapshot.20261005191338
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-DJLZXJYB.js → chunk-2NE3DNXY.js} +1 -1
- package/dist/{chunk-V5QNDOEL.js → chunk-53AC23ZN.js} +4 -4
- package/dist/{chunk-BQ34PIFC.cjs → chunk-5VPIC5MD.cjs} +3 -3
- package/dist/{chunk-BRQY2HKD.cjs → chunk-67CXGPTW.cjs} +24 -24
- package/dist/{chunk-BZYMGI4L.js → chunk-7632TNE7.js} +1 -1
- package/dist/{chunk-QPNR4N7N.cjs → chunk-BMJUKS6S.cjs} +20 -20
- package/dist/{chunk-GD4JALTR.js → chunk-BOUPNYUV.js} +2 -2
- package/dist/{chunk-BPS7JQCI.cjs → chunk-BSEIEWM5.cjs} +2 -2
- package/dist/{chunk-6JG75WVO.js → chunk-DAW6TDZB.js} +4 -4
- package/dist/{chunk-B7M6QEEM.js → chunk-ENGBNKUJ.js} +673 -432
- package/dist/{chunk-N7HMUQRV.js → chunk-G55W76S6.js} +1 -1
- package/dist/{chunk-65YVUYWJ.cjs → chunk-GX3OUTFO.cjs} +32 -32
- package/dist/{chunk-S4ADN25W.js → chunk-GZYLZ4MB.js} +2 -2
- package/dist/{chunk-A5ZGKBN2.js → chunk-HHFPQNP3.js} +1 -1
- package/dist/{chunk-RTGPIHVO.cjs → chunk-HY5YL3U5.cjs} +247 -173
- package/dist/{chunk-DG2I57UM.cjs → chunk-HYLIQMZH.cjs} +21 -21
- package/dist/{chunk-N7DPIH57.js → chunk-J4K5JOLI.js} +1 -1
- package/dist/{chunk-4H5Q6MQG.cjs → chunk-KFDP3DUL.cjs} +44 -44
- package/dist/{chunk-QDIX2ZRL.cjs → chunk-MXHJROXJ.cjs} +754 -513
- package/dist/{chunk-CUPJCGLB.js → chunk-NCTYD7HL.js} +2 -2
- package/dist/{chunk-MFORWVGD.js → chunk-NMGX2ZTU.js} +5 -5
- package/dist/{chunk-QZGFJBG5.cjs → chunk-NU724ZVN.cjs} +70 -70
- package/dist/{chunk-ZSPHOHOW.cjs → chunk-NYSYSKSH.cjs} +9 -9
- package/dist/{chunk-PNWIVND4.js → chunk-PJP5SMOU.js} +3 -3
- package/dist/{chunk-6JPQDYYY.js → chunk-QGTDWFT6.js} +419 -345
- package/dist/{chunk-GFXZMFDX.cjs → chunk-RLDAYA2A.cjs} +9 -9
- package/dist/{chunk-2CSYUMNM.cjs → chunk-RTXTGLGB.cjs} +2 -2
- package/dist/{chunk-YBC346FY.cjs → chunk-S6V7A5FS.cjs} +12 -12
- package/dist/{chunk-7ZDTAABP.cjs → chunk-SFGXIFYO.cjs} +7 -7
- package/dist/{chunk-JPVDJB27.js → chunk-SL2FOFT2.js} +4 -4
- package/dist/{chunk-EONNPRAW.js → chunk-UTW4SQDI.js} +2 -2
- package/dist/{chunk-NIT257DV.cjs → chunk-YBGEPKC2.cjs} +4 -4
- package/dist/components/case-studies/index.cjs +14 -14
- package/dist/components/case-studies/index.js +3 -3
- 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/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 +23 -3
- package/dist/components/features/index.js +22 -2
- package/dist/components/features/remote-session/index.d.ts +9 -1
- package/dist/components/features/remote-session/index.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-session-block.d.ts +4 -2
- package/dist/components/features/remote-session/remote-session-block.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-session-chat-panel.d.ts +4 -2
- package/dist/components/features/remote-session/remote-session-chat-panel.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-session-events.d.ts +24 -0
- package/dist/components/features/remote-session/remote-session-events.d.ts.map +1 -0
- package/dist/components/features/remote-session/remote-session-keep-modals.d.ts +41 -0
- package/dist/components/features/remote-session/remote-session-keep-modals.d.ts.map +1 -0
- package/dist/components/features/remote-session/remote-session-parts.d.ts +13 -2
- package/dist/components/features/remote-session/remote-session-parts.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-session-status.d.ts +34 -0
- package/dist/components/features/remote-session/remote-session-status.d.ts.map +1 -0
- package/dist/components/features/remote-session/remote-session-viewers.d.ts +15 -0
- package/dist/components/features/remote-session/remote-session-viewers.d.ts.map +1 -0
- package/dist/components/features/remote-session/types.d.ts +22 -0
- package/dist/components/features/remote-session/types.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.cjs +71 -71
- package/dist/components/help-center-pages/index.js +14 -14
- package/dist/components/index.cjs +61 -41
- package/dist/components/index.js +33 -13
- package/dist/components/meeting-scheduler/index.cjs +25 -25
- package/dist/components/meeting-scheduler/index.js +2 -2
- package/dist/components/navigation/app-layout-drawer.d.ts.map +1 -1
- 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/drawer.d.ts +7 -3
- package/dist/components/ui/drawer.d.ts.map +1 -1
- package/dist/components/ui/index.cjs +3 -3
- package/dist/components/ui/index.js +2 -2
- package/dist/components/ui/panel-resize-handle.d.ts +25 -0
- package/dist/components/ui/panel-resize-handle.d.ts.map +1 -0
- package/dist/hooks/ui/use-resizable-panel-size.d.ts +46 -0
- package/dist/hooks/ui/use-resizable-panel-size.d.ts.map +1 -0
- package/dist/index.cjs +27 -7
- package/dist/index.js +26 -6
- package/dist/tailwind.config.cjs +7 -1
- package/dist/tailwind.config.js +7 -1
- package/package.json +1 -1
- package/src/components/chat/embeddable-chat.tsx +11 -9
- package/src/components/features/remote-session/index.ts +28 -0
- package/src/components/features/remote-session/remote-session-block.tsx +6 -3
- package/src/components/features/remote-session/remote-session-chat-panel.tsx +11 -7
- package/src/components/features/remote-session/remote-session-events.tsx +93 -0
- package/src/components/features/remote-session/remote-session-keep-modals.tsx +208 -0
- package/src/components/features/remote-session/remote-session-parts.tsx +32 -3
- package/src/components/features/remote-session/remote-session-status.tsx +102 -0
- package/src/components/features/remote-session/remote-session-viewers.tsx +103 -0
- package/src/components/features/remote-session/types.ts +26 -0
- package/src/components/navigation/app-layout-drawer.tsx +14 -237
- package/src/components/ui/drawer.tsx +41 -188
- package/src/components/ui/panel-resize-handle.tsx +184 -0
- package/src/hooks/ui/use-resizable-panel-size.ts +114 -0
- package/tailwind.config.ts +6 -0
|
@@ -95,8 +95,9 @@ var _chunkLX22Y43Bcjs = require('./chunk-LX22Y43B.cjs');
|
|
|
95
95
|
|
|
96
96
|
|
|
97
97
|
|
|
98
|
-
var _chunkRTGPIHVOcjs = require('./chunk-RTGPIHVO.cjs');
|
|
99
98
|
|
|
99
|
+
|
|
100
|
+
var _chunkHY5YL3U5cjs = require('./chunk-HY5YL3U5.cjs');
|
|
100
101
|
|
|
101
102
|
|
|
102
103
|
|
|
@@ -229,6 +230,8 @@ var _chunkX72J4ACLcjs = require('./chunk-X72J4ACL.cjs');
|
|
|
229
230
|
|
|
230
231
|
|
|
231
232
|
|
|
233
|
+
|
|
234
|
+
|
|
232
235
|
|
|
233
236
|
|
|
234
237
|
|
|
@@ -384,7 +387,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
384
387
|
var useTheme = _nextthemes.useTheme;
|
|
385
388
|
function useThemeToggle() {
|
|
386
389
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
387
|
-
const mounted =
|
|
390
|
+
const mounted = _chunkHY5YL3U5cjs.useIsHydrated.call(void 0, );
|
|
388
391
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
389
392
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
390
393
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -2659,7 +2662,7 @@ function Value2({ value, depth }) {
|
|
|
2659
2662
|
}
|
|
2660
2663
|
if (typeof value === "string") {
|
|
2661
2664
|
if (ISO_DATE.test(value)) {
|
|
2662
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children:
|
|
2665
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkHY5YL3U5cjs.formatRelativeTime.call(void 0, value) });
|
|
2663
2666
|
}
|
|
2664
2667
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
|
|
2665
2668
|
}
|
|
@@ -3291,7 +3294,7 @@ function RowValue({ value }) {
|
|
|
3291
3294
|
}
|
|
3292
3295
|
case "status": {
|
|
3293
3296
|
const { type: _type, ...props } = value;
|
|
3294
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3297
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TicketStatusTag, { ...props });
|
|
3295
3298
|
}
|
|
3296
3299
|
case "custom":
|
|
3297
3300
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
|
|
@@ -4747,10 +4750,10 @@ function useConfirm() {
|
|
|
4747
4750
|
},
|
|
4748
4751
|
[]
|
|
4749
4752
|
);
|
|
4750
|
-
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4751
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4752
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4753
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4753
|
+
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
|
|
4754
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalTitle, { children: pending.title }) }),
|
|
4755
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
|
|
4756
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.ModalFooter, { children: [
|
|
4754
4757
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
|
|
4755
4758
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
|
|
4756
4759
|
] })
|
|
@@ -4809,14 +4812,14 @@ function AdminFormDrawer({
|
|
|
4809
4812
|
else onClose();
|
|
4810
4813
|
};
|
|
4811
4814
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4812
|
-
|
|
4815
|
+
_chunkHY5YL3U5cjs.Drawer,
|
|
4813
4816
|
{
|
|
4814
4817
|
open: isOpen,
|
|
4815
4818
|
onOpenChange: (open) => {
|
|
4816
4819
|
if (!open) requestClose();
|
|
4817
4820
|
},
|
|
4818
4821
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4819
|
-
|
|
4822
|
+
_chunkHY5YL3U5cjs.DrawerContent,
|
|
4820
4823
|
{
|
|
4821
4824
|
side: "right",
|
|
4822
4825
|
resizable: true,
|
|
@@ -4825,11 +4828,11 @@ function AdminFormDrawer({
|
|
|
4825
4828
|
storageKey,
|
|
4826
4829
|
panelClassName: "max-md:w-[calc(100vw-1rem)]",
|
|
4827
4830
|
children: [
|
|
4828
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4829
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4830
|
-
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4831
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.DrawerHeader, { children: [
|
|
4832
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.DrawerTitle, { children: title }),
|
|
4833
|
+
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.DrawerDescription, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: subtitle }) })
|
|
4831
4834
|
] }),
|
|
4832
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4835
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.DrawerBody, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4833
4836
|
"form",
|
|
4834
4837
|
{
|
|
4835
4838
|
id: formId,
|
|
@@ -4960,9 +4963,9 @@ function AdminFormModal({
|
|
|
4960
4963
|
body: "Your edits have not been saved. Close and discard them?"
|
|
4961
4964
|
});
|
|
4962
4965
|
if (!isOpen) return null;
|
|
4963
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4964
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4965
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4966
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
|
|
4967
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.ModalHeader, { children: [
|
|
4968
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalTitle, { children: title }),
|
|
4966
4969
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
|
|
4967
4970
|
] }),
|
|
4968
4971
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -4987,7 +4990,7 @@ function AdminFormModal({
|
|
|
4987
4990
|
// a shrink-to-fit flex item pinned to the left of a 1400px panel).
|
|
4988
4991
|
// The placeholder owns its own layout and mirrors the column count so
|
|
4989
4992
|
// the modal doesn't visibly re-flow when the entity lands.
|
|
4990
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4993
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4991
4994
|
"div",
|
|
4992
4995
|
{
|
|
4993
4996
|
"aria-busy": "true",
|
|
@@ -5008,12 +5011,12 @@ function AdminFormModal({
|
|
|
5008
5011
|
]
|
|
5009
5012
|
}
|
|
5010
5013
|
) })
|
|
5011
|
-
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5014
|
+
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalContent, { className: contentClassName, children }),
|
|
5012
5015
|
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
|
|
5013
5016
|
]
|
|
5014
5017
|
}
|
|
5015
5018
|
),
|
|
5016
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5019
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
|
|
5017
5020
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
|
|
5018
5021
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
5019
5022
|
footerStatus,
|
|
@@ -7238,7 +7241,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
|
|
|
7238
7241
|
};
|
|
7239
7242
|
const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
|
|
7240
7243
|
const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7241
|
-
|
|
7244
|
+
_chunkHY5YL3U5cjs.Video,
|
|
7242
7245
|
{
|
|
7243
7246
|
url: item.src,
|
|
7244
7247
|
poster: item.poster ? displayImageSrc(item.poster) : void 0,
|
|
@@ -7962,7 +7965,7 @@ function buildRichEmbedOverrides({
|
|
|
7962
7965
|
ogEndpointPath,
|
|
7963
7966
|
textSizes
|
|
7964
7967
|
}) {
|
|
7965
|
-
const standard =
|
|
7968
|
+
const standard = _chunkHY5YL3U5cjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7966
7969
|
return {
|
|
7967
7970
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7968
7971
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7972,7 +7975,7 @@ function buildRichEmbedOverrides({
|
|
|
7972
7975
|
const language = match ? match[1] : "";
|
|
7973
7976
|
const fenceText = () => String(children).replace(/\n$/, "").trim();
|
|
7974
7977
|
if (language === "youtube-embed") {
|
|
7975
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7978
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.Video, { kind: "youtube", url: fenceText() });
|
|
7976
7979
|
}
|
|
7977
7980
|
if (language === "reddit-embed") {
|
|
7978
7981
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
|
|
@@ -8013,7 +8016,7 @@ function buildRichEmbedOverrides({
|
|
|
8013
8016
|
"data-figma-url": figmaUrl
|
|
8014
8017
|
} = divProps;
|
|
8015
8018
|
if (className === "youtube-embed" && videoId) {
|
|
8016
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8019
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.Video, { kind: "youtube", url: videoId });
|
|
8017
8020
|
}
|
|
8018
8021
|
if (className === "reddit-embed" && postUrl) {
|
|
8019
8022
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
|
|
@@ -8098,14 +8101,14 @@ function buildRichEmbedOverrides({
|
|
|
8098
8101
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
8099
8102
|
// elsewhere). Guard against empty `![]()`.
|
|
8100
8103
|
img: ({ src, alt }) => {
|
|
8101
|
-
if (!
|
|
8104
|
+
if (!_chunkHY5YL3U5cjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
8102
8105
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
8103
8106
|
},
|
|
8104
8107
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
8105
8108
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
8106
8109
|
video: ({ src, poster, className }) => {
|
|
8107
|
-
if (!
|
|
8108
|
-
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,
|
|
8110
|
+
if (!_chunkHY5YL3U5cjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
8111
|
+
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, _chunkHY5YL3U5cjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
8109
8112
|
}
|
|
8110
8113
|
};
|
|
8111
8114
|
}
|
|
@@ -8346,13 +8349,13 @@ var RichMarkdownInner = ({
|
|
|
8346
8349
|
},
|
|
8347
8350
|
[resolveLinkEndpointUrl, resolveSource]
|
|
8348
8351
|
);
|
|
8349
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
8352
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunkHY5YL3U5cjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
8350
8353
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
8351
8354
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
8352
8355
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
8353
8356
|
);
|
|
8354
8357
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8355
|
-
|
|
8358
|
+
_chunkHY5YL3U5cjs.MarkdownEngine,
|
|
8356
8359
|
{
|
|
8357
8360
|
content,
|
|
8358
8361
|
className,
|
|
@@ -8374,7 +8377,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
8374
8377
|
className = "",
|
|
8375
8378
|
sectionIds,
|
|
8376
8379
|
onInternalLinkClick,
|
|
8377
|
-
brokenLinks =
|
|
8380
|
+
brokenLinks = _chunkHY5YL3U5cjs.NO_BROKEN_LINKS,
|
|
8378
8381
|
currentPath,
|
|
8379
8382
|
resolveSource = "openframe-docs",
|
|
8380
8383
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -9356,7 +9359,7 @@ function FilterModal({
|
|
|
9356
9359
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _182 => _182.defaultSort]), () => ( "desc"));
|
|
9357
9360
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _183 => _183.sort]), () => ( dateDefaultSort)));
|
|
9358
9361
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _184 => _184.range]));
|
|
9359
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
9362
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkHY5YL3U5cjs.useScrollFade.call(void 0, );
|
|
9360
9363
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
9361
9364
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
9362
9365
|
_react.useEffect.call(void 0, () => {
|
|
@@ -9401,10 +9404,10 @@ function FilterModal({
|
|
|
9401
9404
|
const hasFilterGroups = filterGroups.length > 0;
|
|
9402
9405
|
const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
|
|
9403
9406
|
const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
|
|
9404
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9405
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9407
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Modal, { isOpen, onClose, className: _chunk3ATAYP36cjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
|
|
9408
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalTitle, { children: title }) }),
|
|
9406
9409
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9407
|
-
|
|
9410
|
+
_chunkHY5YL3U5cjs.ModalContent,
|
|
9408
9411
|
{
|
|
9409
9412
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
9410
9413
|
"flex min-h-0 flex-1 flex-col",
|
|
@@ -9496,12 +9499,12 @@ function FilterModal({
|
|
|
9496
9499
|
] })
|
|
9497
9500
|
}
|
|
9498
9501
|
),
|
|
9499
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9500
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9502
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
9503
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
9501
9504
|
] })
|
|
9502
9505
|
}
|
|
9503
9506
|
),
|
|
9504
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9507
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.ModalFooter, { children: [
|
|
9505
9508
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
|
|
9506
9509
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
|
|
9507
9510
|
] })
|
|
@@ -9545,9 +9548,9 @@ function actionToMenuItems(action, idx) {
|
|
|
9545
9548
|
function renderActionButton(action, opts = {}) {
|
|
9546
9549
|
const button = renderRawActionButton(action, opts);
|
|
9547
9550
|
if (!action.tooltip) return button;
|
|
9548
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9549
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9550
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9551
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Tooltip, { children: [
|
|
9552
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipTrigger, { asChild: true, children: button }),
|
|
9553
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipContent, { children: action.tooltip })
|
|
9551
9554
|
] }) });
|
|
9552
9555
|
}
|
|
9553
9556
|
function renderRawActionButton(action, opts = {}) {
|
|
@@ -9571,7 +9574,7 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
9571
9574
|
}
|
|
9572
9575
|
if (action.submenu && action.submenu.length > 0) {
|
|
9573
9576
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9574
|
-
|
|
9577
|
+
_chunkHY5YL3U5cjs.ActionsMenuDropdown,
|
|
9575
9578
|
{
|
|
9576
9579
|
groups: [{ items: action.submenu }],
|
|
9577
9580
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -9706,10 +9709,10 @@ function IconButtonsVariant({
|
|
|
9706
9709
|
selector,
|
|
9707
9710
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
9708
9711
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
|
|
9709
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9712
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ActionsMenuDropdown, { groups: menuActions })
|
|
9710
9713
|
] })
|
|
9711
9714
|
] }),
|
|
9712
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.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,
|
|
9715
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.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, _chunkHY5YL3U5cjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
|
|
9713
9716
|
] });
|
|
9714
9717
|
}
|
|
9715
9718
|
function PrimaryButtonsVariant({
|
|
@@ -9747,7 +9750,7 @@ function MenuPrimaryVariant({
|
|
|
9747
9750
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
|
|
9748
9751
|
selector,
|
|
9749
9752
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
9750
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9753
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ActionsMenuDropdown, { groups: menuActions }),
|
|
9751
9754
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
|
|
9752
9755
|
] })
|
|
9753
9756
|
] }),
|
|
@@ -9755,7 +9758,7 @@ function MenuPrimaryVariant({
|
|
|
9755
9758
|
// The selector rides into the menu as its header row: on mobile the
|
|
9756
9759
|
// title row has no room for it, and hiding it entirely (what
|
|
9757
9760
|
// `icon-buttons` does) would leave no way to switch views at all.
|
|
9758
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9761
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
|
|
9759
9762
|
) : null })
|
|
9760
9763
|
] });
|
|
9761
9764
|
}
|
|
@@ -11849,8 +11852,8 @@ function makeComposeContentUrl(opts) {
|
|
|
11849
11852
|
}
|
|
11850
11853
|
if (externalUrl) return { href: externalUrl, targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)) };
|
|
11851
11854
|
const claimedOwner = _nullishCoalesce(targetPlatform, () => ( primaryPlatformOf(platforms)));
|
|
11852
|
-
const owner = claimedOwner &&
|
|
11853
|
-
const origin = owner ?
|
|
11855
|
+
const owner = claimedOwner && _chunkHY5YL3U5cjs.byKey.call(void 0, claimedOwner) ? claimedOwner : null;
|
|
11856
|
+
const origin = owner ? _chunkHY5YL3U5cjs.getPlatformProductionUrl.call(void 0, owner) : opts.contentOrigin;
|
|
11854
11857
|
return {
|
|
11855
11858
|
href: `${origin.replace(/\/+$/, "")}/${seg}/${_optionalChain([slugHint, 'optionalAccess', _244 => _244.trim, 'call', _245 => _245()]) || identifier}`,
|
|
11856
11859
|
// Report the owner so `decideNewTab` can compare it against the current
|
|
@@ -12025,7 +12028,7 @@ function extractSections(markdown, options = {}) {
|
|
|
12025
12028
|
if (heading.level > opts.maxLevel) continue;
|
|
12026
12029
|
let title = heading.text;
|
|
12027
12030
|
if (opts.stripFormattingMarkers) {
|
|
12028
|
-
title =
|
|
12031
|
+
title = _chunkHY5YL3U5cjs.stripInlineMarkdown.call(void 0, title).trim();
|
|
12029
12032
|
}
|
|
12030
12033
|
const baseId = _chunkIIMICN7Lcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkIIMICN7Lcjs.stripHeadingEmojis.call(void 0, title) : title);
|
|
12031
12034
|
const cleanId = baseId || `section-${sections.length + 1}`;
|
|
@@ -13382,7 +13385,7 @@ function DropdownButton({
|
|
|
13382
13385
|
)
|
|
13383
13386
|
);
|
|
13384
13387
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13385
|
-
|
|
13388
|
+
_chunkHY5YL3U5cjs.ActionsMenuDropdown,
|
|
13386
13389
|
{
|
|
13387
13390
|
groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
|
|
13388
13391
|
open,
|
|
@@ -13820,9 +13823,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
13820
13823
|
return next;
|
|
13821
13824
|
});
|
|
13822
13825
|
};
|
|
13823
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13826
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Tooltip, { open, onOpenChange: setOpen, children: [
|
|
13824
13827
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13825
|
-
|
|
13828
|
+
_chunkHY5YL3U5cjs.TooltipTrigger,
|
|
13826
13829
|
{
|
|
13827
13830
|
asChild: true,
|
|
13828
13831
|
onPointerDown: (e) => {
|
|
@@ -13840,7 +13843,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
13840
13843
|
children
|
|
13841
13844
|
}
|
|
13842
13845
|
),
|
|
13843
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13846
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipContent, { side, className: "max-w-xs", children: content })
|
|
13844
13847
|
] }) });
|
|
13845
13848
|
}
|
|
13846
13849
|
|
|
@@ -14513,7 +14516,7 @@ function TableHeader({
|
|
|
14513
14516
|
onFilterChange
|
|
14514
14517
|
}
|
|
14515
14518
|
),
|
|
14516
|
-
column.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14519
|
+
column.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InfoHint, { label: column.label, children: column.hint }) : null
|
|
14517
14520
|
] })
|
|
14518
14521
|
) : (
|
|
14519
14522
|
/* Non-filterable column — regular label with optional sort */
|
|
@@ -14539,7 +14542,7 @@ function TableHeader({
|
|
|
14539
14542
|
hint exists, so a hint-less header keeps its DOM. */
|
|
14540
14543
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
14541
14544
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TABLE_HEADER_LABEL_CLASS, children: column.label }),
|
|
14542
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14545
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InfoHint, { label: column.label, children: column.hint })
|
|
14543
14546
|
] })
|
|
14544
14547
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TABLE_HEADER_LABEL_CLASS, children: column.label }),
|
|
14545
14548
|
getSortIcon(column)
|
|
@@ -15151,9 +15154,9 @@ function TruncatedHeaderCell({ value, width }) {
|
|
|
15151
15154
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
15152
15155
|
}
|
|
15153
15156
|
}, []);
|
|
15154
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15155
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15156
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15157
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
15158
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.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 }) }) }),
|
|
15159
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
|
|
15157
15160
|
] }) });
|
|
15158
15161
|
}
|
|
15159
15162
|
|
|
@@ -15206,9 +15209,9 @@ function TruncatedCell({ value, className }) {
|
|
|
15206
15209
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
15207
15210
|
}
|
|
15208
15211
|
}, []);
|
|
15209
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15210
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15211
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15212
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
15213
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, className: _chunk3ATAYP36cjs.cn.call(void 0, "block truncate", className), children: value }) }),
|
|
15214
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
|
|
15212
15215
|
] }) });
|
|
15213
15216
|
}
|
|
15214
15217
|
|
|
@@ -15880,7 +15883,7 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
15880
15883
|
// child of the cell.
|
|
15881
15884
|
_optionalChain([meta, 'optionalAccess', _325 => _325.hint]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
15882
15885
|
filterTrigger,
|
|
15883
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15886
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
|
|
15884
15887
|
] }) : filterTrigger
|
|
15885
15888
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
15886
15889
|
"div",
|
|
@@ -15905,7 +15908,7 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
15905
15908
|
// centred on the row.
|
|
15906
15909
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
15907
15910
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
15908
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15911
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
|
|
15909
15912
|
] })
|
|
15910
15913
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
15911
15914
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -17841,20 +17844,20 @@ function ColorPresetSelect({
|
|
|
17841
17844
|
...presets.map((p) => ({
|
|
17842
17845
|
id: p.key,
|
|
17843
17846
|
label: p.label,
|
|
17844
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17847
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ColorSwatch, { color: p.color }),
|
|
17845
17848
|
onClick: () => onChange({ color: p.color, preset: p.key })
|
|
17846
17849
|
})),
|
|
17847
17850
|
{
|
|
17848
17851
|
id: CUSTOM_PRESET_KEY,
|
|
17849
17852
|
label: "Custom",
|
|
17850
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17853
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
|
|
17851
17854
|
onClick: () => onChange({ color: value, preset: void 0 })
|
|
17852
17855
|
}
|
|
17853
17856
|
]
|
|
17854
17857
|
}
|
|
17855
17858
|
];
|
|
17856
17859
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17857
|
-
|
|
17860
|
+
_chunkHY5YL3U5cjs.ActionsMenuDropdown,
|
|
17858
17861
|
{
|
|
17859
17862
|
groups,
|
|
17860
17863
|
align: "start",
|
|
@@ -17864,7 +17867,7 @@ function ColorPresetSelect({
|
|
|
17864
17867
|
{
|
|
17865
17868
|
disabled,
|
|
17866
17869
|
"aria-label": `Color: ${displayLabel}`,
|
|
17867
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17870
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ColorSwatch, { color: displayColor }),
|
|
17868
17871
|
selectedLabel: displayLabel,
|
|
17869
17872
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
17870
17873
|
className: _chunk3ATAYP36cjs.cn.call(void 0, "group", className)
|
|
@@ -17885,7 +17888,7 @@ function HexInputs({ value, onChange }) {
|
|
|
17885
17888
|
}
|
|
17886
17889
|
const commit = () => {
|
|
17887
17890
|
const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
|
|
17888
|
-
if (
|
|
17891
|
+
if (_chunkHY5YL3U5cjs.HEX_PATTERN.test(candidate)) onChange(candidate);
|
|
17889
17892
|
else setDraft(value);
|
|
17890
17893
|
};
|
|
17891
17894
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17949,12 +17952,12 @@ function ChannelInput({
|
|
|
17949
17952
|
);
|
|
17950
17953
|
}
|
|
17951
17954
|
function RgbInputs({ value, onChange }) {
|
|
17952
|
-
const rgb = _nullishCoalesce(
|
|
17955
|
+
const rgb = _nullishCoalesce(_chunkHY5YL3U5cjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
17953
17956
|
const update = (next) => {
|
|
17954
17957
|
const r = _nullishCoalesce(next.r, () => ( rgb.r));
|
|
17955
17958
|
const g = _nullishCoalesce(next.g, () => ( rgb.g));
|
|
17956
17959
|
const b = _nullishCoalesce(next.b, () => ( rgb.b));
|
|
17957
|
-
onChange(
|
|
17960
|
+
onChange(_chunkHY5YL3U5cjs.rgbToHex.call(void 0, r, g, b));
|
|
17958
17961
|
};
|
|
17959
17962
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
17960
17963
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
|
|
@@ -17963,14 +17966,14 @@ function RgbInputs({ value, onChange }) {
|
|
|
17963
17966
|
] });
|
|
17964
17967
|
}
|
|
17965
17968
|
function HslInputs({ value, onChange }) {
|
|
17966
|
-
const rgb = _nullishCoalesce(
|
|
17967
|
-
const hsl =
|
|
17969
|
+
const rgb = _nullishCoalesce(_chunkHY5YL3U5cjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
17970
|
+
const hsl = _chunkHY5YL3U5cjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
|
|
17968
17971
|
const update = (next) => {
|
|
17969
17972
|
const h = _nullishCoalesce(next.h, () => ( hsl.h));
|
|
17970
17973
|
const s = _nullishCoalesce(next.s, () => ( hsl.s));
|
|
17971
17974
|
const l = _nullishCoalesce(next.l, () => ( hsl.l));
|
|
17972
|
-
const out =
|
|
17973
|
-
onChange(
|
|
17975
|
+
const out = _chunkHY5YL3U5cjs.hslToRgb.call(void 0, h, s, l);
|
|
17976
|
+
onChange(_chunkHY5YL3U5cjs.rgbToHex.call(void 0, out.r, out.g, out.b));
|
|
17974
17977
|
};
|
|
17975
17978
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
17976
17979
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
|
|
@@ -17996,7 +17999,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
17996
17999
|
{
|
|
17997
18000
|
disabled,
|
|
17998
18001
|
"aria-label": "Pick custom color",
|
|
17999
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18002
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ColorSwatch, { color: value }),
|
|
18000
18003
|
selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
|
|
18001
18004
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
18002
18005
|
className: _chunk3ATAYP36cjs.cn.call(void 0, "group", className)
|
|
@@ -18012,7 +18015,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
18012
18015
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
|
|
18013
18016
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
18014
18017
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18015
|
-
|
|
18018
|
+
_chunkHY5YL3U5cjs.ActionsMenuDropdown,
|
|
18016
18019
|
{
|
|
18017
18020
|
groups: formatGroups,
|
|
18018
18021
|
align: "start",
|
|
@@ -18069,7 +18072,7 @@ function TicketStatusConfigRow({
|
|
|
18069
18072
|
const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
|
|
18070
18073
|
const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
|
|
18071
18074
|
const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18072
|
-
|
|
18075
|
+
_chunkHY5YL3U5cjs.TicketStatusTag,
|
|
18073
18076
|
{
|
|
18074
18077
|
status: statusKey,
|
|
18075
18078
|
label: name || " ",
|
|
@@ -18221,7 +18224,7 @@ function formatTestRunDuration(ms) {
|
|
|
18221
18224
|
var RESULT_COLUMN_MIN_WIDTH = 176;
|
|
18222
18225
|
var SKELETON_COLUMNS = 6;
|
|
18223
18226
|
function TestResultsSkeleton() {
|
|
18224
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18227
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
18225
18228
|
/* @__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}`)) }),
|
|
18226
18229
|
/* @__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}`)) }) })
|
|
18227
18230
|
] }) });
|
|
@@ -18256,7 +18259,7 @@ function TestResultsTable({ rows, loading }) {
|
|
|
18256
18259
|
if (loading) {
|
|
18257
18260
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
18258
18261
|
}
|
|
18259
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18262
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.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: [
|
|
18260
18263
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
18261
18264
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
18262
18265
|
] }) }) });
|
|
@@ -18362,7 +18365,7 @@ function useTestRunState(campaign) {
|
|
|
18362
18365
|
const stopReason = _nullishCoalesce(campaign.stopReason, () => ( "completed"));
|
|
18363
18366
|
const status = isActive ? "running" : hasRun && isFinished ? stopReason === "completed" ? firstError ? "error" : "success" : stopReason : "idle";
|
|
18364
18367
|
const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
|
|
18365
|
-
const startedLabel = showTiming && campaign.startedAt ?
|
|
18368
|
+
const startedLabel = showTiming && campaign.startedAt ? _chunkHY5YL3U5cjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
|
|
18366
18369
|
const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
|
|
18367
18370
|
const displayRows = _react.useMemo.call(void 0,
|
|
18368
18371
|
() => campaign.results.map(
|
|
@@ -18700,7 +18703,7 @@ function TicketInfoSection({
|
|
|
18700
18703
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _430 => _430.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _431 => _431.icon]), onClick: _optionalChain([device, 'optionalAccess', _432 => _432.onClick]) }),
|
|
18701
18704
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
18702
18705
|
(status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18703
|
-
|
|
18706
|
+
_chunkHY5YL3U5cjs.TicketStatusTag,
|
|
18704
18707
|
{
|
|
18705
18708
|
status: _nullishCoalesce(status, () => ( "")),
|
|
18706
18709
|
label: statusLabel,
|
|
@@ -18739,7 +18742,7 @@ function TicketInfoSection({
|
|
|
18739
18742
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
18740
18743
|
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" }) }),
|
|
18741
18744
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
|
|
18742
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18745
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.SimpleMarkdownRenderer, { content: description }),
|
|
18743
18746
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
18744
18747
|
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, _chunkEMCQGFXDcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
|
|
18745
18748
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18764,7 +18767,7 @@ function renderTicketStatusOption(option, isSelected) {
|
|
|
18764
18767
|
const { label, color } = option;
|
|
18765
18768
|
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: [
|
|
18766
18769
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
18767
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18770
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ColorSwatch, { color }),
|
|
18768
18771
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
|
|
18769
18772
|
] }),
|
|
18770
18773
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -18809,9 +18812,9 @@ function TakeOverTicketModal({
|
|
|
18809
18812
|
if (!selectedStatusId || !assigneeId || isPending) return;
|
|
18810
18813
|
onConfirm({ statusId: selectedStatusId, assigneeId });
|
|
18811
18814
|
};
|
|
18812
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18815
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
18813
18816
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
18814
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18817
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalTitle, { children: "Take Over Ticket" }) }),
|
|
18815
18818
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
18816
18819
|
"The ticket ",
|
|
18817
18820
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -18826,7 +18829,7 @@ function TakeOverTicketModal({
|
|
|
18826
18829
|
value: selectedStatusId,
|
|
18827
18830
|
onChange: setStatusId,
|
|
18828
18831
|
placeholder: "Select Status",
|
|
18829
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18832
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
18830
18833
|
renderOption: renderTicketStatusOption
|
|
18831
18834
|
}
|
|
18832
18835
|
) }),
|
|
@@ -18853,7 +18856,7 @@ function TakeOverTicketModal({
|
|
|
18853
18856
|
}
|
|
18854
18857
|
) })
|
|
18855
18858
|
] }),
|
|
18856
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18859
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.ModalFooter, { children: [
|
|
18857
18860
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
18858
18861
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
18859
18862
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18912,9 +18915,9 @@ function ReopenTicketModal({
|
|
|
18912
18915
|
reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
|
|
18913
18916
|
});
|
|
18914
18917
|
};
|
|
18915
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18918
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
18916
18919
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
18917
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18920
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
18918
18921
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
18919
18922
|
"The ticket ",
|
|
18920
18923
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -18929,7 +18932,7 @@ function ReopenTicketModal({
|
|
|
18929
18932
|
value: selectedStatusId,
|
|
18930
18933
|
onChange: setStatusId,
|
|
18931
18934
|
placeholder: "Select Status",
|
|
18932
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18935
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
18933
18936
|
renderOption: renderTicketStatusOption
|
|
18934
18937
|
}
|
|
18935
18938
|
) }),
|
|
@@ -18967,7 +18970,7 @@ function ReopenTicketModal({
|
|
|
18967
18970
|
disabled: isPending
|
|
18968
18971
|
}
|
|
18969
18972
|
) }),
|
|
18970
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18973
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.ModalFooter, { children: [
|
|
18971
18974
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
18972
18975
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
18973
18976
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19016,9 +19019,9 @@ function ReopenTicketRequestModal({
|
|
|
19016
19019
|
...showHandoffOption ? { handoffToTechnician: handoff } : {}
|
|
19017
19020
|
});
|
|
19018
19021
|
};
|
|
19019
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
19022
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
19020
19023
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
19021
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19024
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
19022
19025
|
/* @__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." }),
|
|
19023
19026
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19024
19027
|
Textarea,
|
|
@@ -19042,7 +19045,7 @@ function ReopenTicketRequestModal({
|
|
|
19042
19045
|
disabled: isPending
|
|
19043
19046
|
}
|
|
19044
19047
|
),
|
|
19045
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
19048
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.ModalFooter, { children: [
|
|
19046
19049
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
|
|
19047
19050
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
|
|
19048
19051
|
] })
|
|
@@ -19184,7 +19187,7 @@ function PhotoWall({ images, columns = 2, speed = 24, fadeColor, className, load
|
|
|
19184
19187
|
gap: COLUMN_GAP_PX
|
|
19185
19188
|
};
|
|
19186
19189
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootRef, "aria-hidden": "true", className: _chunk3ATAYP36cjs.cn.call(void 0, "grid overflow-hidden", className), style: gridStyle, children: columnsToDraw ? columnsToDraw.map((column, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19187
|
-
|
|
19190
|
+
_chunkHY5YL3U5cjs.MarqueeWall,
|
|
19188
19191
|
{
|
|
19189
19192
|
axis: "y",
|
|
19190
19193
|
reverse: index % 2 === 1,
|
|
@@ -19328,7 +19331,7 @@ var INCIDENT_TONE = {
|
|
|
19328
19331
|
approved: "success"
|
|
19329
19332
|
};
|
|
19330
19333
|
function IncidentStatusLine({ status, label, className }) {
|
|
19331
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19334
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.StatusLine, { tone: INCIDENT_TONE[status], label, className });
|
|
19332
19335
|
}
|
|
19333
19336
|
function SourceTag({ children }) {
|
|
19334
19337
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 rounded-md border border-ods-border px-2 py-1 text-ods-text-secondary text-h5", children });
|
|
@@ -21936,7 +21939,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
|
|
|
21936
21939
|
sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
|
|
21937
21940
|
title: config.title,
|
|
21938
21941
|
loading: "eager",
|
|
21939
|
-
...
|
|
21942
|
+
..._chunkHY5YL3U5cjs.fetchPriorityProp.call(void 0, "high")
|
|
21940
21943
|
},
|
|
21941
21944
|
iframeKey
|
|
21942
21945
|
),
|
|
@@ -22929,7 +22932,7 @@ function MediaGalleryManager({
|
|
|
22929
22932
|
) }),
|
|
22930
22933
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: isVideoItem(item) ? (
|
|
22931
22934
|
// <Video> SSOT (MuxPlayer): plays Mux HLS and MP4 alike; fit="cover" crops to the cell.
|
|
22932
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22935
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
22933
22936
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22934
22937
|
_chunkMGHIV4L6cjs.next_image_default,
|
|
22935
22938
|
{
|
|
@@ -23413,60 +23416,60 @@ function CardSkeleton({
|
|
|
23413
23416
|
function VendorCardContent({ showMetadata }) {
|
|
23414
23417
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-3 p-4", children: [
|
|
23415
23418
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start gap-3", children: [
|
|
23416
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[60px] w-[60px] flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23419
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[60px] w-[60px] flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Avatar, { size: "sm", className: "h-11 w-11" }) }),
|
|
23417
23420
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center space-y-1 py-2", children: [
|
|
23418
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23419
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23421
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
23422
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-1/2" })
|
|
23420
23423
|
] })
|
|
23421
23424
|
] }),
|
|
23422
23425
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-full items-center overflow-hidden", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
|
|
23423
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23424
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23426
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
23427
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
23425
23428
|
] }) }),
|
|
23426
23429
|
showMetadata && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-2", children: [
|
|
23427
23430
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-shrink items-center gap-3 md:gap-4", children: [
|
|
23428
23431
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
23429
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23430
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23432
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
23433
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-8" })
|
|
23431
23434
|
] }),
|
|
23432
23435
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
23433
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23434
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23436
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
23437
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-10" })
|
|
23435
23438
|
] })
|
|
23436
23439
|
] }),
|
|
23437
23440
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5 rounded border border-ods-border bg-ods-bg px-2.5 py-1.5", children: [
|
|
23438
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23439
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23441
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm", className: "h-2.5 w-2.5" }) }),
|
|
23442
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" })
|
|
23440
23443
|
] }) })
|
|
23441
23444
|
] })
|
|
23442
23445
|
] });
|
|
23443
23446
|
}
|
|
23444
23447
|
function BlogCardContent({ showActions, showMetadata }) {
|
|
23445
23448
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
23446
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "blog-card-image-container relative aspect-[1200/630] w-full overflow-hidden bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23449
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "blog-card-image-container relative aspect-[1200/630] w-full overflow-hidden bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.CardImage, {}) }),
|
|
23447
23450
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-grow flex-col p-4", children: [
|
|
23448
23451
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 flex min-h-[50.4px] items-center md:min-h-[56px] lg:min-h-[61.6px]", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
|
|
23449
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23450
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23452
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-full" }),
|
|
23453
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-3/4" })
|
|
23451
23454
|
] }) }),
|
|
23452
23455
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-3 flex h-[28px] items-center gap-2", children: [
|
|
23453
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23454
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23456
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Chip, { className: "w-16" }),
|
|
23457
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Chip, { className: "w-12" })
|
|
23455
23458
|
] }),
|
|
23456
23459
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 flex min-h-[42px] items-center md:min-h-[45px] lg:min-h-[48px]", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
|
|
23457
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23458
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23460
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
23461
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-1/2" })
|
|
23459
23462
|
] }) }),
|
|
23460
|
-
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23463
|
+
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Button, { className: "h-8 w-24" }) }),
|
|
23461
23464
|
showMetadata && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-auto", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-4 border-t border-ods-border pt-4", children: [
|
|
23462
23465
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
|
|
23463
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23464
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23466
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Avatar, { size: "sm" }),
|
|
23467
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" })
|
|
23465
23468
|
] }),
|
|
23466
23469
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-3 text-ods-text-muted", children: [
|
|
23467
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23470
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-12" }),
|
|
23468
23471
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-1 w-1 rounded-full bg-ods-skeleton" }),
|
|
23469
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23472
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" })
|
|
23470
23473
|
] })
|
|
23471
23474
|
] }) })
|
|
23472
23475
|
] })
|
|
@@ -23474,35 +23477,35 @@ function BlogCardContent({ showActions, showMetadata }) {
|
|
|
23474
23477
|
}
|
|
23475
23478
|
function CategoryCardContent() {
|
|
23476
23479
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4 p-4 md:p-6", children: [
|
|
23477
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-2 md:gap-3", children: Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23480
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-2 md:gap-3", children: Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "lg", className: "flex-shrink-0" }, index)) }),
|
|
23478
23481
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23479
23482
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
23480
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23481
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23483
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
23484
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-1/2" })
|
|
23482
23485
|
] }),
|
|
23483
23486
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between gap-4 md:items-end md:gap-6", children: [
|
|
23484
23487
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
23485
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23486
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23488
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
23489
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
23487
23490
|
] }),
|
|
23488
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23491
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Button, { className: "h-10 w-10 flex-shrink-0 md:h-12 md:w-12" })
|
|
23489
23492
|
] })
|
|
23490
23493
|
] })
|
|
23491
23494
|
] });
|
|
23492
23495
|
}
|
|
23493
23496
|
function AlternativeCardContent({ showActions }) {
|
|
23494
23497
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-4 p-4", children: [
|
|
23495
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23498
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Avatar, { size: "md", className: "flex-shrink-0" }),
|
|
23496
23499
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
23497
23500
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between", children: [
|
|
23498
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23499
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23501
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-1/3" }),
|
|
23502
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" })
|
|
23500
23503
|
] }),
|
|
23501
23504
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
23502
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23503
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23505
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
23506
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-5/6" })
|
|
23504
23507
|
] }),
|
|
23505
|
-
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23508
|
+
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Button, { className: "h-8 w-20" }) })
|
|
23506
23509
|
] })
|
|
23507
23510
|
] });
|
|
23508
23511
|
}
|
|
@@ -23553,12 +23556,12 @@ function HeroSkeleton() {
|
|
|
23553
23556
|
background: "radial-gradient(circle at 50% 0%, #242323 0%, #1A1A1A 100%)"
|
|
23554
23557
|
},
|
|
23555
23558
|
children: [
|
|
23556
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23559
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Heading, { className: "mb-4 h-12 w-full max-w-4xl md:mb-6 md:h-20 lg:h-24" }),
|
|
23557
23560
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-8 w-full max-w-4xl space-y-3 px-2 md:mb-10", children: [
|
|
23558
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23559
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23561
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "h-5 md:h-7" }),
|
|
23562
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "mx-auto h-5 w-3/4 md:h-7" })
|
|
23560
23563
|
] }),
|
|
23561
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23564
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Button, { className: "h-12 w-full md:w-64" })
|
|
23562
23565
|
]
|
|
23563
23566
|
}
|
|
23564
23567
|
);
|
|
@@ -23569,14 +23572,14 @@ function SearchContainerSkeleton({
|
|
|
23569
23572
|
}) {
|
|
23570
23573
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-4", className || ""), children: [
|
|
23571
23574
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2 md:gap-4", children: [
|
|
23572
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23573
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23575
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Input, { className: "flex-1" }),
|
|
23576
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Button, { className: "w-32 md:w-40" })
|
|
23574
23577
|
] }),
|
|
23575
23578
|
showFilters && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap gap-2", children: [
|
|
23576
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23577
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23578
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23579
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23579
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Chip, {}),
|
|
23580
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Chip, { className: "w-24" }),
|
|
23581
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Chip, { className: "w-16" }),
|
|
23582
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Chip, { className: "w-20" })
|
|
23580
23583
|
] })
|
|
23581
23584
|
] });
|
|
23582
23585
|
}
|
|
@@ -23595,7 +23598,7 @@ function CategorySidebarSkeleton({ className }) {
|
|
|
23595
23598
|
{ type: "file", width: "w-36" }
|
|
23596
23599
|
];
|
|
23597
23600
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "w-full lg:w-[320px]", className), children: [
|
|
23598
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23601
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "mb-4 h-[14px] w-24 rounded" }),
|
|
23599
23602
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-1.5", children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23600
23603
|
"div",
|
|
23601
23604
|
{
|
|
@@ -23605,12 +23608,12 @@ function CategorySidebarSkeleton({ className }) {
|
|
|
23605
23608
|
),
|
|
23606
23609
|
children: [
|
|
23607
23610
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2.5", children: [
|
|
23608
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23609
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23611
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-4 w-4 shrink-0 rounded" }),
|
|
23612
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: `h-[14px] ${item.width} rounded` })
|
|
23610
23613
|
] }),
|
|
23611
23614
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-[18px] items-center gap-2", children: [
|
|
23612
|
-
item.hasBadge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23613
|
-
item.type === "folder" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23615
|
+
item.hasBadge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-[18px] w-14 rounded" }),
|
|
23616
|
+
item.type === "folder" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-4 w-4 rounded" })
|
|
23614
23617
|
] })
|
|
23615
23618
|
]
|
|
23616
23619
|
},
|
|
@@ -23620,17 +23623,17 @@ function CategorySidebarSkeleton({ className }) {
|
|
|
23620
23623
|
}
|
|
23621
23624
|
function BreadcrumbSkeleton({ className }) {
|
|
23622
23625
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "mb-6 flex items-center space-x-1", className), children: [
|
|
23623
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23624
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23625
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23626
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23627
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23628
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23629
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23626
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" }),
|
|
23627
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
|
|
23628
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-24" }),
|
|
23629
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
|
|
23630
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-32" }),
|
|
23631
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
|
|
23632
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-24" })
|
|
23630
23633
|
] });
|
|
23631
23634
|
}
|
|
23632
23635
|
function ResultsHeaderSkeleton({ className }) {
|
|
23633
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "mb-6 flex flex-col items-start justify-between gap-4 md:flex-row md:items-center", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23636
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "mb-6 flex flex-col items-start justify-between gap-4 md:flex-row md:items-center", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-48" }) }) });
|
|
23634
23637
|
}
|
|
23635
23638
|
function TwoColumnLayoutSkeleton({
|
|
23636
23639
|
className,
|
|
@@ -23662,35 +23665,35 @@ function ArticleLayoutSkeleton({ className }) {
|
|
|
23662
23665
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "article", { className: _chunk3ATAYP36cjs.cn.call(void 0, "mx-auto max-w-4xl", className), children: [
|
|
23663
23666
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "header", { className: "mb-8 space-y-4 md:mb-12 md:space-y-6", children: [
|
|
23664
23667
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2", children: [
|
|
23665
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23666
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23668
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Chip, {}),
|
|
23669
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Chip, { className: "w-16" })
|
|
23667
23670
|
] }),
|
|
23668
23671
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
|
|
23669
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23670
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23672
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Heading, { className: "w-full" }),
|
|
23673
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Heading, { className: "w-3/4" })
|
|
23671
23674
|
] }),
|
|
23672
23675
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 border-t border-ods-divider pt-4", children: [
|
|
23673
23676
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
23674
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23675
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23677
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Avatar, { size: "sm" }),
|
|
23678
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-24" })
|
|
23676
23679
|
] }),
|
|
23677
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23678
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23680
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-20" }),
|
|
23681
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" })
|
|
23679
23682
|
] })
|
|
23680
23683
|
] }),
|
|
23681
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 md:mb-12", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23684
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 md:mb-12", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.CardImage, { className: "h-64 w-full md:h-96" }) }),
|
|
23682
23685
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "prose prose-invert max-w-none space-y-6", children: [
|
|
23683
23686
|
Array.from({ length: 12 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23684
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23685
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23686
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23687
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23687
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
23688
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
23689
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-5/6" }),
|
|
23690
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
23688
23691
|
] }, index)),
|
|
23689
23692
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "py-4", children: [
|
|
23690
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23693
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "mb-4 w-2/3" }),
|
|
23691
23694
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23692
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23693
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23695
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
23696
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-4/5" })
|
|
23694
23697
|
] })
|
|
23695
23698
|
] })
|
|
23696
23699
|
] })
|
|
@@ -23916,11 +23919,11 @@ function StatsSectionSkeleton({ className, columns = 3 }) {
|
|
|
23916
23919
|
className
|
|
23917
23920
|
),
|
|
23918
23921
|
children: Array.from({ length: columns }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-ods-border bg-ods-card p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
23919
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23920
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23922
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "lg" }),
|
|
23923
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
23921
23924
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23922
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23923
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23925
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
23926
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
23924
23927
|
] })
|
|
23925
23928
|
] }) }, i))
|
|
23926
23929
|
}
|
|
@@ -24061,7 +24064,7 @@ function useContentLoading(isLoading) {
|
|
|
24061
24064
|
|
|
24062
24065
|
function ParagraphSkeleton({ className, lines = 4 }) {
|
|
24063
24066
|
const lineWidths = ["w-full", "w-full", "w-5/6", "w-3/4", "w-4/5", "w-2/3"];
|
|
24064
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-2", className), children: Array.from({ length: lines }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24067
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-2", className), children: Array.from({ length: lines }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: lineWidths[index % lineWidths.length] }, index)) });
|
|
24065
24068
|
}
|
|
24066
24069
|
function ListSkeleton({
|
|
24067
24070
|
className,
|
|
@@ -24071,12 +24074,12 @@ function ListSkeleton({
|
|
|
24071
24074
|
}) {
|
|
24072
24075
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-3", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between", children: [
|
|
24073
24076
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
24074
|
-
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24075
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24077
|
+
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
24078
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-32 md:w-48" })
|
|
24076
24079
|
] }),
|
|
24077
24080
|
showActions && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
24078
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24079
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24081
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-8" }),
|
|
24082
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4" })
|
|
24080
24083
|
] })
|
|
24081
24084
|
] }, index)) });
|
|
24082
24085
|
}
|
|
@@ -24086,13 +24089,13 @@ function TableSkeleton({
|
|
|
24086
24089
|
columns = 4
|
|
24087
24090
|
}) {
|
|
24088
24091
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-4", className), children: [
|
|
24089
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid gap-4", style: { gridTemplateColumns: `repeat(${columns}, 1fr)` }, children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24092
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid gap-4", style: { gridTemplateColumns: `repeat(${columns}, 1fr)` }, children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-3/4" }, index)) }),
|
|
24090
24093
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3", children: Array.from({ length: rows }).map((_, rowIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24091
24094
|
"div",
|
|
24092
24095
|
{
|
|
24093
24096
|
className: "grid gap-4 border-b border-ods-divider py-2",
|
|
24094
24097
|
style: { gridTemplateColumns: `repeat(${columns}, 1fr)` },
|
|
24095
|
-
children: Array.from({ length: columns }).map((_cell, colIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24098
|
+
children: Array.from({ length: columns }).map((_cell, colIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-2/3" }, colIndex))
|
|
24096
24099
|
},
|
|
24097
24100
|
rowIndex
|
|
24098
24101
|
)) })
|
|
@@ -24101,13 +24104,13 @@ function TableSkeleton({
|
|
|
24101
24104
|
function FormSkeleton({ className, fields = 4 }) {
|
|
24102
24105
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-6", className), children: [
|
|
24103
24106
|
Array.from({ length: fields }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
24104
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24105
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24106
|
-
index % 3 === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24107
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-24" }),
|
|
24108
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Input, {}),
|
|
24109
|
+
index % 3 === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-48" })
|
|
24107
24110
|
] }, index)),
|
|
24108
24111
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-4 pt-4", children: [
|
|
24109
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24110
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24112
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Button, {}),
|
|
24113
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Button, { className: "bg-ods-border" })
|
|
24111
24114
|
] })
|
|
24112
24115
|
] });
|
|
24113
24116
|
}
|
|
@@ -24122,7 +24125,7 @@ function NavigationSkeleton({
|
|
|
24122
24125
|
className: _chunk3ATAYP36cjs.cn.call(void 0, "flex gap-4 md:gap-6", !horizontal && "flex-col", className),
|
|
24123
24126
|
role: "status",
|
|
24124
24127
|
"aria-label": "Loading navigation",
|
|
24125
|
-
children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24128
|
+
children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-16 md:w-20" }, index))
|
|
24126
24129
|
}
|
|
24127
24130
|
);
|
|
24128
24131
|
}
|
|
@@ -24133,30 +24136,30 @@ function ProfileSkeleton({
|
|
|
24133
24136
|
}) {
|
|
24134
24137
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-4", className), children: [
|
|
24135
24138
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-4", children: [
|
|
24136
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24139
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Avatar, { size: "lg" }),
|
|
24137
24140
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
24138
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24139
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24140
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24141
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-1/2" }),
|
|
24142
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-1/3" }),
|
|
24143
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
24141
24144
|
] })
|
|
24142
24145
|
] }),
|
|
24143
24146
|
showBio && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
24144
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24145
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24146
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24147
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
24148
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-4/5" }),
|
|
24149
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
24147
24150
|
] }),
|
|
24148
24151
|
showStats && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-6", children: [
|
|
24149
24152
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
|
|
24150
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24151
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24153
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "mx-auto w-8" }),
|
|
24154
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "mx-auto w-12" })
|
|
24152
24155
|
] }),
|
|
24153
24156
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
|
|
24154
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24155
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24157
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "mx-auto w-8" }),
|
|
24158
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "mx-auto w-16" })
|
|
24156
24159
|
] }),
|
|
24157
24160
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
|
|
24158
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24159
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24161
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "mx-auto w-8" }),
|
|
24162
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "mx-auto w-14" })
|
|
24160
24163
|
] })
|
|
24161
24164
|
] })
|
|
24162
24165
|
] });
|
|
@@ -24168,32 +24171,32 @@ function CommentSkeleton({
|
|
|
24168
24171
|
}) {
|
|
24169
24172
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-3", className), children: [
|
|
24170
24173
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
24171
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24174
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Avatar, { size: "sm" }),
|
|
24172
24175
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 items-center gap-4", children: [
|
|
24173
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24174
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24175
|
-
showRating && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-1", children: Array.from({ length: 5 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24176
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-24" }),
|
|
24177
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" }),
|
|
24178
|
+
showRating && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-1", children: Array.from({ length: 5 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm" }, i)) })
|
|
24176
24179
|
] })
|
|
24177
24180
|
] }),
|
|
24178
24181
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ml-11 space-y-2", children: [
|
|
24179
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24180
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24181
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24182
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
24183
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-3/4" }),
|
|
24184
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-1/2" })
|
|
24182
24185
|
] }),
|
|
24183
24186
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ml-11 flex gap-4", children: [
|
|
24184
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24185
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24186
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24187
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-12" }),
|
|
24188
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" }),
|
|
24189
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-8" })
|
|
24187
24190
|
] }),
|
|
24188
24191
|
showReplies && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "ml-11 space-y-4 border-l border-ods-divider pl-4", children: Array.from({ length: 2 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
24189
24192
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
24190
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24191
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24192
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24193
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Avatar, { size: "sm" }),
|
|
24194
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-20" }),
|
|
24195
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-12" })
|
|
24193
24196
|
] }),
|
|
24194
24197
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ml-11", children: [
|
|
24195
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24196
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24198
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
24199
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
24197
24200
|
] })
|
|
24198
24201
|
] }, index)) })
|
|
24199
24202
|
] });
|
|
@@ -24206,31 +24209,31 @@ function FeatureListSkeleton({
|
|
|
24206
24209
|
}) {
|
|
24207
24210
|
if (grouped) {
|
|
24208
24211
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-6", className), children: Array.from({ length: 3 }).map((_, groupIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
|
|
24209
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24212
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-1/3" }),
|
|
24210
24213
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-2", children: Array.from({ length: features / 3 }).map((_feature, featureIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
24211
|
-
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24212
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24214
|
+
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
24215
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
24213
24216
|
] }, featureIndex)) })
|
|
24214
24217
|
] }, groupIndex)) });
|
|
24215
24218
|
}
|
|
24216
24219
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-3", className), children: Array.from({ length: features }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
24217
|
-
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24218
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24220
|
+
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
24221
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
24219
24222
|
] }, index)) });
|
|
24220
24223
|
}
|
|
24221
24224
|
function TimelineSkeleton({ className, items = 5 }) {
|
|
24222
24225
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-6", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-4", children: [
|
|
24223
24226
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center", children: [
|
|
24224
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24227
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
24225
24228
|
index < items - 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2 h-12 w-px bg-ods-border" })
|
|
24226
24229
|
] }),
|
|
24227
24230
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
24228
24231
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
24229
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24230
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24232
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-1/3" }),
|
|
24233
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" })
|
|
24231
24234
|
] }),
|
|
24232
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24233
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24235
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
24236
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
24234
24237
|
] })
|
|
24235
24238
|
] }, index)) });
|
|
24236
24239
|
}
|
|
@@ -24246,16 +24249,16 @@ function PricingSkeleton({ className, plans = 3 }) {
|
|
|
24246
24249
|
className
|
|
24247
24250
|
),
|
|
24248
24251
|
children: Array.from({ length: plans }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-ods-border bg-ods-card p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
24249
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24252
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-1/2" }),
|
|
24250
24253
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
24251
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24252
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24254
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Heading, { className: "w-1/3" }),
|
|
24255
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-1/4" })
|
|
24253
24256
|
] }),
|
|
24254
24257
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3 py-4", children: Array.from({ length: 5 }).map((_feature, featureIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
24255
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24256
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24258
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
24259
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
24257
24260
|
] }, featureIndex)) }),
|
|
24258
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24261
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Button, { className: "w-full" })
|
|
24259
24262
|
] }) }, index))
|
|
24260
24263
|
}
|
|
24261
24264
|
);
|
|
@@ -24291,12 +24294,12 @@ function MspProfileFormSkeleton({ className, fields = 4 }) {
|
|
|
24291
24294
|
"aria-label": "Loading MSP profile form",
|
|
24292
24295
|
children: [
|
|
24293
24296
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col space-y-2", children: [
|
|
24294
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24295
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[180px] flex-1 md:min-h-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24297
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-28" }),
|
|
24298
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[180px] flex-1 md:min-h-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-full w-full rounded-lg", "aria-label": "Loading company logo" }) })
|
|
24296
24299
|
] }),
|
|
24297
24300
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: Array.from({ length: fields }).map((_, idx) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col space-y-2", children: [
|
|
24298
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24299
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24301
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-40" }),
|
|
24302
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.InteractiveSkeleton.Input, {})
|
|
24300
24303
|
] }, idx)) })
|
|
24301
24304
|
]
|
|
24302
24305
|
}
|
|
@@ -24316,13 +24319,13 @@ function CategoryCardSkeleton({ className }) {
|
|
|
24316
24319
|
role: "status",
|
|
24317
24320
|
"aria-label": "Loading category card",
|
|
24318
24321
|
children: [
|
|
24319
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 flex items-center justify-center gap-6", children: Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24322
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 flex items-center justify-center gap-6", children: Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { variant: "circular", className: "h-10 w-10 flex-shrink-0", "aria-label": "Loading icon" }, i)) }),
|
|
24320
24323
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col space-y-3", children: [
|
|
24321
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24322
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24323
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24324
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Heading, { className: "w-3/4" }),
|
|
24325
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-1/2" }),
|
|
24326
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" })
|
|
24324
24327
|
] }),
|
|
24325
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24328
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-12 w-12 rounded-[6px]", "aria-label": "Loading button" }) })
|
|
24326
24329
|
]
|
|
24327
24330
|
}
|
|
24328
24331
|
);
|
|
@@ -24339,12 +24342,12 @@ function CategoryVendorSelectorSkeleton({ subcategories = 3, className }) {
|
|
|
24339
24342
|
"aria-label": "Loading category section",
|
|
24340
24343
|
children: [
|
|
24341
24344
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-6 max-w-xl space-y-2", children: [
|
|
24342
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24343
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24345
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Heading, { className: "w-1/2" }),
|
|
24346
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
24344
24347
|
] }),
|
|
24345
24348
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-6", children: Array.from({ length: subcategories }).map((_, idx) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
24346
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24347
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-2 gap-4 md:grid-cols-3", children: Array.from({ length: 2 }).map((__, j) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24349
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-1/3" }),
|
|
24350
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-2 gap-4 md:grid-cols-3", children: Array.from({ length: 2 }).map((__, j) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-20 rounded-lg" }, j)) })
|
|
24348
24351
|
] }, idx)) })
|
|
24349
24352
|
]
|
|
24350
24353
|
}
|
|
@@ -24355,14 +24358,14 @@ function CategoryVendorSelectorSkeleton({ subcategories = 3, className }) {
|
|
|
24355
24358
|
|
|
24356
24359
|
function WizardLayoutSkeleton({ steps = 6, className }) {
|
|
24357
24360
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-6", className), role: "status", "aria-label": "Loading wizard layout", children: [
|
|
24358
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: Array.from({ length: steps }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24361
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: Array.from({ length: steps }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-6 w-24 rounded" }, i)) }),
|
|
24359
24362
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "max-w-2xl space-y-2", children: [
|
|
24360
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24361
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24363
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Heading, { className: "w-2/3" }),
|
|
24364
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-1/2" })
|
|
24362
24365
|
] }),
|
|
24363
24366
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mt-10 flex justify-between", children: [
|
|
24364
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24365
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24367
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-10 w-24 rounded" }),
|
|
24368
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-10 w-32 rounded" })
|
|
24366
24369
|
] })
|
|
24367
24370
|
] });
|
|
24368
24371
|
}
|
|
@@ -24754,28 +24757,28 @@ function OrganizationCardSkeleton({
|
|
|
24754
24757
|
}
|
|
24755
24758
|
),
|
|
24756
24759
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center space-y-1 py-2", children: [
|
|
24757
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24758
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24760
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
24761
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-1/2" })
|
|
24759
24762
|
] })
|
|
24760
24763
|
] }),
|
|
24761
24764
|
showDescription && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-full items-center overflow-hidden", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
|
|
24762
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24763
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24765
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
24766
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
24764
24767
|
] }) }),
|
|
24765
24768
|
showFooter && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-2", children: [
|
|
24766
24769
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-shrink items-center gap-3 md:gap-4", children: [
|
|
24767
24770
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
24768
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24769
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24771
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
24772
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-8" })
|
|
24770
24773
|
] }),
|
|
24771
24774
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
24772
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24773
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24775
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
24776
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-10" })
|
|
24774
24777
|
] })
|
|
24775
24778
|
] }),
|
|
24776
24779
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5 rounded border border-ods-border bg-ods-bg px-2.5 py-1.5", children: [
|
|
24777
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24778
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24780
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.MediaSkeleton.Icon, { size: "sm", className: "h-2.5 w-2.5" }) }),
|
|
24781
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TextSkeleton.Caption, { className: "w-16" })
|
|
24779
24782
|
] }) })
|
|
24780
24783
|
] })
|
|
24781
24784
|
] })
|
|
@@ -24852,16 +24855,16 @@ function DeviceCardSkeletonGrid({ count = 12, className }) {
|
|
|
24852
24855
|
|
|
24853
24856
|
function PushButtonSelectorSkeleton({ count = 3, hasTitle }) {
|
|
24854
24857
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", role: "status", "aria-label": "Loading options", children: [
|
|
24855
|
-
hasTitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24858
|
+
hasTitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-5 w-20", "aria-label": "Loading title" }),
|
|
24856
24859
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3", children: Array.from({ length: count }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-ods-border bg-ods-bg p-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-4", children: [
|
|
24857
24860
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
24858
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24861
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-8 w-8", "aria-label": "Loading icon" }),
|
|
24859
24862
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
|
|
24860
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24861
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24863
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { variant: "text", className: "mb-2 h-4 w-24", "aria-label": "Loading name" }),
|
|
24864
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { variant: "text", className: "h-4 w-36", "aria-label": "Loading description" })
|
|
24862
24865
|
] })
|
|
24863
24866
|
] }),
|
|
24864
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24867
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.UnifiedSkeleton, { className: "h-6 w-6", "aria-label": "Loading selection state" })
|
|
24865
24868
|
] }) }, i)) })
|
|
24866
24869
|
] });
|
|
24867
24870
|
}
|
|
@@ -24983,9 +24986,9 @@ function PushButtonSelector({
|
|
|
24983
24986
|
option.id
|
|
24984
24987
|
);
|
|
24985
24988
|
if (option.disabled && option.disabledReason) {
|
|
24986
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24987
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24988
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24989
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Tooltip, { children: [
|
|
24990
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipTrigger, { asChild: true, children: optionEl }),
|
|
24991
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
|
|
24989
24992
|
] }, option.id);
|
|
24990
24993
|
}
|
|
24991
24994
|
return optionEl;
|
|
@@ -25030,7 +25033,7 @@ function PushButtonSelector({
|
|
|
25030
25033
|
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
|
|
25031
25034
|
] }) : null
|
|
25032
25035
|
] });
|
|
25033
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25036
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
|
|
25034
25037
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
25035
25038
|
searchInput,
|
|
25036
25039
|
lazyLoad ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -25244,7 +25247,7 @@ function SEOEditorPreview({
|
|
|
25244
25247
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 lg:grid-cols-2", children: [
|
|
25245
25248
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
25246
25249
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25247
|
-
|
|
25250
|
+
_chunkHY5YL3U5cjs.Field,
|
|
25248
25251
|
{
|
|
25249
25252
|
label: "SEO Title",
|
|
25250
25253
|
error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${SEO_TITLE_MAX_LENGTH})` : null,
|
|
@@ -25284,7 +25287,7 @@ function SEOEditorPreview({
|
|
|
25284
25287
|
!seoTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-accent text-h6", children: "Auto-populated from title" })
|
|
25285
25288
|
] }),
|
|
25286
25289
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25287
|
-
|
|
25290
|
+
_chunkHY5YL3U5cjs.Field,
|
|
25288
25291
|
{
|
|
25289
25292
|
label: "SEO Keywords",
|
|
25290
25293
|
labelExtras: aiConfidenceSeoKeywords !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -25316,7 +25319,7 @@ function SEOEditorPreview({
|
|
|
25316
25319
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 lg:grid-cols-2", children: [
|
|
25317
25320
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
25318
25321
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25319
|
-
|
|
25322
|
+
_chunkHY5YL3U5cjs.Field,
|
|
25320
25323
|
{
|
|
25321
25324
|
label: "SEO Description",
|
|
25322
25325
|
error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${SEO_DESCRIPTION_MAX_LENGTH})` : null,
|
|
@@ -25994,7 +25997,7 @@ function VideoBitesDisplay({
|
|
|
25994
25997
|
filterPublished = true,
|
|
25995
25998
|
showTitle = true
|
|
25996
25999
|
}) {
|
|
25997
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26000
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
25998
26001
|
}
|
|
25999
26002
|
|
|
26000
26003
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -26064,7 +26067,7 @@ function WalkthroughVideo({
|
|
|
26064
26067
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
26065
26068
|
};
|
|
26066
26069
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
|
|
26067
|
-
const hydrated =
|
|
26070
|
+
const hydrated = _chunkHY5YL3U5cjs.useIsHydrated.call(void 0, );
|
|
26068
26071
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
26069
26072
|
if (!hydrated) return false;
|
|
26070
26073
|
try {
|
|
@@ -26463,7 +26466,7 @@ function WalkthroughVideo({
|
|
|
26463
26466
|
},
|
|
26464
26467
|
children: [
|
|
26465
26468
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26466
|
-
|
|
26469
|
+
_chunkHY5YL3U5cjs.VideoHoverPreviewSurface,
|
|
26467
26470
|
{
|
|
26468
26471
|
url: video.mainVideoUrl || "",
|
|
26469
26472
|
posterUrl: video.posterUrl,
|
|
@@ -26486,7 +26489,7 @@ function WalkthroughVideo({
|
|
|
26486
26489
|
`card-${embedUrlKey}`
|
|
26487
26490
|
) }),
|
|
26488
26491
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26489
|
-
|
|
26492
|
+
_chunkHY5YL3U5cjs.CardHitLayer,
|
|
26490
26493
|
{
|
|
26491
26494
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
26492
26495
|
onPointerDown: pausePreviewNow,
|
|
@@ -26601,7 +26604,7 @@ function WalkthroughVideo({
|
|
|
26601
26604
|
children: [
|
|
26602
26605
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
26603
26606
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26604
|
-
|
|
26607
|
+
_chunkHY5YL3U5cjs.Video,
|
|
26605
26608
|
{
|
|
26606
26609
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
26607
26610
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -26652,7 +26655,7 @@ function InlineWalkthroughVideo(props) {
|
|
|
26652
26655
|
var _reactquery = require('@tanstack/react-query');
|
|
26653
26656
|
function useWalkthroughVideo(opts) {
|
|
26654
26657
|
const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
|
|
26655
|
-
const captions =
|
|
26658
|
+
const captions = _chunkHY5YL3U5cjs.useCaptions.call(void 0, );
|
|
26656
26659
|
const query = _reactquery.useQuery.call(void 0, {
|
|
26657
26660
|
queryKey: ["walkthrough-video", endpoint],
|
|
26658
26661
|
enabled,
|
|
@@ -26850,7 +26853,7 @@ function VideoSourceSelector({
|
|
|
26850
26853
|
}
|
|
26851
26854
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
26852
26855
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
|
|
26853
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26856
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.Video, { kind: "file", url: videoUrl }) }),
|
|
26854
26857
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26855
26858
|
"button",
|
|
26856
26859
|
{
|
|
@@ -27374,7 +27377,7 @@ function HighlightVideoSection({
|
|
|
27374
27377
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
27375
27378
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
27376
27379
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
|
|
27377
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27380
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
|
|
27378
27381
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
27379
27382
|
"button",
|
|
27380
27383
|
{
|
|
@@ -27401,7 +27404,7 @@ function HighlightConfigSection({
|
|
|
27401
27404
|
disabled = false,
|
|
27402
27405
|
className = ""
|
|
27403
27406
|
}) {
|
|
27404
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `space-y-3 rounded-lg border border-ods-border bg-ods-card p-4 ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27407
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `space-y-3 rounded-lg border border-ods-border bg-ods-card p-4 ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.Field, { label: "Target Duration", children: (f) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
27405
27408
|
Select,
|
|
27406
27409
|
{
|
|
27407
27410
|
value: targetDurationSeconds.toString(),
|
|
@@ -28114,7 +28117,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
|
28114
28117
|
] });
|
|
28115
28118
|
};
|
|
28116
28119
|
var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
|
|
28117
|
-
const { innerRef, containerStyle } =
|
|
28120
|
+
const { innerRef, containerStyle } = _chunkHY5YL3U5cjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
|
|
28118
28121
|
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
28119
28122
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
28120
28123
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -28283,7 +28286,7 @@ function WaitlistForm({
|
|
|
28283
28286
|
const { toast } = _chunk3L7KCOGOcjs.useToast.call(void 0, );
|
|
28284
28287
|
const { honeypotInputProps, getSignals, resetSignals } = _chunk3L7KCOGOcjs.useHumanitySignals.call(void 0, );
|
|
28285
28288
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
28286
|
-
const isClient =
|
|
28289
|
+
const isClient = _chunkHY5YL3U5cjs.useIsHydrated.call(void 0, );
|
|
28287
28290
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
28288
28291
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
28289
28292
|
const rescue = _chunk3L7KCOGOcjs.useFormRescue.call(void 0, {
|
|
@@ -28821,15 +28824,7 @@ var appLayoutDrawerPanelVariants = _classvarianceauthority.cva.call(void 0,
|
|
|
28821
28824
|
);
|
|
28822
28825
|
var HORIZONTAL_SIDES = /* @__PURE__ */ new Set(["left", "right"]);
|
|
28823
28826
|
var PERSIST_CLOSED_HOLD = "data-[state=closed]:fill-mode-forwards";
|
|
28824
|
-
function
|
|
28825
|
-
enabled,
|
|
28826
|
-
isHorizontal,
|
|
28827
|
-
minSize,
|
|
28828
|
-
maxSize,
|
|
28829
|
-
defaultSize,
|
|
28830
|
-
storageKey,
|
|
28831
|
-
container
|
|
28832
|
-
}) {
|
|
28827
|
+
function useContainerExtent(enabled, isHorizontal, container) {
|
|
28833
28828
|
const [available, setAvailable] = _react.useState.call(void 0, 0);
|
|
28834
28829
|
_react.useEffect.call(void 0, () => {
|
|
28835
28830
|
if (!enabled || !container) return void 0;
|
|
@@ -28841,147 +28836,7 @@ function useContainedResizableSize({
|
|
|
28841
28836
|
ro.observe(container);
|
|
28842
28837
|
return () => ro.disconnect();
|
|
28843
28838
|
}, [enabled, container, isHorizontal]);
|
|
28844
|
-
|
|
28845
|
-
(value) => {
|
|
28846
|
-
const effectiveMax = available > 0 ? Math.min(maxSize, available - 40) : maxSize;
|
|
28847
|
-
return _chunkIIMICN7Lcjs.clamp.call(void 0, value, minSize, Math.max(minSize, effectiveMax));
|
|
28848
|
-
},
|
|
28849
|
-
[available, minSize, maxSize]
|
|
28850
|
-
);
|
|
28851
|
-
const readInitial = _react.useCallback.call(void 0, () => {
|
|
28852
|
-
if (!enabled) return defaultSize;
|
|
28853
|
-
if (typeof window === "undefined") return defaultSize;
|
|
28854
|
-
if (!storageKey) return defaultSize;
|
|
28855
|
-
try {
|
|
28856
|
-
const raw = window.localStorage.getItem(storageKey);
|
|
28857
|
-
if (!raw) return defaultSize;
|
|
28858
|
-
const parsed = parseFloat(raw);
|
|
28859
|
-
if (!Number.isFinite(parsed)) return defaultSize;
|
|
28860
|
-
return parsed;
|
|
28861
|
-
} catch (e40) {
|
|
28862
|
-
return defaultSize;
|
|
28863
|
-
}
|
|
28864
|
-
}, [enabled, storageKey, defaultSize]);
|
|
28865
|
-
const [rawSize, setSizeRaw] = _react.useState.call(void 0, readInitial);
|
|
28866
|
-
const size = enabled ? clampToContainer(rawSize) : rawSize;
|
|
28867
|
-
const setSize = _react.useCallback.call(void 0, (next) => setSizeRaw(clampToContainer(next)), [clampToContainer]);
|
|
28868
|
-
_react.useEffect.call(void 0, () => {
|
|
28869
|
-
if (!enabled || !storageKey || typeof window === "undefined") return;
|
|
28870
|
-
try {
|
|
28871
|
-
window.localStorage.setItem(storageKey, String(Math.round(size)));
|
|
28872
|
-
} catch (e41) {
|
|
28873
|
-
}
|
|
28874
|
-
}, [enabled, size, storageKey]);
|
|
28875
|
-
return { size, setSize, clampSize: clampToContainer };
|
|
28876
|
-
}
|
|
28877
|
-
function finishDrag(startRef, dragSizeRef, commit) {
|
|
28878
|
-
if (!startRef.current) return;
|
|
28879
|
-
startRef.current = null;
|
|
28880
|
-
if (dragSizeRef.current !== null) commit(dragSizeRef.current);
|
|
28881
|
-
dragSizeRef.current = null;
|
|
28882
|
-
document.body.style.cursor = "";
|
|
28883
|
-
document.body.style.userSelect = "";
|
|
28884
|
-
}
|
|
28885
|
-
function AppLayoutDrawerResizeHandle({
|
|
28886
|
-
side,
|
|
28887
|
-
size,
|
|
28888
|
-
minSize,
|
|
28889
|
-
maxSize,
|
|
28890
|
-
onSize,
|
|
28891
|
-
clampSize,
|
|
28892
|
-
panelRef,
|
|
28893
|
-
ariaLabel
|
|
28894
|
-
}) {
|
|
28895
|
-
const isHorizontal = HORIZONTAL_SIDES.has(side);
|
|
28896
|
-
const startRef = _react.useRef.call(void 0, null);
|
|
28897
|
-
const dragSizeRef = _react.useRef.call(void 0, null);
|
|
28898
|
-
const onSizeRef = _react.useRef.call(void 0, onSize);
|
|
28899
|
-
_react.useEffect.call(void 0, () => {
|
|
28900
|
-
onSizeRef.current = onSize;
|
|
28901
|
-
}, [onSize]);
|
|
28902
|
-
_react.useEffect.call(void 0, () => () => finishDrag(startRef, dragSizeRef, onSizeRef.current), []);
|
|
28903
|
-
const direction = side === "right" || side === "bottom" ? -1 : 1;
|
|
28904
|
-
const handlePointerDown = (e) => {
|
|
28905
|
-
if (e.button !== 0 && e.pointerType === "mouse") return;
|
|
28906
|
-
e.preventDefault();
|
|
28907
|
-
startRef.current = { x: e.clientX, y: e.clientY, size };
|
|
28908
|
-
e.currentTarget.setPointerCapture(e.pointerId);
|
|
28909
|
-
document.body.style.cursor = isHorizontal ? "col-resize" : "row-resize";
|
|
28910
|
-
document.body.style.userSelect = "none";
|
|
28911
|
-
};
|
|
28912
|
-
const handlePointerMove = (e) => {
|
|
28913
|
-
const start = startRef.current;
|
|
28914
|
-
const panel = panelRef.current;
|
|
28915
|
-
if (!start || !panel) return;
|
|
28916
|
-
const delta = isHorizontal ? e.clientX - start.x : e.clientY - start.y;
|
|
28917
|
-
const next = clampSize(start.size + delta * direction);
|
|
28918
|
-
dragSizeRef.current = next;
|
|
28919
|
-
panel.style[isHorizontal ? "width" : "height"] = `${next}px`;
|
|
28920
|
-
e.currentTarget.setAttribute("aria-valuenow", String(Math.round(next)));
|
|
28921
|
-
};
|
|
28922
|
-
const endDrag = (e) => {
|
|
28923
|
-
if (!startRef.current) return;
|
|
28924
|
-
finishDrag(startRef, dragSizeRef, onSize);
|
|
28925
|
-
try {
|
|
28926
|
-
e.currentTarget.releasePointerCapture(e.pointerId);
|
|
28927
|
-
} catch (e42) {
|
|
28928
|
-
}
|
|
28929
|
-
};
|
|
28930
|
-
const handleKeyDown = (e) => {
|
|
28931
|
-
const step = e.shiftKey ? 40 : 16;
|
|
28932
|
-
if (isHorizontal) {
|
|
28933
|
-
if (e.key === "ArrowLeft") {
|
|
28934
|
-
e.preventDefault();
|
|
28935
|
-
onSize(size + step * (side === "right" ? 1 : -1));
|
|
28936
|
-
} else if (e.key === "ArrowRight") {
|
|
28937
|
-
e.preventDefault();
|
|
28938
|
-
onSize(size + step * (side === "right" ? -1 : 1));
|
|
28939
|
-
}
|
|
28940
|
-
} else {
|
|
28941
|
-
if (e.key === "ArrowUp") {
|
|
28942
|
-
e.preventDefault();
|
|
28943
|
-
onSize(size + step * (side === "bottom" ? 1 : -1));
|
|
28944
|
-
} else if (e.key === "ArrowDown") {
|
|
28945
|
-
e.preventDefault();
|
|
28946
|
-
onSize(size + step * (side === "bottom" ? -1 : 1));
|
|
28947
|
-
}
|
|
28948
|
-
}
|
|
28949
|
-
if (e.key === "Home") {
|
|
28950
|
-
e.preventDefault();
|
|
28951
|
-
onSize(minSize);
|
|
28952
|
-
} else if (e.key === "End") {
|
|
28953
|
-
e.preventDefault();
|
|
28954
|
-
onSize(maxSize);
|
|
28955
|
-
}
|
|
28956
|
-
};
|
|
28957
|
-
const trackPosition = side === "right" ? "right-full top-4 bottom-4 w-6 items-center justify-end pr-1" : side === "left" ? "left-full top-4 bottom-4 w-6 items-center justify-start pl-1" : side === "bottom" ? "bottom-full left-4 right-4 h-6 justify-center items-end pb-1" : "top-full left-4 right-4 h-6 justify-center items-start pt-1";
|
|
28958
|
-
const cursorClass = isHorizontal ? "cursor-col-resize" : "cursor-row-resize";
|
|
28959
|
-
const gripClass = isHorizontal ? "h-10 w-1" : "w-10 h-1";
|
|
28960
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28961
|
-
"div",
|
|
28962
|
-
{
|
|
28963
|
-
role: "separator",
|
|
28964
|
-
tabIndex: 0,
|
|
28965
|
-
"aria-orientation": isHorizontal ? "vertical" : "horizontal",
|
|
28966
|
-
"aria-valuenow": Math.round(size),
|
|
28967
|
-
"aria-valuemin": minSize,
|
|
28968
|
-
"aria-valuemax": maxSize,
|
|
28969
|
-
"aria-label": _nullishCoalesce(ariaLabel, () => ( (isHorizontal ? "Resize panel width" : "Resize panel height"))),
|
|
28970
|
-
onPointerDown: handlePointerDown,
|
|
28971
|
-
onPointerMove: handlePointerMove,
|
|
28972
|
-
onPointerUp: endDrag,
|
|
28973
|
-
onPointerCancel: endDrag,
|
|
28974
|
-
onLostPointerCapture: endDrag,
|
|
28975
|
-
onKeyDown: handleKeyDown,
|
|
28976
|
-
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
28977
|
-
"group absolute z-20 flex touch-none select-none",
|
|
28978
|
-
"outline-none ring-0 focus:outline-none focus:ring-0 focus-visible:outline-none focus-visible:ring-0",
|
|
28979
|
-
trackPosition,
|
|
28980
|
-
cursorClass
|
|
28981
|
-
),
|
|
28982
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: _chunk3ATAYP36cjs.cn.call(void 0, "rounded-full bg-ods-border", gripClass) })
|
|
28983
|
-
}
|
|
28984
|
-
);
|
|
28839
|
+
return available;
|
|
28985
28840
|
}
|
|
28986
28841
|
var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
28987
28842
|
({
|
|
@@ -29076,14 +28931,15 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
29076
28931
|
return () => mq.removeEventListener("change", update);
|
|
29077
28932
|
}, [mobileBreakpoint]);
|
|
29078
28933
|
const panelRef = _react.useRef.call(void 0, null);
|
|
29079
|
-
const
|
|
28934
|
+
const available = useContainerExtent(resizable, isHorizontal, portalContainer);
|
|
28935
|
+
const { size, setSize, clampSize } = _chunkHY5YL3U5cjs.useResizablePanelSize.call(void 0, {
|
|
29080
28936
|
enabled: resizable,
|
|
29081
|
-
isHorizontal,
|
|
29082
28937
|
minSize,
|
|
29083
28938
|
maxSize,
|
|
29084
28939
|
defaultSize: initialSize,
|
|
29085
|
-
|
|
29086
|
-
|
|
28940
|
+
available,
|
|
28941
|
+
reserve: 40,
|
|
28942
|
+
storageKey
|
|
29087
28943
|
});
|
|
29088
28944
|
const applyInlineSize = resizable && !isMobile;
|
|
29089
28945
|
const sizeStyle = applyInlineSize ? isHorizontal ? { width: size } : { height: size } : {};
|
|
@@ -29096,7 +28952,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
29096
28952
|
"data-state": open ? "open" : "closed",
|
|
29097
28953
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
29098
28954
|
"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",
|
|
29099
|
-
|
|
28955
|
+
_chunkHY5YL3U5cjs.OVERLAY_BACKDROP_CLASS,
|
|
29100
28956
|
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
29101
28957
|
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
29102
28958
|
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
@@ -29137,8 +28993,9 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
29137
28993
|
...props,
|
|
29138
28994
|
children: [
|
|
29139
28995
|
applyInlineSize && (!persist || open) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29140
|
-
|
|
28996
|
+
_chunkHY5YL3U5cjs.PanelResizeHandle,
|
|
29141
28997
|
{
|
|
28998
|
+
variant: "inLayout",
|
|
29142
28999
|
side: resolvedSide,
|
|
29143
29000
|
size,
|
|
29144
29001
|
minSize,
|
|
@@ -29175,11 +29032,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
29175
29032
|
}
|
|
29176
29033
|
);
|
|
29177
29034
|
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
29178
|
-
var AppLayoutDrawerHeader =
|
|
29179
|
-
var AppLayoutDrawerTitle =
|
|
29180
|
-
var AppLayoutDrawerDescription =
|
|
29181
|
-
var AppLayoutDrawerBody =
|
|
29182
|
-
var AppLayoutDrawerFooter =
|
|
29035
|
+
var AppLayoutDrawerHeader = _chunkHY5YL3U5cjs.DrawerHeader;
|
|
29036
|
+
var AppLayoutDrawerTitle = _chunkHY5YL3U5cjs.DrawerTitle;
|
|
29037
|
+
var AppLayoutDrawerDescription = _chunkHY5YL3U5cjs.DrawerDescription;
|
|
29038
|
+
var AppLayoutDrawerBody = _chunkHY5YL3U5cjs.DrawerBody;
|
|
29039
|
+
var AppLayoutDrawerFooter = _chunkHY5YL3U5cjs.DrawerFooter;
|
|
29183
29040
|
|
|
29184
29041
|
// src/components/features/notifications/notification-tile.tsx
|
|
29185
29042
|
|
|
@@ -29285,7 +29142,7 @@ function NotificationTile({
|
|
|
29285
29142
|
{
|
|
29286
29143
|
dateTime: createdAtIso,
|
|
29287
29144
|
className: _chunk3ATAYP36cjs.cn.call(void 0, "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", lockscreen && "self-start"),
|
|
29288
|
-
children: _nullishCoalesce(timeLabel, () => (
|
|
29145
|
+
children: _nullishCoalesce(timeLabel, () => ( _chunkHY5YL3U5cjs.formatTicketRelativeTime.call(void 0, createdAtIso)))
|
|
29289
29146
|
}
|
|
29290
29147
|
) : null,
|
|
29291
29148
|
!lockscreen && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
|
|
@@ -29394,7 +29251,7 @@ function NotificationDrawer({
|
|
|
29394
29251
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
29395
29252
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
29396
29253
|
/* @__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,
|
|
29397
|
-
|
|
29254
|
+
_chunkHY5YL3U5cjs.DrawerTitle,
|
|
29398
29255
|
{
|
|
29399
29256
|
hideClose: true,
|
|
29400
29257
|
className: "truncate",
|
|
@@ -29453,8 +29310,8 @@ function NotificationDrawer({
|
|
|
29453
29310
|
}
|
|
29454
29311
|
) });
|
|
29455
29312
|
}
|
|
29456
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29457
|
-
|
|
29313
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29314
|
+
_chunkHY5YL3U5cjs.DrawerContent,
|
|
29458
29315
|
{
|
|
29459
29316
|
side: "right",
|
|
29460
29317
|
"aria-describedby": void 0,
|
|
@@ -29737,13 +29594,13 @@ function getApprovalMeta(notification) {
|
|
|
29737
29594
|
function resolutionToStatus(resolution) {
|
|
29738
29595
|
switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
|
|
29739
29596
|
case "APPROVED":
|
|
29740
|
-
return
|
|
29597
|
+
return _chunkHY5YL3U5cjs.APPROVAL_STATUS.APPROVED;
|
|
29741
29598
|
case "REJECTED":
|
|
29742
|
-
return
|
|
29599
|
+
return _chunkHY5YL3U5cjs.APPROVAL_STATUS.REJECTED;
|
|
29743
29600
|
case "CANCELLED":
|
|
29744
|
-
return
|
|
29601
|
+
return _chunkHY5YL3U5cjs.APPROVAL_STATUS.CANCELLED;
|
|
29745
29602
|
default:
|
|
29746
|
-
return
|
|
29603
|
+
return _chunkHY5YL3U5cjs.APPROVAL_STATUS.PENDING;
|
|
29747
29604
|
}
|
|
29748
29605
|
}
|
|
29749
29606
|
function approvalMetaToBatchData(approval) {
|
|
@@ -29789,7 +29646,7 @@ function ApprovalRequestNotificationTile({
|
|
|
29789
29646
|
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _635 => _635.resolution]));
|
|
29790
29647
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
29791
29648
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
29792
|
-
const { innerRef, containerStyle } =
|
|
29649
|
+
const { innerRef, containerStyle } = _chunkHY5YL3U5cjs.useCollapsible.call(void 0, { expanded });
|
|
29793
29650
|
if (!approval || !batchData) return null;
|
|
29794
29651
|
const tileNotification = {
|
|
29795
29652
|
...notification,
|
|
@@ -29802,7 +29659,7 @@ function ApprovalRequestNotificationTile({
|
|
|
29802
29659
|
setLocalStatus(nextStatus);
|
|
29803
29660
|
try {
|
|
29804
29661
|
await action(batchData.approvalRequestId);
|
|
29805
|
-
} catch (
|
|
29662
|
+
} catch (e40) {
|
|
29806
29663
|
setLocalStatus(null);
|
|
29807
29664
|
return;
|
|
29808
29665
|
} finally {
|
|
@@ -29852,7 +29709,7 @@ function ApprovalRequestNotificationTile({
|
|
|
29852
29709
|
}
|
|
29853
29710
|
)
|
|
29854
29711
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
29855
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29712
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ApprovalStatusTag, { status }),
|
|
29856
29713
|
approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
29857
29714
|
"by ",
|
|
29858
29715
|
approval.resolvedByName
|
|
@@ -29870,12 +29727,12 @@ function ApprovalRequestNotificationTile({
|
|
|
29870
29727
|
"aria-expanded": expanded,
|
|
29871
29728
|
"aria-label": toggleLabel,
|
|
29872
29729
|
className: "ml-auto w-6 shrink-0 px-0 md:w-8",
|
|
29873
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29730
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ExpandChevron, { expanded })
|
|
29874
29731
|
}
|
|
29875
29732
|
)
|
|
29876
29733
|
] }),
|
|
29877
29734
|
children: !lockscreen && /* @__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,
|
|
29878
|
-
|
|
29735
|
+
_chunkHY5YL3U5cjs.ApprovalBatchMessage,
|
|
29879
29736
|
{
|
|
29880
29737
|
data: batchData,
|
|
29881
29738
|
showExecutionStatus: false,
|
|
@@ -30392,7 +30249,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
30392
30249
|
"data-state": isOpen ? "open" : "closed",
|
|
30393
30250
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
30394
30251
|
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
30395
|
-
|
|
30252
|
+
_chunkHY5YL3U5cjs.OVERLAY_BACKDROP_CLASS,
|
|
30396
30253
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
30397
30254
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
30398
30255
|
)
|
|
@@ -30419,6 +30276,91 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
30419
30276
|
// src/components/features/remote-session/remote-session-parts.tsx
|
|
30420
30277
|
|
|
30421
30278
|
|
|
30279
|
+
// src/components/features/remote-session/remote-session-viewers.tsx
|
|
30280
|
+
|
|
30281
|
+
|
|
30282
|
+
function viewerLabel(viewer) {
|
|
30283
|
+
if (viewer.isHost) return `${viewer.name} (host)`;
|
|
30284
|
+
if (viewer.isYou) return `${viewer.name} (you)`;
|
|
30285
|
+
return viewer.name;
|
|
30286
|
+
}
|
|
30287
|
+
function hostFirst(viewers) {
|
|
30288
|
+
return [...viewers.filter((viewer) => viewer.isHost), ...viewers.filter((viewer) => !viewer.isHost)];
|
|
30289
|
+
}
|
|
30290
|
+
function RemoteSessionViewers({ viewers, max = 4, className }) {
|
|
30291
|
+
const [open, setOpen] = _react.useState.call(void 0, false);
|
|
30292
|
+
if (viewers.length === 0) return null;
|
|
30293
|
+
const ordered = hostFirst(viewers);
|
|
30294
|
+
const faces = ordered.slice(0, max);
|
|
30295
|
+
const overflow2 = ordered.length - faces.length;
|
|
30296
|
+
const Chevron = open ? _chunkN3COXDBHcjs.Chevron02UpIcon : _chunkN3COXDBHcjs.Chevron02DownIcon;
|
|
30297
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2A4XES7Rcjs.DropdownMenu, { open, onOpenChange: setOpen, children: [
|
|
30298
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30299
|
+
_chunk2A4XES7Rcjs.DropdownMenuTrigger,
|
|
30300
|
+
{
|
|
30301
|
+
"aria-label": `In this session: ${ordered.map(viewerLabel).join(", ")}`,
|
|
30302
|
+
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
30303
|
+
"flex shrink-0 items-center gap-[var(--spacing-system-xxs)] rounded-md outline-none",
|
|
30304
|
+
"focus-visible:ring-2 focus-visible:ring-ods-focus",
|
|
30305
|
+
className
|
|
30306
|
+
),
|
|
30307
|
+
children: [
|
|
30308
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center", children: [
|
|
30309
|
+
faces.map((viewer, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30310
|
+
_chunkEMCQGFXDcjs.SquareAvatar,
|
|
30311
|
+
{
|
|
30312
|
+
variant: "round",
|
|
30313
|
+
sizePx: 32,
|
|
30314
|
+
src: _nullishCoalesce(viewer.avatarUrl, () => ( void 0)),
|
|
30315
|
+
alt: viewer.name,
|
|
30316
|
+
fallback: viewer.name,
|
|
30317
|
+
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
30318
|
+
"relative bg-ods-bg",
|
|
30319
|
+
viewer.isHost ? "ring-2 ring-ods-accent" : "ring-1 ring-ods-border",
|
|
30320
|
+
index > 0 && "-ml-2"
|
|
30321
|
+
),
|
|
30322
|
+
style: { zIndex: faces.length - index + 1 }
|
|
30323
|
+
},
|
|
30324
|
+
viewer.id
|
|
30325
|
+
)),
|
|
30326
|
+
overflow2 > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative -ml-2 flex size-8 shrink-0 items-center justify-center rounded-full bg-ods-bg text-ods-text-secondary ring-1 ring-ods-border text-h6", children: [
|
|
30327
|
+
"+",
|
|
30328
|
+
overflow2
|
|
30329
|
+
] })
|
|
30330
|
+
] }),
|
|
30331
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex size-8 items-center justify-center rounded-md text-ods-text-primary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Chevron, { size: 16, color: "currentColor" }) })
|
|
30332
|
+
]
|
|
30333
|
+
}
|
|
30334
|
+
),
|
|
30335
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2A4XES7Rcjs.DropdownMenuContent, { align: "end", className: "w-[280px] p-0", children: ordered.map((viewer) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30336
|
+
_chunk2A4XES7Rcjs.DropdownMenuItem,
|
|
30337
|
+
{
|
|
30338
|
+
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
30339
|
+
"gap-[var(--spacing-system-xsf)] rounded-none border-b border-ods-border bg-ods-bg last:border-b-0",
|
|
30340
|
+
"py-[var(--spacing-system-s)] pl-[var(--spacing-system-mf)] pr-[var(--spacing-system-xs)] text-h4"
|
|
30341
|
+
),
|
|
30342
|
+
children: [
|
|
30343
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30344
|
+
_chunkEMCQGFXDcjs.SquareAvatar,
|
|
30345
|
+
{
|
|
30346
|
+
variant: "round",
|
|
30347
|
+
sizePx: 24,
|
|
30348
|
+
src: _nullishCoalesce(viewer.avatarUrl, () => ( void 0)),
|
|
30349
|
+
alt: "",
|
|
30350
|
+
fallback: viewer.name,
|
|
30351
|
+
className: "shrink-0"
|
|
30352
|
+
}
|
|
30353
|
+
),
|
|
30354
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1 truncate", children: viewerLabel(viewer) })
|
|
30355
|
+
]
|
|
30356
|
+
},
|
|
30357
|
+
viewer.id
|
|
30358
|
+
)) })
|
|
30359
|
+
] });
|
|
30360
|
+
}
|
|
30361
|
+
|
|
30362
|
+
// src/components/features/remote-session/remote-session-parts.tsx
|
|
30363
|
+
|
|
30422
30364
|
var DESKTOP_SCALE = {
|
|
30423
30365
|
"--spacing-system-xs": "0.5rem",
|
|
30424
30366
|
"--spacing-system-s": "0.75rem",
|
|
@@ -30470,10 +30412,31 @@ function RemoteSessionOrgLogo({ name, logoUrl, sizePx, className }) {
|
|
|
30470
30412
|
}
|
|
30471
30413
|
);
|
|
30472
30414
|
}
|
|
30473
|
-
function RemoteSessionRecordingTag() {
|
|
30474
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30475
|
-
|
|
30476
|
-
|
|
30415
|
+
function RemoteSessionRecordingTag({ className }) {
|
|
30416
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30417
|
+
"div",
|
|
30418
|
+
{
|
|
30419
|
+
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
30420
|
+
"flex h-8 items-center gap-[var(--spacing-system-xs)] self-start rounded-md bg-ods-success-secondary p-[var(--spacing-system-xsf)]",
|
|
30421
|
+
className
|
|
30422
|
+
),
|
|
30423
|
+
children: [
|
|
30424
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.RecordingIcon, { size: 16, color: "currentColor", className: "text-ods-success" }),
|
|
30425
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-success text-h5", children: "Session Recording" })
|
|
30426
|
+
]
|
|
30427
|
+
}
|
|
30428
|
+
);
|
|
30429
|
+
}
|
|
30430
|
+
function RemoteSessionStatusRow({
|
|
30431
|
+
showRecordingTag,
|
|
30432
|
+
viewers
|
|
30433
|
+
}) {
|
|
30434
|
+
const hasViewers = !!viewers && viewers.length > 0;
|
|
30435
|
+
if (!showRecordingTag && !hasViewers) return null;
|
|
30436
|
+
if (!hasViewers) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteSessionRecordingTag, {});
|
|
30437
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-[var(--spacing-system-m)]", children: [
|
|
30438
|
+
showRecordingTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteSessionRecordingTag, { className: "flex-1 justify-center self-auto" }),
|
|
30439
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteSessionViewers, { viewers, className: "ml-auto" })
|
|
30477
30440
|
] });
|
|
30478
30441
|
}
|
|
30479
30442
|
var REMOTE_SESSION_DRAG_HANDLE_CLASS = "cursor-grab active:cursor-grabbing";
|
|
@@ -30623,6 +30586,7 @@ function RemoteSessionSummary({
|
|
|
30623
30586
|
party,
|
|
30624
30587
|
elapsed,
|
|
30625
30588
|
showRecordingTag = false,
|
|
30589
|
+
viewers,
|
|
30626
30590
|
onOpenChat,
|
|
30627
30591
|
onEndSession,
|
|
30628
30592
|
dragHandlers
|
|
@@ -30663,7 +30627,7 @@ function RemoteSessionSummary({
|
|
|
30663
30627
|
]
|
|
30664
30628
|
}
|
|
30665
30629
|
),
|
|
30666
|
-
|
|
30630
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteSessionStatusRow, { showRecordingTag, viewers }),
|
|
30667
30631
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-stretch gap-[var(--spacing-system-m)]", children: [
|
|
30668
30632
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30669
30633
|
_chunkDFQYAYBHcjs.Button,
|
|
@@ -30731,6 +30695,7 @@ function RemoteSessionChatPanel({
|
|
|
30731
30695
|
elapsed,
|
|
30732
30696
|
messages,
|
|
30733
30697
|
showRecordingTag = false,
|
|
30698
|
+
viewers,
|
|
30734
30699
|
draft,
|
|
30735
30700
|
onDraftChange,
|
|
30736
30701
|
onSend,
|
|
@@ -30775,7 +30740,7 @@ function RemoteSessionChatPanel({
|
|
|
30775
30740
|
]
|
|
30776
30741
|
}
|
|
30777
30742
|
),
|
|
30778
|
-
|
|
30743
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteSessionStatusRow, { showRecordingTag, viewers }),
|
|
30779
30744
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-stretch gap-[var(--spacing-system-m)]", children: [
|
|
30780
30745
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30781
30746
|
_chunkDFQYAYBHcjs.Button,
|
|
@@ -30931,6 +30896,272 @@ function RemoteSessionPill({ onEndSession }) {
|
|
|
30931
30896
|
);
|
|
30932
30897
|
}
|
|
30933
30898
|
|
|
30899
|
+
// src/components/features/remote-session/remote-session-keep-modals.tsx
|
|
30900
|
+
|
|
30901
|
+
|
|
30902
|
+
var REMOTE_SESSION_KEEP_REASON_LABELS = {
|
|
30903
|
+
CLIENT_DISPUTE: "Client dispute",
|
|
30904
|
+
INTERNAL_REVIEW: "Internal review",
|
|
30905
|
+
LEGAL_OR_COMPLIANCE: "Legal or compliance request",
|
|
30906
|
+
OTHER: "Other"
|
|
30907
|
+
};
|
|
30908
|
+
var KEEP_REASONS = Object.keys(REMOTE_SESSION_KEEP_REASON_LABELS);
|
|
30909
|
+
var DESCRIPTION_MAX_LENGTH = 500;
|
|
30910
|
+
function KeepNotice({ icon, title, children }) {
|
|
30911
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start gap-[var(--spacing-system-m)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-m)]", children: [
|
|
30912
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex shrink-0 text-ods-text-secondary", children: icon }),
|
|
30913
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
30914
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h3", children: title }),
|
|
30915
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children })
|
|
30916
|
+
] })
|
|
30917
|
+
] });
|
|
30918
|
+
}
|
|
30919
|
+
function KeepRecordingModal({
|
|
30920
|
+
isOpen,
|
|
30921
|
+
onClose,
|
|
30922
|
+
keptUsage,
|
|
30923
|
+
isPending = false,
|
|
30924
|
+
onConfirm
|
|
30925
|
+
}) {
|
|
30926
|
+
const [reason, setReason] = _react.useState.call(void 0, "");
|
|
30927
|
+
const [description, setDescription] = _react.useState.call(void 0, "");
|
|
30928
|
+
const [seededOpen, setSeededOpen] = _react.useState.call(void 0, isOpen);
|
|
30929
|
+
if (seededOpen !== isOpen) {
|
|
30930
|
+
setSeededOpen(isOpen);
|
|
30931
|
+
if (isOpen) {
|
|
30932
|
+
setReason("");
|
|
30933
|
+
setDescription("");
|
|
30934
|
+
}
|
|
30935
|
+
}
|
|
30936
|
+
const trimmed = description.trim();
|
|
30937
|
+
const canKeep = reason !== "" && (reason !== "OTHER" || trimmed !== "");
|
|
30938
|
+
const handleKeep = () => {
|
|
30939
|
+
if (!canKeep || isPending) return;
|
|
30940
|
+
onConfirm({ reason, description: reason === "OTHER" ? trimmed : null });
|
|
30941
|
+
};
|
|
30942
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
30943
|
+
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
30944
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalTitle, { children: "Keep this recording" }) }),
|
|
30945
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30946
|
+
KeepNotice,
|
|
30947
|
+
{
|
|
30948
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.InfoCircleIcon, { size: 24, color: "currentColor" }),
|
|
30949
|
+
title: "This recording won't be deleted automatically",
|
|
30950
|
+
children: [
|
|
30951
|
+
"It stays until you stop keeping it. Kept recordings use ",
|
|
30952
|
+
keptUsage,
|
|
30953
|
+
"."
|
|
30954
|
+
]
|
|
30955
|
+
}
|
|
30956
|
+
),
|
|
30957
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xs)]", children: [
|
|
30958
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30959
|
+
Select,
|
|
30960
|
+
{
|
|
30961
|
+
value: reason,
|
|
30962
|
+
onValueChange: (value) => setReason(value),
|
|
30963
|
+
disabled: isPending,
|
|
30964
|
+
children: [
|
|
30965
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectTrigger, { label: "Reason", labelVariant: "large", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectValue, { placeholder: "Select Reason" }) }),
|
|
30966
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectContent, { children: KEEP_REASONS.map((value) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value, children: REMOTE_SESSION_KEEP_REASON_LABELS[value] }, value)) })
|
|
30967
|
+
]
|
|
30968
|
+
}
|
|
30969
|
+
),
|
|
30970
|
+
reason === "OTHER" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30971
|
+
_chunk2A4XES7Rcjs.Input,
|
|
30972
|
+
{
|
|
30973
|
+
"aria-label": "Reason description",
|
|
30974
|
+
value: description,
|
|
30975
|
+
onChange: (event) => setDescription(event.target.value),
|
|
30976
|
+
placeholder: "Briefly describe what's going on",
|
|
30977
|
+
maxLength: DESCRIPTION_MAX_LENGTH,
|
|
30978
|
+
disabled: isPending
|
|
30979
|
+
}
|
|
30980
|
+
)
|
|
30981
|
+
] }),
|
|
30982
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.ModalFooter, { children: [
|
|
30983
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
30984
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
30985
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30986
|
+
_chunkDFQYAYBHcjs.Button,
|
|
30987
|
+
{
|
|
30988
|
+
type: "button",
|
|
30989
|
+
variant: "accent",
|
|
30990
|
+
onClick: handleKeep,
|
|
30991
|
+
loading: isPending,
|
|
30992
|
+
disabled: !canKeep,
|
|
30993
|
+
className: "flex-1",
|
|
30994
|
+
children: "Keep"
|
|
30995
|
+
}
|
|
30996
|
+
)
|
|
30997
|
+
] })
|
|
30998
|
+
] });
|
|
30999
|
+
}
|
|
31000
|
+
function ReleaseKeepingModal({
|
|
31001
|
+
isOpen,
|
|
31002
|
+
onClose,
|
|
31003
|
+
keptBy,
|
|
31004
|
+
keptOn,
|
|
31005
|
+
reason,
|
|
31006
|
+
ticket,
|
|
31007
|
+
expiresOn,
|
|
31008
|
+
dueOn,
|
|
31009
|
+
isPending = false,
|
|
31010
|
+
onConfirm
|
|
31011
|
+
}) {
|
|
31012
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
31013
|
+
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
31014
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.ModalTitle, { children: "Release Keeping" }) }),
|
|
31015
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xsf)] text-ods-text-primary text-h4", children: [
|
|
31016
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { children: [
|
|
31017
|
+
"Kept by ",
|
|
31018
|
+
keptBy,
|
|
31019
|
+
" on ",
|
|
31020
|
+
keptOn,
|
|
31021
|
+
" for ",
|
|
31022
|
+
reason,
|
|
31023
|
+
"."
|
|
31024
|
+
] }),
|
|
31025
|
+
ticket && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { children: [
|
|
31026
|
+
"Ticket: ",
|
|
31027
|
+
ticket
|
|
31028
|
+
] })
|
|
31029
|
+
] }),
|
|
31030
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, KeepNotice, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.HourglassIcon, { size: 24, color: "currentColor" }), title: `It will expire on ${expiresOn}`, children: dueOn ? `It was due to expire on ${dueOn}. Releasing gives it 3 days' grace, and it shows amber until then. Whoever placed the Keep is reminded the day before it goes. Nothing is deleted now.` : "Nothing is deleted now." }),
|
|
31031
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.ModalFooter, { children: [
|
|
31032
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
31033
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
31034
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDFQYAYBHcjs.Button, { type: "button", variant: "accent", onClick: onConfirm, loading: isPending, className: "flex-1", children: "Release Keeping" })
|
|
31035
|
+
] })
|
|
31036
|
+
] });
|
|
31037
|
+
}
|
|
31038
|
+
|
|
31039
|
+
// src/components/features/remote-session/remote-session-events.tsx
|
|
31040
|
+
|
|
31041
|
+
function formatRemoteSessionOffset(offsetMs) {
|
|
31042
|
+
const total = Math.max(0, Math.floor(offsetMs / 1e3));
|
|
31043
|
+
const hours = Math.floor(total / 3600);
|
|
31044
|
+
const minutes = String(Math.floor(total % 3600 / 60)).padStart(2, "0");
|
|
31045
|
+
const seconds = String(total % 60).padStart(2, "0");
|
|
31046
|
+
return hours > 0 ? `${hours}:${minutes}:${seconds}` : `${minutes}:${seconds}`;
|
|
31047
|
+
}
|
|
31048
|
+
function RemoteSessionEventList({ events, activeEventId, onSelect, className }) {
|
|
31049
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex w-full flex-col gap-[var(--spacing-system-xxs)]", className), children: [
|
|
31050
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-secondary text-h5", children: "Session Events" }),
|
|
31051
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ol", { className: "flex w-full flex-col gap-[var(--spacing-system-xxs)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-m)]", children: events.map((event) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
31052
|
+
"button",
|
|
31053
|
+
{
|
|
31054
|
+
type: "button",
|
|
31055
|
+
"aria-current": event.id === activeEventId || void 0,
|
|
31056
|
+
onClick: () => _optionalChain([onSelect, 'optionalCall', _653 => _653(event)]),
|
|
31057
|
+
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
31058
|
+
"flex w-full items-start gap-[var(--spacing-system-xxs)] rounded-md p-[var(--spacing-system-xxs)] text-left outline-none transition-colors",
|
|
31059
|
+
"hover:bg-ods-bg-hover focus-visible:ring-2 focus-visible:ring-ods-focus",
|
|
31060
|
+
event.id === activeEventId && "bg-ods-border hover:bg-ods-border"
|
|
31061
|
+
),
|
|
31062
|
+
children: [
|
|
31063
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "w-[84px] shrink-0 text-ods-text-secondary text-h4", children: formatRemoteSessionOffset(event.offsetMs) }),
|
|
31064
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
31065
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: event.title }),
|
|
31066
|
+
event.detail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: event.detail })
|
|
31067
|
+
] })
|
|
31068
|
+
]
|
|
31069
|
+
}
|
|
31070
|
+
) }, event.id)) })
|
|
31071
|
+
] });
|
|
31072
|
+
}
|
|
31073
|
+
function RemoteSessionTimelineMarkers({
|
|
31074
|
+
events,
|
|
31075
|
+
durationMs,
|
|
31076
|
+
onSelect,
|
|
31077
|
+
className
|
|
31078
|
+
}) {
|
|
31079
|
+
if (durationMs <= 0) return null;
|
|
31080
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "relative h-4 w-full", className), children: events.map((event) => {
|
|
31081
|
+
const share = Math.min(1, Math.max(0, event.offsetMs / durationMs));
|
|
31082
|
+
const label = `${event.title} at ${formatRemoteSessionOffset(event.offsetMs)}`;
|
|
31083
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31084
|
+
"button",
|
|
31085
|
+
{
|
|
31086
|
+
type: "button",
|
|
31087
|
+
"aria-label": label,
|
|
31088
|
+
title: label,
|
|
31089
|
+
onClick: () => _optionalChain([onSelect, 'optionalCall', _654 => _654(event)]),
|
|
31090
|
+
style: { left: `${share * 100}%` },
|
|
31091
|
+
className: "absolute top-0 h-4 w-1 -translate-x-1/2 rounded-md bg-ods-text-secondary outline-none transition-colors hover:bg-ods-text-primary focus-visible:ring-2 focus-visible:ring-ods-focus"
|
|
31092
|
+
},
|
|
31093
|
+
event.id
|
|
31094
|
+
);
|
|
31095
|
+
}) });
|
|
31096
|
+
}
|
|
31097
|
+
|
|
31098
|
+
// src/components/features/remote-session/remote-session-status.tsx
|
|
31099
|
+
|
|
31100
|
+
function LiveDot() {
|
|
31101
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": true, className: "size-2 animate-live-pulse rounded-full bg-current motion-reduce:animate-none" });
|
|
31102
|
+
}
|
|
31103
|
+
var STATUS_TAG = {
|
|
31104
|
+
live: { label: "Live", variant: "critical" },
|
|
31105
|
+
processing: { label: "Processing", variant: "warning" },
|
|
31106
|
+
failed: { label: "Failed", variant: "error" }
|
|
31107
|
+
};
|
|
31108
|
+
function RemoteSessionStatusTag({ status, className }) {
|
|
31109
|
+
const { label, variant } = STATUS_TAG[status];
|
|
31110
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31111
|
+
_chunkEMCQGFXDcjs.Tag,
|
|
31112
|
+
{
|
|
31113
|
+
label,
|
|
31114
|
+
variant,
|
|
31115
|
+
icon: status === "live" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LiveDot, {}) : void 0,
|
|
31116
|
+
className: _chunk3ATAYP36cjs.cn.call(void 0, "pointer-events-none shrink-0", className)
|
|
31117
|
+
}
|
|
31118
|
+
);
|
|
31119
|
+
}
|
|
31120
|
+
function RemoteSessionExpiry(props) {
|
|
31121
|
+
const { className } = props;
|
|
31122
|
+
if (props.state === "none") {
|
|
31123
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk3ATAYP36cjs.cn.call(void 0, "text-ods-text-primary text-h4", className), children: "-" });
|
|
31124
|
+
}
|
|
31125
|
+
if (props.state === "expired") {
|
|
31126
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk3ATAYP36cjs.cn.call(void 0, "text-ods-text-secondary text-h4", className), children: "Expired" });
|
|
31127
|
+
}
|
|
31128
|
+
if (props.state === "kept") {
|
|
31129
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex min-w-0 flex-col", className), children: [
|
|
31130
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "flex items-center gap-[var(--spacing-system-xxs)] text-ods-text-primary text-h4", children: [
|
|
31131
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.LockIcon, { size: 24, color: "currentColor", className: "shrink-0" }),
|
|
31132
|
+
"Kept"
|
|
31133
|
+
] }),
|
|
31134
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
31135
|
+
"Kept by ",
|
|
31136
|
+
props.keptBy,
|
|
31137
|
+
" \xB7 ",
|
|
31138
|
+
props.reason
|
|
31139
|
+
] })
|
|
31140
|
+
] });
|
|
31141
|
+
}
|
|
31142
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex min-w-0 flex-col", className), children: [
|
|
31143
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: props.date }),
|
|
31144
|
+
props.remaining && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: props.remaining })
|
|
31145
|
+
] });
|
|
31146
|
+
}
|
|
31147
|
+
function RemoteSessionStorageAlert({ scope, capacity, className }) {
|
|
31148
|
+
const message = scope === "session" ? "This session isn't being recorded. Recording storage is full. New sessions aren't recorded until space is freed." : `Recording storage full. New sessions aren't recorded.${capacity ? ` All ${capacity} of recording storage is used.` : ""}`;
|
|
31149
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
31150
|
+
"div",
|
|
31151
|
+
{
|
|
31152
|
+
role: "alert",
|
|
31153
|
+
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
31154
|
+
"flex w-full items-start gap-[var(--spacing-system-m)] rounded-md bg-ods-warning-secondary p-[var(--spacing-system-s)] text-ods-warning",
|
|
31155
|
+
className
|
|
31156
|
+
),
|
|
31157
|
+
children: [
|
|
31158
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.AlertTriangleIcon, { size: 24, color: "currentColor", className: "shrink-0" }),
|
|
31159
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 text-h3", children: message })
|
|
31160
|
+
]
|
|
31161
|
+
}
|
|
31162
|
+
);
|
|
31163
|
+
}
|
|
31164
|
+
|
|
30934
31165
|
// src/components/features/board/board.tsx
|
|
30935
31166
|
var _combine = require('@atlaskit/pragmatic-drag-and-drop/combine');
|
|
30936
31167
|
var _adapter = require('@atlaskit/pragmatic-drag-and-drop/element/adapter');
|
|
@@ -30992,7 +31223,7 @@ function autoScrollAncestors(element) {
|
|
|
30992
31223
|
|
|
30993
31224
|
// src/components/features/board/aim.ts
|
|
30994
31225
|
var _closestedge = require('@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge');
|
|
30995
|
-
var othersIn = (columns, columnId, ticketId) => (_nullishCoalesce(_optionalChain([columns, 'access',
|
|
31226
|
+
var othersIn = (columns, columnId, ticketId) => (_nullishCoalesce(_optionalChain([columns, 'access', _655 => _655.find, 'call', _656 => _656((c) => c.id === columnId), 'optionalAccess', _657 => _657.tickets]), () => ( []))).filter((t) => t.id !== ticketId);
|
|
30996
31227
|
function laneOf(columns, ticketId) {
|
|
30997
31228
|
return _nullishCoalesce(columns.find((c) => c.tickets.some((t) => t.id === ticketId)), () => ( null));
|
|
30998
31229
|
}
|
|
@@ -31036,11 +31267,11 @@ function aimToChange(columns, ticketId, aim) {
|
|
|
31036
31267
|
const lane = laneOf(columns, ticketId);
|
|
31037
31268
|
if (!lane) return null;
|
|
31038
31269
|
const others = othersIn(columns, aim.columnId, ticketId);
|
|
31039
|
-
const afterTicketId = _nullishCoalesce(_optionalChain([others, 'access',
|
|
31040
|
-
const beforeTicketId = _nullishCoalesce(_optionalChain([others, 'access',
|
|
31270
|
+
const afterTicketId = _nullishCoalesce(_optionalChain([others, 'access', _658 => _658[aim.index - 1], 'optionalAccess', _659 => _659.id]), () => ( null));
|
|
31271
|
+
const beforeTicketId = _nullishCoalesce(_optionalChain([others, 'access', _660 => _660[aim.index], 'optionalAccess', _661 => _661.id]), () => ( null));
|
|
31041
31272
|
if (lane.id === aim.columnId) {
|
|
31042
31273
|
const currentIndex = lane.tickets.findIndex((t) => t.id === ticketId);
|
|
31043
|
-
if ((_nullishCoalesce(_optionalChain([lane, 'access',
|
|
31274
|
+
if ((_nullishCoalesce(_optionalChain([lane, 'access', _662 => _662.tickets, 'access', _663 => _663[currentIndex - 1], 'optionalAccess', _664 => _664.id]), () => ( null))) === afterTicketId) return null;
|
|
31044
31275
|
}
|
|
31045
31276
|
return { ticketId, fromColumnId: lane.id, toColumnId: aim.columnId, afterTicketId, beforeTicketId };
|
|
31046
31277
|
}
|
|
@@ -31061,7 +31292,7 @@ function BoardColumnHeader({
|
|
|
31061
31292
|
}) {
|
|
31062
31293
|
const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
|
|
31063
31294
|
const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
|
|
31064
|
-
const useStatusVariant =
|
|
31295
|
+
const useStatusVariant = _chunkHY5YL3U5cjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
|
|
31065
31296
|
const actionClass = "h-8 w-8 p-0 md:h-8 md:w-8";
|
|
31066
31297
|
if (collapsed) {
|
|
31067
31298
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
@@ -31077,7 +31308,7 @@ function BoardColumnHeader({
|
|
|
31077
31308
|
}
|
|
31078
31309
|
),
|
|
31079
31310
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31080
|
-
|
|
31311
|
+
_chunkHY5YL3U5cjs.TicketStatusTag,
|
|
31081
31312
|
{
|
|
31082
31313
|
status: tagStatus,
|
|
31083
31314
|
label: column.label,
|
|
@@ -31090,7 +31321,7 @@ function BoardColumnHeader({
|
|
|
31090
31321
|
}
|
|
31091
31322
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
31092
31323
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
31093
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31324
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
|
|
31094
31325
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
|
|
31095
31326
|
] }),
|
|
31096
31327
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -31242,7 +31473,7 @@ function holdMoveDragEffect(element) {
|
|
|
31242
31473
|
|
|
31243
31474
|
function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
31244
31475
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
31245
|
-
const { innerRef, containerStyle } =
|
|
31476
|
+
const { innerRef, containerStyle } = _chunkHY5YL3U5cjs.useCollapsible.call(void 0, { expanded });
|
|
31246
31477
|
const isAdmin = pendingApproval.approvalType === "ADMIN";
|
|
31247
31478
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
|
|
31248
31479
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -31271,7 +31502,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
|
31271
31502
|
}
|
|
31272
31503
|
),
|
|
31273
31504
|
/* @__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,
|
|
31274
|
-
|
|
31505
|
+
_chunkHY5YL3U5cjs.ApprovalBatchMessage,
|
|
31275
31506
|
{
|
|
31276
31507
|
className: "mb-0",
|
|
31277
31508
|
data: {
|
|
@@ -31312,14 +31543,14 @@ function useIsLanding(ticketId) {
|
|
|
31312
31543
|
return _react.useContext.call(void 0, LandingCardContext) === ticketId;
|
|
31313
31544
|
}
|
|
31314
31545
|
function hasMoveSettled(columns, move) {
|
|
31315
|
-
const tickets = _optionalChain([columns, 'access',
|
|
31546
|
+
const tickets = _optionalChain([columns, 'access', _665 => _665.find, 'call', _666 => _666((c) => c.id === move.toColumnId), 'optionalAccess', _667 => _667.tickets]);
|
|
31316
31547
|
if (!tickets) return false;
|
|
31317
31548
|
const index = tickets.findIndex((t) => t.id === move.ticketId);
|
|
31318
31549
|
if (index < 0) return false;
|
|
31319
31550
|
if (move.fromColumnId === move.toColumnId) {
|
|
31320
|
-
return (_nullishCoalesce(_optionalChain([tickets, 'access',
|
|
31551
|
+
return (_nullishCoalesce(_optionalChain([tickets, 'access', _668 => _668[index - 1], 'optionalAccess', _669 => _669.id]), () => ( null))) === move.afterTicketId;
|
|
31321
31552
|
}
|
|
31322
|
-
return !_optionalChain([columns, 'access',
|
|
31553
|
+
return !_optionalChain([columns, 'access', _670 => _670.find, 'call', _671 => _671((c) => c.id === move.fromColumnId), 'optionalAccess', _672 => _672.tickets, 'access', _673 => _673.some, 'call', _674 => _674((t) => t.id === move.ticketId)]);
|
|
31323
31554
|
}
|
|
31324
31555
|
|
|
31325
31556
|
// src/components/features/board/ticket-card.tsx
|
|
@@ -31351,10 +31582,10 @@ function TicketCardBody({
|
|
|
31351
31582
|
onLinkClick
|
|
31352
31583
|
}) {
|
|
31353
31584
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
31354
|
-
const newMessageTextColor = columnColor ?
|
|
31355
|
-
const showDeviceRow = !!(_optionalChain([ticket, 'access',
|
|
31356
|
-
const deviceText = [_optionalChain([ticket, 'access',
|
|
31357
|
-
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access',
|
|
31585
|
+
const newMessageTextColor = columnColor ? _chunkHY5YL3U5cjs.getReadableTextColor.call(void 0, columnColor) : void 0;
|
|
31586
|
+
const showDeviceRow = !!(_optionalChain([ticket, 'access', _675 => _675.deviceHostnames, 'optionalAccess', _676 => _676.length]) || ticket.organizationName);
|
|
31587
|
+
const deviceText = [_optionalChain([ticket, 'access', _677 => _677.deviceHostnames, 'optionalAccess', _678 => _678.join, 'call', _679 => _679(", ")]), ticket.organizationName].filter(Boolean).join(", ");
|
|
31588
|
+
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _680 => _680.assignees, 'optionalAccess', _681 => _681.length]) || renderAssignSlot);
|
|
31358
31589
|
const rightSection = hasRightSection ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
31359
31590
|
ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31360
31591
|
_chunkN3COXDBHcjs.Flag02Icon,
|
|
@@ -31363,7 +31594,7 @@ function TicketCardBody({
|
|
|
31363
31594
|
"aria-label": `Priority: ${ticket.priority}`
|
|
31364
31595
|
}
|
|
31365
31596
|
),
|
|
31366
|
-
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access',
|
|
31597
|
+
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _682 => _682.assignees, 'optionalAccess', _683 => _683.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
|
|
31367
31598
|
ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map(
|
|
31368
31599
|
(a) => a.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31369
31600
|
DeletedUserAvatar,
|
|
@@ -31390,8 +31621,8 @@ function TicketCardBody({
|
|
|
31390
31621
|
] })
|
|
31391
31622
|
] }) : null
|
|
31392
31623
|
] }) : null;
|
|
31393
|
-
const timestampLabel = ticket.createdAt ?
|
|
31394
|
-
const tooltipLabel = ticket.createdAt ?
|
|
31624
|
+
const timestampLabel = ticket.createdAt ? _chunkHY5YL3U5cjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
|
|
31625
|
+
const tooltipLabel = ticket.createdAt ? _chunkHY5YL3U5cjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
|
|
31395
31626
|
const metaLabel = [ticket.ticketNumber || null, timestampLabel].filter(Boolean).join(" \u2022 ");
|
|
31396
31627
|
const metaClass = "truncate text-ods-text-secondary text-h6";
|
|
31397
31628
|
const meta = href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -31417,10 +31648,10 @@ function TicketCardBody({
|
|
|
31417
31648
|
] }),
|
|
31418
31649
|
rightSection
|
|
31419
31650
|
] }),
|
|
31420
|
-
_optionalChain([ticket, 'access',
|
|
31421
|
-
metaLabel && (tooltipLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31422
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31423
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31651
|
+
_optionalChain([ticket, 'access', _684 => _684.tags, 'optionalAccess', _685 => _685.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
31652
|
+
metaLabel && (tooltipLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHY5YL3U5cjs.Tooltip, { children: [
|
|
31653
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipTrigger, { asChild: true, children: meta }),
|
|
31654
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY5YL3U5cjs.TooltipContent, { children: tooltipLabel })
|
|
31424
31655
|
] }) }) : meta),
|
|
31425
31656
|
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: [
|
|
31426
31657
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
|
|
@@ -31484,7 +31715,7 @@ var TicketCard = _react.memo.call(void 0, function TicketCardImpl({
|
|
|
31484
31715
|
const isLanding = useIsLanding(ticket.id);
|
|
31485
31716
|
const aim = useDropAim();
|
|
31486
31717
|
const closestEdge = aim && aim.columnId === columnId && aim.ticketId === ticket.id ? aim.edge : null;
|
|
31487
|
-
const isSource = isDragging || _optionalChain([aim, 'optionalAccess',
|
|
31718
|
+
const isSource = isDragging || _optionalChain([aim, 'optionalAccess', _686 => _686.ticket, 'access', _687 => _687.id]) === ticket.id;
|
|
31488
31719
|
const lift = useBoardLift();
|
|
31489
31720
|
const handleKeyDown = (e) => {
|
|
31490
31721
|
if (e.key !== " " || dragDisabled || !lift) return;
|
|
@@ -31742,7 +31973,7 @@ var BoardColumn = _react.memo.call(void 0, function BoardColumnImpl({
|
|
|
31742
31973
|
// large ones like the only thing that did.
|
|
31743
31974
|
getData: ({ input, element: lane, source }) => {
|
|
31744
31975
|
const nearest = nearestCardIn(lane, input.clientY, String(source.data.ticketId));
|
|
31745
|
-
const ticketId = _optionalChain([nearest, 'optionalAccess',
|
|
31976
|
+
const ticketId = _optionalChain([nearest, 'optionalAccess', _688 => _688.dataset, 'access', _689 => _689.ticketId]);
|
|
31746
31977
|
if (!nearest || !ticketId) return { type: "column", columnId: column.id };
|
|
31747
31978
|
return _closestedge.attachClosestEdge.call(void 0,
|
|
31748
31979
|
{ type: "ticket", ticketId, columnId: column.id },
|
|
@@ -31754,7 +31985,7 @@ var BoardColumn = _react.memo.call(void 0, function BoardColumnImpl({
|
|
|
31754
31985
|
onDrop: () => setIsOver(false)
|
|
31755
31986
|
});
|
|
31756
31987
|
}, [column.id, column.dropDisabled, column.allowedFromColumns, collapsed, touchMode]);
|
|
31757
|
-
const handleToggleCollapse = _react.useCallback.call(void 0, () => _optionalChain([onToggleCollapse, 'optionalCall',
|
|
31988
|
+
const handleToggleCollapse = _react.useCallback.call(void 0, () => _optionalChain([onToggleCollapse, 'optionalCall', _690 => _690(column.id)]), [onToggleCollapse, column.id]);
|
|
31758
31989
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
31759
31990
|
"div",
|
|
31760
31991
|
{
|
|
@@ -31833,7 +32064,7 @@ function ColumnBody({
|
|
|
31833
32064
|
const observer = new IntersectionObserver(
|
|
31834
32065
|
(entries) => {
|
|
31835
32066
|
if (entries.some((e) => e.isIntersecting)) {
|
|
31836
|
-
_optionalChain([loadMoreRef, 'access',
|
|
32067
|
+
_optionalChain([loadMoreRef, 'access', _691 => _691.current, 'optionalCall', _692 => _692(columnIdRef.current)]);
|
|
31837
32068
|
}
|
|
31838
32069
|
},
|
|
31839
32070
|
{ root, rootMargin: loadMoreRootMargin }
|
|
@@ -31858,7 +32089,7 @@ function ColumnBody({
|
|
|
31858
32089
|
ticket: t,
|
|
31859
32090
|
columnId: column.id,
|
|
31860
32091
|
columnColor: column.color,
|
|
31861
|
-
href: _optionalChain([getTicketHref, 'optionalCall',
|
|
32092
|
+
href: _optionalChain([getTicketHref, 'optionalCall', _693 => _693(t.id)]),
|
|
31862
32093
|
renderAssignSlot,
|
|
31863
32094
|
onApprove,
|
|
31864
32095
|
onReject,
|
|
@@ -32035,7 +32266,7 @@ function DragBoard({
|
|
|
32035
32266
|
const [landing, setLanding] = _react.useState.call(void 0, null);
|
|
32036
32267
|
const landingTimer = _react.useRef.call(void 0, null);
|
|
32037
32268
|
const pointRef = _react.useRef.call(void 0, { x: 0, y: 0 });
|
|
32038
|
-
const laneLabel = _react.useCallback.call(void 0, (columnId) => _nullishCoalesce(_optionalChain([view, 'access',
|
|
32269
|
+
const laneLabel = _react.useCallback.call(void 0, (columnId) => _nullishCoalesce(_optionalChain([view, 'access', _694 => _694.find, 'call', _695 => _695((c) => c.id === columnId), 'optionalAccess', _696 => _696.label]), () => ( columnId)), [view]);
|
|
32039
32270
|
const acceptsLifted = _react.useCallback.call(void 0,
|
|
32040
32271
|
(fromColumnId) => (column) => {
|
|
32041
32272
|
if (column.dropDisabled || collapsed[column.id]) return false;
|
|
@@ -32049,7 +32280,7 @@ function DragBoard({
|
|
|
32049
32280
|
const start = initialAim(view, ticketId);
|
|
32050
32281
|
if (!start) return;
|
|
32051
32282
|
setLifted({ ticketId, aim: start });
|
|
32052
|
-
const title = _nullishCoalesce(_optionalChain([laneOf, 'call',
|
|
32283
|
+
const title = _nullishCoalesce(_optionalChain([laneOf, 'call', _697 => _697(view, ticketId), 'optionalAccess', _698 => _698.tickets, 'access', _699 => _699.find, 'call', _700 => _700((t) => t.id === ticketId), 'optionalAccess', _701 => _701.title]), () => ( "Ticket"));
|
|
32053
32284
|
setAnnouncement(`${title} lifted. Use the arrow keys to move it, space to drop it, escape to put it back.`);
|
|
32054
32285
|
},
|
|
32055
32286
|
[view]
|
|
@@ -32074,11 +32305,11 @@ function DragBoard({
|
|
|
32074
32305
|
const walk = _react.useCallback.call(void 0,
|
|
32075
32306
|
(key) => {
|
|
32076
32307
|
if (!lifted) return;
|
|
32077
|
-
const from = _nullishCoalesce(_optionalChain([laneOf, 'call',
|
|
32308
|
+
const from = _nullishCoalesce(_optionalChain([laneOf, 'call', _702 => _702(view, lifted.ticketId), 'optionalAccess', _703 => _703.id]), () => ( lifted.aim.columnId));
|
|
32078
32309
|
const next = moveAim(view, lifted.ticketId, lifted.aim, key, acceptsLifted(from));
|
|
32079
32310
|
if (next === lifted.aim) return;
|
|
32080
32311
|
setLifted({ ...lifted, aim: next });
|
|
32081
|
-
const total = (_nullishCoalesce(_optionalChain([view, 'access',
|
|
32312
|
+
const total = (_nullishCoalesce(_optionalChain([view, 'access', _704 => _704.find, 'call', _705 => _705((c) => c.id === next.columnId), 'optionalAccess', _706 => _706.tickets]), () => ( []))).filter(
|
|
32082
32313
|
(t) => t.id !== lifted.ticketId
|
|
32083
32314
|
).length;
|
|
32084
32315
|
setAnnouncement(`${laneLabel(next.columnId)}, position ${next.index + 1} of ${total + 1}.`);
|
|
@@ -32105,11 +32336,11 @@ function DragBoard({
|
|
|
32105
32336
|
}, [lifted, drop, walk]);
|
|
32106
32337
|
_react.useEffect.call(void 0, () => {
|
|
32107
32338
|
if (!lifted) return;
|
|
32108
|
-
_optionalChain([boardRef, 'access',
|
|
32339
|
+
_optionalChain([boardRef, 'access', _707 => _707.current, 'optionalAccess', _708 => _708.querySelector, 'call', _709 => _709(`[${DROP_LINE_ATTRIBUTE}]`), 'optionalAccess', _710 => _710.scrollIntoView, 'call', _711 => _711({ block: "nearest", inline: "nearest" })]);
|
|
32109
32340
|
}, [lifted]);
|
|
32110
32341
|
const keyboardAim = _react.useMemo.call(void 0, () => {
|
|
32111
32342
|
if (!lifted) return null;
|
|
32112
|
-
const ticket = _optionalChain([laneOf, 'call',
|
|
32343
|
+
const ticket = _optionalChain([laneOf, 'call', _712 => _712(view, lifted.ticketId), 'optionalAccess', _713 => _713.tickets, 'access', _714 => _714.find, 'call', _715 => _715((t) => t.id === lifted.ticketId)]);
|
|
32113
32344
|
if (!ticket) return null;
|
|
32114
32345
|
const anchor = aimToChange(view, lifted.ticketId, lifted.aim) ? aimAnchor(view, lifted.ticketId, lifted.aim) : { ticketId: null, edge: null };
|
|
32115
32346
|
return { columnId: lifted.aim.columnId, ...anchor, ticket };
|
|
@@ -32131,7 +32362,7 @@ function DragBoard({
|
|
|
32131
32362
|
return { columnId: slot.columnId, ...anchor, ticket };
|
|
32132
32363
|
};
|
|
32133
32364
|
const aimAt = (source, targets) => {
|
|
32134
|
-
const next = readAim(source, _optionalChain([targets, 'access',
|
|
32365
|
+
const next = readAim(source, _optionalChain([targets, 'access', _716 => _716[0], 'optionalAccess', _717 => _717.data]));
|
|
32135
32366
|
setAim((prev) => isSameAim(prev, next) ? prev : next);
|
|
32136
32367
|
};
|
|
32137
32368
|
return _combine.combine.call(void 0,
|
|
@@ -32160,7 +32391,7 @@ function DragBoard({
|
|
|
32160
32391
|
setLanding(null);
|
|
32161
32392
|
dragGeometry.current = {
|
|
32162
32393
|
ticket,
|
|
32163
|
-
columnColor: _optionalChain([columnsRef, 'access',
|
|
32394
|
+
columnColor: _optionalChain([columnsRef, 'access', _718 => _718.current, 'access', _719 => _719.find, 'call', _720 => _720((c) => c.id === source.data.columnId), 'optionalAccess', _721 => _721.color]),
|
|
32164
32395
|
width: rect.width,
|
|
32165
32396
|
grabX: clientX - rect.left,
|
|
32166
32397
|
grabY: clientY - rect.top
|
|
@@ -32177,7 +32408,7 @@ function DragBoard({
|
|
|
32177
32408
|
setAim(null);
|
|
32178
32409
|
const change = resolveBoardDrop(columnsRef.current, {
|
|
32179
32410
|
source: source.data,
|
|
32180
|
-
target: _optionalChain([location, 'access',
|
|
32411
|
+
target: _optionalChain([location, 'access', _722 => _722.current, 'access', _723 => _723.dropTargets, 'access', _724 => _724[0], 'optionalAccess', _725 => _725.data])
|
|
32181
32412
|
});
|
|
32182
32413
|
if (!change) return;
|
|
32183
32414
|
setPendingMove({
|
|
@@ -32210,7 +32441,7 @@ function DragBoard({
|
|
|
32210
32441
|
return void 0;
|
|
32211
32442
|
}
|
|
32212
32443
|
const to = card.getBoundingClientRect();
|
|
32213
|
-
const lane = _optionalChain([nearestScrollableAncestor, 'call',
|
|
32444
|
+
const lane = _optionalChain([nearestScrollableAncestor, 'call', _726 => _726(card), 'optionalAccess', _727 => _727.getBoundingClientRect, 'call', _728 => _728()]);
|
|
32214
32445
|
if (lane && (to.top < lane.top || to.bottom > lane.bottom)) {
|
|
32215
32446
|
finish();
|
|
32216
32447
|
return void 0;
|
|
@@ -32269,8 +32500,8 @@ function DragBoard({
|
|
|
32269
32500
|
children: view.map((column, i) => {
|
|
32270
32501
|
const prev = view[i - 1];
|
|
32271
32502
|
const next = view[i + 1];
|
|
32272
|
-
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess',
|
|
32273
|
-
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess',
|
|
32503
|
+
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _729 => _729.system]));
|
|
32504
|
+
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _730 => _730.system]));
|
|
32274
32505
|
const showGap = i > 0 && !joinLeft;
|
|
32275
32506
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
|
|
32276
32507
|
showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
|
|
@@ -32451,13 +32682,13 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
|
|
|
32451
32682
|
const [flipTick, setFlipTick] = _react.useState.call(void 0, 0);
|
|
32452
32683
|
const flipTimer = _react.useRef.call(void 0, null);
|
|
32453
32684
|
const readItems = _react.useCallback.call(void 0,
|
|
32454
|
-
() => [..._nullishCoalesce(_optionalChain([listRef, 'access',
|
|
32685
|
+
() => [..._nullishCoalesce(_optionalChain([listRef, 'access', _731 => _731.current, 'optionalAccess', _732 => _732.querySelectorAll, 'call', _733 => _733(`[${SORTABLE_ITEM_ATTRIBUTE}]`)]), () => ( []))],
|
|
32455
32686
|
[]
|
|
32456
32687
|
);
|
|
32457
32688
|
const reorder = _react.useCallback.call(void 0,
|
|
32458
32689
|
(from, to) => {
|
|
32459
32690
|
if (from === to) return;
|
|
32460
|
-
const label = _nullishCoalesce(_optionalChain([getItemLabelRef, 'access',
|
|
32691
|
+
const label = _nullishCoalesce(_optionalChain([getItemLabelRef, 'access', _734 => _734.current, 'optionalCall', _735 => _735(from)]), () => ( "Item"));
|
|
32461
32692
|
setAnnouncement(`${label} moved to position ${to + 1} of ${readItems().length}.`);
|
|
32462
32693
|
onReorderRef.current(from, to);
|
|
32463
32694
|
},
|
|
@@ -32545,7 +32776,7 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
|
|
|
32545
32776
|
moving.push(item);
|
|
32546
32777
|
}
|
|
32547
32778
|
if (moving.length === 0) return;
|
|
32548
|
-
void _optionalChain([listRef, 'access',
|
|
32779
|
+
void _optionalChain([listRef, 'access', _736 => _736.current, 'optionalAccess', _737 => _737.offsetHeight]);
|
|
32549
32780
|
for (const item of moving) {
|
|
32550
32781
|
item.style.transition = `transform ${DROP_MS2}ms ${EASING}`;
|
|
32551
32782
|
item.style.transform = "";
|
|
@@ -32582,8 +32813,8 @@ function SortableMoveButtons({ index, count, label, className }) {
|
|
|
32582
32813
|
if (to < 0 || to >= count) return;
|
|
32583
32814
|
reorder(index, to);
|
|
32584
32815
|
requestAnimationFrame(() => {
|
|
32585
|
-
if (step === -1 && to === 0) _optionalChain([downRef, 'access',
|
|
32586
|
-
if (step === 1 && to === count - 1) _optionalChain([upRef, 'access',
|
|
32816
|
+
if (step === -1 && to === 0) _optionalChain([downRef, 'access', _738 => _738.current, 'optionalAccess', _739 => _739.focus, 'call', _740 => _740()]);
|
|
32817
|
+
if (step === 1 && to === count - 1) _optionalChain([upRef, 'access', _741 => _741.current, 'optionalAccess', _742 => _742.focus, 'call', _743 => _743()]);
|
|
32587
32818
|
});
|
|
32588
32819
|
};
|
|
32589
32820
|
const subject = _nullishCoalesce(label, () => ( "item"));
|
|
@@ -32631,7 +32862,7 @@ function useSortableItem() {
|
|
|
32631
32862
|
const [handle, setHandle] = _react.useState.call(void 0, null);
|
|
32632
32863
|
const [isDragging, setIsDragging] = _react.useState.call(void 0, false);
|
|
32633
32864
|
const itemRef = _react.useCallback.call(void 0, (node) => {
|
|
32634
|
-
_optionalChain([node, 'optionalAccess',
|
|
32865
|
+
_optionalChain([node, 'optionalAccess', _744 => _744.setAttribute, 'call', _745 => _745(SORTABLE_ITEM_ATTRIBUTE, "")]);
|
|
32635
32866
|
setItem(node);
|
|
32636
32867
|
}, []);
|
|
32637
32868
|
_react.useEffect.call(void 0, () => {
|
|
@@ -32661,7 +32892,7 @@ function useSortableItem() {
|
|
|
32661
32892
|
if (from < 0 || to < 0 || to >= items.length) return;
|
|
32662
32893
|
event.preventDefault();
|
|
32663
32894
|
reorder(from, to);
|
|
32664
|
-
requestAnimationFrame(() => _optionalChain([handle, 'optionalAccess',
|
|
32895
|
+
requestAnimationFrame(() => _optionalChain([handle, 'optionalAccess', _746 => _746.focus, 'call', _747 => _747()]));
|
|
32665
32896
|
},
|
|
32666
32897
|
[inert, readItems, reorder, handle]
|
|
32667
32898
|
);
|
|
@@ -32683,7 +32914,7 @@ function TicketStatusConfigList({
|
|
|
32683
32914
|
onReorder,
|
|
32684
32915
|
getItemLabel,
|
|
32685
32916
|
className: _chunk3ATAYP36cjs.cn.call(void 0, "flex w-full flex-col gap-[var(--spacing-system-xs)]", className),
|
|
32686
|
-
children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { index, count: items.length, label: _optionalChain([getItemLabel, 'optionalCall',
|
|
32917
|
+
children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { index, count: items.length, label: _optionalChain([getItemLabel, 'optionalCall', _748 => _748(index)]), children: (args) => renderRow(item, args) }, item.id))
|
|
32687
32918
|
}
|
|
32688
32919
|
);
|
|
32689
32920
|
}
|
|
@@ -33458,4 +33689,14 @@ function ConversationCard({
|
|
|
33458
33689
|
|
|
33459
33690
|
|
|
33460
33691
|
|
|
33461
|
-
exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.TruncateText = TruncateText; exports.Autocomplete = Autocomplete; exports.timezoneLabel = timezoneLabel; exports.timezoneOptions = timezoneOptions; exports.TimezoneSelect = TimezoneSelect; 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.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.AdminFormDrawer = AdminFormDrawer; exports.PlaybackToggle = PlaybackToggle; 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.BACK_BUTTON_SKELETON_CLASS = BACK_BUTTON_SKELETON_CLASS; 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.getCountryByName = getCountryByName; exports.getFlagFromCountryName = getFlagFromCountryName; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.COMPLIANCE_STANDARDS = COMPLIANCE_STANDARDS; exports.complianceStandardForName = complianceStandardForName; 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.copyrightLine = copyrightLine; exports.isValidPathPattern = isValidPathPattern; exports.matchesPathPattern = matchesPathPattern; exports.pathMatchesAny = pathMatchesAny; 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.DataAttribution = DataAttribution; exports.ComplianceBadge = ComplianceBadge; exports.ComplianceLogo = ComplianceLogo; 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.useMediaIntake = useMediaIntake; exports.MediaUploadArea = MediaUploadArea; 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.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.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.RemoteSessionScope = RemoteSessionScope; exports.RemoteSessionOrgLogo = RemoteSessionOrgLogo; exports.RemoteSessionRecordingTag = RemoteSessionRecordingTag; exports.REMOTE_SESSION_DRAG_HANDLE_CLASS = REMOTE_SESSION_DRAG_HANDLE_CLASS; exports.RemoteSessionDragger = RemoteSessionDragger; exports.formatRemoteSessionElapsed = formatRemoteSessionElapsed; exports.useRemoteSessionTimer = useRemoteSessionTimer; exports.RemoteAccessRequestCard = RemoteAccessRequestCard; exports.RemoteSessionBlockFrame = RemoteSessionBlockFrame; exports.RemoteSessionEndButton = RemoteSessionEndButton; exports.RemoteSessionSummary = RemoteSessionSummary; exports.RemoteSessionMinimizedChip = RemoteSessionMinimizedChip; exports.RemoteSessionChatPanel = RemoteSessionChatPanel; exports.RemoteSessionDialog = RemoteSessionDialog; exports.RemoteSessionBorder = RemoteSessionBorder; exports.RemoteSessionPill = RemoteSessionPill; 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.ConversationCard = ConversationCard; 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.PHOTO_WALL_FRAME = PHOTO_WALL_FRAME; exports.photoOrientation = photoOrientation; exports.arrangePhotoWall = arrangePhotoWall; exports.PhotoWall = PhotoWall; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount; exports.AppWindowFrame = AppWindowFrame; exports.PhoneFrame = PhoneFrame; exports.IncidentStatusLine = IncidentStatusLine; exports.IncidentFeed = IncidentFeed; exports.SnapCarousel = SnapCarousel; exports.useBetweenAnchors = useBetweenAnchors; exports.StickyActionBar = StickyActionBar; exports.IconTile = IconTile;
|
|
33692
|
+
|
|
33693
|
+
|
|
33694
|
+
|
|
33695
|
+
|
|
33696
|
+
|
|
33697
|
+
|
|
33698
|
+
|
|
33699
|
+
|
|
33700
|
+
|
|
33701
|
+
|
|
33702
|
+
exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.TruncateText = TruncateText; exports.Autocomplete = Autocomplete; exports.timezoneLabel = timezoneLabel; exports.timezoneOptions = timezoneOptions; exports.TimezoneSelect = TimezoneSelect; 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.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.AdminFormDrawer = AdminFormDrawer; exports.PlaybackToggle = PlaybackToggle; 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.BACK_BUTTON_SKELETON_CLASS = BACK_BUTTON_SKELETON_CLASS; 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.getCountryByName = getCountryByName; exports.getFlagFromCountryName = getFlagFromCountryName; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.COMPLIANCE_STANDARDS = COMPLIANCE_STANDARDS; exports.complianceStandardForName = complianceStandardForName; 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.copyrightLine = copyrightLine; exports.isValidPathPattern = isValidPathPattern; exports.matchesPathPattern = matchesPathPattern; exports.pathMatchesAny = pathMatchesAny; 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.DataAttribution = DataAttribution; exports.ComplianceBadge = ComplianceBadge; exports.ComplianceLogo = ComplianceLogo; 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.useMediaIntake = useMediaIntake; exports.MediaUploadArea = MediaUploadArea; 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.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.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.RemoteSessionViewers = RemoteSessionViewers; exports.RemoteSessionScope = RemoteSessionScope; exports.RemoteSessionOrgLogo = RemoteSessionOrgLogo; exports.RemoteSessionRecordingTag = RemoteSessionRecordingTag; exports.REMOTE_SESSION_DRAG_HANDLE_CLASS = REMOTE_SESSION_DRAG_HANDLE_CLASS; exports.RemoteSessionDragger = RemoteSessionDragger; exports.formatRemoteSessionElapsed = formatRemoteSessionElapsed; exports.useRemoteSessionTimer = useRemoteSessionTimer; exports.RemoteAccessRequestCard = RemoteAccessRequestCard; exports.RemoteSessionBlockFrame = RemoteSessionBlockFrame; exports.RemoteSessionEndButton = RemoteSessionEndButton; exports.RemoteSessionSummary = RemoteSessionSummary; exports.RemoteSessionMinimizedChip = RemoteSessionMinimizedChip; exports.RemoteSessionChatPanel = RemoteSessionChatPanel; exports.RemoteSessionDialog = RemoteSessionDialog; exports.RemoteSessionBorder = RemoteSessionBorder; exports.RemoteSessionPill = RemoteSessionPill; exports.REMOTE_SESSION_KEEP_REASON_LABELS = REMOTE_SESSION_KEEP_REASON_LABELS; exports.KeepRecordingModal = KeepRecordingModal; exports.ReleaseKeepingModal = ReleaseKeepingModal; exports.formatRemoteSessionOffset = formatRemoteSessionOffset; exports.RemoteSessionEventList = RemoteSessionEventList; exports.RemoteSessionTimelineMarkers = RemoteSessionTimelineMarkers; exports.RemoteSessionStatusTag = RemoteSessionStatusTag; exports.RemoteSessionExpiry = RemoteSessionExpiry; exports.RemoteSessionStorageAlert = RemoteSessionStorageAlert; 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.ConversationCard = ConversationCard; 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.PHOTO_WALL_FRAME = PHOTO_WALL_FRAME; exports.photoOrientation = photoOrientation; exports.arrangePhotoWall = arrangePhotoWall; exports.PhotoWall = PhotoWall; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount; exports.AppWindowFrame = AppWindowFrame; exports.PhoneFrame = PhoneFrame; exports.IncidentStatusLine = IncidentStatusLine; exports.IncidentFeed = IncidentFeed; exports.SnapCarousel = SnapCarousel; exports.useBetweenAnchors = useBetweenAnchors; exports.StickyActionBar = StickyActionBar; exports.IconTile = IconTile;
|