@flamingo-stack/openframe-frontend-core 0.0.773 → 0.0.775
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-VW2QQKQ6.cjs → chunk-36GYLB3Z.cjs} +15 -15
- package/dist/{chunk-5HBGBLJT.cjs → chunk-3XLDYEQD.cjs} +74 -63
- package/dist/{chunk-7P2QXBWE.cjs → chunk-42JGOJCB.cjs} +234 -213
- package/dist/{chunk-I4ZVMNHO.cjs → chunk-4LFB4YY3.cjs} +6 -6
- package/dist/{chunk-JJNOAYD4.cjs → chunk-5AOKXXHV.cjs} +4 -4
- package/dist/{chunk-MT5Z2LSV.cjs → chunk-5YJWT5ZQ.cjs} +72 -72
- package/dist/{chunk-42YLIZFD.cjs → chunk-6SJYFUGD.cjs} +22 -22
- package/dist/{chunk-BPAYT72L.cjs → chunk-BTVO676B.cjs} +148 -131
- package/dist/{chunk-TZ4GKUO2.cjs → chunk-CZIMISAR.cjs} +5 -1
- package/dist/{chunk-XVFM6SJA.cjs → chunk-E64HPPRH.cjs} +31 -31
- package/dist/{chunk-CTRJNTYU.cjs → chunk-EQBJHJS7.cjs} +2 -2
- package/dist/{chunk-6LLF2QCS.cjs → chunk-F67SEXCW.cjs} +39 -39
- package/dist/{chunk-HEEK42BL.cjs → chunk-FHTTRWAK.cjs} +81 -81
- package/dist/{chunk-NRFNZ35Z.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-KDMWXXLE.cjs → chunk-L5CKY5WA.cjs} +15 -15
- package/dist/{chunk-CW3ML76U.cjs → chunk-NTPX5GXI.cjs} +4 -0
- package/dist/{chunk-NPCFVTA2.cjs → chunk-ODF3KCRK.cjs} +31 -31
- package/dist/{chunk-YSKX42LW.cjs → chunk-PMX6QNNN.cjs} +12 -12
- package/dist/{chunk-2A56MLLL.cjs → chunk-SWEPHSIP.cjs} +4 -4
- package/dist/{chunk-7J4YWDT6.cjs → chunk-TF2XYDH3.cjs} +3 -3
- package/dist/{chunk-KSCEAIBS.cjs → chunk-TOPGBOCN.cjs} +2 -2
- package/dist/{chunk-FPCGKH5K.cjs → chunk-TUXPFF4P.cjs} +31 -29
- package/dist/{chunk-SE76YGR3.cjs → chunk-USMR73ND.cjs} +4 -4
- package/dist/{chunk-BMFU2CUL.cjs → chunk-VAGZJRYV.cjs} +4 -4
- package/dist/{chunk-3FREBLAJ.cjs → chunk-VDXBACD3.cjs} +47 -45
- package/dist/{chunk-X5Z4HRH7.cjs → chunk-VISK6LKE.cjs} +2 -2
- package/dist/{chunk-5V7BIUGA.cjs → chunk-Y3EBUFX4.cjs} +92 -21
- package/dist/{cloud-tenants-EE5ULFOK.cjs → cloud-tenants-ISGAMTJD.cjs} +11 -11
- package/dist/components/authors/author-detail-view.d.ts.map +1 -1
- package/dist/components/authors/author-detail-view.js +12 -2
- package/dist/components/case-studies/index.cjs +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/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/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 +74 -62
- 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/card-registry.d.ts +5 -0
- package/dist/components/related-content/card-registry.d.ts.map +1 -1
- package/dist/components/related-content/card-registry.js +2 -0
- package/dist/components/related-content/index.cjs +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 +20 -11
- package/dist/components/tickets/index.cjs +17 -17
- package/dist/components/ui/index.cjs +13 -11
- package/dist/components/ui/photo-wall.d.ts +16 -1
- package/dist/components/ui/photo-wall.d.ts.map +1 -1
- package/dist/components/ui/photo-wall.js +24 -9
- 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-EBGGHEGR.cjs → devices-AHJX6ACJ.cjs} +12 -12
- package/dist/{embeddable-chat-HCT4QV35.cjs → embeddable-chat-DI7ZZTBP.cjs} +75 -75
- 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-5ZSMKKTL.cjs → knowledge-FH5GVRVP.cjs} +12 -12
- package/dist/{logs-GUV3BMGC.cjs → logs-JBIHHLUQ.cjs} +19 -19
- package/dist/{policies-HPMTDOAS.cjs → policies-XLJ2ABY5.cjs} +15 -15
- package/dist/{scripts-QYYKCIUW.cjs → scripts-CQLXM7PP.cjs} +16 -16
- package/dist/{software-update-NC2KZKEI.cjs → software-update-7NYZ7L76.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/authors/author-detail-view.tsx +10 -2
- package/src/components/chat/ask-prompts.tsx +6 -1
- 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/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/card-registry.tsx +7 -0
- package/src/components/related-content/index.ts +2 -1
- package/src/components/related-content/related-content-section.tsx +38 -14
- package/src/components/ui/photo-wall.tsx +43 -10
- 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 _chunkBPAYT72Lcjs = require('./chunk-BPAYT72L.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,
|
|
@@ -17350,7 +17356,8 @@ function PhotoWall({
|
|
|
17350
17356
|
speed = 24,
|
|
17351
17357
|
fadeColor,
|
|
17352
17358
|
className,
|
|
17353
|
-
loading: loadingProp = false
|
|
17359
|
+
loading: loadingProp = false,
|
|
17360
|
+
sizes
|
|
17354
17361
|
}) {
|
|
17355
17362
|
const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
17356
17363
|
const loading = loadingProp || inScope;
|
|
@@ -17373,16 +17380,31 @@ function PhotoWall({
|
|
|
17373
17380
|
(box.width - COLUMN_GAP_PX * (columnCount - 1)) / columnCount,
|
|
17374
17381
|
typeof window === "undefined" ? 1 : window.devicePixelRatio || 1
|
|
17375
17382
|
) : void 0;
|
|
17383
|
+
const sizedUpFront = !!sizes && images.length > 0 && images.every((image) => image.width && image.height);
|
|
17376
17384
|
const unique = _react.useMemo.call(void 0, () => {
|
|
17377
|
-
if (requestWidth === void 0
|
|
17385
|
+
if (inScope || !sizedUpFront && requestWidth === void 0) return [];
|
|
17378
17386
|
const byUrl = /* @__PURE__ */ new Map();
|
|
17379
17387
|
for (const image of images) if (!byUrl.has(image.url)) byUrl.set(image.url, image);
|
|
17380
17388
|
return Array.from(byUrl.values());
|
|
17381
|
-
}, [images, requestWidth, inScope]);
|
|
17382
|
-
const drawnWidth = _nullishCoalesce(requestWidth, () => ( void 0));
|
|
17389
|
+
}, [images, requestWidth, inScope, sizedUpFront]);
|
|
17390
|
+
const drawnWidth = sizedUpFront ? void 0 : _nullishCoalesce(requestWidth, () => ( void 0));
|
|
17383
17391
|
const drawnUrl = _react.useCallback.call(void 0, (url) => drawnWidth ? _chunkE76ONBKFcjs.resizedImageUrl.call(void 0, url, drawnWidth) : url, [drawnWidth]);
|
|
17384
|
-
const
|
|
17385
|
-
|
|
17392
|
+
const known = _react.useMemo.call(void 0, () => {
|
|
17393
|
+
const byUrl = /* @__PURE__ */ new Map();
|
|
17394
|
+
for (const image of unique) {
|
|
17395
|
+
if (image.width && image.height) byUrl.set(drawnUrl(image.url), photoOrientation(image.width, image.height));
|
|
17396
|
+
}
|
|
17397
|
+
return byUrl;
|
|
17398
|
+
}, [unique, drawnUrl]);
|
|
17399
|
+
const urls = _react.useMemo.call(void 0,
|
|
17400
|
+
() => unique.map((image) => drawnUrl(image.url)).filter((url) => !known.has(url)),
|
|
17401
|
+
[unique, drawnUrl, known]
|
|
17402
|
+
);
|
|
17403
|
+
const probed = usePhotoOrientations(urls);
|
|
17404
|
+
const orientations = _react.useMemo.call(void 0, () => {
|
|
17405
|
+
if (urls.length === 0) return known;
|
|
17406
|
+
return probed ? new Map([...known, ...probed]) : null;
|
|
17407
|
+
}, [urls, known, probed]);
|
|
17386
17408
|
const layout = _react.useMemo.call(void 0, () => {
|
|
17387
17409
|
if (!orientations) return null;
|
|
17388
17410
|
const photos = unique.flatMap((image) => {
|
|
@@ -17403,13 +17425,13 @@ function PhotoWall({
|
|
|
17403
17425
|
});
|
|
17404
17426
|
}, [orientations, unique, drawnUrl, columns, box]);
|
|
17405
17427
|
if (images.length === 0 && !loading) return null;
|
|
17406
|
-
const columnsToDraw = loading || requestWidth === void 0 ? null : layout;
|
|
17428
|
+
const columnsToDraw = loading || !sizedUpFront && requestWidth === void 0 ? null : layout;
|
|
17407
17429
|
const gridStyle = {
|
|
17408
17430
|
gridTemplateColumns: `repeat(${_optionalChain([columnsToDraw, 'optionalAccess', _365 => _365.length]) || columns}, minmax(0, 1fr))`,
|
|
17409
17431
|
gap: COLUMN_GAP_PX
|
|
17410
17432
|
};
|
|
17411
17433
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootRef, "aria-hidden": "true", className: _chunk65VVJSQZcjs.cn.call(void 0, "grid overflow-hidden", className), style: gridStyle, children: columnsToDraw ? columnsToDraw.map((column, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17412
|
-
|
|
17434
|
+
_chunkKWZ62LPZcjs.MarqueeWall,
|
|
17413
17435
|
{
|
|
17414
17436
|
axis: "y",
|
|
17415
17437
|
reverse: index % 2 === 1,
|
|
@@ -17433,8 +17455,7 @@ function PhotoWall({
|
|
|
17433
17455
|
alt: _nullishCoalesce(photo.alt, () => ( "")),
|
|
17434
17456
|
fill: true,
|
|
17435
17457
|
className: "object-cover",
|
|
17436
|
-
optimizedWidth: drawnWidth,
|
|
17437
|
-
unoptimized: true,
|
|
17458
|
+
...sizedUpFront ? { sizes } : { optimizedWidth: drawnWidth, unoptimized: true },
|
|
17438
17459
|
loading: i < EAGER_PHOTOS_PER_COLUMN ? "eager" : "lazy",
|
|
17439
17460
|
fetchPriority: index === 0 && i === 0 ? "high" : void 0
|
|
17440
17461
|
}
|
|
@@ -17536,9 +17557,9 @@ function LazyMount({
|
|
|
17536
17557
|
placeholder = null,
|
|
17537
17558
|
className,
|
|
17538
17559
|
style,
|
|
17539
|
-
rootMargin =
|
|
17560
|
+
rootMargin = _chunkNTPX5GXIcjs.NEAR_VIEWPORT_ROOT_MARGIN
|
|
17540
17561
|
}) {
|
|
17541
|
-
const { ref, isNear } =
|
|
17562
|
+
const { ref, isNear } = _chunkNTPX5GXIcjs.useNearViewport.call(void 0, rootMargin);
|
|
17542
17563
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className, style, children: isNear ? children : placeholder });
|
|
17543
17564
|
}
|
|
17544
17565
|
|
|
@@ -17956,7 +17977,7 @@ var TRIAL_TERM_ICONS = {
|
|
|
17956
17977
|
};
|
|
17957
17978
|
var DEFAULT_TRIAL_TERMS = ["cancel", "length", "noContract"];
|
|
17958
17979
|
function trialBenefits(trialDays, terms = DEFAULT_TRIAL_TERMS) {
|
|
17959
|
-
const labels =
|
|
17980
|
+
const labels = _chunkBTVO676Bcjs.trialLabels.call(void 0, trialDays);
|
|
17960
17981
|
return terms.flatMap((term) => {
|
|
17961
17982
|
const label = labels[term];
|
|
17962
17983
|
return label ? [{ icon: TRIAL_TERM_ICONS[term], label }] : [];
|
|
@@ -18211,7 +18232,7 @@ function SnapCarousel({
|
|
|
18211
18232
|
}, [count, slideStep]);
|
|
18212
18233
|
const canAutoAdvance = autoAdvanceMs > 0 && count > 1;
|
|
18213
18234
|
const playing = auto.playing && canAutoAdvance;
|
|
18214
|
-
const ranMs =
|
|
18235
|
+
const ranMs = _chunkE64HPPRHcjs.useResumableTimeout.call(void 0, {
|
|
18215
18236
|
running: playing,
|
|
18216
18237
|
durationMs: autoAdvanceMs,
|
|
18217
18238
|
resetKey: index,
|
|
@@ -18595,10 +18616,10 @@ function AccountDetailsFields({
|
|
|
18595
18616
|
onKeyDown,
|
|
18596
18617
|
layout = "stacked"
|
|
18597
18618
|
}) {
|
|
18598
|
-
const firstNameErr =
|
|
18599
|
-
const lastNameErr =
|
|
18600
|
-
const passwordErr =
|
|
18601
|
-
const confirmErr =
|
|
18619
|
+
const firstNameErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _371 => _371.firstName]), firstName);
|
|
18620
|
+
const lastNameErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _372 => _372.lastName]), lastName);
|
|
18621
|
+
const passwordErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _373 => _373.password]), password);
|
|
18622
|
+
const confirmErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _374 => _374.confirmPassword]), confirmPassword);
|
|
18602
18623
|
const names = [
|
|
18603
18624
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18604
18625
|
_chunkYXDHVHB2cjs.Input,
|
|
@@ -18855,7 +18876,7 @@ function SsoProviderButtons({
|
|
|
18855
18876
|
// where a long organization name would otherwise push the label out of a phone-width
|
|
18856
18877
|
// button. `block` over its inline-flex, because an ellipsis only renders on a block box.
|
|
18857
18878
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18858
|
-
|
|
18879
|
+
_chunkY3EBUFX4cjs.StatusBadge,
|
|
18859
18880
|
{
|
|
18860
18881
|
text: tag,
|
|
18861
18882
|
variant: "button",
|
|
@@ -18914,7 +18935,7 @@ function CompleteAccountForm({
|
|
|
18914
18935
|
),
|
|
18915
18936
|
children: [
|
|
18916
18937
|
/* @__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:
|
|
18938
|
+
/* @__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
18939
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
18919
18940
|
] }),
|
|
18920
18941
|
ssoProviders && ssoProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -19045,9 +19066,9 @@ function CreateOrganizationForm({
|
|
|
19045
19066
|
}) {
|
|
19046
19067
|
const hasSso = !!ssoProviders && ssoProviders.length > 0;
|
|
19047
19068
|
const fieldsDisabled = disabled || loading;
|
|
19048
|
-
const emailErr =
|
|
19049
|
-
const orgNameErr =
|
|
19050
|
-
const domainErr =
|
|
19069
|
+
const emailErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _376 => _376.email]), _nullishCoalesce(email, () => ( "")));
|
|
19070
|
+
const orgNameErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _377 => _377.organizationName]), organizationName);
|
|
19071
|
+
const domainErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _378 => _378.domain]), domain);
|
|
19051
19072
|
const handleKeyDown = (event) => {
|
|
19052
19073
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19053
19074
|
onSubmit();
|
|
@@ -19062,7 +19083,7 @@ function CreateOrganizationForm({
|
|
|
19062
19083
|
),
|
|
19063
19084
|
children: [
|
|
19064
19085
|
/* @__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:
|
|
19086
|
+
/* @__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
19087
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19067
19088
|
] }),
|
|
19068
19089
|
email === void 0 ? null : emailReadOnly ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYXDHVHB2cjs.Input, { type: "email", label: emailReadOnlyLabel, value: email, readOnly: true, disabled: true }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19203,7 +19224,7 @@ function InviteLinkInvalidModal({
|
|
|
19203
19224
|
),
|
|
19204
19225
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full max-w-[600px] flex-col gap-[var(--spacing-system-l)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-xl)]", children: [
|
|
19205
19226
|
/* @__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:
|
|
19227
|
+
/* @__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
19228
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19208
19229
|
"button",
|
|
19209
19230
|
{
|
|
@@ -19266,7 +19287,7 @@ function LoginForm({
|
|
|
19266
19287
|
}) {
|
|
19267
19288
|
const fieldDisabled = disabled || loading;
|
|
19268
19289
|
const providersDisabled = fieldDisabled || ssoDisabled;
|
|
19269
|
-
const emailErr =
|
|
19290
|
+
const emailErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _385 => _385.email]), email);
|
|
19270
19291
|
const handleKeyDown = (event) => {
|
|
19271
19292
|
if (event.key !== "Enter" || event.repeat || fieldDisabled) return;
|
|
19272
19293
|
if (onSubmitClick) {
|
|
@@ -19284,7 +19305,7 @@ function LoginForm({
|
|
|
19284
19305
|
),
|
|
19285
19306
|
children: [
|
|
19286
19307
|
/* @__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:
|
|
19308
|
+
/* @__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
19309
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19289
19310
|
] }),
|
|
19290
19311
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19410,7 +19431,7 @@ function NoAccountNotice({
|
|
|
19410
19431
|
),
|
|
19411
19432
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full max-w-[600px] flex-col gap-[var(--spacing-system-l)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-xl)]", children: [
|
|
19412
19433
|
/* @__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:
|
|
19434
|
+
/* @__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
19435
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: description })
|
|
19415
19436
|
] }),
|
|
19416
19437
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { type: "button", variant: "outline", fullWidth: true, onClick: onBackToLogin, children: backLabel })
|
|
@@ -19443,8 +19464,8 @@ function OpenFrameSsoLoginForm({
|
|
|
19443
19464
|
className
|
|
19444
19465
|
}) {
|
|
19445
19466
|
const fieldsDisabled = disabled || loading;
|
|
19446
|
-
const emailErr =
|
|
19447
|
-
const passwordErr =
|
|
19467
|
+
const emailErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _389 => _389.email]), email);
|
|
19468
|
+
const passwordErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _390 => _390.password]), password);
|
|
19448
19469
|
const handleKeyDown = (event) => {
|
|
19449
19470
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19450
19471
|
onSubmit();
|
|
@@ -19459,7 +19480,7 @@ function OpenFrameSsoLoginForm({
|
|
|
19459
19480
|
),
|
|
19460
19481
|
children: [
|
|
19461
19482
|
/* @__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:
|
|
19483
|
+
/* @__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
19484
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19464
19485
|
] }),
|
|
19465
19486
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19549,7 +19570,7 @@ function OpenFrameSsoSignUpForm({
|
|
|
19549
19570
|
className
|
|
19550
19571
|
}) {
|
|
19551
19572
|
const fieldsDisabled = disabled || loading;
|
|
19552
|
-
const emailErr =
|
|
19573
|
+
const emailErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _391 => _391.email]), email);
|
|
19553
19574
|
const handleKeyDown = (event) => {
|
|
19554
19575
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19555
19576
|
onSubmit();
|
|
@@ -19564,7 +19585,7 @@ function OpenFrameSsoSignUpForm({
|
|
|
19564
19585
|
),
|
|
19565
19586
|
children: [
|
|
19566
19587
|
/* @__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:
|
|
19588
|
+
/* @__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
19589
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19569
19590
|
] }),
|
|
19570
19591
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19654,8 +19675,8 @@ function PasswordResetForm({
|
|
|
19654
19675
|
className
|
|
19655
19676
|
}) {
|
|
19656
19677
|
const fieldsDisabled = disabled || loading;
|
|
19657
|
-
const passwordErr =
|
|
19658
|
-
const confirmErr =
|
|
19678
|
+
const passwordErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _392 => _392.password]), password);
|
|
19679
|
+
const confirmErr = _chunkE64HPPRHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _393 => _393.confirmPassword]), confirmPassword);
|
|
19659
19680
|
const handleKeyDown = (event) => {
|
|
19660
19681
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19661
19682
|
onSubmit();
|
|
@@ -19670,7 +19691,7 @@ function PasswordResetForm({
|
|
|
19670
19691
|
),
|
|
19671
19692
|
children: [
|
|
19672
19693
|
/* @__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:
|
|
19694
|
+
/* @__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
19695
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19675
19696
|
] }),
|
|
19676
19697
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19787,7 +19808,7 @@ function SsoJoinForm({
|
|
|
19787
19808
|
),
|
|
19788
19809
|
children: [
|
|
19789
19810
|
/* @__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:
|
|
19811
|
+
/* @__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
19812
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
19792
19813
|
] }),
|
|
19793
19814
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-s)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-m)]", children: [
|
|
@@ -20049,7 +20070,7 @@ function ChangelogManager({
|
|
|
20049
20070
|
),
|
|
20050
20071
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: hasContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-primary text-h6", children: entry.title }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "italic text-ods-text-secondary text-h6", children: "New entry (click to edit)" }) }),
|
|
20051
20072
|
tagOptions && tagLabelOf(entry.tag) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20052
|
-
|
|
20073
|
+
_chunkY3EBUFX4cjs.StatusBadge,
|
|
20053
20074
|
{
|
|
20054
20075
|
variant: "button",
|
|
20055
20076
|
singleLine: true,
|
|
@@ -20396,11 +20417,11 @@ function EntityTagBadgesSkeleton({
|
|
|
20396
20417
|
i >= count && "content-md:hidden"
|
|
20397
20418
|
),
|
|
20398
20419
|
"data-loading-item": true,
|
|
20399
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20420
|
+
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
20421
|
},
|
|
20401
20422
|
i
|
|
20402
20423
|
)),
|
|
20403
|
-
overflow && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TAG_ITEM_CLASS, "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20424
|
+
overflow && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TAG_ITEM_CLASS, "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.StatusBadgeSkeleton, { variant: "card", className: _chunk65VVJSQZcjs.cn.call(void 0, "border", OVERFLOW_BADGE_SKELETON_CLASS) }) })
|
|
20404
20425
|
] });
|
|
20405
20426
|
}
|
|
20406
20427
|
function EntityTagBadges({
|
|
@@ -20437,7 +20458,7 @@ function EntityTagBadges({
|
|
|
20437
20458
|
const label = (tag.name || "").toUpperCase();
|
|
20438
20459
|
if (basePath && tag.slug) {
|
|
20439
20460
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: `${basePath}?tags=${tag.slug}`, className: itemClass(index), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20440
|
-
|
|
20461
|
+
_chunkY3EBUFX4cjs.StatusBadge,
|
|
20441
20462
|
{
|
|
20442
20463
|
text: label,
|
|
20443
20464
|
variant: "card",
|
|
@@ -20445,7 +20466,7 @@ function EntityTagBadges({
|
|
|
20445
20466
|
}
|
|
20446
20467
|
) }, key);
|
|
20447
20468
|
}
|
|
20448
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: itemClass(index), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20469
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: itemClass(index), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }) }, key);
|
|
20449
20470
|
}),
|
|
20450
20471
|
phoneOverflow === overflow ? overflow > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OverflowBadge, { count: overflow }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
20451
20472
|
phoneOverflow > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OverflowBadge, { count: phoneOverflow, className: "content-md:hidden" }),
|
|
@@ -20454,7 +20475,7 @@ function EntityTagBadges({
|
|
|
20454
20475
|
] });
|
|
20455
20476
|
}
|
|
20456
20477
|
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,
|
|
20478
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, TAG_ITEM_CLASS, className), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.StatusBadge, { text: `+${count}`, variant: "card", className: _chunk65VVJSQZcjs.cn.call(void 0, BADGE_CLASS, "text-ods-text-secondary") }) });
|
|
20458
20479
|
}
|
|
20459
20480
|
|
|
20460
20481
|
// src/components/features/error-boundary.tsx
|
|
@@ -20549,7 +20570,7 @@ var SectionButton = ({
|
|
|
20549
20570
|
}
|
|
20550
20571
|
),
|
|
20551
20572
|
section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20552
|
-
|
|
20573
|
+
_chunkY3EBUFX4cjs.StatusBadge,
|
|
20553
20574
|
{
|
|
20554
20575
|
text: section.badge.text,
|
|
20555
20576
|
variant: section.badge.variant || "button",
|
|
@@ -20568,7 +20589,7 @@ var SectionButton = ({
|
|
|
20568
20589
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-wrap items-start gap-2", children: [
|
|
20569
20590
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, titleClasses, "text-h3"), style: { textAlign: "left" }, children: section.title }),
|
|
20570
20591
|
section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20571
|
-
|
|
20592
|
+
_chunkY3EBUFX4cjs.StatusBadge,
|
|
20572
20593
|
{
|
|
20573
20594
|
text: section.badge.text,
|
|
20574
20595
|
variant: section.badge.variant || "button",
|
|
@@ -21633,15 +21654,15 @@ function useLoading() {
|
|
|
21633
21654
|
|
|
21634
21655
|
|
|
21635
21656
|
function isAlreadyThere(file, existing) {
|
|
21636
|
-
const key =
|
|
21657
|
+
const key = _chunkY3EBUFX4cjs.mediaNameKey.call(void 0, file.name);
|
|
21637
21658
|
if (!key) return false;
|
|
21638
21659
|
return existing.some(
|
|
21639
|
-
(item) => (item.title ?
|
|
21660
|
+
(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
21661
|
);
|
|
21641
21662
|
}
|
|
21642
21663
|
var isFileDrag = (event) => Array.from(event.dataTransfer.types).includes("Files");
|
|
21643
|
-
var isVideoItem = (item) =>
|
|
21644
|
-
var MEDIA_KIND_ACCEPT = { image:
|
|
21664
|
+
var isVideoItem = (item) => _chunkY3EBUFX4cjs.isVideoMedia.call(void 0, item) || item.media_type === "demo";
|
|
21665
|
+
var MEDIA_KIND_ACCEPT = { image: _chunkY3EBUFX4cjs.IMAGE_FILE_ACCEPT, video: "video/*", both: _chunkY3EBUFX4cjs.MEDIA_FILE_ACCEPT };
|
|
21645
21666
|
var MEDIA_KIND_COPY = {
|
|
21646
21667
|
image: { noun: "pictures", refusal: "Not a picture" },
|
|
21647
21668
|
video: { noun: "videos", refusal: "Not a video" },
|
|
@@ -21665,12 +21686,12 @@ function useMediaIntake({ existing, onUpload, onUploaded, kinds = "both" }) {
|
|
|
21665
21686
|
const seen = /* @__PURE__ */ new Set();
|
|
21666
21687
|
const accepted = [];
|
|
21667
21688
|
for (const file of files) {
|
|
21668
|
-
const mediaType =
|
|
21689
|
+
const mediaType = _chunkY3EBUFX4cjs.fileMediaType.call(void 0, file);
|
|
21669
21690
|
if (!mediaType || kinds !== "both" && mediaType !== kinds) {
|
|
21670
21691
|
unsupported.push(file.name);
|
|
21671
21692
|
continue;
|
|
21672
21693
|
}
|
|
21673
|
-
const contentKey = await
|
|
21694
|
+
const contentKey = await _chunkY3EBUFX4cjs.fileContentKey.call(void 0, file).catch(() => `${file.name}:${file.size}`);
|
|
21674
21695
|
if (seen.has(contentKey) || isAlreadyThere(file, existingRef.current)) {
|
|
21675
21696
|
duplicates.push(file.name);
|
|
21676
21697
|
continue;
|
|
@@ -21851,7 +21872,7 @@ function MediaGalleryManager({
|
|
|
21851
21872
|
className: _chunk65VVJSQZcjs.cn.call(void 0, "grid grid-cols-1 gap-4 content-md:grid-cols-2", columns === 3 && "content-lg:grid-cols-3"),
|
|
21852
21873
|
children: [
|
|
21853
21874
|
media.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21854
|
-
|
|
21875
|
+
_chunkY3EBUFX4cjs.Card,
|
|
21855
21876
|
{
|
|
21856
21877
|
className: "group relative border-ods-border transition-colors hover:border-ods-accent/30",
|
|
21857
21878
|
draggable: true,
|
|
@@ -21876,7 +21897,7 @@ function MediaGalleryManager({
|
|
|
21876
21897
|
) }),
|
|
21877
21898
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: isVideoItem(item) ? (
|
|
21878
21899
|
// <Video> SSOT (MuxPlayer): plays Mux HLS and MP4 alike; fit="cover" crops to the cell.
|
|
21879
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21900
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
21880
21901
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21881
21902
|
_chunkE76ONBKFcjs.next_image_default,
|
|
21882
21903
|
{
|
|
@@ -21928,7 +21949,7 @@ function MediaGalleryManager({
|
|
|
21928
21949
|
},
|
|
21929
21950
|
_nullishCoalesce(item.id, () => ( `${item.media_url}-${index}`))
|
|
21930
21951
|
)),
|
|
21931
|
-
pending.map((name, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21952
|
+
pending.map((name, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkY3EBUFX4cjs.Card, { className: "border-ods-border", "aria-busy": "true", children: [
|
|
21932
21953
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex aspect-video items-center justify-center rounded-lg bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) }),
|
|
21933
21954
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate p-3 text-ods-text-secondary text-h6", children: name })
|
|
21934
21955
|
] }, `pending-${name}-${index}`))
|
|
@@ -22282,7 +22303,7 @@ var MODEL_TOKEN_RATES_COPY = {
|
|
|
22282
22303
|
empty: "No token rates are in effect right now."
|
|
22283
22304
|
};
|
|
22284
22305
|
function providerMark(providerType, stated, className) {
|
|
22285
|
-
const Mark = _chunk5P4TDV7Vcjs.findIcon.call(void 0,
|
|
22306
|
+
const Mark = _chunk5P4TDV7Vcjs.findIcon.call(void 0, _chunkBTVO676Bcjs.aiProvider.call(void 0, providerType, { icon: stated }).icon);
|
|
22286
22307
|
return Mark ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Mark, { className }) : void 0;
|
|
22287
22308
|
}
|
|
22288
22309
|
var PAD_X = "px-[var(--spacing-system-s)]";
|
|
@@ -22300,7 +22321,7 @@ var UNIT_LINE_CLASS = _chunk65VVJSQZcjs.cn.call(void 0,
|
|
|
22300
22321
|
var TABS_ROW_CLASS = _chunk65VVJSQZcjs.cn.call(void 0, "shrink-0 border-b border-ods-border py-[var(--spacing-system-xs)]", PAD_X);
|
|
22301
22322
|
var NUMBER_CELL = "w-16 shrink-0 whitespace-nowrap text-right tabular-nums";
|
|
22302
22323
|
function useProviderGroup(rates) {
|
|
22303
|
-
const groups =
|
|
22324
|
+
const groups = _chunkBTVO676Bcjs.groupTokenRatesByProvider.call(void 0, rates);
|
|
22304
22325
|
const [picked, setPicked] = _react.useState.call(void 0, null);
|
|
22305
22326
|
return { groups, group: _nullishCoalesce(groups.find((candidate) => candidate.providerType === picked), () => ( groups[0])), setPicked };
|
|
22306
22327
|
}
|
|
@@ -22311,7 +22332,7 @@ function ProviderTabs({
|
|
|
22311
22332
|
className
|
|
22312
22333
|
}) {
|
|
22313
22334
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22314
|
-
|
|
22335
|
+
_chunkKWZ62LPZcjs.TabSelector,
|
|
22315
22336
|
{
|
|
22316
22337
|
variant: "secondary",
|
|
22317
22338
|
scrollable: true,
|
|
@@ -22319,7 +22340,7 @@ function ProviderTabs({
|
|
|
22319
22340
|
onValueChange,
|
|
22320
22341
|
items: groups.map((candidate) => ({
|
|
22321
22342
|
id: candidate.providerType,
|
|
22322
|
-
label:
|
|
22343
|
+
label: _chunkBTVO676Bcjs.tokenRateProviderLabel.call(void 0, candidate.providerType, _optionalChain([candidate, 'access', _455 => _455.rates, 'access', _456 => _456[0], 'optionalAccess', _457 => _457.providerLabel])),
|
|
22323
22344
|
icon: providerMark(candidate.providerType, _optionalChain([candidate, 'access', _458 => _458.rates, 'access', _459 => _459[0], 'optionalAccess', _460 => _460.providerIcon]), "size-full")
|
|
22324
22345
|
})),
|
|
22325
22346
|
className
|
|
@@ -22397,8 +22418,8 @@ function ModelTokenRatesTable({ rates }) {
|
|
|
22397
22418
|
] }),
|
|
22398
22419
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { role: "rowgroup", className: "min-h-0 flex-1 overflow-y-auto", children: group.rates.map((rate) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { role: "row", className: BODY_ROW_CLASS, children: [
|
|
22399
22420
|
/* @__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:
|
|
22421
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkBTVO676Bcjs.formatTokenRate.call(void 0, rate.inputTokenRate) }),
|
|
22422
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkBTVO676Bcjs.formatTokenRate.call(void 0, rate.outputTokenRate) })
|
|
22402
22423
|
] }, rate.modelName)) })
|
|
22403
22424
|
] }),
|
|
22404
22425
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: UNIT_LINE_CLASS, children: MODEL_TOKEN_RATES_COPY.unit })
|
|
@@ -22448,7 +22469,7 @@ function modelOption(rate) {
|
|
|
22448
22469
|
return {
|
|
22449
22470
|
label: rate.displayName || rate.modelName,
|
|
22450
22471
|
value: rate.modelName,
|
|
22451
|
-
description:
|
|
22472
|
+
description: _chunkBTVO676Bcjs.tokenRateProviderLabel.call(void 0, rate.providerType, rate.providerLabel),
|
|
22452
22473
|
icon: providerMark(rate.providerType, rate.providerIcon, "size-full text-ods-text-secondary")
|
|
22453
22474
|
};
|
|
22454
22475
|
}
|
|
@@ -22502,8 +22523,8 @@ function ModelTokenExchange({
|
|
|
22502
22523
|
const [chosen, setChosen] = _react.useState.call(void 0, null);
|
|
22503
22524
|
const balance = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(chosen, () => ( defaultAmount)), () => ( _optionalChain([tokenPrice, 'optionalAccess', _461 => _461.tokens]))), () => ( MODEL_TOKEN_EXCHANGE_BALANCE));
|
|
22504
22525
|
const max = Math.max(amountRange.max, balance, ...presets.map((preset) => preset.tokens));
|
|
22505
|
-
const tokens =
|
|
22506
|
-
const cost =
|
|
22526
|
+
const tokens = _chunkBTVO676Bcjs.formatTokenAmount.call(void 0, balance);
|
|
22527
|
+
const cost = _chunkBTVO676Bcjs.tokenCost.call(void 0, balance, tokenPrice);
|
|
22507
22528
|
const balancePrice = cost === null ? null : _chunkHY6BCZH7cjs.formatPrice.call(void 0, cost);
|
|
22508
22529
|
const model = rate ? rate.displayName || rate.modelName : "";
|
|
22509
22530
|
const options = models.map(modelOption);
|
|
@@ -22545,7 +22566,7 @@ function ModelTokenExchange({
|
|
|
22545
22566
|
variant: preset.tokens === balance ? "accent" : "outline",
|
|
22546
22567
|
size: "small",
|
|
22547
22568
|
onClick: () => setChosen(preset.tokens),
|
|
22548
|
-
children: copy.buy.preset(
|
|
22569
|
+
children: copy.buy.preset(_chunkBTVO676Bcjs.formatTokenAmount.call(void 0, preset.tokens), preset.label)
|
|
22549
22570
|
},
|
|
22550
22571
|
preset.label
|
|
22551
22572
|
)) })
|
|
@@ -22562,7 +22583,7 @@ function ModelTokenExchange({
|
|
|
22562
22583
|
const stated = _nullishCoalesce(models.find((option) => option.providerType === providerType), () => ( (_optionalChain([rate, 'optionalAccess', _462 => _462.providerType]) === providerType ? rate : null)));
|
|
22563
22584
|
return {
|
|
22564
22585
|
id: providerType,
|
|
22565
|
-
name:
|
|
22586
|
+
name: _chunkBTVO676Bcjs.tokenRateProviderLabel.call(void 0, providerType, _optionalChain([stated, 'optionalAccess', _463 => _463.providerLabel])),
|
|
22566
22587
|
icon: providerMark(providerType, _optionalChain([stated, 'optionalAccess', _464 => _464.providerIcon]), "size-8 text-ods-text-secondary")
|
|
22567
22588
|
};
|
|
22568
22589
|
}),
|
|
@@ -22601,7 +22622,7 @@ function ModelTokenExchange({
|
|
|
22601
22622
|
{
|
|
22602
22623
|
size: "plain",
|
|
22603
22624
|
loading,
|
|
22604
|
-
figure:
|
|
22625
|
+
figure: _chunkBTVO676Bcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _469 => _469.inputTokenRate])),
|
|
22605
22626
|
words: copy.charge.input
|
|
22606
22627
|
}
|
|
22607
22628
|
),
|
|
@@ -22610,7 +22631,7 @@ function ModelTokenExchange({
|
|
|
22610
22631
|
{
|
|
22611
22632
|
size: "plain",
|
|
22612
22633
|
loading,
|
|
22613
|
-
figure:
|
|
22634
|
+
figure: _chunkBTVO676Bcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _470 => _470.outputTokenRate])),
|
|
22614
22635
|
words: copy.charge.output
|
|
22615
22636
|
}
|
|
22616
22637
|
)
|
|
@@ -22622,9 +22643,9 @@ function ModelTokenExchange({
|
|
|
22622
22643
|
className: "mt-auto flex flex-col rounded-md border border-ods-accent bg-ods-bg p-[var(--spacing-system-mf)]",
|
|
22623
22644
|
children: [
|
|
22624
22645
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[2lh] text-ods-text-secondary text-h4", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-full max-w-xs" }) : copy.charge.so(_nullishCoalesce(balancePrice, () => ( copy.buy.tokens(tokens))), model) }),
|
|
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" }) :
|
|
22646
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] whitespace-nowrap tabular-nums text-ods-text-primary text-h1", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-40" }) : _chunkBTVO676Bcjs.formatTokenAmount.call(void 0, _chunkBTVO676Bcjs.tokensForBalance.call(void 0, balance, rate.inputTokenRate)) }),
|
|
22626
22647
|
/* @__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(
|
|
22648
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-secondary text-h4", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-48" }) : copy.charge.orWritten(_chunkBTVO676Bcjs.formatTokenAmount.call(void 0, _chunkBTVO676Bcjs.tokensForBalance.call(void 0, balance, rate.outputTokenRate))) })
|
|
22628
22649
|
]
|
|
22629
22650
|
}
|
|
22630
22651
|
)
|
|
@@ -23055,7 +23076,7 @@ function PlatformFilterComponent({
|
|
|
23055
23076
|
variant: selectedPlatform === platform.value ? "accent" : "outline",
|
|
23056
23077
|
size,
|
|
23057
23078
|
onClick: () => onPlatformChange(platform.value),
|
|
23058
|
-
leftIcon: showIcons ?
|
|
23079
|
+
leftIcon: showIcons ? _chunkCZIMISARcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
|
|
23059
23080
|
className: "text-h3",
|
|
23060
23081
|
children: platform.label
|
|
23061
23082
|
},
|
|
@@ -23163,14 +23184,14 @@ var ConfidenceBadge = ({
|
|
|
23163
23184
|
size = "sm",
|
|
23164
23185
|
className
|
|
23165
23186
|
}) => {
|
|
23166
|
-
const level =
|
|
23187
|
+
const level = _chunkBTVO676Bcjs.getConfidenceLevel.call(void 0, confidence);
|
|
23167
23188
|
if (level === "none") {
|
|
23168
23189
|
return null;
|
|
23169
23190
|
}
|
|
23170
|
-
const label =
|
|
23171
|
-
const borderClass =
|
|
23172
|
-
const textClass =
|
|
23173
|
-
const bgClass =
|
|
23191
|
+
const label = _chunkBTVO676Bcjs.getConfidenceLabel.call(void 0, confidence);
|
|
23192
|
+
const borderClass = _chunkBTVO676Bcjs.getConfidenceBorderClass.call(void 0, confidence);
|
|
23193
|
+
const textClass = _chunkBTVO676Bcjs.getConfidenceTextClass.call(void 0, confidence);
|
|
23194
|
+
const bgClass = _chunkBTVO676Bcjs.getConfidenceBgClass.call(void 0, confidence);
|
|
23174
23195
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23175
23196
|
"span",
|
|
23176
23197
|
{
|
|
@@ -23221,9 +23242,9 @@ function SEOEditorPreview({
|
|
|
23221
23242
|
const [isUploading, setIsUploading] = _react.useState.call(void 0, false);
|
|
23222
23243
|
const [fileInputRef, setFileInputRef] = _react.useState.call(void 0, null);
|
|
23223
23244
|
const seoTitleLength = (seoTitle || "").length;
|
|
23224
|
-
const seoTitleTooLong = seoTitleLength >
|
|
23245
|
+
const seoTitleTooLong = seoTitleLength > _chunkBTVO676Bcjs.SEO_TITLE_MAX_LENGTH;
|
|
23225
23246
|
const seoDescriptionLength = (seoDescription || "").length;
|
|
23226
|
-
const seoDescriptionTooLong = seoDescriptionLength >
|
|
23247
|
+
const seoDescriptionTooLong = seoDescriptionLength > _chunkBTVO676Bcjs.SEO_DESCRIPTION_MAX_LENGTH;
|
|
23227
23248
|
const displayTitle = seoTitle.trim() || title || "Untitled";
|
|
23228
23249
|
const displayDescription = seoDescription.trim() || summary || "No description";
|
|
23229
23250
|
const hasOgImage = ogImageUrl.trim();
|
|
@@ -23248,10 +23269,10 @@ function SEOEditorPreview({
|
|
|
23248
23269
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
|
|
23249
23270
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23250
23271
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23251
|
-
|
|
23272
|
+
_chunkBTVO676Bcjs.Field,
|
|
23252
23273
|
{
|
|
23253
23274
|
label: "SEO Title",
|
|
23254
|
-
error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${
|
|
23275
|
+
error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${_chunkBTVO676Bcjs.SEO_TITLE_MAX_LENGTH})` : null,
|
|
23255
23276
|
labelExtras: aiConfidenceSeoTitle !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
23256
23277
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
|
|
23257
23278
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ConfidenceBadge, { confidence: aiConfidenceSeoTitle, showLabel: true, showPercentage: true, size: "sm" })
|
|
@@ -23266,7 +23287,7 @@ function SEOEditorPreview({
|
|
|
23266
23287
|
children: [
|
|
23267
23288
|
seoTitleLength,
|
|
23268
23289
|
"/",
|
|
23269
|
-
|
|
23290
|
+
_chunkBTVO676Bcjs.SEO_TITLE_MAX_LENGTH
|
|
23270
23291
|
]
|
|
23271
23292
|
}
|
|
23272
23293
|
),
|
|
@@ -23277,7 +23298,7 @@ function SEOEditorPreview({
|
|
|
23277
23298
|
value: seoTitle || "",
|
|
23278
23299
|
onChange: (e) => onSeoTitleChange(e.target.value),
|
|
23279
23300
|
disabled,
|
|
23280
|
-
maxLength:
|
|
23301
|
+
maxLength: _chunkBTVO676Bcjs.SEO_TITLE_MAX_LENGTH,
|
|
23281
23302
|
invalid: seoTitleTooLong,
|
|
23282
23303
|
placeholder: "Enter SEO meta title...",
|
|
23283
23304
|
className: "border-ods-border bg-ods-bg text-ods-text-primary"
|
|
@@ -23288,7 +23309,7 @@ function SEOEditorPreview({
|
|
|
23288
23309
|
!seoTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-accent text-h6", children: "Auto-populated from title" })
|
|
23289
23310
|
] }),
|
|
23290
23311
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23291
|
-
|
|
23312
|
+
_chunkBTVO676Bcjs.Field,
|
|
23292
23313
|
{
|
|
23293
23314
|
label: "SEO Keywords",
|
|
23294
23315
|
labelExtras: aiConfidenceSeoKeywords !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -23320,10 +23341,10 @@ function SEOEditorPreview({
|
|
|
23320
23341
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
|
|
23321
23342
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23322
23343
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23323
|
-
|
|
23344
|
+
_chunkBTVO676Bcjs.Field,
|
|
23324
23345
|
{
|
|
23325
23346
|
label: "SEO Description",
|
|
23326
|
-
error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${
|
|
23347
|
+
error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${_chunkBTVO676Bcjs.SEO_DESCRIPTION_MAX_LENGTH})` : null,
|
|
23327
23348
|
labelExtras: aiConfidenceSeoDescription !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
23328
23349
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
|
|
23329
23350
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -23346,7 +23367,7 @@ function SEOEditorPreview({
|
|
|
23346
23367
|
children: [
|
|
23347
23368
|
seoDescriptionLength,
|
|
23348
23369
|
"/",
|
|
23349
|
-
|
|
23370
|
+
_chunkBTVO676Bcjs.SEO_DESCRIPTION_MAX_LENGTH
|
|
23350
23371
|
]
|
|
23351
23372
|
}
|
|
23352
23373
|
),
|
|
@@ -23357,7 +23378,7 @@ function SEOEditorPreview({
|
|
|
23357
23378
|
value: seoDescription || "",
|
|
23358
23379
|
onChange: (e) => onSeoDescriptionChange(e.target.value),
|
|
23359
23380
|
disabled,
|
|
23360
|
-
maxLength:
|
|
23381
|
+
maxLength: _chunkBTVO676Bcjs.SEO_DESCRIPTION_MAX_LENGTH,
|
|
23361
23382
|
invalid: seoDescriptionTooLong,
|
|
23362
23383
|
placeholder: "Enter SEO meta description...",
|
|
23363
23384
|
className: _chunk65VVJSQZcjs.cn.call(void 0, "resize-none border-ods-border bg-ods-bg text-ods-text-primary", SEO_MEDIA_BOX_HEIGHT)
|
|
@@ -23426,7 +23447,7 @@ function SEOEditorPreview({
|
|
|
23426
23447
|
{
|
|
23427
23448
|
ref: setFileInputRef,
|
|
23428
23449
|
type: "file",
|
|
23429
|
-
accept:
|
|
23450
|
+
accept: _chunkY3EBUFX4cjs.IMAGE_FILE_ACCEPT,
|
|
23430
23451
|
onChange: handleImageUpload,
|
|
23431
23452
|
className: "hidden",
|
|
23432
23453
|
disabled: disabled || isUploading
|
|
@@ -23510,7 +23531,7 @@ function socialIcon(platform) {
|
|
|
23510
23531
|
return _nullishCoalesce(_chunk5P4TDV7Vcjs.iconOf.call(void 0, SOCIAL_ICONS[platform]), () => ( void 0));
|
|
23511
23532
|
}
|
|
23512
23533
|
function renderSocialIcon(platform) {
|
|
23513
|
-
const key = _nullishCoalesce(
|
|
23534
|
+
const key = _nullishCoalesce(_chunkBTVO676Bcjs.normalizeSocialPlatform.call(void 0, platform), () => ( "website"));
|
|
23514
23535
|
const icon = _nullishCoalesce(socialIcon(key), () => ( socialIcon("website")));
|
|
23515
23536
|
return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5" }) : null;
|
|
23516
23537
|
}
|
|
@@ -23597,7 +23618,7 @@ function SocialLinksManager({
|
|
|
23597
23618
|
};
|
|
23598
23619
|
const getIcon = (link, platform) => {
|
|
23599
23620
|
const iconKey = _optionalChain([platform, 'optionalAccess', _480 => _480.icon_name]) || link.platform;
|
|
23600
|
-
const key =
|
|
23621
|
+
const key = _chunkBTVO676Bcjs.normalizeSocialPlatform.call(void 0, iconKey);
|
|
23601
23622
|
if (!key) return null;
|
|
23602
23623
|
const icon = socialIcon(key);
|
|
23603
23624
|
return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5 text-ods-text-secondary" }) : null;
|
|
@@ -23733,7 +23754,7 @@ var StartWithOpenFrameButton = _react.forwardRef.call(void 0,
|
|
|
23733
23754
|
className: _chunk65VVJSQZcjs.cn.call(void 0, modeClassName, className),
|
|
23734
23755
|
style: customStyle,
|
|
23735
23756
|
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,
|
|
23757
|
+
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
|
|
23737
23758
|
children
|
|
23738
23759
|
}
|
|
23739
23760
|
);
|
|
@@ -24060,11 +24081,11 @@ function WarningBlock({ title, icon = DEFAULT_ICON, children, className }) {
|
|
|
24060
24081
|
|
|
24061
24082
|
function VideoBitesDisplay({
|
|
24062
24083
|
bites,
|
|
24063
|
-
title =
|
|
24084
|
+
title = _chunkY3EBUFX4cjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
24064
24085
|
filterPublished = true,
|
|
24065
24086
|
showTitle = true
|
|
24066
24087
|
}) {
|
|
24067
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24088
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKWZ62LPZcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
24068
24089
|
}
|
|
24069
24090
|
|
|
24070
24091
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -24094,7 +24115,7 @@ function WalkthroughVideo({
|
|
|
24094
24115
|
onOpenChange,
|
|
24095
24116
|
defaultOpen,
|
|
24096
24117
|
defaultOpenPaused,
|
|
24097
|
-
deepLinkParam =
|
|
24118
|
+
deepLinkParam = _chunkBTVO676Bcjs.WALKTHROUGH_OPEN_QUERY_PARAM,
|
|
24098
24119
|
autoPlayCard = false,
|
|
24099
24120
|
label = "Play Demo Video",
|
|
24100
24121
|
placement,
|
|
@@ -24111,7 +24132,7 @@ function WalkthroughVideo({
|
|
|
24111
24132
|
const inline = placement === "inline";
|
|
24112
24133
|
const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
24113
24134
|
const dismissEnabled = dismissal !== false;
|
|
24114
|
-
const storageKey = dismissEnabled && dismissal.storageKey ||
|
|
24135
|
+
const storageKey = dismissEnabled && dismissal.storageKey || _chunkBTVO676Bcjs.WALKTHROUGH_VIDEO_DISMISS_KEY;
|
|
24115
24136
|
const dismissalId = _optionalChain([video, 'optionalAccess', _486 => _486.id]) != null ? String(video.id) : "dismissed";
|
|
24116
24137
|
const [mounted, setMounted] = _react.useState.call(void 0, false);
|
|
24117
24138
|
const [dismissed, setDismissed] = _react.useState.call(void 0, false);
|
|
@@ -24123,7 +24144,7 @@ function WalkthroughVideo({
|
|
|
24123
24144
|
let delayElapsed = false;
|
|
24124
24145
|
let interacted = inline;
|
|
24125
24146
|
const reveal = () => {
|
|
24126
|
-
if (dismissEnabled &&
|
|
24147
|
+
if (dismissEnabled && _chunkBTVO676Bcjs.isWalkthroughDismissed.call(void 0, storageKey, dismissalId)) {
|
|
24127
24148
|
setDismissed(true);
|
|
24128
24149
|
return;
|
|
24129
24150
|
}
|
|
@@ -24160,7 +24181,7 @@ function WalkthroughVideo({
|
|
|
24160
24181
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
24161
24182
|
};
|
|
24162
24183
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId, inline]);
|
|
24163
|
-
const hydrated =
|
|
24184
|
+
const hydrated = _chunkKWZ62LPZcjs.useIsHydrated.call(void 0, );
|
|
24164
24185
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
24165
24186
|
if (!hydrated) return false;
|
|
24166
24187
|
try {
|
|
@@ -24410,7 +24431,7 @@ function WalkthroughVideo({
|
|
|
24410
24431
|
(e) => {
|
|
24411
24432
|
e.stopPropagation();
|
|
24412
24433
|
pausePreviewNow();
|
|
24413
|
-
if (dismissEnabled)
|
|
24434
|
+
if (dismissEnabled) _chunkBTVO676Bcjs.dismissWalkthrough.call(void 0, storageKey, dismissalId);
|
|
24414
24435
|
setDismissed(true);
|
|
24415
24436
|
},
|
|
24416
24437
|
[dismissEnabled, storageKey, dismissalId, pausePreviewNow]
|
|
@@ -24561,7 +24582,7 @@ function WalkthroughVideo({
|
|
|
24561
24582
|
},
|
|
24562
24583
|
children: [
|
|
24563
24584
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24564
|
-
|
|
24585
|
+
_chunkY3EBUFX4cjs.VideoHoverPreviewSurface,
|
|
24565
24586
|
{
|
|
24566
24587
|
url: video.mainVideoUrl || "",
|
|
24567
24588
|
posterUrl: video.posterUrl ? _chunkE76ONBKFcjs.resizedImageUrl.call(void 0, video.posterUrl, CARD_POSTER_WIDTH_PX) : video.posterUrl,
|
|
@@ -24585,7 +24606,7 @@ function WalkthroughVideo({
|
|
|
24585
24606
|
`card-${embedUrlKey}`
|
|
24586
24607
|
) }),
|
|
24587
24608
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24588
|
-
|
|
24609
|
+
_chunkKWZ62LPZcjs.CardHitLayer,
|
|
24589
24610
|
{
|
|
24590
24611
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
24591
24612
|
onPointerDown: pausePreviewNow,
|
|
@@ -24701,7 +24722,7 @@ function WalkthroughVideo({
|
|
|
24701
24722
|
children: [
|
|
24702
24723
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
24703
24724
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24704
|
-
|
|
24725
|
+
_chunkY3EBUFX4cjs.Video,
|
|
24705
24726
|
{
|
|
24706
24727
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
24707
24728
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -24757,7 +24778,7 @@ function useWalkthroughVideo(opts) {
|
|
|
24757
24778
|
const { endpoint, initialData, enabled: enabledGiven = true, transformCaptionsUrl } = opts;
|
|
24758
24779
|
const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
24759
24780
|
const enabled = enabledGiven && !inScope;
|
|
24760
|
-
const captions =
|
|
24781
|
+
const captions = _chunkKWZ62LPZcjs.useCaptions.call(void 0, );
|
|
24761
24782
|
const query = _reactquery.useQuery.call(void 0, {
|
|
24762
24783
|
queryKey: ["walkthrough-video", endpoint],
|
|
24763
24784
|
enabled,
|
|
@@ -24955,7 +24976,7 @@ function VideoSourceSelector({
|
|
|
24955
24976
|
}
|
|
24956
24977
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
24957
24978
|
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,
|
|
24979
|
+
/* @__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
24980
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24960
24981
|
"button",
|
|
24961
24982
|
{
|
|
@@ -25479,7 +25500,7 @@ function HighlightVideoSection({
|
|
|
25479
25500
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
25480
25501
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
25481
25502
|
/* @__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,
|
|
25503
|
+
/* @__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
25504
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25484
25505
|
"button",
|
|
25485
25506
|
{
|
|
@@ -25506,7 +25527,7 @@ function HighlightConfigSection({
|
|
|
25506
25527
|
disabled = false,
|
|
25507
25528
|
className = ""
|
|
25508
25529
|
}) {
|
|
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,
|
|
25530
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `space-y-3 rounded-lg border border-ods-border bg-ods-card p-4 ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBTVO676Bcjs.Field, { label: "Target Duration", children: (f) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25510
25531
|
_chunkV3W56L2Dcjs.Select,
|
|
25511
25532
|
{
|
|
25512
25533
|
value: targetDurationSeconds.toString(),
|
|
@@ -25607,7 +25628,7 @@ var AIStatusIndicator = ({
|
|
|
25607
25628
|
}) => {
|
|
25608
25629
|
const config = statusConfig[status];
|
|
25609
25630
|
const displayText = message || config.label;
|
|
25610
|
-
const confidenceLabel = showConfidence && confidence !== void 0 ? `${
|
|
25631
|
+
const confidenceLabel = showConfidence && confidence !== void 0 ? `${_chunkBTVO676Bcjs.getConfidenceLabel.call(void 0, confidence)} (${confidence}%)` : null;
|
|
25611
25632
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "inline-flex items-center gap-2 rounded-lg px-3 py-1.5", config.bgColor, className), children: [
|
|
25612
25633
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25613
25634
|
_chunkUNFCRSYIcjs.SparklesIcon,
|
|
@@ -25615,7 +25636,7 @@ var AIStatusIndicator = ({
|
|
|
25615
25636
|
size: 16,
|
|
25616
25637
|
className: _chunk65VVJSQZcjs.cn.call(void 0,
|
|
25617
25638
|
status === "loading" && _chunkXFRBEXQNcjs.LIVE_PULSE_CLASS,
|
|
25618
|
-
confidence !== void 0 && status === "success" ?
|
|
25639
|
+
confidence !== void 0 && status === "success" ? _chunkBTVO676Bcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
|
|
25619
25640
|
)
|
|
25620
25641
|
}
|
|
25621
25642
|
),
|
|
@@ -25624,7 +25645,7 @@ var AIStatusIndicator = ({
|
|
|
25624
25645
|
{
|
|
25625
25646
|
className: _chunk65VVJSQZcjs.cn.call(void 0,
|
|
25626
25647
|
"text-h6",
|
|
25627
|
-
confidence !== void 0 && status === "success" ?
|
|
25648
|
+
confidence !== void 0 && status === "success" ? _chunkBTVO676Bcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
|
|
25628
25649
|
),
|
|
25629
25650
|
children: displayText
|
|
25630
25651
|
}
|
|
@@ -25634,8 +25655,8 @@ var AIStatusIndicator = ({
|
|
|
25634
25655
|
{
|
|
25635
25656
|
className: _chunk65VVJSQZcjs.cn.call(void 0,
|
|
25636
25657
|
"rounded-full border px-2 py-0.5 text-h6",
|
|
25637
|
-
|
|
25638
|
-
|
|
25658
|
+
_chunkBTVO676Bcjs.getConfidenceBorderClass.call(void 0, confidence),
|
|
25659
|
+
_chunkBTVO676Bcjs.getConfidenceTextClass.call(void 0, confidence)
|
|
25639
25660
|
),
|
|
25640
25661
|
children: confidenceLabel
|
|
25641
25662
|
}
|
|
@@ -26562,7 +26583,7 @@ function PoliciesTable({
|
|
|
26562
26583
|
cell: ({ row }) => row.original.href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26563
26584
|
_chunkTF5D5MNOcjs.Button,
|
|
26564
26585
|
{
|
|
26565
|
-
onClick:
|
|
26586
|
+
onClick: _chunkBTVO676Bcjs.openInNewTab.call(void 0, row.original.href),
|
|
26566
26587
|
variant: "outline",
|
|
26567
26588
|
size: "icon",
|
|
26568
26589
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -26888,7 +26909,7 @@ function TenantsTableView({
|
|
|
26888
26909
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26889
26910
|
_chunkTF5D5MNOcjs.Button,
|
|
26890
26911
|
{
|
|
26891
|
-
onClick:
|
|
26912
|
+
onClick: _chunkBTVO676Bcjs.openInNewTab.call(void 0, getHref(row.original)),
|
|
26892
26913
|
variant: "outline",
|
|
26893
26914
|
size: "icon",
|
|
26894
26915
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -26966,13 +26987,13 @@ function WaitlistForm({
|
|
|
26966
26987
|
const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
|
|
26967
26988
|
const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
|
|
26968
26989
|
const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
|
|
26969
|
-
const { toast } =
|
|
26970
|
-
const { honeypotInputProps, getSignals, resetSignals } =
|
|
26990
|
+
const { toast } = _chunkE64HPPRHcjs.useToast.call(void 0, );
|
|
26991
|
+
const { honeypotInputProps, getSignals, resetSignals } = _chunkE64HPPRHcjs.useHumanitySignals.call(void 0, );
|
|
26971
26992
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
26972
|
-
const isClient =
|
|
26993
|
+
const isClient = _chunkKWZ62LPZcjs.useIsHydrated.call(void 0, );
|
|
26973
26994
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
26974
26995
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
26975
|
-
const rescue =
|
|
26996
|
+
const rescue = _chunkE64HPPRHcjs.useFormRescue.call(void 0, {
|
|
26976
26997
|
form: rescueForm,
|
|
26977
26998
|
// The phone is reported as filled only; its value never leaves the form early.
|
|
26978
26999
|
fieldNames: ["email", "phone"],
|
|
@@ -26984,7 +27005,7 @@ function WaitlistForm({
|
|
|
26984
27005
|
_react.useEffect.call(void 0, () => {
|
|
26985
27006
|
rescue.track({ email, phone }, null);
|
|
26986
27007
|
}, [email, phone, rescue]);
|
|
26987
|
-
const isMailDomainGeneric =
|
|
27008
|
+
const isMailDomainGeneric = _chunkBTVO676Bcjs.hasGenericEmailDomain.call(void 0, email);
|
|
26988
27009
|
const [syncedDefaultEmail, setSyncedDefaultEmail] = _react.useState.call(void 0, defaultEmail);
|
|
26989
27010
|
if (syncedDefaultEmail !== defaultEmail) {
|
|
26990
27011
|
setSyncedDefaultEmail(defaultEmail);
|
|
@@ -27018,7 +27039,7 @@ function WaitlistForm({
|
|
|
27018
27039
|
setShowConsentError(true);
|
|
27019
27040
|
return;
|
|
27020
27041
|
}
|
|
27021
|
-
const finalPhone = phone ?
|
|
27042
|
+
const finalPhone = phone ? _chunkBTVO676Bcjs.formatPhoneE164.call(void 0, phone, countryCode) : void 0;
|
|
27022
27043
|
try {
|
|
27023
27044
|
await onRegister(email, finalPhone, getSignals(), rescue.submitFields());
|
|
27024
27045
|
rescue.complete();
|
|
@@ -27741,7 +27762,7 @@ var typeColorByVariant = {
|
|
|
27741
27762
|
error: "text-ods-error"
|
|
27742
27763
|
};
|
|
27743
27764
|
var progressColorByVariant2 = {
|
|
27744
|
-
...
|
|
27765
|
+
..._chunkE64HPPRHcjs.progressColorByVariant,
|
|
27745
27766
|
default: "bg-ods-accent",
|
|
27746
27767
|
info: "bg-ods-accent"
|
|
27747
27768
|
};
|
|
@@ -27820,7 +27841,7 @@ function NotificationTile({
|
|
|
27820
27841
|
height: 16,
|
|
27821
27842
|
unoptimized: true
|
|
27822
27843
|
}
|
|
27823
|
-
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, "size-1.5 rounded-full",
|
|
27844
|
+
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkE64HPPRHcjs.dotColorByVariant[accentVariant]) }))) }),
|
|
27824
27845
|
type ? lockscreen ? (
|
|
27825
27846
|
// A phone names the sender in plain words and never cuts them.
|
|
27826
27847
|
/* @__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 +28170,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
|
|
|
28149
28170
|
] });
|
|
28150
28171
|
}
|
|
28151
28172
|
function DesktopNotificationsToggleRow({ checked, onChange }) {
|
|
28152
|
-
const { supported, permission, request } =
|
|
28173
|
+
const { supported, permission, request } = _chunkE64HPPRHcjs.useNotificationPermission.call(void 0, );
|
|
28153
28174
|
if (!supported) return null;
|
|
28154
28175
|
const blocked = permission === "denied";
|
|
28155
28176
|
const handleChange = async (value) => {
|
|
@@ -29157,7 +29178,7 @@ function getDeviceStatusConfig(status) {
|
|
|
29157
29178
|
}
|
|
29158
29179
|
}
|
|
29159
29180
|
function getDeviceOperatingSystem(osType) {
|
|
29160
|
-
return
|
|
29181
|
+
return _chunkBTVO676Bcjs.getOSPlatformId.call(void 0, osType);
|
|
29161
29182
|
}
|
|
29162
29183
|
|
|
29163
29184
|
// src/components/features/devices/device-statuses.ts
|
|
@@ -30528,7 +30549,7 @@ function DevicesList({
|
|
|
30528
30549
|
const handleClearAll = _react.useCallback.call(void 0, () => patch({ search: "", tags: [] }), [patch]);
|
|
30529
30550
|
const narrowed = isNarrowed(narrowing);
|
|
30530
30551
|
const isEmptyState = !isLoading && !isPending && !narrowed && devices.length === 0;
|
|
30531
|
-
const { toolbarRef, containerStyle, stickyHeaderOffset: measuredOffset } =
|
|
30552
|
+
const { toolbarRef, containerStyle, stickyHeaderOffset: measuredOffset } = _chunkE64HPPRHcjs.useStickyToolbar.call(void 0, );
|
|
30532
30553
|
const headerOffset = _nullishCoalesce(stickyHeaderOffset, () => ( (stickyToolbar ? measuredOffset : void 0)));
|
|
30533
30554
|
const actionsColumn = _react.useMemo.call(void 0, () => rowActions ? getDeviceActionsColumn(rowActions) : void 0, [rowActions]);
|
|
30534
30555
|
return (
|
|
@@ -30761,7 +30782,7 @@ function DevicesPanelView({
|
|
|
30761
30782
|
actionsVariant: "icon-buttons",
|
|
30762
30783
|
className,
|
|
30763
30784
|
selector: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30764
|
-
|
|
30785
|
+
_chunkKWZ62LPZcjs.TabSelector,
|
|
30765
30786
|
{
|
|
30766
30787
|
value: viewMode,
|
|
30767
30788
|
onValueChange: (value) => _optionalChain([onViewModeChange, 'optionalCall', _667 => _667(value)]),
|
|
@@ -31295,11 +31316,11 @@ var ToolBadge = ({
|
|
|
31295
31316
|
iconClassName
|
|
31296
31317
|
}) => {
|
|
31297
31318
|
const loading = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
31298
|
-
const text = _nullishCoalesce(label, () => ( (toolType ?
|
|
31319
|
+
const text = _nullishCoalesce(label, () => ( (toolType ? _chunkBTVO676Bcjs.getToolLabel.call(void 0, toolType) : "")));
|
|
31299
31320
|
const mark = _nullishCoalesce(icon, () => ( (toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk57B5RUYDcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }) : null)));
|
|
31300
31321
|
if (loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToolBadgeSkeleton, { variant, icon: !!mark, className });
|
|
31301
31322
|
const linked = (node, linkClassName) => href && targetPlatform ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31302
|
-
|
|
31323
|
+
_chunkKWZ62LPZcjs.NavLinkAnchorViaRuntime,
|
|
31303
31324
|
{
|
|
31304
31325
|
href,
|
|
31305
31326
|
targetPlatform,
|
|
@@ -31411,7 +31432,7 @@ function LogsTableView({
|
|
|
31411
31432
|
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31412
31433
|
ToolBadge,
|
|
31413
31434
|
{
|
|
31414
|
-
toolType:
|
|
31435
|
+
toolType: _chunkBTVO676Bcjs.normalizeToolTypeWithFallback.call(void 0, row.original.source.toolType),
|
|
31415
31436
|
iconClassName: "h-4 w-4 content-md:h-6 content-md:w-6"
|
|
31416
31437
|
}
|
|
31417
31438
|
),
|
|
@@ -31423,7 +31444,7 @@ function LogsTableView({
|
|
|
31423
31444
|
filter: {
|
|
31424
31445
|
options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _675 => _675.toolTypes, 'access', _676 => _676.map, 'call', _677 => _677((toolType) => ({
|
|
31425
31446
|
id: toolType,
|
|
31426
|
-
label:
|
|
31447
|
+
label: _chunkBTVO676Bcjs.toToolLabel.call(void 0, toolType),
|
|
31427
31448
|
value: toolType
|
|
31428
31449
|
}))]), () => ( []))
|
|
31429
31450
|
}
|
|
@@ -31481,7 +31502,7 @@ function LogsTableView({
|
|
|
31481
31502
|
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31482
31503
|
_chunkTF5D5MNOcjs.Button,
|
|
31483
31504
|
{
|
|
31484
|
-
onClick: getLogHref ?
|
|
31505
|
+
onClick: getLogHref ? _chunkBTVO676Bcjs.openInNewTab.call(void 0, getLogHref(row.original)) : void 0,
|
|
31485
31506
|
variant: "outline",
|
|
31486
31507
|
size: "icon",
|
|
31487
31508
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -31856,7 +31877,7 @@ function OpenInNewTabCell({ href }) {
|
|
|
31856
31877
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31857
31878
|
_chunkTF5D5MNOcjs.Button,
|
|
31858
31879
|
{
|
|
31859
|
-
onClick:
|
|
31880
|
+
onClick: _chunkBTVO676Bcjs.openInNewTab.call(void 0, href),
|
|
31860
31881
|
variant: "outline",
|
|
31861
31882
|
size: "icon",
|
|
31862
31883
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -32005,9 +32026,9 @@ function ScriptSchedulesTable({
|
|
|
32005
32026
|
|
|
32006
32027
|
// src/components/features/scripts/shell-types.ts
|
|
32007
32028
|
var SCRIPT_SHELL_TYPES = [
|
|
32008
|
-
{ id:
|
|
32009
|
-
{ id:
|
|
32010
|
-
{ id:
|
|
32029
|
+
{ id: _chunkBTVO676Bcjs.ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon: _chunkMCQY746Mcjs.PowershellLogoGreyIcon },
|
|
32030
|
+
{ id: _chunkBTVO676Bcjs.ShellTypeValues.CMD, label: "CMD", value: "cmd", icon: _chunkNIVJEJSGcjs.TerminalSquareIcon },
|
|
32031
|
+
{ id: _chunkBTVO676Bcjs.ShellTypeValues.BASH, label: "Bash", value: "bash", icon: _chunkTRUW6DDAcjs.TerminalIcon }
|
|
32011
32032
|
];
|
|
32012
32033
|
function scriptShellType(value) {
|
|
32013
32034
|
return SCRIPT_SHELL_TYPES.find((shell) => shell.value === value);
|
|
@@ -33440,7 +33461,7 @@ function ScheduleFormFields({
|
|
|
33440
33461
|
disabled = false,
|
|
33441
33462
|
renderScriptSearch,
|
|
33442
33463
|
timeReferenceGate = "off",
|
|
33443
|
-
platforms =
|
|
33464
|
+
platforms = _chunkBTVO676Bcjs.OS_PLATFORMS,
|
|
33444
33465
|
comingSoonPlatforms = [],
|
|
33445
33466
|
getTimeSlots,
|
|
33446
33467
|
nameLayout = "stacked",
|
|
@@ -33586,7 +33607,7 @@ function ScheduleFormFields({
|
|
|
33586
33607
|
// src/components/features/scripts/schedule-form/schedule-script-search-field.tsx
|
|
33587
33608
|
|
|
33588
33609
|
function ScriptPlatformIcons({ platforms }) {
|
|
33589
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 items-center gap-0.5", children:
|
|
33610
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 items-center gap-0.5", children: _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
33611
|
}
|
|
33591
33612
|
function ScheduleScriptSearchField({
|
|
33592
33613
|
scriptId,
|
|
@@ -33659,7 +33680,7 @@ function getKnowledgeBaseOpenColumn(getHref) {
|
|
|
33659
33680
|
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33660
33681
|
_chunkTF5D5MNOcjs.Button,
|
|
33661
33682
|
{
|
|
33662
|
-
onClick:
|
|
33683
|
+
onClick: _chunkBTVO676Bcjs.openInNewTab.call(void 0, getHref(row.original)),
|
|
33663
33684
|
variant: "outline",
|
|
33664
33685
|
size: "icon",
|
|
33665
33686
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -33785,7 +33806,7 @@ function KnowledgeBaseArticleView({
|
|
|
33785
33806
|
className,
|
|
33786
33807
|
children: [
|
|
33787
33808
|
tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-[var(--spacing-system-xsf)]", children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY6BCZH7cjs.Tag, { label: tag.label, variant: "outline", className: "max-w-full" }, tag.id)) }),
|
|
33788
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33809
|
+
/* @__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
33810
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
33790
33811
|
author.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLJT2KRE2cjs.DeletedUserAvatar, { size: "md" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33791
33812
|
_chunkHY6BCZH7cjs.SquareAvatar,
|
|
@@ -33949,7 +33970,7 @@ function ConversationCard({
|
|
|
33949
33970
|
style: tint,
|
|
33950
33971
|
onClick: selection && ((event) => {
|
|
33951
33972
|
if (event.button !== 0 || _optionalChain([window, 'access', _741 => _741.getSelection, 'call', _742 => _742(), 'optionalAccess', _743 => _743.toString, 'call', _744 => _744()])) return;
|
|
33952
|
-
if (!
|
|
33973
|
+
if (!_chunkBTVO676Bcjs.isOwnClick.call(void 0, event.target, event.currentTarget, { controls: true })) return;
|
|
33953
33974
|
selection.onToggle();
|
|
33954
33975
|
}),
|
|
33955
33976
|
children: [
|
|
@@ -33972,7 +33993,7 @@ function ConversationCard({
|
|
|
33972
33993
|
children: selection.pressed ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkX4UZ62MYcjs.PlusIcon, {})
|
|
33973
33994
|
}
|
|
33974
33995
|
),
|
|
33975
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33996
|
+
/* @__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
33997
|
"p",
|
|
33977
33998
|
{
|
|
33978
33999
|
id: requestId,
|
|
@@ -33991,7 +34012,7 @@ function ConversationCard({
|
|
|
33991
34012
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: CONTEXT_TEXT_CLASS, style: partLinesStyle(_optionalChain([lines, 'optionalAccess', _745 => _745.context])), children: context.text })
|
|
33992
34013
|
] }),
|
|
33993
34014
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33994
|
-
|
|
34015
|
+
_chunkBTVO676Bcjs.ChatTurn,
|
|
33995
34016
|
{
|
|
33996
34017
|
avatar: responder.avatar,
|
|
33997
34018
|
name: responder.name,
|
|
@@ -34014,10 +34035,10 @@ function ConversationCard({
|
|
|
34014
34035
|
);
|
|
34015
34036
|
}
|
|
34016
34037
|
function TurnSkeleton({ avatarPx, meta, children }) {
|
|
34017
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
34038
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkBTVO676Bcjs.TURN_ROW_CLASS, children: [
|
|
34018
34039
|
/* @__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,
|
|
34040
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkBTVO676Bcjs.TURN_BODY_CLASS, children: [
|
|
34041
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBTVO676Bcjs.ChatTurnNameSkeleton, { meta, time: true }),
|
|
34021
34042
|
children
|
|
34022
34043
|
] })
|
|
34023
34044
|
] });
|
|
@@ -34277,7 +34298,7 @@ function CapabilityExplorer({
|
|
|
34277
34298
|
),
|
|
34278
34299
|
children: [
|
|
34279
34300
|
/* @__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,
|
|
34301
|
+
item.iconName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, JOB_ICON_TILE_CLASS, "text-ods-flamingo-cyan"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.EntityIcon, { icon: { name: item.iconName }, size: 18 }) }),
|
|
34281
34302
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
34282
34303
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h3", { className: "flex min-w-0 items-center gap-2 text-ods-text-primary text-h4", children: [
|
|
34283
34304
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3W56L2Dcjs.TruncateText, { as: "span", variant: "h4", triggerClassName: "flex-1", children: item.title }),
|
|
@@ -34358,7 +34379,7 @@ function CapabilityExplorer({
|
|
|
34358
34379
|
"span",
|
|
34359
34380
|
{
|
|
34360
34381
|
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,
|
|
34382
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.EntityIcon, { icon: { name: item.iconName }, size: 18 })
|
|
34362
34383
|
}
|
|
34363
34384
|
),
|
|
34364
34385
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "min-w-0 flex-1", children: [
|