@flamingo-stack/openframe-frontend-core 0.0.670 → 0.0.671-snapshot.20260928023432
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/chat-protocol/card-marker.d.ts +12 -0
- package/dist/chat-protocol/card-marker.d.ts.map +1 -1
- package/dist/chat-protocol/index.cjs +17 -0
- package/dist/chat-protocol/index.cjs.map +1 -1
- package/dist/chat-protocol/index.d.ts +1 -0
- package/dist/chat-protocol/index.d.ts.map +1 -1
- package/dist/chat-protocol/index.js +15 -1
- package/dist/chat-protocol/index.js.map +1 -1
- package/dist/{chunk-FUXUJSPP.cjs → chunk-3UDBK2YG.cjs} +1 -1
- package/dist/chunk-3UDBK2YG.cjs.map +1 -0
- package/dist/{chunk-X4JE3QHN.js → chunk-42OVTTOM.js} +4 -2
- package/dist/{chunk-X4JE3QHN.js.map → chunk-42OVTTOM.js.map} +1 -1
- package/dist/{chunk-BRGO4IEB.js → chunk-4AZWVS7F.js} +6 -6
- package/dist/{chunk-7BOZ3CRQ.js → chunk-6S2KLT7O.js} +4 -4
- package/dist/{chunk-R4NCUO7Y.js → chunk-7KM34VWL.js} +2 -2
- package/dist/{chunk-IO3EXNLR.js → chunk-AL4I5HHB.js} +5 -5
- package/dist/{chunk-YCEVKQHL.cjs → chunk-BODMICIH.cjs} +45 -45
- package/dist/{chunk-YCEVKQHL.cjs.map → chunk-BODMICIH.cjs.map} +1 -1
- package/dist/{chunk-4RJ5M6EJ.cjs → chunk-CBCETEB4.cjs} +10 -10
- package/dist/{chunk-4RJ5M6EJ.cjs.map → chunk-CBCETEB4.cjs.map} +1 -1
- package/dist/{chunk-U7UVD2D2.js → chunk-EKABOXNB.js} +3 -3
- package/dist/{chunk-6CEXIIVF.cjs → chunk-GV7R2NTS.cjs} +26 -26
- package/dist/{chunk-6CEXIIVF.cjs.map → chunk-GV7R2NTS.cjs.map} +1 -1
- package/dist/{chunk-DFM7NCZR.cjs → chunk-H54F476P.cjs} +3 -3
- package/dist/{chunk-DFM7NCZR.cjs.map → chunk-H54F476P.cjs.map} +1 -1
- package/dist/{chunk-57QY7D22.cjs → chunk-HOEVEB7N.cjs} +22 -22
- package/dist/{chunk-57QY7D22.cjs.map → chunk-HOEVEB7N.cjs.map} +1 -1
- package/dist/{chunk-BQUWZQF6.cjs → chunk-HVEX4BSC.cjs} +540 -538
- package/dist/chunk-HVEX4BSC.cjs.map +1 -0
- package/dist/{chunk-DQVEL4YO.js → chunk-IBGHJLNT.js} +2 -2
- package/dist/{chunk-TLLTL6LB.js → chunk-JD4U7QMG.js} +1 -1
- package/dist/chunk-JD4U7QMG.js.map +1 -0
- package/dist/{chunk-NGMOFWQL.cjs → chunk-JREG4T6K.cjs} +10 -10
- package/dist/{chunk-NGMOFWQL.cjs.map → chunk-JREG4T6K.cjs.map} +1 -1
- package/dist/{chunk-BP52HUNB.js → chunk-KSBDARII.js} +5 -5
- package/dist/{chunk-BUPLBCTW.cjs → chunk-NETIHUEY.cjs} +10 -10
- package/dist/{chunk-BUPLBCTW.cjs.map → chunk-NETIHUEY.cjs.map} +1 -1
- package/dist/{chunk-7A6EJEL5.js → chunk-O5PYXQ6H.js} +3 -3
- package/dist/{chunk-S25GQVXN.cjs → chunk-PSL2WBEO.cjs} +33 -33
- package/dist/{chunk-S25GQVXN.cjs.map → chunk-PSL2WBEO.cjs.map} +1 -1
- package/dist/{chunk-QSUYGCBR.js → chunk-PWPYCJ33.js} +2 -2
- package/dist/{chunk-NTZGJZZS.cjs → chunk-RD3I5PBB.cjs} +15 -15
- package/dist/{chunk-NTZGJZZS.cjs.map → chunk-RD3I5PBB.cjs.map} +1 -1
- package/dist/{chunk-P4H2NRQB.cjs → chunk-SNWAN52K.cjs} +5 -5
- package/dist/{chunk-P4H2NRQB.cjs.map → chunk-SNWAN52K.cjs.map} +1 -1
- package/dist/{chunk-QZGGA47F.js → chunk-T3KXCOB2.js} +2 -2
- package/dist/{chunk-RLVSORQW.js → chunk-TFSGYKWG.js} +3 -3
- package/dist/{chunk-BZ6RAT7K.js → chunk-TQPKNG2E.js} +3 -3
- package/dist/{chunk-CTVFAT6X.cjs → chunk-UOQRNZIB.cjs} +22 -22
- package/dist/{chunk-CTVFAT6X.cjs.map → chunk-UOQRNZIB.cjs.map} +1 -1
- package/dist/{chunk-K77Z3E4Y.cjs → chunk-UUOBCUHW.cjs} +3 -3
- package/dist/{chunk-K77Z3E4Y.cjs.map → chunk-UUOBCUHW.cjs.map} +1 -1
- package/dist/{chunk-LC4U5JGM.cjs → chunk-VZRVQEMT.cjs} +4 -4
- package/dist/{chunk-LC4U5JGM.cjs.map → chunk-VZRVQEMT.cjs.map} +1 -1
- package/dist/{chunk-K6WL2OWX.js → chunk-XDTU23P4.js} +3 -3
- package/dist/{chunk-7YZZJYJN.cjs → chunk-XLJNYTUW.cjs} +71 -71
- package/dist/{chunk-7YZZJYJN.cjs.map → chunk-XLJNYTUW.cjs.map} +1 -1
- package/dist/{chunk-JB44GMRU.js → chunk-Z6E45TJM.js} +5 -5
- package/dist/components/case-studies/index.cjs +14 -14
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +1 -1
- package/dist/components/contact/index.cjs +4 -4
- package/dist/components/contact/index.js +3 -3
- package/dist/components/docs/index.cjs +7 -7
- package/dist/components/docs/index.js +6 -6
- package/dist/components/embeds/index.cjs +4 -4
- package/dist/components/embeds/index.js +3 -3
- package/dist/components/faq/index.cjs +4 -4
- package/dist/components/faq/index.js +3 -3
- package/dist/components/features/index.cjs +3 -3
- package/dist/components/features/index.js +2 -2
- package/dist/components/help-center-pages/index.cjs +73 -73
- package/dist/components/help-center-pages/index.js +14 -14
- package/dist/components/index.cjs +39 -39
- package/dist/components/index.js +13 -13
- package/dist/components/meeting-scheduler/index.cjs +24 -24
- package/dist/components/meeting-scheduler/index.js +2 -2
- package/dist/components/navigation/index.cjs +6 -6
- package/dist/components/navigation/index.js +5 -5
- package/dist/components/onboarding-guides/index.cjs +6 -6
- package/dist/components/onboarding-guides/index.js +5 -5
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/ui/index.cjs +3 -3
- package/dist/components/ui/index.js +2 -2
- package/dist/components/ui/search-input.d.ts +5 -1
- package/dist/components/ui/search-input.d.ts.map +1 -1
- package/dist/index.cjs +7 -7
- package/dist/index.js +6 -6
- package/dist/types/design-doc.d.ts +2 -0
- package/dist/types/design-doc.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/search-input-submit-on-clear.test.tsx +32 -0
- package/src/chat-protocol/__tests__/card-marker.test.ts +27 -1
- package/src/chat-protocol/card-marker.ts +24 -0
- package/src/chat-protocol/index.ts +3 -0
- package/src/components/ui/search-input.tsx +7 -1
- package/src/types/design-doc.ts +5 -1
- package/dist/chunk-BQUWZQF6.cjs.map +0 -1
- package/dist/chunk-FUXUJSPP.cjs.map +0 -1
- package/dist/chunk-TLLTL6LB.js.map +0 -1
- /package/dist/{chunk-BRGO4IEB.js.map → chunk-4AZWVS7F.js.map} +0 -0
- /package/dist/{chunk-7BOZ3CRQ.js.map → chunk-6S2KLT7O.js.map} +0 -0
- /package/dist/{chunk-R4NCUO7Y.js.map → chunk-7KM34VWL.js.map} +0 -0
- /package/dist/{chunk-IO3EXNLR.js.map → chunk-AL4I5HHB.js.map} +0 -0
- /package/dist/{chunk-U7UVD2D2.js.map → chunk-EKABOXNB.js.map} +0 -0
- /package/dist/{chunk-DQVEL4YO.js.map → chunk-IBGHJLNT.js.map} +0 -0
- /package/dist/{chunk-BP52HUNB.js.map → chunk-KSBDARII.js.map} +0 -0
- /package/dist/{chunk-7A6EJEL5.js.map → chunk-O5PYXQ6H.js.map} +0 -0
- /package/dist/{chunk-QSUYGCBR.js.map → chunk-PWPYCJ33.js.map} +0 -0
- /package/dist/{chunk-QZGGA47F.js.map → chunk-T3KXCOB2.js.map} +0 -0
- /package/dist/{chunk-RLVSORQW.js.map → chunk-TFSGYKWG.js.map} +0 -0
- /package/dist/{chunk-BZ6RAT7K.js.map → chunk-TQPKNG2E.js.map} +0 -0
- /package/dist/{chunk-K6WL2OWX.js.map → chunk-XDTU23P4.js.map} +0 -0
- /package/dist/{chunk-JB44GMRU.js.map → chunk-Z6E45TJM.js.map} +0 -0
|
@@ -97,7 +97,7 @@ var _chunkQVSVRG7Icjs = require('./chunk-QVSVRG7I.cjs');
|
|
|
97
97
|
|
|
98
98
|
|
|
99
99
|
|
|
100
|
-
var
|
|
100
|
+
var _chunk3UDBK2YGcjs = require('./chunk-3UDBK2YG.cjs');
|
|
101
101
|
|
|
102
102
|
|
|
103
103
|
|
|
@@ -361,7 +361,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
361
361
|
var useTheme = _nextthemes.useTheme;
|
|
362
362
|
function useThemeToggle() {
|
|
363
363
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
364
|
-
const mounted =
|
|
364
|
+
const mounted = _chunk3UDBK2YGcjs.useIsHydrated.call(void 0, );
|
|
365
365
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
366
366
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
367
367
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -638,7 +638,7 @@ function TruncateText({
|
|
|
638
638
|
const { ref, isTruncated } = _chunkV2A4MAALcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
|
|
639
639
|
const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
|
|
640
640
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
641
|
-
|
|
641
|
+
_chunk3UDBK2YGcjs.FloatingTooltip,
|
|
642
642
|
{
|
|
643
643
|
content: _nullishCoalesce(tooltip, () => ( children)),
|
|
644
644
|
side,
|
|
@@ -945,7 +945,7 @@ function AutocompleteInner(props, ref) {
|
|
|
945
945
|
),
|
|
946
946
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2", children: [
|
|
947
947
|
multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
948
|
-
|
|
948
|
+
_chunk3UDBK2YGcjs.Tag,
|
|
949
949
|
{
|
|
950
950
|
variant: "outline",
|
|
951
951
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -1167,7 +1167,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1167
1167
|
"aria-hidden": "true",
|
|
1168
1168
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
1169
1169
|
children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1170
|
-
|
|
1170
|
+
_chunk3UDBK2YGcjs.Tag,
|
|
1171
1171
|
{
|
|
1172
1172
|
variant: "outline",
|
|
1173
1173
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -2552,7 +2552,7 @@ function InfoHint({ children, label, side = "top", className }) {
|
|
|
2552
2552
|
const describedById = _react.useId.call(void 0, );
|
|
2553
2553
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
|
|
2554
2554
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2555
|
-
|
|
2555
|
+
_chunk3UDBK2YGcjs.FloatingTooltip,
|
|
2556
2556
|
{
|
|
2557
2557
|
content: children,
|
|
2558
2558
|
side,
|
|
@@ -2646,7 +2646,7 @@ function Value2({ value, depth }) {
|
|
|
2646
2646
|
}
|
|
2647
2647
|
if (typeof value === "string") {
|
|
2648
2648
|
if (ISO_DATE.test(value)) {
|
|
2649
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children:
|
|
2649
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunk3UDBK2YGcjs.formatRelativeTime.call(void 0, value) });
|
|
2650
2650
|
}
|
|
2651
2651
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
|
|
2652
2652
|
}
|
|
@@ -3278,7 +3278,7 @@ function RowValue({ value }) {
|
|
|
3278
3278
|
}
|
|
3279
3279
|
case "status": {
|
|
3280
3280
|
const { type: _type, ...props } = value;
|
|
3281
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3281
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TicketStatusTag, { ...props });
|
|
3282
3282
|
}
|
|
3283
3283
|
case "custom":
|
|
3284
3284
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
|
|
@@ -4189,7 +4189,7 @@ function TagsManager({
|
|
|
4189
4189
|
}
|
|
4190
4190
|
),
|
|
4191
4191
|
selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4192
|
-
|
|
4192
|
+
_chunk3UDBK2YGcjs.Tag,
|
|
4193
4193
|
{
|
|
4194
4194
|
label: tag.name,
|
|
4195
4195
|
variant: "outline",
|
|
@@ -4734,10 +4734,10 @@ function useConfirm() {
|
|
|
4734
4734
|
},
|
|
4735
4735
|
[]
|
|
4736
4736
|
);
|
|
4737
|
-
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4738
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4739
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4740
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4737
|
+
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3UDBK2YGcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
|
|
4738
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ModalTitle, { children: pending.title }) }),
|
|
4739
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
|
|
4740
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3UDBK2YGcjs.ModalFooter, { children: [
|
|
4741
4741
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
|
|
4742
4742
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
|
|
4743
4743
|
] })
|
|
@@ -4800,9 +4800,9 @@ function AdminFormModal({
|
|
|
4800
4800
|
body: "Your edits have not been saved. Close and discard them?"
|
|
4801
4801
|
});
|
|
4802
4802
|
if (!isOpen) return null;
|
|
4803
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4804
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4805
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4803
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3UDBK2YGcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
|
|
4804
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3UDBK2YGcjs.ModalHeader, { children: [
|
|
4805
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ModalTitle, { children: title }),
|
|
4806
4806
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
|
|
4807
4807
|
] }),
|
|
4808
4808
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -4827,7 +4827,7 @@ function AdminFormModal({
|
|
|
4827
4827
|
// a shrink-to-fit flex item pinned to the left of a 1400px panel).
|
|
4828
4828
|
// The placeholder owns its own layout and mirrors the column count so
|
|
4829
4829
|
// the modal doesn't visibly re-flow when the entity lands.
|
|
4830
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4830
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4831
4831
|
"div",
|
|
4832
4832
|
{
|
|
4833
4833
|
"aria-busy": "true",
|
|
@@ -4848,12 +4848,12 @@ function AdminFormModal({
|
|
|
4848
4848
|
]
|
|
4849
4849
|
}
|
|
4850
4850
|
) })
|
|
4851
|
-
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4851
|
+
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ModalContent, { className: contentClassName, children }),
|
|
4852
4852
|
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
|
|
4853
4853
|
]
|
|
4854
4854
|
}
|
|
4855
4855
|
),
|
|
4856
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4856
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
|
|
4857
4857
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
|
|
4858
4858
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
4859
4859
|
footerStatus,
|
|
@@ -6999,7 +6999,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
|
|
|
6999
6999
|
};
|
|
7000
7000
|
const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
|
|
7001
7001
|
const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7002
|
-
|
|
7002
|
+
_chunk3UDBK2YGcjs.Video,
|
|
7003
7003
|
{
|
|
7004
7004
|
url: item.src,
|
|
7005
7005
|
poster: item.poster ? displayImageSrc(item.poster) : void 0,
|
|
@@ -7723,7 +7723,7 @@ function buildRichEmbedOverrides({
|
|
|
7723
7723
|
ogEndpointPath,
|
|
7724
7724
|
textSizes
|
|
7725
7725
|
}) {
|
|
7726
|
-
const standard =
|
|
7726
|
+
const standard = _chunk3UDBK2YGcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7727
7727
|
return {
|
|
7728
7728
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7729
7729
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7733,7 +7733,7 @@ function buildRichEmbedOverrides({
|
|
|
7733
7733
|
const language = match ? match[1] : "";
|
|
7734
7734
|
const fenceText = () => String(children).replace(/\n$/, "").trim();
|
|
7735
7735
|
if (language === "youtube-embed") {
|
|
7736
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7736
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.Video, { kind: "youtube", url: fenceText() });
|
|
7737
7737
|
}
|
|
7738
7738
|
if (language === "reddit-embed") {
|
|
7739
7739
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
|
|
@@ -7774,7 +7774,7 @@ function buildRichEmbedOverrides({
|
|
|
7774
7774
|
"data-figma-url": figmaUrl
|
|
7775
7775
|
} = divProps;
|
|
7776
7776
|
if (className === "youtube-embed" && videoId) {
|
|
7777
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7777
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.Video, { kind: "youtube", url: videoId });
|
|
7778
7778
|
}
|
|
7779
7779
|
if (className === "reddit-embed" && postUrl) {
|
|
7780
7780
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
|
|
@@ -7859,14 +7859,14 @@ function buildRichEmbedOverrides({
|
|
|
7859
7859
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7860
7860
|
// elsewhere). Guard against empty `![]()`.
|
|
7861
7861
|
img: ({ src, alt }) => {
|
|
7862
|
-
if (!
|
|
7862
|
+
if (!_chunk3UDBK2YGcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7863
7863
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7864
7864
|
},
|
|
7865
7865
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
7866
7866
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
7867
7867
|
video: ({ src, poster, className }) => {
|
|
7868
|
-
if (!
|
|
7869
|
-
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,
|
|
7868
|
+
if (!_chunk3UDBK2YGcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7869
|
+
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, _chunk3UDBK2YGcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
7870
7870
|
}
|
|
7871
7871
|
};
|
|
7872
7872
|
}
|
|
@@ -8107,13 +8107,13 @@ var RichMarkdownInner = ({
|
|
|
8107
8107
|
},
|
|
8108
8108
|
[resolveLinkEndpointUrl, resolveSource]
|
|
8109
8109
|
);
|
|
8110
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
8110
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunk3UDBK2YGcjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
8111
8111
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
8112
8112
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
8113
8113
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
8114
8114
|
);
|
|
8115
8115
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8116
|
-
|
|
8116
|
+
_chunk3UDBK2YGcjs.MarkdownEngine,
|
|
8117
8117
|
{
|
|
8118
8118
|
content,
|
|
8119
8119
|
className,
|
|
@@ -8135,7 +8135,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
8135
8135
|
className = "",
|
|
8136
8136
|
sectionIds,
|
|
8137
8137
|
onInternalLinkClick,
|
|
8138
|
-
brokenLinks =
|
|
8138
|
+
brokenLinks = _chunk3UDBK2YGcjs.NO_BROKEN_LINKS,
|
|
8139
8139
|
currentPath,
|
|
8140
8140
|
resolveSource = "openframe-docs",
|
|
8141
8141
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -9100,7 +9100,7 @@ function FilterModal({
|
|
|
9100
9100
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _167 => _167.defaultSort]), () => ( "desc"));
|
|
9101
9101
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _168 => _168.sort]), () => ( dateDefaultSort)));
|
|
9102
9102
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _169 => _169.range]));
|
|
9103
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
9103
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunk3UDBK2YGcjs.useScrollFade.call(void 0, );
|
|
9104
9104
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
9105
9105
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
9106
9106
|
_react.useEffect.call(void 0, () => {
|
|
@@ -9145,10 +9145,10 @@ function FilterModal({
|
|
|
9145
9145
|
const hasFilterGroups = filterGroups.length > 0;
|
|
9146
9146
|
const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
|
|
9147
9147
|
const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
|
|
9148
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9149
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9148
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3UDBK2YGcjs.Modal, { isOpen, onClose, className: _chunkX7CEWD6Vcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
|
|
9149
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ModalTitle, { children: title }) }),
|
|
9150
9150
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9151
|
-
|
|
9151
|
+
_chunk3UDBK2YGcjs.ModalContent,
|
|
9152
9152
|
{
|
|
9153
9153
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
9154
9154
|
"flex min-h-0 flex-1 flex-col",
|
|
@@ -9240,12 +9240,12 @@ function FilterModal({
|
|
|
9240
9240
|
] })
|
|
9241
9241
|
}
|
|
9242
9242
|
),
|
|
9243
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9244
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9243
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
9244
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
9245
9245
|
] })
|
|
9246
9246
|
}
|
|
9247
9247
|
),
|
|
9248
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9248
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3UDBK2YGcjs.ModalFooter, { children: [
|
|
9249
9249
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
|
|
9250
9250
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
|
|
9251
9251
|
] })
|
|
@@ -9289,9 +9289,9 @@ function actionToMenuItems(action, idx) {
|
|
|
9289
9289
|
function renderActionButton(action, opts = {}) {
|
|
9290
9290
|
const button = renderRawActionButton(action, opts);
|
|
9291
9291
|
if (!action.tooltip) return button;
|
|
9292
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9293
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9294
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9292
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3UDBK2YGcjs.Tooltip, { children: [
|
|
9293
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TooltipTrigger, { asChild: true, children: button }),
|
|
9294
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TooltipContent, { children: action.tooltip })
|
|
9295
9295
|
] }) });
|
|
9296
9296
|
}
|
|
9297
9297
|
function renderRawActionButton(action, opts = {}) {
|
|
@@ -9315,7 +9315,7 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
9315
9315
|
}
|
|
9316
9316
|
if (action.submenu && action.submenu.length > 0) {
|
|
9317
9317
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9318
|
-
|
|
9318
|
+
_chunk3UDBK2YGcjs.ActionsMenuDropdown,
|
|
9319
9319
|
{
|
|
9320
9320
|
groups: [{ items: action.submenu }],
|
|
9321
9321
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -9450,10 +9450,10 @@ function IconButtonsVariant({
|
|
|
9450
9450
|
selector,
|
|
9451
9451
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
9452
9452
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
|
|
9453
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9453
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ActionsMenuDropdown, { groups: menuActions })
|
|
9454
9454
|
] })
|
|
9455
9455
|
] }),
|
|
9456
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex md:hidden", className), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileTriggerSkeleton, {}) : useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9456
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex md:hidden", className), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileTriggerSkeleton, {}) : useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
|
|
9457
9457
|
] });
|
|
9458
9458
|
}
|
|
9459
9459
|
function PrimaryButtonsVariant({
|
|
@@ -9491,7 +9491,7 @@ function MenuPrimaryVariant({
|
|
|
9491
9491
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
|
|
9492
9492
|
selector,
|
|
9493
9493
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
9494
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9494
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ActionsMenuDropdown, { groups: menuActions }),
|
|
9495
9495
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
|
|
9496
9496
|
] })
|
|
9497
9497
|
] }),
|
|
@@ -9499,7 +9499,7 @@ function MenuPrimaryVariant({
|
|
|
9499
9499
|
// The selector rides into the menu as its header row: on mobile the
|
|
9500
9500
|
// title row has no room for it, and hiding it entirely (what
|
|
9501
9501
|
// `icon-buttons` does) would leave no way to switch views at all.
|
|
9502
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9502
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
|
|
9503
9503
|
) : null })
|
|
9504
9504
|
] });
|
|
9505
9505
|
}
|
|
@@ -9905,7 +9905,7 @@ function TitleBlock({
|
|
|
9905
9905
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
9906
9906
|
(loading || title) && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9907
9907
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9908
|
-
|
|
9908
|
+
_chunk3UDBK2YGcjs.FloatingTooltip,
|
|
9909
9909
|
{
|
|
9910
9910
|
content: title,
|
|
9911
9911
|
side: "bottom",
|
|
@@ -9922,12 +9922,12 @@ function TitleBlock({
|
|
|
9922
9922
|
}
|
|
9923
9923
|
),
|
|
9924
9924
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9925
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9925
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
|
|
9926
9926
|
hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
|
|
9927
9927
|
empty `p` collapses to zero height (its only content would be
|
|
9928
9928
|
collapsible whitespace), which is exactly the shift that mode
|
|
9929
9929
|
exists to prevent. Hidden from AT — it carries no meaning. */
|
|
9930
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9930
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9931
9931
|
"p",
|
|
9932
9932
|
{
|
|
9933
9933
|
ref: subtitleRef,
|
|
@@ -9938,7 +9938,7 @@ function TitleBlock({
|
|
|
9938
9938
|
) })
|
|
9939
9939
|
] })
|
|
9940
9940
|
] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9941
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9941
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, titleClass, "min-w-0 text-ods-text-primary", titleOverflowClass), children: title }) }),
|
|
9942
9942
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9943
9943
|
] }) : (
|
|
9944
9944
|
/* This branch never had the single-line clamp, so text already
|
|
@@ -11537,8 +11537,8 @@ function makeComposeContentUrl(opts) {
|
|
|
11537
11537
|
}
|
|
11538
11538
|
if (externalUrl) return { href: externalUrl, targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)) };
|
|
11539
11539
|
const claimedOwner = _nullishCoalesce(targetPlatform, () => ( primaryPlatformOf(platforms)));
|
|
11540
|
-
const owner = claimedOwner &&
|
|
11541
|
-
const origin = owner ?
|
|
11540
|
+
const owner = claimedOwner && _chunk3UDBK2YGcjs.byKey.call(void 0, claimedOwner) ? claimedOwner : null;
|
|
11541
|
+
const origin = owner ? _chunk3UDBK2YGcjs.getPlatformProductionUrl.call(void 0, owner) : opts.contentOrigin;
|
|
11542
11542
|
return {
|
|
11543
11543
|
href: `${origin.replace(/\/+$/, "")}/${seg}/${_optionalChain([slugHint, 'optionalAccess', _228 => _228.trim, 'call', _229 => _229()]) || identifier}`,
|
|
11544
11544
|
// Report the owner so `decideNewTab` can compare it against the current
|
|
@@ -11713,7 +11713,7 @@ function extractSections(markdown, options = {}) {
|
|
|
11713
11713
|
if (heading.level > opts.maxLevel) continue;
|
|
11714
11714
|
let title = heading.text;
|
|
11715
11715
|
if (opts.stripFormattingMarkers) {
|
|
11716
|
-
title =
|
|
11716
|
+
title = _chunk3UDBK2YGcjs.stripInlineMarkdown.call(void 0, title).trim();
|
|
11717
11717
|
}
|
|
11718
11718
|
const baseId = _chunkV2A4MAALcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkV2A4MAALcjs.stripHeadingEmojis.call(void 0, title) : title);
|
|
11719
11719
|
const cleanId = baseId || `section-${sections.length + 1}`;
|
|
@@ -12286,7 +12286,7 @@ function DashboardInfoCard({
|
|
|
12286
12286
|
const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
|
|
12287
12287
|
if (asTag) {
|
|
12288
12288
|
const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
|
|
12289
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12289
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
|
|
12290
12290
|
}
|
|
12291
12291
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
|
|
12292
12292
|
"(",
|
|
@@ -12340,7 +12340,7 @@ function DashboardInfoCard({
|
|
|
12340
12340
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "truncate text-ods-text-primary text-h3 md:text-h2", valueClassName), children: formattedValue }),
|
|
12341
12341
|
subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
|
|
12342
12342
|
renderPercentage(),
|
|
12343
|
-
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12343
|
+
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.FloatingTooltip, { content: tooltip, side: "top", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "cursor-help text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.QuestionCircleIcon, { size: 20 }) }) })
|
|
12344
12344
|
] })
|
|
12345
12345
|
] }),
|
|
12346
12346
|
renderProgress()
|
|
@@ -12517,7 +12517,7 @@ function DeviceCard({
|
|
|
12517
12517
|
] }),
|
|
12518
12518
|
(statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
|
|
12519
12519
|
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12520
|
-
|
|
12520
|
+
_chunk3UDBK2YGcjs.Tag,
|
|
12521
12521
|
{
|
|
12522
12522
|
variant: statusTag.variant,
|
|
12523
12523
|
icon: statusTag.icon,
|
|
@@ -12531,7 +12531,7 @@ function DeviceCard({
|
|
|
12531
12531
|
formatLastSeen(device.lastSeen)
|
|
12532
12532
|
] })
|
|
12533
12533
|
] }),
|
|
12534
|
-
device.tags && device.tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-wrap items-center gap-2", children: device.tags.map((tag, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12534
|
+
device.tags && device.tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-wrap items-center gap-2", children: device.tags.map((tag, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.Tag, { variant: "outline", label: tag }, index)) })
|
|
12535
12535
|
]
|
|
12536
12536
|
}
|
|
12537
12537
|
);
|
|
@@ -12772,7 +12772,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
|
|
|
12772
12772
|
|
|
12773
12773
|
function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
|
|
12774
12774
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12775
|
-
|
|
12775
|
+
_chunk3UDBK2YGcjs.FloatingTooltip,
|
|
12776
12776
|
{
|
|
12777
12777
|
as: "span",
|
|
12778
12778
|
side: "top",
|
|
@@ -12957,7 +12957,7 @@ function DropdownButton({
|
|
|
12957
12957
|
)
|
|
12958
12958
|
);
|
|
12959
12959
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12960
|
-
|
|
12960
|
+
_chunk3UDBK2YGcjs.ActionsMenuDropdown,
|
|
12961
12961
|
{
|
|
12962
12962
|
groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
|
|
12963
12963
|
open,
|
|
@@ -13195,7 +13195,7 @@ function ServiceCardRowItem({ row }) {
|
|
|
13195
13195
|
),
|
|
13196
13196
|
children: [
|
|
13197
13197
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13198
|
-
|
|
13198
|
+
_chunk3UDBK2YGcjs.FloatingTooltip,
|
|
13199
13199
|
{
|
|
13200
13200
|
content: row.value,
|
|
13201
13201
|
side: "top",
|
|
@@ -13333,7 +13333,7 @@ function PeopleCell({ people, fallbackName = "Unassigned" }) {
|
|
|
13333
13333
|
);
|
|
13334
13334
|
}
|
|
13335
13335
|
const fullNames = people.map((p) => p.name || "Unknown").join(", ");
|
|
13336
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13336
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.FloatingTooltip, { content: fullNames, triggerClassName: "min-w-0 max-w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
13337
13337
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13338
13338
|
_chunkQRUW4UXBcjs.AvatarStack,
|
|
13339
13339
|
{
|
|
@@ -13395,9 +13395,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
13395
13395
|
return next;
|
|
13396
13396
|
});
|
|
13397
13397
|
};
|
|
13398
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13398
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3UDBK2YGcjs.Tooltip, { open, onOpenChange: setOpen, children: [
|
|
13399
13399
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13400
|
-
|
|
13400
|
+
_chunk3UDBK2YGcjs.TooltipTrigger,
|
|
13401
13401
|
{
|
|
13402
13402
|
asChild: true,
|
|
13403
13403
|
onPointerDown: (e) => {
|
|
@@ -13415,7 +13415,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
13415
13415
|
children
|
|
13416
13416
|
}
|
|
13417
13417
|
),
|
|
13418
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13418
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TooltipContent, { side, className: "max-w-xs", children: content })
|
|
13419
13419
|
] }) });
|
|
13420
13420
|
}
|
|
13421
13421
|
|
|
@@ -14726,9 +14726,9 @@ function TruncatedHeaderCell({ value, width }) {
|
|
|
14726
14726
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
14727
14727
|
}
|
|
14728
14728
|
}, []);
|
|
14729
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14730
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14731
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14729
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3UDBK2YGcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
14730
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.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 }) }) }),
|
|
14731
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
|
|
14732
14732
|
] }) });
|
|
14733
14733
|
}
|
|
14734
14734
|
|
|
@@ -14781,9 +14781,9 @@ function TruncatedCell({ value, className }) {
|
|
|
14781
14781
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
14782
14782
|
}
|
|
14783
14783
|
}, []);
|
|
14784
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14785
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14786
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14784
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3UDBK2YGcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
14785
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, "block truncate", className), children: value }) }),
|
|
14786
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
|
|
14787
14787
|
] }) });
|
|
14788
14788
|
}
|
|
14789
14789
|
|
|
@@ -15933,6 +15933,7 @@ function SearchInput({
|
|
|
15933
15933
|
} else {
|
|
15934
15934
|
setInternalValue(newVal);
|
|
15935
15935
|
}
|
|
15936
|
+
if (newVal === "" && currentValue !== "") _optionalChain([onSubmit, 'optionalCall', _332 => _332("")]);
|
|
15936
15937
|
if (!isOpen) setIsOpen(true);
|
|
15937
15938
|
setHighlightedIndex(-1);
|
|
15938
15939
|
};
|
|
@@ -15944,10 +15945,11 @@ function SearchInput({
|
|
|
15944
15945
|
} else {
|
|
15945
15946
|
setInternalValue("");
|
|
15946
15947
|
}
|
|
15947
|
-
|
|
15948
|
+
if (currentValue !== "") _optionalChain([onSubmit, 'optionalCall', _333 => _333("")]);
|
|
15949
|
+
_optionalChain([inputRef, 'access', _334 => _334.current, 'optionalAccess', _335 => _335.focus, 'call', _336 => _336()]);
|
|
15948
15950
|
};
|
|
15949
15951
|
const handleResultClick = (result, e) => {
|
|
15950
|
-
_optionalChain([onResultSelect, 'optionalCall',
|
|
15952
|
+
_optionalChain([onResultSelect, 'optionalCall', _337 => _337(
|
|
15951
15953
|
result,
|
|
15952
15954
|
e ? {
|
|
15953
15955
|
metaKey: e.metaKey,
|
|
@@ -15975,7 +15977,7 @@ function SearchInput({
|
|
|
15975
15977
|
if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
|
|
15976
15978
|
handleResultClick(flatResults[highlightedIndex]);
|
|
15977
15979
|
} else {
|
|
15978
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
15980
|
+
_optionalChain([onSubmit, 'optionalCall', _338 => _338(currentValue)]);
|
|
15979
15981
|
}
|
|
15980
15982
|
break;
|
|
15981
15983
|
case "Escape":
|
|
@@ -16058,14 +16060,14 @@ function SearchInput({
|
|
|
16058
16060
|
),
|
|
16059
16061
|
onClick: () => {
|
|
16060
16062
|
if (disabled) return;
|
|
16061
|
-
_optionalChain([inputRef, 'access',
|
|
16063
|
+
_optionalChain([inputRef, 'access', _339 => _339.current, 'optionalAccess', _340 => _340.focus, 'call', _341 => _341()]);
|
|
16062
16064
|
setIsOpen(true);
|
|
16063
16065
|
},
|
|
16064
16066
|
children: [
|
|
16065
16067
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex-shrink-0 text-ods-text-secondary transition-colors duration-200 group-has-[:focus]:text-ods-accent [&_svg]:size-4 md:[&_svg]:size-6", children: startAdornment !== void 0 ? startAdornment : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}) }),
|
|
16066
16068
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
|
|
16067
16069
|
visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16068
|
-
|
|
16070
|
+
_chunk3UDBK2YGcjs.Tag,
|
|
16069
16071
|
{
|
|
16070
16072
|
variant: chipVariantToTagVariant(chip.variant),
|
|
16071
16073
|
label: chip.label,
|
|
@@ -16146,10 +16148,10 @@ function SearchInput({
|
|
|
16146
16148
|
collisionPadding: { bottom: keyboardPadding },
|
|
16147
16149
|
onOpenAutoFocus: (e) => {
|
|
16148
16150
|
e.preventDefault();
|
|
16149
|
-
_optionalChain([inputRef, 'access',
|
|
16151
|
+
_optionalChain([inputRef, 'access', _342 => _342.current, 'optionalAccess', _343 => _343.focus, 'call', _344 => _344()]);
|
|
16150
16152
|
},
|
|
16151
16153
|
onInteractOutside: (e) => {
|
|
16152
|
-
if (_optionalChain([containerRef, 'access',
|
|
16154
|
+
if (_optionalChain([containerRef, 'access', _345 => _345.current, 'optionalAccess', _346 => _346.contains, 'call', _347 => _347(e.target)])) {
|
|
16153
16155
|
e.preventDefault();
|
|
16154
16156
|
}
|
|
16155
16157
|
},
|
|
@@ -16166,7 +16168,7 @@ function SearchInput({
|
|
|
16166
16168
|
ref: hiddenTagsPopupRef,
|
|
16167
16169
|
items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
|
|
16168
16170
|
onRemove: (removedTag) => {
|
|
16169
|
-
_optionalChain([onFilterRemove, 'optionalCall',
|
|
16171
|
+
_optionalChain([onFilterRemove, 'optionalCall', _348 => _348(removedTag)]);
|
|
16170
16172
|
if (hiddenCount <= 1) setShowHiddenTags(false);
|
|
16171
16173
|
}
|
|
16172
16174
|
}
|
|
@@ -16181,7 +16183,7 @@ function SearchInput({
|
|
|
16181
16183
|
}
|
|
16182
16184
|
),
|
|
16183
16185
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: measureRef, "aria-hidden": "true", className: "pointer-events-none fixed -left-[9999px] top-0 flex gap-2", children: filterChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16184
|
-
|
|
16186
|
+
_chunk3UDBK2YGcjs.Tag,
|
|
16185
16187
|
{
|
|
16186
16188
|
variant: chipVariantToTagVariant(chip.variant),
|
|
16187
16189
|
label: chip.label,
|
|
@@ -16208,7 +16210,7 @@ function FilterListItem({
|
|
|
16208
16210
|
}) {
|
|
16209
16211
|
const handleToggle = () => {
|
|
16210
16212
|
if (disabled) return;
|
|
16211
|
-
_optionalChain([onToggle, 'optionalCall',
|
|
16213
|
+
_optionalChain([onToggle, 'optionalCall', _349 => _349(!selected)]);
|
|
16212
16214
|
};
|
|
16213
16215
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16214
16216
|
"div",
|
|
@@ -16255,7 +16257,7 @@ function FilterListItem({
|
|
|
16255
16257
|
CheckboxPrimitive4.Root,
|
|
16256
16258
|
{
|
|
16257
16259
|
checked: selected,
|
|
16258
|
-
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall',
|
|
16260
|
+
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _350 => _350(c === true)]),
|
|
16259
16261
|
onClick: (e) => e.stopPropagation(),
|
|
16260
16262
|
disabled,
|
|
16261
16263
|
"aria-label": title,
|
|
@@ -16336,7 +16338,7 @@ function TagSearchInput({
|
|
|
16336
16338
|
if (!showHiddenTags) return void 0;
|
|
16337
16339
|
const handleClick = (e) => {
|
|
16338
16340
|
const target = e.target;
|
|
16339
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
16341
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _351 => _351.current, 'optionalAccess', _352 => _352.contains, 'call', _353 => _353(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _354 => _354.current, 'optionalAccess', _355 => _355.contains, 'call', _356 => _356(target)])) {
|
|
16340
16342
|
setShowHiddenTags(false);
|
|
16341
16343
|
}
|
|
16342
16344
|
};
|
|
@@ -16347,7 +16349,7 @@ function TagSearchInput({
|
|
|
16347
16349
|
const popup = hiddenTagsPopupRef.current;
|
|
16348
16350
|
const badge = badgeRef.current;
|
|
16349
16351
|
if (!popup || !badge) return;
|
|
16350
|
-
const originLeft = _nullishCoalesce(_optionalChain([wrapperRef, 'access',
|
|
16352
|
+
const originLeft = _nullishCoalesce(_optionalChain([wrapperRef, 'access', _357 => _357.current, 'optionalAccess', _358 => _358.getBoundingClientRect, 'call', _359 => _359(), 'access', _360 => _360.left]), () => ( 0));
|
|
16351
16353
|
popup.style.left = `${badge.getBoundingClientRect().left - originLeft}px`;
|
|
16352
16354
|
});
|
|
16353
16355
|
const hiddenCount = tags.length - visibleCount;
|
|
@@ -16359,13 +16361,13 @@ function TagSearchInput({
|
|
|
16359
16361
|
e.preventDefault();
|
|
16360
16362
|
onSubmit(searchValue);
|
|
16361
16363
|
}
|
|
16362
|
-
_optionalChain([onKeyDown, 'optionalCall',
|
|
16364
|
+
_optionalChain([onKeyDown, 'optionalCall', _361 => _361(e)]);
|
|
16363
16365
|
};
|
|
16364
16366
|
const handleClearAll = (e) => {
|
|
16365
16367
|
e.stopPropagation();
|
|
16366
16368
|
e.preventDefault();
|
|
16367
|
-
_optionalChain([onClearAll, 'optionalCall',
|
|
16368
|
-
_optionalChain([inputRef, 'access',
|
|
16369
|
+
_optionalChain([onClearAll, 'optionalCall', _362 => _362()]);
|
|
16370
|
+
_optionalChain([inputRef, 'access', _363 => _363.current, 'optionalAccess', _364 => _364.focus, 'call', _365 => _365()]);
|
|
16369
16371
|
};
|
|
16370
16372
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
|
|
16371
16373
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -16388,13 +16390,13 @@ function TagSearchInput({
|
|
|
16388
16390
|
className
|
|
16389
16391
|
),
|
|
16390
16392
|
onClick: () => {
|
|
16391
|
-
if (!disabled) _optionalChain([inputRef, 'access',
|
|
16393
|
+
if (!disabled) _optionalChain([inputRef, 'access', _366 => _366.current, 'optionalAccess', _367 => _367.focus, 'call', _368 => _368()]);
|
|
16392
16394
|
},
|
|
16393
16395
|
children: [
|
|
16394
16396
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center pl-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "size-4 text-ods-text-secondary md:size-6" }) }),
|
|
16395
16397
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2", children: [
|
|
16396
16398
|
visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16397
|
-
|
|
16399
|
+
_chunk3UDBK2YGcjs.Tag,
|
|
16398
16400
|
{
|
|
16399
16401
|
variant: "outline",
|
|
16400
16402
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -16482,7 +16484,7 @@ function TagSearchInput({
|
|
|
16482
16484
|
"aria-hidden": "true",
|
|
16483
16485
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
16484
16486
|
children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16485
|
-
|
|
16487
|
+
_chunk3UDBK2YGcjs.Tag,
|
|
16486
16488
|
{
|
|
16487
16489
|
variant: "outline",
|
|
16488
16490
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -16604,7 +16606,7 @@ function MarkdownEditor({
|
|
|
16604
16606
|
try {
|
|
16605
16607
|
const mod = await Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor")));
|
|
16606
16608
|
if (cancelled) return;
|
|
16607
|
-
if (_optionalChain([mod, 'access',
|
|
16609
|
+
if (_optionalChain([mod, 'access', _369 => _369.commands, 'optionalAccess', _370 => _370.getExtraCommands])) {
|
|
16608
16610
|
setDefaultExtraCommands(mod.commands.getExtraCommands());
|
|
16609
16611
|
}
|
|
16610
16612
|
} catch (error) {
|
|
@@ -16642,7 +16644,7 @@ function MarkdownEditor({
|
|
|
16642
16644
|
const isImage = file.type.startsWith("image/");
|
|
16643
16645
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
16644
16646
|
insertTextAtCursor(markdown);
|
|
16645
|
-
_optionalChain([onFileUploaded, 'optionalCall',
|
|
16647
|
+
_optionalChain([onFileUploaded, 'optionalCall', _371 => _371(url, file.name)]);
|
|
16646
16648
|
} catch (error) {
|
|
16647
16649
|
console.error("File upload failed:", error);
|
|
16648
16650
|
setUploadProgress("Upload failed. Please try again.");
|
|
@@ -16656,7 +16658,7 @@ function MarkdownEditor({
|
|
|
16656
16658
|
const handleFileInputChange = _react.useCallback.call(void 0,
|
|
16657
16659
|
(e) => {
|
|
16658
16660
|
const input = e.target;
|
|
16659
|
-
const file = _optionalChain([input, 'access',
|
|
16661
|
+
const file = _optionalChain([input, 'access', _372 => _372.files, 'optionalAccess', _373 => _373[0]]);
|
|
16660
16662
|
if (file) {
|
|
16661
16663
|
void handleFileUpload(file);
|
|
16662
16664
|
input.value = "";
|
|
@@ -16667,7 +16669,7 @@ function MarkdownEditor({
|
|
|
16667
16669
|
const handlePaste = _react.useCallback.call(void 0,
|
|
16668
16670
|
(e) => {
|
|
16669
16671
|
if (!onUploadFile) return;
|
|
16670
|
-
const items = _optionalChain([e, 'access',
|
|
16672
|
+
const items = _optionalChain([e, 'access', _374 => _374.clipboardData, 'optionalAccess', _375 => _375.items]);
|
|
16671
16673
|
if (!items) return;
|
|
16672
16674
|
for (const item of items) {
|
|
16673
16675
|
if (item.type.startsWith("image/")) {
|
|
@@ -16692,7 +16694,7 @@ function MarkdownEditor({
|
|
|
16692
16694
|
buttonProps: { "aria-label": "Upload file", title: "Upload file" },
|
|
16693
16695
|
icon: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-3 w-3 animate-spin" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-3 w-3" }),
|
|
16694
16696
|
execute: () => {
|
|
16695
|
-
_optionalChain([fileInputRef, 'access',
|
|
16697
|
+
_optionalChain([fileInputRef, 'access', _376 => _376.current, 'optionalAccess', _377 => _377.click, 'call', _378 => _378()]);
|
|
16696
16698
|
}
|
|
16697
16699
|
} : null;
|
|
16698
16700
|
const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
|
|
@@ -16704,7 +16706,7 @@ function MarkdownEditor({
|
|
|
16704
16706
|
const EDGE_ZONE = 60;
|
|
16705
16707
|
const MAX_SCROLL_SPEED = 15;
|
|
16706
16708
|
const findScrollParent2 = _react.useCallback.call(void 0, (el) => {
|
|
16707
|
-
let node = _optionalChain([el, 'optionalAccess',
|
|
16709
|
+
let node = _optionalChain([el, 'optionalAccess', _379 => _379.parentElement]);
|
|
16708
16710
|
while (node && node !== document.documentElement) {
|
|
16709
16711
|
const { overflowY } = window.getComputedStyle(node);
|
|
16710
16712
|
if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
|
|
@@ -16843,7 +16845,7 @@ function matchesAccept(file, accept) {
|
|
|
16843
16845
|
});
|
|
16844
16846
|
}
|
|
16845
16847
|
function dragHasFiles(e) {
|
|
16846
|
-
const types = _optionalChain([e, 'access',
|
|
16848
|
+
const types = _optionalChain([e, 'access', _380 => _380.dataTransfer, 'optionalAccess', _381 => _381.types]);
|
|
16847
16849
|
if (!types) return false;
|
|
16848
16850
|
for (let i = 0; i < types.length; i++) {
|
|
16849
16851
|
if (types[i] === "Files") return true;
|
|
@@ -16942,7 +16944,7 @@ function FileUpload({
|
|
|
16942
16944
|
e.stopPropagation();
|
|
16943
16945
|
setDragActive(false);
|
|
16944
16946
|
if (disabled) return;
|
|
16945
|
-
if (_optionalChain([e, 'access',
|
|
16947
|
+
if (_optionalChain([e, 'access', _382 => _382.dataTransfer, 'access', _383 => _383.files, 'optionalAccess', _384 => _384.length])) {
|
|
16946
16948
|
handleFiles(e.dataTransfer.files);
|
|
16947
16949
|
}
|
|
16948
16950
|
};
|
|
@@ -16970,7 +16972,7 @@ function FileUpload({
|
|
|
16970
16972
|
e.preventDefault();
|
|
16971
16973
|
dragCounter = 0;
|
|
16972
16974
|
setDragActive(false);
|
|
16973
|
-
if (_optionalChain([e, 'access',
|
|
16975
|
+
if (_optionalChain([e, 'access', _385 => _385.dataTransfer, 'optionalAccess', _386 => _386.files, 'optionalAccess', _387 => _387.length])) {
|
|
16974
16976
|
handleFilesRef.current(e.dataTransfer.files);
|
|
16975
16977
|
}
|
|
16976
16978
|
};
|
|
@@ -16992,7 +16994,7 @@ function FileUpload({
|
|
|
16992
16994
|
};
|
|
16993
16995
|
}, [acceptWindowDrops, disabled]);
|
|
16994
16996
|
const handleFileSelect = (e) => {
|
|
16995
|
-
if (_optionalChain([e, 'access',
|
|
16997
|
+
if (_optionalChain([e, 'access', _388 => _388.target, 'access', _389 => _389.files, 'optionalAccess', _390 => _390.length])) {
|
|
16996
16998
|
handleFiles(e.target.files);
|
|
16997
16999
|
}
|
|
16998
17000
|
};
|
|
@@ -17010,7 +17012,7 @@ function FileUpload({
|
|
|
17010
17012
|
const openDialog = async () => {
|
|
17011
17013
|
if (disabled) return;
|
|
17012
17014
|
if (!pickFiles) {
|
|
17013
|
-
_optionalChain([fileInputRef, 'access',
|
|
17015
|
+
_optionalChain([fileInputRef, 'access', _391 => _391.current, 'optionalAccess', _392 => _392.click, 'call', _393 => _393()]);
|
|
17014
17016
|
return;
|
|
17015
17017
|
}
|
|
17016
17018
|
try {
|
|
@@ -17083,7 +17085,7 @@ function FileUpload({
|
|
|
17083
17085
|
"button",
|
|
17084
17086
|
{
|
|
17085
17087
|
type: "button",
|
|
17086
|
-
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall',
|
|
17088
|
+
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _394 => _394(entry.id)]),
|
|
17087
17089
|
className: "shrink-0 text-ods-error transition-opacity hover:opacity-80",
|
|
17088
17090
|
"aria-label": `Remove ${entry.fileName}`,
|
|
17089
17091
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.TrashIcon, { className: "size-6" })
|
|
@@ -17214,7 +17216,7 @@ function ImageUploader({
|
|
|
17214
17216
|
onChange(file);
|
|
17215
17217
|
};
|
|
17216
17218
|
const handleFileSelect = (e) => {
|
|
17217
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
17219
|
+
validateAndEmit(_optionalChain([e, 'access', _395 => _395.target, 'access', _396 => _396.files, 'optionalAccess', _397 => _397[0]]));
|
|
17218
17220
|
if (inputRef.current) inputRef.current.value = "";
|
|
17219
17221
|
};
|
|
17220
17222
|
const handleDrag = (e) => {
|
|
@@ -17229,11 +17231,11 @@ function ImageUploader({
|
|
|
17229
17231
|
e.stopPropagation();
|
|
17230
17232
|
setDragActive(false);
|
|
17231
17233
|
if (!interactive) return;
|
|
17232
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
17234
|
+
validateAndEmit(_optionalChain([e, 'access', _398 => _398.dataTransfer, 'access', _399 => _399.files, 'optionalAccess', _400 => _400[0]]));
|
|
17233
17235
|
};
|
|
17234
17236
|
const openDialog = () => {
|
|
17235
17237
|
if (!interactive) return;
|
|
17236
|
-
_optionalChain([inputRef, 'access',
|
|
17238
|
+
_optionalChain([inputRef, 'access', _401 => _401.current, 'optionalAccess', _402 => _402.click, 'call', _403 => _403()]);
|
|
17237
17239
|
};
|
|
17238
17240
|
const handleRootKeyDown = (e) => {
|
|
17239
17241
|
if (hasImage || !interactive) return;
|
|
@@ -17405,28 +17407,28 @@ function ColorPresetSelect({
|
|
|
17405
17407
|
}) {
|
|
17406
17408
|
const selectedPreset = presets.find((p) => p.key === presetKey);
|
|
17407
17409
|
const isCustom = !selectedPreset;
|
|
17408
|
-
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
17409
|
-
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
17410
|
+
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _404 => _404.label]), () => ( "Custom"));
|
|
17411
|
+
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _405 => _405.color]), () => ( value));
|
|
17410
17412
|
const groups = [
|
|
17411
17413
|
{
|
|
17412
17414
|
items: [
|
|
17413
17415
|
...presets.map((p) => ({
|
|
17414
17416
|
id: p.key,
|
|
17415
17417
|
label: p.label,
|
|
17416
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17418
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ColorSwatch, { color: p.color }),
|
|
17417
17419
|
onClick: () => onChange({ color: p.color, preset: p.key })
|
|
17418
17420
|
})),
|
|
17419
17421
|
{
|
|
17420
17422
|
id: CUSTOM_PRESET_KEY,
|
|
17421
17423
|
label: "Custom",
|
|
17422
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17424
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
|
|
17423
17425
|
onClick: () => onChange({ color: value, preset: void 0 })
|
|
17424
17426
|
}
|
|
17425
17427
|
]
|
|
17426
17428
|
}
|
|
17427
17429
|
];
|
|
17428
17430
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17429
|
-
|
|
17431
|
+
_chunk3UDBK2YGcjs.ActionsMenuDropdown,
|
|
17430
17432
|
{
|
|
17431
17433
|
groups,
|
|
17432
17434
|
align: "start",
|
|
@@ -17436,7 +17438,7 @@ function ColorPresetSelect({
|
|
|
17436
17438
|
{
|
|
17437
17439
|
disabled,
|
|
17438
17440
|
"aria-label": `Color: ${displayLabel}`,
|
|
17439
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17441
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ColorSwatch, { color: displayColor }),
|
|
17440
17442
|
selectedLabel: displayLabel,
|
|
17441
17443
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
17442
17444
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "group", className)
|
|
@@ -17457,7 +17459,7 @@ function HexInputs({ value, onChange }) {
|
|
|
17457
17459
|
}
|
|
17458
17460
|
const commit = () => {
|
|
17459
17461
|
const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
|
|
17460
|
-
if (
|
|
17462
|
+
if (_chunk3UDBK2YGcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
|
|
17461
17463
|
else setDraft(value);
|
|
17462
17464
|
};
|
|
17463
17465
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17521,12 +17523,12 @@ function ChannelInput({
|
|
|
17521
17523
|
);
|
|
17522
17524
|
}
|
|
17523
17525
|
function RgbInputs({ value, onChange }) {
|
|
17524
|
-
const rgb = _nullishCoalesce(
|
|
17526
|
+
const rgb = _nullishCoalesce(_chunk3UDBK2YGcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
17525
17527
|
const update = (next) => {
|
|
17526
17528
|
const r = _nullishCoalesce(next.r, () => ( rgb.r));
|
|
17527
17529
|
const g = _nullishCoalesce(next.g, () => ( rgb.g));
|
|
17528
17530
|
const b = _nullishCoalesce(next.b, () => ( rgb.b));
|
|
17529
|
-
onChange(
|
|
17531
|
+
onChange(_chunk3UDBK2YGcjs.rgbToHex.call(void 0, r, g, b));
|
|
17530
17532
|
};
|
|
17531
17533
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
17532
17534
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
|
|
@@ -17535,14 +17537,14 @@ function RgbInputs({ value, onChange }) {
|
|
|
17535
17537
|
] });
|
|
17536
17538
|
}
|
|
17537
17539
|
function HslInputs({ value, onChange }) {
|
|
17538
|
-
const rgb = _nullishCoalesce(
|
|
17539
|
-
const hsl =
|
|
17540
|
+
const rgb = _nullishCoalesce(_chunk3UDBK2YGcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
17541
|
+
const hsl = _chunk3UDBK2YGcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
|
|
17540
17542
|
const update = (next) => {
|
|
17541
17543
|
const h = _nullishCoalesce(next.h, () => ( hsl.h));
|
|
17542
17544
|
const s = _nullishCoalesce(next.s, () => ( hsl.s));
|
|
17543
17545
|
const l = _nullishCoalesce(next.l, () => ( hsl.l));
|
|
17544
|
-
const out =
|
|
17545
|
-
onChange(
|
|
17546
|
+
const out = _chunk3UDBK2YGcjs.hslToRgb.call(void 0, h, s, l);
|
|
17547
|
+
onChange(_chunk3UDBK2YGcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
|
|
17546
17548
|
};
|
|
17547
17549
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
17548
17550
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
|
|
@@ -17568,7 +17570,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
17568
17570
|
{
|
|
17569
17571
|
disabled,
|
|
17570
17572
|
"aria-label": "Pick custom color",
|
|
17571
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17573
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ColorSwatch, { color: value }),
|
|
17572
17574
|
selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
|
|
17573
17575
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
17574
17576
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "group", className)
|
|
@@ -17584,7 +17586,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
17584
17586
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
|
|
17585
17587
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
17586
17588
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17587
|
-
|
|
17589
|
+
_chunk3UDBK2YGcjs.ActionsMenuDropdown,
|
|
17588
17590
|
{
|
|
17589
17591
|
groups: formatGroups,
|
|
17590
17592
|
align: "start",
|
|
@@ -17641,7 +17643,7 @@ function TicketStatusConfigRow({
|
|
|
17641
17643
|
const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
|
|
17642
17644
|
const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
|
|
17643
17645
|
const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17644
|
-
|
|
17646
|
+
_chunk3UDBK2YGcjs.TicketStatusTag,
|
|
17645
17647
|
{
|
|
17646
17648
|
status: statusKey,
|
|
17647
17649
|
label: name || " ",
|
|
@@ -17702,7 +17704,7 @@ function TicketStatusConfigRow({
|
|
|
17702
17704
|
{
|
|
17703
17705
|
id: nameInputId,
|
|
17704
17706
|
value: name,
|
|
17705
|
-
onChange: (e) => _optionalChain([onNameChange, 'optionalCall',
|
|
17707
|
+
onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _406 => _406(e.target.value)]),
|
|
17706
17708
|
disabled: isSystem,
|
|
17707
17709
|
readOnly: isSystem,
|
|
17708
17710
|
maxLength: 50
|
|
@@ -17793,7 +17795,7 @@ function formatTestRunDuration(ms) {
|
|
|
17793
17795
|
var RESULT_COLUMN_MIN_WIDTH = 176;
|
|
17794
17796
|
var SKELETON_COLUMNS = 6;
|
|
17795
17797
|
function TestResultsSkeleton() {
|
|
17796
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17798
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
17797
17799
|
/* @__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}`)) }),
|
|
17798
17800
|
/* @__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}`)) }) })
|
|
17799
17801
|
] }) });
|
|
@@ -17828,7 +17830,7 @@ function TestResultsTable({ rows, loading }) {
|
|
|
17828
17830
|
if (loading) {
|
|
17829
17831
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
17830
17832
|
}
|
|
17831
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17833
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.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: [
|
|
17832
17834
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
17833
17835
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
17834
17836
|
] }) }) });
|
|
@@ -17890,7 +17892,7 @@ var TEST_RUN_STATUS_TAGS = {
|
|
|
17890
17892
|
function TestRunStatusStat({ status, className }) {
|
|
17891
17893
|
const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
|
|
17892
17894
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex min-w-0 flex-col items-start justify-center gap-[var(--spacing-system-xxs)]", className), children: [
|
|
17893
|
-
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17895
|
+
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.Tag, { label: tag.label, variant: tag.variant, className: "pointer-events-none" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h4", children: "-" }),
|
|
17894
17896
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
|
|
17895
17897
|
] });
|
|
17896
17898
|
}
|
|
@@ -17934,7 +17936,7 @@ function useTestRunState(campaign) {
|
|
|
17934
17936
|
const stopReason = _nullishCoalesce(campaign.stopReason, () => ( "completed"));
|
|
17935
17937
|
const status = isActive ? "running" : hasRun && isFinished ? stopReason === "completed" ? firstError ? "error" : "success" : stopReason : "idle";
|
|
17936
17938
|
const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
|
|
17937
|
-
const startedLabel = showTiming && campaign.startedAt ?
|
|
17939
|
+
const startedLabel = showTiming && campaign.startedAt ? _chunk3UDBK2YGcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
|
|
17938
17940
|
const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
|
|
17939
17941
|
const displayRows = _react.useMemo.call(void 0,
|
|
17940
17942
|
() => campaign.results.map(
|
|
@@ -18244,14 +18246,14 @@ function TicketInfoSection({
|
|
|
18244
18246
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18245
18247
|
_chunkQRUW4UXBcjs.SquareAvatar,
|
|
18246
18248
|
{
|
|
18247
|
-
src: _optionalChain([organization, 'optionalAccess',
|
|
18248
|
-
alt: _optionalChain([organization, 'optionalAccess',
|
|
18249
|
-
fallback: _optionalChain([organization, 'optionalAccess',
|
|
18249
|
+
src: _optionalChain([organization, 'optionalAccess', _407 => _407.imageSrc]),
|
|
18250
|
+
alt: _optionalChain([organization, 'optionalAccess', _408 => _408.name]),
|
|
18251
|
+
fallback: _optionalChain([organization, 'optionalAccess', _409 => _409.name]) || "Org",
|
|
18250
18252
|
size: "md",
|
|
18251
18253
|
className: "shrink-0"
|
|
18252
18254
|
}
|
|
18253
18255
|
),
|
|
18254
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([organization, 'optionalAccess',
|
|
18256
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([organization, 'optionalAccess', _410 => _410.name]) || "Unassigned", label: "Organization" })
|
|
18255
18257
|
] }),
|
|
18256
18258
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18257
18259
|
AssigneeDropdown,
|
|
@@ -18269,10 +18271,10 @@ function TicketInfoSection({
|
|
|
18269
18271
|
] }),
|
|
18270
18272
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "block truncate text-ods-text-secondary text-h6", children: "Assigned" })
|
|
18271
18273
|
] }) }),
|
|
18272
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess',
|
|
18274
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _411 => _411.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _412 => _412.icon]), onClick: _optionalChain([device, 'optionalAccess', _413 => _413.onClick]) }),
|
|
18273
18275
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
18274
18276
|
(status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18275
|
-
|
|
18277
|
+
_chunk3UDBK2YGcjs.TicketStatusTag,
|
|
18276
18278
|
{
|
|
18277
18279
|
status: _nullishCoalesce(status, () => ( "")),
|
|
18278
18280
|
label: statusLabel,
|
|
@@ -18311,9 +18313,9 @@ function TicketInfoSection({
|
|
|
18311
18313
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
18312
18314
|
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" }) }),
|
|
18313
18315
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
|
|
18314
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18316
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.SimpleMarkdownRenderer, { content: description }),
|
|
18315
18317
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
18316
|
-
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,
|
|
18318
|
+
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, _chunk3UDBK2YGcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
|
|
18317
18319
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18318
18320
|
TicketNotesSection,
|
|
18319
18321
|
{
|
|
@@ -18336,7 +18338,7 @@ function renderTicketStatusOption(option, isSelected) {
|
|
|
18336
18338
|
const { label, color } = option;
|
|
18337
18339
|
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: [
|
|
18338
18340
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
18339
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18341
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ColorSwatch, { color }),
|
|
18340
18342
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
|
|
18341
18343
|
] }),
|
|
18342
18344
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -18374,16 +18376,16 @@ function TakeOverTicketModal({
|
|
|
18374
18376
|
setAssigneeId(_nullishCoalesce(initialAssigneeId, () => ( null)));
|
|
18375
18377
|
}
|
|
18376
18378
|
}
|
|
18377
|
-
const selectedStatusId = _nullishCoalesce(_nullishCoalesce(statusId, () => ( _optionalChain([statusOptions, 'access',
|
|
18379
|
+
const selectedStatusId = _nullishCoalesce(_nullishCoalesce(statusId, () => ( _optionalChain([statusOptions, 'access', _414 => _414[0], 'optionalAccess', _415 => _415.value]))), () => ( null));
|
|
18378
18380
|
const selectedStatus = statusOptions.find((o) => o.value === selectedStatusId);
|
|
18379
18381
|
const selectedAssignee = assigneeOptions.find((o) => o.value === assigneeId);
|
|
18380
18382
|
const handleConfirm = () => {
|
|
18381
18383
|
if (!selectedStatusId || !assigneeId || isPending) return;
|
|
18382
18384
|
onConfirm({ statusId: selectedStatusId, assigneeId });
|
|
18383
18385
|
};
|
|
18384
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18386
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3UDBK2YGcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
18385
18387
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
18386
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18388
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ModalTitle, { children: "Take Over Ticket" }) }),
|
|
18387
18389
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
18388
18390
|
"The ticket ",
|
|
18389
18391
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -18398,7 +18400,7 @@ function TakeOverTicketModal({
|
|
|
18398
18400
|
value: selectedStatusId,
|
|
18399
18401
|
onChange: setStatusId,
|
|
18400
18402
|
placeholder: "Select Status",
|
|
18401
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18403
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
18402
18404
|
renderOption: renderTicketStatusOption
|
|
18403
18405
|
}
|
|
18404
18406
|
) }),
|
|
@@ -18425,7 +18427,7 @@ function TakeOverTicketModal({
|
|
|
18425
18427
|
}
|
|
18426
18428
|
) })
|
|
18427
18429
|
] }),
|
|
18428
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18430
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3UDBK2YGcjs.ModalFooter, { children: [
|
|
18429
18431
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
18430
18432
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
18431
18433
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18472,7 +18474,7 @@ function ReopenTicketModal({
|
|
|
18472
18474
|
setReason("");
|
|
18473
18475
|
}
|
|
18474
18476
|
}
|
|
18475
|
-
const selectedStatusId = _nullishCoalesce(_nullishCoalesce(statusId, () => ( _optionalChain([statusOptions, 'access',
|
|
18477
|
+
const selectedStatusId = _nullishCoalesce(_nullishCoalesce(statusId, () => ( _optionalChain([statusOptions, 'access', _416 => _416[0], 'optionalAccess', _417 => _417.value]))), () => ( null));
|
|
18476
18478
|
const selectedStatus = statusOptions.find((o) => o.value === selectedStatusId);
|
|
18477
18479
|
const selectedAssignee = assigneeOptions.find((o) => o.value === assigneeId);
|
|
18478
18480
|
const handleConfirm = () => {
|
|
@@ -18484,9 +18486,9 @@ function ReopenTicketModal({
|
|
|
18484
18486
|
reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
|
|
18485
18487
|
});
|
|
18486
18488
|
};
|
|
18487
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18489
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3UDBK2YGcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
18488
18490
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
18489
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18491
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
18490
18492
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
18491
18493
|
"The ticket ",
|
|
18492
18494
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -18501,7 +18503,7 @@ function ReopenTicketModal({
|
|
|
18501
18503
|
value: selectedStatusId,
|
|
18502
18504
|
onChange: setStatusId,
|
|
18503
18505
|
placeholder: "Select Status",
|
|
18504
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18506
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
18505
18507
|
renderOption: renderTicketStatusOption
|
|
18506
18508
|
}
|
|
18507
18509
|
) }),
|
|
@@ -18539,7 +18541,7 @@ function ReopenTicketModal({
|
|
|
18539
18541
|
disabled: isPending
|
|
18540
18542
|
}
|
|
18541
18543
|
) }),
|
|
18542
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18544
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3UDBK2YGcjs.ModalFooter, { children: [
|
|
18543
18545
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
18544
18546
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
18545
18547
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18587,9 +18589,9 @@ function ReopenTicketRequestModal({
|
|
|
18587
18589
|
...showHandoffOption ? { handoffToTechnician: handoff } : {}
|
|
18588
18590
|
});
|
|
18589
18591
|
};
|
|
18590
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18592
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3UDBK2YGcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
18591
18593
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
18592
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18594
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
18593
18595
|
/* @__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." }),
|
|
18594
18596
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18595
18597
|
Textarea,
|
|
@@ -18613,7 +18615,7 @@ function ReopenTicketRequestModal({
|
|
|
18613
18615
|
disabled: isPending
|
|
18614
18616
|
}
|
|
18615
18617
|
),
|
|
18616
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18618
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3UDBK2YGcjs.ModalFooter, { children: [
|
|
18617
18619
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
|
|
18618
18620
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
|
|
18619
18621
|
] })
|
|
@@ -18874,10 +18876,10 @@ function AccountDetailsFields({
|
|
|
18874
18876
|
onKeyDown,
|
|
18875
18877
|
layout = "stacked"
|
|
18876
18878
|
}) {
|
|
18877
|
-
const firstNameErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
18878
|
-
const lastNameErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
18879
|
-
const passwordErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
18880
|
-
const confirmErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
18879
|
+
const firstNameErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _418 => _418.firstName]), firstName);
|
|
18880
|
+
const lastNameErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _419 => _419.lastName]), lastName);
|
|
18881
|
+
const passwordErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _420 => _420.password]), password);
|
|
18882
|
+
const confirmErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _421 => _421.confirmPassword]), confirmPassword);
|
|
18881
18883
|
const names = [
|
|
18882
18884
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18883
18885
|
_chunkQVSVRG7Icjs.Input,
|
|
@@ -19135,7 +19137,7 @@ function SsoProviderButtons({
|
|
|
19135
19137
|
disabled: disabled || (enabledProviders ? !enabledProviders.includes(provider) : false),
|
|
19136
19138
|
className: "disabled:bg-ods-bg",
|
|
19137
19139
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon2, { className: "h-5 w-5" }),
|
|
19138
|
-
onClick: () => _optionalChain([onSsoClick, 'optionalCall',
|
|
19140
|
+
onClick: () => _optionalChain([onSsoClick, 'optionalCall', _422 => _422(provider)]),
|
|
19139
19141
|
children: `${actionLabel} ${meta.name}`
|
|
19140
19142
|
},
|
|
19141
19143
|
provider
|
|
@@ -19317,9 +19319,9 @@ function CreateOrganizationForm({
|
|
|
19317
19319
|
}) {
|
|
19318
19320
|
const hasSso = !!ssoProviders && ssoProviders.length > 0;
|
|
19319
19321
|
const fieldsDisabled = disabled || loading;
|
|
19320
|
-
const emailErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
19321
|
-
const orgNameErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
19322
|
-
const domainErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
19322
|
+
const emailErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _423 => _423.email]), _nullishCoalesce(email, () => ( "")));
|
|
19323
|
+
const orgNameErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _424 => _424.organizationName]), organizationName);
|
|
19324
|
+
const domainErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _425 => _425.domain]), domain);
|
|
19323
19325
|
const handleKeyDown = (event) => {
|
|
19324
19326
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19325
19327
|
onSubmit();
|
|
@@ -19344,11 +19346,11 @@ function CreateOrganizationForm({
|
|
|
19344
19346
|
label: "Email",
|
|
19345
19347
|
placeholder: "username@mail.com",
|
|
19346
19348
|
value: email,
|
|
19347
|
-
error: _nullishCoalesce(emailErr.error, () => ( _optionalChain([emailStatus, 'optionalAccess',
|
|
19348
|
-
errorVariant: emailErr.error ? "error" : _optionalChain([emailStatus, 'optionalAccess',
|
|
19349
|
+
error: _nullishCoalesce(emailErr.error, () => ( _optionalChain([emailStatus, 'optionalAccess', _426 => _426.message]))),
|
|
19350
|
+
errorVariant: emailErr.error ? "error" : _optionalChain([emailStatus, 'optionalAccess', _427 => _427.variant]),
|
|
19349
19351
|
disabled: fieldsDisabled,
|
|
19350
19352
|
onBlur: emailErr.onBlur,
|
|
19351
|
-
onChange: (event) => _optionalChain([onEmailChange, 'optionalCall',
|
|
19353
|
+
onChange: (event) => _optionalChain([onEmailChange, 'optionalCall', _428 => _428(event.target.value)]),
|
|
19352
19354
|
onKeyDown: handleKeyDown
|
|
19353
19355
|
}
|
|
19354
19356
|
),
|
|
@@ -19372,8 +19374,8 @@ function CreateOrganizationForm({
|
|
|
19372
19374
|
label: "Domain",
|
|
19373
19375
|
placeholder: domainPlaceholder,
|
|
19374
19376
|
value: domain,
|
|
19375
|
-
error: _nullishCoalesce(domainErr.error, () => ( _optionalChain([domainStatus, 'optionalAccess',
|
|
19376
|
-
errorVariant: domainErr.error ? "error" : _optionalChain([domainStatus, 'optionalAccess',
|
|
19377
|
+
error: _nullishCoalesce(domainErr.error, () => ( _optionalChain([domainStatus, 'optionalAccess', _429 => _429.message]))),
|
|
19378
|
+
errorVariant: domainErr.error ? "error" : _optionalChain([domainStatus, 'optionalAccess', _430 => _430.variant]),
|
|
19377
19379
|
disabled: fieldsDisabled,
|
|
19378
19380
|
onBlur: domainErr.onBlur,
|
|
19379
19381
|
endAdornment: domainSuffix ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: domainSuffix }) : void 0,
|
|
@@ -19408,7 +19410,7 @@ function CreateOrganizationForm({
|
|
|
19408
19410
|
label: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TermsAgreementLabel, { termsUrl, privacyPolicyUrl }),
|
|
19409
19411
|
checked: agreedToTerms,
|
|
19410
19412
|
disabled: fieldsDisabled,
|
|
19411
|
-
error: _optionalChain([errors, 'optionalAccess',
|
|
19413
|
+
error: _optionalChain([errors, 'optionalAccess', _431 => _431.terms]),
|
|
19412
19414
|
onCheckedChange: onAgreedToTermsChange
|
|
19413
19415
|
}
|
|
19414
19416
|
),
|
|
@@ -19535,10 +19537,10 @@ function LoginForm({
|
|
|
19535
19537
|
className
|
|
19536
19538
|
}) {
|
|
19537
19539
|
const fieldDisabled = disabled || loading;
|
|
19538
|
-
const emailErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
19540
|
+
const emailErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _432 => _432.email]), email);
|
|
19539
19541
|
const handleKeyDown = (event) => {
|
|
19540
19542
|
if (event.key !== "Enter" || fieldDisabled || submitDisabled) return;
|
|
19541
|
-
_optionalChain([onSubmitClick, 'optionalCall',
|
|
19543
|
+
_optionalChain([onSubmitClick, 'optionalCall', _433 => _433()]);
|
|
19542
19544
|
};
|
|
19543
19545
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
19544
19546
|
"div",
|
|
@@ -19570,8 +19572,8 @@ function LoginForm({
|
|
|
19570
19572
|
label: "Email",
|
|
19571
19573
|
placeholder: emailPlaceholder,
|
|
19572
19574
|
value: email,
|
|
19573
|
-
error: _nullishCoalesce(emailErr.error, () => ( _optionalChain([emailStatus, 'optionalAccess',
|
|
19574
|
-
errorVariant: emailErr.error ? "error" : _optionalChain([emailStatus, 'optionalAccess',
|
|
19575
|
+
error: _nullishCoalesce(emailErr.error, () => ( _optionalChain([emailStatus, 'optionalAccess', _434 => _434.message]))),
|
|
19576
|
+
errorVariant: emailErr.error ? "error" : _optionalChain([emailStatus, 'optionalAccess', _435 => _435.variant]),
|
|
19575
19577
|
disabled: fieldDisabled,
|
|
19576
19578
|
onBlur: emailErr.onBlur,
|
|
19577
19579
|
onChange: (event) => onEmailChange(event.target.value),
|
|
@@ -19677,8 +19679,8 @@ function OpenFrameSsoLoginForm({
|
|
|
19677
19679
|
className
|
|
19678
19680
|
}) {
|
|
19679
19681
|
const fieldsDisabled = disabled || loading;
|
|
19680
|
-
const emailErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
19681
|
-
const passwordErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
19682
|
+
const emailErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _436 => _436.email]), email);
|
|
19683
|
+
const passwordErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _437 => _437.password]), password);
|
|
19682
19684
|
const handleKeyDown = (event) => {
|
|
19683
19685
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19684
19686
|
onSubmit();
|
|
@@ -19783,7 +19785,7 @@ function OpenFrameSsoSignUpForm({
|
|
|
19783
19785
|
className
|
|
19784
19786
|
}) {
|
|
19785
19787
|
const fieldsDisabled = disabled || loading;
|
|
19786
|
-
const emailErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
19788
|
+
const emailErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _438 => _438.email]), email);
|
|
19787
19789
|
const handleKeyDown = (event) => {
|
|
19788
19790
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19789
19791
|
onSubmit();
|
|
@@ -19888,8 +19890,8 @@ function PasswordResetForm({
|
|
|
19888
19890
|
className
|
|
19889
19891
|
}) {
|
|
19890
19892
|
const fieldsDisabled = disabled || loading;
|
|
19891
|
-
const passwordErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
19892
|
-
const confirmErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
19893
|
+
const passwordErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _439 => _439.password]), password);
|
|
19894
|
+
const confirmErr = _chunkYNGAJGYBcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _440 => _440.confirmPassword]), confirmPassword);
|
|
19893
19895
|
const handleKeyDown = (event) => {
|
|
19894
19896
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19895
19897
|
onSubmit();
|
|
@@ -20011,7 +20013,7 @@ function SsoJoinForm({
|
|
|
20011
20013
|
className
|
|
20012
20014
|
}) {
|
|
20013
20015
|
const fieldsDisabled = disabled || loading;
|
|
20014
|
-
const displayName = _optionalChain([name, 'optionalAccess',
|
|
20016
|
+
const displayName = _optionalChain([name, 'optionalAccess', _441 => _441.trim, 'call', _442 => _442()]) || _optionalChain([email, 'optionalAccess', _443 => _443.trim, 'call', _444 => _444()]) || "";
|
|
20015
20017
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
20016
20018
|
"div",
|
|
20017
20019
|
{
|
|
@@ -20040,7 +20042,7 @@ function SsoJoinForm({
|
|
|
20040
20042
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", children: displayName }),
|
|
20041
20043
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: organizationName })
|
|
20042
20044
|
] }),
|
|
20043
|
-
roles.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xs)]", children: roles.map((role) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20045
|
+
roles.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xs)]", children: roles.map((role) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.Tag, { variant: "grey", label: role }, role)) })
|
|
20044
20046
|
] }),
|
|
20045
20047
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20046
20048
|
CheckboxBlock,
|
|
@@ -20194,7 +20196,7 @@ function ChangelogManager({
|
|
|
20194
20196
|
descriptionLabel = "Description",
|
|
20195
20197
|
descriptionPlaceholder = "Detailed explanation of the change..."
|
|
20196
20198
|
}) {
|
|
20197
|
-
const tagLabelOf = (value) => _optionalChain([tagOptions, 'optionalAccess',
|
|
20199
|
+
const tagLabelOf = (value) => _optionalChain([tagOptions, 'optionalAccess', _445 => _445.find, 'call', _446 => _446((o) => o.value === value), 'optionalAccess', _447 => _447.label]);
|
|
20198
20200
|
const entryCount = entries.length;
|
|
20199
20201
|
const allExpanded = () => new Set(Array.from({ length: entryCount }, (_, i) => i));
|
|
20200
20202
|
const [expandedIndices, setExpandedIndices] = _react.useState.call(void 0,
|
|
@@ -20212,7 +20214,7 @@ function ChangelogManager({
|
|
|
20212
20214
|
title: "",
|
|
20213
20215
|
description: "",
|
|
20214
20216
|
...showVisibilityToggle && { visibility: "public" },
|
|
20215
|
-
..._optionalChain([tagOptions, 'optionalAccess',
|
|
20217
|
+
..._optionalChain([tagOptions, 'optionalAccess', _448 => _448.length]) && { tag: tagOptions[0].value }
|
|
20216
20218
|
};
|
|
20217
20219
|
onChange([...entries, newEntry]);
|
|
20218
20220
|
setExpandedIndices((prev) => /* @__PURE__ */ new Set([...prev, entries.length]));
|
|
@@ -20698,13 +20700,13 @@ var SectionSelector = ({
|
|
|
20698
20700
|
const listRef = _react.useRef.call(void 0, null);
|
|
20699
20701
|
_react.useEffect.call(void 0, () => {
|
|
20700
20702
|
const list = listRef.current;
|
|
20701
|
-
const active = _optionalChain([list, 'optionalAccess',
|
|
20703
|
+
const active = _optionalChain([list, 'optionalAccess', _449 => _449.querySelector, 'call', _450 => _450('[role="tab"][aria-selected="true"]')]);
|
|
20702
20704
|
if (!list || !active || list.scrollWidth <= list.clientWidth) return;
|
|
20703
20705
|
const offset = active.getBoundingClientRect().left - list.getBoundingClientRect().left;
|
|
20704
20706
|
list.scrollLeft += offset - (list.clientWidth - active.clientWidth) / 2;
|
|
20705
20707
|
}, [activeSection]);
|
|
20706
20708
|
const enabled = sections.filter((section) => !section.disabled && !disabled);
|
|
20707
|
-
const tabStopId = enabled.some((section) => section.id === activeSection) ? activeSection : _optionalChain([enabled, 'access',
|
|
20709
|
+
const tabStopId = enabled.some((section) => section.id === activeSection) ? activeSection : _optionalChain([enabled, 'access', _451 => _451[0], 'optionalAccess', _452 => _452.id]);
|
|
20708
20710
|
const onKeyDown = (event) => {
|
|
20709
20711
|
const step = event.key === "ArrowRight" || event.key === "ArrowDown" ? 1 : event.key === "ArrowLeft" || event.key === "ArrowUp" ? -1 : 0;
|
|
20710
20712
|
if (!step && event.key !== "Home" && event.key !== "End") return;
|
|
@@ -20717,7 +20719,7 @@ var SectionSelector = ({
|
|
|
20717
20719
|
const next = event.key === "Home" ? enabled[0] : event.key === "End" ? enabled[enabled.length - 1] : enabled[(at + step + enabled.length) % enabled.length];
|
|
20718
20720
|
onSectionChange(next.id);
|
|
20719
20721
|
requestAnimationFrame(
|
|
20720
|
-
() => _optionalChain([listRef, 'access',
|
|
20722
|
+
() => _optionalChain([listRef, 'access', _453 => _453.current, 'optionalAccess', _454 => _454.querySelector, 'call', _455 => _455('[role="tab"][aria-selected="true"]'), 'optionalAccess', _456 => _456.focus, 'call', _457 => _457()])
|
|
20721
20723
|
);
|
|
20722
20724
|
};
|
|
20723
20725
|
const getButtonWidthClasses = () => {
|
|
@@ -20760,10 +20762,10 @@ var getContentDimensions = (config) => {
|
|
|
20760
20762
|
const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
|
|
20761
20763
|
const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
|
|
20762
20764
|
const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
|
|
20763
|
-
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
20764
|
-
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
20765
|
-
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
20766
|
-
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
20765
|
+
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _458 => _458.mobileContentDimensions, 'optionalAccess', _459 => _459.width]))), () => ( defaultMobile.width));
|
|
20766
|
+
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _460 => _460.mobileContentDimensions, 'optionalAccess', _461 => _461.height]))), () => ( defaultMobile.height));
|
|
20767
|
+
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _462 => _462.desktopContentDimensions, 'optionalAccess', _463 => _463.width]))), () => ( defaultDesktop.width));
|
|
20768
|
+
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _464 => _464.desktopContentDimensions, 'optionalAccess', _465 => _465.height]))), () => ( defaultDesktop.height));
|
|
20767
20769
|
return {
|
|
20768
20770
|
mobile: { width: mobileWidth, height: mobileHeight },
|
|
20769
20771
|
desktop: { width: desktopWidth, height: desktopHeight }
|
|
@@ -20919,7 +20921,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
|
|
|
20919
20921
|
const contentDimensions = getContentDimensions(config);
|
|
20920
20922
|
const mobileHeight = contentDimensions.mobile.height;
|
|
20921
20923
|
const calculatedHeight = Math.max(mobileHeight + 100, 400);
|
|
20922
|
-
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess',
|
|
20924
|
+
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _466 => _466.innerHeight]) * 0.85 || 650)}px`;
|
|
20923
20925
|
})(),
|
|
20924
20926
|
minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
|
|
20925
20927
|
const contentDimensions = getContentDimensions(config);
|
|
@@ -20977,7 +20979,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
|
|
|
20977
20979
|
sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
|
|
20978
20980
|
title: config.title,
|
|
20979
20981
|
loading: "eager",
|
|
20980
|
-
...
|
|
20982
|
+
..._chunk3UDBK2YGcjs.fetchPriorityProp.call(void 0, "high")
|
|
20981
20983
|
},
|
|
20982
20984
|
iframeKey
|
|
20983
20985
|
),
|
|
@@ -21022,7 +21024,7 @@ var FigmaPrototypeViewer = ({
|
|
|
21022
21024
|
const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
|
|
21023
21025
|
const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
|
|
21024
21026
|
const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
|
|
21025
|
-
config.defaultSectionId || _optionalChain([config, 'access',
|
|
21027
|
+
config.defaultSectionId || _optionalChain([config, 'access', _467 => _467.sections, 'access', _468 => _468[0], 'optionalAccess', _469 => _469.id]) || ""
|
|
21026
21028
|
);
|
|
21027
21029
|
const activeSection = externalActiveSection || internalActiveSection;
|
|
21028
21030
|
const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
|
|
@@ -21120,19 +21122,19 @@ var FigmaPrototypeViewer = ({
|
|
|
21120
21122
|
setIframeState("READY");
|
|
21121
21123
|
break;
|
|
21122
21124
|
case "PRESENTED_NODE_CHANGED":
|
|
21123
|
-
if (_optionalChain([figmaEvent, 'access',
|
|
21125
|
+
if (_optionalChain([figmaEvent, 'access', _470 => _470.data, 'optionalAccess', _471 => _471.presentedNodeId])) {
|
|
21124
21126
|
setCurrentNodeId(figmaEvent.data.presentedNodeId);
|
|
21125
21127
|
if (!isNavigating) {
|
|
21126
21128
|
const matchingSection = configSections.find((s) => {
|
|
21127
|
-
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access',
|
|
21128
|
-
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access',
|
|
21129
|
+
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _472 => _472.data, 'optionalAccess', _473 => _473.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _474 => _474.data, 'optionalAccess', _475 => _475.presentedNodeId]);
|
|
21130
|
+
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _476 => _476.data, 'optionalAccess', _477 => _477.presentedNodeId]) || _optionalChain([s, 'access', _478 => _478.mobileStartingNodeId, 'optionalAccess', _479 => _479.replace, 'call', _480 => _480(":", "-")]) === _optionalChain([figmaEvent, 'access', _481 => _481.data, 'optionalAccess', _482 => _482.presentedNodeId]);
|
|
21129
21131
|
return desktopMatch || mobileMatch;
|
|
21130
21132
|
});
|
|
21131
21133
|
if (matchingSection && matchingSection.id !== activeSection) {
|
|
21132
21134
|
if (!externalActiveSection) {
|
|
21133
21135
|
setInternalActiveSection(matchingSection.id);
|
|
21134
21136
|
}
|
|
21135
|
-
_optionalChain([onSectionChange, 'optionalCall',
|
|
21137
|
+
_optionalChain([onSectionChange, 'optionalCall', _483 => _483(matchingSection.id)]);
|
|
21136
21138
|
}
|
|
21137
21139
|
}
|
|
21138
21140
|
}
|
|
@@ -21146,7 +21148,7 @@ var FigmaPrototypeViewer = ({
|
|
|
21146
21148
|
const navigateToSection = _react.useCallback.call(void 0,
|
|
21147
21149
|
(sectionId) => {
|
|
21148
21150
|
const section = config.sections.find((s) => s.id === sectionId);
|
|
21149
|
-
if (!section || !_optionalChain([iframeRef, 'access',
|
|
21151
|
+
if (!section || !_optionalChain([iframeRef, 'access', _484 => _484.current, 'optionalAccess', _485 => _485.contentWindow]) || !isInitialized) {
|
|
21150
21152
|
return;
|
|
21151
21153
|
}
|
|
21152
21154
|
setIsNavigating(true);
|
|
@@ -21154,7 +21156,7 @@ var FigmaPrototypeViewer = ({
|
|
|
21154
21156
|
if (!externalActiveSection) {
|
|
21155
21157
|
setInternalActiveSection(sectionId);
|
|
21156
21158
|
}
|
|
21157
|
-
_optionalChain([config, 'access',
|
|
21159
|
+
_optionalChain([config, 'access', _486 => _486.onSectionChange, 'optionalCall', _487 => _487(sectionId)]);
|
|
21158
21160
|
const command = {
|
|
21159
21161
|
type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
|
|
21160
21162
|
data: { nodeId }
|
|
@@ -21493,7 +21495,7 @@ var FiltersDropdown = ({
|
|
|
21493
21495
|
defaults[section.id] = section.defaultSelected || [];
|
|
21494
21496
|
});
|
|
21495
21497
|
setSelectedFilters(defaults);
|
|
21496
|
-
_optionalChain([onReset, 'optionalCall',
|
|
21498
|
+
_optionalChain([onReset, 'optionalCall', _488 => _488()]);
|
|
21497
21499
|
setIsOpen(false);
|
|
21498
21500
|
};
|
|
21499
21501
|
const handleApply = () => {
|
|
@@ -21742,7 +21744,7 @@ function MediaGalleryManager({
|
|
|
21742
21744
|
const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
|
|
21743
21745
|
const handleFileSelect = _react.useCallback.call(void 0,
|
|
21744
21746
|
async (event) => {
|
|
21745
|
-
const file = _optionalChain([event, 'access',
|
|
21747
|
+
const file = _optionalChain([event, 'access', _489 => _489.target, 'access', _490 => _490.files, 'optionalAccess', _491 => _491[0]]);
|
|
21746
21748
|
if (!file) return;
|
|
21747
21749
|
let mediaType;
|
|
21748
21750
|
if (file.type.startsWith("image/")) {
|
|
@@ -21829,7 +21831,7 @@ function MediaGalleryManager({
|
|
|
21829
21831
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: _chunkQRUW4UXBcjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? (
|
|
21830
21832
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
21831
21833
|
// fit="cover" crops to the aspect-video cell.
|
|
21832
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21834
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
|
|
21833
21835
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21834
21836
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
21835
21837
|
{
|
|
@@ -21867,7 +21869,7 @@ function MediaGalleryManager({
|
|
|
21867
21869
|
{
|
|
21868
21870
|
type: "button",
|
|
21869
21871
|
variant: "outline",
|
|
21870
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
21872
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _492 => _492.current, 'optionalAccess', _493 => _493.click, 'call', _494 => _494()]),
|
|
21871
21873
|
disabled: isUploading,
|
|
21872
21874
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
21873
21875
|
className: "font-bold text-h6",
|
|
@@ -22328,60 +22330,60 @@ function CardSkeleton({
|
|
|
22328
22330
|
function VendorCardContent({ showMetadata }) {
|
|
22329
22331
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-3 p-4", children: [
|
|
22330
22332
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start gap-3", children: [
|
|
22331
|
-
/* @__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,
|
|
22333
|
+
/* @__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, _chunk3UDBK2YGcjs.MediaSkeleton.Avatar, { size: "sm", className: "h-11 w-11" }) }),
|
|
22332
22334
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center space-y-1 py-2", children: [
|
|
22333
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22334
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22335
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
22336
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-1/2" })
|
|
22335
22337
|
] })
|
|
22336
22338
|
] }),
|
|
22337
22339
|
/* @__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: [
|
|
22338
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22339
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22340
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
22341
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
22340
22342
|
] }) }),
|
|
22341
22343
|
showMetadata && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-2", children: [
|
|
22342
22344
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-shrink items-center gap-3 md:gap-4", children: [
|
|
22343
22345
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
22344
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22345
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22346
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
22347
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-8" })
|
|
22346
22348
|
] }),
|
|
22347
22349
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
22348
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22349
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22350
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
22351
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-10" })
|
|
22350
22352
|
] })
|
|
22351
22353
|
] }),
|
|
22352
22354
|
/* @__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: [
|
|
22353
|
-
/* @__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,
|
|
22354
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22355
|
+
/* @__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, _chunk3UDBK2YGcjs.MediaSkeleton.Icon, { size: "sm", className: "h-2.5 w-2.5" }) }),
|
|
22356
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-16" })
|
|
22355
22357
|
] }) })
|
|
22356
22358
|
] })
|
|
22357
22359
|
] });
|
|
22358
22360
|
}
|
|
22359
22361
|
function BlogCardContent({ showActions, showMetadata }) {
|
|
22360
22362
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
22361
|
-
/* @__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,
|
|
22363
|
+
/* @__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, _chunk3UDBK2YGcjs.MediaSkeleton.CardImage, {}) }),
|
|
22362
22364
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-grow flex-col p-4", children: [
|
|
22363
22365
|
/* @__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: [
|
|
22364
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22365
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22366
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Subheading, { className: "w-full" }),
|
|
22367
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Subheading, { className: "w-3/4" })
|
|
22366
22368
|
] }) }),
|
|
22367
22369
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-3 flex h-[28px] items-center gap-2", children: [
|
|
22368
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22369
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22370
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Chip, { className: "w-16" }),
|
|
22371
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Chip, { className: "w-12" })
|
|
22370
22372
|
] }),
|
|
22371
22373
|
/* @__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: [
|
|
22372
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22373
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22374
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
22375
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-1/2" })
|
|
22374
22376
|
] }) }),
|
|
22375
|
-
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22377
|
+
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Button, { className: "h-8 w-24" }) }),
|
|
22376
22378
|
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: [
|
|
22377
22379
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
|
|
22378
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22379
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22380
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.MediaSkeleton.Avatar, { size: "sm" }),
|
|
22381
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-16" })
|
|
22380
22382
|
] }),
|
|
22381
22383
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-3 text-ods-text-muted", children: [
|
|
22382
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22384
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-12" }),
|
|
22383
22385
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-1 w-1 rounded-full bg-ods-skeleton" }),
|
|
22384
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22386
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-16" })
|
|
22385
22387
|
] })
|
|
22386
22388
|
] }) })
|
|
22387
22389
|
] })
|
|
@@ -22389,35 +22391,35 @@ function BlogCardContent({ showActions, showMetadata }) {
|
|
|
22389
22391
|
}
|
|
22390
22392
|
function CategoryCardContent() {
|
|
22391
22393
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4 p-4 md:p-6", children: [
|
|
22392
|
-
/* @__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,
|
|
22394
|
+
/* @__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, _chunk3UDBK2YGcjs.MediaSkeleton.Icon, { size: "lg", className: "flex-shrink-0" }, index)) }),
|
|
22393
22395
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
22394
22396
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
22395
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22396
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22397
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
22398
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-1/2" })
|
|
22397
22399
|
] }),
|
|
22398
22400
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between gap-4 md:items-end md:gap-6", children: [
|
|
22399
22401
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
22400
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22401
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22402
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
22403
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
22402
22404
|
] }),
|
|
22403
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22405
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Button, { className: "h-10 w-10 flex-shrink-0 md:h-12 md:w-12" })
|
|
22404
22406
|
] })
|
|
22405
22407
|
] })
|
|
22406
22408
|
] });
|
|
22407
22409
|
}
|
|
22408
22410
|
function AlternativeCardContent({ showActions }) {
|
|
22409
22411
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-4 p-4", children: [
|
|
22410
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22412
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.MediaSkeleton.Avatar, { size: "md", className: "flex-shrink-0" }),
|
|
22411
22413
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
22412
22414
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between", children: [
|
|
22413
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22414
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22415
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Subheading, { className: "w-1/3" }),
|
|
22416
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-16" })
|
|
22415
22417
|
] }),
|
|
22416
22418
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
22417
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22418
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22419
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
22420
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-5/6" })
|
|
22419
22421
|
] }),
|
|
22420
|
-
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22422
|
+
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Button, { className: "h-8 w-20" }) })
|
|
22421
22423
|
] })
|
|
22422
22424
|
] });
|
|
22423
22425
|
}
|
|
@@ -22468,12 +22470,12 @@ function HeroSkeleton() {
|
|
|
22468
22470
|
background: "radial-gradient(circle at 50% 0%, #242323 0%, #1A1A1A 100%)"
|
|
22469
22471
|
},
|
|
22470
22472
|
children: [
|
|
22471
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22473
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Heading, { className: "mb-4 h-12 w-full max-w-4xl md:mb-6 md:h-20 lg:h-24" }),
|
|
22472
22474
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-8 w-full max-w-4xl space-y-3 px-2 md:mb-10", children: [
|
|
22473
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22474
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22475
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "h-5 md:h-7" }),
|
|
22476
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "mx-auto h-5 w-3/4 md:h-7" })
|
|
22475
22477
|
] }),
|
|
22476
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22478
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Button, { className: "h-12 w-full md:w-64" })
|
|
22477
22479
|
]
|
|
22478
22480
|
}
|
|
22479
22481
|
);
|
|
@@ -22484,14 +22486,14 @@ function SearchContainerSkeleton({
|
|
|
22484
22486
|
}) {
|
|
22485
22487
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-4", className || ""), children: [
|
|
22486
22488
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2 md:gap-4", children: [
|
|
22487
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22488
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22489
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Input, { className: "flex-1" }),
|
|
22490
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Button, { className: "w-32 md:w-40" })
|
|
22489
22491
|
] }),
|
|
22490
22492
|
showFilters && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap gap-2", children: [
|
|
22491
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22492
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22493
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22494
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22493
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Chip, {}),
|
|
22494
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Chip, { className: "w-24" }),
|
|
22495
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Chip, { className: "w-16" }),
|
|
22496
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Chip, { className: "w-20" })
|
|
22495
22497
|
] })
|
|
22496
22498
|
] });
|
|
22497
22499
|
}
|
|
@@ -22510,7 +22512,7 @@ function CategorySidebarSkeleton({ className }) {
|
|
|
22510
22512
|
{ type: "file", width: "w-36" }
|
|
22511
22513
|
];
|
|
22512
22514
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "w-full lg:w-[320px]", className), children: [
|
|
22513
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22515
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.UnifiedSkeleton, { className: "mb-4 h-[14px] w-24 rounded" }),
|
|
22514
22516
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-1.5", children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22515
22517
|
"div",
|
|
22516
22518
|
{
|
|
@@ -22520,12 +22522,12 @@ function CategorySidebarSkeleton({ className }) {
|
|
|
22520
22522
|
),
|
|
22521
22523
|
children: [
|
|
22522
22524
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2.5", children: [
|
|
22523
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22524
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22525
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.UnifiedSkeleton, { className: "h-4 w-4 shrink-0 rounded" }),
|
|
22526
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.UnifiedSkeleton, { className: `h-[14px] ${item.width} rounded` })
|
|
22525
22527
|
] }),
|
|
22526
22528
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-[18px] items-center gap-2", children: [
|
|
22527
|
-
item.hasBadge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22528
|
-
item.type === "folder" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22529
|
+
item.hasBadge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.UnifiedSkeleton, { className: "h-[18px] w-14 rounded" }),
|
|
22530
|
+
item.type === "folder" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.UnifiedSkeleton, { className: "h-4 w-4 rounded" })
|
|
22529
22531
|
] })
|
|
22530
22532
|
]
|
|
22531
22533
|
},
|
|
@@ -22535,17 +22537,17 @@ function CategorySidebarSkeleton({ className }) {
|
|
|
22535
22537
|
}
|
|
22536
22538
|
function BreadcrumbSkeleton({ className }) {
|
|
22537
22539
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "mb-6 flex items-center space-x-1", className), children: [
|
|
22538
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22539
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22540
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22541
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22542
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22543
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22544
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22540
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-16" }),
|
|
22541
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
|
|
22542
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-24" }),
|
|
22543
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
|
|
22544
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-32" }),
|
|
22545
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
|
|
22546
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-24" })
|
|
22545
22547
|
] });
|
|
22546
22548
|
}
|
|
22547
22549
|
function ResultsHeaderSkeleton({ className }) {
|
|
22548
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.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,
|
|
22550
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.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, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-48" }) }) });
|
|
22549
22551
|
}
|
|
22550
22552
|
function TwoColumnLayoutSkeleton({
|
|
22551
22553
|
className,
|
|
@@ -22577,35 +22579,35 @@ function ArticleLayoutSkeleton({ className }) {
|
|
|
22577
22579
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "article", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "mx-auto max-w-4xl", className), children: [
|
|
22578
22580
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "header", { className: "mb-8 space-y-4 md:mb-12 md:space-y-6", children: [
|
|
22579
22581
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2", children: [
|
|
22580
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22581
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22582
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Chip, {}),
|
|
22583
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Chip, { className: "w-16" })
|
|
22582
22584
|
] }),
|
|
22583
22585
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
|
|
22584
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22585
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22586
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Heading, { className: "w-full" }),
|
|
22587
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Heading, { className: "w-3/4" })
|
|
22586
22588
|
] }),
|
|
22587
22589
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 border-t border-ods-divider pt-4", children: [
|
|
22588
22590
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
22589
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22590
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22591
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.MediaSkeleton.Avatar, { size: "sm" }),
|
|
22592
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-24" })
|
|
22591
22593
|
] }),
|
|
22592
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22593
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22594
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-20" }),
|
|
22595
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-16" })
|
|
22594
22596
|
] })
|
|
22595
22597
|
] }),
|
|
22596
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 md:mb-12", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22598
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 md:mb-12", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.MediaSkeleton.CardImage, { className: "h-64 w-full md:h-96" }) }),
|
|
22597
22599
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "prose prose-invert max-w-none space-y-6", children: [
|
|
22598
22600
|
Array.from({ length: 12 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
22599
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22600
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22601
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22602
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22601
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
22602
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
22603
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-5/6" }),
|
|
22604
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
22603
22605
|
] }, index)),
|
|
22604
22606
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "py-4", children: [
|
|
22605
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22607
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Subheading, { className: "mb-4 w-2/3" }),
|
|
22606
22608
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
22607
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22608
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22609
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
22610
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-4/5" })
|
|
22609
22611
|
] })
|
|
22610
22612
|
] })
|
|
22611
22613
|
] })
|
|
@@ -22831,11 +22833,11 @@ function StatsSectionSkeleton({ className, columns = 3 }) {
|
|
|
22831
22833
|
className
|
|
22832
22834
|
),
|
|
22833
22835
|
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: [
|
|
22834
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22835
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22836
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.MediaSkeleton.Icon, { size: "lg" }),
|
|
22837
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
22836
22838
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
22837
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22838
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22839
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
22840
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
22839
22841
|
] })
|
|
22840
22842
|
] }) }, i))
|
|
22841
22843
|
}
|
|
@@ -22976,7 +22978,7 @@ function useContentLoading(isLoading) {
|
|
|
22976
22978
|
|
|
22977
22979
|
function ParagraphSkeleton({ className, lines = 4 }) {
|
|
22978
22980
|
const lineWidths = ["w-full", "w-full", "w-5/6", "w-3/4", "w-4/5", "w-2/3"];
|
|
22979
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-2", className), children: Array.from({ length: lines }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22981
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-2", className), children: Array.from({ length: lines }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: lineWidths[index % lineWidths.length] }, index)) });
|
|
22980
22982
|
}
|
|
22981
22983
|
function ListSkeleton({
|
|
22982
22984
|
className,
|
|
@@ -22986,12 +22988,12 @@ function ListSkeleton({
|
|
|
22986
22988
|
}) {
|
|
22987
22989
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.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: [
|
|
22988
22990
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
22989
|
-
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22990
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22991
|
+
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
22992
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-32 md:w-48" })
|
|
22991
22993
|
] }),
|
|
22992
22994
|
showActions && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
22993
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22994
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22995
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-8" }),
|
|
22996
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4" })
|
|
22995
22997
|
] })
|
|
22996
22998
|
] }, index)) });
|
|
22997
22999
|
}
|
|
@@ -23001,13 +23003,13 @@ function TableSkeleton({
|
|
|
23001
23003
|
columns = 4
|
|
23002
23004
|
}) {
|
|
23003
23005
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-4", className), children: [
|
|
23004
|
-
/* @__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,
|
|
23006
|
+
/* @__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, _chunk3UDBK2YGcjs.TextSkeleton.Subheading, { className: "w-3/4" }, index)) }),
|
|
23005
23007
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3", children: Array.from({ length: rows }).map((_, rowIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23006
23008
|
"div",
|
|
23007
23009
|
{
|
|
23008
23010
|
className: "grid gap-4 border-b border-ods-divider py-2",
|
|
23009
23011
|
style: { gridTemplateColumns: `repeat(${columns}, 1fr)` },
|
|
23010
|
-
children: Array.from({ length: columns }).map((_cell, colIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23012
|
+
children: Array.from({ length: columns }).map((_cell, colIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-2/3" }, colIndex))
|
|
23011
23013
|
},
|
|
23012
23014
|
rowIndex
|
|
23013
23015
|
)) })
|
|
@@ -23016,13 +23018,13 @@ function TableSkeleton({
|
|
|
23016
23018
|
function FormSkeleton({ className, fields = 4 }) {
|
|
23017
23019
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-6", className), children: [
|
|
23018
23020
|
Array.from({ length: fields }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23019
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23020
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23021
|
-
index % 3 === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23021
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-24" }),
|
|
23022
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Input, {}),
|
|
23023
|
+
index % 3 === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-48" })
|
|
23022
23024
|
] }, index)),
|
|
23023
23025
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-4 pt-4", children: [
|
|
23024
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23025
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23026
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Button, {}),
|
|
23027
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Button, { className: "bg-ods-border" })
|
|
23026
23028
|
] })
|
|
23027
23029
|
] });
|
|
23028
23030
|
}
|
|
@@ -23037,7 +23039,7 @@ function NavigationSkeleton({
|
|
|
23037
23039
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex gap-4 md:gap-6", !horizontal && "flex-col", className),
|
|
23038
23040
|
role: "status",
|
|
23039
23041
|
"aria-label": "Loading navigation",
|
|
23040
|
-
children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23042
|
+
children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-16 md:w-20" }, index))
|
|
23041
23043
|
}
|
|
23042
23044
|
);
|
|
23043
23045
|
}
|
|
@@ -23048,30 +23050,30 @@ function ProfileSkeleton({
|
|
|
23048
23050
|
}) {
|
|
23049
23051
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-4", className), children: [
|
|
23050
23052
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-4", children: [
|
|
23051
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23053
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.MediaSkeleton.Avatar, { size: "lg" }),
|
|
23052
23054
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
23053
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23054
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23055
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23055
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Subheading, { className: "w-1/2" }),
|
|
23056
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-1/3" }),
|
|
23057
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
23056
23058
|
] })
|
|
23057
23059
|
] }),
|
|
23058
23060
|
showBio && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23059
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23060
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23061
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23061
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
23062
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-4/5" }),
|
|
23063
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
23062
23064
|
] }),
|
|
23063
23065
|
showStats && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-6", children: [
|
|
23064
23066
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
|
|
23065
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23066
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23067
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Subheading, { className: "mx-auto w-8" }),
|
|
23068
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "mx-auto w-12" })
|
|
23067
23069
|
] }),
|
|
23068
23070
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
|
|
23069
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23070
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23071
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Subheading, { className: "mx-auto w-8" }),
|
|
23072
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "mx-auto w-16" })
|
|
23071
23073
|
] }),
|
|
23072
23074
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
|
|
23073
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23074
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23075
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Subheading, { className: "mx-auto w-8" }),
|
|
23076
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "mx-auto w-14" })
|
|
23075
23077
|
] })
|
|
23076
23078
|
] })
|
|
23077
23079
|
] });
|
|
@@ -23083,32 +23085,32 @@ function CommentSkeleton({
|
|
|
23083
23085
|
}) {
|
|
23084
23086
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-3", className), children: [
|
|
23085
23087
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
23086
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23088
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.MediaSkeleton.Avatar, { size: "sm" }),
|
|
23087
23089
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 items-center gap-4", children: [
|
|
23088
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23089
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23090
|
-
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,
|
|
23090
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-24" }),
|
|
23091
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-16" }),
|
|
23092
|
+
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, _chunk3UDBK2YGcjs.MediaSkeleton.Icon, { size: "sm" }, i)) })
|
|
23091
23093
|
] })
|
|
23092
23094
|
] }),
|
|
23093
23095
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ml-11 space-y-2", children: [
|
|
23094
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23095
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23096
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23096
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
23097
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-3/4" }),
|
|
23098
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-1/2" })
|
|
23097
23099
|
] }),
|
|
23098
23100
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ml-11 flex gap-4", children: [
|
|
23099
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23100
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23101
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23101
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-12" }),
|
|
23102
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-16" }),
|
|
23103
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-8" })
|
|
23102
23104
|
] }),
|
|
23103
23105
|
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: [
|
|
23104
23106
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
23105
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23106
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23107
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23107
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.MediaSkeleton.Avatar, { size: "sm" }),
|
|
23108
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-20" }),
|
|
23109
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-12" })
|
|
23108
23110
|
] }),
|
|
23109
23111
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ml-11", children: [
|
|
23110
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23111
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23112
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
23113
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
23112
23114
|
] })
|
|
23113
23115
|
] }, index)) })
|
|
23114
23116
|
] });
|
|
@@ -23121,31 +23123,31 @@ function FeatureListSkeleton({
|
|
|
23121
23123
|
}) {
|
|
23122
23124
|
if (grouped) {
|
|
23123
23125
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.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: [
|
|
23124
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23126
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Subheading, { className: "w-1/3" }),
|
|
23125
23127
|
/* @__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: [
|
|
23126
|
-
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23127
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23128
|
+
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
23129
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
23128
23130
|
] }, featureIndex)) })
|
|
23129
23131
|
] }, groupIndex)) });
|
|
23130
23132
|
}
|
|
23131
23133
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.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: [
|
|
23132
|
-
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23133
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23134
|
+
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
23135
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
23134
23136
|
] }, index)) });
|
|
23135
23137
|
}
|
|
23136
23138
|
function TimelineSkeleton({ className, items = 5 }) {
|
|
23137
23139
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.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: [
|
|
23138
23140
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center", children: [
|
|
23139
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23141
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
23140
23142
|
index < items - 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2 h-12 w-px bg-ods-border" })
|
|
23141
23143
|
] }),
|
|
23142
23144
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
23143
23145
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
23144
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23145
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23146
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-1/3" }),
|
|
23147
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-16" })
|
|
23146
23148
|
] }),
|
|
23147
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23148
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23149
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
23150
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
23149
23151
|
] })
|
|
23150
23152
|
] }, index)) });
|
|
23151
23153
|
}
|
|
@@ -23161,16 +23163,16 @@ function PricingSkeleton({ className, plans = 3 }) {
|
|
|
23161
23163
|
className
|
|
23162
23164
|
),
|
|
23163
23165
|
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: [
|
|
23164
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23166
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Subheading, { className: "w-1/2" }),
|
|
23165
23167
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
23166
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23167
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23168
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Heading, { className: "w-1/3" }),
|
|
23169
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-1/4" })
|
|
23168
23170
|
] }),
|
|
23169
23171
|
/* @__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: [
|
|
23170
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23171
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23172
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
23173
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
23172
23174
|
] }, featureIndex)) }),
|
|
23173
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23175
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Button, { className: "w-full" })
|
|
23174
23176
|
] }) }, index))
|
|
23175
23177
|
}
|
|
23176
23178
|
);
|
|
@@ -23206,12 +23208,12 @@ function MspProfileFormSkeleton({ className, fields = 4 }) {
|
|
|
23206
23208
|
"aria-label": "Loading MSP profile form",
|
|
23207
23209
|
children: [
|
|
23208
23210
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col space-y-2", children: [
|
|
23209
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23210
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[180px] flex-1 md:min-h-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23211
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-28" }),
|
|
23212
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[180px] flex-1 md:min-h-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.UnifiedSkeleton, { className: "h-full w-full rounded-lg", "aria-label": "Loading company logo" }) })
|
|
23211
23213
|
] }),
|
|
23212
23214
|
/* @__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: [
|
|
23213
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23214
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23215
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-40" }),
|
|
23216
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.InteractiveSkeleton.Input, {})
|
|
23215
23217
|
] }, idx)) })
|
|
23216
23218
|
]
|
|
23217
23219
|
}
|
|
@@ -23231,13 +23233,13 @@ function CategoryCardSkeleton({ className }) {
|
|
|
23231
23233
|
role: "status",
|
|
23232
23234
|
"aria-label": "Loading category card",
|
|
23233
23235
|
children: [
|
|
23234
|
-
/* @__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,
|
|
23236
|
+
/* @__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, _chunk3UDBK2YGcjs.UnifiedSkeleton, { variant: "circular", className: "h-10 w-10 flex-shrink-0", "aria-label": "Loading icon" }, i)) }),
|
|
23235
23237
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col space-y-3", children: [
|
|
23236
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23237
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23238
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23238
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Heading, { className: "w-3/4" }),
|
|
23239
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-1/2" }),
|
|
23240
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-full" })
|
|
23239
23241
|
] }),
|
|
23240
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23242
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.UnifiedSkeleton, { className: "h-12 w-12 rounded-[6px]", "aria-label": "Loading button" }) })
|
|
23241
23243
|
]
|
|
23242
23244
|
}
|
|
23243
23245
|
);
|
|
@@ -23254,12 +23256,12 @@ function CategoryVendorSelectorSkeleton({ subcategories = 3, className }) {
|
|
|
23254
23256
|
"aria-label": "Loading category section",
|
|
23255
23257
|
children: [
|
|
23256
23258
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-6 max-w-xl space-y-2", children: [
|
|
23257
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23258
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23259
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Heading, { className: "w-1/2" }),
|
|
23260
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
23259
23261
|
] }),
|
|
23260
23262
|
/* @__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: [
|
|
23261
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23262
|
-
/* @__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,
|
|
23263
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Subheading, { className: "w-1/3" }),
|
|
23264
|
+
/* @__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, _chunk3UDBK2YGcjs.UnifiedSkeleton, { className: "h-20 rounded-lg" }, j)) })
|
|
23263
23265
|
] }, idx)) })
|
|
23264
23266
|
]
|
|
23265
23267
|
}
|
|
@@ -23270,14 +23272,14 @@ function CategoryVendorSelectorSkeleton({ subcategories = 3, className }) {
|
|
|
23270
23272
|
|
|
23271
23273
|
function WizardLayoutSkeleton({ steps = 6, className }) {
|
|
23272
23274
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-6", className), role: "status", "aria-label": "Loading wizard layout", children: [
|
|
23273
|
-
/* @__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,
|
|
23275
|
+
/* @__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, _chunk3UDBK2YGcjs.UnifiedSkeleton, { className: "h-6 w-24 rounded" }, i)) }),
|
|
23274
23276
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "max-w-2xl space-y-2", children: [
|
|
23275
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23276
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23277
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Heading, { className: "w-2/3" }),
|
|
23278
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-1/2" })
|
|
23277
23279
|
] }),
|
|
23278
23280
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mt-10 flex justify-between", children: [
|
|
23279
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23280
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23281
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.UnifiedSkeleton, { className: "h-10 w-24 rounded" }),
|
|
23282
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.UnifiedSkeleton, { className: "h-10 w-32 rounded" })
|
|
23281
23283
|
] })
|
|
23282
23284
|
] });
|
|
23283
23285
|
}
|
|
@@ -23669,28 +23671,28 @@ function OrganizationCardSkeleton({
|
|
|
23669
23671
|
}
|
|
23670
23672
|
),
|
|
23671
23673
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center space-y-1 py-2", children: [
|
|
23672
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23673
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23674
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
23675
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-1/2" })
|
|
23674
23676
|
] })
|
|
23675
23677
|
] }),
|
|
23676
23678
|
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: [
|
|
23677
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23678
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23679
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
23680
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
23679
23681
|
] }) }),
|
|
23680
23682
|
showFooter && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-2", children: [
|
|
23681
23683
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-shrink items-center gap-3 md:gap-4", children: [
|
|
23682
23684
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
23683
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23684
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23685
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
23686
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-8" })
|
|
23685
23687
|
] }),
|
|
23686
23688
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
23687
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23688
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23689
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
23690
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-10" })
|
|
23689
23691
|
] })
|
|
23690
23692
|
] }),
|
|
23691
23693
|
/* @__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: [
|
|
23692
|
-
/* @__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,
|
|
23693
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23694
|
+
/* @__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, _chunk3UDBK2YGcjs.MediaSkeleton.Icon, { size: "sm", className: "h-2.5 w-2.5" }) }),
|
|
23695
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TextSkeleton.Caption, { className: "w-16" })
|
|
23694
23696
|
] }) })
|
|
23695
23697
|
] })
|
|
23696
23698
|
] })
|
|
@@ -23767,16 +23769,16 @@ function DeviceCardSkeletonGrid({ count = 12, className }) {
|
|
|
23767
23769
|
|
|
23768
23770
|
function PushButtonSelectorSkeleton({ count = 3, hasTitle }) {
|
|
23769
23771
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", role: "status", "aria-label": "Loading options", children: [
|
|
23770
|
-
hasTitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23772
|
+
hasTitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.UnifiedSkeleton, { className: "h-5 w-20", "aria-label": "Loading title" }),
|
|
23771
23773
|
/* @__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: [
|
|
23772
23774
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
23773
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23775
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.UnifiedSkeleton, { className: "h-8 w-8", "aria-label": "Loading icon" }),
|
|
23774
23776
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
|
|
23775
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23776
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23777
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.UnifiedSkeleton, { variant: "text", className: "mb-2 h-4 w-24", "aria-label": "Loading name" }),
|
|
23778
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.UnifiedSkeleton, { variant: "text", className: "h-4 w-36", "aria-label": "Loading description" })
|
|
23777
23779
|
] })
|
|
23778
23780
|
] }),
|
|
23779
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23781
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.UnifiedSkeleton, { className: "h-6 w-6", "aria-label": "Loading selection state" })
|
|
23780
23782
|
] }) }, i)) })
|
|
23781
23783
|
] });
|
|
23782
23784
|
}
|
|
@@ -23810,9 +23812,9 @@ function PushButtonSelector({
|
|
|
23810
23812
|
}) {
|
|
23811
23813
|
const scrollRef = _react.useRef.call(void 0, null);
|
|
23812
23814
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
23813
|
-
const lazyHasMore = _nullishCoalesce(_optionalChain([lazyLoad, 'optionalAccess',
|
|
23814
|
-
const lazyFetching = _nullishCoalesce(_optionalChain([lazyLoad, 'optionalAccess',
|
|
23815
|
-
const onLoadMore = _optionalChain([lazyLoad, 'optionalAccess',
|
|
23815
|
+
const lazyHasMore = _nullishCoalesce(_optionalChain([lazyLoad, 'optionalAccess', _495 => _495.hasMore]), () => ( false));
|
|
23816
|
+
const lazyFetching = _nullishCoalesce(_optionalChain([lazyLoad, 'optionalAccess', _496 => _496.isFetchingMore]), () => ( false));
|
|
23817
|
+
const onLoadMore = _optionalChain([lazyLoad, 'optionalAccess', _497 => _497.onLoadMore]);
|
|
23816
23818
|
const optionCount = options.length;
|
|
23817
23819
|
_react.useEffect.call(void 0, () => {
|
|
23818
23820
|
const sentinel = sentinelRef.current;
|
|
@@ -23898,9 +23900,9 @@ function PushButtonSelector({
|
|
|
23898
23900
|
option.id
|
|
23899
23901
|
);
|
|
23900
23902
|
if (option.disabled && option.disabledReason) {
|
|
23901
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23902
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23903
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23903
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3UDBK2YGcjs.Tooltip, { children: [
|
|
23904
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TooltipTrigger, { asChild: true, children: optionEl }),
|
|
23905
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
|
|
23904
23906
|
] }, option.id);
|
|
23905
23907
|
}
|
|
23906
23908
|
return optionEl;
|
|
@@ -23945,7 +23947,7 @@ function PushButtonSelector({
|
|
|
23945
23947
|
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
|
|
23946
23948
|
] }) : null
|
|
23947
23949
|
] });
|
|
23948
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23950
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
|
|
23949
23951
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
23950
23952
|
searchInput,
|
|
23951
23953
|
lazyLoad ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -23983,7 +23985,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
|
|
|
23983
23985
|
const fileInputRef = _react.useRef.call(void 0, null);
|
|
23984
23986
|
const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
|
|
23985
23987
|
const handleFileSelect = async (event) => {
|
|
23986
|
-
const file = _optionalChain([event, 'access',
|
|
23988
|
+
const file = _optionalChain([event, 'access', _498 => _498.target, 'access', _499 => _499.files, 'optionalAccess', _500 => _500[0]]);
|
|
23987
23989
|
if (!file) return;
|
|
23988
23990
|
let mediaType;
|
|
23989
23991
|
if (file.type.startsWith("image/")) {
|
|
@@ -24065,7 +24067,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
|
|
|
24065
24067
|
{
|
|
24066
24068
|
type: "button",
|
|
24067
24069
|
variant: "outline",
|
|
24068
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
24070
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _501 => _501.current, 'optionalAccess', _502 => _502.click, 'call', _503 => _503()]),
|
|
24069
24071
|
disabled: uploadingIndex !== null,
|
|
24070
24072
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
24071
24073
|
className: "font-bold text-h6",
|
|
@@ -24118,7 +24120,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
|
|
|
24118
24120
|
item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children: _chunkQRUW4UXBcjs.isVideoMedia.call(void 0, item) || item.media_type === "demo" ? (
|
|
24119
24121
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
24120
24122
|
// fit="cover" crops to the aspect-video cell.
|
|
24121
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24123
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
24122
24124
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24123
24125
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
24124
24126
|
{
|
|
@@ -24251,7 +24253,7 @@ var SelectButton = _react2.default.forwardRef(
|
|
|
24251
24253
|
}
|
|
24252
24254
|
)
|
|
24253
24255
|
] }),
|
|
24254
|
-
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24256
|
+
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
|
|
24255
24257
|
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
|
|
24256
24258
|
]
|
|
24257
24259
|
}
|
|
@@ -24346,7 +24348,7 @@ function SEOEditorPreview({
|
|
|
24346
24348
|
const displayImage = hasOgImage || hasFeaturedImage;
|
|
24347
24349
|
const handleImageUpload = async (event) => {
|
|
24348
24350
|
if (!onOgImageUpload) return;
|
|
24349
|
-
const file = _optionalChain([event, 'access',
|
|
24351
|
+
const file = _optionalChain([event, 'access', _504 => _504.target, 'access', _505 => _505.files, 'optionalAccess', _506 => _506[0]]);
|
|
24350
24352
|
if (!file) return;
|
|
24351
24353
|
setIsUploading(true);
|
|
24352
24354
|
try {
|
|
@@ -24503,7 +24505,7 @@ function SEOEditorPreview({
|
|
|
24503
24505
|
type: "button",
|
|
24504
24506
|
variant: "outline",
|
|
24505
24507
|
size: "icon",
|
|
24506
|
-
onClick: () => _optionalChain([fileInputRef, 'optionalAccess',
|
|
24508
|
+
onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _507 => _507.click, 'call', _508 => _508()]),
|
|
24507
24509
|
disabled: disabled || isUploading,
|
|
24508
24510
|
className: "rounded-full bg-white text-black opacity-0 hover:bg-gray-100 group-hover:opacity-100",
|
|
24509
24511
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
|
|
@@ -24529,7 +24531,7 @@ function SEOEditorPreview({
|
|
|
24529
24531
|
SEO_MEDIA_BOX_HEIGHT,
|
|
24530
24532
|
"flex cursor-pointer flex-col items-center justify-center rounded-lg border-2 border-dashed border-ods-border bg-ods-bg-hover transition-colors hover:border-ods-accent"
|
|
24531
24533
|
),
|
|
24532
|
-
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess',
|
|
24534
|
+
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _509 => _509.click, 'call', _510 => _510()]),
|
|
24533
24535
|
children: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
24534
24536
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "mb-2 h-8 w-8 text-ods-text-secondary" }),
|
|
24535
24537
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: onOgImageUpload ? "Click to upload OG image" : "No image" })
|
|
@@ -24690,7 +24692,7 @@ function SocialLinksManager({
|
|
|
24690
24692
|
className = ""
|
|
24691
24693
|
}) {
|
|
24692
24694
|
const addLink = () => {
|
|
24693
|
-
const firstPlatform = _optionalChain([platforms, 'access',
|
|
24695
|
+
const firstPlatform = _optionalChain([platforms, 'access', _511 => _511[0], 'optionalAccess', _512 => _512.name]) || "website";
|
|
24694
24696
|
onChange([...links, { platform: firstPlatform, url: "" }]);
|
|
24695
24697
|
};
|
|
24696
24698
|
const removeLink = (index) => {
|
|
@@ -24702,7 +24704,7 @@ function SocialLinksManager({
|
|
|
24702
24704
|
onChange(updated);
|
|
24703
24705
|
};
|
|
24704
24706
|
const getIcon = (link, platform) => {
|
|
24705
|
-
const iconKey = _optionalChain([platform, 'optionalAccess',
|
|
24707
|
+
const iconKey = _optionalChain([platform, 'optionalAccess', _513 => _513.icon_name]) || link.platform;
|
|
24706
24708
|
const key = normalizeSocialPlatform(iconKey);
|
|
24707
24709
|
if (!key) return null;
|
|
24708
24710
|
const IconComponent = SOCIAL_ICON_COMPONENTS[key];
|
|
@@ -24726,7 +24728,7 @@ function SocialLinksManager({
|
|
|
24726
24728
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24727
24729
|
_chunkQVSVRG7Icjs.Input,
|
|
24728
24730
|
{
|
|
24729
|
-
placeholder: _optionalChain([platform, 'optionalAccess',
|
|
24731
|
+
placeholder: _optionalChain([platform, 'optionalAccess', _514 => _514.placeholder]) || "Profile URL",
|
|
24730
24732
|
value: link.url,
|
|
24731
24733
|
onChange: (e) => updateLink(index, "url", e.target.value),
|
|
24732
24734
|
onKeyDown: (e) => {
|
|
@@ -25113,7 +25115,7 @@ function VideoBitesDisplay({
|
|
|
25113
25115
|
filterPublished = true,
|
|
25114
25116
|
showTitle = true
|
|
25115
25117
|
}) {
|
|
25116
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25118
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
25117
25119
|
}
|
|
25118
25120
|
|
|
25119
25121
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -25122,8 +25124,8 @@ function VideoBitesDisplay({
|
|
|
25122
25124
|
|
|
25123
25125
|
var isAtEnd = (duration, time) => duration > 0 && duration - time < 1;
|
|
25124
25126
|
function theaterSeedFromLive(live, fallbackTime, fallbackMuted) {
|
|
25125
|
-
const time = _nullishCoalesce(_optionalChain([live, 'optionalAccess',
|
|
25126
|
-
const atEnd = isAtEnd(_nullishCoalesce(_optionalChain([live, 'optionalAccess',
|
|
25127
|
+
const time = _nullishCoalesce(_optionalChain([live, 'optionalAccess', _515 => _515.getCurrentTime, 'call', _516 => _516()]), () => ( 0));
|
|
25128
|
+
const atEnd = isAtEnd(_nullishCoalesce(_optionalChain([live, 'optionalAccess', _517 => _517.getDuration, 'call', _518 => _518()]), () => ( 0)), time);
|
|
25127
25129
|
return {
|
|
25128
25130
|
// At end -> start over, never rewind to an unrelated older anchor.
|
|
25129
25131
|
time: atEnd ? 0 : time > 0.5 ? time : fallbackTime,
|
|
@@ -25155,11 +25157,11 @@ function WalkthroughVideo({
|
|
|
25155
25157
|
const inline = placement === "inline";
|
|
25156
25158
|
const dismissEnabled = dismissal !== false;
|
|
25157
25159
|
const storageKey = dismissEnabled && dismissal.storageKey || WALKTHROUGH_VIDEO_DISMISS_KEY;
|
|
25158
|
-
const dismissalId = _optionalChain([video, 'optionalAccess',
|
|
25160
|
+
const dismissalId = _optionalChain([video, 'optionalAccess', _519 => _519.id]) != null ? String(video.id) : "dismissed";
|
|
25159
25161
|
const [mounted, setMounted] = _react.useState.call(void 0, false);
|
|
25160
25162
|
const [dismissed, setDismissed] = _react.useState.call(void 0, false);
|
|
25161
25163
|
const hasVideo = video != null;
|
|
25162
|
-
const videoId = _optionalChain([video, 'optionalAccess',
|
|
25164
|
+
const videoId = _optionalChain([video, 'optionalAccess', _520 => _520.id]);
|
|
25163
25165
|
_react.useEffect.call(void 0, () => {
|
|
25164
25166
|
let idleHandle = null;
|
|
25165
25167
|
if (!hasVideo) return void 0;
|
|
@@ -25182,13 +25184,13 @@ function WalkthroughVideo({
|
|
|
25182
25184
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
25183
25185
|
};
|
|
25184
25186
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
|
|
25185
|
-
const hydrated =
|
|
25187
|
+
const hydrated = _chunk3UDBK2YGcjs.useIsHydrated.call(void 0, );
|
|
25186
25188
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
25187
25189
|
if (!hydrated) return false;
|
|
25188
25190
|
try {
|
|
25189
|
-
const reducedMotion = _nullishCoalesce(_optionalChain([window, 'access',
|
|
25191
|
+
const reducedMotion = _nullishCoalesce(_optionalChain([window, 'access', _521 => _521.matchMedia, 'optionalCall', _522 => _522("(prefers-reduced-motion: reduce)"), 'access', _523 => _523.matches]), () => ( false));
|
|
25190
25192
|
const conn = navigator.connection;
|
|
25191
|
-
const saveData = _optionalChain([conn, 'optionalAccess',
|
|
25193
|
+
const saveData = _optionalChain([conn, 'optionalAccess', _524 => _524.saveData]) === true || _optionalChain([conn, 'optionalAccess', _525 => _525.effectiveType]) === "2g" || _optionalChain([conn, 'optionalAccess', _526 => _526.effectiveType]) === "slow-2g";
|
|
25192
25194
|
return Boolean(reducedMotion || saveData);
|
|
25193
25195
|
} catch (e28) {
|
|
25194
25196
|
return false;
|
|
@@ -25221,18 +25223,18 @@ function WalkthroughVideo({
|
|
|
25221
25223
|
const [cardMuted, setCardMuted] = _react.useState.call(void 0, false);
|
|
25222
25224
|
const [cardPaused, setCardPaused] = _react.useState.call(void 0, false);
|
|
25223
25225
|
const [userMuted, setUserMuted] = _react.useState.call(void 0, false);
|
|
25224
|
-
const isYouTube = Boolean(_optionalChain([video, 'optionalAccess',
|
|
25226
|
+
const isYouTube = Boolean(_optionalChain([video, 'optionalAccess', _527 => _527.youtubeUrl]));
|
|
25225
25227
|
const resumeMode = !open && handoff !== null && !isYouTube;
|
|
25226
25228
|
const previewAllowed = !previewSuppressed && !isYouTube;
|
|
25227
25229
|
const footerFadeKey = `${mounted ? 1 : 0}|${inline ? 1 : 0}|${hideNearSelector}|${pathname}`;
|
|
25228
|
-
const footerHidden = _optionalChain([footerObservation, 'optionalAccess',
|
|
25230
|
+
const footerHidden = _optionalChain([footerObservation, 'optionalAccess', _528 => _528.key]) === footerFadeKey && footerObservation.hidden;
|
|
25229
25231
|
_react.useEffect.call(void 0, () => {
|
|
25230
25232
|
if (!mounted) return void 0;
|
|
25231
25233
|
if (inline) return void 0;
|
|
25232
25234
|
const el = typeof document !== "undefined" ? document.querySelector(hideNearSelector) : null;
|
|
25233
25235
|
if (!el || typeof IntersectionObserver === "undefined") return void 0;
|
|
25234
25236
|
const io = new IntersectionObserver(
|
|
25235
|
-
(entries) => setFooterObservation({ key: footerFadeKey, hidden: _nullishCoalesce(_optionalChain([entries, 'access',
|
|
25237
|
+
(entries) => setFooterObservation({ key: footerFadeKey, hidden: _nullishCoalesce(_optionalChain([entries, 'access', _529 => _529[0], 'optionalAccess', _530 => _530.isIntersecting]), () => ( false)) }),
|
|
25236
25238
|
{ rootMargin: "0px 0px -40px 0px" }
|
|
25237
25239
|
);
|
|
25238
25240
|
io.observe(el);
|
|
@@ -25258,7 +25260,7 @@ function WalkthroughVideo({
|
|
|
25258
25260
|
if (!footerHidden) return;
|
|
25259
25261
|
const h = _nullishCoalesce(resumeHandleRef.current, () => ( previewHandleRef.current));
|
|
25260
25262
|
try {
|
|
25261
|
-
_optionalChain([h, 'optionalAccess',
|
|
25263
|
+
_optionalChain([h, 'optionalAccess', _531 => _531.pause, 'call', _532 => _532()]);
|
|
25262
25264
|
} catch (e30) {
|
|
25263
25265
|
}
|
|
25264
25266
|
}, [footerHidden, resumeMode, hovered]);
|
|
@@ -25277,30 +25279,30 @@ function WalkthroughVideo({
|
|
|
25277
25279
|
}, 400);
|
|
25278
25280
|
}
|
|
25279
25281
|
if (openProp === void 0) setOpenState(next);
|
|
25280
|
-
_optionalChain([onOpenChange, 'optionalCall',
|
|
25282
|
+
_optionalChain([onOpenChange, 'optionalCall', _533 => _533(next)]);
|
|
25281
25283
|
},
|
|
25282
25284
|
[openProp, onOpenChange]
|
|
25283
25285
|
);
|
|
25284
25286
|
const pausePreviewNow = _react.useCallback.call(void 0, () => {
|
|
25285
25287
|
const h = _nullishCoalesce(resumeHandleRef.current, () => ( previewHandleRef.current));
|
|
25286
25288
|
try {
|
|
25287
|
-
_optionalChain([h, 'optionalAccess',
|
|
25289
|
+
_optionalChain([h, 'optionalAccess', _534 => _534.pause, 'call', _535 => _535()]);
|
|
25288
25290
|
} catch (e31) {
|
|
25289
25291
|
}
|
|
25290
25292
|
setCardPaused(true);
|
|
25291
25293
|
}, [setCardPaused]);
|
|
25292
25294
|
const openTheater = _react.useCallback.call(void 0, () => {
|
|
25293
25295
|
const handleBeforePause = _nullishCoalesce(resumeHandleRef.current, () => ( previewHandleRef.current));
|
|
25294
|
-
const liveWasPlaying = _optionalChain([handleBeforePause, 'optionalAccess',
|
|
25296
|
+
const liveWasPlaying = _optionalChain([handleBeforePause, 'optionalAccess', _536 => _536.getPaused, 'call', _537 => _537()]) === false;
|
|
25295
25297
|
pausePreviewNow();
|
|
25296
25298
|
const liveHandle = _nullishCoalesce(resumeHandleRef.current, () => ( (cardModeRef.current === "preview" ? previewHandleRef.current : null)));
|
|
25297
|
-
const liveTime = _nullishCoalesce(_optionalChain([liveHandle, 'optionalAccess',
|
|
25298
|
-
const liveDuration = _nullishCoalesce(_optionalChain([liveHandle, 'optionalAccess',
|
|
25299
|
+
const liveTime = _nullishCoalesce(_optionalChain([liveHandle, 'optionalAccess', _538 => _538.getCurrentTime, 'call', _539 => _539()]), () => ( 0));
|
|
25300
|
+
const liveDuration = _nullishCoalesce(_optionalChain([liveHandle, 'optionalAccess', _540 => _540.getDuration, 'call', _541 => _541()]), () => ( 0));
|
|
25299
25301
|
const liveAtEnd = isAtEnd(liveDuration, liveTime);
|
|
25300
25302
|
const start = {
|
|
25301
25303
|
// At end -> start over. Falling back to `handoff.time` here would rewind
|
|
25302
25304
|
// to an unrelated older anchor (e.g. 3:20) instead of restarting.
|
|
25303
|
-
time: liveAtEnd ? 0 : liveTime > 0.5 ? liveTime : _nullishCoalesce(_optionalChain([handoff, 'optionalAccess',
|
|
25305
|
+
time: liveAtEnd ? 0 : liveTime > 0.5 ? liveTime : _nullishCoalesce(_optionalChain([handoff, 'optionalAccess', _542 => _542.time]), () => ( 0)),
|
|
25304
25306
|
// Live element wins over remembered intent (the theater's own chrome may
|
|
25305
25307
|
// have changed it) — EXCEPT when the element is muted only because
|
|
25306
25308
|
// autoplay policy forced it, which is not intent.
|
|
@@ -25328,7 +25330,7 @@ function WalkthroughVideo({
|
|
|
25328
25330
|
const selfDriven = selfDrivenFor === open;
|
|
25329
25331
|
if (openProp !== void 0 && !selfDriven) {
|
|
25330
25332
|
if (open) {
|
|
25331
|
-
setTheaterStart(theaterSeedFromLive(resumeHandleRef.current, _nullishCoalesce(_optionalChain([handoff, 'optionalAccess',
|
|
25333
|
+
setTheaterStart(theaterSeedFromLive(resumeHandleRef.current, _nullishCoalesce(_optionalChain([handoff, 'optionalAccess', _543 => _543.time]), () => ( 0)), userMuted));
|
|
25332
25334
|
setHovered(false);
|
|
25333
25335
|
setSuspended(false);
|
|
25334
25336
|
setHandoff(null);
|
|
@@ -25414,8 +25416,8 @@ function WalkthroughVideo({
|
|
|
25414
25416
|
});
|
|
25415
25417
|
_react.useEffect.call(void 0, () => {
|
|
25416
25418
|
if (resumeMode) {
|
|
25417
|
-
setCardMuted(_nullishCoalesce(_optionalChain([handoffRef, 'access',
|
|
25418
|
-
setCardPaused(_optionalChain([handoffRef, 'access',
|
|
25419
|
+
setCardMuted(_nullishCoalesce(_optionalChain([handoffRef, 'access', _544 => _544.current, 'optionalAccess', _545 => _545.muted]), () => ( false)));
|
|
25420
|
+
setCardPaused(_optionalChain([handoffRef, 'access', _546 => _546.current, 'optionalAccess', _547 => _547.playing]) === false);
|
|
25419
25421
|
}
|
|
25420
25422
|
}, [resumeMode]);
|
|
25421
25423
|
const [hoverSeeded, setHoverSeeded] = _react.useState.call(void 0, hovered);
|
|
@@ -25497,11 +25499,11 @@ function WalkthroughVideo({
|
|
|
25497
25499
|
},
|
|
25498
25500
|
[cardFallback.blocked, cardPaused, activeHandle, setCardPaused]
|
|
25499
25501
|
);
|
|
25500
|
-
const summaryTitle = _optionalChain([video, 'optionalAccess',
|
|
25501
|
-
const presenterAvatarSrc = _nullishCoalesce(_optionalChain([video, 'optionalAccess',
|
|
25502
|
+
const summaryTitle = _optionalChain([video, 'optionalAccess', _548 => _548.title]) || void 0;
|
|
25503
|
+
const presenterAvatarSrc = _nullishCoalesce(_optionalChain([video, 'optionalAccess', _549 => _549.presenterAvatarUrl]), () => ( null));
|
|
25502
25504
|
const embedUrlKey = _react.useMemo.call(void 0,
|
|
25503
|
-
() => `${_nullishCoalesce(_optionalChain([video, 'optionalAccess',
|
|
25504
|
-
[_optionalChain([video, 'optionalAccess',
|
|
25505
|
+
() => `${_nullishCoalesce(_optionalChain([video, 'optionalAccess', _550 => _550.mainVideoUrl]), () => ( ""))}|${_nullishCoalesce(_optionalChain([video, 'optionalAccess', _551 => _551.youtubeUrl]), () => ( ""))}`,
|
|
25506
|
+
[_optionalChain([video, 'optionalAccess', _552 => _552.mainVideoUrl]), _optionalChain([video, 'optionalAccess', _553 => _553.youtubeUrl])]
|
|
25505
25507
|
);
|
|
25506
25508
|
const cardActive = !open && previewAllowed && hovered && !resumeMode;
|
|
25507
25509
|
const cardMode = resumeMode ? "resume" : cardActive ? "preview" : "poster";
|
|
@@ -25560,7 +25562,7 @@ function WalkthroughVideo({
|
|
|
25560
25562
|
const el = e.target;
|
|
25561
25563
|
let keyboard = false;
|
|
25562
25564
|
try {
|
|
25563
|
-
keyboard = _nullishCoalesce(_optionalChain([el, 'access',
|
|
25565
|
+
keyboard = _nullishCoalesce(_optionalChain([el, 'access', _554 => _554.matches, 'optionalCall', _555 => _555(":focus-visible")]), () => ( false));
|
|
25564
25566
|
} catch (e36) {
|
|
25565
25567
|
keyboard = false;
|
|
25566
25568
|
}
|
|
@@ -25579,7 +25581,7 @@ function WalkthroughVideo({
|
|
|
25579
25581
|
},
|
|
25580
25582
|
children: [
|
|
25581
25583
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25582
|
-
|
|
25584
|
+
_chunk3UDBK2YGcjs.VideoHoverPreviewSurface,
|
|
25583
25585
|
{
|
|
25584
25586
|
url: video.mainVideoUrl || "",
|
|
25585
25587
|
posterUrl: video.posterUrl,
|
|
@@ -25594,15 +25596,15 @@ function WalkthroughVideo({
|
|
|
25594
25596
|
previewHandleRef: cardMode === "resume" ? resumeHandleRef : previewHandleRef,
|
|
25595
25597
|
mutedIntent: userMuted,
|
|
25596
25598
|
continuation: cardMode === "resume",
|
|
25597
|
-
autoPlay: cardMode === "resume" && _optionalChain([handoff, 'optionalAccess',
|
|
25598
|
-
startTime: _optionalChain([resumeHandoff, 'optionalAccess',
|
|
25599
|
-
startMuted: _nullishCoalesce(_optionalChain([resumeHandoff, 'optionalAccess',
|
|
25599
|
+
autoPlay: cardMode === "resume" && _optionalChain([handoff, 'optionalAccess', _556 => _556.playing]) !== false && !footerHidden,
|
|
25600
|
+
startTime: _optionalChain([resumeHandoff, 'optionalAccess', _557 => _557.time]),
|
|
25601
|
+
startMuted: _nullishCoalesce(_optionalChain([resumeHandoff, 'optionalAccess', _558 => _558.muted]), () => ( false)),
|
|
25600
25602
|
onEnded: cardMode === "resume" ? () => setHandoff(null) : () => setCardPaused(true)
|
|
25601
25603
|
},
|
|
25602
25604
|
`card-${embedUrlKey}`
|
|
25603
25605
|
) }),
|
|
25604
25606
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25605
|
-
|
|
25607
|
+
_chunk3UDBK2YGcjs.CardHitLayer,
|
|
25606
25608
|
{
|
|
25607
25609
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
25608
25610
|
onPointerDown: pausePreviewNow,
|
|
@@ -25611,7 +25613,7 @@ function WalkthroughVideo({
|
|
|
25611
25613
|
}
|
|
25612
25614
|
),
|
|
25613
25615
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "pointer-events-none absolute bottom-[var(--spacing-system-xsf)] left-[var(--spacing-system-xsf)] z-20 flex max-w-[calc(100%-2*var(--spacing-system-xsf))] items-center gap-[var(--spacing-system-xsf)] rounded-full bg-ods-overlay py-[var(--spacing-system-xxs)] pl-[var(--spacing-system-xxs)] pr-[var(--spacing-system-sf)] text-ods-text-primary text-h6", children: [
|
|
25614
|
-
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25616
|
+
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
|
|
25615
25617
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
|
|
25616
25618
|
] }),
|
|
25617
25619
|
showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -25624,7 +25626,7 @@ function WalkthroughVideo({
|
|
|
25624
25626
|
onPointerDown: (e) => e.stopPropagation(),
|
|
25625
25627
|
onClick: onUnmuteOrPlay,
|
|
25626
25628
|
className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
|
|
25627
|
-
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25629
|
+
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.VideoUnmuteGlyph, {})
|
|
25628
25630
|
}
|
|
25629
25631
|
),
|
|
25630
25632
|
showPlaybackControls && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "absolute left-[var(--spacing-system-xsf)] top-[var(--spacing-system-xsf)] z-30 flex items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -25693,7 +25695,7 @@ function WalkthroughVideo({
|
|
|
25693
25695
|
{
|
|
25694
25696
|
onOpenAutoFocus: (e) => {
|
|
25695
25697
|
e.preventDefault();
|
|
25696
|
-
_optionalChain([closeButtonRef, 'access',
|
|
25698
|
+
_optionalChain([closeButtonRef, 'access', _559 => _559.current, 'optionalAccess', _560 => _560.focus, 'call', _561 => _561()]);
|
|
25697
25699
|
},
|
|
25698
25700
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
25699
25701
|
// PURE theater: just the video, centered on a dimmed backdrop.
|
|
@@ -25717,7 +25719,7 @@ function WalkthroughVideo({
|
|
|
25717
25719
|
children: [
|
|
25718
25720
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
25719
25721
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25720
|
-
|
|
25722
|
+
_chunk3UDBK2YGcjs.Video,
|
|
25721
25723
|
{
|
|
25722
25724
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
25723
25725
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -25768,7 +25770,7 @@ function InlineWalkthroughVideo(props) {
|
|
|
25768
25770
|
var _reactquery = require('@tanstack/react-query');
|
|
25769
25771
|
function useWalkthroughVideo(opts) {
|
|
25770
25772
|
const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
|
|
25771
|
-
const captions =
|
|
25773
|
+
const captions = _chunk3UDBK2YGcjs.useCaptions.call(void 0, );
|
|
25772
25774
|
const query = _reactquery.useQuery.call(void 0, {
|
|
25773
25775
|
queryKey: ["walkthrough-video", endpoint],
|
|
25774
25776
|
enabled,
|
|
@@ -25787,14 +25789,14 @@ function useWalkthroughVideo(opts) {
|
|
|
25787
25789
|
if (res.status === 404) return null;
|
|
25788
25790
|
if (!res.ok) throw new Error(`Walkthrough video request failed (${res.status})`);
|
|
25789
25791
|
const body = await res.json();
|
|
25790
|
-
return _nullishCoalesce(_optionalChain([body, 'optionalAccess',
|
|
25792
|
+
return _nullishCoalesce(_optionalChain([body, 'optionalAccess', _562 => _562.walkthroughVideo]), () => ( null));
|
|
25791
25793
|
},
|
|
25792
25794
|
// Per-observer transform — NEVER mutate the cached data. `select` also runs
|
|
25793
25795
|
// over `initialData`, so the SSR seed is rewritten too. Keeping the proxy
|
|
25794
25796
|
// rewrite here (not in queryFn) means a second consumer of the same
|
|
25795
25797
|
// endpoint can't inherit this observer's proxied captionsUrl from the cache.
|
|
25796
25798
|
select: (video) => {
|
|
25797
|
-
if (!_optionalChain([video, 'optionalAccess',
|
|
25799
|
+
if (!_optionalChain([video, 'optionalAccess', _563 => _563.captionsUrl])) return video;
|
|
25798
25800
|
if (transformCaptionsUrl && video.captionsUrl.startsWith("/")) {
|
|
25799
25801
|
return { ...video, captionsUrl: transformCaptionsUrl(video.captionsUrl) };
|
|
25800
25802
|
}
|
|
@@ -25841,7 +25843,7 @@ function VideoSourceSelector({
|
|
|
25841
25843
|
input.accept = "video/*";
|
|
25842
25844
|
input.onchange = async (e) => {
|
|
25843
25845
|
const target = e.target;
|
|
25844
|
-
const file = _optionalChain([target, 'access',
|
|
25846
|
+
const file = _optionalChain([target, 'access', _564 => _564.files, 'optionalAccess', _565 => _565[0]]);
|
|
25845
25847
|
if (!file) return;
|
|
25846
25848
|
setIsUploading(true);
|
|
25847
25849
|
setUploadProgress(0);
|
|
@@ -25966,7 +25968,7 @@ function VideoSourceSelector({
|
|
|
25966
25968
|
}
|
|
25967
25969
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
25968
25970
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
|
|
25969
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25971
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.Video, { kind: "file", url: videoUrl }) }),
|
|
25970
25972
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25971
25973
|
"button",
|
|
25972
25974
|
{
|
|
@@ -26017,7 +26019,7 @@ function SubtitlesEditor({
|
|
|
26017
26019
|
{
|
|
26018
26020
|
id,
|
|
26019
26021
|
value: subtitles || "",
|
|
26020
|
-
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall',
|
|
26022
|
+
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _566 => _566(e.target.value)]),
|
|
26021
26023
|
placeholder,
|
|
26022
26024
|
disabled: disabled || !onSubtitlesChange,
|
|
26023
26025
|
className: "h-full w-full resize-none border-0 bg-transparent p-4 text-ods-text-primary text-code placeholder:text-ods-text-secondary/50 focus:outline-none focus:ring-0",
|
|
@@ -26246,7 +26248,7 @@ var AIEnrichSection = ({
|
|
|
26246
26248
|
}) => {
|
|
26247
26249
|
const hasResults = status === "success" || status === "error";
|
|
26248
26250
|
const shouldDisable = disabled || !canEnrich;
|
|
26249
|
-
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess',
|
|
26251
|
+
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _567 => _567.filter, 'call', _568 => _568((f) => !f.isFilled)]) || [];
|
|
26250
26252
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26251
26253
|
"div",
|
|
26252
26254
|
{
|
|
@@ -26278,7 +26280,7 @@ var AIEnrichSection = ({
|
|
|
26278
26280
|
{
|
|
26279
26281
|
id: "ai-enrich-custom-instructions",
|
|
26280
26282
|
value: _nullishCoalesce(customInstructions, () => ( "")),
|
|
26281
|
-
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall',
|
|
26283
|
+
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _569 => _569(e.target.value)]),
|
|
26282
26284
|
placeholder: customInstructionsPlaceholder,
|
|
26283
26285
|
disabled: loading,
|
|
26284
26286
|
maxLength: customInstructionsMaxLength,
|
|
@@ -26400,7 +26402,7 @@ function HighlightVideoSection({
|
|
|
26400
26402
|
input.accept = "video/*";
|
|
26401
26403
|
input.onchange = async (e) => {
|
|
26402
26404
|
const target = e.target;
|
|
26403
|
-
const file = _optionalChain([target, 'access',
|
|
26405
|
+
const file = _optionalChain([target, 'access', _570 => _570.files, 'optionalAccess', _571 => _571[0]]);
|
|
26404
26406
|
if (!file) return;
|
|
26405
26407
|
setUploadError(null);
|
|
26406
26408
|
try {
|
|
@@ -26490,7 +26492,7 @@ function HighlightVideoSection({
|
|
|
26490
26492
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
26491
26493
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
26492
26494
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
|
|
26493
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26495
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
|
|
26494
26496
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26495
26497
|
"button",
|
|
26496
26498
|
{
|
|
@@ -26836,7 +26838,7 @@ function HighlightVideoPreview({
|
|
|
26836
26838
|
input.accept = "video/*";
|
|
26837
26839
|
input.onchange = async (e) => {
|
|
26838
26840
|
const target = e.target;
|
|
26839
|
-
const file = _optionalChain([target, 'access',
|
|
26841
|
+
const file = _optionalChain([target, 'access', _572 => _572.files, 'optionalAccess', _573 => _573[0]]);
|
|
26840
26842
|
if (!file) return;
|
|
26841
26843
|
await onUpload(file);
|
|
26842
26844
|
};
|
|
@@ -27015,7 +27017,7 @@ function HighlightVideoCombinedSection({
|
|
|
27015
27017
|
input.accept = "video/*";
|
|
27016
27018
|
input.onchange = async (e) => {
|
|
27017
27019
|
const target = e.target;
|
|
27018
|
-
const file = _optionalChain([target, 'access',
|
|
27020
|
+
const file = _optionalChain([target, 'access', _574 => _574.files, 'optionalAccess', _575 => _575[0]]);
|
|
27019
27021
|
if (!file) return;
|
|
27020
27022
|
await onUpload(file);
|
|
27021
27023
|
};
|
|
@@ -27230,7 +27232,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
|
27230
27232
|
] });
|
|
27231
27233
|
};
|
|
27232
27234
|
var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
|
|
27233
|
-
const { innerRef, containerStyle } =
|
|
27235
|
+
const { innerRef, containerStyle } = _chunk3UDBK2YGcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
|
|
27234
27236
|
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
27235
27237
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
27236
27238
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -27398,7 +27400,7 @@ function WaitlistForm({
|
|
|
27398
27400
|
const { toast } = _chunkYNGAJGYBcjs.useToast.call(void 0, );
|
|
27399
27401
|
const { honeypotInputProps, getSignals, resetSignals } = _chunkYNGAJGYBcjs.useHumanitySignals.call(void 0, );
|
|
27400
27402
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
27401
|
-
const isClient =
|
|
27403
|
+
const isClient = _chunk3UDBK2YGcjs.useIsHydrated.call(void 0, );
|
|
27402
27404
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
27403
27405
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
27404
27406
|
const isMailDomainGeneric = hasGenericEmailDomain(email);
|
|
@@ -27694,19 +27696,19 @@ function NotificationsProvider({
|
|
|
27694
27696
|
}, []);
|
|
27695
27697
|
const markRead = _react.useCallback.call(void 0, (id) => {
|
|
27696
27698
|
dispatch({ type: "markRead", id });
|
|
27697
|
-
void _optionalChain([actionsRef, 'access',
|
|
27699
|
+
void _optionalChain([actionsRef, 'access', _576 => _576.current, 'optionalAccess', _577 => _577.onMarkRead, 'optionalCall', _578 => _578(id)]);
|
|
27698
27700
|
}, []);
|
|
27699
27701
|
const markAllRead = _react.useCallback.call(void 0, () => {
|
|
27700
27702
|
dispatch({ type: "markAllRead" });
|
|
27701
|
-
void _optionalChain([actionsRef, 'access',
|
|
27703
|
+
void _optionalChain([actionsRef, 'access', _579 => _579.current, 'optionalAccess', _580 => _580.onMarkAllRead, 'optionalCall', _581 => _581()]);
|
|
27702
27704
|
}, []);
|
|
27703
27705
|
const markSettled = _react.useCallback.call(void 0, (id) => {
|
|
27704
27706
|
dispatch({ type: "markSettled", id });
|
|
27705
|
-
void _optionalChain([actionsRef, 'access',
|
|
27707
|
+
void _optionalChain([actionsRef, 'access', _582 => _582.current, 'optionalAccess', _583 => _583.onMarkSettled, 'optionalCall', _584 => _584(id)]);
|
|
27706
27708
|
}, []);
|
|
27707
27709
|
const remove = _react.useCallback.call(void 0, (id) => {
|
|
27708
27710
|
dispatch({ type: "remove", id });
|
|
27709
|
-
void _optionalChain([actionsRef, 'access',
|
|
27711
|
+
void _optionalChain([actionsRef, 'access', _585 => _585.current, 'optionalAccess', _586 => _586.onRemove, 'optionalCall', _587 => _587(id)]);
|
|
27710
27712
|
}, []);
|
|
27711
27713
|
const clear = _react.useCallback.call(void 0, () => dispatch({ type: "clear" }), []);
|
|
27712
27714
|
const open = _react.useCallback.call(void 0, () => setIsOpen(true), []);
|
|
@@ -27715,14 +27717,14 @@ function NotificationsProvider({
|
|
|
27715
27717
|
const setShowPopups = _react.useCallback.call(void 0,
|
|
27716
27718
|
(value2) => {
|
|
27717
27719
|
setShowPopupsState(value2);
|
|
27718
|
-
_optionalChain([onShowPopupsChange, 'optionalCall',
|
|
27720
|
+
_optionalChain([onShowPopupsChange, 'optionalCall', _588 => _588(value2)]);
|
|
27719
27721
|
},
|
|
27720
27722
|
[onShowPopupsChange]
|
|
27721
27723
|
);
|
|
27722
27724
|
const setShowDesktopPopups = _react.useCallback.call(void 0,
|
|
27723
27725
|
(value2) => {
|
|
27724
27726
|
setShowDesktopPopupsState(value2);
|
|
27725
|
-
_optionalChain([onShowDesktopPopupsChange, 'optionalCall',
|
|
27727
|
+
_optionalChain([onShowDesktopPopupsChange, 'optionalCall', _589 => _589(value2)]);
|
|
27726
27728
|
},
|
|
27727
27729
|
[onShowDesktopPopupsChange]
|
|
27728
27730
|
);
|
|
@@ -27838,7 +27840,7 @@ var AppLayoutDrawerRoot = ({
|
|
|
27838
27840
|
const handleOpenChange = _react.useCallback.call(void 0,
|
|
27839
27841
|
(next) => {
|
|
27840
27842
|
if (!isControlled) setInternalOpen(next);
|
|
27841
|
-
_optionalChain([onOpenChange, 'optionalCall',
|
|
27843
|
+
_optionalChain([onOpenChange, 'optionalCall', _590 => _590(next)]);
|
|
27842
27844
|
},
|
|
27843
27845
|
[isControlled, onOpenChange]
|
|
27844
27846
|
);
|
|
@@ -27855,9 +27857,9 @@ var AppLayoutDrawerRoot = ({
|
|
|
27855
27857
|
}
|
|
27856
27858
|
}));
|
|
27857
27859
|
_react.useEffect.call(void 0, () => {
|
|
27858
|
-
if (open) _optionalChain([coordination, 'optionalAccess',
|
|
27860
|
+
if (open) _optionalChain([coordination, 'optionalAccess', _591 => _591.notifyDrawerDidOpen, 'call', _592 => _592(selfHandle)]);
|
|
27859
27861
|
}, [open, coordination, selfHandle]);
|
|
27860
|
-
_react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess',
|
|
27862
|
+
_react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess', _593 => _593.registerDrawer, 'call', _594 => _594(selfHandle)]), [coordination, selfHandle]);
|
|
27861
27863
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DrawerOpenContext.Provider, { value: open, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive3.Root, { ...rest, open, onOpenChange: handleOpenChange, modal, children }) });
|
|
27862
27864
|
};
|
|
27863
27865
|
AppLayoutDrawerRoot.displayName = "AppLayoutDrawer";
|
|
@@ -28178,7 +28180,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
28178
28180
|
"data-state": open ? "open" : "closed",
|
|
28179
28181
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
28180
28182
|
"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",
|
|
28181
|
-
|
|
28183
|
+
_chunk3UDBK2YGcjs.OVERLAY_BACKDROP_CLASS,
|
|
28182
28184
|
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
28183
28185
|
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
28184
28186
|
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
@@ -28206,10 +28208,10 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
28206
28208
|
),
|
|
28207
28209
|
style,
|
|
28208
28210
|
onInteractOutside: (event) => {
|
|
28209
|
-
_optionalChain([onInteractOutside, 'optionalCall',
|
|
28211
|
+
_optionalChain([onInteractOutside, 'optionalCall', _595 => _595(event)]);
|
|
28210
28212
|
if (event.defaultPrevented) return;
|
|
28211
28213
|
const target = event.target;
|
|
28212
|
-
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess',
|
|
28214
|
+
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _596 => _596.contains, 'call', _597 => _597(target)]);
|
|
28213
28215
|
if (!isInsideContainer) {
|
|
28214
28216
|
event.preventDefault();
|
|
28215
28217
|
return;
|
|
@@ -28254,11 +28256,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
28254
28256
|
}
|
|
28255
28257
|
);
|
|
28256
28258
|
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
28257
|
-
var AppLayoutDrawerHeader =
|
|
28258
|
-
var AppLayoutDrawerTitle =
|
|
28259
|
-
var AppLayoutDrawerDescription =
|
|
28260
|
-
var AppLayoutDrawerBody =
|
|
28261
|
-
var AppLayoutDrawerFooter =
|
|
28259
|
+
var AppLayoutDrawerHeader = _chunk3UDBK2YGcjs.DrawerHeader;
|
|
28260
|
+
var AppLayoutDrawerTitle = _chunk3UDBK2YGcjs.DrawerTitle;
|
|
28261
|
+
var AppLayoutDrawerDescription = _chunk3UDBK2YGcjs.DrawerDescription;
|
|
28262
|
+
var AppLayoutDrawerBody = _chunk3UDBK2YGcjs.DrawerBody;
|
|
28263
|
+
var AppLayoutDrawerFooter = _chunk3UDBK2YGcjs.DrawerFooter;
|
|
28262
28264
|
|
|
28263
28265
|
// src/components/features/notifications/notification-tile.tsx
|
|
28264
28266
|
|
|
@@ -28313,7 +28315,7 @@ function NotificationTile({
|
|
|
28313
28315
|
if (!counting) return void 0;
|
|
28314
28316
|
const remaining = Math.max(0, liveDurationMs - initialElapsed);
|
|
28315
28317
|
const timer = window.setTimeout(() => {
|
|
28316
|
-
_optionalChain([onSettle, 'optionalCall',
|
|
28318
|
+
_optionalChain([onSettle, 'optionalCall', _598 => _598(id)]);
|
|
28317
28319
|
}, remaining);
|
|
28318
28320
|
return () => window.clearTimeout(timer);
|
|
28319
28321
|
}, [id, counting, initialElapsed, liveDurationMs, onSettle]);
|
|
@@ -28347,13 +28349,13 @@ function NotificationTile({
|
|
|
28347
28349
|
}
|
|
28348
28350
|
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkYNGAJGYBcjs.dotColorByVariant[accentVariant]) }))) }),
|
|
28349
28351
|
type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "min-w-0 flex-1 truncate text-h5", typeColorByVariant[accentVariant]), title: type, children: type }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1" }),
|
|
28350
|
-
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children:
|
|
28352
|
+
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunk3UDBK2YGcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
|
|
28351
28353
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
|
|
28352
28354
|
{
|
|
28353
28355
|
active: isLive,
|
|
28354
28356
|
label: "Dismiss notification",
|
|
28355
28357
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.XmarkIcon, { size: 16 }),
|
|
28356
|
-
onClick: () => _optionalChain([onSettle, 'optionalCall',
|
|
28358
|
+
onClick: () => _optionalChain([onSettle, 'optionalCall', _599 => _599(id)])
|
|
28357
28359
|
},
|
|
28358
28360
|
{
|
|
28359
28361
|
active: !isLive,
|
|
@@ -28454,7 +28456,7 @@ function NotificationDrawer({
|
|
|
28454
28456
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
28455
28457
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
28456
28458
|
/* @__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,
|
|
28457
|
-
|
|
28459
|
+
_chunk3UDBK2YGcjs.DrawerTitle,
|
|
28458
28460
|
{
|
|
28459
28461
|
hideClose: true,
|
|
28460
28462
|
className: "truncate",
|
|
@@ -28513,8 +28515,8 @@ function NotificationDrawer({
|
|
|
28513
28515
|
}
|
|
28514
28516
|
) });
|
|
28515
28517
|
}
|
|
28516
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28517
|
-
|
|
28518
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28519
|
+
_chunk3UDBK2YGcjs.DrawerContent,
|
|
28518
28520
|
{
|
|
28519
28521
|
side: "right",
|
|
28520
28522
|
"aria-describedby": void 0,
|
|
@@ -28551,7 +28553,7 @@ function DrawerScrollList({
|
|
|
28551
28553
|
if (!sentinel || !root) return void 0;
|
|
28552
28554
|
const observer = new IntersectionObserver(
|
|
28553
28555
|
(entries) => {
|
|
28554
|
-
if (_optionalChain([entries, 'access',
|
|
28556
|
+
if (_optionalChain([entries, 'access', _600 => _600[0], 'optionalAccess', _601 => _601.isIntersecting])) _optionalChain([loadMoreRef, 'access', _602 => _602.current, 'optionalCall', _603 => _603()]);
|
|
28555
28557
|
},
|
|
28556
28558
|
{ root, rootMargin: loadMoreRootMargin }
|
|
28557
28559
|
);
|
|
@@ -28566,7 +28568,7 @@ function DrawerScrollList({
|
|
|
28566
28568
|
className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
|
|
28567
28569
|
children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
28568
28570
|
unreadNotifications.map((n) => {
|
|
28569
|
-
const custom = _optionalChain([renderTile, 'optionalCall',
|
|
28571
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _604 => _604(n, { onComplete, onSettle, liveDurationMs })]);
|
|
28570
28572
|
if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
|
|
28571
28573
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28572
28574
|
NotificationTile,
|
|
@@ -28686,7 +28688,7 @@ function NotificationPopups({
|
|
|
28686
28688
|
}) {
|
|
28687
28689
|
const ctx = useOptionalNotifications();
|
|
28688
28690
|
const [now, setNow] = _react.useState.call(void 0, () => Date.now());
|
|
28689
|
-
const hasAgeingNotifications = Boolean(_optionalChain([ctx, 'optionalAccess',
|
|
28691
|
+
const hasAgeingNotifications = Boolean(_optionalChain([ctx, 'optionalAccess', _605 => _605.notifications, 'access', _606 => _606.some, 'call', _607 => _607((n) => !n.read && !n.settled)]));
|
|
28690
28692
|
_react.useEffect.call(void 0, () => {
|
|
28691
28693
|
if (!hasAgeingNotifications) return void 0;
|
|
28692
28694
|
const id = setInterval(() => setNow(Date.now()), 500);
|
|
@@ -28729,7 +28731,7 @@ function NotificationPopups({
|
|
|
28729
28731
|
className
|
|
28730
28732
|
),
|
|
28731
28733
|
children: live.map((n) => {
|
|
28732
|
-
const custom = _optionalChain([renderTile, 'optionalCall',
|
|
28734
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _608 => _608(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
|
|
28733
28735
|
if (custom) {
|
|
28734
28736
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
|
|
28735
28737
|
}
|
|
@@ -28776,34 +28778,34 @@ function isApprovalNotificationType(type) {
|
|
|
28776
28778
|
return typeof type === "string" && APPROVAL_REQUEST_TYPES.has(type);
|
|
28777
28779
|
}
|
|
28778
28780
|
function isApprovalNotification(notification) {
|
|
28779
|
-
return isApprovalNotificationType(_optionalChain([notification, 'access',
|
|
28781
|
+
return isApprovalNotificationType(_optionalChain([notification, 'access', _609 => _609.meta, 'optionalAccess', _610 => _610.notificationType]));
|
|
28780
28782
|
}
|
|
28781
28783
|
function getApprovalMeta(notification) {
|
|
28782
28784
|
if (!isApprovalNotification(notification)) return null;
|
|
28783
28785
|
const meta = notification.meta;
|
|
28784
|
-
const approvalRequestId = _optionalChain([meta, 'optionalAccess',
|
|
28785
|
-
const toolCalls = _optionalChain([meta, 'optionalAccess',
|
|
28786
|
+
const approvalRequestId = _optionalChain([meta, 'optionalAccess', _611 => _611.approvalRequestId]);
|
|
28787
|
+
const toolCalls = _optionalChain([meta, 'optionalAccess', _612 => _612.toolCalls]);
|
|
28786
28788
|
if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
|
|
28787
28789
|
return {
|
|
28788
28790
|
approvalRequestId,
|
|
28789
|
-
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
28790
|
-
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
28791
|
-
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
28792
|
-
resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
28793
|
-
resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
28791
|
+
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _613 => _613.dialogId]), () => ( null)),
|
|
28792
|
+
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _614 => _614.ticketId]), () => ( null)),
|
|
28793
|
+
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _615 => _615.approvalType]), () => ( null)),
|
|
28794
|
+
resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _616 => _616.resolution]), () => ( null)),
|
|
28795
|
+
resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _617 => _617.resolvedByName]), () => ( null)),
|
|
28794
28796
|
toolCalls
|
|
28795
28797
|
};
|
|
28796
28798
|
}
|
|
28797
28799
|
function resolutionToStatus(resolution) {
|
|
28798
28800
|
switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
|
|
28799
28801
|
case "APPROVED":
|
|
28800
|
-
return
|
|
28802
|
+
return _chunk3UDBK2YGcjs.APPROVAL_STATUS.APPROVED;
|
|
28801
28803
|
case "REJECTED":
|
|
28802
|
-
return
|
|
28804
|
+
return _chunk3UDBK2YGcjs.APPROVAL_STATUS.REJECTED;
|
|
28803
28805
|
case "CANCELLED":
|
|
28804
|
-
return
|
|
28806
|
+
return _chunk3UDBK2YGcjs.APPROVAL_STATUS.CANCELLED;
|
|
28805
28807
|
default:
|
|
28806
|
-
return
|
|
28808
|
+
return _chunk3UDBK2YGcjs.APPROVAL_STATUS.PENDING;
|
|
28807
28809
|
}
|
|
28808
28810
|
}
|
|
28809
28811
|
function approvalMetaToBatchData(approval) {
|
|
@@ -28841,10 +28843,10 @@ function ApprovalRequestNotificationTile({
|
|
|
28841
28843
|
const [processing, setProcessing] = _react.useState.call(void 0, false);
|
|
28842
28844
|
const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
|
|
28843
28845
|
const approval = getApprovalMeta(notification);
|
|
28844
|
-
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess',
|
|
28846
|
+
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _618 => _618.resolution]));
|
|
28845
28847
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
28846
28848
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
28847
|
-
const { innerRef, containerStyle } =
|
|
28849
|
+
const { innerRef, containerStyle } = _chunk3UDBK2YGcjs.useCollapsible.call(void 0, { expanded });
|
|
28848
28850
|
if (!approval || !batchData) return null;
|
|
28849
28851
|
const tileNotification = {
|
|
28850
28852
|
...notification,
|
|
@@ -28898,7 +28900,7 @@ function ApprovalRequestNotificationTile({
|
|
|
28898
28900
|
}
|
|
28899
28901
|
)
|
|
28900
28902
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
28901
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28903
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ApprovalStatusTag, { status }),
|
|
28902
28904
|
approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
28903
28905
|
"by ",
|
|
28904
28906
|
approval.resolvedByName
|
|
@@ -28916,12 +28918,12 @@ function ApprovalRequestNotificationTile({
|
|
|
28916
28918
|
"aria-expanded": expanded,
|
|
28917
28919
|
"aria-label": toggleLabel,
|
|
28918
28920
|
className: "ml-auto w-6 shrink-0 px-0 md:w-8",
|
|
28919
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28921
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.ExpandChevron, { expanded })
|
|
28920
28922
|
}
|
|
28921
28923
|
)
|
|
28922
28924
|
] }),
|
|
28923
28925
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-t border-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28924
|
-
|
|
28926
|
+
_chunk3UDBK2YGcjs.ApprovalBatchMessage,
|
|
28925
28927
|
{
|
|
28926
28928
|
data: batchData,
|
|
28927
28929
|
showExecutionStatus: false,
|
|
@@ -29169,7 +29171,7 @@ function TimeTrackerPanel({
|
|
|
29169
29171
|
error: showFieldError ? "Required if no notes added" : void 0,
|
|
29170
29172
|
disableClientFilter: !!onTicketSearch,
|
|
29171
29173
|
onInputChange: (value, reason) => {
|
|
29172
|
-
if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall',
|
|
29174
|
+
if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _619 => _619(value)]);
|
|
29173
29175
|
}
|
|
29174
29176
|
}
|
|
29175
29177
|
),
|
|
@@ -29184,7 +29186,7 @@ function TimeTrackerPanel({
|
|
|
29184
29186
|
disabled: customerLocked,
|
|
29185
29187
|
disableClientFilter: !!onCustomerSearch,
|
|
29186
29188
|
onInputChange: (value, reason) => {
|
|
29187
|
-
if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall',
|
|
29189
|
+
if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall', _620 => _620(value)]);
|
|
29188
29190
|
},
|
|
29189
29191
|
startAdornment: customerStartAdornment,
|
|
29190
29192
|
renderOption: renderCustomerOption
|
|
@@ -29257,7 +29259,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
|
|
|
29257
29259
|
function StatusTag({ status }) {
|
|
29258
29260
|
if (status === "tracking") {
|
|
29259
29261
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29260
|
-
|
|
29262
|
+
_chunk3UDBK2YGcjs.Tag,
|
|
29261
29263
|
{
|
|
29262
29264
|
variant: "success",
|
|
29263
29265
|
className: STATUS_TAG_SKIN,
|
|
@@ -29267,9 +29269,9 @@ function StatusTag({ status }) {
|
|
|
29267
29269
|
);
|
|
29268
29270
|
}
|
|
29269
29271
|
if (status === "paused") {
|
|
29270
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29272
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
|
|
29271
29273
|
}
|
|
29272
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29274
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
|
|
29273
29275
|
}
|
|
29274
29276
|
function LastEntryRow({ entry, onClick }) {
|
|
29275
29277
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-m)] border-b border-ods-border bg-ods-bg px-[var(--spacing-system-m)] py-[var(--spacing-system-sf)] last:border-b-0", children: [
|
|
@@ -29286,7 +29288,7 @@ function LastEntryRow({ entry, onClick }) {
|
|
|
29286
29288
|
{
|
|
29287
29289
|
variant: "outline",
|
|
29288
29290
|
size: "icon",
|
|
29289
|
-
onClick: () => _optionalChain([onClick, 'optionalCall',
|
|
29291
|
+
onClick: () => _optionalChain([onClick, 'optionalCall', _621 => _621(entry)]),
|
|
29290
29292
|
disabled: !onClick,
|
|
29291
29293
|
"aria-label": `Open entry: ${entry.title}`,
|
|
29292
29294
|
className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
|
|
@@ -29370,28 +29372,28 @@ function HeaderButton({
|
|
|
29370
29372
|
function TimeTrackerHeaderButton({ className, disabled }) {
|
|
29371
29373
|
const ctx = useOptionalTimeTracker();
|
|
29372
29374
|
const elapsedLabel = useTrackerClock({
|
|
29373
|
-
status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
29374
|
-
runningSince: _optionalChain([ctx, 'optionalAccess',
|
|
29375
|
-
accumulatedMs: _optionalChain([ctx, 'optionalAccess',
|
|
29375
|
+
status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _622 => _622.status]), () => ( "ready")),
|
|
29376
|
+
runningSince: _optionalChain([ctx, 'optionalAccess', _623 => _623.runningSince]),
|
|
29377
|
+
accumulatedMs: _optionalChain([ctx, 'optionalAccess', _624 => _624.accumulatedMs])
|
|
29376
29378
|
});
|
|
29377
29379
|
const layoutContainer = useAppLayoutDrawerContainer();
|
|
29378
29380
|
const coordination = useAppLayoutDrawerCoordination();
|
|
29379
|
-
const isOpen = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
29381
|
+
const isOpen = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _625 => _625.isOpen]), () => ( false));
|
|
29380
29382
|
const isOpenRef = _react.useRef.call(void 0, isOpen);
|
|
29381
|
-
const closeRef = _react.useRef.call(void 0, _optionalChain([ctx, 'optionalAccess',
|
|
29383
|
+
const closeRef = _react.useRef.call(void 0, _optionalChain([ctx, 'optionalAccess', _626 => _626.close]));
|
|
29382
29384
|
_react.useEffect.call(void 0, () => {
|
|
29383
29385
|
isOpenRef.current = isOpen;
|
|
29384
|
-
closeRef.current = _optionalChain([ctx, 'optionalAccess',
|
|
29386
|
+
closeRef.current = _optionalChain([ctx, 'optionalAccess', _627 => _627.close]);
|
|
29385
29387
|
});
|
|
29386
29388
|
const [selfHandle] = _react.useState.call(void 0, () => ({
|
|
29387
29389
|
close: () => {
|
|
29388
|
-
if (isOpenRef.current) _optionalChain([closeRef, 'access',
|
|
29390
|
+
if (isOpenRef.current) _optionalChain([closeRef, 'access', _628 => _628.current, 'optionalCall', _629 => _629()]);
|
|
29389
29391
|
}
|
|
29390
29392
|
}));
|
|
29391
29393
|
_react.useEffect.call(void 0, () => {
|
|
29392
|
-
if (isOpen) _optionalChain([coordination, 'optionalAccess',
|
|
29394
|
+
if (isOpen) _optionalChain([coordination, 'optionalAccess', _630 => _630.notifyDrawerDidOpen, 'call', _631 => _631(selfHandle)]);
|
|
29393
29395
|
}, [isOpen, coordination, selfHandle]);
|
|
29394
|
-
_react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess',
|
|
29396
|
+
_react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess', _632 => _632.registerDrawer, 'call', _633 => _633(selfHandle)]), [coordination, selfHandle]);
|
|
29395
29397
|
if (!ctx) return null;
|
|
29396
29398
|
const { open, close, status } = ctx;
|
|
29397
29399
|
const isPaused = status === "paused";
|
|
@@ -29438,7 +29440,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
29438
29440
|
"data-state": isOpen ? "open" : "closed",
|
|
29439
29441
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
29440
29442
|
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
29441
|
-
|
|
29443
|
+
_chunk3UDBK2YGcjs.OVERLAY_BACKDROP_CLASS,
|
|
29442
29444
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
29443
29445
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
29444
29446
|
)
|
|
@@ -29523,7 +29525,7 @@ function autoScrollAncestors(element) {
|
|
|
29523
29525
|
|
|
29524
29526
|
// src/components/features/board/aim.ts
|
|
29525
29527
|
var _closestedge = require('@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge');
|
|
29526
|
-
var othersIn = (columns, columnId, ticketId) => (_nullishCoalesce(_optionalChain([columns, 'access',
|
|
29528
|
+
var othersIn = (columns, columnId, ticketId) => (_nullishCoalesce(_optionalChain([columns, 'access', _634 => _634.find, 'call', _635 => _635((c) => c.id === columnId), 'optionalAccess', _636 => _636.tickets]), () => ( []))).filter((t) => t.id !== ticketId);
|
|
29527
29529
|
function laneOf(columns, ticketId) {
|
|
29528
29530
|
return _nullishCoalesce(columns.find((c) => c.tickets.some((t) => t.id === ticketId)), () => ( null));
|
|
29529
29531
|
}
|
|
@@ -29567,11 +29569,11 @@ function aimToChange(columns, ticketId, aim) {
|
|
|
29567
29569
|
const lane = laneOf(columns, ticketId);
|
|
29568
29570
|
if (!lane) return null;
|
|
29569
29571
|
const others = othersIn(columns, aim.columnId, ticketId);
|
|
29570
|
-
const afterTicketId = _nullishCoalesce(_optionalChain([others, 'access',
|
|
29571
|
-
const beforeTicketId = _nullishCoalesce(_optionalChain([others, 'access',
|
|
29572
|
+
const afterTicketId = _nullishCoalesce(_optionalChain([others, 'access', _637 => _637[aim.index - 1], 'optionalAccess', _638 => _638.id]), () => ( null));
|
|
29573
|
+
const beforeTicketId = _nullishCoalesce(_optionalChain([others, 'access', _639 => _639[aim.index], 'optionalAccess', _640 => _640.id]), () => ( null));
|
|
29572
29574
|
if (lane.id === aim.columnId) {
|
|
29573
29575
|
const currentIndex = lane.tickets.findIndex((t) => t.id === ticketId);
|
|
29574
|
-
if ((_nullishCoalesce(_optionalChain([lane, 'access',
|
|
29576
|
+
if ((_nullishCoalesce(_optionalChain([lane, 'access', _641 => _641.tickets, 'access', _642 => _642[currentIndex - 1], 'optionalAccess', _643 => _643.id]), () => ( null))) === afterTicketId) return null;
|
|
29575
29577
|
}
|
|
29576
29578
|
return { ticketId, fromColumnId: lane.id, toColumnId: aim.columnId, afterTicketId, beforeTicketId };
|
|
29577
29579
|
}
|
|
@@ -29592,7 +29594,7 @@ function BoardColumnHeader({
|
|
|
29592
29594
|
}) {
|
|
29593
29595
|
const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
|
|
29594
29596
|
const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
|
|
29595
|
-
const useStatusVariant =
|
|
29597
|
+
const useStatusVariant = _chunk3UDBK2YGcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
|
|
29596
29598
|
const actionClass = "h-8 w-8 p-0 md:h-8 md:w-8";
|
|
29597
29599
|
if (collapsed) {
|
|
29598
29600
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
@@ -29608,7 +29610,7 @@ function BoardColumnHeader({
|
|
|
29608
29610
|
}
|
|
29609
29611
|
),
|
|
29610
29612
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29611
|
-
|
|
29613
|
+
_chunk3UDBK2YGcjs.TicketStatusTag,
|
|
29612
29614
|
{
|
|
29613
29615
|
status: tagStatus,
|
|
29614
29616
|
label: column.label,
|
|
@@ -29621,7 +29623,7 @@ function BoardColumnHeader({
|
|
|
29621
29623
|
}
|
|
29622
29624
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
29623
29625
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
29624
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29626
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
|
|
29625
29627
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
|
|
29626
29628
|
] }),
|
|
29627
29629
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -29773,7 +29775,7 @@ function holdMoveDragEffect(element) {
|
|
|
29773
29775
|
|
|
29774
29776
|
function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
29775
29777
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
29776
|
-
const { innerRef, containerStyle } =
|
|
29778
|
+
const { innerRef, containerStyle } = _chunk3UDBK2YGcjs.useCollapsible.call(void 0, { expanded });
|
|
29777
29779
|
const isAdmin = pendingApproval.approvalType === "ADMIN";
|
|
29778
29780
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
|
|
29779
29781
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -29802,7 +29804,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
|
29802
29804
|
}
|
|
29803
29805
|
),
|
|
29804
29806
|
/* @__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,
|
|
29805
|
-
|
|
29807
|
+
_chunk3UDBK2YGcjs.ApprovalBatchMessage,
|
|
29806
29808
|
{
|
|
29807
29809
|
className: "mb-0",
|
|
29808
29810
|
data: {
|
|
@@ -29843,14 +29845,14 @@ function useIsLanding(ticketId) {
|
|
|
29843
29845
|
return _react.useContext.call(void 0, LandingCardContext) === ticketId;
|
|
29844
29846
|
}
|
|
29845
29847
|
function hasMoveSettled(columns, move) {
|
|
29846
|
-
const tickets = _optionalChain([columns, 'access',
|
|
29848
|
+
const tickets = _optionalChain([columns, 'access', _644 => _644.find, 'call', _645 => _645((c) => c.id === move.toColumnId), 'optionalAccess', _646 => _646.tickets]);
|
|
29847
29849
|
if (!tickets) return false;
|
|
29848
29850
|
const index = tickets.findIndex((t) => t.id === move.ticketId);
|
|
29849
29851
|
if (index < 0) return false;
|
|
29850
29852
|
if (move.fromColumnId === move.toColumnId) {
|
|
29851
|
-
return (_nullishCoalesce(_optionalChain([tickets, 'access',
|
|
29853
|
+
return (_nullishCoalesce(_optionalChain([tickets, 'access', _647 => _647[index - 1], 'optionalAccess', _648 => _648.id]), () => ( null))) === move.afterTicketId;
|
|
29852
29854
|
}
|
|
29853
|
-
return !_optionalChain([columns, 'access',
|
|
29855
|
+
return !_optionalChain([columns, 'access', _649 => _649.find, 'call', _650 => _650((c) => c.id === move.fromColumnId), 'optionalAccess', _651 => _651.tickets, 'access', _652 => _652.some, 'call', _653 => _653((t) => t.id === move.ticketId)]);
|
|
29854
29856
|
}
|
|
29855
29857
|
|
|
29856
29858
|
// src/components/features/board/ticket-card.tsx
|
|
@@ -29882,10 +29884,10 @@ function TicketCardBody({
|
|
|
29882
29884
|
onLinkClick
|
|
29883
29885
|
}) {
|
|
29884
29886
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
29885
|
-
const newMessageTextColor = columnColor ?
|
|
29886
|
-
const showDeviceRow = !!(_optionalChain([ticket, 'access',
|
|
29887
|
-
const deviceText = [_optionalChain([ticket, 'access',
|
|
29888
|
-
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access',
|
|
29887
|
+
const newMessageTextColor = columnColor ? _chunk3UDBK2YGcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
|
|
29888
|
+
const showDeviceRow = !!(_optionalChain([ticket, 'access', _654 => _654.deviceHostnames, 'optionalAccess', _655 => _655.length]) || ticket.organizationName);
|
|
29889
|
+
const deviceText = [_optionalChain([ticket, 'access', _656 => _656.deviceHostnames, 'optionalAccess', _657 => _657.join, 'call', _658 => _658(", ")]), ticket.organizationName].filter(Boolean).join(", ");
|
|
29890
|
+
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _659 => _659.assignees, 'optionalAccess', _660 => _660.length]) || renderAssignSlot);
|
|
29889
29891
|
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: [
|
|
29890
29892
|
ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29891
29893
|
_chunkOIDKQ77Rcjs.Flag02Icon,
|
|
@@ -29894,7 +29896,7 @@ function TicketCardBody({
|
|
|
29894
29896
|
"aria-label": `Priority: ${ticket.priority}`
|
|
29895
29897
|
}
|
|
29896
29898
|
),
|
|
29897
|
-
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access',
|
|
29899
|
+
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _661 => _661.assignees, 'optionalAccess', _662 => _662.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
|
|
29898
29900
|
ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map(
|
|
29899
29901
|
(a) => a.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29900
29902
|
DeletedUserAvatar,
|
|
@@ -29921,8 +29923,8 @@ function TicketCardBody({
|
|
|
29921
29923
|
] })
|
|
29922
29924
|
] }) : null
|
|
29923
29925
|
] }) : null;
|
|
29924
|
-
const timestampLabel = ticket.createdAt ?
|
|
29925
|
-
const tooltipLabel = ticket.createdAt ?
|
|
29926
|
+
const timestampLabel = ticket.createdAt ? _chunk3UDBK2YGcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
|
|
29927
|
+
const tooltipLabel = ticket.createdAt ? _chunk3UDBK2YGcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
|
|
29926
29928
|
const metaLabel = [ticket.ticketNumber || null, timestampLabel].filter(Boolean).join(" \u2022 ");
|
|
29927
29929
|
const metaClass = "truncate text-ods-text-secondary text-h6";
|
|
29928
29930
|
const meta = href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -29948,10 +29950,10 @@ function TicketCardBody({
|
|
|
29948
29950
|
] }),
|
|
29949
29951
|
rightSection
|
|
29950
29952
|
] }),
|
|
29951
|
-
_optionalChain([ticket, 'access',
|
|
29952
|
-
metaLabel && (tooltipLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29953
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29954
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29953
|
+
_optionalChain([ticket, 'access', _663 => _663.tags, 'optionalAccess', _664 => _664.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
29954
|
+
metaLabel && (tooltipLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3UDBK2YGcjs.Tooltip, { children: [
|
|
29955
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TooltipTrigger, { asChild: true, children: meta }),
|
|
29956
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.TooltipContent, { children: tooltipLabel })
|
|
29955
29957
|
] }) }) : meta),
|
|
29956
29958
|
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: [
|
|
29957
29959
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
|
|
@@ -29971,7 +29973,7 @@ function TicketCardBody({
|
|
|
29971
29973
|
}
|
|
29972
29974
|
),
|
|
29973
29975
|
showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29974
|
-
|
|
29976
|
+
_chunk3UDBK2YGcjs.Tag,
|
|
29975
29977
|
{
|
|
29976
29978
|
label: "New Message",
|
|
29977
29979
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
|
|
@@ -30015,7 +30017,7 @@ var TicketCard = _react.memo.call(void 0, function TicketCardImpl({
|
|
|
30015
30017
|
const isLanding = useIsLanding(ticket.id);
|
|
30016
30018
|
const aim = useDropAim();
|
|
30017
30019
|
const closestEdge = aim && aim.columnId === columnId && aim.ticketId === ticket.id ? aim.edge : null;
|
|
30018
|
-
const isSource = isDragging || _optionalChain([aim, 'optionalAccess',
|
|
30020
|
+
const isSource = isDragging || _optionalChain([aim, 'optionalAccess', _665 => _665.ticket, 'access', _666 => _666.id]) === ticket.id;
|
|
30019
30021
|
const lift = useBoardLift();
|
|
30020
30022
|
const handleKeyDown = (e) => {
|
|
30021
30023
|
if (e.key !== " " || dragDisabled || !lift) return;
|
|
@@ -30191,8 +30193,8 @@ function TicketTagRow({ tags }) {
|
|
|
30191
30193
|
const visible = tags.slice(0, MAX_VISIBLE_TAGS);
|
|
30192
30194
|
const hidden = tags.length - visible.length;
|
|
30193
30195
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
|
|
30194
|
-
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30195
|
-
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30196
|
+
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.Tag, { variant: "outline", label: tag }, tag)),
|
|
30197
|
+
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UDBK2YGcjs.Tag, { variant: "outline", label: `+${hidden}` })
|
|
30196
30198
|
] });
|
|
30197
30199
|
}
|
|
30198
30200
|
|
|
@@ -30273,7 +30275,7 @@ var BoardColumn = _react.memo.call(void 0, function BoardColumnImpl({
|
|
|
30273
30275
|
// large ones like the only thing that did.
|
|
30274
30276
|
getData: ({ input, element: lane, source }) => {
|
|
30275
30277
|
const nearest = nearestCardIn(lane, input.clientY, String(source.data.ticketId));
|
|
30276
|
-
const ticketId = _optionalChain([nearest, 'optionalAccess',
|
|
30278
|
+
const ticketId = _optionalChain([nearest, 'optionalAccess', _667 => _667.dataset, 'access', _668 => _668.ticketId]);
|
|
30277
30279
|
if (!nearest || !ticketId) return { type: "column", columnId: column.id };
|
|
30278
30280
|
return _closestedge.attachClosestEdge.call(void 0,
|
|
30279
30281
|
{ type: "ticket", ticketId, columnId: column.id },
|
|
@@ -30285,7 +30287,7 @@ var BoardColumn = _react.memo.call(void 0, function BoardColumnImpl({
|
|
|
30285
30287
|
onDrop: () => setIsOver(false)
|
|
30286
30288
|
});
|
|
30287
30289
|
}, [column.id, column.dropDisabled, column.allowedFromColumns, collapsed, touchMode]);
|
|
30288
|
-
const handleToggleCollapse = _react.useCallback.call(void 0, () => _optionalChain([onToggleCollapse, 'optionalCall',
|
|
30290
|
+
const handleToggleCollapse = _react.useCallback.call(void 0, () => _optionalChain([onToggleCollapse, 'optionalCall', _669 => _669(column.id)]), [onToggleCollapse, column.id]);
|
|
30289
30291
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30290
30292
|
"div",
|
|
30291
30293
|
{
|
|
@@ -30364,7 +30366,7 @@ function ColumnBody({
|
|
|
30364
30366
|
const observer = new IntersectionObserver(
|
|
30365
30367
|
(entries) => {
|
|
30366
30368
|
if (entries.some((e) => e.isIntersecting)) {
|
|
30367
|
-
_optionalChain([loadMoreRef, 'access',
|
|
30369
|
+
_optionalChain([loadMoreRef, 'access', _670 => _670.current, 'optionalCall', _671 => _671(columnIdRef.current)]);
|
|
30368
30370
|
}
|
|
30369
30371
|
},
|
|
30370
30372
|
{ root, rootMargin: loadMoreRootMargin }
|
|
@@ -30389,7 +30391,7 @@ function ColumnBody({
|
|
|
30389
30391
|
ticket: t,
|
|
30390
30392
|
columnId: column.id,
|
|
30391
30393
|
columnColor: column.color,
|
|
30392
|
-
href: _optionalChain([getTicketHref, 'optionalCall',
|
|
30394
|
+
href: _optionalChain([getTicketHref, 'optionalCall', _672 => _672(t.id)]),
|
|
30393
30395
|
renderAssignSlot,
|
|
30394
30396
|
onApprove,
|
|
30395
30397
|
onReject,
|
|
@@ -30566,7 +30568,7 @@ function DragBoard({
|
|
|
30566
30568
|
const [landing, setLanding] = _react.useState.call(void 0, null);
|
|
30567
30569
|
const landingTimer = _react.useRef.call(void 0, null);
|
|
30568
30570
|
const pointRef = _react.useRef.call(void 0, { x: 0, y: 0 });
|
|
30569
|
-
const laneLabel = _react.useCallback.call(void 0, (columnId) => _nullishCoalesce(_optionalChain([view, 'access',
|
|
30571
|
+
const laneLabel = _react.useCallback.call(void 0, (columnId) => _nullishCoalesce(_optionalChain([view, 'access', _673 => _673.find, 'call', _674 => _674((c) => c.id === columnId), 'optionalAccess', _675 => _675.label]), () => ( columnId)), [view]);
|
|
30570
30572
|
const acceptsLifted = _react.useCallback.call(void 0,
|
|
30571
30573
|
(fromColumnId) => (column) => {
|
|
30572
30574
|
if (column.dropDisabled || collapsed[column.id]) return false;
|
|
@@ -30580,7 +30582,7 @@ function DragBoard({
|
|
|
30580
30582
|
const start = initialAim(view, ticketId);
|
|
30581
30583
|
if (!start) return;
|
|
30582
30584
|
setLifted({ ticketId, aim: start });
|
|
30583
|
-
const title = _nullishCoalesce(_optionalChain([laneOf, 'call',
|
|
30585
|
+
const title = _nullishCoalesce(_optionalChain([laneOf, 'call', _676 => _676(view, ticketId), 'optionalAccess', _677 => _677.tickets, 'access', _678 => _678.find, 'call', _679 => _679((t) => t.id === ticketId), 'optionalAccess', _680 => _680.title]), () => ( "Ticket"));
|
|
30584
30586
|
setAnnouncement(`${title} lifted. Use the arrow keys to move it, space to drop it, escape to put it back.`);
|
|
30585
30587
|
},
|
|
30586
30588
|
[view]
|
|
@@ -30605,11 +30607,11 @@ function DragBoard({
|
|
|
30605
30607
|
const walk = _react.useCallback.call(void 0,
|
|
30606
30608
|
(key) => {
|
|
30607
30609
|
if (!lifted) return;
|
|
30608
|
-
const from = _nullishCoalesce(_optionalChain([laneOf, 'call',
|
|
30610
|
+
const from = _nullishCoalesce(_optionalChain([laneOf, 'call', _681 => _681(view, lifted.ticketId), 'optionalAccess', _682 => _682.id]), () => ( lifted.aim.columnId));
|
|
30609
30611
|
const next = moveAim(view, lifted.ticketId, lifted.aim, key, acceptsLifted(from));
|
|
30610
30612
|
if (next === lifted.aim) return;
|
|
30611
30613
|
setLifted({ ...lifted, aim: next });
|
|
30612
|
-
const total = (_nullishCoalesce(_optionalChain([view, 'access',
|
|
30614
|
+
const total = (_nullishCoalesce(_optionalChain([view, 'access', _683 => _683.find, 'call', _684 => _684((c) => c.id === next.columnId), 'optionalAccess', _685 => _685.tickets]), () => ( []))).filter(
|
|
30613
30615
|
(t) => t.id !== lifted.ticketId
|
|
30614
30616
|
).length;
|
|
30615
30617
|
setAnnouncement(`${laneLabel(next.columnId)}, position ${next.index + 1} of ${total + 1}.`);
|
|
@@ -30636,11 +30638,11 @@ function DragBoard({
|
|
|
30636
30638
|
}, [lifted, drop, walk]);
|
|
30637
30639
|
_react.useEffect.call(void 0, () => {
|
|
30638
30640
|
if (!lifted) return;
|
|
30639
|
-
_optionalChain([boardRef, 'access',
|
|
30641
|
+
_optionalChain([boardRef, 'access', _686 => _686.current, 'optionalAccess', _687 => _687.querySelector, 'call', _688 => _688(`[${DROP_LINE_ATTRIBUTE}]`), 'optionalAccess', _689 => _689.scrollIntoView, 'call', _690 => _690({ block: "nearest", inline: "nearest" })]);
|
|
30640
30642
|
}, [lifted]);
|
|
30641
30643
|
const keyboardAim = _react.useMemo.call(void 0, () => {
|
|
30642
30644
|
if (!lifted) return null;
|
|
30643
|
-
const ticket = _optionalChain([laneOf, 'call',
|
|
30645
|
+
const ticket = _optionalChain([laneOf, 'call', _691 => _691(view, lifted.ticketId), 'optionalAccess', _692 => _692.tickets, 'access', _693 => _693.find, 'call', _694 => _694((t) => t.id === lifted.ticketId)]);
|
|
30644
30646
|
if (!ticket) return null;
|
|
30645
30647
|
const anchor = aimToChange(view, lifted.ticketId, lifted.aim) ? aimAnchor(view, lifted.ticketId, lifted.aim) : { ticketId: null, edge: null };
|
|
30646
30648
|
return { columnId: lifted.aim.columnId, ...anchor, ticket };
|
|
@@ -30662,7 +30664,7 @@ function DragBoard({
|
|
|
30662
30664
|
return { columnId: slot.columnId, ...anchor, ticket };
|
|
30663
30665
|
};
|
|
30664
30666
|
const aimAt = (source, targets) => {
|
|
30665
|
-
const next = readAim(source, _optionalChain([targets, 'access',
|
|
30667
|
+
const next = readAim(source, _optionalChain([targets, 'access', _695 => _695[0], 'optionalAccess', _696 => _696.data]));
|
|
30666
30668
|
setAim((prev) => isSameAim(prev, next) ? prev : next);
|
|
30667
30669
|
};
|
|
30668
30670
|
return _combine.combine.call(void 0,
|
|
@@ -30691,7 +30693,7 @@ function DragBoard({
|
|
|
30691
30693
|
setLanding(null);
|
|
30692
30694
|
dragGeometry.current = {
|
|
30693
30695
|
ticket,
|
|
30694
|
-
columnColor: _optionalChain([columnsRef, 'access',
|
|
30696
|
+
columnColor: _optionalChain([columnsRef, 'access', _697 => _697.current, 'access', _698 => _698.find, 'call', _699 => _699((c) => c.id === source.data.columnId), 'optionalAccess', _700 => _700.color]),
|
|
30695
30697
|
width: rect.width,
|
|
30696
30698
|
grabX: clientX - rect.left,
|
|
30697
30699
|
grabY: clientY - rect.top
|
|
@@ -30708,7 +30710,7 @@ function DragBoard({
|
|
|
30708
30710
|
setAim(null);
|
|
30709
30711
|
const change = resolveBoardDrop(columnsRef.current, {
|
|
30710
30712
|
source: source.data,
|
|
30711
|
-
target: _optionalChain([location, 'access',
|
|
30713
|
+
target: _optionalChain([location, 'access', _701 => _701.current, 'access', _702 => _702.dropTargets, 'access', _703 => _703[0], 'optionalAccess', _704 => _704.data])
|
|
30712
30714
|
});
|
|
30713
30715
|
if (!change) return;
|
|
30714
30716
|
setPendingMove({
|
|
@@ -30741,7 +30743,7 @@ function DragBoard({
|
|
|
30741
30743
|
return void 0;
|
|
30742
30744
|
}
|
|
30743
30745
|
const to = card.getBoundingClientRect();
|
|
30744
|
-
const lane = _optionalChain([nearestScrollableAncestor, 'call',
|
|
30746
|
+
const lane = _optionalChain([nearestScrollableAncestor, 'call', _705 => _705(card), 'optionalAccess', _706 => _706.getBoundingClientRect, 'call', _707 => _707()]);
|
|
30745
30747
|
if (lane && (to.top < lane.top || to.bottom > lane.bottom)) {
|
|
30746
30748
|
finish();
|
|
30747
30749
|
return void 0;
|
|
@@ -30800,8 +30802,8 @@ function DragBoard({
|
|
|
30800
30802
|
children: view.map((column, i) => {
|
|
30801
30803
|
const prev = view[i - 1];
|
|
30802
30804
|
const next = view[i + 1];
|
|
30803
|
-
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess',
|
|
30804
|
-
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess',
|
|
30805
|
+
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _708 => _708.system]));
|
|
30806
|
+
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _709 => _709.system]));
|
|
30805
30807
|
const showGap = i > 0 && !joinLeft;
|
|
30806
30808
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
|
|
30807
30809
|
showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
|
|
@@ -30982,13 +30984,13 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
|
|
|
30982
30984
|
const [flipTick, setFlipTick] = _react.useState.call(void 0, 0);
|
|
30983
30985
|
const flipTimer = _react.useRef.call(void 0, null);
|
|
30984
30986
|
const readItems = _react.useCallback.call(void 0,
|
|
30985
|
-
() => [..._nullishCoalesce(_optionalChain([listRef, 'access',
|
|
30987
|
+
() => [..._nullishCoalesce(_optionalChain([listRef, 'access', _710 => _710.current, 'optionalAccess', _711 => _711.querySelectorAll, 'call', _712 => _712(`[${SORTABLE_ITEM_ATTRIBUTE}]`)]), () => ( []))],
|
|
30986
30988
|
[]
|
|
30987
30989
|
);
|
|
30988
30990
|
const reorder = _react.useCallback.call(void 0,
|
|
30989
30991
|
(from, to) => {
|
|
30990
30992
|
if (from === to) return;
|
|
30991
|
-
const label = _nullishCoalesce(_optionalChain([getItemLabelRef, 'access',
|
|
30993
|
+
const label = _nullishCoalesce(_optionalChain([getItemLabelRef, 'access', _713 => _713.current, 'optionalCall', _714 => _714(from)]), () => ( "Item"));
|
|
30992
30994
|
setAnnouncement(`${label} moved to position ${to + 1} of ${readItems().length}.`);
|
|
30993
30995
|
onReorderRef.current(from, to);
|
|
30994
30996
|
},
|
|
@@ -31076,7 +31078,7 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
|
|
|
31076
31078
|
moving.push(item);
|
|
31077
31079
|
}
|
|
31078
31080
|
if (moving.length === 0) return;
|
|
31079
|
-
void _optionalChain([listRef, 'access',
|
|
31081
|
+
void _optionalChain([listRef, 'access', _715 => _715.current, 'optionalAccess', _716 => _716.offsetHeight]);
|
|
31080
31082
|
for (const item of moving) {
|
|
31081
31083
|
item.style.transition = `transform ${DROP_MS2}ms ${EASING}`;
|
|
31082
31084
|
item.style.transform = "";
|
|
@@ -31113,8 +31115,8 @@ function SortableMoveButtons({ index, count, label, className }) {
|
|
|
31113
31115
|
if (to < 0 || to >= count) return;
|
|
31114
31116
|
reorder(index, to);
|
|
31115
31117
|
requestAnimationFrame(() => {
|
|
31116
|
-
if (step === -1 && to === 0) _optionalChain([downRef, 'access',
|
|
31117
|
-
if (step === 1 && to === count - 1) _optionalChain([upRef, 'access',
|
|
31118
|
+
if (step === -1 && to === 0) _optionalChain([downRef, 'access', _717 => _717.current, 'optionalAccess', _718 => _718.focus, 'call', _719 => _719()]);
|
|
31119
|
+
if (step === 1 && to === count - 1) _optionalChain([upRef, 'access', _720 => _720.current, 'optionalAccess', _721 => _721.focus, 'call', _722 => _722()]);
|
|
31118
31120
|
});
|
|
31119
31121
|
};
|
|
31120
31122
|
const subject = _nullishCoalesce(label, () => ( "item"));
|
|
@@ -31162,7 +31164,7 @@ function useSortableItem() {
|
|
|
31162
31164
|
const [handle, setHandle] = _react.useState.call(void 0, null);
|
|
31163
31165
|
const [isDragging, setIsDragging] = _react.useState.call(void 0, false);
|
|
31164
31166
|
const itemRef = _react.useCallback.call(void 0, (node) => {
|
|
31165
|
-
_optionalChain([node, 'optionalAccess',
|
|
31167
|
+
_optionalChain([node, 'optionalAccess', _723 => _723.setAttribute, 'call', _724 => _724(SORTABLE_ITEM_ATTRIBUTE, "")]);
|
|
31166
31168
|
setItem(node);
|
|
31167
31169
|
}, []);
|
|
31168
31170
|
_react.useEffect.call(void 0, () => {
|
|
@@ -31192,7 +31194,7 @@ function useSortableItem() {
|
|
|
31192
31194
|
if (from < 0 || to < 0 || to >= items.length) return;
|
|
31193
31195
|
event.preventDefault();
|
|
31194
31196
|
reorder(from, to);
|
|
31195
|
-
requestAnimationFrame(() => _optionalChain([handle, 'optionalAccess',
|
|
31197
|
+
requestAnimationFrame(() => _optionalChain([handle, 'optionalAccess', _725 => _725.focus, 'call', _726 => _726()]));
|
|
31196
31198
|
},
|
|
31197
31199
|
[inert, readItems, reorder, handle]
|
|
31198
31200
|
);
|
|
@@ -31214,7 +31216,7 @@ function TicketStatusConfigList({
|
|
|
31214
31216
|
onReorder,
|
|
31215
31217
|
getItemLabel,
|
|
31216
31218
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex w-full flex-col gap-[var(--spacing-system-xs)]", className),
|
|
31217
|
-
children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { index, count: items.length, label: _optionalChain([getItemLabel, 'optionalCall',
|
|
31219
|
+
children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { index, count: items.length, label: _optionalChain([getItemLabel, 'optionalCall', _727 => _727(index)]), children: (args) => renderRow(item, args) }, item.id))
|
|
31218
31220
|
}
|
|
31219
31221
|
);
|
|
31220
31222
|
}
|
|
@@ -31889,4 +31891,4 @@ function SortableRow({
|
|
|
31889
31891
|
|
|
31890
31892
|
|
|
31891
31893
|
exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.TruncateText = TruncateText; exports.Autocomplete = Autocomplete; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePickerCalendar = DatePickerCalendar; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.InfoHint = InfoHint; exports.Field = Field; exports.HoneypotField = HoneypotField; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.DeletedUserAvatar = DeletedUserAvatar; exports.SearchableSelect = SearchableSelect; exports.AssigneeDropdown = AssigneeDropdown; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoDataMessage = NoDataMessage; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS = HUBSPOT_DO_NOT_COLLECT_FORM_PROPS; exports.AdminFormModal = AdminFormModal; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.FullscreenSwitchController = FullscreenSwitchController; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.SOCIAL_PLATFORM_ALIASES = SOCIAL_PLATFORM_ALIASES; exports.normalizeSocialPlatform = normalizeSocialPlatform; exports.hostMatches = hostMatches; exports.SOCIAL_PLATFORM_ALT_HOSTS = SOCIAL_PLATFORM_ALT_HOSTS; exports.socialPlatformHosts = socialPlatformHosts; exports.classifySocialHost = classifySocialHost; exports.pickSocialLink = pickSocialLink; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.AppStoreBadge = AppStoreBadge; exports.GooglePlayBadge = GooglePlayBadge; exports.StoreBadgeLinks = StoreBadgeLinks; exports.StatusIndicator = StatusIndicator; exports.BackButton = BackButton; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.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.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.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.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.SOCIAL_ICON_COMPONENTS = SOCIAL_ICON_COMPONENTS; exports.SocialIconRow = SocialIconRow; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.AppLayoutDrawerContainerContext = AppLayoutDrawerContainerContext; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerCoordinationContext = AppLayoutDrawerCoordinationContext; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.TICKET_APPROVAL_REQUEST_TYPE = TICKET_APPROVAL_REQUEST_TYPE; exports.MINGO_APPROVAL_REQUEST_TYPE = MINGO_APPROVAL_REQUEST_TYPE; exports.isApprovalNotificationType = isApprovalNotificationType; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableList = SortableList; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.DataTableEmpty = DataTableEmpty; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DATA_TABLE_HEADER_LABEL_CLASS = DATA_TABLE_HEADER_LABEL_CLASS; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount; exports.IconTile = IconTile;
|
|
31892
|
-
//# sourceMappingURL=chunk-
|
|
31894
|
+
//# sourceMappingURL=chunk-HVEX4BSC.cjs.map
|