@flamingo-stack/openframe-frontend-core 0.0.774 → 0.0.776
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-L5CKY5WA.cjs → chunk-24OYQQZC.cjs} +13 -13
- package/dist/{chunk-LEVA5WO3.cjs → chunk-2AZAJ7RK.cjs} +39 -39
- package/dist/{chunk-U332FL4C.cjs → chunk-2MF547RG.cjs} +22 -22
- package/dist/{chunk-HTSRAQVG.cjs → chunk-2YB4X5WT.cjs} +4 -4
- package/dist/{chunk-SWEPHSIP.cjs → chunk-3V27UHSH.cjs} +4 -4
- package/dist/{chunk-EQBJHJS7.cjs → chunk-6HY2NH7D.cjs} +2 -2
- package/dist/{chunk-5Z3XL2VU.cjs → chunk-AMVI5VXM.cjs} +68 -68
- package/dist/{chunk-E5E7IE7X.cjs → chunk-BDYI6HBT.cjs} +12 -12
- package/dist/{chunk-VISK6LKE.cjs → chunk-DDXQGTWB.cjs} +2 -2
- package/dist/{chunk-IQQ3SLUK.cjs → chunk-F65RSJVV.cjs} +17 -17
- package/dist/{chunk-NX7P2T2U.cjs → chunk-IXZNBDXT.cjs} +11 -11
- package/dist/{chunk-KWZ62LPZ.cjs → chunk-KM2TVQCH.cjs} +98 -98
- package/dist/{chunk-Q7EXOVMT.cjs → chunk-L55XLH5A.cjs} +29 -29
- package/dist/{chunk-TOPGBOCN.cjs → chunk-LNCBN4BL.cjs} +2 -2
- package/dist/{chunk-VWUQVJ2D.cjs → chunk-MWH5ZTMB.cjs} +77 -77
- package/dist/{chunk-Y3EBUFX4.cjs → chunk-MYHS4W2H.cjs} +1 -1
- package/dist/{chunk-BTVO676B.cjs → chunk-NWZSYG4S.cjs} +74 -74
- package/dist/{chunk-TUXPFF4P.cjs → chunk-OJLZ7PGO.cjs} +28 -28
- package/dist/{chunk-TTQHSSHF.cjs → chunk-OTZQP53Y.cjs} +3 -3
- package/dist/{chunk-ZHGOXDA3.cjs → chunk-UM6HFGTI.cjs} +64 -57
- package/dist/{chunk-USMR73ND.cjs → chunk-WAQPW4CB.cjs} +4 -4
- package/dist/{chunk-4JZC624S.cjs → chunk-XN6LXMH5.cjs} +174 -173
- package/dist/{chunk-Q6B2DC65.cjs → chunk-XT5WEHFM.cjs} +3 -3
- package/dist/{chunk-UAKXZ2KD.cjs → chunk-YFTQ2ALU.cjs} +37 -37
- package/dist/{chunk-5AOKXXHV.cjs → chunk-Z5KX56TK.cjs} +4 -4
- package/dist/{cloud-tenants-7RNZ6GHM.cjs → cloud-tenants-QFE6QMR5.cjs} +7 -7
- package/dist/components/authors/author-detail-view.d.ts.map +1 -1
- package/dist/components/authors/author-detail-view.js +12 -2
- package/dist/components/case-studies/index.cjs +23 -23
- package/dist/components/chat/index.cjs +5 -5
- package/dist/components/contact/index.cjs +8 -8
- package/dist/components/docs/index.cjs +11 -11
- package/dist/components/embeds/index.cjs +8 -8
- package/dist/components/faq/index.cjs +9 -9
- package/dist/components/features/index.cjs +7 -7
- package/dist/components/features/use-file-playback.d.ts +6 -4
- package/dist/components/features/use-file-playback.d.ts.map +1 -1
- package/dist/components/features/use-file-playback.js +16 -7
- package/dist/components/help-center-pages/index.cjs +83 -83
- package/dist/components/index.cjs +66 -56
- package/dist/components/meeting-scheduler/index.cjs +37 -37
- package/dist/components/navigation/index.cjs +10 -10
- package/dist/components/onboarding-guides/index.cjs +10 -10
- package/dist/components/product-demo/index.cjs +16 -16
- package/dist/components/related-content/card-registry.d.ts +5 -0
- package/dist/components/related-content/card-registry.d.ts.map +1 -1
- package/dist/components/related-content/card-registry.js +2 -0
- package/dist/components/related-content/index.cjs +5 -5
- package/dist/components/related-content/related-content-section.d.ts.map +1 -1
- package/dist/components/related-content/related-content-section.js +11 -6
- package/dist/components/tickets/index.cjs +13 -13
- package/dist/components/ui/index.cjs +7 -7
- package/dist/components/ui/photo-wall.d.ts +9 -1
- package/dist/components/ui/photo-wall.d.ts.map +1 -1
- package/dist/components/ui/photo-wall.js +8 -7
- package/dist/{devices-NNDBC6IH.cjs → devices-SFJDLXSW.cjs} +8 -8
- package/dist/{embeddable-chat-DI7ZZTBP.cjs → embeddable-chat-XZUWAK4W.cjs} +73 -73
- package/dist/index.cjs +11 -11
- package/dist/{knowledge-DPUMWQED.cjs → knowledge-SAK3ZGCO.cjs} +8 -8
- package/dist/{logs-EE25MWYM.cjs → logs-CYBGMFA5.cjs} +15 -15
- package/dist/{policies-H5LPZWEM.cjs → policies-XXDOICWF.cjs} +11 -11
- package/dist/{scripts-YGO4LOES.cjs → scripts-C5T2AQPA.cjs} +12 -12
- package/dist/{software-update-5BEB62ZH.cjs → software-update-XU5AI4TP.cjs} +10 -10
- package/dist/{video-file-player-4TXA7BZF.cjs → video-file-player-6ZFOZFER.cjs} +16 -7
- package/package.json +1 -1
- package/src/components/authors/author-detail-view.tsx +10 -2
- package/src/components/features/use-file-playback.ts +33 -14
- package/src/components/related-content/card-registry.tsx +7 -0
- package/src/components/related-content/related-content-section.tsx +12 -2
- package/src/components/ui/photo-wall.tsx +19 -8
|
@@ -64,7 +64,7 @@ var _chunk2JRSYWFPcjs = require('./chunk-2JRSYWFP.cjs');
|
|
|
64
64
|
var _chunkA6P6DHEZcjs = require('./chunk-A6P6DHEZ.cjs');
|
|
65
65
|
|
|
66
66
|
|
|
67
|
-
var
|
|
67
|
+
var _chunkLNCBN4BLcjs = require('./chunk-LNCBN4BL.cjs');
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
|
|
@@ -116,7 +116,7 @@ var _chunkC42WIUH6cjs = require('./chunk-C42WIUH6.cjs');
|
|
|
116
116
|
|
|
117
117
|
|
|
118
118
|
|
|
119
|
-
var
|
|
119
|
+
var _chunkNWZSYG4Scjs = require('./chunk-NWZSYG4S.cjs');
|
|
120
120
|
|
|
121
121
|
|
|
122
122
|
|
|
@@ -139,7 +139,7 @@ var _chunkBTVO676Bcjs = require('./chunk-BTVO676B.cjs');
|
|
|
139
139
|
|
|
140
140
|
|
|
141
141
|
|
|
142
|
-
var
|
|
142
|
+
var _chunkKM2TVQCHcjs = require('./chunk-KM2TVQCH.cjs');
|
|
143
143
|
|
|
144
144
|
|
|
145
145
|
|
|
@@ -503,7 +503,7 @@ var _chunkSKI6NKOEcjs = require('./chunk-SKI6NKOE.cjs');
|
|
|
503
503
|
|
|
504
504
|
|
|
505
505
|
|
|
506
|
-
var
|
|
506
|
+
var _chunkMYHS4W2Hcjs = require('./chunk-MYHS4W2H.cjs');
|
|
507
507
|
|
|
508
508
|
|
|
509
509
|
|
|
@@ -695,7 +695,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
695
695
|
var useTheme = _nextthemes.useTheme;
|
|
696
696
|
function useThemeToggle() {
|
|
697
697
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
698
|
-
const mounted =
|
|
698
|
+
const mounted = _chunkKM2TVQCHcjs.useIsHydrated.call(void 0, );
|
|
699
699
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
700
700
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
701
701
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -4525,7 +4525,7 @@ function AdminFormDrawer({
|
|
|
4525
4525
|
"form",
|
|
4526
4526
|
{
|
|
4527
4527
|
id: formId,
|
|
4528
|
-
...
|
|
4528
|
+
..._chunkNWZSYG4Scjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
|
|
4529
4529
|
className: "flex flex-col gap-[var(--spacing-system-lf)]",
|
|
4530
4530
|
onSubmit: (e) => {
|
|
4531
4531
|
e.preventDefault();
|
|
@@ -4632,7 +4632,7 @@ function AdminFormModal({
|
|
|
4632
4632
|
"form",
|
|
4633
4633
|
{
|
|
4634
4634
|
id: formId,
|
|
4635
|
-
...
|
|
4635
|
+
..._chunkNWZSYG4Scjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
|
|
4636
4636
|
className: "flex min-h-0 flex-1 flex-col",
|
|
4637
4637
|
onSubmit: (e) => {
|
|
4638
4638
|
e.preventDefault();
|
|
@@ -6028,7 +6028,7 @@ function EmbedViewerFrame({
|
|
|
6028
6028
|
const controllerRef = _react.useRef.call(void 0, null);
|
|
6029
6029
|
_react.useEffect.call(void 0, () => {
|
|
6030
6030
|
if (!fullscreenControl) return void 0;
|
|
6031
|
-
const controller = new (0,
|
|
6031
|
+
const controller = new (0, _chunkNWZSYG4Scjs.FullscreenSwitchController)({
|
|
6032
6032
|
target: () => frameRef.current,
|
|
6033
6033
|
onFullscreenChange: setIsFullscreen
|
|
6034
6034
|
});
|
|
@@ -7072,7 +7072,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
|
|
|
7072
7072
|
};
|
|
7073
7073
|
const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
|
|
7074
7074
|
const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7075
|
-
|
|
7075
|
+
_chunkMYHS4W2Hcjs.Video,
|
|
7076
7076
|
{
|
|
7077
7077
|
url: item.src,
|
|
7078
7078
|
poster: item.poster ? displayImageSrc(item.poster) : void 0,
|
|
@@ -7267,7 +7267,7 @@ var formatTimeAgo = (timestamp) => {
|
|
|
7267
7267
|
return `${Math.floor(diffSeconds / 86400)}d ago`;
|
|
7268
7268
|
};
|
|
7269
7269
|
function RedditEmbedClient({ url, maxWidth = 700, rel }) {
|
|
7270
|
-
const postLinkRel =
|
|
7270
|
+
const postLinkRel = _chunkKM2TVQCHcjs.renderedLinkRel.call(void 0, rel, true);
|
|
7271
7271
|
const { redditProxyUrl } = useRichMarkdownRuntime();
|
|
7272
7272
|
const [redditData, setRedditData] = _react.useState.call(void 0, null);
|
|
7273
7273
|
const [loading, setLoading] = _react.useState.call(void 0, true);
|
|
@@ -7599,7 +7599,7 @@ var UserIcon3 = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { wid
|
|
|
7599
7599
|
] });
|
|
7600
7600
|
var XIcon = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2TEMEXDTcjs.XLogoIcon, { className: "h-5 w-5", color: "currentColor" });
|
|
7601
7601
|
function TwitterEmbedClient({ url, tweetId, maxWidth = 700, rel }) {
|
|
7602
|
-
const postLinkRel =
|
|
7602
|
+
const postLinkRel = _chunkKM2TVQCHcjs.renderedLinkRel.call(void 0, rel, true);
|
|
7603
7603
|
const { twitterProxyUrl } = useRichMarkdownRuntime();
|
|
7604
7604
|
const [tweetData, setTweetData] = _react.useState.call(void 0, null);
|
|
7605
7605
|
const [fetchLoading, setLoading] = _react.useState.call(void 0, true);
|
|
@@ -7801,7 +7801,7 @@ function buildRichEmbedOverrides({
|
|
|
7801
7801
|
ogEndpointPath,
|
|
7802
7802
|
textSizes
|
|
7803
7803
|
}) {
|
|
7804
|
-
const standard =
|
|
7804
|
+
const standard = _chunkKM2TVQCHcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7805
7805
|
return {
|
|
7806
7806
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7807
7807
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7811,7 +7811,7 @@ function buildRichEmbedOverrides({
|
|
|
7811
7811
|
const language = match ? match[1] : "";
|
|
7812
7812
|
const fenceText = () => String(children).replace(/\n$/, "").trim();
|
|
7813
7813
|
if (language === "youtube-embed") {
|
|
7814
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7814
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.Video, { kind: "youtube", url: fenceText() });
|
|
7815
7815
|
}
|
|
7816
7816
|
if (language === "reddit-embed") {
|
|
7817
7817
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
|
|
@@ -7852,7 +7852,7 @@ function buildRichEmbedOverrides({
|
|
|
7852
7852
|
"data-figma-url": figmaUrl
|
|
7853
7853
|
} = divProps;
|
|
7854
7854
|
if (className === "youtube-embed" && videoId) {
|
|
7855
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7855
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.Video, { kind: "youtube", url: videoId });
|
|
7856
7856
|
}
|
|
7857
7857
|
if (className === "reddit-embed" && postUrl) {
|
|
7858
7858
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
|
|
@@ -7937,23 +7937,23 @@ function buildRichEmbedOverrides({
|
|
|
7937
7937
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7938
7938
|
// elsewhere). Guard against empty `![]()`.
|
|
7939
7939
|
img: ({ src, alt }) => {
|
|
7940
|
-
if (!
|
|
7940
|
+
if (!_chunkKM2TVQCHcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7941
7941
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7942
7942
|
},
|
|
7943
7943
|
// Raw <iframe> tags in stored content (a pasted YouTube embed). A YouTube one becomes the same click-to-play
|
|
7944
7944
|
// facade as the `youtube-embed` fence: the raw iframe loaded YouTube's whole player (about 470 KB of script) with
|
|
7945
7945
|
// the page, on every post that carried one (CU-17tkuw5xp4q). Any other iframe loads when it nears the screen.
|
|
7946
7946
|
iframe: ({ node: _node, src, ...rest }) => {
|
|
7947
|
-
if (!
|
|
7947
|
+
if (!_chunkKM2TVQCHcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7948
7948
|
const url = src.trim();
|
|
7949
|
-
if (
|
|
7949
|
+
if (_chunkMYHS4W2Hcjs.extractYouTubeId.call(void 0, url)) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.Video, { kind: "youtube", url });
|
|
7950
7950
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "iframe", { ...rest, src: url, loading: "lazy" });
|
|
7951
7951
|
},
|
|
7952
7952
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
7953
7953
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
7954
7954
|
video: ({ src, poster, className }) => {
|
|
7955
|
-
if (!
|
|
7956
|
-
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,
|
|
7955
|
+
if (!_chunkKM2TVQCHcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7956
|
+
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, _chunkMYHS4W2Hcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
7957
7957
|
}
|
|
7958
7958
|
};
|
|
7959
7959
|
}
|
|
@@ -8061,7 +8061,7 @@ var processShortcodes = (content) => {
|
|
|
8061
8061
|
try {
|
|
8062
8062
|
const urlObj = new URL(url);
|
|
8063
8063
|
const hostname = urlObj.hostname.toLowerCase();
|
|
8064
|
-
const hostIs = (domain) =>
|
|
8064
|
+
const hostIs = (domain) => _chunkNWZSYG4Scjs.hostMatches.call(void 0, hostname, domain);
|
|
8065
8065
|
const isYouTubeVideo = hostIs("youtube.com") && urlObj.searchParams.has("v") || hostIs("youtu.be");
|
|
8066
8066
|
if (isYouTubeVideo || hostIs("reddit.com") || hostIs("twitter.com") || hostIs("x.com") || hostIs("figma.com")) {
|
|
8067
8067
|
return match;
|
|
@@ -8138,13 +8138,13 @@ var RichMarkdownInner = ({
|
|
|
8138
8138
|
},
|
|
8139
8139
|
[resolveLinkEndpointUrl, resolveSource]
|
|
8140
8140
|
);
|
|
8141
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
8141
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunkKM2TVQCHcjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
8142
8142
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
8143
8143
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
8144
8144
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
8145
8145
|
);
|
|
8146
8146
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8147
|
-
|
|
8147
|
+
_chunkKM2TVQCHcjs.MarkdownEngine,
|
|
8148
8148
|
{
|
|
8149
8149
|
content,
|
|
8150
8150
|
className,
|
|
@@ -8168,7 +8168,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
8168
8168
|
className = "",
|
|
8169
8169
|
sectionIds,
|
|
8170
8170
|
onInternalLinkClick,
|
|
8171
|
-
brokenLinks =
|
|
8171
|
+
brokenLinks = _chunkKM2TVQCHcjs.NO_BROKEN_LINKS,
|
|
8172
8172
|
currentPath,
|
|
8173
8173
|
resolveSource = "openframe-docs",
|
|
8174
8174
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -8213,7 +8213,7 @@ function RichMarkdownRendererSkeleton({
|
|
|
8213
8213
|
title,
|
|
8214
8214
|
className
|
|
8215
8215
|
}) {
|
|
8216
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8216
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKM2TVQCHcjs.MarkdownEngineSkeleton, { sections, title, textSize: "article", className });
|
|
8217
8217
|
}
|
|
8218
8218
|
|
|
8219
8219
|
// src/components/ui/release-changelog-section.tsx
|
|
@@ -9298,7 +9298,7 @@ function FilterModal({
|
|
|
9298
9298
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _147 => _147.defaultSort]), () => ( "desc"));
|
|
9299
9299
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _148 => _148.sort]), () => ( dateDefaultSort)));
|
|
9300
9300
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _149 => _149.range]));
|
|
9301
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
9301
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkKM2TVQCHcjs.useScrollFade.call(void 0, );
|
|
9302
9302
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
9303
9303
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
9304
9304
|
_react.useEffect.call(void 0, () => {
|
|
@@ -9444,8 +9444,8 @@ function FilterModal({
|
|
|
9444
9444
|
] })
|
|
9445
9445
|
}
|
|
9446
9446
|
),
|
|
9447
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9448
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9447
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKM2TVQCHcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
9448
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKM2TVQCHcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
9449
9449
|
] })
|
|
9450
9450
|
}
|
|
9451
9451
|
),
|
|
@@ -9513,7 +9513,7 @@ function renderAdvancedPageContainer({
|
|
|
9513
9513
|
contentClassName,
|
|
9514
9514
|
showHeader = true
|
|
9515
9515
|
}, inScope = false) {
|
|
9516
|
-
const titleNode = title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3W56L2Dcjs.PageTitle, { className: PAGE_CONTAINER_TITLE_CLASS, children:
|
|
9516
|
+
const titleNode = title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3W56L2Dcjs.PageTitle, { className: PAGE_CONTAINER_TITLE_CLASS, children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }) : inScope && title === "" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageContainerTitleSkeleton, {}) : null;
|
|
9517
9517
|
const subtitleNode = subtitle ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: PAGE_CONTAINER_SUBTITLE_CLASS, children: subtitle }) : inScope && subtitle === "" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageContainerSubtitleSkeleton, {}) : null;
|
|
9518
9518
|
const getActionsVariant = () => {
|
|
9519
9519
|
if (actionsVariant) return actionsVariant;
|
|
@@ -9939,7 +9939,7 @@ var BenefitCardGrid = ({ children, className = "", columns = 2 }) => {
|
|
|
9939
9939
|
|
|
9940
9940
|
|
|
9941
9941
|
function PlatformBrowseButton({ item }) {
|
|
9942
|
-
const linkProps =
|
|
9942
|
+
const linkProps = _chunkKM2TVQCHcjs.useNavLinkViaRuntime.call(void 0, { href: item.link, targetPlatform: item.targetPlatform });
|
|
9943
9943
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTF5D5MNOcjs.Button, { variant: "outline", linkProps, rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-4 w-4" }), children: [
|
|
9944
9944
|
"Browse ",
|
|
9945
9945
|
item.buttonText
|
|
@@ -10436,10 +10436,10 @@ var OSTypeBadge = ({
|
|
|
10436
10436
|
if (!osType) {
|
|
10437
10437
|
return labelOnly ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, "text-ods-text-secondary", className), children: "Unknown" }) : null;
|
|
10438
10438
|
}
|
|
10439
|
-
const normalized =
|
|
10439
|
+
const normalized = _chunkNWZSYG4Scjs.normalizeOSType.call(void 0, osType);
|
|
10440
10440
|
if (!normalized && !labelOnly) return null;
|
|
10441
|
-
const label =
|
|
10442
|
-
const IconComponent =
|
|
10441
|
+
const label = _chunkNWZSYG4Scjs.getOSLabel.call(void 0, osType);
|
|
10442
|
+
const IconComponent = _chunkNWZSYG4Scjs.getOSIcon.call(void 0, osType);
|
|
10443
10443
|
if (iconOnly && IconComponent) {
|
|
10444
10444
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: _chunk65VVJSQZcjs.cn.call(void 0, iconSize, "text-ods-text-secondary", className) });
|
|
10445
10445
|
}
|
|
@@ -10724,7 +10724,7 @@ function ComplianceLogo({
|
|
|
10724
10724
|
fallback = null,
|
|
10725
10725
|
className
|
|
10726
10726
|
}) {
|
|
10727
|
-
const standard =
|
|
10727
|
+
const standard = _chunkNWZSYG4Scjs.complianceStandardForName.call(void 0, ...names);
|
|
10728
10728
|
if (!standard) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: fallback });
|
|
10729
10729
|
const Official = standard.logo ? COMPLIANCE_LOGOS[standard.logo] : null;
|
|
10730
10730
|
return Official ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -10803,7 +10803,7 @@ function FeatureCardGridView({
|
|
|
10803
10803
|
if (allCardsHaveNoBorders) {
|
|
10804
10804
|
finalCardClassName = "bg-transparent p-0 overflow-visible border-0 shadow-none rounded-none";
|
|
10805
10805
|
}
|
|
10806
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10806
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
|
|
10807
10807
|
const startIndex = rowIndex * itemsPerRow;
|
|
10808
10808
|
const rowItems = items.slice(startIndex, startIndex + itemsPerRow);
|
|
10809
10809
|
const isLastRow = rowIndex === rows - 1;
|
|
@@ -10837,7 +10837,7 @@ function FeatureCardGridView({
|
|
|
10837
10837
|
item.icon && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between", children: [
|
|
10838
10838
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, item.icon, { size: 80, color: item.iconColor }),
|
|
10839
10839
|
item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10840
|
-
|
|
10840
|
+
_chunkMYHS4W2Hcjs.StatusBadge,
|
|
10841
10841
|
{
|
|
10842
10842
|
text: item.badge.text,
|
|
10843
10843
|
variant: item.badge.variant || "card",
|
|
@@ -10846,7 +10846,7 @@ function FeatureCardGridView({
|
|
|
10846
10846
|
)
|
|
10847
10847
|
] }),
|
|
10848
10848
|
!item.icon && item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-start justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10849
|
-
|
|
10849
|
+
_chunkMYHS4W2Hcjs.StatusBadge,
|
|
10850
10850
|
{
|
|
10851
10851
|
text: item.badge.text,
|
|
10852
10852
|
variant: item.badge.variant || "card",
|
|
@@ -12509,7 +12509,7 @@ function TableHeader({
|
|
|
12509
12509
|
onFilterChange
|
|
12510
12510
|
}
|
|
12511
12511
|
),
|
|
12512
|
-
column.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12512
|
+
column.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNWZSYG4Scjs.InfoHint, { label: column.label, children: column.hint }) : null
|
|
12513
12513
|
] })
|
|
12514
12514
|
) : (
|
|
12515
12515
|
/* Non-filterable column — regular label with optional sort */
|
|
@@ -12535,7 +12535,7 @@ function TableHeader({
|
|
|
12535
12535
|
hint exists, so a hint-less header keeps its DOM. */
|
|
12536
12536
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
12537
12537
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TABLE_HEADER_LABEL_CLASS, children: column.label }),
|
|
12538
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12538
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNWZSYG4Scjs.InfoHint, { label: column.label, children: column.hint })
|
|
12539
12539
|
] })
|
|
12540
12540
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TABLE_HEADER_LABEL_CLASS, children: column.label }),
|
|
12541
12541
|
getSortIcon(column)
|
|
@@ -12645,7 +12645,7 @@ function TableRow({
|
|
|
12645
12645
|
const Row = animate && motionDiv ? motionDiv : "div";
|
|
12646
12646
|
const motionProps = animate ? { layout: "position", transition: { layout: { duration: 0.35, ease: [0.22, 1, 0.36, 1] } } } : {};
|
|
12647
12647
|
const handleRowClick = (e) => {
|
|
12648
|
-
if (!
|
|
12648
|
+
if (!_chunkNWZSYG4Scjs.isOwnClick.call(void 0, e.target, e.currentTarget)) return;
|
|
12649
12649
|
if (onClick) {
|
|
12650
12650
|
onClick(item);
|
|
12651
12651
|
}
|
|
@@ -13042,7 +13042,7 @@ function Table({
|
|
|
13042
13042
|
}
|
|
13043
13043
|
),
|
|
13044
13044
|
!infiniteScroll && pagePagination && !cursorPagination && data.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "mt-2 border-t border-ods-border pt-3", paginationClassName), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13045
|
-
|
|
13045
|
+
_chunkLNCBN4BLcjs.Pagination,
|
|
13046
13046
|
{
|
|
13047
13047
|
currentPage: pagePagination.currentPage,
|
|
13048
13048
|
totalPages: pagePagination.totalPages,
|
|
@@ -13424,7 +13424,7 @@ function DataTableRowImpl({
|
|
|
13424
13424
|
const containerRef = _react.useRef.call(void 0, null);
|
|
13425
13425
|
const handleClick = _react.useCallback.call(void 0,
|
|
13426
13426
|
(e) => {
|
|
13427
|
-
if (!
|
|
13427
|
+
if (!_chunkNWZSYG4Scjs.isOwnClick.call(void 0, e.target, containerRef.current)) {
|
|
13428
13428
|
if (isLinkMode) e.preventDefault();
|
|
13429
13429
|
return;
|
|
13430
13430
|
}
|
|
@@ -13875,7 +13875,7 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
13875
13875
|
// child of the cell.
|
|
13876
13876
|
_optionalChain([meta, 'optionalAccess', _241 => _241.hint]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
13877
13877
|
filterTrigger,
|
|
13878
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13878
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNWZSYG4Scjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
|
|
13879
13879
|
] }) : filterTrigger
|
|
13880
13880
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13881
13881
|
"div",
|
|
@@ -13900,7 +13900,7 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
13900
13900
|
// centred on the row.
|
|
13901
13901
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
13902
13902
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
13903
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13903
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNWZSYG4Scjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
|
|
13904
13904
|
] })
|
|
13905
13905
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
13906
13906
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -14134,7 +14134,7 @@ function PhoneInput({
|
|
|
14134
14134
|
placeholder = "Phone Number (optional)",
|
|
14135
14135
|
onKeyDown
|
|
14136
14136
|
}) {
|
|
14137
|
-
const { priority, others } = _react.useMemo.call(void 0, () =>
|
|
14137
|
+
const { priority, others } = _react.useMemo.call(void 0, () => _chunkNWZSYG4Scjs.getCountryPhoneData.call(void 0, ), []);
|
|
14138
14138
|
const selectedCountry = _react.useMemo.call(void 0,
|
|
14139
14139
|
() => [...priority, ...others].find((c) => c.code === countryCode),
|
|
14140
14140
|
[countryCode, priority, others]
|
|
@@ -14149,7 +14149,7 @@ function PhoneInput({
|
|
|
14149
14149
|
_optionalChain([onValidationChange, 'optionalCall', _254 => _254(false)]);
|
|
14150
14150
|
return;
|
|
14151
14151
|
}
|
|
14152
|
-
const invalid = !
|
|
14152
|
+
const invalid = !_chunkNWZSYG4Scjs.validatePhoneNumber.call(void 0, phone, countryCode);
|
|
14153
14153
|
setIsInvalid(invalid);
|
|
14154
14154
|
_optionalChain([onValidationChange, 'optionalCall', _255 => _255(invalid)]);
|
|
14155
14155
|
},
|
|
@@ -15015,7 +15015,7 @@ function MarkdownLinkDialog({ isOpen, initial, editing, onSubmit, onRemove, onCl
|
|
|
15015
15015
|
),
|
|
15016
15016
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xsf)]", children: [
|
|
15017
15017
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15018
|
-
|
|
15018
|
+
_chunkKM2TVQCHcjs.TabSelector,
|
|
15019
15019
|
{
|
|
15020
15020
|
label: "Search engines",
|
|
15021
15021
|
value: choice,
|
|
@@ -15072,7 +15072,7 @@ function useMarkdownLinkCommand() {
|
|
|
15072
15072
|
buttonProps: { "aria-label": "Add or edit a link (ctrl + l)", title: "Add or edit a link (ctrl + l)" },
|
|
15073
15073
|
icon: command.icon,
|
|
15074
15074
|
execute: (state, api) => {
|
|
15075
|
-
const existing =
|
|
15075
|
+
const existing = _chunkKM2TVQCHcjs.findMarkdownLinkAt.call(void 0, state.text, state.selection.start, state.selection.end);
|
|
15076
15076
|
setPending(
|
|
15077
15077
|
existing ? {
|
|
15078
15078
|
api,
|
|
@@ -15103,7 +15103,7 @@ function useMarkdownLinkCommand() {
|
|
|
15103
15103
|
initial: _nullishCoalesce(_optionalChain([pending, 'optionalAccess', _312 => _312.initial]), () => ( EMPTY_LINK)),
|
|
15104
15104
|
editing: _nullishCoalesce(_optionalChain([pending, 'optionalAccess', _313 => _313.editing]), () => ( false)),
|
|
15105
15105
|
onSubmit: (link) => {
|
|
15106
|
-
if (pending) write(pending,
|
|
15106
|
+
if (pending) write(pending, _chunkKM2TVQCHcjs.formatMarkdownLink.call(void 0, link));
|
|
15107
15107
|
},
|
|
15108
15108
|
onRemove: () => {
|
|
15109
15109
|
if (pending) write(pending, pending.initial.text);
|
|
@@ -15269,7 +15269,7 @@ function MarkdownEditor({
|
|
|
15269
15269
|
setUploadProgress(`Uploading ${file.name}...`);
|
|
15270
15270
|
try {
|
|
15271
15271
|
const url = await onUploadFile(file);
|
|
15272
|
-
const isImage =
|
|
15272
|
+
const isImage = _chunkMYHS4W2Hcjs.fileMediaType.call(void 0, file) === "image";
|
|
15273
15273
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
15274
15274
|
insertTextAtCursor(markdown);
|
|
15275
15275
|
_optionalChain([onFileUploaded, 'optionalCall', _316 => _316(url, file.name)]);
|
|
@@ -15399,7 +15399,7 @@ function MarkdownEditor({
|
|
|
15399
15399
|
type: "file",
|
|
15400
15400
|
className: "hidden",
|
|
15401
15401
|
onChange: handleFileInputChange,
|
|
15402
|
-
accept: `${
|
|
15402
|
+
accept: `${_chunkMYHS4W2Hcjs.IMAGE_FILE_ACCEPT},.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.zip,.txt`
|
|
15403
15403
|
}
|
|
15404
15404
|
),
|
|
15405
15405
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownEditorHeightContext.Provider, { value: height, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Suspense, { fallback: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownEditorFieldSkeleton, { height }), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -15800,7 +15800,7 @@ function matchesAccept2(file, accept) {
|
|
|
15800
15800
|
return patterns.some((pattern) => {
|
|
15801
15801
|
if (pattern.startsWith(".")) return fileName.endsWith(pattern);
|
|
15802
15802
|
if (pattern.endsWith("/*"))
|
|
15803
|
-
return fileType.startsWith(pattern.slice(0, -1)) ||
|
|
15803
|
+
return fileType.startsWith(pattern.slice(0, -1)) || _chunkMYHS4W2Hcjs.fileMediaType.call(void 0, file) === pattern.slice(0, -2);
|
|
15804
15804
|
return fileType === pattern;
|
|
15805
15805
|
});
|
|
15806
15806
|
}
|
|
@@ -15808,7 +15808,7 @@ function ImageUploader({
|
|
|
15808
15808
|
value,
|
|
15809
15809
|
onChange,
|
|
15810
15810
|
onRemove,
|
|
15811
|
-
accept =
|
|
15811
|
+
accept = _chunkMYHS4W2Hcjs.IMAGE_FILE_ACCEPT,
|
|
15812
15812
|
maxSize = DEFAULT_MAX_SIZE,
|
|
15813
15813
|
label = "Cover Image",
|
|
15814
15814
|
description = "(Click Here or Drag and Drop)",
|
|
@@ -16428,7 +16428,7 @@ var SKELETON_COLUMNS = 6;
|
|
|
16428
16428
|
function TestResultsSkeleton({
|
|
16429
16429
|
region = true
|
|
16430
16430
|
} = {}) {
|
|
16431
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWEANWBJHcjs.LoadingRegion, { label: "Loading the test results", announce: region, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16431
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWEANWBJHcjs.LoadingRegion, { label: "Loading the test results", announce: region, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKM2TVQCHcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
16432
16432
|
/* @__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, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-4 w-3/4 rounded-sm" }) }, `skeleton-header-${i}`)) }),
|
|
16433
16433
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "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)] content-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, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-5 w-3/4 rounded-sm" }) }, `skeleton-cell-${i}`)) }) })
|
|
16434
16434
|
] }) }) });
|
|
@@ -16463,7 +16463,7 @@ function TestResultsTable({ rows, loading }) {
|
|
|
16463
16463
|
if (loading) {
|
|
16464
16464
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
16465
16465
|
}
|
|
16466
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16466
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKM2TVQCHcjs.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: [
|
|
16467
16467
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
16468
16468
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
16469
16469
|
] }) }) });
|
|
@@ -16946,7 +16946,7 @@ function TicketInfoSection({
|
|
|
16946
16946
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16947
16947
|
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" }) }),
|
|
16948
16948
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
|
|
16949
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16949
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKM2TVQCHcjs.SimpleMarkdownRenderer, { content: description }),
|
|
16950
16950
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
16951
16951
|
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, _chunkHY6BCZH7cjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
|
|
16952
16952
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17356,7 +17356,8 @@ function PhotoWall({
|
|
|
17356
17356
|
speed = 24,
|
|
17357
17357
|
fadeColor,
|
|
17358
17358
|
className,
|
|
17359
|
-
loading: loadingProp = false
|
|
17359
|
+
loading: loadingProp = false,
|
|
17360
|
+
sizes
|
|
17360
17361
|
}) {
|
|
17361
17362
|
const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
17362
17363
|
const loading = loadingProp || inScope;
|
|
@@ -17379,13 +17380,14 @@ function PhotoWall({
|
|
|
17379
17380
|
(box.width - COLUMN_GAP_PX * (columnCount - 1)) / columnCount,
|
|
17380
17381
|
typeof window === "undefined" ? 1 : window.devicePixelRatio || 1
|
|
17381
17382
|
) : void 0;
|
|
17383
|
+
const sizedUpFront = !!sizes && images.length > 0 && images.every((image) => image.width && image.height);
|
|
17382
17384
|
const unique = _react.useMemo.call(void 0, () => {
|
|
17383
|
-
if (requestWidth === void 0
|
|
17385
|
+
if (inScope || !sizedUpFront && requestWidth === void 0) return [];
|
|
17384
17386
|
const byUrl = /* @__PURE__ */ new Map();
|
|
17385
17387
|
for (const image of images) if (!byUrl.has(image.url)) byUrl.set(image.url, image);
|
|
17386
17388
|
return Array.from(byUrl.values());
|
|
17387
|
-
}, [images, requestWidth, inScope]);
|
|
17388
|
-
const drawnWidth = _nullishCoalesce(requestWidth, () => ( void 0));
|
|
17389
|
+
}, [images, requestWidth, inScope, sizedUpFront]);
|
|
17390
|
+
const drawnWidth = sizedUpFront ? void 0 : _nullishCoalesce(requestWidth, () => ( void 0));
|
|
17389
17391
|
const drawnUrl = _react.useCallback.call(void 0, (url) => drawnWidth ? _chunkE76ONBKFcjs.resizedImageUrl.call(void 0, url, drawnWidth) : url, [drawnWidth]);
|
|
17390
17392
|
const known = _react.useMemo.call(void 0, () => {
|
|
17391
17393
|
const byUrl = /* @__PURE__ */ new Map();
|
|
@@ -17423,13 +17425,13 @@ function PhotoWall({
|
|
|
17423
17425
|
});
|
|
17424
17426
|
}, [orientations, unique, drawnUrl, columns, box]);
|
|
17425
17427
|
if (images.length === 0 && !loading) return null;
|
|
17426
|
-
const columnsToDraw = loading || requestWidth === void 0 ? null : layout;
|
|
17428
|
+
const columnsToDraw = loading || !sizedUpFront && requestWidth === void 0 ? null : layout;
|
|
17427
17429
|
const gridStyle = {
|
|
17428
17430
|
gridTemplateColumns: `repeat(${_optionalChain([columnsToDraw, 'optionalAccess', _365 => _365.length]) || columns}, minmax(0, 1fr))`,
|
|
17429
17431
|
gap: COLUMN_GAP_PX
|
|
17430
17432
|
};
|
|
17431
17433
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootRef, "aria-hidden": "true", className: _chunk65VVJSQZcjs.cn.call(void 0, "grid overflow-hidden", className), style: gridStyle, children: columnsToDraw ? columnsToDraw.map((column, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17432
|
-
|
|
17434
|
+
_chunkKM2TVQCHcjs.MarqueeWall,
|
|
17433
17435
|
{
|
|
17434
17436
|
axis: "y",
|
|
17435
17437
|
reverse: index % 2 === 1,
|
|
@@ -17453,8 +17455,7 @@ function PhotoWall({
|
|
|
17453
17455
|
alt: _nullishCoalesce(photo.alt, () => ( "")),
|
|
17454
17456
|
fill: true,
|
|
17455
17457
|
className: "object-cover",
|
|
17456
|
-
optimizedWidth: drawnWidth,
|
|
17457
|
-
unoptimized: true,
|
|
17458
|
+
...sizedUpFront ? { sizes } : { optimizedWidth: drawnWidth, unoptimized: true },
|
|
17458
17459
|
loading: i < EAGER_PHOTOS_PER_COLUMN ? "eager" : "lazy",
|
|
17459
17460
|
fetchPriority: index === 0 && i === 0 ? "high" : void 0
|
|
17460
17461
|
}
|
|
@@ -17976,7 +17977,7 @@ var TRIAL_TERM_ICONS = {
|
|
|
17976
17977
|
};
|
|
17977
17978
|
var DEFAULT_TRIAL_TERMS = ["cancel", "length", "noContract"];
|
|
17978
17979
|
function trialBenefits(trialDays, terms = DEFAULT_TRIAL_TERMS) {
|
|
17979
|
-
const labels =
|
|
17980
|
+
const labels = _chunkNWZSYG4Scjs.trialLabels.call(void 0, trialDays);
|
|
17980
17981
|
return terms.flatMap((term) => {
|
|
17981
17982
|
const label = labels[term];
|
|
17982
17983
|
return label ? [{ icon: TRIAL_TERM_ICONS[term], label }] : [];
|
|
@@ -18875,7 +18876,7 @@ function SsoProviderButtons({
|
|
|
18875
18876
|
// where a long organization name would otherwise push the label out of a phone-width
|
|
18876
18877
|
// button. `block` over its inline-flex, because an ellipsis only renders on a block box.
|
|
18877
18878
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18878
|
-
|
|
18879
|
+
_chunkMYHS4W2Hcjs.StatusBadge,
|
|
18879
18880
|
{
|
|
18880
18881
|
text: tag,
|
|
18881
18882
|
variant: "button",
|
|
@@ -18934,7 +18935,7 @@ function CompleteAccountForm({
|
|
|
18934
18935
|
),
|
|
18935
18936
|
children: [
|
|
18936
18937
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
18937
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
18938
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }),
|
|
18938
18939
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
18939
18940
|
] }),
|
|
18940
18941
|
ssoProviders && ssoProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -19082,7 +19083,7 @@ function CreateOrganizationForm({
|
|
|
19082
19083
|
),
|
|
19083
19084
|
children: [
|
|
19084
19085
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
19085
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19086
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }),
|
|
19086
19087
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19087
19088
|
] }),
|
|
19088
19089
|
email === void 0 ? null : emailReadOnly ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYXDHVHB2cjs.Input, { type: "email", label: emailReadOnlyLabel, value: email, readOnly: true, disabled: true }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19223,7 +19224,7 @@ function InviteLinkInvalidModal({
|
|
|
19223
19224
|
),
|
|
19224
19225
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full max-w-[600px] flex-col gap-[var(--spacing-system-l)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-xl)]", children: [
|
|
19225
19226
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-mf)]", children: [
|
|
19226
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "flex-1 tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19227
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "flex-1 tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }),
|
|
19227
19228
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19228
19229
|
"button",
|
|
19229
19230
|
{
|
|
@@ -19304,7 +19305,7 @@ function LoginForm({
|
|
|
19304
19305
|
),
|
|
19305
19306
|
children: [
|
|
19306
19307
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
19307
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19308
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }),
|
|
19308
19309
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19309
19310
|
] }),
|
|
19310
19311
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19430,7 +19431,7 @@ function NoAccountNotice({
|
|
|
19430
19431
|
),
|
|
19431
19432
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full max-w-[600px] flex-col gap-[var(--spacing-system-l)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-xl)]", children: [
|
|
19432
19433
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
19433
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19434
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }),
|
|
19434
19435
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: description })
|
|
19435
19436
|
] }),
|
|
19436
19437
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { type: "button", variant: "outline", fullWidth: true, onClick: onBackToLogin, children: backLabel })
|
|
@@ -19479,7 +19480,7 @@ function OpenFrameSsoLoginForm({
|
|
|
19479
19480
|
),
|
|
19480
19481
|
children: [
|
|
19481
19482
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
|
|
19482
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19483
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }),
|
|
19483
19484
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19484
19485
|
] }),
|
|
19485
19486
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19584,7 +19585,7 @@ function OpenFrameSsoSignUpForm({
|
|
|
19584
19585
|
),
|
|
19585
19586
|
children: [
|
|
19586
19587
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
|
|
19587
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19588
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }),
|
|
19588
19589
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19589
19590
|
] }),
|
|
19590
19591
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19690,7 +19691,7 @@ function PasswordResetForm({
|
|
|
19690
19691
|
),
|
|
19691
19692
|
children: [
|
|
19692
19693
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
19693
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19694
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }),
|
|
19694
19695
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19695
19696
|
] }),
|
|
19696
19697
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19807,7 +19808,7 @@ function SsoJoinForm({
|
|
|
19807
19808
|
),
|
|
19808
19809
|
children: [
|
|
19809
19810
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
19810
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19811
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }),
|
|
19811
19812
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19812
19813
|
] }),
|
|
19813
19814
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-s)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-m)]", children: [
|
|
@@ -20069,7 +20070,7 @@ function ChangelogManager({
|
|
|
20069
20070
|
),
|
|
20070
20071
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: hasContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-primary text-h6", children: entry.title }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "italic text-ods-text-secondary text-h6", children: "New entry (click to edit)" }) }),
|
|
20071
20072
|
tagOptions && tagLabelOf(entry.tag) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20072
|
-
|
|
20073
|
+
_chunkMYHS4W2Hcjs.StatusBadge,
|
|
20073
20074
|
{
|
|
20074
20075
|
variant: "button",
|
|
20075
20076
|
singleLine: true,
|
|
@@ -20416,11 +20417,11 @@ function EntityTagBadgesSkeleton({
|
|
|
20416
20417
|
i >= count && "content-md:hidden"
|
|
20417
20418
|
),
|
|
20418
20419
|
"data-loading-item": true,
|
|
20419
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20420
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.StatusBadgeSkeleton, { variant: "card", className: _chunk65VVJSQZcjs.cn.call(void 0, "border", _nullishCoalesce(itemClassName, () => ( TAG_SKELETON_WIDTH_CLASS))) })
|
|
20420
20421
|
},
|
|
20421
20422
|
i
|
|
20422
20423
|
)),
|
|
20423
|
-
overflow && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TAG_ITEM_CLASS, "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20424
|
+
overflow && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TAG_ITEM_CLASS, "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.StatusBadgeSkeleton, { variant: "card", className: _chunk65VVJSQZcjs.cn.call(void 0, "border", OVERFLOW_BADGE_SKELETON_CLASS) }) })
|
|
20424
20425
|
] });
|
|
20425
20426
|
}
|
|
20426
20427
|
function EntityTagBadges({
|
|
@@ -20457,7 +20458,7 @@ function EntityTagBadges({
|
|
|
20457
20458
|
const label = (tag.name || "").toUpperCase();
|
|
20458
20459
|
if (basePath && tag.slug) {
|
|
20459
20460
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: `${basePath}?tags=${tag.slug}`, className: itemClass(index), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20460
|
-
|
|
20461
|
+
_chunkMYHS4W2Hcjs.StatusBadge,
|
|
20461
20462
|
{
|
|
20462
20463
|
text: label,
|
|
20463
20464
|
variant: "card",
|
|
@@ -20465,7 +20466,7 @@ function EntityTagBadges({
|
|
|
20465
20466
|
}
|
|
20466
20467
|
) }, key);
|
|
20467
20468
|
}
|
|
20468
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: itemClass(index), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20469
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: itemClass(index), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }) }, key);
|
|
20469
20470
|
}),
|
|
20470
20471
|
phoneOverflow === overflow ? overflow > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OverflowBadge, { count: overflow }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
20471
20472
|
phoneOverflow > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OverflowBadge, { count: phoneOverflow, className: "content-md:hidden" }),
|
|
@@ -20474,7 +20475,7 @@ function EntityTagBadges({
|
|
|
20474
20475
|
] });
|
|
20475
20476
|
}
|
|
20476
20477
|
function OverflowBadge({ count, className }) {
|
|
20477
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, TAG_ITEM_CLASS, className), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20478
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, TAG_ITEM_CLASS, className), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.StatusBadge, { text: `+${count}`, variant: "card", className: _chunk65VVJSQZcjs.cn.call(void 0, BADGE_CLASS, "text-ods-text-secondary") }) });
|
|
20478
20479
|
}
|
|
20479
20480
|
|
|
20480
20481
|
// src/components/features/error-boundary.tsx
|
|
@@ -20569,7 +20570,7 @@ var SectionButton = ({
|
|
|
20569
20570
|
}
|
|
20570
20571
|
),
|
|
20571
20572
|
section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20572
|
-
|
|
20573
|
+
_chunkMYHS4W2Hcjs.StatusBadge,
|
|
20573
20574
|
{
|
|
20574
20575
|
text: section.badge.text,
|
|
20575
20576
|
variant: section.badge.variant || "button",
|
|
@@ -20588,7 +20589,7 @@ var SectionButton = ({
|
|
|
20588
20589
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-wrap items-start gap-2", children: [
|
|
20589
20590
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, titleClasses, "text-h3"), style: { textAlign: "left" }, children: section.title }),
|
|
20590
20591
|
section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20591
|
-
|
|
20592
|
+
_chunkMYHS4W2Hcjs.StatusBadge,
|
|
20592
20593
|
{
|
|
20593
20594
|
text: section.badge.text,
|
|
20594
20595
|
variant: section.badge.variant || "button",
|
|
@@ -21653,15 +21654,15 @@ function useLoading() {
|
|
|
21653
21654
|
|
|
21654
21655
|
|
|
21655
21656
|
function isAlreadyThere(file, existing) {
|
|
21656
|
-
const key =
|
|
21657
|
+
const key = _chunkMYHS4W2Hcjs.mediaNameKey.call(void 0, file.name);
|
|
21657
21658
|
if (!key) return false;
|
|
21658
21659
|
return existing.some(
|
|
21659
|
-
(item) => (item.title ?
|
|
21660
|
+
(item) => (item.title ? _chunkMYHS4W2Hcjs.mediaNameKey.call(void 0, item.title) === key : false) || (item.media_url ? _chunkMYHS4W2Hcjs.mediaNameKey.call(void 0, item.media_url) === key : false)
|
|
21660
21661
|
);
|
|
21661
21662
|
}
|
|
21662
21663
|
var isFileDrag = (event) => Array.from(event.dataTransfer.types).includes("Files");
|
|
21663
|
-
var isVideoItem = (item) =>
|
|
21664
|
-
var MEDIA_KIND_ACCEPT = { image:
|
|
21664
|
+
var isVideoItem = (item) => _chunkMYHS4W2Hcjs.isVideoMedia.call(void 0, item) || item.media_type === "demo";
|
|
21665
|
+
var MEDIA_KIND_ACCEPT = { image: _chunkMYHS4W2Hcjs.IMAGE_FILE_ACCEPT, video: "video/*", both: _chunkMYHS4W2Hcjs.MEDIA_FILE_ACCEPT };
|
|
21665
21666
|
var MEDIA_KIND_COPY = {
|
|
21666
21667
|
image: { noun: "pictures", refusal: "Not a picture" },
|
|
21667
21668
|
video: { noun: "videos", refusal: "Not a video" },
|
|
@@ -21685,12 +21686,12 @@ function useMediaIntake({ existing, onUpload, onUploaded, kinds = "both" }) {
|
|
|
21685
21686
|
const seen = /* @__PURE__ */ new Set();
|
|
21686
21687
|
const accepted = [];
|
|
21687
21688
|
for (const file of files) {
|
|
21688
|
-
const mediaType =
|
|
21689
|
+
const mediaType = _chunkMYHS4W2Hcjs.fileMediaType.call(void 0, file);
|
|
21689
21690
|
if (!mediaType || kinds !== "both" && mediaType !== kinds) {
|
|
21690
21691
|
unsupported.push(file.name);
|
|
21691
21692
|
continue;
|
|
21692
21693
|
}
|
|
21693
|
-
const contentKey = await
|
|
21694
|
+
const contentKey = await _chunkMYHS4W2Hcjs.fileContentKey.call(void 0, file).catch(() => `${file.name}:${file.size}`);
|
|
21694
21695
|
if (seen.has(contentKey) || isAlreadyThere(file, existingRef.current)) {
|
|
21695
21696
|
duplicates.push(file.name);
|
|
21696
21697
|
continue;
|
|
@@ -21871,7 +21872,7 @@ function MediaGalleryManager({
|
|
|
21871
21872
|
className: _chunk65VVJSQZcjs.cn.call(void 0, "grid grid-cols-1 gap-4 content-md:grid-cols-2", columns === 3 && "content-lg:grid-cols-3"),
|
|
21872
21873
|
children: [
|
|
21873
21874
|
media.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21874
|
-
|
|
21875
|
+
_chunkMYHS4W2Hcjs.Card,
|
|
21875
21876
|
{
|
|
21876
21877
|
className: "group relative border-ods-border transition-colors hover:border-ods-accent/30",
|
|
21877
21878
|
draggable: true,
|
|
@@ -21896,7 +21897,7 @@ function MediaGalleryManager({
|
|
|
21896
21897
|
) }),
|
|
21897
21898
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: isVideoItem(item) ? (
|
|
21898
21899
|
// <Video> SSOT (MuxPlayer): plays Mux HLS and MP4 alike; fit="cover" crops to the cell.
|
|
21899
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21900
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
21900
21901
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21901
21902
|
_chunkE76ONBKFcjs.next_image_default,
|
|
21902
21903
|
{
|
|
@@ -21948,7 +21949,7 @@ function MediaGalleryManager({
|
|
|
21948
21949
|
},
|
|
21949
21950
|
_nullishCoalesce(item.id, () => ( `${item.media_url}-${index}`))
|
|
21950
21951
|
)),
|
|
21951
|
-
pending.map((name, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21952
|
+
pending.map((name, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMYHS4W2Hcjs.Card, { className: "border-ods-border", "aria-busy": "true", children: [
|
|
21952
21953
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex aspect-video items-center justify-center rounded-lg bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) }),
|
|
21953
21954
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate p-3 text-ods-text-secondary text-h6", children: name })
|
|
21954
21955
|
] }, `pending-${name}-${index}`))
|
|
@@ -22302,7 +22303,7 @@ var MODEL_TOKEN_RATES_COPY = {
|
|
|
22302
22303
|
empty: "No token rates are in effect right now."
|
|
22303
22304
|
};
|
|
22304
22305
|
function providerMark(providerType, stated, className) {
|
|
22305
|
-
const Mark = _chunk5P4TDV7Vcjs.findIcon.call(void 0,
|
|
22306
|
+
const Mark = _chunk5P4TDV7Vcjs.findIcon.call(void 0, _chunkNWZSYG4Scjs.aiProvider.call(void 0, providerType, { icon: stated }).icon);
|
|
22306
22307
|
return Mark ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Mark, { className }) : void 0;
|
|
22307
22308
|
}
|
|
22308
22309
|
var PAD_X = "px-[var(--spacing-system-s)]";
|
|
@@ -22320,7 +22321,7 @@ var UNIT_LINE_CLASS = _chunk65VVJSQZcjs.cn.call(void 0,
|
|
|
22320
22321
|
var TABS_ROW_CLASS = _chunk65VVJSQZcjs.cn.call(void 0, "shrink-0 border-b border-ods-border py-[var(--spacing-system-xs)]", PAD_X);
|
|
22321
22322
|
var NUMBER_CELL = "w-16 shrink-0 whitespace-nowrap text-right tabular-nums";
|
|
22322
22323
|
function useProviderGroup(rates) {
|
|
22323
|
-
const groups =
|
|
22324
|
+
const groups = _chunkNWZSYG4Scjs.groupTokenRatesByProvider.call(void 0, rates);
|
|
22324
22325
|
const [picked, setPicked] = _react.useState.call(void 0, null);
|
|
22325
22326
|
return { groups, group: _nullishCoalesce(groups.find((candidate) => candidate.providerType === picked), () => ( groups[0])), setPicked };
|
|
22326
22327
|
}
|
|
@@ -22331,7 +22332,7 @@ function ProviderTabs({
|
|
|
22331
22332
|
className
|
|
22332
22333
|
}) {
|
|
22333
22334
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22334
|
-
|
|
22335
|
+
_chunkKM2TVQCHcjs.TabSelector,
|
|
22335
22336
|
{
|
|
22336
22337
|
variant: "secondary",
|
|
22337
22338
|
scrollable: true,
|
|
@@ -22339,7 +22340,7 @@ function ProviderTabs({
|
|
|
22339
22340
|
onValueChange,
|
|
22340
22341
|
items: groups.map((candidate) => ({
|
|
22341
22342
|
id: candidate.providerType,
|
|
22342
|
-
label:
|
|
22343
|
+
label: _chunkNWZSYG4Scjs.tokenRateProviderLabel.call(void 0, candidate.providerType, _optionalChain([candidate, 'access', _455 => _455.rates, 'access', _456 => _456[0], 'optionalAccess', _457 => _457.providerLabel])),
|
|
22343
22344
|
icon: providerMark(candidate.providerType, _optionalChain([candidate, 'access', _458 => _458.rates, 'access', _459 => _459[0], 'optionalAccess', _460 => _460.providerIcon]), "size-full")
|
|
22344
22345
|
})),
|
|
22345
22346
|
className
|
|
@@ -22417,8 +22418,8 @@ function ModelTokenRatesTable({ rates }) {
|
|
|
22417
22418
|
] }),
|
|
22418
22419
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { role: "rowgroup", className: "min-h-0 flex-1 overflow-y-auto", children: group.rates.map((rate) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { role: "row", className: BODY_ROW_CLASS, children: [
|
|
22419
22420
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "rowheader", className: "min-w-0 flex-1 truncate", children: rate.displayName || rate.modelName }),
|
|
22420
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children:
|
|
22421
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children:
|
|
22421
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkNWZSYG4Scjs.formatTokenRate.call(void 0, rate.inputTokenRate) }),
|
|
22422
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkNWZSYG4Scjs.formatTokenRate.call(void 0, rate.outputTokenRate) })
|
|
22422
22423
|
] }, rate.modelName)) })
|
|
22423
22424
|
] }),
|
|
22424
22425
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: UNIT_LINE_CLASS, children: MODEL_TOKEN_RATES_COPY.unit })
|
|
@@ -22468,7 +22469,7 @@ function modelOption(rate) {
|
|
|
22468
22469
|
return {
|
|
22469
22470
|
label: rate.displayName || rate.modelName,
|
|
22470
22471
|
value: rate.modelName,
|
|
22471
|
-
description:
|
|
22472
|
+
description: _chunkNWZSYG4Scjs.tokenRateProviderLabel.call(void 0, rate.providerType, rate.providerLabel),
|
|
22472
22473
|
icon: providerMark(rate.providerType, rate.providerIcon, "size-full text-ods-text-secondary")
|
|
22473
22474
|
};
|
|
22474
22475
|
}
|
|
@@ -22522,8 +22523,8 @@ function ModelTokenExchange({
|
|
|
22522
22523
|
const [chosen, setChosen] = _react.useState.call(void 0, null);
|
|
22523
22524
|
const balance = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(chosen, () => ( defaultAmount)), () => ( _optionalChain([tokenPrice, 'optionalAccess', _461 => _461.tokens]))), () => ( MODEL_TOKEN_EXCHANGE_BALANCE));
|
|
22524
22525
|
const max = Math.max(amountRange.max, balance, ...presets.map((preset) => preset.tokens));
|
|
22525
|
-
const tokens =
|
|
22526
|
-
const cost =
|
|
22526
|
+
const tokens = _chunkNWZSYG4Scjs.formatTokenAmount.call(void 0, balance);
|
|
22527
|
+
const cost = _chunkNWZSYG4Scjs.tokenCost.call(void 0, balance, tokenPrice);
|
|
22527
22528
|
const balancePrice = cost === null ? null : _chunkHY6BCZH7cjs.formatPrice.call(void 0, cost);
|
|
22528
22529
|
const model = rate ? rate.displayName || rate.modelName : "";
|
|
22529
22530
|
const options = models.map(modelOption);
|
|
@@ -22565,7 +22566,7 @@ function ModelTokenExchange({
|
|
|
22565
22566
|
variant: preset.tokens === balance ? "accent" : "outline",
|
|
22566
22567
|
size: "small",
|
|
22567
22568
|
onClick: () => setChosen(preset.tokens),
|
|
22568
|
-
children: copy.buy.preset(
|
|
22569
|
+
children: copy.buy.preset(_chunkNWZSYG4Scjs.formatTokenAmount.call(void 0, preset.tokens), preset.label)
|
|
22569
22570
|
},
|
|
22570
22571
|
preset.label
|
|
22571
22572
|
)) })
|
|
@@ -22582,7 +22583,7 @@ function ModelTokenExchange({
|
|
|
22582
22583
|
const stated = _nullishCoalesce(models.find((option) => option.providerType === providerType), () => ( (_optionalChain([rate, 'optionalAccess', _462 => _462.providerType]) === providerType ? rate : null)));
|
|
22583
22584
|
return {
|
|
22584
22585
|
id: providerType,
|
|
22585
|
-
name:
|
|
22586
|
+
name: _chunkNWZSYG4Scjs.tokenRateProviderLabel.call(void 0, providerType, _optionalChain([stated, 'optionalAccess', _463 => _463.providerLabel])),
|
|
22586
22587
|
icon: providerMark(providerType, _optionalChain([stated, 'optionalAccess', _464 => _464.providerIcon]), "size-8 text-ods-text-secondary")
|
|
22587
22588
|
};
|
|
22588
22589
|
}),
|
|
@@ -22621,7 +22622,7 @@ function ModelTokenExchange({
|
|
|
22621
22622
|
{
|
|
22622
22623
|
size: "plain",
|
|
22623
22624
|
loading,
|
|
22624
|
-
figure:
|
|
22625
|
+
figure: _chunkNWZSYG4Scjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _469 => _469.inputTokenRate])),
|
|
22625
22626
|
words: copy.charge.input
|
|
22626
22627
|
}
|
|
22627
22628
|
),
|
|
@@ -22630,7 +22631,7 @@ function ModelTokenExchange({
|
|
|
22630
22631
|
{
|
|
22631
22632
|
size: "plain",
|
|
22632
22633
|
loading,
|
|
22633
|
-
figure:
|
|
22634
|
+
figure: _chunkNWZSYG4Scjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _470 => _470.outputTokenRate])),
|
|
22634
22635
|
words: copy.charge.output
|
|
22635
22636
|
}
|
|
22636
22637
|
)
|
|
@@ -22642,9 +22643,9 @@ function ModelTokenExchange({
|
|
|
22642
22643
|
className: "mt-auto flex flex-col rounded-md border border-ods-accent bg-ods-bg p-[var(--spacing-system-mf)]",
|
|
22643
22644
|
children: [
|
|
22644
22645
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[2lh] text-ods-text-secondary text-h4", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-full max-w-xs" }) : copy.charge.so(_nullishCoalesce(balancePrice, () => ( copy.buy.tokens(tokens))), model) }),
|
|
22645
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] whitespace-nowrap tabular-nums text-ods-text-primary text-h1", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-40" }) :
|
|
22646
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] whitespace-nowrap tabular-nums text-ods-text-primary text-h1", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-40" }) : _chunkNWZSYG4Scjs.formatTokenAmount.call(void 0, _chunkNWZSYG4Scjs.tokensForBalance.call(void 0, balance, rate.inputTokenRate)) }),
|
|
22646
22647
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-primary text-h3", children: copy.charge.read }),
|
|
22647
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-secondary text-h4", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-48" }) : copy.charge.orWritten(
|
|
22648
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-secondary text-h4", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-48" }) : copy.charge.orWritten(_chunkNWZSYG4Scjs.formatTokenAmount.call(void 0, _chunkNWZSYG4Scjs.tokensForBalance.call(void 0, balance, rate.outputTokenRate))) })
|
|
22648
22649
|
]
|
|
22649
22650
|
}
|
|
22650
22651
|
)
|
|
@@ -23183,14 +23184,14 @@ var ConfidenceBadge = ({
|
|
|
23183
23184
|
size = "sm",
|
|
23184
23185
|
className
|
|
23185
23186
|
}) => {
|
|
23186
|
-
const level =
|
|
23187
|
+
const level = _chunkNWZSYG4Scjs.getConfidenceLevel.call(void 0, confidence);
|
|
23187
23188
|
if (level === "none") {
|
|
23188
23189
|
return null;
|
|
23189
23190
|
}
|
|
23190
|
-
const label =
|
|
23191
|
-
const borderClass =
|
|
23192
|
-
const textClass =
|
|
23193
|
-
const bgClass =
|
|
23191
|
+
const label = _chunkNWZSYG4Scjs.getConfidenceLabel.call(void 0, confidence);
|
|
23192
|
+
const borderClass = _chunkNWZSYG4Scjs.getConfidenceBorderClass.call(void 0, confidence);
|
|
23193
|
+
const textClass = _chunkNWZSYG4Scjs.getConfidenceTextClass.call(void 0, confidence);
|
|
23194
|
+
const bgClass = _chunkNWZSYG4Scjs.getConfidenceBgClass.call(void 0, confidence);
|
|
23194
23195
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23195
23196
|
"span",
|
|
23196
23197
|
{
|
|
@@ -23241,9 +23242,9 @@ function SEOEditorPreview({
|
|
|
23241
23242
|
const [isUploading, setIsUploading] = _react.useState.call(void 0, false);
|
|
23242
23243
|
const [fileInputRef, setFileInputRef] = _react.useState.call(void 0, null);
|
|
23243
23244
|
const seoTitleLength = (seoTitle || "").length;
|
|
23244
|
-
const seoTitleTooLong = seoTitleLength >
|
|
23245
|
+
const seoTitleTooLong = seoTitleLength > _chunkNWZSYG4Scjs.SEO_TITLE_MAX_LENGTH;
|
|
23245
23246
|
const seoDescriptionLength = (seoDescription || "").length;
|
|
23246
|
-
const seoDescriptionTooLong = seoDescriptionLength >
|
|
23247
|
+
const seoDescriptionTooLong = seoDescriptionLength > _chunkNWZSYG4Scjs.SEO_DESCRIPTION_MAX_LENGTH;
|
|
23247
23248
|
const displayTitle = seoTitle.trim() || title || "Untitled";
|
|
23248
23249
|
const displayDescription = seoDescription.trim() || summary || "No description";
|
|
23249
23250
|
const hasOgImage = ogImageUrl.trim();
|
|
@@ -23268,10 +23269,10 @@ function SEOEditorPreview({
|
|
|
23268
23269
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
|
|
23269
23270
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23270
23271
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23271
|
-
|
|
23272
|
+
_chunkNWZSYG4Scjs.Field,
|
|
23272
23273
|
{
|
|
23273
23274
|
label: "SEO Title",
|
|
23274
|
-
error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${
|
|
23275
|
+
error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${_chunkNWZSYG4Scjs.SEO_TITLE_MAX_LENGTH})` : null,
|
|
23275
23276
|
labelExtras: aiConfidenceSeoTitle !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
23276
23277
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
|
|
23277
23278
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ConfidenceBadge, { confidence: aiConfidenceSeoTitle, showLabel: true, showPercentage: true, size: "sm" })
|
|
@@ -23286,7 +23287,7 @@ function SEOEditorPreview({
|
|
|
23286
23287
|
children: [
|
|
23287
23288
|
seoTitleLength,
|
|
23288
23289
|
"/",
|
|
23289
|
-
|
|
23290
|
+
_chunkNWZSYG4Scjs.SEO_TITLE_MAX_LENGTH
|
|
23290
23291
|
]
|
|
23291
23292
|
}
|
|
23292
23293
|
),
|
|
@@ -23297,7 +23298,7 @@ function SEOEditorPreview({
|
|
|
23297
23298
|
value: seoTitle || "",
|
|
23298
23299
|
onChange: (e) => onSeoTitleChange(e.target.value),
|
|
23299
23300
|
disabled,
|
|
23300
|
-
maxLength:
|
|
23301
|
+
maxLength: _chunkNWZSYG4Scjs.SEO_TITLE_MAX_LENGTH,
|
|
23301
23302
|
invalid: seoTitleTooLong,
|
|
23302
23303
|
placeholder: "Enter SEO meta title...",
|
|
23303
23304
|
className: "border-ods-border bg-ods-bg text-ods-text-primary"
|
|
@@ -23308,7 +23309,7 @@ function SEOEditorPreview({
|
|
|
23308
23309
|
!seoTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-accent text-h6", children: "Auto-populated from title" })
|
|
23309
23310
|
] }),
|
|
23310
23311
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23311
|
-
|
|
23312
|
+
_chunkNWZSYG4Scjs.Field,
|
|
23312
23313
|
{
|
|
23313
23314
|
label: "SEO Keywords",
|
|
23314
23315
|
labelExtras: aiConfidenceSeoKeywords !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -23340,10 +23341,10 @@ function SEOEditorPreview({
|
|
|
23340
23341
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
|
|
23341
23342
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23342
23343
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23343
|
-
|
|
23344
|
+
_chunkNWZSYG4Scjs.Field,
|
|
23344
23345
|
{
|
|
23345
23346
|
label: "SEO Description",
|
|
23346
|
-
error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${
|
|
23347
|
+
error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${_chunkNWZSYG4Scjs.SEO_DESCRIPTION_MAX_LENGTH})` : null,
|
|
23347
23348
|
labelExtras: aiConfidenceSeoDescription !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
23348
23349
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
|
|
23349
23350
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -23366,7 +23367,7 @@ function SEOEditorPreview({
|
|
|
23366
23367
|
children: [
|
|
23367
23368
|
seoDescriptionLength,
|
|
23368
23369
|
"/",
|
|
23369
|
-
|
|
23370
|
+
_chunkNWZSYG4Scjs.SEO_DESCRIPTION_MAX_LENGTH
|
|
23370
23371
|
]
|
|
23371
23372
|
}
|
|
23372
23373
|
),
|
|
@@ -23377,7 +23378,7 @@ function SEOEditorPreview({
|
|
|
23377
23378
|
value: seoDescription || "",
|
|
23378
23379
|
onChange: (e) => onSeoDescriptionChange(e.target.value),
|
|
23379
23380
|
disabled,
|
|
23380
|
-
maxLength:
|
|
23381
|
+
maxLength: _chunkNWZSYG4Scjs.SEO_DESCRIPTION_MAX_LENGTH,
|
|
23381
23382
|
invalid: seoDescriptionTooLong,
|
|
23382
23383
|
placeholder: "Enter SEO meta description...",
|
|
23383
23384
|
className: _chunk65VVJSQZcjs.cn.call(void 0, "resize-none border-ods-border bg-ods-bg text-ods-text-primary", SEO_MEDIA_BOX_HEIGHT)
|
|
@@ -23446,7 +23447,7 @@ function SEOEditorPreview({
|
|
|
23446
23447
|
{
|
|
23447
23448
|
ref: setFileInputRef,
|
|
23448
23449
|
type: "file",
|
|
23449
|
-
accept:
|
|
23450
|
+
accept: _chunkMYHS4W2Hcjs.IMAGE_FILE_ACCEPT,
|
|
23450
23451
|
onChange: handleImageUpload,
|
|
23451
23452
|
className: "hidden",
|
|
23452
23453
|
disabled: disabled || isUploading
|
|
@@ -23530,7 +23531,7 @@ function socialIcon(platform) {
|
|
|
23530
23531
|
return _nullishCoalesce(_chunk5P4TDV7Vcjs.iconOf.call(void 0, SOCIAL_ICONS[platform]), () => ( void 0));
|
|
23531
23532
|
}
|
|
23532
23533
|
function renderSocialIcon(platform) {
|
|
23533
|
-
const key = _nullishCoalesce(
|
|
23534
|
+
const key = _nullishCoalesce(_chunkNWZSYG4Scjs.normalizeSocialPlatform.call(void 0, platform), () => ( "website"));
|
|
23534
23535
|
const icon = _nullishCoalesce(socialIcon(key), () => ( socialIcon("website")));
|
|
23535
23536
|
return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5" }) : null;
|
|
23536
23537
|
}
|
|
@@ -23617,7 +23618,7 @@ function SocialLinksManager({
|
|
|
23617
23618
|
};
|
|
23618
23619
|
const getIcon = (link, platform) => {
|
|
23619
23620
|
const iconKey = _optionalChain([platform, 'optionalAccess', _480 => _480.icon_name]) || link.platform;
|
|
23620
|
-
const key =
|
|
23621
|
+
const key = _chunkNWZSYG4Scjs.normalizeSocialPlatform.call(void 0, iconKey);
|
|
23621
23622
|
if (!key) return null;
|
|
23622
23623
|
const icon = socialIcon(key);
|
|
23623
23624
|
return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5 text-ods-text-secondary" }) : null;
|
|
@@ -23753,7 +23754,7 @@ var StartWithOpenFrameButton = _react.forwardRef.call(void 0,
|
|
|
23753
23754
|
className: _chunk65VVJSQZcjs.cn.call(void 0, modeClassName, className),
|
|
23754
23755
|
style: customStyle,
|
|
23755
23756
|
leftIcon: !loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJZLKYOBcjs.OpenframeLogoIcon, { secondaryColor: iconLowerPath, className: "h-5 w-5", color: iconUpperPath }) : void 0,
|
|
23756
|
-
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23757
|
+
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
|
|
23757
23758
|
children
|
|
23758
23759
|
}
|
|
23759
23760
|
);
|
|
@@ -24080,11 +24081,11 @@ function WarningBlock({ title, icon = DEFAULT_ICON, children, className }) {
|
|
|
24080
24081
|
|
|
24081
24082
|
function VideoBitesDisplay({
|
|
24082
24083
|
bites,
|
|
24083
|
-
title =
|
|
24084
|
+
title = _chunkMYHS4W2Hcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
24084
24085
|
filterPublished = true,
|
|
24085
24086
|
showTitle = true
|
|
24086
24087
|
}) {
|
|
24087
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24088
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKM2TVQCHcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
24088
24089
|
}
|
|
24089
24090
|
|
|
24090
24091
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -24114,7 +24115,7 @@ function WalkthroughVideo({
|
|
|
24114
24115
|
onOpenChange,
|
|
24115
24116
|
defaultOpen,
|
|
24116
24117
|
defaultOpenPaused,
|
|
24117
|
-
deepLinkParam =
|
|
24118
|
+
deepLinkParam = _chunkNWZSYG4Scjs.WALKTHROUGH_OPEN_QUERY_PARAM,
|
|
24118
24119
|
autoPlayCard = false,
|
|
24119
24120
|
label = "Play Demo Video",
|
|
24120
24121
|
placement,
|
|
@@ -24131,7 +24132,7 @@ function WalkthroughVideo({
|
|
|
24131
24132
|
const inline = placement === "inline";
|
|
24132
24133
|
const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
24133
24134
|
const dismissEnabled = dismissal !== false;
|
|
24134
|
-
const storageKey = dismissEnabled && dismissal.storageKey ||
|
|
24135
|
+
const storageKey = dismissEnabled && dismissal.storageKey || _chunkNWZSYG4Scjs.WALKTHROUGH_VIDEO_DISMISS_KEY;
|
|
24135
24136
|
const dismissalId = _optionalChain([video, 'optionalAccess', _486 => _486.id]) != null ? String(video.id) : "dismissed";
|
|
24136
24137
|
const [mounted, setMounted] = _react.useState.call(void 0, false);
|
|
24137
24138
|
const [dismissed, setDismissed] = _react.useState.call(void 0, false);
|
|
@@ -24143,7 +24144,7 @@ function WalkthroughVideo({
|
|
|
24143
24144
|
let delayElapsed = false;
|
|
24144
24145
|
let interacted = inline;
|
|
24145
24146
|
const reveal = () => {
|
|
24146
|
-
if (dismissEnabled &&
|
|
24147
|
+
if (dismissEnabled && _chunkNWZSYG4Scjs.isWalkthroughDismissed.call(void 0, storageKey, dismissalId)) {
|
|
24147
24148
|
setDismissed(true);
|
|
24148
24149
|
return;
|
|
24149
24150
|
}
|
|
@@ -24180,7 +24181,7 @@ function WalkthroughVideo({
|
|
|
24180
24181
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
24181
24182
|
};
|
|
24182
24183
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId, inline]);
|
|
24183
|
-
const hydrated =
|
|
24184
|
+
const hydrated = _chunkKM2TVQCHcjs.useIsHydrated.call(void 0, );
|
|
24184
24185
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
24185
24186
|
if (!hydrated) return false;
|
|
24186
24187
|
try {
|
|
@@ -24430,7 +24431,7 @@ function WalkthroughVideo({
|
|
|
24430
24431
|
(e) => {
|
|
24431
24432
|
e.stopPropagation();
|
|
24432
24433
|
pausePreviewNow();
|
|
24433
|
-
if (dismissEnabled)
|
|
24434
|
+
if (dismissEnabled) _chunkNWZSYG4Scjs.dismissWalkthrough.call(void 0, storageKey, dismissalId);
|
|
24434
24435
|
setDismissed(true);
|
|
24435
24436
|
},
|
|
24436
24437
|
[dismissEnabled, storageKey, dismissalId, pausePreviewNow]
|
|
@@ -24581,7 +24582,7 @@ function WalkthroughVideo({
|
|
|
24581
24582
|
},
|
|
24582
24583
|
children: [
|
|
24583
24584
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24584
|
-
|
|
24585
|
+
_chunkMYHS4W2Hcjs.VideoHoverPreviewSurface,
|
|
24585
24586
|
{
|
|
24586
24587
|
url: video.mainVideoUrl || "",
|
|
24587
24588
|
posterUrl: video.posterUrl ? _chunkE76ONBKFcjs.resizedImageUrl.call(void 0, video.posterUrl, CARD_POSTER_WIDTH_PX) : video.posterUrl,
|
|
@@ -24605,7 +24606,7 @@ function WalkthroughVideo({
|
|
|
24605
24606
|
`card-${embedUrlKey}`
|
|
24606
24607
|
) }),
|
|
24607
24608
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24608
|
-
|
|
24609
|
+
_chunkKM2TVQCHcjs.CardHitLayer,
|
|
24609
24610
|
{
|
|
24610
24611
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
24611
24612
|
onPointerDown: pausePreviewNow,
|
|
@@ -24721,7 +24722,7 @@ function WalkthroughVideo({
|
|
|
24721
24722
|
children: [
|
|
24722
24723
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
24723
24724
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24724
|
-
|
|
24725
|
+
_chunkMYHS4W2Hcjs.Video,
|
|
24725
24726
|
{
|
|
24726
24727
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
24727
24728
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -24777,7 +24778,7 @@ function useWalkthroughVideo(opts) {
|
|
|
24777
24778
|
const { endpoint, initialData, enabled: enabledGiven = true, transformCaptionsUrl } = opts;
|
|
24778
24779
|
const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
24779
24780
|
const enabled = enabledGiven && !inScope;
|
|
24780
|
-
const captions =
|
|
24781
|
+
const captions = _chunkKM2TVQCHcjs.useCaptions.call(void 0, );
|
|
24781
24782
|
const query = _reactquery.useQuery.call(void 0, {
|
|
24782
24783
|
queryKey: ["walkthrough-video", endpoint],
|
|
24783
24784
|
enabled,
|
|
@@ -24975,7 +24976,7 @@ function VideoSourceSelector({
|
|
|
24975
24976
|
}
|
|
24976
24977
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
24977
24978
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
|
|
24978
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24979
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.Video, { kind: "file", url: videoUrl }) }),
|
|
24979
24980
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24980
24981
|
"button",
|
|
24981
24982
|
{
|
|
@@ -25499,7 +25500,7 @@ function HighlightVideoSection({
|
|
|
25499
25500
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
25500
25501
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
25501
25502
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
|
|
25502
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25503
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
|
|
25503
25504
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25504
25505
|
"button",
|
|
25505
25506
|
{
|
|
@@ -25526,7 +25527,7 @@ function HighlightConfigSection({
|
|
|
25526
25527
|
disabled = false,
|
|
25527
25528
|
className = ""
|
|
25528
25529
|
}) {
|
|
25529
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `space-y-3 rounded-lg border border-ods-border bg-ods-card p-4 ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25530
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `space-y-3 rounded-lg border border-ods-border bg-ods-card p-4 ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNWZSYG4Scjs.Field, { label: "Target Duration", children: (f) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25530
25531
|
_chunkV3W56L2Dcjs.Select,
|
|
25531
25532
|
{
|
|
25532
25533
|
value: targetDurationSeconds.toString(),
|
|
@@ -25627,7 +25628,7 @@ var AIStatusIndicator = ({
|
|
|
25627
25628
|
}) => {
|
|
25628
25629
|
const config = statusConfig[status];
|
|
25629
25630
|
const displayText = message || config.label;
|
|
25630
|
-
const confidenceLabel = showConfidence && confidence !== void 0 ? `${
|
|
25631
|
+
const confidenceLabel = showConfidence && confidence !== void 0 ? `${_chunkNWZSYG4Scjs.getConfidenceLabel.call(void 0, confidence)} (${confidence}%)` : null;
|
|
25631
25632
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "inline-flex items-center gap-2 rounded-lg px-3 py-1.5", config.bgColor, className), children: [
|
|
25632
25633
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25633
25634
|
_chunkUNFCRSYIcjs.SparklesIcon,
|
|
@@ -25635,7 +25636,7 @@ var AIStatusIndicator = ({
|
|
|
25635
25636
|
size: 16,
|
|
25636
25637
|
className: _chunk65VVJSQZcjs.cn.call(void 0,
|
|
25637
25638
|
status === "loading" && _chunkXFRBEXQNcjs.LIVE_PULSE_CLASS,
|
|
25638
|
-
confidence !== void 0 && status === "success" ?
|
|
25639
|
+
confidence !== void 0 && status === "success" ? _chunkNWZSYG4Scjs.getConfidenceTextClass.call(void 0, confidence) : config.color
|
|
25639
25640
|
)
|
|
25640
25641
|
}
|
|
25641
25642
|
),
|
|
@@ -25644,7 +25645,7 @@ var AIStatusIndicator = ({
|
|
|
25644
25645
|
{
|
|
25645
25646
|
className: _chunk65VVJSQZcjs.cn.call(void 0,
|
|
25646
25647
|
"text-h6",
|
|
25647
|
-
confidence !== void 0 && status === "success" ?
|
|
25648
|
+
confidence !== void 0 && status === "success" ? _chunkNWZSYG4Scjs.getConfidenceTextClass.call(void 0, confidence) : config.color
|
|
25648
25649
|
),
|
|
25649
25650
|
children: displayText
|
|
25650
25651
|
}
|
|
@@ -25654,8 +25655,8 @@ var AIStatusIndicator = ({
|
|
|
25654
25655
|
{
|
|
25655
25656
|
className: _chunk65VVJSQZcjs.cn.call(void 0,
|
|
25656
25657
|
"rounded-full border px-2 py-0.5 text-h6",
|
|
25657
|
-
|
|
25658
|
-
|
|
25658
|
+
_chunkNWZSYG4Scjs.getConfidenceBorderClass.call(void 0, confidence),
|
|
25659
|
+
_chunkNWZSYG4Scjs.getConfidenceTextClass.call(void 0, confidence)
|
|
25659
25660
|
),
|
|
25660
25661
|
children: confidenceLabel
|
|
25661
25662
|
}
|
|
@@ -26582,7 +26583,7 @@ function PoliciesTable({
|
|
|
26582
26583
|
cell: ({ row }) => row.original.href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26583
26584
|
_chunkTF5D5MNOcjs.Button,
|
|
26584
26585
|
{
|
|
26585
|
-
onClick:
|
|
26586
|
+
onClick: _chunkNWZSYG4Scjs.openInNewTab.call(void 0, row.original.href),
|
|
26586
26587
|
variant: "outline",
|
|
26587
26588
|
size: "icon",
|
|
26588
26589
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -26908,7 +26909,7 @@ function TenantsTableView({
|
|
|
26908
26909
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26909
26910
|
_chunkTF5D5MNOcjs.Button,
|
|
26910
26911
|
{
|
|
26911
|
-
onClick:
|
|
26912
|
+
onClick: _chunkNWZSYG4Scjs.openInNewTab.call(void 0, getHref(row.original)),
|
|
26912
26913
|
variant: "outline",
|
|
26913
26914
|
size: "icon",
|
|
26914
26915
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -26989,7 +26990,7 @@ function WaitlistForm({
|
|
|
26989
26990
|
const { toast } = _chunkE64HPPRHcjs.useToast.call(void 0, );
|
|
26990
26991
|
const { honeypotInputProps, getSignals, resetSignals } = _chunkE64HPPRHcjs.useHumanitySignals.call(void 0, );
|
|
26991
26992
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
26992
|
-
const isClient =
|
|
26993
|
+
const isClient = _chunkKM2TVQCHcjs.useIsHydrated.call(void 0, );
|
|
26993
26994
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
26994
26995
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
26995
26996
|
const rescue = _chunkE64HPPRHcjs.useFormRescue.call(void 0, {
|
|
@@ -27004,7 +27005,7 @@ function WaitlistForm({
|
|
|
27004
27005
|
_react.useEffect.call(void 0, () => {
|
|
27005
27006
|
rescue.track({ email, phone }, null);
|
|
27006
27007
|
}, [email, phone, rescue]);
|
|
27007
|
-
const isMailDomainGeneric =
|
|
27008
|
+
const isMailDomainGeneric = _chunkNWZSYG4Scjs.hasGenericEmailDomain.call(void 0, email);
|
|
27008
27009
|
const [syncedDefaultEmail, setSyncedDefaultEmail] = _react.useState.call(void 0, defaultEmail);
|
|
27009
27010
|
if (syncedDefaultEmail !== defaultEmail) {
|
|
27010
27011
|
setSyncedDefaultEmail(defaultEmail);
|
|
@@ -27038,7 +27039,7 @@ function WaitlistForm({
|
|
|
27038
27039
|
setShowConsentError(true);
|
|
27039
27040
|
return;
|
|
27040
27041
|
}
|
|
27041
|
-
const finalPhone = phone ?
|
|
27042
|
+
const finalPhone = phone ? _chunkNWZSYG4Scjs.formatPhoneE164.call(void 0, phone, countryCode) : void 0;
|
|
27042
27043
|
try {
|
|
27043
27044
|
await onRegister(email, finalPhone, getSignals(), rescue.submitFields());
|
|
27044
27045
|
rescue.complete();
|
|
@@ -29177,7 +29178,7 @@ function getDeviceStatusConfig(status) {
|
|
|
29177
29178
|
}
|
|
29178
29179
|
}
|
|
29179
29180
|
function getDeviceOperatingSystem(osType) {
|
|
29180
|
-
return
|
|
29181
|
+
return _chunkNWZSYG4Scjs.getOSPlatformId.call(void 0, osType);
|
|
29181
29182
|
}
|
|
29182
29183
|
|
|
29183
29184
|
// src/components/features/devices/device-statuses.ts
|
|
@@ -30781,7 +30782,7 @@ function DevicesPanelView({
|
|
|
30781
30782
|
actionsVariant: "icon-buttons",
|
|
30782
30783
|
className,
|
|
30783
30784
|
selector: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30784
|
-
|
|
30785
|
+
_chunkKM2TVQCHcjs.TabSelector,
|
|
30785
30786
|
{
|
|
30786
30787
|
value: viewMode,
|
|
30787
30788
|
onValueChange: (value) => _optionalChain([onViewModeChange, 'optionalCall', _667 => _667(value)]),
|
|
@@ -31315,11 +31316,11 @@ var ToolBadge = ({
|
|
|
31315
31316
|
iconClassName
|
|
31316
31317
|
}) => {
|
|
31317
31318
|
const loading = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
31318
|
-
const text = _nullishCoalesce(label, () => ( (toolType ?
|
|
31319
|
+
const text = _nullishCoalesce(label, () => ( (toolType ? _chunkNWZSYG4Scjs.getToolLabel.call(void 0, toolType) : "")));
|
|
31319
31320
|
const mark = _nullishCoalesce(icon, () => ( (toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk57B5RUYDcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }) : null)));
|
|
31320
31321
|
if (loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToolBadgeSkeleton, { variant, icon: !!mark, className });
|
|
31321
31322
|
const linked = (node, linkClassName) => href && targetPlatform ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31322
|
-
|
|
31323
|
+
_chunkKM2TVQCHcjs.NavLinkAnchorViaRuntime,
|
|
31323
31324
|
{
|
|
31324
31325
|
href,
|
|
31325
31326
|
targetPlatform,
|
|
@@ -31431,7 +31432,7 @@ function LogsTableView({
|
|
|
31431
31432
|
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31432
31433
|
ToolBadge,
|
|
31433
31434
|
{
|
|
31434
|
-
toolType:
|
|
31435
|
+
toolType: _chunkNWZSYG4Scjs.normalizeToolTypeWithFallback.call(void 0, row.original.source.toolType),
|
|
31435
31436
|
iconClassName: "h-4 w-4 content-md:h-6 content-md:w-6"
|
|
31436
31437
|
}
|
|
31437
31438
|
),
|
|
@@ -31443,7 +31444,7 @@ function LogsTableView({
|
|
|
31443
31444
|
filter: {
|
|
31444
31445
|
options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _675 => _675.toolTypes, 'access', _676 => _676.map, 'call', _677 => _677((toolType) => ({
|
|
31445
31446
|
id: toolType,
|
|
31446
|
-
label:
|
|
31447
|
+
label: _chunkNWZSYG4Scjs.toToolLabel.call(void 0, toolType),
|
|
31447
31448
|
value: toolType
|
|
31448
31449
|
}))]), () => ( []))
|
|
31449
31450
|
}
|
|
@@ -31501,7 +31502,7 @@ function LogsTableView({
|
|
|
31501
31502
|
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31502
31503
|
_chunkTF5D5MNOcjs.Button,
|
|
31503
31504
|
{
|
|
31504
|
-
onClick: getLogHref ?
|
|
31505
|
+
onClick: getLogHref ? _chunkNWZSYG4Scjs.openInNewTab.call(void 0, getLogHref(row.original)) : void 0,
|
|
31505
31506
|
variant: "outline",
|
|
31506
31507
|
size: "icon",
|
|
31507
31508
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -31876,7 +31877,7 @@ function OpenInNewTabCell({ href }) {
|
|
|
31876
31877
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31877
31878
|
_chunkTF5D5MNOcjs.Button,
|
|
31878
31879
|
{
|
|
31879
|
-
onClick:
|
|
31880
|
+
onClick: _chunkNWZSYG4Scjs.openInNewTab.call(void 0, href),
|
|
31880
31881
|
variant: "outline",
|
|
31881
31882
|
size: "icon",
|
|
31882
31883
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -32025,9 +32026,9 @@ function ScriptSchedulesTable({
|
|
|
32025
32026
|
|
|
32026
32027
|
// src/components/features/scripts/shell-types.ts
|
|
32027
32028
|
var SCRIPT_SHELL_TYPES = [
|
|
32028
|
-
{ id:
|
|
32029
|
-
{ id:
|
|
32030
|
-
{ id:
|
|
32029
|
+
{ id: _chunkNWZSYG4Scjs.ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon: _chunkMCQY746Mcjs.PowershellLogoGreyIcon },
|
|
32030
|
+
{ id: _chunkNWZSYG4Scjs.ShellTypeValues.CMD, label: "CMD", value: "cmd", icon: _chunkNIVJEJSGcjs.TerminalSquareIcon },
|
|
32031
|
+
{ id: _chunkNWZSYG4Scjs.ShellTypeValues.BASH, label: "Bash", value: "bash", icon: _chunkTRUW6DDAcjs.TerminalIcon }
|
|
32031
32032
|
];
|
|
32032
32033
|
function scriptShellType(value) {
|
|
32033
32034
|
return SCRIPT_SHELL_TYPES.find((shell) => shell.value === value);
|
|
@@ -33460,7 +33461,7 @@ function ScheduleFormFields({
|
|
|
33460
33461
|
disabled = false,
|
|
33461
33462
|
renderScriptSearch,
|
|
33462
33463
|
timeReferenceGate = "off",
|
|
33463
|
-
platforms =
|
|
33464
|
+
platforms = _chunkNWZSYG4Scjs.OS_PLATFORMS,
|
|
33464
33465
|
comingSoonPlatforms = [],
|
|
33465
33466
|
getTimeSlots,
|
|
33466
33467
|
nameLayout = "stacked",
|
|
@@ -33606,7 +33607,7 @@ function ScheduleFormFields({
|
|
|
33606
33607
|
// src/components/features/scripts/schedule-form/schedule-script-search-field.tsx
|
|
33607
33608
|
|
|
33608
33609
|
function ScriptPlatformIcons({ platforms }) {
|
|
33609
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 items-center gap-0.5", children:
|
|
33610
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 items-center gap-0.5", children: _chunkNWZSYG4Scjs.OS_PLATFORMS.filter((p) => platforms.includes(p.id)).map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, p.icon, { className: "h-3.5 w-3.5 text-ods-text-secondary opacity-60" }, p.id)) });
|
|
33610
33611
|
}
|
|
33611
33612
|
function ScheduleScriptSearchField({
|
|
33612
33613
|
scriptId,
|
|
@@ -33679,7 +33680,7 @@ function getKnowledgeBaseOpenColumn(getHref) {
|
|
|
33679
33680
|
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33680
33681
|
_chunkTF5D5MNOcjs.Button,
|
|
33681
33682
|
{
|
|
33682
|
-
onClick:
|
|
33683
|
+
onClick: _chunkNWZSYG4Scjs.openInNewTab.call(void 0, getHref(row.original)),
|
|
33683
33684
|
variant: "outline",
|
|
33684
33685
|
size: "icon",
|
|
33685
33686
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -33805,7 +33806,7 @@ function KnowledgeBaseArticleView({
|
|
|
33805
33806
|
className,
|
|
33806
33807
|
children: [
|
|
33807
33808
|
tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-[var(--spacing-system-xsf)]", children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY6BCZH7cjs.Tag, { label: tag.label, variant: "outline", className: "max-w-full" }, tag.id)) }),
|
|
33808
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33809
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.Card, { className: "border-ods-border px-[var(--spacing-system-mf)] py-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-2 gap-x-[var(--spacing-system-mf)] content-lg:grid-cols-3", children: [
|
|
33809
33810
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
33810
33811
|
author.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLJT2KRE2cjs.DeletedUserAvatar, { size: "md" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33811
33812
|
_chunkHY6BCZH7cjs.SquareAvatar,
|
|
@@ -33969,7 +33970,7 @@ function ConversationCard({
|
|
|
33969
33970
|
style: tint,
|
|
33970
33971
|
onClick: selection && ((event) => {
|
|
33971
33972
|
if (event.button !== 0 || _optionalChain([window, 'access', _741 => _741.getSelection, 'call', _742 => _742(), 'optionalAccess', _743 => _743.toString, 'call', _744 => _744()])) return;
|
|
33972
|
-
if (!
|
|
33973
|
+
if (!_chunkNWZSYG4Scjs.isOwnClick.call(void 0, event.target, event.currentTarget, { controls: true })) return;
|
|
33973
33974
|
selection.onToggle();
|
|
33974
33975
|
}),
|
|
33975
33976
|
children: [
|
|
@@ -33992,7 +33993,7 @@ function ConversationCard({
|
|
|
33992
33993
|
children: selection.pressed ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkX4UZ62MYcjs.PlusIcon, {})
|
|
33993
33994
|
}
|
|
33994
33995
|
),
|
|
33995
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33996
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNWZSYG4Scjs.ChatTurn, { avatar: requester.avatar, name: requester.name, meta: requester.meta, time: requester.time, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
33996
33997
|
"p",
|
|
33997
33998
|
{
|
|
33998
33999
|
id: requestId,
|
|
@@ -34011,7 +34012,7 @@ function ConversationCard({
|
|
|
34011
34012
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: CONTEXT_TEXT_CLASS, style: partLinesStyle(_optionalChain([lines, 'optionalAccess', _745 => _745.context])), children: context.text })
|
|
34012
34013
|
] }),
|
|
34013
34014
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34014
|
-
|
|
34015
|
+
_chunkNWZSYG4Scjs.ChatTurn,
|
|
34015
34016
|
{
|
|
34016
34017
|
avatar: responder.avatar,
|
|
34017
34018
|
name: responder.name,
|
|
@@ -34034,10 +34035,10 @@ function ConversationCard({
|
|
|
34034
34035
|
);
|
|
34035
34036
|
}
|
|
34036
34037
|
function TurnSkeleton({ avatarPx, meta, children }) {
|
|
34037
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
34038
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkNWZSYG4Scjs.TURN_ROW_CLASS, children: [
|
|
34038
34039
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY6BCZH7cjs.SquareAvatarSkeleton, { sizePx: avatarPx }),
|
|
34039
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
34040
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34040
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkNWZSYG4Scjs.TURN_BODY_CLASS, children: [
|
|
34041
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNWZSYG4Scjs.ChatTurnNameSkeleton, { meta, time: true }),
|
|
34041
34042
|
children
|
|
34042
34043
|
] })
|
|
34043
34044
|
] });
|
|
@@ -34297,7 +34298,7 @@ function CapabilityExplorer({
|
|
|
34297
34298
|
),
|
|
34298
34299
|
children: [
|
|
34299
34300
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
34300
|
-
item.iconName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, JOB_ICON_TILE_CLASS, "text-ods-flamingo-cyan"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34301
|
+
item.iconName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, JOB_ICON_TILE_CLASS, "text-ods-flamingo-cyan"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.EntityIcon, { icon: { name: item.iconName }, size: 18 }) }),
|
|
34301
34302
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
34302
34303
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h3", { className: "flex min-w-0 items-center gap-2 text-ods-text-primary text-h4", children: [
|
|
34303
34304
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3W56L2Dcjs.TruncateText, { as: "span", variant: "h4", triggerClassName: "flex-1", children: item.title }),
|
|
@@ -34378,7 +34379,7 @@ function CapabilityExplorer({
|
|
|
34378
34379
|
"span",
|
|
34379
34380
|
{
|
|
34380
34381
|
className: _chunk65VVJSQZcjs.cn.call(void 0, JOB_ICON_TILE_CLASS, selected ? "text-ods-flamingo-cyan" : "text-ods-text-secondary"),
|
|
34381
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34382
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.EntityIcon, { icon: { name: item.iconName }, size: 18 })
|
|
34382
34383
|
}
|
|
34383
34384
|
),
|
|
34384
34385
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "min-w-0 flex-1", children: [
|