@flamingo-stack/openframe-frontend-core 0.0.772 → 0.0.774
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/build/export-map.json +1 -1
- package/dist/{chunk-ZVKJKWAB.cjs → chunk-4JZC624S.cjs} +226 -206
- package/dist/{chunk-JJNOAYD4.cjs → chunk-5AOKXXHV.cjs} +4 -4
- package/dist/{chunk-VZAOLKKF.cjs → chunk-5Z3XL2VU.cjs} +72 -72
- package/dist/{chunk-YI3CDGKM.cjs → chunk-BTVO676B.cjs} +148 -131
- package/dist/{chunk-TZ4GKUO2.cjs → chunk-CZIMISAR.cjs} +5 -1
- package/dist/{chunk-7FYOVKQD.cjs → chunk-E5E7IE7X.cjs} +12 -12
- package/dist/{chunk-XVFM6SJA.cjs → chunk-E64HPPRH.cjs} +31 -31
- package/dist/{chunk-CTRJNTYU.cjs → chunk-EQBJHJS7.cjs} +2 -2
- package/dist/{chunk-S3NEBAKD.cjs → chunk-HTSRAQVG.cjs} +4 -4
- package/dist/{chunk-FT5NPAZY.cjs → chunk-IQQ3SLUK.cjs} +19 -19
- package/dist/{chunk-RNLRS4ID.cjs → chunk-KKAY6GPU.cjs} +2 -2
- package/dist/{chunk-ILZEXCJH.cjs → chunk-KWZ62LPZ.cjs} +124 -104
- package/dist/{chunk-REFL3YNE.cjs → chunk-L5CKY5WA.cjs} +15 -15
- package/dist/{chunk-IHCHU355.cjs → chunk-LEVA5WO3.cjs} +39 -39
- package/dist/{chunk-CW3ML76U.cjs → chunk-NTPX5GXI.cjs} +4 -0
- package/dist/{chunk-J5ZNEAGY.cjs → chunk-NX7P2T2U.cjs} +15 -15
- package/dist/{chunk-E25TJPWV.cjs → chunk-Q6B2DC65.cjs} +3 -3
- package/dist/{chunk-QOEOY7BJ.cjs → chunk-Q7EXOVMT.cjs} +31 -31
- package/dist/{chunk-ZYGC2A7G.cjs → chunk-SWEPHSIP.cjs} +4 -4
- package/dist/{chunk-KSCEAIBS.cjs → chunk-TOPGBOCN.cjs} +2 -2
- package/dist/{chunk-W5LX7DFB.cjs → chunk-TTQHSSHF.cjs} +6 -6
- package/dist/{chunk-FPCGKH5K.cjs → chunk-TUXPFF4P.cjs} +31 -29
- package/dist/{chunk-QPK2433W.cjs → chunk-U332FL4C.cjs} +22 -22
- package/dist/{chunk-2MAENZL3.cjs → chunk-UAKXZ2KD.cjs} +47 -45
- package/dist/{chunk-HFNWBNLE.cjs → chunk-USMR73ND.cjs} +4 -4
- package/dist/{chunk-X5Z4HRH7.cjs → chunk-VISK6LKE.cjs} +2 -2
- package/dist/{chunk-UR3I3J5K.cjs → chunk-VWUQVJ2D.cjs} +81 -81
- package/dist/{chunk-5V7BIUGA.cjs → chunk-Y3EBUFX4.cjs} +92 -21
- package/dist/{chunk-5HBGBLJT.cjs → chunk-ZHGOXDA3.cjs} +63 -59
- package/dist/{cloud-tenants-CUNC5KBD.cjs → cloud-tenants-7RNZ6GHM.cjs} +11 -11
- package/dist/components/case-studies/index.cjs +28 -28
- package/dist/components/chat/ask-prompts.d.ts.map +1 -1
- package/dist/components/chat/ask-prompts.js +28 -19
- package/dist/components/chat/embeddable-chat.d.ts +3 -3
- package/dist/components/chat/embeddable-chat.js +7 -17
- package/dist/components/chat/entity-cards/entity-portrait-card.d.ts +3 -1
- package/dist/components/chat/entity-cards/entity-portrait-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/entity-portrait-card.js +2 -0
- package/dist/components/chat/entity-cards/program-card.d.ts +6 -1
- package/dist/components/chat/entity-cards/program-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/program-card.js +19 -2
- package/dist/components/chat/hooks/use-what-to-ask.d.ts +2 -2
- package/dist/components/chat/index.cjs +10 -8
- package/dist/components/chat/index.d.ts +1 -1
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/chat/index.js +10 -4
- package/dist/components/chat/utils/ask-ai-events.d.ts +10 -0
- package/dist/components/chat/utils/ask-ai-events.d.ts.map +1 -1
- package/dist/components/chat/utils/ask-ai-events.js +21 -1
- package/dist/components/contact/index.cjs +12 -12
- package/dist/components/docs/index.cjs +15 -15
- package/dist/components/embeds/index.cjs +12 -12
- package/dist/components/faq/index.cjs +13 -13
- package/dist/components/features/index.cjs +11 -11
- package/dist/components/features/video-hover-preview.d.ts.map +1 -1
- package/dist/components/features/video-hover-preview.js +5 -2
- package/dist/components/features/video-shared.d.ts +2 -1
- package/dist/components/features/video-shared.d.ts.map +1 -1
- package/dist/components/features/video.d.ts.map +1 -1
- package/dist/components/features/video.js +64 -13
- package/dist/components/help-center-pages/index.cjs +100 -100
- package/dist/components/index.cjs +63 -61
- package/dist/components/meeting-scheduler/index.cjs +46 -46
- package/dist/components/navigation/index.cjs +14 -14
- package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
- package/dist/components/navigation/mingo-ai-button.js +2 -1
- package/dist/components/navigation/site-header.d.ts.map +1 -1
- package/dist/components/navigation/site-header.js +3 -1
- package/dist/components/onboarding-guides/index.cjs +14 -14
- package/dist/components/product-demo/index.cjs +20 -20
- package/dist/components/related-content/index.cjs +7 -6
- package/dist/components/related-content/index.d.ts +2 -1
- package/dist/components/related-content/index.d.ts.map +1 -1
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/related-content/related-content-section.d.ts +8 -10
- package/dist/components/related-content/related-content-section.d.ts.map +1 -1
- package/dist/components/related-content/related-content-section.js +11 -7
- package/dist/components/tickets/index.cjs +17 -17
- package/dist/components/ui/index.cjs +13 -11
- package/dist/components/ui/photo-wall.d.ts +7 -0
- package/dist/components/ui/photo-wall.d.ts.map +1 -1
- package/dist/components/ui/photo-wall.js +16 -2
- package/dist/components/ui/tab-navigation.d.ts +8 -1
- package/dist/components/ui/tab-navigation.d.ts.map +1 -1
- package/dist/components/ui/tab-navigation.js +9 -3
- package/dist/{devices-TO4VUO7F.cjs → devices-NNDBC6IH.cjs} +12 -12
- package/dist/{embeddable-chat-CEAP424I.cjs → embeddable-chat-DI7ZZTBP.cjs} +82 -92
- package/dist/hooks/index.cjs +4 -4
- package/dist/hooks/use-near-viewport.d.ts.map +1 -1
- package/dist/hooks/use-near-viewport.js +4 -0
- package/dist/index.cjs +23 -15
- package/dist/{knowledge-CYJP4XYY.cjs → knowledge-DPUMWQED.cjs} +12 -12
- package/dist/{logs-NL3ZBQKC.cjs → logs-EE25MWYM.cjs} +19 -19
- package/dist/{policies-WTUV4EIT.cjs → policies-H5LPZWEM.cjs} +15 -15
- package/dist/{scripts-EE6MLBQP.cjs → scripts-YGO4LOES.cjs} +16 -16
- package/dist/{software-update-HX6PN4SB.cjs → software-update-5BEB62ZH.cjs} +14 -14
- package/dist/utils/content-ref-groups.d.ts +8 -0
- package/dist/utils/content-ref-groups.d.ts.map +1 -1
- package/dist/utils/content-ref-groups.js +2 -0
- package/dist/utils/dismiss-cookie.d.ts +14 -0
- package/dist/utils/dismiss-cookie.d.ts.map +1 -1
- package/dist/utils/dismiss-cookie.js +4 -0
- package/dist/utils/index.cjs +10 -0
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/visitor-os.d.ts +9 -0
- package/dist/utils/visitor-os.d.ts.map +1 -1
- package/dist/utils/visitor-os.js +4 -0
- package/dist/{video-file-player-COXRF4M5.cjs → video-file-player-4TXA7BZF.cjs} +3 -3
- package/package.json +1 -1
- package/src/components/chat/ask-prompts.tsx +6 -1
- package/src/components/chat/embeddable-chat.tsx +15 -28
- package/src/components/chat/entity-cards/entity-portrait-card.tsx +4 -0
- package/src/components/chat/entity-cards/program-card.tsx +24 -2
- package/src/components/chat/hooks/use-what-to-ask.ts +2 -2
- package/src/components/chat/index.ts +16 -9
- package/src/components/chat/utils/ask-ai-events.ts +26 -0
- package/src/components/features/video-hover-preview.tsx +46 -37
- package/src/components/features/video-shared.tsx +2 -1
- package/src/components/features/video.tsx +102 -19
- package/src/components/navigation/mingo-ai-button.tsx +2 -1
- package/src/components/navigation/site-header.tsx +3 -1
- package/src/components/related-content/index.ts +2 -1
- package/src/components/related-content/related-content-section.tsx +26 -12
- package/src/components/ui/photo-wall.tsx +24 -2
- package/src/components/ui/tab-navigation.tsx +18 -3
- package/src/hooks/use-near-viewport.ts +6 -0
- package/src/utils/content-ref-groups.ts +9 -0
- package/src/utils/dismiss-cookie.ts +17 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/visitor-os.ts +12 -0
|
@@ -53,7 +53,7 @@ var _chunkDEY6XXGOcjs = require('./chunk-DEY6XXGO.cjs');
|
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
|
|
56
|
-
var
|
|
56
|
+
var _chunkE64HPPRHcjs = require('./chunk-E64HPPRH.cjs');
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
|
|
@@ -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 _chunkTOPGBOCNcjs = require('./chunk-TOPGBOCN.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 _chunkBTVO676Bcjs = require('./chunk-BTVO676B.cjs');
|
|
120
120
|
|
|
121
121
|
|
|
122
122
|
|
|
@@ -139,7 +139,7 @@ var _chunkYI3CDGKMcjs = require('./chunk-YI3CDGKM.cjs');
|
|
|
139
139
|
|
|
140
140
|
|
|
141
141
|
|
|
142
|
-
var
|
|
142
|
+
var _chunkKWZ62LPZcjs = require('./chunk-KWZ62LPZ.cjs');
|
|
143
143
|
|
|
144
144
|
|
|
145
145
|
|
|
@@ -464,7 +464,7 @@ var _chunkXIBCMGBWcjs = require('./chunk-XIBCMGBW.cjs');
|
|
|
464
464
|
|
|
465
465
|
|
|
466
466
|
|
|
467
|
-
var
|
|
467
|
+
var _chunkCZIMISARcjs = require('./chunk-CZIMISAR.cjs');
|
|
468
468
|
|
|
469
469
|
|
|
470
470
|
|
|
@@ -503,7 +503,7 @@ var _chunkSKI6NKOEcjs = require('./chunk-SKI6NKOE.cjs');
|
|
|
503
503
|
|
|
504
504
|
|
|
505
505
|
|
|
506
|
-
var
|
|
506
|
+
var _chunkY3EBUFX4cjs = require('./chunk-Y3EBUFX4.cjs');
|
|
507
507
|
|
|
508
508
|
|
|
509
509
|
|
|
@@ -541,7 +541,7 @@ var _chunk3LW5TD54cjs = require('./chunk-3LW5TD54.cjs');
|
|
|
541
541
|
|
|
542
542
|
|
|
543
543
|
|
|
544
|
-
var
|
|
544
|
+
var _chunkNTPX5GXIcjs = require('./chunk-NTPX5GXI.cjs');
|
|
545
545
|
|
|
546
546
|
|
|
547
547
|
|
|
@@ -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 = _chunkKWZ62LPZcjs.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]);
|
|
@@ -2404,7 +2404,7 @@ function InfoCardFooter({ footer }) {
|
|
|
2404
2404
|
] });
|
|
2405
2405
|
}
|
|
2406
2406
|
function InfoCardValueRow({ label, value, showLabel, copyable, icon, copyAriaLabel }) {
|
|
2407
|
-
const { copy, copied } =
|
|
2407
|
+
const { copy, copied } = _chunkE64HPPRHcjs.useCopyToClipboard.call(void 0, );
|
|
2408
2408
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: VALUE_ROW_CLASS, children: [
|
|
2409
2409
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-primary text-h4", children: showLabel ? label : "" }),
|
|
2410
2410
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DIVIDER_CLASS }),
|
|
@@ -4525,7 +4525,7 @@ function AdminFormDrawer({
|
|
|
4525
4525
|
"form",
|
|
4526
4526
|
{
|
|
4527
4527
|
id: formId,
|
|
4528
|
-
...
|
|
4528
|
+
..._chunkBTVO676Bcjs.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
|
+
..._chunkBTVO676Bcjs.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();
|
|
@@ -5507,7 +5507,13 @@ function TabNavigationSkeleton({
|
|
|
5507
5507
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, STRIP_BORDER_CLASS, "bg-ods-border") })
|
|
5508
5508
|
] });
|
|
5509
5509
|
}
|
|
5510
|
-
function TabNavigation({
|
|
5510
|
+
function TabNavigation(props) {
|
|
5511
|
+
return props.urlSync ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UrlSyncedTabNavigation, { ...props }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabNavigationBody, { ...props, searchParams: null });
|
|
5512
|
+
}
|
|
5513
|
+
function UrlSyncedTabNavigation(props) {
|
|
5514
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabNavigationBody, { ...props, searchParams: _chunk7DNL734Scjs.useSearchParams.call(void 0, ) });
|
|
5515
|
+
}
|
|
5516
|
+
function TabNavigationBody({
|
|
5511
5517
|
activeTab: controlledActiveTab,
|
|
5512
5518
|
onTabChange: controlledOnTabChange,
|
|
5513
5519
|
tabs,
|
|
@@ -5522,13 +5528,13 @@ function TabNavigation({
|
|
|
5522
5528
|
urlSync = false,
|
|
5523
5529
|
defaultTab,
|
|
5524
5530
|
staticLabels = false,
|
|
5525
|
-
children
|
|
5531
|
+
children,
|
|
5532
|
+
searchParams
|
|
5526
5533
|
}) {
|
|
5527
5534
|
const providedVariant = _react.useContext.call(void 0, TabNavigationVariantContext);
|
|
5528
5535
|
const variant = _nullishCoalesce(variantProp, () => ( providedVariant));
|
|
5529
5536
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
5530
5537
|
const pathname = _chunk7DNL734Scjs.usePathname.call(void 0, );
|
|
5531
|
-
const searchParams = _chunk7DNL734Scjs.useSearchParams.call(void 0, );
|
|
5532
5538
|
const isUrlSyncEnabled = !!urlSync;
|
|
5533
5539
|
const paramName = typeof urlSync === "object" ? urlSync.paramName || "tab" : "tab";
|
|
5534
5540
|
const replaceState = typeof urlSync === "object" ? urlSync.replaceState !== false : true;
|
|
@@ -6022,7 +6028,7 @@ function EmbedViewerFrame({
|
|
|
6022
6028
|
const controllerRef = _react.useRef.call(void 0, null);
|
|
6023
6029
|
_react.useEffect.call(void 0, () => {
|
|
6024
6030
|
if (!fullscreenControl) return void 0;
|
|
6025
|
-
const controller = new (0,
|
|
6031
|
+
const controller = new (0, _chunkBTVO676Bcjs.FullscreenSwitchController)({
|
|
6026
6032
|
target: () => frameRef.current,
|
|
6027
6033
|
onFullscreenChange: setIsFullscreen
|
|
6028
6034
|
});
|
|
@@ -6116,9 +6122,9 @@ var KIND_HEADING = {
|
|
|
6116
6122
|
design: "Claude Design"
|
|
6117
6123
|
};
|
|
6118
6124
|
function ClaudeEmbed({ url, kind = "artifact", title, height, loading = "lazy" }) {
|
|
6119
|
-
const { src: mirrorSrc, status } =
|
|
6125
|
+
const { src: mirrorSrc, status } = _chunkE64HPPRHcjs.useClaudeMirrorSrc.call(void 0, url);
|
|
6120
6126
|
const isProbing = status === "probing";
|
|
6121
|
-
const embedUrl = isProbing ? null : _nullishCoalesce(mirrorSrc, () => (
|
|
6127
|
+
const embedUrl = isProbing ? null : _nullishCoalesce(mirrorSrc, () => ( _chunkCZIMISARcjs.toClaudeEmbedUrl.call(void 0, url)));
|
|
6122
6128
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6123
6129
|
EmbedViewerFrame,
|
|
6124
6130
|
{
|
|
@@ -6193,12 +6199,12 @@ function SlidesViewToggle({ view, onChange }) {
|
|
|
6193
6199
|
}
|
|
6194
6200
|
function FigmaEmbed({ url, title, height, loading = "lazy" }) {
|
|
6195
6201
|
const [view, setView] = _react.useState.call(void 0, "present");
|
|
6196
|
-
const isSlides = url ?
|
|
6197
|
-
const embedSrc = url ?
|
|
6202
|
+
const isSlides = url ? _chunkCZIMISARcjs.isFigmaSlidesUrl.call(void 0, url) : false;
|
|
6203
|
+
const embedSrc = url ? _chunkCZIMISARcjs.toFigmaEmbedUrl.call(void 0, url, { slidesView: view }) : null;
|
|
6198
6204
|
const originalUrl = (() => {
|
|
6199
6205
|
if (!url) return null;
|
|
6200
6206
|
try {
|
|
6201
|
-
const parsed = new URL(
|
|
6207
|
+
const parsed = new URL(_chunkCZIMISARcjs.toFigmaOriginalUrl.call(void 0, url));
|
|
6202
6208
|
const host = parsed.hostname.toLowerCase();
|
|
6203
6209
|
const okHost = host === "figma.com" || host.endsWith(".figma.com");
|
|
6204
6210
|
const okProtocol = parsed.protocol === "https:" || parsed.protocol === "http:";
|
|
@@ -7066,7 +7072,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
|
|
|
7066
7072
|
};
|
|
7067
7073
|
const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
|
|
7068
7074
|
const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7069
|
-
|
|
7075
|
+
_chunkY3EBUFX4cjs.Video,
|
|
7070
7076
|
{
|
|
7071
7077
|
url: item.src,
|
|
7072
7078
|
poster: item.poster ? displayImageSrc(item.poster) : void 0,
|
|
@@ -7261,7 +7267,7 @@ var formatTimeAgo = (timestamp) => {
|
|
|
7261
7267
|
return `${Math.floor(diffSeconds / 86400)}d ago`;
|
|
7262
7268
|
};
|
|
7263
7269
|
function RedditEmbedClient({ url, maxWidth = 700, rel }) {
|
|
7264
|
-
const postLinkRel =
|
|
7270
|
+
const postLinkRel = _chunkKWZ62LPZcjs.renderedLinkRel.call(void 0, rel, true);
|
|
7265
7271
|
const { redditProxyUrl } = useRichMarkdownRuntime();
|
|
7266
7272
|
const [redditData, setRedditData] = _react.useState.call(void 0, null);
|
|
7267
7273
|
const [loading, setLoading] = _react.useState.call(void 0, true);
|
|
@@ -7593,7 +7599,7 @@ var UserIcon3 = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { wid
|
|
|
7593
7599
|
] });
|
|
7594
7600
|
var XIcon = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2TEMEXDTcjs.XLogoIcon, { className: "h-5 w-5", color: "currentColor" });
|
|
7595
7601
|
function TwitterEmbedClient({ url, tweetId, maxWidth = 700, rel }) {
|
|
7596
|
-
const postLinkRel =
|
|
7602
|
+
const postLinkRel = _chunkKWZ62LPZcjs.renderedLinkRel.call(void 0, rel, true);
|
|
7597
7603
|
const { twitterProxyUrl } = useRichMarkdownRuntime();
|
|
7598
7604
|
const [tweetData, setTweetData] = _react.useState.call(void 0, null);
|
|
7599
7605
|
const [fetchLoading, setLoading] = _react.useState.call(void 0, true);
|
|
@@ -7795,7 +7801,7 @@ function buildRichEmbedOverrides({
|
|
|
7795
7801
|
ogEndpointPath,
|
|
7796
7802
|
textSizes
|
|
7797
7803
|
}) {
|
|
7798
|
-
const standard =
|
|
7804
|
+
const standard = _chunkKWZ62LPZcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7799
7805
|
return {
|
|
7800
7806
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7801
7807
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7805,7 +7811,7 @@ function buildRichEmbedOverrides({
|
|
|
7805
7811
|
const language = match ? match[1] : "";
|
|
7806
7812
|
const fenceText = () => String(children).replace(/\n$/, "").trim();
|
|
7807
7813
|
if (language === "youtube-embed") {
|
|
7808
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7814
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.Video, { kind: "youtube", url: fenceText() });
|
|
7809
7815
|
}
|
|
7810
7816
|
if (language === "reddit-embed") {
|
|
7811
7817
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
|
|
@@ -7846,7 +7852,7 @@ function buildRichEmbedOverrides({
|
|
|
7846
7852
|
"data-figma-url": figmaUrl
|
|
7847
7853
|
} = divProps;
|
|
7848
7854
|
if (className === "youtube-embed" && videoId) {
|
|
7849
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7855
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.Video, { kind: "youtube", url: videoId });
|
|
7850
7856
|
}
|
|
7851
7857
|
if (className === "reddit-embed" && postUrl) {
|
|
7852
7858
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
|
|
@@ -7931,23 +7937,23 @@ function buildRichEmbedOverrides({
|
|
|
7931
7937
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7932
7938
|
// elsewhere). Guard against empty `![]()`.
|
|
7933
7939
|
img: ({ src, alt }) => {
|
|
7934
|
-
if (!
|
|
7940
|
+
if (!_chunkKWZ62LPZcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7935
7941
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7936
7942
|
},
|
|
7937
7943
|
// Raw <iframe> tags in stored content (a pasted YouTube embed). A YouTube one becomes the same click-to-play
|
|
7938
7944
|
// facade as the `youtube-embed` fence: the raw iframe loaded YouTube's whole player (about 470 KB of script) with
|
|
7939
7945
|
// the page, on every post that carried one (CU-17tkuw5xp4q). Any other iframe loads when it nears the screen.
|
|
7940
7946
|
iframe: ({ node: _node, src, ...rest }) => {
|
|
7941
|
-
if (!
|
|
7947
|
+
if (!_chunkKWZ62LPZcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7942
7948
|
const url = src.trim();
|
|
7943
|
-
if (
|
|
7949
|
+
if (_chunkY3EBUFX4cjs.extractYouTubeId.call(void 0, url)) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.Video, { kind: "youtube", url });
|
|
7944
7950
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "iframe", { ...rest, src: url, loading: "lazy" });
|
|
7945
7951
|
},
|
|
7946
7952
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
7947
7953
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
7948
7954
|
video: ({ src, poster, className }) => {
|
|
7949
|
-
if (!
|
|
7950
|
-
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 (!_chunkKWZ62LPZcjs.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, _chunkY3EBUFX4cjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
7951
7957
|
}
|
|
7952
7958
|
};
|
|
7953
7959
|
}
|
|
@@ -8055,7 +8061,7 @@ var processShortcodes = (content) => {
|
|
|
8055
8061
|
try {
|
|
8056
8062
|
const urlObj = new URL(url);
|
|
8057
8063
|
const hostname = urlObj.hostname.toLowerCase();
|
|
8058
|
-
const hostIs = (domain) =>
|
|
8064
|
+
const hostIs = (domain) => _chunkBTVO676Bcjs.hostMatches.call(void 0, hostname, domain);
|
|
8059
8065
|
const isYouTubeVideo = hostIs("youtube.com") && urlObj.searchParams.has("v") || hostIs("youtu.be");
|
|
8060
8066
|
if (isYouTubeVideo || hostIs("reddit.com") || hostIs("twitter.com") || hostIs("x.com") || hostIs("figma.com")) {
|
|
8061
8067
|
return match;
|
|
@@ -8132,13 +8138,13 @@ var RichMarkdownInner = ({
|
|
|
8132
8138
|
},
|
|
8133
8139
|
[resolveLinkEndpointUrl, resolveSource]
|
|
8134
8140
|
);
|
|
8135
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
8141
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunkKWZ62LPZcjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
8136
8142
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
8137
8143
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
8138
8144
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
8139
8145
|
);
|
|
8140
8146
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8141
|
-
|
|
8147
|
+
_chunkKWZ62LPZcjs.MarkdownEngine,
|
|
8142
8148
|
{
|
|
8143
8149
|
content,
|
|
8144
8150
|
className,
|
|
@@ -8162,7 +8168,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
8162
8168
|
className = "",
|
|
8163
8169
|
sectionIds,
|
|
8164
8170
|
onInternalLinkClick,
|
|
8165
|
-
brokenLinks =
|
|
8171
|
+
brokenLinks = _chunkKWZ62LPZcjs.NO_BROKEN_LINKS,
|
|
8166
8172
|
currentPath,
|
|
8167
8173
|
resolveSource = "openframe-docs",
|
|
8168
8174
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -8207,7 +8213,7 @@ function RichMarkdownRendererSkeleton({
|
|
|
8207
8213
|
title,
|
|
8208
8214
|
className
|
|
8209
8215
|
}) {
|
|
8210
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8216
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKWZ62LPZcjs.MarkdownEngineSkeleton, { sections, title, textSize: "article", className });
|
|
8211
8217
|
}
|
|
8212
8218
|
|
|
8213
8219
|
// src/components/ui/release-changelog-section.tsx
|
|
@@ -9292,7 +9298,7 @@ function FilterModal({
|
|
|
9292
9298
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _147 => _147.defaultSort]), () => ( "desc"));
|
|
9293
9299
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _148 => _148.sort]), () => ( dateDefaultSort)));
|
|
9294
9300
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _149 => _149.range]));
|
|
9295
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
9301
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkKWZ62LPZcjs.useScrollFade.call(void 0, );
|
|
9296
9302
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
9297
9303
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
9298
9304
|
_react.useEffect.call(void 0, () => {
|
|
@@ -9438,8 +9444,8 @@ function FilterModal({
|
|
|
9438
9444
|
] })
|
|
9439
9445
|
}
|
|
9440
9446
|
),
|
|
9441
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9442
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9447
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKWZ62LPZcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
9448
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKWZ62LPZcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
9443
9449
|
] })
|
|
9444
9450
|
}
|
|
9445
9451
|
),
|
|
@@ -9507,7 +9513,7 @@ function renderAdvancedPageContainer({
|
|
|
9507
9513
|
contentClassName,
|
|
9508
9514
|
showHeader = true
|
|
9509
9515
|
}, inScope = false) {
|
|
9510
|
-
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: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }) : inScope && title === "" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageContainerTitleSkeleton, {}) : null;
|
|
9511
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;
|
|
9512
9518
|
const getActionsVariant = () => {
|
|
9513
9519
|
if (actionsVariant) return actionsVariant;
|
|
@@ -9933,7 +9939,7 @@ var BenefitCardGrid = ({ children, className = "", columns = 2 }) => {
|
|
|
9933
9939
|
|
|
9934
9940
|
|
|
9935
9941
|
function PlatformBrowseButton({ item }) {
|
|
9936
|
-
const linkProps =
|
|
9942
|
+
const linkProps = _chunkKWZ62LPZcjs.useNavLinkViaRuntime.call(void 0, { href: item.link, targetPlatform: item.targetPlatform });
|
|
9937
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: [
|
|
9938
9944
|
"Browse ",
|
|
9939
9945
|
item.buttonText
|
|
@@ -10430,10 +10436,10 @@ var OSTypeBadge = ({
|
|
|
10430
10436
|
if (!osType) {
|
|
10431
10437
|
return labelOnly ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, "text-ods-text-secondary", className), children: "Unknown" }) : null;
|
|
10432
10438
|
}
|
|
10433
|
-
const normalized =
|
|
10439
|
+
const normalized = _chunkBTVO676Bcjs.normalizeOSType.call(void 0, osType);
|
|
10434
10440
|
if (!normalized && !labelOnly) return null;
|
|
10435
|
-
const label =
|
|
10436
|
-
const IconComponent =
|
|
10441
|
+
const label = _chunkBTVO676Bcjs.getOSLabel.call(void 0, osType);
|
|
10442
|
+
const IconComponent = _chunkBTVO676Bcjs.getOSIcon.call(void 0, osType);
|
|
10437
10443
|
if (iconOnly && IconComponent) {
|
|
10438
10444
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: _chunk65VVJSQZcjs.cn.call(void 0, iconSize, "text-ods-text-secondary", className) });
|
|
10439
10445
|
}
|
|
@@ -10718,7 +10724,7 @@ function ComplianceLogo({
|
|
|
10718
10724
|
fallback = null,
|
|
10719
10725
|
className
|
|
10720
10726
|
}) {
|
|
10721
|
-
const standard =
|
|
10727
|
+
const standard = _chunkBTVO676Bcjs.complianceStandardForName.call(void 0, ...names);
|
|
10722
10728
|
if (!standard) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: fallback });
|
|
10723
10729
|
const Official = standard.logo ? COMPLIANCE_LOGOS[standard.logo] : null;
|
|
10724
10730
|
return Official ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -10797,7 +10803,7 @@ function FeatureCardGridView({
|
|
|
10797
10803
|
if (allCardsHaveNoBorders) {
|
|
10798
10804
|
finalCardClassName = "bg-transparent p-0 overflow-visible border-0 shadow-none rounded-none";
|
|
10799
10805
|
}
|
|
10800
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10806
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
|
|
10801
10807
|
const startIndex = rowIndex * itemsPerRow;
|
|
10802
10808
|
const rowItems = items.slice(startIndex, startIndex + itemsPerRow);
|
|
10803
10809
|
const isLastRow = rowIndex === rows - 1;
|
|
@@ -10831,7 +10837,7 @@ function FeatureCardGridView({
|
|
|
10831
10837
|
item.icon && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between", children: [
|
|
10832
10838
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, item.icon, { size: 80, color: item.iconColor }),
|
|
10833
10839
|
item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10834
|
-
|
|
10840
|
+
_chunkY3EBUFX4cjs.StatusBadge,
|
|
10835
10841
|
{
|
|
10836
10842
|
text: item.badge.text,
|
|
10837
10843
|
variant: item.badge.variant || "card",
|
|
@@ -10840,7 +10846,7 @@ function FeatureCardGridView({
|
|
|
10840
10846
|
)
|
|
10841
10847
|
] }),
|
|
10842
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,
|
|
10843
|
-
|
|
10849
|
+
_chunkY3EBUFX4cjs.StatusBadge,
|
|
10844
10850
|
{
|
|
10845
10851
|
text: item.badge.text,
|
|
10846
10852
|
variant: item.badge.variant || "card",
|
|
@@ -11605,7 +11611,7 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
|
|
|
11605
11611
|
}
|
|
11606
11612
|
function ServiceCardRowItem({ row }) {
|
|
11607
11613
|
const [revealed, setRevealed] = _react.useState.call(void 0, false);
|
|
11608
|
-
const { copy, copied } =
|
|
11614
|
+
const { copy, copied } = _chunkE64HPPRHcjs.useCopyToClipboard.call(void 0, );
|
|
11609
11615
|
const { ref: valueRef, isTruncated: valueTruncated } = _chunk5P4TDV7Vcjs.useIsTruncated.call(void 0, row.value);
|
|
11610
11616
|
const actions = _react.useMemo.call(void 0,
|
|
11611
11617
|
() => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }),
|
|
@@ -12503,7 +12509,7 @@ function TableHeader({
|
|
|
12503
12509
|
onFilterChange
|
|
12504
12510
|
}
|
|
12505
12511
|
),
|
|
12506
|
-
column.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12512
|
+
column.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBTVO676Bcjs.InfoHint, { label: column.label, children: column.hint }) : null
|
|
12507
12513
|
] })
|
|
12508
12514
|
) : (
|
|
12509
12515
|
/* Non-filterable column — regular label with optional sort */
|
|
@@ -12529,7 +12535,7 @@ function TableHeader({
|
|
|
12529
12535
|
hint exists, so a hint-less header keeps its DOM. */
|
|
12530
12536
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
12531
12537
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TABLE_HEADER_LABEL_CLASS, children: column.label }),
|
|
12532
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12538
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBTVO676Bcjs.InfoHint, { label: column.label, children: column.hint })
|
|
12533
12539
|
] })
|
|
12534
12540
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TABLE_HEADER_LABEL_CLASS, children: column.label }),
|
|
12535
12541
|
getSortIcon(column)
|
|
@@ -12639,7 +12645,7 @@ function TableRow({
|
|
|
12639
12645
|
const Row = animate && motionDiv ? motionDiv : "div";
|
|
12640
12646
|
const motionProps = animate ? { layout: "position", transition: { layout: { duration: 0.35, ease: [0.22, 1, 0.36, 1] } } } : {};
|
|
12641
12647
|
const handleRowClick = (e) => {
|
|
12642
|
-
if (!
|
|
12648
|
+
if (!_chunkBTVO676Bcjs.isOwnClick.call(void 0, e.target, e.currentTarget)) return;
|
|
12643
12649
|
if (onClick) {
|
|
12644
12650
|
onClick(item);
|
|
12645
12651
|
}
|
|
@@ -13036,7 +13042,7 @@ function Table({
|
|
|
13036
13042
|
}
|
|
13037
13043
|
),
|
|
13038
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,
|
|
13039
|
-
|
|
13045
|
+
_chunkTOPGBOCNcjs.Pagination,
|
|
13040
13046
|
{
|
|
13041
13047
|
currentPage: pagePagination.currentPage,
|
|
13042
13048
|
totalPages: pagePagination.totalPages,
|
|
@@ -13418,7 +13424,7 @@ function DataTableRowImpl({
|
|
|
13418
13424
|
const containerRef = _react.useRef.call(void 0, null);
|
|
13419
13425
|
const handleClick = _react.useCallback.call(void 0,
|
|
13420
13426
|
(e) => {
|
|
13421
|
-
if (!
|
|
13427
|
+
if (!_chunkBTVO676Bcjs.isOwnClick.call(void 0, e.target, containerRef.current)) {
|
|
13422
13428
|
if (isLinkMode) e.preventDefault();
|
|
13423
13429
|
return;
|
|
13424
13430
|
}
|
|
@@ -13869,7 +13875,7 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
13869
13875
|
// child of the cell.
|
|
13870
13876
|
_optionalChain([meta, 'optionalAccess', _241 => _241.hint]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
13871
13877
|
filterTrigger,
|
|
13872
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13878
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBTVO676Bcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
|
|
13873
13879
|
] }) : filterTrigger
|
|
13874
13880
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13875
13881
|
"div",
|
|
@@ -13894,7 +13900,7 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
13894
13900
|
// centred on the row.
|
|
13895
13901
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
13896
13902
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
13897
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13903
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBTVO676Bcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
|
|
13898
13904
|
] })
|
|
13899
13905
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
13900
13906
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -14128,7 +14134,7 @@ function PhoneInput({
|
|
|
14128
14134
|
placeholder = "Phone Number (optional)",
|
|
14129
14135
|
onKeyDown
|
|
14130
14136
|
}) {
|
|
14131
|
-
const { priority, others } = _react.useMemo.call(void 0, () =>
|
|
14137
|
+
const { priority, others } = _react.useMemo.call(void 0, () => _chunkBTVO676Bcjs.getCountryPhoneData.call(void 0, ), []);
|
|
14132
14138
|
const selectedCountry = _react.useMemo.call(void 0,
|
|
14133
14139
|
() => [...priority, ...others].find((c) => c.code === countryCode),
|
|
14134
14140
|
[countryCode, priority, others]
|
|
@@ -14143,7 +14149,7 @@ function PhoneInput({
|
|
|
14143
14149
|
_optionalChain([onValidationChange, 'optionalCall', _254 => _254(false)]);
|
|
14144
14150
|
return;
|
|
14145
14151
|
}
|
|
14146
|
-
const invalid = !
|
|
14152
|
+
const invalid = !_chunkBTVO676Bcjs.validatePhoneNumber.call(void 0, phone, countryCode);
|
|
14147
14153
|
setIsInvalid(invalid);
|
|
14148
14154
|
_optionalChain([onValidationChange, 'optionalCall', _255 => _255(invalid)]);
|
|
14149
14155
|
},
|
|
@@ -15009,7 +15015,7 @@ function MarkdownLinkDialog({ isOpen, initial, editing, onSubmit, onRemove, onCl
|
|
|
15009
15015
|
),
|
|
15010
15016
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xsf)]", children: [
|
|
15011
15017
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15012
|
-
|
|
15018
|
+
_chunkKWZ62LPZcjs.TabSelector,
|
|
15013
15019
|
{
|
|
15014
15020
|
label: "Search engines",
|
|
15015
15021
|
value: choice,
|
|
@@ -15066,7 +15072,7 @@ function useMarkdownLinkCommand() {
|
|
|
15066
15072
|
buttonProps: { "aria-label": "Add or edit a link (ctrl + l)", title: "Add or edit a link (ctrl + l)" },
|
|
15067
15073
|
icon: command.icon,
|
|
15068
15074
|
execute: (state, api) => {
|
|
15069
|
-
const existing =
|
|
15075
|
+
const existing = _chunkKWZ62LPZcjs.findMarkdownLinkAt.call(void 0, state.text, state.selection.start, state.selection.end);
|
|
15070
15076
|
setPending(
|
|
15071
15077
|
existing ? {
|
|
15072
15078
|
api,
|
|
@@ -15097,7 +15103,7 @@ function useMarkdownLinkCommand() {
|
|
|
15097
15103
|
initial: _nullishCoalesce(_optionalChain([pending, 'optionalAccess', _312 => _312.initial]), () => ( EMPTY_LINK)),
|
|
15098
15104
|
editing: _nullishCoalesce(_optionalChain([pending, 'optionalAccess', _313 => _313.editing]), () => ( false)),
|
|
15099
15105
|
onSubmit: (link) => {
|
|
15100
|
-
if (pending) write(pending,
|
|
15106
|
+
if (pending) write(pending, _chunkKWZ62LPZcjs.formatMarkdownLink.call(void 0, link));
|
|
15101
15107
|
},
|
|
15102
15108
|
onRemove: () => {
|
|
15103
15109
|
if (pending) write(pending, pending.initial.text);
|
|
@@ -15263,7 +15269,7 @@ function MarkdownEditor({
|
|
|
15263
15269
|
setUploadProgress(`Uploading ${file.name}...`);
|
|
15264
15270
|
try {
|
|
15265
15271
|
const url = await onUploadFile(file);
|
|
15266
|
-
const isImage =
|
|
15272
|
+
const isImage = _chunkY3EBUFX4cjs.fileMediaType.call(void 0, file) === "image";
|
|
15267
15273
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
15268
15274
|
insertTextAtCursor(markdown);
|
|
15269
15275
|
_optionalChain([onFileUploaded, 'optionalCall', _316 => _316(url, file.name)]);
|
|
@@ -15393,7 +15399,7 @@ function MarkdownEditor({
|
|
|
15393
15399
|
type: "file",
|
|
15394
15400
|
className: "hidden",
|
|
15395
15401
|
onChange: handleFileInputChange,
|
|
15396
|
-
accept: `${
|
|
15402
|
+
accept: `${_chunkY3EBUFX4cjs.IMAGE_FILE_ACCEPT},.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.zip,.txt`
|
|
15397
15403
|
}
|
|
15398
15404
|
),
|
|
15399
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,
|
|
@@ -15794,7 +15800,7 @@ function matchesAccept2(file, accept) {
|
|
|
15794
15800
|
return patterns.some((pattern) => {
|
|
15795
15801
|
if (pattern.startsWith(".")) return fileName.endsWith(pattern);
|
|
15796
15802
|
if (pattern.endsWith("/*"))
|
|
15797
|
-
return fileType.startsWith(pattern.slice(0, -1)) ||
|
|
15803
|
+
return fileType.startsWith(pattern.slice(0, -1)) || _chunkY3EBUFX4cjs.fileMediaType.call(void 0, file) === pattern.slice(0, -2);
|
|
15798
15804
|
return fileType === pattern;
|
|
15799
15805
|
});
|
|
15800
15806
|
}
|
|
@@ -15802,7 +15808,7 @@ function ImageUploader({
|
|
|
15802
15808
|
value,
|
|
15803
15809
|
onChange,
|
|
15804
15810
|
onRemove,
|
|
15805
|
-
accept =
|
|
15811
|
+
accept = _chunkY3EBUFX4cjs.IMAGE_FILE_ACCEPT,
|
|
15806
15812
|
maxSize = DEFAULT_MAX_SIZE,
|
|
15807
15813
|
label = "Cover Image",
|
|
15808
15814
|
description = "(Click Here or Drag and Drop)",
|
|
@@ -16422,7 +16428,7 @@ var SKELETON_COLUMNS = 6;
|
|
|
16422
16428
|
function TestResultsSkeleton({
|
|
16423
16429
|
region = true
|
|
16424
16430
|
} = {}) {
|
|
16425
|
-
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, _chunkKWZ62LPZcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
16426
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}`)) }),
|
|
16427
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}`)) }) })
|
|
16428
16434
|
] }) }) });
|
|
@@ -16457,13 +16463,13 @@ function TestResultsTable({ rows, loading }) {
|
|
|
16457
16463
|
if (loading) {
|
|
16458
16464
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
16459
16465
|
}
|
|
16460
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16466
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKWZ62LPZcjs.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: [
|
|
16461
16467
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
16462
16468
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
16463
16469
|
] }) }) });
|
|
16464
16470
|
}
|
|
16465
16471
|
function TestRunErrorBanner({ error, className }) {
|
|
16466
|
-
const { copy } =
|
|
16472
|
+
const { copy } = _chunkE64HPPRHcjs.useCopyToClipboard.call(void 0, { successDescription: "Error message copied to clipboard" });
|
|
16467
16473
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16468
16474
|
"div",
|
|
16469
16475
|
{
|
|
@@ -16940,7 +16946,7 @@ function TicketInfoSection({
|
|
|
16940
16946
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16941
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" }) }),
|
|
16942
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: [
|
|
16943
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16949
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKWZ62LPZcjs.SimpleMarkdownRenderer, { content: description }),
|
|
16944
16950
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
16945
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)) }) }),
|
|
16946
16952
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17381,8 +17387,22 @@ function PhotoWall({
|
|
|
17381
17387
|
}, [images, requestWidth, inScope]);
|
|
17382
17388
|
const drawnWidth = _nullishCoalesce(requestWidth, () => ( void 0));
|
|
17383
17389
|
const drawnUrl = _react.useCallback.call(void 0, (url) => drawnWidth ? _chunkE76ONBKFcjs.resizedImageUrl.call(void 0, url, drawnWidth) : url, [drawnWidth]);
|
|
17384
|
-
const
|
|
17385
|
-
|
|
17390
|
+
const known = _react.useMemo.call(void 0, () => {
|
|
17391
|
+
const byUrl = /* @__PURE__ */ new Map();
|
|
17392
|
+
for (const image of unique) {
|
|
17393
|
+
if (image.width && image.height) byUrl.set(drawnUrl(image.url), photoOrientation(image.width, image.height));
|
|
17394
|
+
}
|
|
17395
|
+
return byUrl;
|
|
17396
|
+
}, [unique, drawnUrl]);
|
|
17397
|
+
const urls = _react.useMemo.call(void 0,
|
|
17398
|
+
() => unique.map((image) => drawnUrl(image.url)).filter((url) => !known.has(url)),
|
|
17399
|
+
[unique, drawnUrl, known]
|
|
17400
|
+
);
|
|
17401
|
+
const probed = usePhotoOrientations(urls);
|
|
17402
|
+
const orientations = _react.useMemo.call(void 0, () => {
|
|
17403
|
+
if (urls.length === 0) return known;
|
|
17404
|
+
return probed ? new Map([...known, ...probed]) : null;
|
|
17405
|
+
}, [urls, known, probed]);
|
|
17386
17406
|
const layout = _react.useMemo.call(void 0, () => {
|
|
17387
17407
|
if (!orientations) return null;
|
|
17388
17408
|
const photos = unique.flatMap((image) => {
|
|
@@ -17409,7 +17429,7 @@ function PhotoWall({
|
|
|
17409
17429
|
gap: COLUMN_GAP_PX
|
|
17410
17430
|
};
|
|
17411
17431
|
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,
|
|
17412
|
-
|
|
17432
|
+
_chunkKWZ62LPZcjs.MarqueeWall,
|
|
17413
17433
|
{
|
|
17414
17434
|
axis: "y",
|
|
17415
17435
|
reverse: index % 2 === 1,
|
|
@@ -17536,9 +17556,9 @@ function LazyMount({
|
|
|
17536
17556
|
placeholder = null,
|
|
17537
17557
|
className,
|
|
17538
17558
|
style,
|
|
17539
|
-
rootMargin =
|
|
17559
|
+
rootMargin = _chunkNTPX5GXIcjs.NEAR_VIEWPORT_ROOT_MARGIN
|
|
17540
17560
|
}) {
|
|
17541
|
-
const { ref, isNear } =
|
|
17561
|
+
const { ref, isNear } = _chunkNTPX5GXIcjs.useNearViewport.call(void 0, rootMargin);
|
|
17542
17562
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className, style, children: isNear ? children : placeholder });
|
|
17543
17563
|
}
|
|
17544
17564
|
|
|
@@ -17956,7 +17976,7 @@ var TRIAL_TERM_ICONS = {
|
|
|
17956
17976
|
};
|
|
17957
17977
|
var DEFAULT_TRIAL_TERMS = ["cancel", "length", "noContract"];
|
|
17958
17978
|
function trialBenefits(trialDays, terms = DEFAULT_TRIAL_TERMS) {
|
|
17959
|
-
const labels =
|
|
17979
|
+
const labels = _chunkBTVO676Bcjs.trialLabels.call(void 0, trialDays);
|
|
17960
17980
|
return terms.flatMap((term) => {
|
|
17961
17981
|
const label = labels[term];
|
|
17962
17982
|
return label ? [{ icon: TRIAL_TERM_ICONS[term], label }] : [];
|
|
@@ -18211,7 +18231,7 @@ function SnapCarousel({
|
|
|
18211
18231
|
}, [count, slideStep]);
|
|
18212
18232
|
const canAutoAdvance = autoAdvanceMs > 0 && count > 1;
|
|
18213
18233
|
const playing = auto.playing && canAutoAdvance;
|
|
18214
|
-
const ranMs =
|
|
18234
|
+
const ranMs = _chunkE64HPPRHcjs.useResumableTimeout.call(void 0, {
|
|
18215
18235
|
running: playing,
|
|
18216
18236
|
durationMs: autoAdvanceMs,
|
|
18217
18237
|
resetKey: index,
|
|
@@ -18595,10 +18615,10 @@ function AccountDetailsFields({
|
|
|
18595
18615
|
onKeyDown,
|
|
18596
18616
|
layout = "stacked"
|
|
18597
18617
|
}) {
|
|
18598
|
-
const firstNameErr =
|
|
18599
|
-
const lastNameErr =
|
|
18600
|
-
const passwordErr =
|
|
18601
|
-
const confirmErr =
|
|
18618
|
+
const firstNameErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _371 => _371.firstName]), firstName);
|
|
18619
|
+
const lastNameErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _372 => _372.lastName]), lastName);
|
|
18620
|
+
const passwordErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _373 => _373.password]), password);
|
|
18621
|
+
const confirmErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _374 => _374.confirmPassword]), confirmPassword);
|
|
18602
18622
|
const names = [
|
|
18603
18623
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18604
18624
|
_chunkYXDHVHB2cjs.Input,
|
|
@@ -18855,7 +18875,7 @@ function SsoProviderButtons({
|
|
|
18855
18875
|
// where a long organization name would otherwise push the label out of a phone-width
|
|
18856
18876
|
// button. `block` over its inline-flex, because an ellipsis only renders on a block box.
|
|
18857
18877
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18858
|
-
|
|
18878
|
+
_chunkY3EBUFX4cjs.StatusBadge,
|
|
18859
18879
|
{
|
|
18860
18880
|
text: tag,
|
|
18861
18881
|
variant: "button",
|
|
@@ -18914,7 +18934,7 @@ function CompleteAccountForm({
|
|
|
18914
18934
|
),
|
|
18915
18935
|
children: [
|
|
18916
18936
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
18917
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
18937
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
|
|
18918
18938
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
18919
18939
|
] }),
|
|
18920
18940
|
ssoProviders && ssoProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -19045,9 +19065,9 @@ function CreateOrganizationForm({
|
|
|
19045
19065
|
}) {
|
|
19046
19066
|
const hasSso = !!ssoProviders && ssoProviders.length > 0;
|
|
19047
19067
|
const fieldsDisabled = disabled || loading;
|
|
19048
|
-
const emailErr =
|
|
19049
|
-
const orgNameErr =
|
|
19050
|
-
const domainErr =
|
|
19068
|
+
const emailErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _376 => _376.email]), _nullishCoalesce(email, () => ( "")));
|
|
19069
|
+
const orgNameErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _377 => _377.organizationName]), organizationName);
|
|
19070
|
+
const domainErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _378 => _378.domain]), domain);
|
|
19051
19071
|
const handleKeyDown = (event) => {
|
|
19052
19072
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19053
19073
|
onSubmit();
|
|
@@ -19062,7 +19082,7 @@ function CreateOrganizationForm({
|
|
|
19062
19082
|
),
|
|
19063
19083
|
children: [
|
|
19064
19084
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
19065
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19085
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
|
|
19066
19086
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19067
19087
|
] }),
|
|
19068
19088
|
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,
|
|
@@ -19203,7 +19223,7 @@ function InviteLinkInvalidModal({
|
|
|
19203
19223
|
),
|
|
19204
19224
|
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: [
|
|
19205
19225
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-mf)]", children: [
|
|
19206
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "flex-1 tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19226
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "flex-1 tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
|
|
19207
19227
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19208
19228
|
"button",
|
|
19209
19229
|
{
|
|
@@ -19266,7 +19286,7 @@ function LoginForm({
|
|
|
19266
19286
|
}) {
|
|
19267
19287
|
const fieldDisabled = disabled || loading;
|
|
19268
19288
|
const providersDisabled = fieldDisabled || ssoDisabled;
|
|
19269
|
-
const emailErr =
|
|
19289
|
+
const emailErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _385 => _385.email]), email);
|
|
19270
19290
|
const handleKeyDown = (event) => {
|
|
19271
19291
|
if (event.key !== "Enter" || event.repeat || fieldDisabled) return;
|
|
19272
19292
|
if (onSubmitClick) {
|
|
@@ -19284,7 +19304,7 @@ function LoginForm({
|
|
|
19284
19304
|
),
|
|
19285
19305
|
children: [
|
|
19286
19306
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
19287
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19307
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
|
|
19288
19308
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19289
19309
|
] }),
|
|
19290
19310
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19410,7 +19430,7 @@ function NoAccountNotice({
|
|
|
19410
19430
|
),
|
|
19411
19431
|
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: [
|
|
19412
19432
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
19413
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19433
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
|
|
19414
19434
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: description })
|
|
19415
19435
|
] }),
|
|
19416
19436
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { type: "button", variant: "outline", fullWidth: true, onClick: onBackToLogin, children: backLabel })
|
|
@@ -19443,8 +19463,8 @@ function OpenFrameSsoLoginForm({
|
|
|
19443
19463
|
className
|
|
19444
19464
|
}) {
|
|
19445
19465
|
const fieldsDisabled = disabled || loading;
|
|
19446
|
-
const emailErr =
|
|
19447
|
-
const passwordErr =
|
|
19466
|
+
const emailErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _389 => _389.email]), email);
|
|
19467
|
+
const passwordErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _390 => _390.password]), password);
|
|
19448
19468
|
const handleKeyDown = (event) => {
|
|
19449
19469
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19450
19470
|
onSubmit();
|
|
@@ -19459,7 +19479,7 @@ function OpenFrameSsoLoginForm({
|
|
|
19459
19479
|
),
|
|
19460
19480
|
children: [
|
|
19461
19481
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
|
|
19462
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19482
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
|
|
19463
19483
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19464
19484
|
] }),
|
|
19465
19485
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19549,7 +19569,7 @@ function OpenFrameSsoSignUpForm({
|
|
|
19549
19569
|
className
|
|
19550
19570
|
}) {
|
|
19551
19571
|
const fieldsDisabled = disabled || loading;
|
|
19552
|
-
const emailErr =
|
|
19572
|
+
const emailErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _391 => _391.email]), email);
|
|
19553
19573
|
const handleKeyDown = (event) => {
|
|
19554
19574
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19555
19575
|
onSubmit();
|
|
@@ -19564,7 +19584,7 @@ function OpenFrameSsoSignUpForm({
|
|
|
19564
19584
|
),
|
|
19565
19585
|
children: [
|
|
19566
19586
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
|
|
19567
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19587
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
|
|
19568
19588
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19569
19589
|
] }),
|
|
19570
19590
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19654,8 +19674,8 @@ function PasswordResetForm({
|
|
|
19654
19674
|
className
|
|
19655
19675
|
}) {
|
|
19656
19676
|
const fieldsDisabled = disabled || loading;
|
|
19657
|
-
const passwordErr =
|
|
19658
|
-
const confirmErr =
|
|
19677
|
+
const passwordErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _392 => _392.password]), password);
|
|
19678
|
+
const confirmErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _393 => _393.confirmPassword]), confirmPassword);
|
|
19659
19679
|
const handleKeyDown = (event) => {
|
|
19660
19680
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19661
19681
|
onSubmit();
|
|
@@ -19670,7 +19690,7 @@ function PasswordResetForm({
|
|
|
19670
19690
|
),
|
|
19671
19691
|
children: [
|
|
19672
19692
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
19673
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19693
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
|
|
19674
19694
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19675
19695
|
] }),
|
|
19676
19696
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19787,7 +19807,7 @@ function SsoJoinForm({
|
|
|
19787
19807
|
),
|
|
19788
19808
|
children: [
|
|
19789
19809
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
19790
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children:
|
|
19810
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
|
|
19791
19811
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19792
19812
|
] }),
|
|
19793
19813
|
/* @__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: [
|
|
@@ -20049,7 +20069,7 @@ function ChangelogManager({
|
|
|
20049
20069
|
),
|
|
20050
20070
|
/* @__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)" }) }),
|
|
20051
20071
|
tagOptions && tagLabelOf(entry.tag) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20052
|
-
|
|
20072
|
+
_chunkY3EBUFX4cjs.StatusBadge,
|
|
20053
20073
|
{
|
|
20054
20074
|
variant: "button",
|
|
20055
20075
|
singleLine: true,
|
|
@@ -20396,11 +20416,11 @@ function EntityTagBadgesSkeleton({
|
|
|
20396
20416
|
i >= count && "content-md:hidden"
|
|
20397
20417
|
),
|
|
20398
20418
|
"data-loading-item": true,
|
|
20399
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20419
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.StatusBadgeSkeleton, { variant: "card", className: _chunk65VVJSQZcjs.cn.call(void 0, "border", _nullishCoalesce(itemClassName, () => ( TAG_SKELETON_WIDTH_CLASS))) })
|
|
20400
20420
|
},
|
|
20401
20421
|
i
|
|
20402
20422
|
)),
|
|
20403
|
-
overflow && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TAG_ITEM_CLASS, "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20423
|
+
overflow && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TAG_ITEM_CLASS, "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.StatusBadgeSkeleton, { variant: "card", className: _chunk65VVJSQZcjs.cn.call(void 0, "border", OVERFLOW_BADGE_SKELETON_CLASS) }) })
|
|
20404
20424
|
] });
|
|
20405
20425
|
}
|
|
20406
20426
|
function EntityTagBadges({
|
|
@@ -20437,7 +20457,7 @@ function EntityTagBadges({
|
|
|
20437
20457
|
const label = (tag.name || "").toUpperCase();
|
|
20438
20458
|
if (basePath && tag.slug) {
|
|
20439
20459
|
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,
|
|
20440
|
-
|
|
20460
|
+
_chunkY3EBUFX4cjs.StatusBadge,
|
|
20441
20461
|
{
|
|
20442
20462
|
text: label,
|
|
20443
20463
|
variant: "card",
|
|
@@ -20445,7 +20465,7 @@ function EntityTagBadges({
|
|
|
20445
20465
|
}
|
|
20446
20466
|
) }, key);
|
|
20447
20467
|
}
|
|
20448
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: itemClass(index), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20468
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: itemClass(index), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }) }, key);
|
|
20449
20469
|
}),
|
|
20450
20470
|
phoneOverflow === overflow ? overflow > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OverflowBadge, { count: overflow }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
20451
20471
|
phoneOverflow > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OverflowBadge, { count: phoneOverflow, className: "content-md:hidden" }),
|
|
@@ -20454,7 +20474,7 @@ function EntityTagBadges({
|
|
|
20454
20474
|
] });
|
|
20455
20475
|
}
|
|
20456
20476
|
function OverflowBadge({ count, className }) {
|
|
20457
|
-
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,
|
|
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, _chunkY3EBUFX4cjs.StatusBadge, { text: `+${count}`, variant: "card", className: _chunk65VVJSQZcjs.cn.call(void 0, BADGE_CLASS, "text-ods-text-secondary") }) });
|
|
20458
20478
|
}
|
|
20459
20479
|
|
|
20460
20480
|
// src/components/features/error-boundary.tsx
|
|
@@ -20549,7 +20569,7 @@ var SectionButton = ({
|
|
|
20549
20569
|
}
|
|
20550
20570
|
),
|
|
20551
20571
|
section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20552
|
-
|
|
20572
|
+
_chunkY3EBUFX4cjs.StatusBadge,
|
|
20553
20573
|
{
|
|
20554
20574
|
text: section.badge.text,
|
|
20555
20575
|
variant: section.badge.variant || "button",
|
|
@@ -20568,7 +20588,7 @@ var SectionButton = ({
|
|
|
20568
20588
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-wrap items-start gap-2", children: [
|
|
20569
20589
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, titleClasses, "text-h3"), style: { textAlign: "left" }, children: section.title }),
|
|
20570
20590
|
section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20571
|
-
|
|
20591
|
+
_chunkY3EBUFX4cjs.StatusBadge,
|
|
20572
20592
|
{
|
|
20573
20593
|
text: section.badge.text,
|
|
20574
20594
|
variant: section.badge.variant || "button",
|
|
@@ -21633,15 +21653,15 @@ function useLoading() {
|
|
|
21633
21653
|
|
|
21634
21654
|
|
|
21635
21655
|
function isAlreadyThere(file, existing) {
|
|
21636
|
-
const key =
|
|
21656
|
+
const key = _chunkY3EBUFX4cjs.mediaNameKey.call(void 0, file.name);
|
|
21637
21657
|
if (!key) return false;
|
|
21638
21658
|
return existing.some(
|
|
21639
|
-
(item) => (item.title ?
|
|
21659
|
+
(item) => (item.title ? _chunkY3EBUFX4cjs.mediaNameKey.call(void 0, item.title) === key : false) || (item.media_url ? _chunkY3EBUFX4cjs.mediaNameKey.call(void 0, item.media_url) === key : false)
|
|
21640
21660
|
);
|
|
21641
21661
|
}
|
|
21642
21662
|
var isFileDrag = (event) => Array.from(event.dataTransfer.types).includes("Files");
|
|
21643
|
-
var isVideoItem = (item) =>
|
|
21644
|
-
var MEDIA_KIND_ACCEPT = { image:
|
|
21663
|
+
var isVideoItem = (item) => _chunkY3EBUFX4cjs.isVideoMedia.call(void 0, item) || item.media_type === "demo";
|
|
21664
|
+
var MEDIA_KIND_ACCEPT = { image: _chunkY3EBUFX4cjs.IMAGE_FILE_ACCEPT, video: "video/*", both: _chunkY3EBUFX4cjs.MEDIA_FILE_ACCEPT };
|
|
21645
21665
|
var MEDIA_KIND_COPY = {
|
|
21646
21666
|
image: { noun: "pictures", refusal: "Not a picture" },
|
|
21647
21667
|
video: { noun: "videos", refusal: "Not a video" },
|
|
@@ -21665,12 +21685,12 @@ function useMediaIntake({ existing, onUpload, onUploaded, kinds = "both" }) {
|
|
|
21665
21685
|
const seen = /* @__PURE__ */ new Set();
|
|
21666
21686
|
const accepted = [];
|
|
21667
21687
|
for (const file of files) {
|
|
21668
|
-
const mediaType =
|
|
21688
|
+
const mediaType = _chunkY3EBUFX4cjs.fileMediaType.call(void 0, file);
|
|
21669
21689
|
if (!mediaType || kinds !== "both" && mediaType !== kinds) {
|
|
21670
21690
|
unsupported.push(file.name);
|
|
21671
21691
|
continue;
|
|
21672
21692
|
}
|
|
21673
|
-
const contentKey = await
|
|
21693
|
+
const contentKey = await _chunkY3EBUFX4cjs.fileContentKey.call(void 0, file).catch(() => `${file.name}:${file.size}`);
|
|
21674
21694
|
if (seen.has(contentKey) || isAlreadyThere(file, existingRef.current)) {
|
|
21675
21695
|
duplicates.push(file.name);
|
|
21676
21696
|
continue;
|
|
@@ -21851,7 +21871,7 @@ function MediaGalleryManager({
|
|
|
21851
21871
|
className: _chunk65VVJSQZcjs.cn.call(void 0, "grid grid-cols-1 gap-4 content-md:grid-cols-2", columns === 3 && "content-lg:grid-cols-3"),
|
|
21852
21872
|
children: [
|
|
21853
21873
|
media.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21854
|
-
|
|
21874
|
+
_chunkY3EBUFX4cjs.Card,
|
|
21855
21875
|
{
|
|
21856
21876
|
className: "group relative border-ods-border transition-colors hover:border-ods-accent/30",
|
|
21857
21877
|
draggable: true,
|
|
@@ -21876,7 +21896,7 @@ function MediaGalleryManager({
|
|
|
21876
21896
|
) }),
|
|
21877
21897
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: isVideoItem(item) ? (
|
|
21878
21898
|
// <Video> SSOT (MuxPlayer): plays Mux HLS and MP4 alike; fit="cover" crops to the cell.
|
|
21879
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21899
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
21880
21900
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21881
21901
|
_chunkE76ONBKFcjs.next_image_default,
|
|
21882
21902
|
{
|
|
@@ -21928,7 +21948,7 @@ function MediaGalleryManager({
|
|
|
21928
21948
|
},
|
|
21929
21949
|
_nullishCoalesce(item.id, () => ( `${item.media_url}-${index}`))
|
|
21930
21950
|
)),
|
|
21931
|
-
pending.map((name, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21951
|
+
pending.map((name, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkY3EBUFX4cjs.Card, { className: "border-ods-border", "aria-busy": "true", children: [
|
|
21932
21952
|
/* @__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" }) }),
|
|
21933
21953
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate p-3 text-ods-text-secondary text-h6", children: name })
|
|
21934
21954
|
] }, `pending-${name}-${index}`))
|
|
@@ -22282,7 +22302,7 @@ var MODEL_TOKEN_RATES_COPY = {
|
|
|
22282
22302
|
empty: "No token rates are in effect right now."
|
|
22283
22303
|
};
|
|
22284
22304
|
function providerMark(providerType, stated, className) {
|
|
22285
|
-
const Mark = _chunk5P4TDV7Vcjs.findIcon.call(void 0,
|
|
22305
|
+
const Mark = _chunk5P4TDV7Vcjs.findIcon.call(void 0, _chunkBTVO676Bcjs.aiProvider.call(void 0, providerType, { icon: stated }).icon);
|
|
22286
22306
|
return Mark ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Mark, { className }) : void 0;
|
|
22287
22307
|
}
|
|
22288
22308
|
var PAD_X = "px-[var(--spacing-system-s)]";
|
|
@@ -22300,7 +22320,7 @@ var UNIT_LINE_CLASS = _chunk65VVJSQZcjs.cn.call(void 0,
|
|
|
22300
22320
|
var TABS_ROW_CLASS = _chunk65VVJSQZcjs.cn.call(void 0, "shrink-0 border-b border-ods-border py-[var(--spacing-system-xs)]", PAD_X);
|
|
22301
22321
|
var NUMBER_CELL = "w-16 shrink-0 whitespace-nowrap text-right tabular-nums";
|
|
22302
22322
|
function useProviderGroup(rates) {
|
|
22303
|
-
const groups =
|
|
22323
|
+
const groups = _chunkBTVO676Bcjs.groupTokenRatesByProvider.call(void 0, rates);
|
|
22304
22324
|
const [picked, setPicked] = _react.useState.call(void 0, null);
|
|
22305
22325
|
return { groups, group: _nullishCoalesce(groups.find((candidate) => candidate.providerType === picked), () => ( groups[0])), setPicked };
|
|
22306
22326
|
}
|
|
@@ -22311,7 +22331,7 @@ function ProviderTabs({
|
|
|
22311
22331
|
className
|
|
22312
22332
|
}) {
|
|
22313
22333
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22314
|
-
|
|
22334
|
+
_chunkKWZ62LPZcjs.TabSelector,
|
|
22315
22335
|
{
|
|
22316
22336
|
variant: "secondary",
|
|
22317
22337
|
scrollable: true,
|
|
@@ -22319,7 +22339,7 @@ function ProviderTabs({
|
|
|
22319
22339
|
onValueChange,
|
|
22320
22340
|
items: groups.map((candidate) => ({
|
|
22321
22341
|
id: candidate.providerType,
|
|
22322
|
-
label:
|
|
22342
|
+
label: _chunkBTVO676Bcjs.tokenRateProviderLabel.call(void 0, candidate.providerType, _optionalChain([candidate, 'access', _455 => _455.rates, 'access', _456 => _456[0], 'optionalAccess', _457 => _457.providerLabel])),
|
|
22323
22343
|
icon: providerMark(candidate.providerType, _optionalChain([candidate, 'access', _458 => _458.rates, 'access', _459 => _459[0], 'optionalAccess', _460 => _460.providerIcon]), "size-full")
|
|
22324
22344
|
})),
|
|
22325
22345
|
className
|
|
@@ -22397,8 +22417,8 @@ function ModelTokenRatesTable({ rates }) {
|
|
|
22397
22417
|
] }),
|
|
22398
22418
|
/* @__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: [
|
|
22399
22419
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "rowheader", className: "min-w-0 flex-1 truncate", children: rate.displayName || rate.modelName }),
|
|
22400
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children:
|
|
22401
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children:
|
|
22420
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkBTVO676Bcjs.formatTokenRate.call(void 0, rate.inputTokenRate) }),
|
|
22421
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkBTVO676Bcjs.formatTokenRate.call(void 0, rate.outputTokenRate) })
|
|
22402
22422
|
] }, rate.modelName)) })
|
|
22403
22423
|
] }),
|
|
22404
22424
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: UNIT_LINE_CLASS, children: MODEL_TOKEN_RATES_COPY.unit })
|
|
@@ -22448,7 +22468,7 @@ function modelOption(rate) {
|
|
|
22448
22468
|
return {
|
|
22449
22469
|
label: rate.displayName || rate.modelName,
|
|
22450
22470
|
value: rate.modelName,
|
|
22451
|
-
description:
|
|
22471
|
+
description: _chunkBTVO676Bcjs.tokenRateProviderLabel.call(void 0, rate.providerType, rate.providerLabel),
|
|
22452
22472
|
icon: providerMark(rate.providerType, rate.providerIcon, "size-full text-ods-text-secondary")
|
|
22453
22473
|
};
|
|
22454
22474
|
}
|
|
@@ -22502,8 +22522,8 @@ function ModelTokenExchange({
|
|
|
22502
22522
|
const [chosen, setChosen] = _react.useState.call(void 0, null);
|
|
22503
22523
|
const balance = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(chosen, () => ( defaultAmount)), () => ( _optionalChain([tokenPrice, 'optionalAccess', _461 => _461.tokens]))), () => ( MODEL_TOKEN_EXCHANGE_BALANCE));
|
|
22504
22524
|
const max = Math.max(amountRange.max, balance, ...presets.map((preset) => preset.tokens));
|
|
22505
|
-
const tokens =
|
|
22506
|
-
const cost =
|
|
22525
|
+
const tokens = _chunkBTVO676Bcjs.formatTokenAmount.call(void 0, balance);
|
|
22526
|
+
const cost = _chunkBTVO676Bcjs.tokenCost.call(void 0, balance, tokenPrice);
|
|
22507
22527
|
const balancePrice = cost === null ? null : _chunkHY6BCZH7cjs.formatPrice.call(void 0, cost);
|
|
22508
22528
|
const model = rate ? rate.displayName || rate.modelName : "";
|
|
22509
22529
|
const options = models.map(modelOption);
|
|
@@ -22545,7 +22565,7 @@ function ModelTokenExchange({
|
|
|
22545
22565
|
variant: preset.tokens === balance ? "accent" : "outline",
|
|
22546
22566
|
size: "small",
|
|
22547
22567
|
onClick: () => setChosen(preset.tokens),
|
|
22548
|
-
children: copy.buy.preset(
|
|
22568
|
+
children: copy.buy.preset(_chunkBTVO676Bcjs.formatTokenAmount.call(void 0, preset.tokens), preset.label)
|
|
22549
22569
|
},
|
|
22550
22570
|
preset.label
|
|
22551
22571
|
)) })
|
|
@@ -22562,7 +22582,7 @@ function ModelTokenExchange({
|
|
|
22562
22582
|
const stated = _nullishCoalesce(models.find((option) => option.providerType === providerType), () => ( (_optionalChain([rate, 'optionalAccess', _462 => _462.providerType]) === providerType ? rate : null)));
|
|
22563
22583
|
return {
|
|
22564
22584
|
id: providerType,
|
|
22565
|
-
name:
|
|
22585
|
+
name: _chunkBTVO676Bcjs.tokenRateProviderLabel.call(void 0, providerType, _optionalChain([stated, 'optionalAccess', _463 => _463.providerLabel])),
|
|
22566
22586
|
icon: providerMark(providerType, _optionalChain([stated, 'optionalAccess', _464 => _464.providerIcon]), "size-8 text-ods-text-secondary")
|
|
22567
22587
|
};
|
|
22568
22588
|
}),
|
|
@@ -22601,7 +22621,7 @@ function ModelTokenExchange({
|
|
|
22601
22621
|
{
|
|
22602
22622
|
size: "plain",
|
|
22603
22623
|
loading,
|
|
22604
|
-
figure:
|
|
22624
|
+
figure: _chunkBTVO676Bcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _469 => _469.inputTokenRate])),
|
|
22605
22625
|
words: copy.charge.input
|
|
22606
22626
|
}
|
|
22607
22627
|
),
|
|
@@ -22610,7 +22630,7 @@ function ModelTokenExchange({
|
|
|
22610
22630
|
{
|
|
22611
22631
|
size: "plain",
|
|
22612
22632
|
loading,
|
|
22613
|
-
figure:
|
|
22633
|
+
figure: _chunkBTVO676Bcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _470 => _470.outputTokenRate])),
|
|
22614
22634
|
words: copy.charge.output
|
|
22615
22635
|
}
|
|
22616
22636
|
)
|
|
@@ -22622,9 +22642,9 @@ function ModelTokenExchange({
|
|
|
22622
22642
|
className: "mt-auto flex flex-col rounded-md border border-ods-accent bg-ods-bg p-[var(--spacing-system-mf)]",
|
|
22623
22643
|
children: [
|
|
22624
22644
|
/* @__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) }),
|
|
22625
|
-
/* @__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" }) :
|
|
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" }) : _chunkBTVO676Bcjs.formatTokenAmount.call(void 0, _chunkBTVO676Bcjs.tokensForBalance.call(void 0, balance, rate.inputTokenRate)) }),
|
|
22626
22646
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-primary text-h3", children: copy.charge.read }),
|
|
22627
|
-
/* @__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(
|
|
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(_chunkBTVO676Bcjs.formatTokenAmount.call(void 0, _chunkBTVO676Bcjs.tokensForBalance.call(void 0, balance, rate.outputTokenRate))) })
|
|
22628
22648
|
]
|
|
22629
22649
|
}
|
|
22630
22650
|
)
|
|
@@ -23055,7 +23075,7 @@ function PlatformFilterComponent({
|
|
|
23055
23075
|
variant: selectedPlatform === platform.value ? "accent" : "outline",
|
|
23056
23076
|
size,
|
|
23057
23077
|
onClick: () => onPlatformChange(platform.value),
|
|
23058
|
-
leftIcon: showIcons ?
|
|
23078
|
+
leftIcon: showIcons ? _chunkCZIMISARcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
|
|
23059
23079
|
className: "text-h3",
|
|
23060
23080
|
children: platform.label
|
|
23061
23081
|
},
|
|
@@ -23163,14 +23183,14 @@ var ConfidenceBadge = ({
|
|
|
23163
23183
|
size = "sm",
|
|
23164
23184
|
className
|
|
23165
23185
|
}) => {
|
|
23166
|
-
const level =
|
|
23186
|
+
const level = _chunkBTVO676Bcjs.getConfidenceLevel.call(void 0, confidence);
|
|
23167
23187
|
if (level === "none") {
|
|
23168
23188
|
return null;
|
|
23169
23189
|
}
|
|
23170
|
-
const label =
|
|
23171
|
-
const borderClass =
|
|
23172
|
-
const textClass =
|
|
23173
|
-
const bgClass =
|
|
23190
|
+
const label = _chunkBTVO676Bcjs.getConfidenceLabel.call(void 0, confidence);
|
|
23191
|
+
const borderClass = _chunkBTVO676Bcjs.getConfidenceBorderClass.call(void 0, confidence);
|
|
23192
|
+
const textClass = _chunkBTVO676Bcjs.getConfidenceTextClass.call(void 0, confidence);
|
|
23193
|
+
const bgClass = _chunkBTVO676Bcjs.getConfidenceBgClass.call(void 0, confidence);
|
|
23174
23194
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23175
23195
|
"span",
|
|
23176
23196
|
{
|
|
@@ -23221,9 +23241,9 @@ function SEOEditorPreview({
|
|
|
23221
23241
|
const [isUploading, setIsUploading] = _react.useState.call(void 0, false);
|
|
23222
23242
|
const [fileInputRef, setFileInputRef] = _react.useState.call(void 0, null);
|
|
23223
23243
|
const seoTitleLength = (seoTitle || "").length;
|
|
23224
|
-
const seoTitleTooLong = seoTitleLength >
|
|
23244
|
+
const seoTitleTooLong = seoTitleLength > _chunkBTVO676Bcjs.SEO_TITLE_MAX_LENGTH;
|
|
23225
23245
|
const seoDescriptionLength = (seoDescription || "").length;
|
|
23226
|
-
const seoDescriptionTooLong = seoDescriptionLength >
|
|
23246
|
+
const seoDescriptionTooLong = seoDescriptionLength > _chunkBTVO676Bcjs.SEO_DESCRIPTION_MAX_LENGTH;
|
|
23227
23247
|
const displayTitle = seoTitle.trim() || title || "Untitled";
|
|
23228
23248
|
const displayDescription = seoDescription.trim() || summary || "No description";
|
|
23229
23249
|
const hasOgImage = ogImageUrl.trim();
|
|
@@ -23248,10 +23268,10 @@ function SEOEditorPreview({
|
|
|
23248
23268
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
|
|
23249
23269
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23250
23270
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23251
|
-
|
|
23271
|
+
_chunkBTVO676Bcjs.Field,
|
|
23252
23272
|
{
|
|
23253
23273
|
label: "SEO Title",
|
|
23254
|
-
error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${
|
|
23274
|
+
error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${_chunkBTVO676Bcjs.SEO_TITLE_MAX_LENGTH})` : null,
|
|
23255
23275
|
labelExtras: aiConfidenceSeoTitle !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
23256
23276
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
|
|
23257
23277
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ConfidenceBadge, { confidence: aiConfidenceSeoTitle, showLabel: true, showPercentage: true, size: "sm" })
|
|
@@ -23266,7 +23286,7 @@ function SEOEditorPreview({
|
|
|
23266
23286
|
children: [
|
|
23267
23287
|
seoTitleLength,
|
|
23268
23288
|
"/",
|
|
23269
|
-
|
|
23289
|
+
_chunkBTVO676Bcjs.SEO_TITLE_MAX_LENGTH
|
|
23270
23290
|
]
|
|
23271
23291
|
}
|
|
23272
23292
|
),
|
|
@@ -23277,7 +23297,7 @@ function SEOEditorPreview({
|
|
|
23277
23297
|
value: seoTitle || "",
|
|
23278
23298
|
onChange: (e) => onSeoTitleChange(e.target.value),
|
|
23279
23299
|
disabled,
|
|
23280
|
-
maxLength:
|
|
23300
|
+
maxLength: _chunkBTVO676Bcjs.SEO_TITLE_MAX_LENGTH,
|
|
23281
23301
|
invalid: seoTitleTooLong,
|
|
23282
23302
|
placeholder: "Enter SEO meta title...",
|
|
23283
23303
|
className: "border-ods-border bg-ods-bg text-ods-text-primary"
|
|
@@ -23288,7 +23308,7 @@ function SEOEditorPreview({
|
|
|
23288
23308
|
!seoTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-accent text-h6", children: "Auto-populated from title" })
|
|
23289
23309
|
] }),
|
|
23290
23310
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23291
|
-
|
|
23311
|
+
_chunkBTVO676Bcjs.Field,
|
|
23292
23312
|
{
|
|
23293
23313
|
label: "SEO Keywords",
|
|
23294
23314
|
labelExtras: aiConfidenceSeoKeywords !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -23320,10 +23340,10 @@ function SEOEditorPreview({
|
|
|
23320
23340
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
|
|
23321
23341
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23322
23342
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23323
|
-
|
|
23343
|
+
_chunkBTVO676Bcjs.Field,
|
|
23324
23344
|
{
|
|
23325
23345
|
label: "SEO Description",
|
|
23326
|
-
error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${
|
|
23346
|
+
error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${_chunkBTVO676Bcjs.SEO_DESCRIPTION_MAX_LENGTH})` : null,
|
|
23327
23347
|
labelExtras: aiConfidenceSeoDescription !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
23328
23348
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
|
|
23329
23349
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -23346,7 +23366,7 @@ function SEOEditorPreview({
|
|
|
23346
23366
|
children: [
|
|
23347
23367
|
seoDescriptionLength,
|
|
23348
23368
|
"/",
|
|
23349
|
-
|
|
23369
|
+
_chunkBTVO676Bcjs.SEO_DESCRIPTION_MAX_LENGTH
|
|
23350
23370
|
]
|
|
23351
23371
|
}
|
|
23352
23372
|
),
|
|
@@ -23357,7 +23377,7 @@ function SEOEditorPreview({
|
|
|
23357
23377
|
value: seoDescription || "",
|
|
23358
23378
|
onChange: (e) => onSeoDescriptionChange(e.target.value),
|
|
23359
23379
|
disabled,
|
|
23360
|
-
maxLength:
|
|
23380
|
+
maxLength: _chunkBTVO676Bcjs.SEO_DESCRIPTION_MAX_LENGTH,
|
|
23361
23381
|
invalid: seoDescriptionTooLong,
|
|
23362
23382
|
placeholder: "Enter SEO meta description...",
|
|
23363
23383
|
className: _chunk65VVJSQZcjs.cn.call(void 0, "resize-none border-ods-border bg-ods-bg text-ods-text-primary", SEO_MEDIA_BOX_HEIGHT)
|
|
@@ -23426,7 +23446,7 @@ function SEOEditorPreview({
|
|
|
23426
23446
|
{
|
|
23427
23447
|
ref: setFileInputRef,
|
|
23428
23448
|
type: "file",
|
|
23429
|
-
accept:
|
|
23449
|
+
accept: _chunkY3EBUFX4cjs.IMAGE_FILE_ACCEPT,
|
|
23430
23450
|
onChange: handleImageUpload,
|
|
23431
23451
|
className: "hidden",
|
|
23432
23452
|
disabled: disabled || isUploading
|
|
@@ -23510,7 +23530,7 @@ function socialIcon(platform) {
|
|
|
23510
23530
|
return _nullishCoalesce(_chunk5P4TDV7Vcjs.iconOf.call(void 0, SOCIAL_ICONS[platform]), () => ( void 0));
|
|
23511
23531
|
}
|
|
23512
23532
|
function renderSocialIcon(platform) {
|
|
23513
|
-
const key = _nullishCoalesce(
|
|
23533
|
+
const key = _nullishCoalesce(_chunkBTVO676Bcjs.normalizeSocialPlatform.call(void 0, platform), () => ( "website"));
|
|
23514
23534
|
const icon = _nullishCoalesce(socialIcon(key), () => ( socialIcon("website")));
|
|
23515
23535
|
return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5" }) : null;
|
|
23516
23536
|
}
|
|
@@ -23597,7 +23617,7 @@ function SocialLinksManager({
|
|
|
23597
23617
|
};
|
|
23598
23618
|
const getIcon = (link, platform) => {
|
|
23599
23619
|
const iconKey = _optionalChain([platform, 'optionalAccess', _480 => _480.icon_name]) || link.platform;
|
|
23600
|
-
const key =
|
|
23620
|
+
const key = _chunkBTVO676Bcjs.normalizeSocialPlatform.call(void 0, iconKey);
|
|
23601
23621
|
if (!key) return null;
|
|
23602
23622
|
const icon = socialIcon(key);
|
|
23603
23623
|
return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5 text-ods-text-secondary" }) : null;
|
|
@@ -23733,7 +23753,7 @@ var StartWithOpenFrameButton = _react.forwardRef.call(void 0,
|
|
|
23733
23753
|
className: _chunk65VVJSQZcjs.cn.call(void 0, modeClassName, className),
|
|
23734
23754
|
style: customStyle,
|
|
23735
23755
|
leftIcon: !loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJZLKYOBcjs.OpenframeLogoIcon, { secondaryColor: iconLowerPath, className: "h-5 w-5", color: iconUpperPath }) : void 0,
|
|
23736
|
-
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23756
|
+
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
|
|
23737
23757
|
children
|
|
23738
23758
|
}
|
|
23739
23759
|
);
|
|
@@ -24060,11 +24080,11 @@ function WarningBlock({ title, icon = DEFAULT_ICON, children, className }) {
|
|
|
24060
24080
|
|
|
24061
24081
|
function VideoBitesDisplay({
|
|
24062
24082
|
bites,
|
|
24063
|
-
title =
|
|
24083
|
+
title = _chunkY3EBUFX4cjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
24064
24084
|
filterPublished = true,
|
|
24065
24085
|
showTitle = true
|
|
24066
24086
|
}) {
|
|
24067
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24087
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKWZ62LPZcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
24068
24088
|
}
|
|
24069
24089
|
|
|
24070
24090
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -24094,7 +24114,7 @@ function WalkthroughVideo({
|
|
|
24094
24114
|
onOpenChange,
|
|
24095
24115
|
defaultOpen,
|
|
24096
24116
|
defaultOpenPaused,
|
|
24097
|
-
deepLinkParam =
|
|
24117
|
+
deepLinkParam = _chunkBTVO676Bcjs.WALKTHROUGH_OPEN_QUERY_PARAM,
|
|
24098
24118
|
autoPlayCard = false,
|
|
24099
24119
|
label = "Play Demo Video",
|
|
24100
24120
|
placement,
|
|
@@ -24111,7 +24131,7 @@ function WalkthroughVideo({
|
|
|
24111
24131
|
const inline = placement === "inline";
|
|
24112
24132
|
const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
24113
24133
|
const dismissEnabled = dismissal !== false;
|
|
24114
|
-
const storageKey = dismissEnabled && dismissal.storageKey ||
|
|
24134
|
+
const storageKey = dismissEnabled && dismissal.storageKey || _chunkBTVO676Bcjs.WALKTHROUGH_VIDEO_DISMISS_KEY;
|
|
24115
24135
|
const dismissalId = _optionalChain([video, 'optionalAccess', _486 => _486.id]) != null ? String(video.id) : "dismissed";
|
|
24116
24136
|
const [mounted, setMounted] = _react.useState.call(void 0, false);
|
|
24117
24137
|
const [dismissed, setDismissed] = _react.useState.call(void 0, false);
|
|
@@ -24123,7 +24143,7 @@ function WalkthroughVideo({
|
|
|
24123
24143
|
let delayElapsed = false;
|
|
24124
24144
|
let interacted = inline;
|
|
24125
24145
|
const reveal = () => {
|
|
24126
|
-
if (dismissEnabled &&
|
|
24146
|
+
if (dismissEnabled && _chunkBTVO676Bcjs.isWalkthroughDismissed.call(void 0, storageKey, dismissalId)) {
|
|
24127
24147
|
setDismissed(true);
|
|
24128
24148
|
return;
|
|
24129
24149
|
}
|
|
@@ -24160,7 +24180,7 @@ function WalkthroughVideo({
|
|
|
24160
24180
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
24161
24181
|
};
|
|
24162
24182
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId, inline]);
|
|
24163
|
-
const hydrated =
|
|
24183
|
+
const hydrated = _chunkKWZ62LPZcjs.useIsHydrated.call(void 0, );
|
|
24164
24184
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
24165
24185
|
if (!hydrated) return false;
|
|
24166
24186
|
try {
|
|
@@ -24410,7 +24430,7 @@ function WalkthroughVideo({
|
|
|
24410
24430
|
(e) => {
|
|
24411
24431
|
e.stopPropagation();
|
|
24412
24432
|
pausePreviewNow();
|
|
24413
|
-
if (dismissEnabled)
|
|
24433
|
+
if (dismissEnabled) _chunkBTVO676Bcjs.dismissWalkthrough.call(void 0, storageKey, dismissalId);
|
|
24414
24434
|
setDismissed(true);
|
|
24415
24435
|
},
|
|
24416
24436
|
[dismissEnabled, storageKey, dismissalId, pausePreviewNow]
|
|
@@ -24561,7 +24581,7 @@ function WalkthroughVideo({
|
|
|
24561
24581
|
},
|
|
24562
24582
|
children: [
|
|
24563
24583
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24564
|
-
|
|
24584
|
+
_chunkY3EBUFX4cjs.VideoHoverPreviewSurface,
|
|
24565
24585
|
{
|
|
24566
24586
|
url: video.mainVideoUrl || "",
|
|
24567
24587
|
posterUrl: video.posterUrl ? _chunkE76ONBKFcjs.resizedImageUrl.call(void 0, video.posterUrl, CARD_POSTER_WIDTH_PX) : video.posterUrl,
|
|
@@ -24585,7 +24605,7 @@ function WalkthroughVideo({
|
|
|
24585
24605
|
`card-${embedUrlKey}`
|
|
24586
24606
|
) }),
|
|
24587
24607
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24588
|
-
|
|
24608
|
+
_chunkKWZ62LPZcjs.CardHitLayer,
|
|
24589
24609
|
{
|
|
24590
24610
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
24591
24611
|
onPointerDown: pausePreviewNow,
|
|
@@ -24701,7 +24721,7 @@ function WalkthroughVideo({
|
|
|
24701
24721
|
children: [
|
|
24702
24722
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
24703
24723
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24704
|
-
|
|
24724
|
+
_chunkY3EBUFX4cjs.Video,
|
|
24705
24725
|
{
|
|
24706
24726
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
24707
24727
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -24757,7 +24777,7 @@ function useWalkthroughVideo(opts) {
|
|
|
24757
24777
|
const { endpoint, initialData, enabled: enabledGiven = true, transformCaptionsUrl } = opts;
|
|
24758
24778
|
const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
24759
24779
|
const enabled = enabledGiven && !inScope;
|
|
24760
|
-
const captions =
|
|
24780
|
+
const captions = _chunkKWZ62LPZcjs.useCaptions.call(void 0, );
|
|
24761
24781
|
const query = _reactquery.useQuery.call(void 0, {
|
|
24762
24782
|
queryKey: ["walkthrough-video", endpoint],
|
|
24763
24783
|
enabled,
|
|
@@ -24955,7 +24975,7 @@ function VideoSourceSelector({
|
|
|
24955
24975
|
}
|
|
24956
24976
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
24957
24977
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
|
|
24958
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24978
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.Video, { kind: "file", url: videoUrl }) }),
|
|
24959
24979
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24960
24980
|
"button",
|
|
24961
24981
|
{
|
|
@@ -25479,7 +25499,7 @@ function HighlightVideoSection({
|
|
|
25479
25499
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
25480
25500
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
25481
25501
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
|
|
25482
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25502
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
|
|
25483
25503
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25484
25504
|
"button",
|
|
25485
25505
|
{
|
|
@@ -25506,7 +25526,7 @@ function HighlightConfigSection({
|
|
|
25506
25526
|
disabled = false,
|
|
25507
25527
|
className = ""
|
|
25508
25528
|
}) {
|
|
25509
|
-
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,
|
|
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, _chunkBTVO676Bcjs.Field, { label: "Target Duration", children: (f) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25510
25530
|
_chunkV3W56L2Dcjs.Select,
|
|
25511
25531
|
{
|
|
25512
25532
|
value: targetDurationSeconds.toString(),
|
|
@@ -25607,7 +25627,7 @@ var AIStatusIndicator = ({
|
|
|
25607
25627
|
}) => {
|
|
25608
25628
|
const config = statusConfig[status];
|
|
25609
25629
|
const displayText = message || config.label;
|
|
25610
|
-
const confidenceLabel = showConfidence && confidence !== void 0 ? `${
|
|
25630
|
+
const confidenceLabel = showConfidence && confidence !== void 0 ? `${_chunkBTVO676Bcjs.getConfidenceLabel.call(void 0, confidence)} (${confidence}%)` : null;
|
|
25611
25631
|
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: [
|
|
25612
25632
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25613
25633
|
_chunkUNFCRSYIcjs.SparklesIcon,
|
|
@@ -25615,7 +25635,7 @@ var AIStatusIndicator = ({
|
|
|
25615
25635
|
size: 16,
|
|
25616
25636
|
className: _chunk65VVJSQZcjs.cn.call(void 0,
|
|
25617
25637
|
status === "loading" && _chunkXFRBEXQNcjs.LIVE_PULSE_CLASS,
|
|
25618
|
-
confidence !== void 0 && status === "success" ?
|
|
25638
|
+
confidence !== void 0 && status === "success" ? _chunkBTVO676Bcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
|
|
25619
25639
|
)
|
|
25620
25640
|
}
|
|
25621
25641
|
),
|
|
@@ -25624,7 +25644,7 @@ var AIStatusIndicator = ({
|
|
|
25624
25644
|
{
|
|
25625
25645
|
className: _chunk65VVJSQZcjs.cn.call(void 0,
|
|
25626
25646
|
"text-h6",
|
|
25627
|
-
confidence !== void 0 && status === "success" ?
|
|
25647
|
+
confidence !== void 0 && status === "success" ? _chunkBTVO676Bcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
|
|
25628
25648
|
),
|
|
25629
25649
|
children: displayText
|
|
25630
25650
|
}
|
|
@@ -25634,8 +25654,8 @@ var AIStatusIndicator = ({
|
|
|
25634
25654
|
{
|
|
25635
25655
|
className: _chunk65VVJSQZcjs.cn.call(void 0,
|
|
25636
25656
|
"rounded-full border px-2 py-0.5 text-h6",
|
|
25637
|
-
|
|
25638
|
-
|
|
25657
|
+
_chunkBTVO676Bcjs.getConfidenceBorderClass.call(void 0, confidence),
|
|
25658
|
+
_chunkBTVO676Bcjs.getConfidenceTextClass.call(void 0, confidence)
|
|
25639
25659
|
),
|
|
25640
25660
|
children: confidenceLabel
|
|
25641
25661
|
}
|
|
@@ -26562,7 +26582,7 @@ function PoliciesTable({
|
|
|
26562
26582
|
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,
|
|
26563
26583
|
_chunkTF5D5MNOcjs.Button,
|
|
26564
26584
|
{
|
|
26565
|
-
onClick:
|
|
26585
|
+
onClick: _chunkBTVO676Bcjs.openInNewTab.call(void 0, row.original.href),
|
|
26566
26586
|
variant: "outline",
|
|
26567
26587
|
size: "icon",
|
|
26568
26588
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -26888,7 +26908,7 @@ function TenantsTableView({
|
|
|
26888
26908
|
/* @__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,
|
|
26889
26909
|
_chunkTF5D5MNOcjs.Button,
|
|
26890
26910
|
{
|
|
26891
|
-
onClick:
|
|
26911
|
+
onClick: _chunkBTVO676Bcjs.openInNewTab.call(void 0, getHref(row.original)),
|
|
26892
26912
|
variant: "outline",
|
|
26893
26913
|
size: "icon",
|
|
26894
26914
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -26966,13 +26986,13 @@ function WaitlistForm({
|
|
|
26966
26986
|
const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
|
|
26967
26987
|
const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
|
|
26968
26988
|
const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
|
|
26969
|
-
const { toast } =
|
|
26970
|
-
const { honeypotInputProps, getSignals, resetSignals } =
|
|
26989
|
+
const { toast } = _chunkE64HPPRHcjs.useToast.call(void 0, );
|
|
26990
|
+
const { honeypotInputProps, getSignals, resetSignals } = _chunkE64HPPRHcjs.useHumanitySignals.call(void 0, );
|
|
26971
26991
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
26972
|
-
const isClient =
|
|
26992
|
+
const isClient = _chunkKWZ62LPZcjs.useIsHydrated.call(void 0, );
|
|
26973
26993
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
26974
26994
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
26975
|
-
const rescue =
|
|
26995
|
+
const rescue = _chunkE64HPPRHcjs.useFormRescue.call(void 0, {
|
|
26976
26996
|
form: rescueForm,
|
|
26977
26997
|
// The phone is reported as filled only; its value never leaves the form early.
|
|
26978
26998
|
fieldNames: ["email", "phone"],
|
|
@@ -26984,7 +27004,7 @@ function WaitlistForm({
|
|
|
26984
27004
|
_react.useEffect.call(void 0, () => {
|
|
26985
27005
|
rescue.track({ email, phone }, null);
|
|
26986
27006
|
}, [email, phone, rescue]);
|
|
26987
|
-
const isMailDomainGeneric =
|
|
27007
|
+
const isMailDomainGeneric = _chunkBTVO676Bcjs.hasGenericEmailDomain.call(void 0, email);
|
|
26988
27008
|
const [syncedDefaultEmail, setSyncedDefaultEmail] = _react.useState.call(void 0, defaultEmail);
|
|
26989
27009
|
if (syncedDefaultEmail !== defaultEmail) {
|
|
26990
27010
|
setSyncedDefaultEmail(defaultEmail);
|
|
@@ -27018,7 +27038,7 @@ function WaitlistForm({
|
|
|
27018
27038
|
setShowConsentError(true);
|
|
27019
27039
|
return;
|
|
27020
27040
|
}
|
|
27021
|
-
const finalPhone = phone ?
|
|
27041
|
+
const finalPhone = phone ? _chunkBTVO676Bcjs.formatPhoneE164.call(void 0, phone, countryCode) : void 0;
|
|
27022
27042
|
try {
|
|
27023
27043
|
await onRegister(email, finalPhone, getSignals(), rescue.submitFields());
|
|
27024
27044
|
rescue.complete();
|
|
@@ -27741,7 +27761,7 @@ var typeColorByVariant = {
|
|
|
27741
27761
|
error: "text-ods-error"
|
|
27742
27762
|
};
|
|
27743
27763
|
var progressColorByVariant2 = {
|
|
27744
|
-
...
|
|
27764
|
+
..._chunkE64HPPRHcjs.progressColorByVariant,
|
|
27745
27765
|
default: "bg-ods-accent",
|
|
27746
27766
|
info: "bg-ods-accent"
|
|
27747
27767
|
};
|
|
@@ -27820,7 +27840,7 @@ function NotificationTile({
|
|
|
27820
27840
|
height: 16,
|
|
27821
27841
|
unoptimized: true
|
|
27822
27842
|
}
|
|
27823
|
-
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, "size-1.5 rounded-full",
|
|
27843
|
+
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkE64HPPRHcjs.dotColorByVariant[accentVariant]) }))) }),
|
|
27824
27844
|
type ? lockscreen ? (
|
|
27825
27845
|
// A phone names the sender in plain words and never cuts them.
|
|
27826
27846
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 break-words text-ods-text-secondary text-h6", children: type })
|
|
@@ -28149,7 +28169,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
|
|
|
28149
28169
|
] });
|
|
28150
28170
|
}
|
|
28151
28171
|
function DesktopNotificationsToggleRow({ checked, onChange }) {
|
|
28152
|
-
const { supported, permission, request } =
|
|
28172
|
+
const { supported, permission, request } = _chunkE64HPPRHcjs.useNotificationPermission.call(void 0, );
|
|
28153
28173
|
if (!supported) return null;
|
|
28154
28174
|
const blocked = permission === "denied";
|
|
28155
28175
|
const handleChange = async (value) => {
|
|
@@ -29157,7 +29177,7 @@ function getDeviceStatusConfig(status) {
|
|
|
29157
29177
|
}
|
|
29158
29178
|
}
|
|
29159
29179
|
function getDeviceOperatingSystem(osType) {
|
|
29160
|
-
return
|
|
29180
|
+
return _chunkBTVO676Bcjs.getOSPlatformId.call(void 0, osType);
|
|
29161
29181
|
}
|
|
29162
29182
|
|
|
29163
29183
|
// src/components/features/devices/device-statuses.ts
|
|
@@ -30528,7 +30548,7 @@ function DevicesList({
|
|
|
30528
30548
|
const handleClearAll = _react.useCallback.call(void 0, () => patch({ search: "", tags: [] }), [patch]);
|
|
30529
30549
|
const narrowed = isNarrowed(narrowing);
|
|
30530
30550
|
const isEmptyState = !isLoading && !isPending && !narrowed && devices.length === 0;
|
|
30531
|
-
const { toolbarRef, containerStyle, stickyHeaderOffset: measuredOffset } =
|
|
30551
|
+
const { toolbarRef, containerStyle, stickyHeaderOffset: measuredOffset } = _chunkE64HPPRHcjs.useStickyToolbar.call(void 0, );
|
|
30532
30552
|
const headerOffset = _nullishCoalesce(stickyHeaderOffset, () => ( (stickyToolbar ? measuredOffset : void 0)));
|
|
30533
30553
|
const actionsColumn = _react.useMemo.call(void 0, () => rowActions ? getDeviceActionsColumn(rowActions) : void 0, [rowActions]);
|
|
30534
30554
|
return (
|
|
@@ -30761,7 +30781,7 @@ function DevicesPanelView({
|
|
|
30761
30781
|
actionsVariant: "icon-buttons",
|
|
30762
30782
|
className,
|
|
30763
30783
|
selector: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30764
|
-
|
|
30784
|
+
_chunkKWZ62LPZcjs.TabSelector,
|
|
30765
30785
|
{
|
|
30766
30786
|
value: viewMode,
|
|
30767
30787
|
onValueChange: (value) => _optionalChain([onViewModeChange, 'optionalCall', _667 => _667(value)]),
|
|
@@ -31295,11 +31315,11 @@ var ToolBadge = ({
|
|
|
31295
31315
|
iconClassName
|
|
31296
31316
|
}) => {
|
|
31297
31317
|
const loading = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
31298
|
-
const text = _nullishCoalesce(label, () => ( (toolType ?
|
|
31318
|
+
const text = _nullishCoalesce(label, () => ( (toolType ? _chunkBTVO676Bcjs.getToolLabel.call(void 0, toolType) : "")));
|
|
31299
31319
|
const mark = _nullishCoalesce(icon, () => ( (toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk57B5RUYDcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }) : null)));
|
|
31300
31320
|
if (loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToolBadgeSkeleton, { variant, icon: !!mark, className });
|
|
31301
31321
|
const linked = (node, linkClassName) => href && targetPlatform ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31302
|
-
|
|
31322
|
+
_chunkKWZ62LPZcjs.NavLinkAnchorViaRuntime,
|
|
31303
31323
|
{
|
|
31304
31324
|
href,
|
|
31305
31325
|
targetPlatform,
|
|
@@ -31411,7 +31431,7 @@ function LogsTableView({
|
|
|
31411
31431
|
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31412
31432
|
ToolBadge,
|
|
31413
31433
|
{
|
|
31414
|
-
toolType:
|
|
31434
|
+
toolType: _chunkBTVO676Bcjs.normalizeToolTypeWithFallback.call(void 0, row.original.source.toolType),
|
|
31415
31435
|
iconClassName: "h-4 w-4 content-md:h-6 content-md:w-6"
|
|
31416
31436
|
}
|
|
31417
31437
|
),
|
|
@@ -31423,7 +31443,7 @@ function LogsTableView({
|
|
|
31423
31443
|
filter: {
|
|
31424
31444
|
options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _675 => _675.toolTypes, 'access', _676 => _676.map, 'call', _677 => _677((toolType) => ({
|
|
31425
31445
|
id: toolType,
|
|
31426
|
-
label:
|
|
31446
|
+
label: _chunkBTVO676Bcjs.toToolLabel.call(void 0, toolType),
|
|
31427
31447
|
value: toolType
|
|
31428
31448
|
}))]), () => ( []))
|
|
31429
31449
|
}
|
|
@@ -31481,7 +31501,7 @@ function LogsTableView({
|
|
|
31481
31501
|
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,
|
|
31482
31502
|
_chunkTF5D5MNOcjs.Button,
|
|
31483
31503
|
{
|
|
31484
|
-
onClick: getLogHref ?
|
|
31504
|
+
onClick: getLogHref ? _chunkBTVO676Bcjs.openInNewTab.call(void 0, getLogHref(row.original)) : void 0,
|
|
31485
31505
|
variant: "outline",
|
|
31486
31506
|
size: "icon",
|
|
31487
31507
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -31856,7 +31876,7 @@ function OpenInNewTabCell({ href }) {
|
|
|
31856
31876
|
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,
|
|
31857
31877
|
_chunkTF5D5MNOcjs.Button,
|
|
31858
31878
|
{
|
|
31859
|
-
onClick:
|
|
31879
|
+
onClick: _chunkBTVO676Bcjs.openInNewTab.call(void 0, href),
|
|
31860
31880
|
variant: "outline",
|
|
31861
31881
|
size: "icon",
|
|
31862
31882
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -32005,9 +32025,9 @@ function ScriptSchedulesTable({
|
|
|
32005
32025
|
|
|
32006
32026
|
// src/components/features/scripts/shell-types.ts
|
|
32007
32027
|
var SCRIPT_SHELL_TYPES = [
|
|
32008
|
-
{ id:
|
|
32009
|
-
{ id:
|
|
32010
|
-
{ id:
|
|
32028
|
+
{ id: _chunkBTVO676Bcjs.ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon: _chunkMCQY746Mcjs.PowershellLogoGreyIcon },
|
|
32029
|
+
{ id: _chunkBTVO676Bcjs.ShellTypeValues.CMD, label: "CMD", value: "cmd", icon: _chunkNIVJEJSGcjs.TerminalSquareIcon },
|
|
32030
|
+
{ id: _chunkBTVO676Bcjs.ShellTypeValues.BASH, label: "Bash", value: "bash", icon: _chunkTRUW6DDAcjs.TerminalIcon }
|
|
32011
32031
|
];
|
|
32012
32032
|
function scriptShellType(value) {
|
|
32013
32033
|
return SCRIPT_SHELL_TYPES.find((shell) => shell.value === value);
|
|
@@ -33440,7 +33460,7 @@ function ScheduleFormFields({
|
|
|
33440
33460
|
disabled = false,
|
|
33441
33461
|
renderScriptSearch,
|
|
33442
33462
|
timeReferenceGate = "off",
|
|
33443
|
-
platforms =
|
|
33463
|
+
platforms = _chunkBTVO676Bcjs.OS_PLATFORMS,
|
|
33444
33464
|
comingSoonPlatforms = [],
|
|
33445
33465
|
getTimeSlots,
|
|
33446
33466
|
nameLayout = "stacked",
|
|
@@ -33586,7 +33606,7 @@ function ScheduleFormFields({
|
|
|
33586
33606
|
// src/components/features/scripts/schedule-form/schedule-script-search-field.tsx
|
|
33587
33607
|
|
|
33588
33608
|
function ScriptPlatformIcons({ platforms }) {
|
|
33589
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 items-center gap-0.5", children:
|
|
33609
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 items-center gap-0.5", children: _chunkBTVO676Bcjs.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)) });
|
|
33590
33610
|
}
|
|
33591
33611
|
function ScheduleScriptSearchField({
|
|
33592
33612
|
scriptId,
|
|
@@ -33659,7 +33679,7 @@ function getKnowledgeBaseOpenColumn(getHref) {
|
|
|
33659
33679
|
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,
|
|
33660
33680
|
_chunkTF5D5MNOcjs.Button,
|
|
33661
33681
|
{
|
|
33662
|
-
onClick:
|
|
33682
|
+
onClick: _chunkBTVO676Bcjs.openInNewTab.call(void 0, getHref(row.original)),
|
|
33663
33683
|
variant: "outline",
|
|
33664
33684
|
size: "icon",
|
|
33665
33685
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -33785,7 +33805,7 @@ function KnowledgeBaseArticleView({
|
|
|
33785
33805
|
className,
|
|
33786
33806
|
children: [
|
|
33787
33807
|
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)) }),
|
|
33788
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33808
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.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: [
|
|
33789
33809
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
33790
33810
|
author.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLJT2KRE2cjs.DeletedUserAvatar, { size: "md" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33791
33811
|
_chunkHY6BCZH7cjs.SquareAvatar,
|
|
@@ -33949,7 +33969,7 @@ function ConversationCard({
|
|
|
33949
33969
|
style: tint,
|
|
33950
33970
|
onClick: selection && ((event) => {
|
|
33951
33971
|
if (event.button !== 0 || _optionalChain([window, 'access', _741 => _741.getSelection, 'call', _742 => _742(), 'optionalAccess', _743 => _743.toString, 'call', _744 => _744()])) return;
|
|
33952
|
-
if (!
|
|
33972
|
+
if (!_chunkBTVO676Bcjs.isOwnClick.call(void 0, event.target, event.currentTarget, { controls: true })) return;
|
|
33953
33973
|
selection.onToggle();
|
|
33954
33974
|
}),
|
|
33955
33975
|
children: [
|
|
@@ -33972,7 +33992,7 @@ function ConversationCard({
|
|
|
33972
33992
|
children: selection.pressed ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkX4UZ62MYcjs.PlusIcon, {})
|
|
33973
33993
|
}
|
|
33974
33994
|
),
|
|
33975
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33995
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBTVO676Bcjs.ChatTurn, { avatar: requester.avatar, name: requester.name, meta: requester.meta, time: requester.time, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
33976
33996
|
"p",
|
|
33977
33997
|
{
|
|
33978
33998
|
id: requestId,
|
|
@@ -33991,7 +34011,7 @@ function ConversationCard({
|
|
|
33991
34011
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: CONTEXT_TEXT_CLASS, style: partLinesStyle(_optionalChain([lines, 'optionalAccess', _745 => _745.context])), children: context.text })
|
|
33992
34012
|
] }),
|
|
33993
34013
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33994
|
-
|
|
34014
|
+
_chunkBTVO676Bcjs.ChatTurn,
|
|
33995
34015
|
{
|
|
33996
34016
|
avatar: responder.avatar,
|
|
33997
34017
|
name: responder.name,
|
|
@@ -34014,10 +34034,10 @@ function ConversationCard({
|
|
|
34014
34034
|
);
|
|
34015
34035
|
}
|
|
34016
34036
|
function TurnSkeleton({ avatarPx, meta, children }) {
|
|
34017
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
34037
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkBTVO676Bcjs.TURN_ROW_CLASS, children: [
|
|
34018
34038
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY6BCZH7cjs.SquareAvatarSkeleton, { sizePx: avatarPx }),
|
|
34019
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
34020
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34039
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkBTVO676Bcjs.TURN_BODY_CLASS, children: [
|
|
34040
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBTVO676Bcjs.ChatTurnNameSkeleton, { meta, time: true }),
|
|
34021
34041
|
children
|
|
34022
34042
|
] })
|
|
34023
34043
|
] });
|
|
@@ -34277,7 +34297,7 @@ function CapabilityExplorer({
|
|
|
34277
34297
|
),
|
|
34278
34298
|
children: [
|
|
34279
34299
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
34280
|
-
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,
|
|
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, _chunkY3EBUFX4cjs.EntityIcon, { icon: { name: item.iconName }, size: 18 }) }),
|
|
34281
34301
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
34282
34302
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h3", { className: "flex min-w-0 items-center gap-2 text-ods-text-primary text-h4", children: [
|
|
34283
34303
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3W56L2Dcjs.TruncateText, { as: "span", variant: "h4", triggerClassName: "flex-1", children: item.title }),
|
|
@@ -34358,7 +34378,7 @@ function CapabilityExplorer({
|
|
|
34358
34378
|
"span",
|
|
34359
34379
|
{
|
|
34360
34380
|
className: _chunk65VVJSQZcjs.cn.call(void 0, JOB_ICON_TILE_CLASS, selected ? "text-ods-flamingo-cyan" : "text-ods-text-secondary"),
|
|
34361
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34381
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.EntityIcon, { icon: { name: item.iconName }, size: 18 })
|
|
34362
34382
|
}
|
|
34363
34383
|
),
|
|
34364
34384
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "min-w-0 flex-1", children: [
|