@flamingo-stack/openframe-frontend-core 0.0.744 → 0.0.745
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-NURAL5HD.cjs → chunk-3LX5AGZO.cjs} +9 -9
- package/dist/{chunk-PYWHDPVC.cjs → chunk-6IQDQQ56.cjs} +25 -25
- package/dist/{chunk-FTYQS6VI.cjs → chunk-75BF7YJR.cjs} +7 -7
- package/dist/{chunk-H62FNZGG.cjs → chunk-7KHQHYXL.cjs} +11 -11
- package/dist/{chunk-65LJNDR2.cjs → chunk-7PQOZLVP.cjs} +9 -9
- package/dist/{chunk-7YDF3QBN.cjs → chunk-DJO7YMT3.cjs} +126 -13
- package/dist/{chunk-2JRCJV3M.cjs → chunk-FNIFUCXU.cjs} +3 -3
- package/dist/{chunk-35IQLGV3.cjs → chunk-GEEKJ7SH.cjs} +37 -37
- package/dist/{chunk-OC2LBQQJ.cjs → chunk-GOTEXQZN.cjs} +15 -15
- package/dist/{chunk-HHL23RFC.cjs → chunk-GQ2TRIOV.cjs} +33 -33
- package/dist/{chunk-2UBR53AN.cjs → chunk-HMSCUL4R.cjs} +4 -4
- package/dist/{chunk-HMSUYWSB.cjs → chunk-HVR7DPAY.cjs} +4 -4
- package/dist/{chunk-AT6ZI4CO.cjs → chunk-M4FKV2U5.cjs} +6 -6
- package/dist/{chunk-QZYF2YQ3.cjs → chunk-NFINQ7IZ.cjs} +4 -4
- package/dist/{chunk-HTQJYN47.cjs → chunk-PM5ELQBL.cjs} +17 -17
- package/dist/{chunk-HJ4KGA2M.cjs → chunk-QES5NV4T.cjs} +716 -532
- package/dist/{chunk-QSO56JZ2.cjs → chunk-RIGSZEXS.cjs} +66 -66
- package/dist/{cloud-tenants-JPXAXSPE.cjs → cloud-tenants-DECPWIYQ.cjs} +4 -4
- package/dist/components/case-studies/index.cjs +14 -14
- package/dist/components/chat/index.cjs +3 -3
- package/dist/components/contact/index.cjs +5 -5
- package/dist/components/docs/index.cjs +8 -8
- package/dist/components/embeds/index.cjs +5 -5
- package/dist/components/embeds/reddit-embed-client.d.ts +3 -1
- package/dist/components/embeds/reddit-embed-client.d.ts.map +1 -1
- package/dist/components/embeds/reddit-embed-client.js +5 -3
- package/dist/components/embeds/twitter-embed-client.d.ts +3 -1
- package/dist/components/embeds/twitter-embed-client.d.ts.map +1 -1
- package/dist/components/embeds/twitter-embed-client.js +5 -3
- package/dist/components/faq/index.cjs +6 -6
- package/dist/components/features/index.cjs +4 -4
- package/dist/components/help-center-pages/index.cjs +74 -74
- package/dist/components/index.cjs +41 -37
- package/dist/components/meeting-scheduler/index.cjs +22 -22
- package/dist/components/navigation/index.cjs +7 -7
- package/dist/components/onboarding-guides/index.cjs +6 -6
- package/dist/components/product-demo/index.cjs +7 -7
- package/dist/components/tickets/index.cjs +9 -9
- package/dist/components/ui/index.cjs +8 -4
- package/dist/components/ui/index.d.ts +1 -0
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +1 -0
- package/dist/components/ui/markdown/base-components.d.ts.map +1 -1
- package/dist/components/ui/markdown/base-components.js +3 -2
- package/dist/components/ui/markdown/rich/embed-overrides.d.ts.map +1 -1
- package/dist/components/ui/markdown/rich/embed-overrides.js +11 -8
- package/dist/components/ui/markdown-editor.d.ts.map +1 -1
- package/dist/components/ui/markdown-editor.js +4 -0
- package/dist/components/ui/markdown-link-command.d.ts +37 -0
- package/dist/components/ui/markdown-link-command.d.ts.map +1 -0
- package/dist/components/ui/markdown-link-command.js +180 -0
- package/dist/{devices-ONC4JOVH.cjs → devices-HJKDRWQX.cjs} +5 -5
- package/dist/{embeddable-chat-7ZEGCDVF.cjs → embeddable-chat-3SKFBO2P.cjs} +64 -64
- package/dist/index.cjs +24 -8
- package/dist/{knowledge-G7XU5YST.cjs → knowledge-NH2CGY2C.cjs} +5 -5
- package/dist/{logs-5B7NY4G6.cjs → logs-KZYIDYQK.cjs} +12 -12
- package/dist/{policies-OYR3SLJN.cjs → policies-UAVTPIKM.cjs} +8 -8
- package/dist/{scripts-6CWHTY6U.cjs → scripts-FRPY43KU.cjs} +9 -9
- package/dist/{software-update-AJPIY4SQ.cjs → software-update-AEJJNLX5.cjs} +7 -7
- package/dist/utils/index.cjs +119 -4
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/markdown-link.d.ts +44 -0
- package/dist/utils/markdown-link.d.ts.map +1 -0
- package/dist/utils/markdown-link.js +83 -0
- package/dist/utils/markdown-to-plain.d.ts +3 -16
- package/dist/utils/markdown-to-plain.d.ts.map +1 -1
- package/dist/utils/markdown-to-plain.js +33 -3
- package/package.json +3 -1
- package/src/components/embeds/reddit-embed-client.tsx +7 -3
- package/src/components/embeds/twitter-embed-client.tsx +7 -3
- package/src/components/ui/index.ts +1 -0
- package/src/components/ui/markdown/base-components.tsx +5 -2
- package/src/components/ui/markdown/rich/embed-overrides.tsx +12 -9
- package/src/components/ui/markdown-editor.tsx +6 -0
- package/src/components/ui/markdown-link-command.tsx +252 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/markdown-link.ts +148 -0
- package/src/utils/markdown-to-plain.ts +64 -22
|
@@ -109,7 +109,7 @@ var _chunkYUMFVQINcjs = require('./chunk-YUMFVQIN.cjs');
|
|
|
109
109
|
|
|
110
110
|
|
|
111
111
|
|
|
112
|
-
var
|
|
112
|
+
var _chunkGOTEXQZNcjs = require('./chunk-GOTEXQZN.cjs');
|
|
113
113
|
|
|
114
114
|
|
|
115
115
|
|
|
@@ -132,7 +132,10 @@ var _chunkOC2LBQQJcjs = require('./chunk-OC2LBQQJ.cjs');
|
|
|
132
132
|
|
|
133
133
|
|
|
134
134
|
|
|
135
|
-
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
var _chunkDJO7YMT3cjs = require('./chunk-DJO7YMT3.cjs');
|
|
136
139
|
|
|
137
140
|
|
|
138
141
|
|
|
@@ -657,7 +660,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
657
660
|
var useTheme = _nextthemes.useTheme;
|
|
658
661
|
function useThemeToggle() {
|
|
659
662
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
660
|
-
const mounted =
|
|
663
|
+
const mounted = _chunkDJO7YMT3cjs.useIsHydrated.call(void 0, );
|
|
661
664
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
662
665
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
663
666
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -4353,7 +4356,7 @@ function AdminFormDrawer({
|
|
|
4353
4356
|
"form",
|
|
4354
4357
|
{
|
|
4355
4358
|
id: formId,
|
|
4356
|
-
...
|
|
4359
|
+
..._chunkGOTEXQZNcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
|
|
4357
4360
|
className: "flex flex-col gap-[var(--spacing-system-lf)]",
|
|
4358
4361
|
onSubmit: (e) => {
|
|
4359
4362
|
e.preventDefault();
|
|
@@ -4463,7 +4466,7 @@ function AdminFormModal({
|
|
|
4463
4466
|
"form",
|
|
4464
4467
|
{
|
|
4465
4468
|
id: formId,
|
|
4466
|
-
...
|
|
4469
|
+
..._chunkGOTEXQZNcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
|
|
4467
4470
|
className: "flex min-h-0 flex-1 flex-col",
|
|
4468
4471
|
onSubmit: (e) => {
|
|
4469
4472
|
e.preventDefault();
|
|
@@ -5762,7 +5765,7 @@ function EmbedViewerFrame({
|
|
|
5762
5765
|
const controllerRef = _react.useRef.call(void 0, null);
|
|
5763
5766
|
_react.useEffect.call(void 0, () => {
|
|
5764
5767
|
if (!fullscreenControl) return void 0;
|
|
5765
|
-
const controller = new (0,
|
|
5768
|
+
const controller = new (0, _chunkGOTEXQZNcjs.FullscreenSwitchController)({
|
|
5766
5769
|
target: () => frameRef.current,
|
|
5767
5770
|
onFullscreenChange: setIsFullscreen
|
|
5768
5771
|
});
|
|
@@ -6906,7 +6909,8 @@ var formatTimeAgo = (timestamp) => {
|
|
|
6906
6909
|
if (diffSeconds < 86400) return `${Math.floor(diffSeconds / 3600)}h ago`;
|
|
6907
6910
|
return `${Math.floor(diffSeconds / 86400)}d ago`;
|
|
6908
6911
|
};
|
|
6909
|
-
function RedditEmbedClient({ url, maxWidth = 700 }) {
|
|
6912
|
+
function RedditEmbedClient({ url, maxWidth = 700, rel }) {
|
|
6913
|
+
const postLinkRel = _chunkDJO7YMT3cjs.renderedLinkRel.call(void 0, rel, true);
|
|
6910
6914
|
const { redditProxyUrl } = useRichMarkdownRuntime();
|
|
6911
6915
|
const [redditData, setRedditData] = _react.useState.call(void 0, null);
|
|
6912
6916
|
const [loading, setLoading] = _react.useState.call(void 0, true);
|
|
@@ -6976,7 +6980,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
|
|
|
6976
6980
|
{
|
|
6977
6981
|
href: url,
|
|
6978
6982
|
target: "_blank",
|
|
6979
|
-
rel:
|
|
6983
|
+
rel: postLinkRel,
|
|
6980
6984
|
className: "inline-flex items-center space-x-2 rounded-md bg-[#FF4500] px-4 py-2 text-white transition-colors text-h6 hover:bg-[#E03D00]",
|
|
6981
6985
|
children: [
|
|
6982
6986
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditIcon, {}),
|
|
@@ -7201,7 +7205,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
|
|
|
7201
7205
|
{
|
|
7202
7206
|
href: url,
|
|
7203
7207
|
target: "_blank",
|
|
7204
|
-
rel:
|
|
7208
|
+
rel: postLinkRel,
|
|
7205
7209
|
className: "inline-flex items-center space-x-2 text-ods-accent transition-colors text-h6 hover:opacity-80",
|
|
7206
7210
|
children: [
|
|
7207
7211
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExternalLinkIcon2, {}),
|
|
@@ -7237,7 +7241,8 @@ var UserIcon3 = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { wid
|
|
|
7237
7241
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "circle", { cx: "12", cy: "7", r: "4" })
|
|
7238
7242
|
] });
|
|
7239
7243
|
var XIcon = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2TEMEXDTcjs.XLogoIcon, { className: "h-5 w-5", color: "currentColor" });
|
|
7240
|
-
function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
|
|
7244
|
+
function TwitterEmbedClient({ url, tweetId, maxWidth = 700, rel }) {
|
|
7245
|
+
const postLinkRel = _chunkDJO7YMT3cjs.renderedLinkRel.call(void 0, rel, true);
|
|
7241
7246
|
const { twitterProxyUrl } = useRichMarkdownRuntime();
|
|
7242
7247
|
const [tweetData, setTweetData] = _react.useState.call(void 0, null);
|
|
7243
7248
|
const [fetchLoading, setLoading] = _react.useState.call(void 0, true);
|
|
@@ -7301,7 +7306,7 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
|
|
|
7301
7306
|
{
|
|
7302
7307
|
href: url,
|
|
7303
7308
|
target: "_blank",
|
|
7304
|
-
rel:
|
|
7309
|
+
rel: postLinkRel,
|
|
7305
7310
|
className: "inline-flex items-center space-x-2 rounded-md bg-ods-bg-surface px-4 py-2 text-ods-text-primary transition-colors text-h6 hover:bg-ods-bg-active",
|
|
7306
7311
|
children: [
|
|
7307
7312
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, XIcon, {}),
|
|
@@ -7406,7 +7411,7 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
|
|
|
7406
7411
|
{
|
|
7407
7412
|
href: url,
|
|
7408
7413
|
target: "_blank",
|
|
7409
|
-
rel:
|
|
7414
|
+
rel: postLinkRel,
|
|
7410
7415
|
className: "inline-flex items-center space-x-2 text-ods-accent transition-colors text-h6 hover:opacity-80",
|
|
7411
7416
|
children: [
|
|
7412
7417
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExternalLinkIcon3, {}),
|
|
@@ -7419,14 +7424,17 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
|
|
|
7419
7424
|
|
|
7420
7425
|
// src/components/ui/markdown/rich/embed-overrides.tsx
|
|
7421
7426
|
|
|
7422
|
-
function
|
|
7427
|
+
function findFirstLink(node, hostRe) {
|
|
7423
7428
|
if (!node || node.type !== "element") return null;
|
|
7424
7429
|
if (node.tagName === "a") {
|
|
7425
|
-
const href = node.properties
|
|
7426
|
-
if (typeof href === "string" && hostRe.test(href))
|
|
7430
|
+
const { href, rel } = node.properties;
|
|
7431
|
+
if (typeof href === "string" && hostRe.test(href)) {
|
|
7432
|
+
const relText = Array.isArray(rel) ? rel.join(" ") : typeof rel === "string" ? rel : void 0;
|
|
7433
|
+
return { href, rel: relText };
|
|
7434
|
+
}
|
|
7427
7435
|
}
|
|
7428
7436
|
for (const child of node.children) {
|
|
7429
|
-
const found =
|
|
7437
|
+
const found = findFirstLink(child, hostRe);
|
|
7430
7438
|
if (found) return found;
|
|
7431
7439
|
}
|
|
7432
7440
|
return null;
|
|
@@ -7436,7 +7444,7 @@ function buildRichEmbedOverrides({
|
|
|
7436
7444
|
ogEndpointPath,
|
|
7437
7445
|
textSizes
|
|
7438
7446
|
}) {
|
|
7439
|
-
const standard =
|
|
7447
|
+
const standard = _chunkDJO7YMT3cjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7440
7448
|
return {
|
|
7441
7449
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7442
7450
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7559,12 +7567,12 @@ function buildRichEmbedOverrides({
|
|
|
7559
7567
|
const { node, className } = bqProps;
|
|
7560
7568
|
const classNames = Array.isArray(className) ? className.join(" ") : _nullishCoalesce(className, () => ( ""));
|
|
7561
7569
|
if (classNames.includes("reddit-embed-bq")) {
|
|
7562
|
-
const
|
|
7563
|
-
if (
|
|
7570
|
+
const post = findFirstLink(node, /reddit\.com/);
|
|
7571
|
+
if (post) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: post.href, rel: post.rel });
|
|
7564
7572
|
}
|
|
7565
7573
|
if (classNames.includes("twitter-tweet")) {
|
|
7566
|
-
const
|
|
7567
|
-
if (
|
|
7574
|
+
const tweet = findFirstLink(node, /(?:twitter\.com|x\.com)\/[^/]+\/status\//);
|
|
7575
|
+
if (tweet) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TwitterEmbedClient, { url: tweet.href, rel: tweet.rel });
|
|
7568
7576
|
}
|
|
7569
7577
|
return standard.blockquote(bqProps);
|
|
7570
7578
|
},
|
|
@@ -7572,13 +7580,13 @@ function buildRichEmbedOverrides({
|
|
|
7572
7580
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7573
7581
|
// elsewhere). Guard against empty `![]()`.
|
|
7574
7582
|
img: ({ src, alt }) => {
|
|
7575
|
-
if (!
|
|
7583
|
+
if (!_chunkDJO7YMT3cjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7576
7584
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7577
7585
|
},
|
|
7578
7586
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
7579
7587
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
7580
7588
|
video: ({ src, poster, className }) => {
|
|
7581
|
-
if (!
|
|
7589
|
+
if (!_chunkDJO7YMT3cjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7582
7590
|
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, _chunkLJ46XYYPcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
7583
7591
|
}
|
|
7584
7592
|
};
|
|
@@ -7687,7 +7695,7 @@ var processShortcodes = (content) => {
|
|
|
7687
7695
|
try {
|
|
7688
7696
|
const urlObj = new URL(url);
|
|
7689
7697
|
const hostname = urlObj.hostname.toLowerCase();
|
|
7690
|
-
const hostIs = (domain) =>
|
|
7698
|
+
const hostIs = (domain) => _chunkGOTEXQZNcjs.hostMatches.call(void 0, hostname, domain);
|
|
7691
7699
|
const isYouTubeVideo = hostIs("youtube.com") && urlObj.searchParams.has("v") || hostIs("youtu.be");
|
|
7692
7700
|
if (isYouTubeVideo || hostIs("reddit.com") || hostIs("twitter.com") || hostIs("x.com") || hostIs("figma.com")) {
|
|
7693
7701
|
return match;
|
|
@@ -7762,13 +7770,13 @@ var RichMarkdownInner = ({
|
|
|
7762
7770
|
},
|
|
7763
7771
|
[resolveLinkEndpointUrl, resolveSource]
|
|
7764
7772
|
);
|
|
7765
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
7773
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunkDJO7YMT3cjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
7766
7774
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
7767
7775
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
7768
7776
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
7769
7777
|
);
|
|
7770
7778
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7771
|
-
|
|
7779
|
+
_chunkDJO7YMT3cjs.MarkdownEngine,
|
|
7772
7780
|
{
|
|
7773
7781
|
content,
|
|
7774
7782
|
className,
|
|
@@ -7790,7 +7798,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
7790
7798
|
className = "",
|
|
7791
7799
|
sectionIds,
|
|
7792
7800
|
onInternalLinkClick,
|
|
7793
|
-
brokenLinks =
|
|
7801
|
+
brokenLinks = _chunkDJO7YMT3cjs.NO_BROKEN_LINKS,
|
|
7794
7802
|
currentPath,
|
|
7795
7803
|
resolveSource = "openframe-docs",
|
|
7796
7804
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -8748,7 +8756,7 @@ function FilterModal({
|
|
|
8748
8756
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _146 => _146.defaultSort]), () => ( "desc"));
|
|
8749
8757
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _147 => _147.sort]), () => ( dateDefaultSort)));
|
|
8750
8758
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _148 => _148.range]));
|
|
8751
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
8759
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkDJO7YMT3cjs.useScrollFade.call(void 0, );
|
|
8752
8760
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
8753
8761
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
8754
8762
|
_react.useEffect.call(void 0, () => {
|
|
@@ -8894,8 +8902,8 @@ function FilterModal({
|
|
|
8894
8902
|
] })
|
|
8895
8903
|
}
|
|
8896
8904
|
),
|
|
8897
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8898
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8905
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
8906
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
8899
8907
|
] })
|
|
8900
8908
|
}
|
|
8901
8909
|
),
|
|
@@ -9374,7 +9382,7 @@ var BenefitCardGrid = ({ children, className = "", columns = 2 }) => {
|
|
|
9374
9382
|
|
|
9375
9383
|
|
|
9376
9384
|
function PlatformBrowseButton({ item }) {
|
|
9377
|
-
const linkProps =
|
|
9385
|
+
const linkProps = _chunkDJO7YMT3cjs.useNavLinkViaRuntime.call(void 0, { href: item.link, targetPlatform: item.targetPlatform });
|
|
9378
9386
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2QMBXGMQcjs.Button, { variant: "outline", linkProps, rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-4 w-4" }), children: [
|
|
9379
9387
|
"Browse ",
|
|
9380
9388
|
item.buttonText
|
|
@@ -9822,10 +9830,10 @@ var OSTypeBadge = ({
|
|
|
9822
9830
|
if (!osType) {
|
|
9823
9831
|
return labelOnly ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk3ATAYP36cjs.cn.call(void 0, "text-ods-text-secondary", className), children: "Unknown" }) : null;
|
|
9824
9832
|
}
|
|
9825
|
-
const normalized =
|
|
9833
|
+
const normalized = _chunkGOTEXQZNcjs.normalizeOSType.call(void 0, osType);
|
|
9826
9834
|
if (!normalized && !labelOnly) return null;
|
|
9827
|
-
const label =
|
|
9828
|
-
const IconComponent =
|
|
9835
|
+
const label = _chunkGOTEXQZNcjs.getOSLabel.call(void 0, osType);
|
|
9836
|
+
const IconComponent = _chunkGOTEXQZNcjs.getOSIcon.call(void 0, osType);
|
|
9829
9837
|
if (iconOnly && IconComponent) {
|
|
9830
9838
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: _chunk3ATAYP36cjs.cn.call(void 0, iconSize, "text-ods-text-secondary", className) });
|
|
9831
9839
|
}
|
|
@@ -10057,7 +10065,7 @@ function ComplianceLogo({
|
|
|
10057
10065
|
fallback = null,
|
|
10058
10066
|
className
|
|
10059
10067
|
}) {
|
|
10060
|
-
const standard =
|
|
10068
|
+
const standard = _chunkGOTEXQZNcjs.complianceStandardForName.call(void 0, ...names);
|
|
10061
10069
|
if (!standard) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: fallback });
|
|
10062
10070
|
const Official = standard.logo ? COMPLIANCE_LOGOS[standard.logo] : null;
|
|
10063
10071
|
return Official ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -11674,7 +11682,7 @@ function TableHeader({
|
|
|
11674
11682
|
onFilterChange
|
|
11675
11683
|
}
|
|
11676
11684
|
),
|
|
11677
|
-
column.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11685
|
+
column.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGOTEXQZNcjs.InfoHint, { label: column.label, children: column.hint }) : null
|
|
11678
11686
|
] })
|
|
11679
11687
|
) : (
|
|
11680
11688
|
/* Non-filterable column — regular label with optional sort */
|
|
@@ -11700,7 +11708,7 @@ function TableHeader({
|
|
|
11700
11708
|
hint exists, so a hint-less header keeps its DOM. */
|
|
11701
11709
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
11702
11710
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TABLE_HEADER_LABEL_CLASS, children: column.label }),
|
|
11703
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11711
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGOTEXQZNcjs.InfoHint, { label: column.label, children: column.hint })
|
|
11704
11712
|
] })
|
|
11705
11713
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TABLE_HEADER_LABEL_CLASS, children: column.label }),
|
|
11706
11714
|
getSortIcon(column)
|
|
@@ -13041,7 +13049,7 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
13041
13049
|
// child of the cell.
|
|
13042
13050
|
_optionalChain([meta, 'optionalAccess', _234 => _234.hint]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
13043
13051
|
filterTrigger,
|
|
13044
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13052
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGOTEXQZNcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
|
|
13045
13053
|
] }) : filterTrigger
|
|
13046
13054
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13047
13055
|
"div",
|
|
@@ -13066,7 +13074,7 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
13066
13074
|
// centred on the row.
|
|
13067
13075
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
13068
13076
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
13069
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13077
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGOTEXQZNcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
|
|
13070
13078
|
] })
|
|
13071
13079
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
13072
13080
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -13285,7 +13293,7 @@ function PhoneInput({
|
|
|
13285
13293
|
placeholder = "Phone Number (optional)",
|
|
13286
13294
|
onKeyDown
|
|
13287
13295
|
}) {
|
|
13288
|
-
const { priority, others } = _react.useMemo.call(void 0, () =>
|
|
13296
|
+
const { priority, others } = _react.useMemo.call(void 0, () => _chunkGOTEXQZNcjs.getCountryPhoneData.call(void 0, ), []);
|
|
13289
13297
|
const selectedCountry = _react.useMemo.call(void 0,
|
|
13290
13298
|
() => [...priority, ...others].find((c) => c.code === countryCode),
|
|
13291
13299
|
[countryCode, priority, others]
|
|
@@ -13300,7 +13308,7 @@ function PhoneInput({
|
|
|
13300
13308
|
_optionalChain([onValidationChange, 'optionalCall', _247 => _247(false)]);
|
|
13301
13309
|
return;
|
|
13302
13310
|
}
|
|
13303
|
-
const invalid = !
|
|
13311
|
+
const invalid = !_chunkGOTEXQZNcjs.validatePhoneNumber.call(void 0, phone, countryCode);
|
|
13304
13312
|
setIsInvalid(invalid);
|
|
13305
13313
|
_optionalChain([onValidationChange, 'optionalCall', _248 => _248(invalid)]);
|
|
13306
13314
|
},
|
|
@@ -14089,6 +14097,177 @@ function TagSearchInput({
|
|
|
14089
14097
|
|
|
14090
14098
|
|
|
14091
14099
|
|
|
14100
|
+
// src/components/ui/markdown-link-command.tsx
|
|
14101
|
+
|
|
14102
|
+
|
|
14103
|
+
var LINK_REL_CHOICES = [
|
|
14104
|
+
{ id: "follow", label: "Follow", hint: "Search engines follow this link. This is the default." },
|
|
14105
|
+
{
|
|
14106
|
+
id: "nofollow",
|
|
14107
|
+
label: "Nofollow",
|
|
14108
|
+
hint: 'Search engines are asked not to follow this link (rel="nofollow").'
|
|
14109
|
+
},
|
|
14110
|
+
{
|
|
14111
|
+
id: "sponsored",
|
|
14112
|
+
label: "Sponsored",
|
|
14113
|
+
hint: 'For ads, paid placements and sponsorships (rel="sponsored").'
|
|
14114
|
+
},
|
|
14115
|
+
{ id: "ugc", label: "UGC", hint: 'For links in content written by users, such as comments (rel="ugc").' }
|
|
14116
|
+
];
|
|
14117
|
+
var LINK_REL_ITEMS = LINK_REL_CHOICES.map(({ id, label }) => ({ id, label }));
|
|
14118
|
+
function choiceOf(rel) {
|
|
14119
|
+
if (rel.includes("sponsored")) return "sponsored";
|
|
14120
|
+
if (rel.includes("ugc")) return "ugc";
|
|
14121
|
+
if (rel.includes("nofollow")) return "nofollow";
|
|
14122
|
+
return "follow";
|
|
14123
|
+
}
|
|
14124
|
+
function MarkdownLinkDialog({ isOpen, initial, editing, onSubmit, onRemove, onClose }) {
|
|
14125
|
+
const formId = _react.useId.call(void 0, );
|
|
14126
|
+
const [text, setText] = _react.useState.call(void 0, initial.text);
|
|
14127
|
+
const [url, setUrl] = _react.useState.call(void 0, initial.url);
|
|
14128
|
+
const [rel, setRel] = _react.useState.call(void 0, initial.rel);
|
|
14129
|
+
const [seededWith, setSeededWith] = _react.useState.call(void 0, { isOpen, initial });
|
|
14130
|
+
if (seededWith.isOpen !== isOpen || seededWith.initial !== initial) {
|
|
14131
|
+
setSeededWith({ isOpen, initial });
|
|
14132
|
+
if (isOpen) {
|
|
14133
|
+
setText(initial.text);
|
|
14134
|
+
setUrl(initial.url);
|
|
14135
|
+
setRel(initial.rel);
|
|
14136
|
+
}
|
|
14137
|
+
}
|
|
14138
|
+
const choice = choiceOf(rel);
|
|
14139
|
+
const trimmedUrl = url.trim();
|
|
14140
|
+
const submit = () => {
|
|
14141
|
+
if (!trimmedUrl) return;
|
|
14142
|
+
onSubmit({ text: text.trim(), url: trimmedUrl, rel });
|
|
14143
|
+
};
|
|
14144
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5TCIRWHLcjs.Modal, { isOpen, onClose, className: "text-left md:max-w-[560px]", children: [
|
|
14145
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5TCIRWHLcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5TCIRWHLcjs.ModalTitle, { children: editing ? "Edit link" : "Add link" }) }),
|
|
14146
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
14147
|
+
"form",
|
|
14148
|
+
{
|
|
14149
|
+
id: formId,
|
|
14150
|
+
className: "flex w-full flex-col gap-[var(--spacing-system-l)]",
|
|
14151
|
+
onSubmit: (event) => {
|
|
14152
|
+
event.preventDefault();
|
|
14153
|
+
submit();
|
|
14154
|
+
},
|
|
14155
|
+
children: [
|
|
14156
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHTRILBJDcjs.Input, { label: "Text", value: text, onChange: (event) => setText(event.target.value), placeholder: "Link text" }),
|
|
14157
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14158
|
+
_chunkHTRILBJDcjs.Input,
|
|
14159
|
+
{
|
|
14160
|
+
label: "URL",
|
|
14161
|
+
value: url,
|
|
14162
|
+
onChange: (event) => setUrl(event.target.value),
|
|
14163
|
+
placeholder: "https://",
|
|
14164
|
+
autoFocus: true,
|
|
14165
|
+
inputMode: "url"
|
|
14166
|
+
}
|
|
14167
|
+
),
|
|
14168
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xsf)]", children: [
|
|
14169
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14170
|
+
_chunkDJO7YMT3cjs.TabSelector,
|
|
14171
|
+
{
|
|
14172
|
+
label: "Search engines",
|
|
14173
|
+
value: choice,
|
|
14174
|
+
onValueChange: (value) => {
|
|
14175
|
+
const next = _nullishCoalesce(_optionalChain([LINK_REL_CHOICES, 'access', _297 => _297.find, 'call', _298 => _298((option) => option.id === value), 'optionalAccess', _299 => _299.id]), () => ( "follow"));
|
|
14176
|
+
setRel(next === "follow" ? [] : [next]);
|
|
14177
|
+
},
|
|
14178
|
+
items: LINK_REL_ITEMS,
|
|
14179
|
+
variant: "secondary"
|
|
14180
|
+
}
|
|
14181
|
+
),
|
|
14182
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: _optionalChain([LINK_REL_CHOICES, 'access', _300 => _300.find, 'call', _301 => _301((option) => option.id === choice), 'optionalAccess', _302 => _302.hint]) })
|
|
14183
|
+
] })
|
|
14184
|
+
]
|
|
14185
|
+
}
|
|
14186
|
+
),
|
|
14187
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5TCIRWHLcjs.ModalFooter, { children: [
|
|
14188
|
+
editing ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2QMBXGMQcjs.Button, { type: "button", variant: "outline", onClick: onRemove, className: "flex-1", children: "Remove link" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2QMBXGMQcjs.Button, { type: "button", variant: "outline", onClick: onClose, className: "flex-1", children: "Cancel" }),
|
|
14189
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2QMBXGMQcjs.Button, { type: "submit", form: formId, variant: "accent", disabled: !trimmedUrl, className: "flex-1", children: editing ? "Save" : "Add link" })
|
|
14190
|
+
] })
|
|
14191
|
+
] });
|
|
14192
|
+
}
|
|
14193
|
+
var EMPTY_LINK = { text: "", url: "", rel: [] };
|
|
14194
|
+
var LOOKS_LIKE_URL = /^(?:https?:\/\/|www\.|mailto:|\/|#)\S*$/i;
|
|
14195
|
+
function initialFieldsFromSelection(selectedText) {
|
|
14196
|
+
const selected = selectedText.trim();
|
|
14197
|
+
return LOOKS_LIKE_URL.test(selected) ? { text: "", url: selected, rel: [] } : { text: selected, url: "", rel: [] };
|
|
14198
|
+
}
|
|
14199
|
+
function useMarkdownLinkCommand() {
|
|
14200
|
+
const [vendorCommands, setVendorCommands] = _react.useState.call(void 0, void 0);
|
|
14201
|
+
const [pending, setPending] = _react.useState.call(void 0, null);
|
|
14202
|
+
_react.useEffect.call(void 0, () => {
|
|
14203
|
+
let cancelled = false;
|
|
14204
|
+
void (async () => {
|
|
14205
|
+
try {
|
|
14206
|
+
const mod = await Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor")));
|
|
14207
|
+
if (!cancelled && _optionalChain([mod, 'access', _303 => _303.commands, 'optionalAccess', _304 => _304.getCommands])) setVendorCommands(mod.commands.getCommands());
|
|
14208
|
+
} catch (error) {
|
|
14209
|
+
console.error("Failed to load markdown editor toolbar commands:", error);
|
|
14210
|
+
}
|
|
14211
|
+
})();
|
|
14212
|
+
return () => {
|
|
14213
|
+
cancelled = true;
|
|
14214
|
+
};
|
|
14215
|
+
}, []);
|
|
14216
|
+
const commands = _react.useMemo.call(void 0, () => {
|
|
14217
|
+
if (!vendorCommands) return void 0;
|
|
14218
|
+
return vendorCommands.map((command) => {
|
|
14219
|
+
if (command.name !== "link") return command;
|
|
14220
|
+
const linkCommand = {
|
|
14221
|
+
name: "link",
|
|
14222
|
+
keyCommand: "link",
|
|
14223
|
+
shortcuts: "ctrlcmd+l",
|
|
14224
|
+
buttonProps: { "aria-label": "Add or edit a link (ctrl + l)", title: "Add or edit a link (ctrl + l)" },
|
|
14225
|
+
icon: command.icon,
|
|
14226
|
+
execute: (state, api) => {
|
|
14227
|
+
const existing = _chunkDJO7YMT3cjs.findMarkdownLinkAt.call(void 0, state.text, state.selection.start, state.selection.end);
|
|
14228
|
+
setPending(
|
|
14229
|
+
existing ? {
|
|
14230
|
+
api,
|
|
14231
|
+
range: { start: existing.start, end: existing.end },
|
|
14232
|
+
initial: { text: existing.text, url: existing.url, rel: existing.rel },
|
|
14233
|
+
editing: true
|
|
14234
|
+
} : {
|
|
14235
|
+
api,
|
|
14236
|
+
range: state.selection,
|
|
14237
|
+
initial: initialFieldsFromSelection(state.selectedText),
|
|
14238
|
+
editing: false
|
|
14239
|
+
}
|
|
14240
|
+
);
|
|
14241
|
+
}
|
|
14242
|
+
};
|
|
14243
|
+
return linkCommand;
|
|
14244
|
+
});
|
|
14245
|
+
}, [vendorCommands]);
|
|
14246
|
+
const write = (current, text) => {
|
|
14247
|
+
setPending(null);
|
|
14248
|
+
current.api.setSelectionRange(current.range);
|
|
14249
|
+
current.api.replaceSelection(text);
|
|
14250
|
+
};
|
|
14251
|
+
const linkDialog = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14252
|
+
MarkdownLinkDialog,
|
|
14253
|
+
{
|
|
14254
|
+
isOpen: pending !== null,
|
|
14255
|
+
initial: _nullishCoalesce(_optionalChain([pending, 'optionalAccess', _305 => _305.initial]), () => ( EMPTY_LINK)),
|
|
14256
|
+
editing: _nullishCoalesce(_optionalChain([pending, 'optionalAccess', _306 => _306.editing]), () => ( false)),
|
|
14257
|
+
onSubmit: (link) => {
|
|
14258
|
+
if (pending) write(pending, _chunkDJO7YMT3cjs.formatMarkdownLink.call(void 0, link));
|
|
14259
|
+
},
|
|
14260
|
+
onRemove: () => {
|
|
14261
|
+
if (pending) write(pending, pending.initial.text);
|
|
14262
|
+
},
|
|
14263
|
+
onClose: () => setPending(null)
|
|
14264
|
+
}
|
|
14265
|
+
);
|
|
14266
|
+
return { commands, linkDialog };
|
|
14267
|
+
}
|
|
14268
|
+
|
|
14269
|
+
// src/components/ui/markdown-editor.tsx
|
|
14270
|
+
|
|
14092
14271
|
var MDEditor = _chunkDEY6XXGOcjs.dynamic.call(void 0, () => Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))), { ssr: false });
|
|
14093
14272
|
var MARKDOWN_EDITOR_STYLE_ID = "ods-markdown-editor-styles";
|
|
14094
14273
|
var mdEditorCSS = `
|
|
@@ -14186,13 +14365,14 @@ function MarkdownEditor({
|
|
|
14186
14365
|
const [isUploading, setIsUploading] = _react.useState.call(void 0, false);
|
|
14187
14366
|
const [uploadProgress, setUploadProgress] = _react.useState.call(void 0, "");
|
|
14188
14367
|
const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
|
|
14368
|
+
const { commands: toolbarCommands, linkDialog } = useMarkdownLinkCommand();
|
|
14189
14369
|
_react.useEffect.call(void 0, () => {
|
|
14190
14370
|
let cancelled = false;
|
|
14191
14371
|
void (async () => {
|
|
14192
14372
|
try {
|
|
14193
14373
|
const mod = await Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor")));
|
|
14194
14374
|
if (cancelled) return;
|
|
14195
|
-
if (_optionalChain([mod, 'access',
|
|
14375
|
+
if (_optionalChain([mod, 'access', _307 => _307.commands, 'optionalAccess', _308 => _308.getExtraCommands])) {
|
|
14196
14376
|
setDefaultExtraCommands(mod.commands.getExtraCommands());
|
|
14197
14377
|
}
|
|
14198
14378
|
} catch (error) {
|
|
@@ -14230,7 +14410,7 @@ function MarkdownEditor({
|
|
|
14230
14410
|
const isImage = _chunkLJ46XYYPcjs.fileMediaType.call(void 0, file) === "image";
|
|
14231
14411
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
14232
14412
|
insertTextAtCursor(markdown);
|
|
14233
|
-
_optionalChain([onFileUploaded, 'optionalCall',
|
|
14413
|
+
_optionalChain([onFileUploaded, 'optionalCall', _309 => _309(url, file.name)]);
|
|
14234
14414
|
} catch (error) {
|
|
14235
14415
|
console.error("File upload failed:", error);
|
|
14236
14416
|
setUploadProgress("Upload failed. Please try again.");
|
|
@@ -14244,7 +14424,7 @@ function MarkdownEditor({
|
|
|
14244
14424
|
const handleFileInputChange = _react.useCallback.call(void 0,
|
|
14245
14425
|
(e) => {
|
|
14246
14426
|
const input = e.target;
|
|
14247
|
-
const file = _optionalChain([input, 'access',
|
|
14427
|
+
const file = _optionalChain([input, 'access', _310 => _310.files, 'optionalAccess', _311 => _311[0]]);
|
|
14248
14428
|
if (file) {
|
|
14249
14429
|
void handleFileUpload(file);
|
|
14250
14430
|
input.value = "";
|
|
@@ -14255,7 +14435,7 @@ function MarkdownEditor({
|
|
|
14255
14435
|
const handlePaste = _react.useCallback.call(void 0,
|
|
14256
14436
|
(e) => {
|
|
14257
14437
|
if (!onUploadFile) return;
|
|
14258
|
-
const items = _optionalChain([e, 'access',
|
|
14438
|
+
const items = _optionalChain([e, 'access', _312 => _312.clipboardData, 'optionalAccess', _313 => _313.items]);
|
|
14259
14439
|
if (!items) return;
|
|
14260
14440
|
for (const item of items) {
|
|
14261
14441
|
if (item.type.startsWith("image/")) {
|
|
@@ -14280,7 +14460,7 @@ function MarkdownEditor({
|
|
|
14280
14460
|
buttonProps: { "aria-label": "Upload file", title: "Upload file" },
|
|
14281
14461
|
icon: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-3 w-3 animate-spin" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-3 w-3" }),
|
|
14282
14462
|
execute: () => {
|
|
14283
|
-
_optionalChain([fileInputRef, 'access',
|
|
14463
|
+
_optionalChain([fileInputRef, 'access', _314 => _314.current, 'optionalAccess', _315 => _315.click, 'call', _316 => _316()]);
|
|
14284
14464
|
}
|
|
14285
14465
|
} : null;
|
|
14286
14466
|
const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
|
|
@@ -14292,7 +14472,7 @@ function MarkdownEditor({
|
|
|
14292
14472
|
const EDGE_ZONE = 60;
|
|
14293
14473
|
const MAX_SCROLL_SPEED = 15;
|
|
14294
14474
|
const findScrollParent2 = _react.useCallback.call(void 0, (el) => {
|
|
14295
|
-
let node = _optionalChain([el, 'optionalAccess',
|
|
14475
|
+
let node = _optionalChain([el, 'optionalAccess', _317 => _317.parentElement]);
|
|
14296
14476
|
while (node && node !== document.documentElement) {
|
|
14297
14477
|
const { overflowY } = window.getComputedStyle(node);
|
|
14298
14478
|
if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
|
|
@@ -14371,6 +14551,7 @@ function MarkdownEditor({
|
|
|
14371
14551
|
visibleDragbar: true,
|
|
14372
14552
|
height,
|
|
14373
14553
|
minHeight,
|
|
14554
|
+
commands: toolbarCommands,
|
|
14374
14555
|
extraCommands,
|
|
14375
14556
|
style: {
|
|
14376
14557
|
"--md-editor-text-color": "var(--color-text-primary)",
|
|
@@ -14398,6 +14579,7 @@ function MarkdownEditor({
|
|
|
14398
14579
|
}
|
|
14399
14580
|
),
|
|
14400
14581
|
uploadProgress && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "mt-1 text-ods-text-secondary text-h6", children: uploadProgress }),
|
|
14582
|
+
linkDialog,
|
|
14401
14583
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownEditorStyles, {})
|
|
14402
14584
|
] });
|
|
14403
14585
|
}
|
|
@@ -14431,7 +14613,7 @@ function matchesAccept(file, accept) {
|
|
|
14431
14613
|
});
|
|
14432
14614
|
}
|
|
14433
14615
|
function dragHasFiles(e) {
|
|
14434
|
-
const types = _optionalChain([e, 'access',
|
|
14616
|
+
const types = _optionalChain([e, 'access', _318 => _318.dataTransfer, 'optionalAccess', _319 => _319.types]);
|
|
14435
14617
|
if (!types) return false;
|
|
14436
14618
|
for (let i = 0; i < types.length; i++) {
|
|
14437
14619
|
if (types[i] === "Files") return true;
|
|
@@ -14530,7 +14712,7 @@ function FileUpload({
|
|
|
14530
14712
|
e.stopPropagation();
|
|
14531
14713
|
setDragActive(false);
|
|
14532
14714
|
if (disabled) return;
|
|
14533
|
-
if (_optionalChain([e, 'access',
|
|
14715
|
+
if (_optionalChain([e, 'access', _320 => _320.dataTransfer, 'access', _321 => _321.files, 'optionalAccess', _322 => _322.length])) {
|
|
14534
14716
|
handleFiles(e.dataTransfer.files);
|
|
14535
14717
|
}
|
|
14536
14718
|
};
|
|
@@ -14558,7 +14740,7 @@ function FileUpload({
|
|
|
14558
14740
|
e.preventDefault();
|
|
14559
14741
|
dragCounter = 0;
|
|
14560
14742
|
setDragActive(false);
|
|
14561
|
-
if (_optionalChain([e, 'access',
|
|
14743
|
+
if (_optionalChain([e, 'access', _323 => _323.dataTransfer, 'optionalAccess', _324 => _324.files, 'optionalAccess', _325 => _325.length])) {
|
|
14562
14744
|
handleFilesRef.current(e.dataTransfer.files);
|
|
14563
14745
|
}
|
|
14564
14746
|
};
|
|
@@ -14580,7 +14762,7 @@ function FileUpload({
|
|
|
14580
14762
|
};
|
|
14581
14763
|
}, [acceptWindowDrops, disabled]);
|
|
14582
14764
|
const handleFileSelect = (e) => {
|
|
14583
|
-
if (_optionalChain([e, 'access',
|
|
14765
|
+
if (_optionalChain([e, 'access', _326 => _326.target, 'access', _327 => _327.files, 'optionalAccess', _328 => _328.length])) {
|
|
14584
14766
|
handleFiles(e.target.files);
|
|
14585
14767
|
}
|
|
14586
14768
|
};
|
|
@@ -14598,7 +14780,7 @@ function FileUpload({
|
|
|
14598
14780
|
const openDialog = async () => {
|
|
14599
14781
|
if (disabled) return;
|
|
14600
14782
|
if (!pickFiles) {
|
|
14601
|
-
_optionalChain([fileInputRef, 'access',
|
|
14783
|
+
_optionalChain([fileInputRef, 'access', _329 => _329.current, 'optionalAccess', _330 => _330.click, 'call', _331 => _331()]);
|
|
14602
14784
|
return;
|
|
14603
14785
|
}
|
|
14604
14786
|
try {
|
|
@@ -14671,7 +14853,7 @@ function FileUpload({
|
|
|
14671
14853
|
"button",
|
|
14672
14854
|
{
|
|
14673
14855
|
type: "button",
|
|
14674
|
-
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall',
|
|
14856
|
+
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _332 => _332(entry.id)]),
|
|
14675
14857
|
className: "shrink-0 text-ods-error transition-opacity hover:opacity-80",
|
|
14676
14858
|
"aria-label": `Remove ${entry.fileName}`,
|
|
14677
14859
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIYHH5EIOcjs.TrashIcon, { className: "size-6" })
|
|
@@ -14803,7 +14985,7 @@ function ImageUploader({
|
|
|
14803
14985
|
onChange(file);
|
|
14804
14986
|
};
|
|
14805
14987
|
const handleFileSelect = (e) => {
|
|
14806
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
14988
|
+
validateAndEmit(_optionalChain([e, 'access', _333 => _333.target, 'access', _334 => _334.files, 'optionalAccess', _335 => _335[0]]));
|
|
14807
14989
|
if (inputRef.current) inputRef.current.value = "";
|
|
14808
14990
|
};
|
|
14809
14991
|
const handleDrag = (e) => {
|
|
@@ -14818,11 +15000,11 @@ function ImageUploader({
|
|
|
14818
15000
|
e.stopPropagation();
|
|
14819
15001
|
setDragActive(false);
|
|
14820
15002
|
if (!interactive) return;
|
|
14821
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
15003
|
+
validateAndEmit(_optionalChain([e, 'access', _336 => _336.dataTransfer, 'access', _337 => _337.files, 'optionalAccess', _338 => _338[0]]));
|
|
14822
15004
|
};
|
|
14823
15005
|
const openDialog = () => {
|
|
14824
15006
|
if (!interactive) return;
|
|
14825
|
-
_optionalChain([inputRef, 'access',
|
|
15007
|
+
_optionalChain([inputRef, 'access', _339 => _339.current, 'optionalAccess', _340 => _340.click, 'call', _341 => _341()]);
|
|
14826
15008
|
};
|
|
14827
15009
|
const handleRootKeyDown = (e) => {
|
|
14828
15010
|
if (hasImage || !interactive) return;
|
|
@@ -14994,8 +15176,8 @@ function ColorPresetSelect({
|
|
|
14994
15176
|
}) {
|
|
14995
15177
|
const selectedPreset = presets.find((p) => p.key === presetKey);
|
|
14996
15178
|
const isCustom = !selectedPreset;
|
|
14997
|
-
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
14998
|
-
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
15179
|
+
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _342 => _342.label]), () => ( "Custom"));
|
|
15180
|
+
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _343 => _343.color]), () => ( value));
|
|
14999
15181
|
const groups = [
|
|
15000
15182
|
{
|
|
15001
15183
|
items: [
|
|
@@ -15291,7 +15473,7 @@ function TicketStatusConfigRow({
|
|
|
15291
15473
|
{
|
|
15292
15474
|
id: nameInputId,
|
|
15293
15475
|
value: name,
|
|
15294
|
-
onChange: (e) => _optionalChain([onNameChange, 'optionalCall',
|
|
15476
|
+
onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _344 => _344(e.target.value)]),
|
|
15295
15477
|
disabled: isSystem,
|
|
15296
15478
|
readOnly: isSystem,
|
|
15297
15479
|
maxLength: 50
|
|
@@ -15382,7 +15564,7 @@ function formatTestRunDuration(ms) {
|
|
|
15382
15564
|
var RESULT_COLUMN_MIN_WIDTH = 176;
|
|
15383
15565
|
var SKELETON_COLUMNS = 6;
|
|
15384
15566
|
function TestResultsSkeleton() {
|
|
15385
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15567
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
15386
15568
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)]", children: Array.from({ length: SKELETON_COLUMNS }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-[160px] shrink-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-3/4 animate-pulse rounded-sm bg-ods-bg-surface" }) }, `skeleton-header-${i}`)) }),
|
|
15387
15569
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "animate-pulse overflow-hidden rounded-[6px] border border-ods-border bg-ods-card", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[66px] items-center gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)] 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, "div", { className: "h-5 w-3/4 rounded-sm bg-ods-bg-surface" }) }, `skeleton-cell-${i}`)) }) })
|
|
15388
15570
|
] }) });
|
|
@@ -15417,7 +15599,7 @@ function TestResultsTable({ rows, loading }) {
|
|
|
15417
15599
|
if (loading) {
|
|
15418
15600
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
15419
15601
|
}
|
|
15420
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15602
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.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: [
|
|
15421
15603
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
15422
15604
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
15423
15605
|
] }) }) });
|
|
@@ -15833,14 +16015,14 @@ function TicketInfoSection({
|
|
|
15833
16015
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15834
16016
|
_chunkABLUMGCIcjs.SquareAvatar,
|
|
15835
16017
|
{
|
|
15836
|
-
src: _optionalChain([organization, 'optionalAccess',
|
|
15837
|
-
alt: _optionalChain([organization, 'optionalAccess',
|
|
15838
|
-
fallback: _optionalChain([organization, 'optionalAccess',
|
|
16018
|
+
src: _optionalChain([organization, 'optionalAccess', _345 => _345.imageSrc]),
|
|
16019
|
+
alt: _optionalChain([organization, 'optionalAccess', _346 => _346.name]),
|
|
16020
|
+
fallback: _optionalChain([organization, 'optionalAccess', _347 => _347.name]) || "Org",
|
|
15839
16021
|
size: "md",
|
|
15840
16022
|
className: "shrink-0"
|
|
15841
16023
|
}
|
|
15842
16024
|
),
|
|
15843
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([organization, 'optionalAccess',
|
|
16025
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([organization, 'optionalAccess', _348 => _348.name]) || "Unassigned", label: "Organization" })
|
|
15844
16026
|
] }),
|
|
15845
16027
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15846
16028
|
AssigneeDropdown,
|
|
@@ -15858,7 +16040,7 @@ function TicketInfoSection({
|
|
|
15858
16040
|
] }),
|
|
15859
16041
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "block truncate text-ods-text-secondary text-h6", children: "Assigned" })
|
|
15860
16042
|
] }) }),
|
|
15861
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess',
|
|
16043
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _349 => _349.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _350 => _350.icon]), onClick: _optionalChain([device, 'optionalAccess', _351 => _351.onClick]) }),
|
|
15862
16044
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
15863
16045
|
(status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15864
16046
|
_chunkOWGLRE74cjs.TicketStatusTag,
|
|
@@ -15900,7 +16082,7 @@ function TicketInfoSection({
|
|
|
15900
16082
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
15901
16083
|
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" }) }),
|
|
15902
16084
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
|
|
15903
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16085
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.SimpleMarkdownRenderer, { content: description }),
|
|
15904
16086
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
15905
16087
|
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, _chunkABLUMGCIcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
|
|
15906
16088
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -15963,7 +16145,7 @@ function TakeOverTicketModal({
|
|
|
15963
16145
|
setAssigneeId(_nullishCoalesce(initialAssigneeId, () => ( null)));
|
|
15964
16146
|
}
|
|
15965
16147
|
}
|
|
15966
|
-
const selectedStatusId = _nullishCoalesce(_nullishCoalesce(statusId, () => ( _optionalChain([statusOptions, 'access',
|
|
16148
|
+
const selectedStatusId = _nullishCoalesce(_nullishCoalesce(statusId, () => ( _optionalChain([statusOptions, 'access', _352 => _352[0], 'optionalAccess', _353 => _353.value]))), () => ( null));
|
|
15967
16149
|
const selectedStatus = statusOptions.find((o) => o.value === selectedStatusId);
|
|
15968
16150
|
const selectedAssignee = assigneeOptions.find((o) => o.value === assigneeId);
|
|
15969
16151
|
const handleConfirm = () => {
|
|
@@ -16061,7 +16243,7 @@ function ReopenTicketModal({
|
|
|
16061
16243
|
setReason("");
|
|
16062
16244
|
}
|
|
16063
16245
|
}
|
|
16064
|
-
const selectedStatusId = _nullishCoalesce(_nullishCoalesce(statusId, () => ( _optionalChain([statusOptions, 'access',
|
|
16246
|
+
const selectedStatusId = _nullishCoalesce(_nullishCoalesce(statusId, () => ( _optionalChain([statusOptions, 'access', _354 => _354[0], 'optionalAccess', _355 => _355.value]))), () => ( null));
|
|
16065
16247
|
const selectedStatus = statusOptions.find((o) => o.value === selectedStatusId);
|
|
16066
16248
|
const selectedAssignee = assigneeOptions.find((o) => o.value === assigneeId);
|
|
16067
16249
|
const handleConfirm = () => {
|
|
@@ -16302,7 +16484,7 @@ function usePhotoOrientations(urls) {
|
|
|
16302
16484
|
}
|
|
16303
16485
|
};
|
|
16304
16486
|
}, [key]);
|
|
16305
|
-
return _optionalChain([measured, 'optionalAccess',
|
|
16487
|
+
return _optionalChain([measured, 'optionalAccess', _356 => _356.key]) === key ? measured.byUrl : null;
|
|
16306
16488
|
}
|
|
16307
16489
|
function PhotoWall({ images, columns = 2, speed = 24, fadeColor, className, loading = false }) {
|
|
16308
16490
|
const rootRef = _react.useRef.call(void 0, null);
|
|
@@ -16311,7 +16493,7 @@ function PhotoWall({ images, columns = 2, speed = 24, fadeColor, className, load
|
|
|
16311
16493
|
const root = rootRef.current;
|
|
16312
16494
|
if (!root) return void 0;
|
|
16313
16495
|
const read = () => setBox(
|
|
16314
|
-
(previous) => _optionalChain([previous, 'optionalAccess',
|
|
16496
|
+
(previous) => _optionalChain([previous, 'optionalAccess', _357 => _357.width]) === root.clientWidth && previous.height === root.clientHeight ? previous : { width: root.clientWidth, height: root.clientHeight }
|
|
16315
16497
|
);
|
|
16316
16498
|
read();
|
|
16317
16499
|
if (typeof ResizeObserver === "undefined") return void 0;
|
|
@@ -16356,11 +16538,11 @@ function PhotoWall({ images, columns = 2, speed = 24, fadeColor, className, load
|
|
|
16356
16538
|
if (images.length === 0 && !loading) return null;
|
|
16357
16539
|
const columnsToDraw = loading || requestWidth === void 0 ? null : layout;
|
|
16358
16540
|
const gridStyle = {
|
|
16359
|
-
gridTemplateColumns: `repeat(${_optionalChain([columnsToDraw, 'optionalAccess',
|
|
16541
|
+
gridTemplateColumns: `repeat(${_optionalChain([columnsToDraw, 'optionalAccess', _358 => _358.length]) || columns}, minmax(0, 1fr))`,
|
|
16360
16542
|
gap: COLUMN_GAP_PX
|
|
16361
16543
|
};
|
|
16362
16544
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootRef, "aria-hidden": "true", className: _chunk3ATAYP36cjs.cn.call(void 0, "grid overflow-hidden", className), style: gridStyle, children: columnsToDraw ? columnsToDraw.map((column, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16363
|
-
|
|
16545
|
+
_chunkDJO7YMT3cjs.MarqueeWall,
|
|
16364
16546
|
{
|
|
16365
16547
|
axis: "y",
|
|
16366
16548
|
reverse: index % 2 === 1,
|
|
@@ -16590,7 +16772,7 @@ function subscribeToClock(onTick) {
|
|
|
16590
16772
|
}
|
|
16591
16773
|
function readClock() {
|
|
16592
16774
|
const parts = new Intl.DateTimeFormat(void 0, { hour: "numeric", minute: "2-digit" }).formatToParts(/* @__PURE__ */ new Date());
|
|
16593
|
-
const part = (type) => _nullishCoalesce(_optionalChain([parts, 'access',
|
|
16775
|
+
const part = (type) => _nullishCoalesce(_optionalChain([parts, 'access', _359 => _359.find, 'call', _360 => _360((p) => p.type === type), 'optionalAccess', _361 => _361.value]), () => ( ""));
|
|
16594
16776
|
return `${part("hour")}:${part("minute")}`;
|
|
16595
16777
|
}
|
|
16596
16778
|
function readDate() {
|
|
@@ -16775,7 +16957,7 @@ var TRIAL_TERM_ICONS = {
|
|
|
16775
16957
|
};
|
|
16776
16958
|
var DEFAULT_TRIAL_TERMS = ["cancel", "length", "noContract"];
|
|
16777
16959
|
function trialBenefits(trialDays, terms = DEFAULT_TRIAL_TERMS) {
|
|
16778
|
-
const labels =
|
|
16960
|
+
const labels = _chunkGOTEXQZNcjs.trialLabels.call(void 0, trialDays);
|
|
16779
16961
|
return terms.flatMap((term) => {
|
|
16780
16962
|
const label = labels[term];
|
|
16781
16963
|
return label ? [{ icon: TRIAL_TERM_ICONS[term], label }] : [];
|
|
@@ -16993,7 +17175,7 @@ function SnapCarousel({
|
|
|
16993
17175
|
const auto = _chunkCSJO7ZGNcjs.useAutoplay.call(void 0, inView);
|
|
16994
17176
|
const count = items.length;
|
|
16995
17177
|
const slideStep = _react.useCallback.call(void 0, () => {
|
|
16996
|
-
const first = _optionalChain([trackRef, 'access',
|
|
17178
|
+
const first = _optionalChain([trackRef, 'access', _362 => _362.current, 'optionalAccess', _363 => _363.firstElementChild]);
|
|
16997
17179
|
return first ? first.offsetWidth + GAP_PX : 0;
|
|
16998
17180
|
}, []);
|
|
16999
17181
|
const goTo = _react.useCallback.call(void 0,
|
|
@@ -17382,10 +17564,10 @@ function AccountDetailsFields({
|
|
|
17382
17564
|
onKeyDown,
|
|
17383
17565
|
layout = "stacked"
|
|
17384
17566
|
}) {
|
|
17385
|
-
const firstNameErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
17386
|
-
const lastNameErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
17387
|
-
const passwordErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
17388
|
-
const confirmErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
17567
|
+
const firstNameErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _364 => _364.firstName]), firstName);
|
|
17568
|
+
const lastNameErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _365 => _365.lastName]), lastName);
|
|
17569
|
+
const passwordErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _366 => _366.password]), password);
|
|
17570
|
+
const confirmErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _367 => _367.confirmPassword]), confirmPassword);
|
|
17389
17571
|
const names = [
|
|
17390
17572
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17391
17573
|
_chunkHTRILBJDcjs.Input,
|
|
@@ -17633,7 +17815,7 @@ function SsoProviderButtons({
|
|
|
17633
17815
|
disabled: disabled || (enabledProviders ? !enabledProviders.includes(provider) : false),
|
|
17634
17816
|
className: "disabled:bg-ods-bg",
|
|
17635
17817
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "h-5 w-5" }),
|
|
17636
|
-
onClick: () => _optionalChain([onSsoClick, 'optionalCall',
|
|
17818
|
+
onClick: () => _optionalChain([onSsoClick, 'optionalCall', _368 => _368(provider)]),
|
|
17637
17819
|
children: `${actionLabel} ${meta.name}`
|
|
17638
17820
|
},
|
|
17639
17821
|
provider
|
|
@@ -17815,9 +17997,9 @@ function CreateOrganizationForm({
|
|
|
17815
17997
|
}) {
|
|
17816
17998
|
const hasSso = !!ssoProviders && ssoProviders.length > 0;
|
|
17817
17999
|
const fieldsDisabled = disabled || loading;
|
|
17818
|
-
const emailErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
17819
|
-
const orgNameErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
17820
|
-
const domainErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
18000
|
+
const emailErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _369 => _369.email]), _nullishCoalesce(email, () => ( "")));
|
|
18001
|
+
const orgNameErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _370 => _370.organizationName]), organizationName);
|
|
18002
|
+
const domainErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _371 => _371.domain]), domain);
|
|
17821
18003
|
const handleKeyDown = (event) => {
|
|
17822
18004
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
17823
18005
|
onSubmit();
|
|
@@ -17842,11 +18024,11 @@ function CreateOrganizationForm({
|
|
|
17842
18024
|
label: "Email",
|
|
17843
18025
|
placeholder: "username@mail.com",
|
|
17844
18026
|
value: email,
|
|
17845
|
-
error: _nullishCoalesce(emailErr.error, () => ( _optionalChain([emailStatus, 'optionalAccess',
|
|
17846
|
-
errorVariant: emailErr.error ? "error" : _optionalChain([emailStatus, 'optionalAccess',
|
|
18027
|
+
error: _nullishCoalesce(emailErr.error, () => ( _optionalChain([emailStatus, 'optionalAccess', _372 => _372.message]))),
|
|
18028
|
+
errorVariant: emailErr.error ? "error" : _optionalChain([emailStatus, 'optionalAccess', _373 => _373.variant]),
|
|
17847
18029
|
disabled: fieldsDisabled,
|
|
17848
18030
|
onBlur: emailErr.onBlur,
|
|
17849
|
-
onChange: (event) => _optionalChain([onEmailChange, 'optionalCall',
|
|
18031
|
+
onChange: (event) => _optionalChain([onEmailChange, 'optionalCall', _374 => _374(event.target.value)]),
|
|
17850
18032
|
onKeyDown: handleKeyDown
|
|
17851
18033
|
}
|
|
17852
18034
|
),
|
|
@@ -17870,8 +18052,8 @@ function CreateOrganizationForm({
|
|
|
17870
18052
|
label: "Domain",
|
|
17871
18053
|
placeholder: domainPlaceholder,
|
|
17872
18054
|
value: domain,
|
|
17873
|
-
error: _nullishCoalesce(domainErr.error, () => ( _optionalChain([domainStatus, 'optionalAccess',
|
|
17874
|
-
errorVariant: domainErr.error ? "error" : _optionalChain([domainStatus, 'optionalAccess',
|
|
18055
|
+
error: _nullishCoalesce(domainErr.error, () => ( _optionalChain([domainStatus, 'optionalAccess', _375 => _375.message]))),
|
|
18056
|
+
errorVariant: domainErr.error ? "error" : _optionalChain([domainStatus, 'optionalAccess', _376 => _376.variant]),
|
|
17875
18057
|
disabled: fieldsDisabled,
|
|
17876
18058
|
onBlur: domainErr.onBlur,
|
|
17877
18059
|
endAdornment: domainSuffix ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: domainSuffix }) : void 0,
|
|
@@ -17906,7 +18088,7 @@ function CreateOrganizationForm({
|
|
|
17906
18088
|
label: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TermsAgreementLabel, { termsUrl, privacyPolicyUrl }),
|
|
17907
18089
|
checked: agreedToTerms,
|
|
17908
18090
|
disabled: fieldsDisabled,
|
|
17909
|
-
error: _optionalChain([errors, 'optionalAccess',
|
|
18091
|
+
error: _optionalChain([errors, 'optionalAccess', _377 => _377.terms]),
|
|
17910
18092
|
onCheckedChange: onAgreedToTermsChange
|
|
17911
18093
|
}
|
|
17912
18094
|
),
|
|
@@ -18033,10 +18215,10 @@ function LoginForm({
|
|
|
18033
18215
|
className
|
|
18034
18216
|
}) {
|
|
18035
18217
|
const fieldDisabled = disabled || loading;
|
|
18036
|
-
const emailErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
18218
|
+
const emailErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _378 => _378.email]), email);
|
|
18037
18219
|
const handleKeyDown = (event) => {
|
|
18038
18220
|
if (event.key !== "Enter" || fieldDisabled || submitDisabled) return;
|
|
18039
|
-
_optionalChain([onSubmitClick, 'optionalCall',
|
|
18221
|
+
_optionalChain([onSubmitClick, 'optionalCall', _379 => _379()]);
|
|
18040
18222
|
};
|
|
18041
18223
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18042
18224
|
"div",
|
|
@@ -18068,8 +18250,8 @@ function LoginForm({
|
|
|
18068
18250
|
label: "Email",
|
|
18069
18251
|
placeholder: emailPlaceholder,
|
|
18070
18252
|
value: email,
|
|
18071
|
-
error: _nullishCoalesce(emailErr.error, () => ( _optionalChain([emailStatus, 'optionalAccess',
|
|
18072
|
-
errorVariant: emailErr.error ? "error" : _optionalChain([emailStatus, 'optionalAccess',
|
|
18253
|
+
error: _nullishCoalesce(emailErr.error, () => ( _optionalChain([emailStatus, 'optionalAccess', _380 => _380.message]))),
|
|
18254
|
+
errorVariant: emailErr.error ? "error" : _optionalChain([emailStatus, 'optionalAccess', _381 => _381.variant]),
|
|
18073
18255
|
disabled: fieldDisabled,
|
|
18074
18256
|
onBlur: emailErr.onBlur,
|
|
18075
18257
|
onChange: (event) => onEmailChange(event.target.value),
|
|
@@ -18175,8 +18357,8 @@ function OpenFrameSsoLoginForm({
|
|
|
18175
18357
|
className
|
|
18176
18358
|
}) {
|
|
18177
18359
|
const fieldsDisabled = disabled || loading;
|
|
18178
|
-
const emailErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
18179
|
-
const passwordErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
18360
|
+
const emailErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _382 => _382.email]), email);
|
|
18361
|
+
const passwordErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _383 => _383.password]), password);
|
|
18180
18362
|
const handleKeyDown = (event) => {
|
|
18181
18363
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
18182
18364
|
onSubmit();
|
|
@@ -18281,7 +18463,7 @@ function OpenFrameSsoSignUpForm({
|
|
|
18281
18463
|
className
|
|
18282
18464
|
}) {
|
|
18283
18465
|
const fieldsDisabled = disabled || loading;
|
|
18284
|
-
const emailErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
18466
|
+
const emailErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _384 => _384.email]), email);
|
|
18285
18467
|
const handleKeyDown = (event) => {
|
|
18286
18468
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
18287
18469
|
onSubmit();
|
|
@@ -18386,8 +18568,8 @@ function PasswordResetForm({
|
|
|
18386
18568
|
className
|
|
18387
18569
|
}) {
|
|
18388
18570
|
const fieldsDisabled = disabled || loading;
|
|
18389
|
-
const passwordErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
18390
|
-
const confirmErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess',
|
|
18571
|
+
const passwordErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _385 => _385.password]), password);
|
|
18572
|
+
const confirmErr = _chunk4FWURR3Wcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _386 => _386.confirmPassword]), confirmPassword);
|
|
18391
18573
|
const handleKeyDown = (event) => {
|
|
18392
18574
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
18393
18575
|
onSubmit();
|
|
@@ -18509,7 +18691,7 @@ function SsoJoinForm({
|
|
|
18509
18691
|
className
|
|
18510
18692
|
}) {
|
|
18511
18693
|
const fieldsDisabled = disabled || loading;
|
|
18512
|
-
const displayName = _optionalChain([name, 'optionalAccess',
|
|
18694
|
+
const displayName = _optionalChain([name, 'optionalAccess', _387 => _387.trim, 'call', _388 => _388()]) || _optionalChain([email, 'optionalAccess', _389 => _389.trim, 'call', _390 => _390()]) || "";
|
|
18513
18695
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18514
18696
|
"div",
|
|
18515
18697
|
{
|
|
@@ -18691,7 +18873,7 @@ function ChangelogManager({
|
|
|
18691
18873
|
descriptionLabel = "Description",
|
|
18692
18874
|
descriptionPlaceholder = "Detailed explanation of the change..."
|
|
18693
18875
|
}) {
|
|
18694
|
-
const tagLabelOf = (value) => _optionalChain([tagOptions, 'optionalAccess',
|
|
18876
|
+
const tagLabelOf = (value) => _optionalChain([tagOptions, 'optionalAccess', _391 => _391.find, 'call', _392 => _392((o) => o.value === value), 'optionalAccess', _393 => _393.label]);
|
|
18695
18877
|
const entryCount = entries.length;
|
|
18696
18878
|
const allExpanded = () => new Set(Array.from({ length: entryCount }, (_, i) => i));
|
|
18697
18879
|
const [expandedIndices, setExpandedIndices] = _react.useState.call(void 0,
|
|
@@ -18709,7 +18891,7 @@ function ChangelogManager({
|
|
|
18709
18891
|
title: "",
|
|
18710
18892
|
description: "",
|
|
18711
18893
|
...showVisibilityToggle && { visibility: "public" },
|
|
18712
|
-
..._optionalChain([tagOptions, 'optionalAccess',
|
|
18894
|
+
..._optionalChain([tagOptions, 'optionalAccess', _394 => _394.length]) && { tag: tagOptions[0].value }
|
|
18713
18895
|
};
|
|
18714
18896
|
onChange([...entries, newEntry]);
|
|
18715
18897
|
setExpandedIndices((prev) => /* @__PURE__ */ new Set([...prev, entries.length]));
|
|
@@ -19204,13 +19386,13 @@ var SectionSelector = ({
|
|
|
19204
19386
|
const listRef = _react.useRef.call(void 0, null);
|
|
19205
19387
|
_react.useEffect.call(void 0, () => {
|
|
19206
19388
|
const list = listRef.current;
|
|
19207
|
-
const active = _optionalChain([list, 'optionalAccess',
|
|
19389
|
+
const active = _optionalChain([list, 'optionalAccess', _395 => _395.querySelector, 'call', _396 => _396('[role="tab"][aria-selected="true"]')]);
|
|
19208
19390
|
if (!list || !active || list.scrollWidth <= list.clientWidth) return;
|
|
19209
19391
|
const offset = active.getBoundingClientRect().left - list.getBoundingClientRect().left;
|
|
19210
19392
|
list.scrollLeft += offset - (list.clientWidth - active.clientWidth) / 2;
|
|
19211
19393
|
}, [activeSection]);
|
|
19212
19394
|
const enabled = sections.filter((section) => !section.disabled && !disabled);
|
|
19213
|
-
const tabStopId = enabled.some((section) => section.id === activeSection) ? activeSection : _optionalChain([enabled, 'access',
|
|
19395
|
+
const tabStopId = enabled.some((section) => section.id === activeSection) ? activeSection : _optionalChain([enabled, 'access', _397 => _397[0], 'optionalAccess', _398 => _398.id]);
|
|
19214
19396
|
const onKeyDown = (event) => {
|
|
19215
19397
|
const step = event.key === "ArrowRight" || event.key === "ArrowDown" ? 1 : event.key === "ArrowLeft" || event.key === "ArrowUp" ? -1 : 0;
|
|
19216
19398
|
if (!step && event.key !== "Home" && event.key !== "End") return;
|
|
@@ -19223,7 +19405,7 @@ var SectionSelector = ({
|
|
|
19223
19405
|
const next = event.key === "Home" ? enabled[0] : event.key === "End" ? enabled[enabled.length - 1] : enabled[(at + step + enabled.length) % enabled.length];
|
|
19224
19406
|
onSectionChange(next.id);
|
|
19225
19407
|
requestAnimationFrame(
|
|
19226
|
-
() => _optionalChain([listRef, 'access',
|
|
19408
|
+
() => _optionalChain([listRef, 'access', _399 => _399.current, 'optionalAccess', _400 => _400.querySelector, 'call', _401 => _401('[role="tab"][aria-selected="true"]'), 'optionalAccess', _402 => _402.focus, 'call', _403 => _403()])
|
|
19227
19409
|
);
|
|
19228
19410
|
};
|
|
19229
19411
|
const getButtonWidthClasses = () => {
|
|
@@ -19266,10 +19448,10 @@ var getContentDimensions = (config) => {
|
|
|
19266
19448
|
const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
|
|
19267
19449
|
const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
|
|
19268
19450
|
const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
|
|
19269
|
-
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
19270
|
-
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
19271
|
-
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
19272
|
-
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
19451
|
+
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _404 => _404.mobileContentDimensions, 'optionalAccess', _405 => _405.width]))), () => ( defaultMobile.width));
|
|
19452
|
+
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _406 => _406.mobileContentDimensions, 'optionalAccess', _407 => _407.height]))), () => ( defaultMobile.height));
|
|
19453
|
+
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _408 => _408.desktopContentDimensions, 'optionalAccess', _409 => _409.width]))), () => ( defaultDesktop.width));
|
|
19454
|
+
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _410 => _410.desktopContentDimensions, 'optionalAccess', _411 => _411.height]))), () => ( defaultDesktop.height));
|
|
19273
19455
|
return {
|
|
19274
19456
|
mobile: { width: mobileWidth, height: mobileHeight },
|
|
19275
19457
|
desktop: { width: desktopWidth, height: desktopHeight }
|
|
@@ -19428,7 +19610,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
|
|
|
19428
19610
|
const contentDimensions = getContentDimensions(config);
|
|
19429
19611
|
const mobileHeight = contentDimensions.mobile.height;
|
|
19430
19612
|
const calculatedHeight = Math.max(mobileHeight + 100, 400);
|
|
19431
|
-
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess',
|
|
19613
|
+
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _412 => _412.innerHeight]) * 0.85 || 650)}px`;
|
|
19432
19614
|
})(),
|
|
19433
19615
|
minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
|
|
19434
19616
|
const contentDimensions = getContentDimensions(config);
|
|
@@ -19531,7 +19713,7 @@ var FigmaPrototypeViewer = ({
|
|
|
19531
19713
|
const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
|
|
19532
19714
|
const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
|
|
19533
19715
|
const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
|
|
19534
|
-
config.defaultSectionId || _optionalChain([config, 'access',
|
|
19716
|
+
config.defaultSectionId || _optionalChain([config, 'access', _413 => _413.sections, 'access', _414 => _414[0], 'optionalAccess', _415 => _415.id]) || ""
|
|
19535
19717
|
);
|
|
19536
19718
|
const activeSection = externalActiveSection || internalActiveSection;
|
|
19537
19719
|
const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
|
|
@@ -19629,19 +19811,19 @@ var FigmaPrototypeViewer = ({
|
|
|
19629
19811
|
setIframeState("READY");
|
|
19630
19812
|
break;
|
|
19631
19813
|
case "PRESENTED_NODE_CHANGED":
|
|
19632
|
-
if (_optionalChain([figmaEvent, 'access',
|
|
19814
|
+
if (_optionalChain([figmaEvent, 'access', _416 => _416.data, 'optionalAccess', _417 => _417.presentedNodeId])) {
|
|
19633
19815
|
setCurrentNodeId(figmaEvent.data.presentedNodeId);
|
|
19634
19816
|
if (!isNavigating) {
|
|
19635
19817
|
const matchingSection = configSections.find((s) => {
|
|
19636
|
-
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access',
|
|
19637
|
-
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access',
|
|
19818
|
+
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _418 => _418.data, 'optionalAccess', _419 => _419.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _420 => _420.data, 'optionalAccess', _421 => _421.presentedNodeId]);
|
|
19819
|
+
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _422 => _422.data, 'optionalAccess', _423 => _423.presentedNodeId]) || _optionalChain([s, 'access', _424 => _424.mobileStartingNodeId, 'optionalAccess', _425 => _425.replace, 'call', _426 => _426(":", "-")]) === _optionalChain([figmaEvent, 'access', _427 => _427.data, 'optionalAccess', _428 => _428.presentedNodeId]);
|
|
19638
19820
|
return desktopMatch || mobileMatch;
|
|
19639
19821
|
});
|
|
19640
19822
|
if (matchingSection && matchingSection.id !== activeSection) {
|
|
19641
19823
|
if (!externalActiveSection) {
|
|
19642
19824
|
setInternalActiveSection(matchingSection.id);
|
|
19643
19825
|
}
|
|
19644
|
-
_optionalChain([onSectionChange, 'optionalCall',
|
|
19826
|
+
_optionalChain([onSectionChange, 'optionalCall', _429 => _429(matchingSection.id)]);
|
|
19645
19827
|
}
|
|
19646
19828
|
}
|
|
19647
19829
|
}
|
|
@@ -19655,7 +19837,7 @@ var FigmaPrototypeViewer = ({
|
|
|
19655
19837
|
const navigateToSection = _react.useCallback.call(void 0,
|
|
19656
19838
|
(sectionId) => {
|
|
19657
19839
|
const section = config.sections.find((s) => s.id === sectionId);
|
|
19658
|
-
if (!section || !_optionalChain([iframeRef, 'access',
|
|
19840
|
+
if (!section || !_optionalChain([iframeRef, 'access', _430 => _430.current, 'optionalAccess', _431 => _431.contentWindow]) || !isInitialized) {
|
|
19659
19841
|
return;
|
|
19660
19842
|
}
|
|
19661
19843
|
setIsNavigating(true);
|
|
@@ -19663,7 +19845,7 @@ var FigmaPrototypeViewer = ({
|
|
|
19663
19845
|
if (!externalActiveSection) {
|
|
19664
19846
|
setInternalActiveSection(sectionId);
|
|
19665
19847
|
}
|
|
19666
|
-
_optionalChain([config, 'access',
|
|
19848
|
+
_optionalChain([config, 'access', _432 => _432.onSectionChange, 'optionalCall', _433 => _433(sectionId)]);
|
|
19667
19849
|
const command = {
|
|
19668
19850
|
type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
|
|
19669
19851
|
data: { nodeId }
|
|
@@ -20002,7 +20184,7 @@ var FiltersDropdown = ({
|
|
|
20002
20184
|
defaults[section.id] = section.defaultSelected || [];
|
|
20003
20185
|
});
|
|
20004
20186
|
setSelectedFilters(defaults);
|
|
20005
|
-
_optionalChain([onReset, 'optionalCall',
|
|
20187
|
+
_optionalChain([onReset, 'optionalCall', _434 => _434()]);
|
|
20006
20188
|
setIsOpen(false);
|
|
20007
20189
|
};
|
|
20008
20190
|
const handleApply = () => {
|
|
@@ -20292,7 +20474,7 @@ function useMediaIntake({ existing, onUpload, onUploaded, kinds = "both" }) {
|
|
|
20292
20474
|
try {
|
|
20293
20475
|
const url = await onUpload(file, mediaType);
|
|
20294
20476
|
if (!url) throw new Error("no URL");
|
|
20295
|
-
_optionalChain([onUploaded, 'optionalCall',
|
|
20477
|
+
_optionalChain([onUploaded, 'optionalCall', _435 => _435({ file, mediaType, url })]);
|
|
20296
20478
|
} catch (error) {
|
|
20297
20479
|
console.error("Upload failed:", error);
|
|
20298
20480
|
failed.push(file.name);
|
|
@@ -20315,7 +20497,7 @@ function useMediaIntake({ existing, onUpload, onUploaded, kinds = "both" }) {
|
|
|
20315
20497
|
notice,
|
|
20316
20498
|
busy: pending.length > 0,
|
|
20317
20499
|
dropActive,
|
|
20318
|
-
open: () => _optionalChain([inputRef, 'access',
|
|
20500
|
+
open: () => _optionalChain([inputRef, 'access', _436 => _436.current, 'optionalAccess', _437 => _437.click, 'call', _438 => _438()]),
|
|
20319
20501
|
/** Spread on the element files may be dropped on (the area itself, or a whole gallery). */
|
|
20320
20502
|
dropHandlers: {
|
|
20321
20503
|
onDragOver: (event) => {
|
|
@@ -20592,60 +20774,60 @@ function CardSkeleton({
|
|
|
20592
20774
|
function VendorCardContent({ showMetadata }) {
|
|
20593
20775
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-3 p-4", children: [
|
|
20594
20776
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start gap-3", children: [
|
|
20595
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[60px] w-[60px] flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20777
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[60px] w-[60px] flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Avatar, { size: "sm", className: "h-11 w-11" }) }),
|
|
20596
20778
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center space-y-1 py-2", children: [
|
|
20597
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20598
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20779
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
20780
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-1/2" })
|
|
20599
20781
|
] })
|
|
20600
20782
|
] }),
|
|
20601
20783
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-full items-center overflow-hidden", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
|
|
20602
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20603
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20784
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
20785
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
20604
20786
|
] }) }),
|
|
20605
20787
|
showMetadata && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-2", children: [
|
|
20606
20788
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-shrink items-center gap-3 content-md:gap-4", children: [
|
|
20607
20789
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
20608
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20609
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20790
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
20791
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-8" })
|
|
20610
20792
|
] }),
|
|
20611
20793
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
20612
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20613
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20794
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
20795
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-10" })
|
|
20614
20796
|
] })
|
|
20615
20797
|
] }),
|
|
20616
20798
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5 rounded border border-ods-border bg-ods-bg px-2.5 py-1.5", children: [
|
|
20617
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20618
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20799
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Icon, { size: "sm", className: "h-2.5 w-2.5" }) }),
|
|
20800
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-16" })
|
|
20619
20801
|
] }) })
|
|
20620
20802
|
] })
|
|
20621
20803
|
] });
|
|
20622
20804
|
}
|
|
20623
20805
|
function BlogCardContent({ showActions, showMetadata }) {
|
|
20624
20806
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
20625
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "blog-card-image-container relative aspect-[1200/630] w-full overflow-hidden bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20807
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "blog-card-image-container relative aspect-[1200/630] w-full overflow-hidden bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.CardImage, {}) }),
|
|
20626
20808
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-grow flex-col p-4", children: [
|
|
20627
20809
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 flex min-h-[50.4px] items-center content-md:min-h-[56px] content-lg:min-h-[61.6px]", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
|
|
20628
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20629
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20810
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Subheading, { className: "w-full" }),
|
|
20811
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Subheading, { className: "w-3/4" })
|
|
20630
20812
|
] }) }),
|
|
20631
20813
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-3 flex h-[28px] items-center gap-2", children: [
|
|
20632
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20633
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20814
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Chip, { className: "w-16" }),
|
|
20815
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Chip, { className: "w-12" })
|
|
20634
20816
|
] }),
|
|
20635
20817
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 flex min-h-[42px] items-center content-md:min-h-[45px] content-lg:min-h-[48px]", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
|
|
20636
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20637
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20818
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
20819
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-1/2" })
|
|
20638
20820
|
] }) }),
|
|
20639
|
-
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20821
|
+
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Button, { className: "h-8 w-24" }) }),
|
|
20640
20822
|
showMetadata && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-auto", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-4 border-t border-ods-border pt-4", children: [
|
|
20641
20823
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
|
|
20642
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20643
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20824
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Avatar, { size: "sm" }),
|
|
20825
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-16" })
|
|
20644
20826
|
] }),
|
|
20645
20827
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-3 text-ods-text-muted", children: [
|
|
20646
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20828
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-12" }),
|
|
20647
20829
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-1 w-1 rounded-full bg-ods-skeleton" }),
|
|
20648
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20830
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-16" })
|
|
20649
20831
|
] })
|
|
20650
20832
|
] }) })
|
|
20651
20833
|
] })
|
|
@@ -20653,35 +20835,35 @@ function BlogCardContent({ showActions, showMetadata }) {
|
|
|
20653
20835
|
}
|
|
20654
20836
|
function CategoryCardContent() {
|
|
20655
20837
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4 p-4 content-md:p-6", children: [
|
|
20656
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-2 content-md:gap-3", children: Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20838
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-2 content-md:gap-3", children: Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Icon, { size: "lg", className: "flex-shrink-0" }, index)) }),
|
|
20657
20839
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
20658
20840
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
20659
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20660
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20841
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
20842
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-1/2" })
|
|
20661
20843
|
] }),
|
|
20662
20844
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between gap-4 content-md:items-end content-md:gap-6", children: [
|
|
20663
20845
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
20664
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20665
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20846
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
20847
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
20666
20848
|
] }),
|
|
20667
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20849
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Button, { className: "h-10 w-10 flex-shrink-0 content-md:h-12 content-md:w-12" })
|
|
20668
20850
|
] })
|
|
20669
20851
|
] })
|
|
20670
20852
|
] });
|
|
20671
20853
|
}
|
|
20672
20854
|
function AlternativeCardContent({ showActions }) {
|
|
20673
20855
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-4 p-4", children: [
|
|
20674
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20856
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Avatar, { size: "md", className: "flex-shrink-0" }),
|
|
20675
20857
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
20676
20858
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between", children: [
|
|
20677
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20678
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20859
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Subheading, { className: "w-1/3" }),
|
|
20860
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-16" })
|
|
20679
20861
|
] }),
|
|
20680
20862
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
20681
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20682
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20863
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
20864
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-5/6" })
|
|
20683
20865
|
] }),
|
|
20684
|
-
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20866
|
+
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Button, { className: "h-8 w-20" }) })
|
|
20685
20867
|
] })
|
|
20686
20868
|
] });
|
|
20687
20869
|
}
|
|
@@ -20732,12 +20914,12 @@ function HeroSkeleton() {
|
|
|
20732
20914
|
background: "radial-gradient(circle at 50% 0%, #242323 0%, #1A1A1A 100%)"
|
|
20733
20915
|
},
|
|
20734
20916
|
children: [
|
|
20735
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20917
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Heading, { className: "mb-4 h-12 w-full max-w-4xl content-md:mb-6 content-md:h-20 content-lg:h-24" }),
|
|
20736
20918
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-8 w-full max-w-4xl space-y-3 px-2 content-md:mb-10", children: [
|
|
20737
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20738
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20919
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "h-5 content-md:h-7" }),
|
|
20920
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "mx-auto h-5 w-3/4 content-md:h-7" })
|
|
20739
20921
|
] }),
|
|
20740
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20922
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Button, { className: "h-12 w-full content-md:w-64" })
|
|
20741
20923
|
]
|
|
20742
20924
|
}
|
|
20743
20925
|
);
|
|
@@ -20748,14 +20930,14 @@ function SearchContainerSkeleton({
|
|
|
20748
20930
|
}) {
|
|
20749
20931
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-4", className || ""), children: [
|
|
20750
20932
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2 content-md:gap-4", children: [
|
|
20751
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20752
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20933
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Input, { className: "flex-1" }),
|
|
20934
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Button, { className: "w-32 content-md:w-40" })
|
|
20753
20935
|
] }),
|
|
20754
20936
|
showFilters && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap gap-2", children: [
|
|
20755
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20756
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20757
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20758
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20937
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Chip, {}),
|
|
20938
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Chip, { className: "w-24" }),
|
|
20939
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Chip, { className: "w-16" }),
|
|
20940
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Chip, { className: "w-20" })
|
|
20759
20941
|
] })
|
|
20760
20942
|
] });
|
|
20761
20943
|
}
|
|
@@ -20774,7 +20956,7 @@ function CategorySidebarSkeleton({ className }) {
|
|
|
20774
20956
|
{ type: "file", width: "w-36" }
|
|
20775
20957
|
];
|
|
20776
20958
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "w-full content-lg:w-[320px]", className), children: [
|
|
20777
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20959
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { className: "mb-4 h-[14px] w-24 rounded" }),
|
|
20778
20960
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-1.5", children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
20779
20961
|
"div",
|
|
20780
20962
|
{
|
|
@@ -20784,12 +20966,12 @@ function CategorySidebarSkeleton({ className }) {
|
|
|
20784
20966
|
),
|
|
20785
20967
|
children: [
|
|
20786
20968
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2.5", children: [
|
|
20787
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20788
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20969
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { className: "h-4 w-4 shrink-0 rounded" }),
|
|
20970
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { className: `h-[14px] ${item.width} rounded` })
|
|
20789
20971
|
] }),
|
|
20790
20972
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-[18px] items-center gap-2", children: [
|
|
20791
|
-
item.hasBadge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20792
|
-
item.type === "folder" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20973
|
+
item.hasBadge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { className: "h-[18px] w-14 rounded" }),
|
|
20974
|
+
item.type === "folder" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { className: "h-4 w-4 rounded" })
|
|
20793
20975
|
] })
|
|
20794
20976
|
]
|
|
20795
20977
|
},
|
|
@@ -20799,13 +20981,13 @@ function CategorySidebarSkeleton({ className }) {
|
|
|
20799
20981
|
}
|
|
20800
20982
|
function BreadcrumbSkeleton({ className }) {
|
|
20801
20983
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "mb-6 flex items-center space-x-1", className), children: [
|
|
20802
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20803
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20804
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20805
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20806
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20807
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20808
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20984
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-16" }),
|
|
20985
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
|
|
20986
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-24" }),
|
|
20987
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
|
|
20988
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-32" }),
|
|
20989
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
|
|
20990
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-24" })
|
|
20809
20991
|
] });
|
|
20810
20992
|
}
|
|
20811
20993
|
function ResultsHeaderSkeleton({ className }) {
|
|
@@ -20816,7 +20998,7 @@ function ResultsHeaderSkeleton({ className }) {
|
|
|
20816
20998
|
"mb-6 flex flex-col items-start justify-between gap-4 content-md:flex-row content-md:items-center",
|
|
20817
20999
|
className
|
|
20818
21000
|
),
|
|
20819
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21001
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-48" }) })
|
|
20820
21002
|
}
|
|
20821
21003
|
);
|
|
20822
21004
|
}
|
|
@@ -20850,35 +21032,35 @@ function ArticleLayoutSkeleton({ className }) {
|
|
|
20850
21032
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "article", { className: _chunk3ATAYP36cjs.cn.call(void 0, "mx-auto max-w-4xl", className), children: [
|
|
20851
21033
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "header", { className: "mb-8 space-y-4 content-md:mb-12 content-md:space-y-6", children: [
|
|
20852
21034
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2", children: [
|
|
20853
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20854
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21035
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Chip, {}),
|
|
21036
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Chip, { className: "w-16" })
|
|
20855
21037
|
] }),
|
|
20856
21038
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
|
|
20857
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20858
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21039
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Heading, { className: "w-full" }),
|
|
21040
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Heading, { className: "w-3/4" })
|
|
20859
21041
|
] }),
|
|
20860
21042
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 border-t border-ods-divider pt-4", children: [
|
|
20861
21043
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
20862
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20863
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21044
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Avatar, { size: "sm" }),
|
|
21045
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-24" })
|
|
20864
21046
|
] }),
|
|
20865
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20866
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21047
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-20" }),
|
|
21048
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-16" })
|
|
20867
21049
|
] })
|
|
20868
21050
|
] }),
|
|
20869
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 content-md:mb-12", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21051
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 content-md:mb-12", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.CardImage, { className: "h-64 w-full content-md:h-96" }) }),
|
|
20870
21052
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "prose prose-invert max-w-none space-y-6", children: [
|
|
20871
21053
|
Array.from({ length: 12 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
20872
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20873
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20874
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20875
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21054
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
21055
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
21056
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-5/6" }),
|
|
21057
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
20876
21058
|
] }, index)),
|
|
20877
21059
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "py-4", children: [
|
|
20878
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21060
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Subheading, { className: "mb-4 w-2/3" }),
|
|
20879
21061
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
20880
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20881
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21062
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
21063
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-4/5" })
|
|
20882
21064
|
] })
|
|
20883
21065
|
] })
|
|
20884
21066
|
] })
|
|
@@ -21104,11 +21286,11 @@ function StatsSectionSkeleton({ className, columns = 3 }) {
|
|
|
21104
21286
|
className
|
|
21105
21287
|
),
|
|
21106
21288
|
children: Array.from({ length: columns }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-ods-border bg-ods-card p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
21107
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21108
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21289
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Icon, { size: "lg" }),
|
|
21290
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
21109
21291
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21110
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21111
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21292
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
21293
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
21112
21294
|
] })
|
|
21113
21295
|
] }) }, i))
|
|
21114
21296
|
}
|
|
@@ -21263,7 +21445,7 @@ function useContentLoading(isLoading) {
|
|
|
21263
21445
|
|
|
21264
21446
|
function ParagraphSkeleton({ className, lines = 4 }) {
|
|
21265
21447
|
const lineWidths = ["w-full", "w-full", "w-5/6", "w-3/4", "w-4/5", "w-2/3"];
|
|
21266
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-2", className), children: Array.from({ length: lines }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21448
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-2", className), children: Array.from({ length: lines }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: lineWidths[index % lineWidths.length] }, index)) });
|
|
21267
21449
|
}
|
|
21268
21450
|
function ListSkeleton({
|
|
21269
21451
|
className,
|
|
@@ -21273,12 +21455,12 @@ function ListSkeleton({
|
|
|
21273
21455
|
}) {
|
|
21274
21456
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-3", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between", children: [
|
|
21275
21457
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
21276
|
-
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21277
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21458
|
+
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
21459
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-32 content-md:w-48" })
|
|
21278
21460
|
] }),
|
|
21279
21461
|
showActions && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
21280
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21281
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21462
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-8" }),
|
|
21463
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4" })
|
|
21282
21464
|
] })
|
|
21283
21465
|
] }, index)) });
|
|
21284
21466
|
}
|
|
@@ -21288,13 +21470,13 @@ function TableSkeleton({
|
|
|
21288
21470
|
columns = 4
|
|
21289
21471
|
}) {
|
|
21290
21472
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-4", className), children: [
|
|
21291
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid gap-4", style: { gridTemplateColumns: `repeat(${columns}, 1fr)` }, children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21473
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid gap-4", style: { gridTemplateColumns: `repeat(${columns}, 1fr)` }, children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Subheading, { className: "w-3/4" }, index)) }),
|
|
21292
21474
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3", children: Array.from({ length: rows }).map((_, rowIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21293
21475
|
"div",
|
|
21294
21476
|
{
|
|
21295
21477
|
className: "grid gap-4 border-b border-ods-divider py-2",
|
|
21296
21478
|
style: { gridTemplateColumns: `repeat(${columns}, 1fr)` },
|
|
21297
|
-
children: Array.from({ length: columns }).map((_cell, colIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21479
|
+
children: Array.from({ length: columns }).map((_cell, colIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-2/3" }, colIndex))
|
|
21298
21480
|
},
|
|
21299
21481
|
rowIndex
|
|
21300
21482
|
)) })
|
|
@@ -21303,13 +21485,13 @@ function TableSkeleton({
|
|
|
21303
21485
|
function FormSkeleton({ className, fields = 4 }) {
|
|
21304
21486
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-6", className), children: [
|
|
21305
21487
|
Array.from({ length: fields }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21306
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21307
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21308
|
-
index % 3 === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21488
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-24" }),
|
|
21489
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Input, {}),
|
|
21490
|
+
index % 3 === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-48" })
|
|
21309
21491
|
] }, index)),
|
|
21310
21492
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-4 pt-4", children: [
|
|
21311
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21312
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21493
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Button, {}),
|
|
21494
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Button, { className: "bg-ods-border" })
|
|
21313
21495
|
] })
|
|
21314
21496
|
] });
|
|
21315
21497
|
}
|
|
@@ -21324,7 +21506,7 @@ function NavigationSkeleton({
|
|
|
21324
21506
|
className: _chunk3ATAYP36cjs.cn.call(void 0, "flex gap-4 content-md:gap-6", !horizontal && "flex-col", className),
|
|
21325
21507
|
role: "status",
|
|
21326
21508
|
"aria-label": "Loading navigation",
|
|
21327
|
-
children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21509
|
+
children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-16 content-md:w-20" }, index))
|
|
21328
21510
|
}
|
|
21329
21511
|
);
|
|
21330
21512
|
}
|
|
@@ -21335,30 +21517,30 @@ function ProfileSkeleton({
|
|
|
21335
21517
|
}) {
|
|
21336
21518
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-4", className), children: [
|
|
21337
21519
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-4", children: [
|
|
21338
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21520
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Avatar, { size: "lg" }),
|
|
21339
21521
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
21340
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21341
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21342
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21522
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Subheading, { className: "w-1/2" }),
|
|
21523
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-1/3" }),
|
|
21524
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
21343
21525
|
] })
|
|
21344
21526
|
] }),
|
|
21345
21527
|
showBio && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21346
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21347
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21348
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21528
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
21529
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-4/5" }),
|
|
21530
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
21349
21531
|
] }),
|
|
21350
21532
|
showStats && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-6", children: [
|
|
21351
21533
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
|
|
21352
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21353
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21534
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Subheading, { className: "mx-auto w-8" }),
|
|
21535
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "mx-auto w-12" })
|
|
21354
21536
|
] }),
|
|
21355
21537
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
|
|
21356
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21357
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21538
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Subheading, { className: "mx-auto w-8" }),
|
|
21539
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "mx-auto w-16" })
|
|
21358
21540
|
] }),
|
|
21359
21541
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
|
|
21360
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21361
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21542
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Subheading, { className: "mx-auto w-8" }),
|
|
21543
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "mx-auto w-14" })
|
|
21362
21544
|
] })
|
|
21363
21545
|
] })
|
|
21364
21546
|
] });
|
|
@@ -21370,32 +21552,32 @@ function CommentSkeleton({
|
|
|
21370
21552
|
}) {
|
|
21371
21553
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-3", className), children: [
|
|
21372
21554
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
21373
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21555
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Avatar, { size: "sm" }),
|
|
21374
21556
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 items-center gap-4", children: [
|
|
21375
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21376
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21377
|
-
showRating && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-1", children: Array.from({ length: 5 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21557
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-24" }),
|
|
21558
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-16" }),
|
|
21559
|
+
showRating && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-1", children: Array.from({ length: 5 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Icon, { size: "sm" }, i)) })
|
|
21378
21560
|
] })
|
|
21379
21561
|
] }),
|
|
21380
21562
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ml-11 space-y-2", children: [
|
|
21381
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21382
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21383
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21563
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
21564
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-3/4" }),
|
|
21565
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-1/2" })
|
|
21384
21566
|
] }),
|
|
21385
21567
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ml-11 flex gap-4", children: [
|
|
21386
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21387
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21388
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21568
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-12" }),
|
|
21569
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-16" }),
|
|
21570
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-8" })
|
|
21389
21571
|
] }),
|
|
21390
21572
|
showReplies && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "ml-11 space-y-4 border-l border-ods-divider pl-4", children: Array.from({ length: 2 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21391
21573
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
21392
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21393
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21394
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21574
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Avatar, { size: "sm" }),
|
|
21575
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-20" }),
|
|
21576
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-12" })
|
|
21395
21577
|
] }),
|
|
21396
21578
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ml-11", children: [
|
|
21397
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21398
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21579
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
21580
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
21399
21581
|
] })
|
|
21400
21582
|
] }, index)) })
|
|
21401
21583
|
] });
|
|
@@ -21408,31 +21590,31 @@ function FeatureListSkeleton({
|
|
|
21408
21590
|
}) {
|
|
21409
21591
|
if (grouped) {
|
|
21410
21592
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-6", className), children: Array.from({ length: 3 }).map((_, groupIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
|
|
21411
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21593
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Subheading, { className: "w-1/3" }),
|
|
21412
21594
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-2", children: Array.from({ length: features / 3 }).map((_feature, featureIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
21413
|
-
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21414
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21595
|
+
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
21596
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
21415
21597
|
] }, featureIndex)) })
|
|
21416
21598
|
] }, groupIndex)) });
|
|
21417
21599
|
}
|
|
21418
21600
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-3", className), children: Array.from({ length: features }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
21419
|
-
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21420
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21601
|
+
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
21602
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
21421
21603
|
] }, index)) });
|
|
21422
21604
|
}
|
|
21423
21605
|
function TimelineSkeleton({ className, items = 5 }) {
|
|
21424
21606
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-6", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-4", children: [
|
|
21425
21607
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center", children: [
|
|
21426
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21608
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
21427
21609
|
index < items - 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2 h-12 w-px bg-ods-border" })
|
|
21428
21610
|
] }),
|
|
21429
21611
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
21430
21612
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
21431
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21432
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21613
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-1/3" }),
|
|
21614
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-16" })
|
|
21433
21615
|
] }),
|
|
21434
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21435
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21616
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
21617
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
21436
21618
|
] })
|
|
21437
21619
|
] }, index)) });
|
|
21438
21620
|
}
|
|
@@ -21448,16 +21630,16 @@ function PricingSkeleton({ className, plans = 3 }) {
|
|
|
21448
21630
|
className
|
|
21449
21631
|
),
|
|
21450
21632
|
children: Array.from({ length: plans }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-ods-border bg-ods-card p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
21451
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21633
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Subheading, { className: "w-1/2" }),
|
|
21452
21634
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
21453
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21454
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21635
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Heading, { className: "w-1/3" }),
|
|
21636
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-1/4" })
|
|
21455
21637
|
] }),
|
|
21456
21638
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3 py-4", children: Array.from({ length: 5 }).map((_feature, featureIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
21457
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21458
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21639
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
21640
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
21459
21641
|
] }, featureIndex)) }),
|
|
21460
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21642
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Button, { className: "w-full" })
|
|
21461
21643
|
] }) }, index))
|
|
21462
21644
|
}
|
|
21463
21645
|
);
|
|
@@ -21493,12 +21675,12 @@ function MspProfileFormSkeleton({ className, fields = 4 }) {
|
|
|
21493
21675
|
"aria-label": "Loading MSP profile form",
|
|
21494
21676
|
children: [
|
|
21495
21677
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col space-y-2", children: [
|
|
21496
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21497
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[180px] flex-1 content-md:min-h-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21678
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-28" }),
|
|
21679
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[180px] flex-1 content-md:min-h-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { className: "h-full w-full rounded-lg", "aria-label": "Loading company logo" }) })
|
|
21498
21680
|
] }),
|
|
21499
21681
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-md:grid-cols-2", children: Array.from({ length: fields }).map((_, idx) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col space-y-2", children: [
|
|
21500
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21501
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21682
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-40" }),
|
|
21683
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.InteractiveSkeleton.Input, {})
|
|
21502
21684
|
] }, idx)) })
|
|
21503
21685
|
]
|
|
21504
21686
|
}
|
|
@@ -21518,13 +21700,13 @@ function CategoryCardSkeleton({ className }) {
|
|
|
21518
21700
|
role: "status",
|
|
21519
21701
|
"aria-label": "Loading category card",
|
|
21520
21702
|
children: [
|
|
21521
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 flex items-center justify-center gap-6", children: Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21703
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 flex items-center justify-center gap-6", children: Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { variant: "circular", className: "h-10 w-10 flex-shrink-0", "aria-label": "Loading icon" }, i)) }),
|
|
21522
21704
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col space-y-3", children: [
|
|
21523
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21524
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21525
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21705
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Heading, { className: "w-3/4" }),
|
|
21706
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-1/2" }),
|
|
21707
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-full" })
|
|
21526
21708
|
] }),
|
|
21527
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21709
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { className: "h-12 w-12 rounded-[6px]", "aria-label": "Loading button" }) })
|
|
21528
21710
|
]
|
|
21529
21711
|
}
|
|
21530
21712
|
);
|
|
@@ -21541,12 +21723,12 @@ function CategoryVendorSelectorSkeleton({ subcategories = 3, className }) {
|
|
|
21541
21723
|
"aria-label": "Loading category section",
|
|
21542
21724
|
children: [
|
|
21543
21725
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-6 max-w-xl space-y-2", children: [
|
|
21544
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21545
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21726
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Heading, { className: "w-1/2" }),
|
|
21727
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
21546
21728
|
] }),
|
|
21547
21729
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-6", children: Array.from({ length: subcategories }).map((_, idx) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
21548
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21549
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-2 gap-4 content-md:grid-cols-3", children: Array.from({ length: 2 }).map((__, j) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21730
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Subheading, { className: "w-1/3" }),
|
|
21731
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-2 gap-4 content-md:grid-cols-3", children: Array.from({ length: 2 }).map((__, j) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { className: "h-20 rounded-lg" }, j)) })
|
|
21550
21732
|
] }, idx)) })
|
|
21551
21733
|
]
|
|
21552
21734
|
}
|
|
@@ -21557,14 +21739,14 @@ function CategoryVendorSelectorSkeleton({ subcategories = 3, className }) {
|
|
|
21557
21739
|
|
|
21558
21740
|
function WizardLayoutSkeleton({ steps = 6, className }) {
|
|
21559
21741
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "space-y-6", className), role: "status", "aria-label": "Loading wizard layout", children: [
|
|
21560
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: Array.from({ length: steps }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21742
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: Array.from({ length: steps }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { className: "h-6 w-24 rounded" }, i)) }),
|
|
21561
21743
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "max-w-2xl space-y-2", children: [
|
|
21562
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21563
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21744
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Heading, { className: "w-2/3" }),
|
|
21745
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-1/2" })
|
|
21564
21746
|
] }),
|
|
21565
21747
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mt-10 flex justify-between", children: [
|
|
21566
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21567
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21748
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { className: "h-10 w-24 rounded" }),
|
|
21749
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { className: "h-10 w-32 rounded" })
|
|
21568
21750
|
] })
|
|
21569
21751
|
] });
|
|
21570
21752
|
}
|
|
@@ -21956,28 +22138,28 @@ function OrganizationCardSkeleton({
|
|
|
21956
22138
|
}
|
|
21957
22139
|
),
|
|
21958
22140
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center space-y-1 py-2", children: [
|
|
21959
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21960
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22141
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
22142
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-1/2" })
|
|
21961
22143
|
] })
|
|
21962
22144
|
] }),
|
|
21963
22145
|
showDescription && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-full items-center overflow-hidden", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
|
|
21964
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21965
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22146
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-full" }),
|
|
22147
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
21966
22148
|
] }) }),
|
|
21967
22149
|
showFooter && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-2", children: [
|
|
21968
22150
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-shrink items-center gap-3 content-md:gap-4", children: [
|
|
21969
22151
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
21970
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21971
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22152
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
22153
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-8" })
|
|
21972
22154
|
] }),
|
|
21973
22155
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
21974
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21975
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22156
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
22157
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-10" })
|
|
21976
22158
|
] })
|
|
21977
22159
|
] }),
|
|
21978
22160
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5 rounded border border-ods-border bg-ods-bg px-2.5 py-1.5", children: [
|
|
21979
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21980
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22161
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.MediaSkeleton.Icon, { size: "sm", className: "h-2.5 w-2.5" }) }),
|
|
22162
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.TextSkeleton.Caption, { className: "w-16" })
|
|
21981
22163
|
] }) })
|
|
21982
22164
|
] })
|
|
21983
22165
|
] })
|
|
@@ -22054,16 +22236,16 @@ function DeviceCardSkeletonGrid({ count = 12, className }) {
|
|
|
22054
22236
|
|
|
22055
22237
|
function PushButtonSelectorSkeleton({ count = 3, hasTitle }) {
|
|
22056
22238
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", role: "status", "aria-label": "Loading options", children: [
|
|
22057
|
-
hasTitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22239
|
+
hasTitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { className: "h-5 w-20", "aria-label": "Loading title" }),
|
|
22058
22240
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3", children: Array.from({ length: count }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-ods-border bg-ods-bg p-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-4", children: [
|
|
22059
22241
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
22060
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22242
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { className: "h-8 w-8", "aria-label": "Loading icon" }),
|
|
22061
22243
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
|
|
22062
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22063
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22244
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { variant: "text", className: "mb-2 h-4 w-24", "aria-label": "Loading name" }),
|
|
22245
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { variant: "text", className: "h-4 w-36", "aria-label": "Loading description" })
|
|
22064
22246
|
] })
|
|
22065
22247
|
] }),
|
|
22066
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22248
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.UnifiedSkeleton, { className: "h-6 w-6", "aria-label": "Loading selection state" })
|
|
22067
22249
|
] }) }, i)) })
|
|
22068
22250
|
] });
|
|
22069
22251
|
}
|
|
@@ -22097,9 +22279,9 @@ function PushButtonSelector({
|
|
|
22097
22279
|
}) {
|
|
22098
22280
|
const scrollRef = _react.useRef.call(void 0, null);
|
|
22099
22281
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
22100
|
-
const lazyHasMore = _nullishCoalesce(_optionalChain([lazyLoad, 'optionalAccess',
|
|
22101
|
-
const lazyFetching = _nullishCoalesce(_optionalChain([lazyLoad, 'optionalAccess',
|
|
22102
|
-
const onLoadMore = _optionalChain([lazyLoad, 'optionalAccess',
|
|
22282
|
+
const lazyHasMore = _nullishCoalesce(_optionalChain([lazyLoad, 'optionalAccess', _439 => _439.hasMore]), () => ( false));
|
|
22283
|
+
const lazyFetching = _nullishCoalesce(_optionalChain([lazyLoad, 'optionalAccess', _440 => _440.isFetchingMore]), () => ( false));
|
|
22284
|
+
const onLoadMore = _optionalChain([lazyLoad, 'optionalAccess', _441 => _441.onLoadMore]);
|
|
22103
22285
|
const optionCount = options.length;
|
|
22104
22286
|
_react.useEffect.call(void 0, () => {
|
|
22105
22287
|
const sentinel = sentinelRef.current;
|
|
@@ -22315,14 +22497,14 @@ var MODEL_TOKEN_RATES_COPY = {
|
|
|
22315
22497
|
empty: "No token rates are in effect right now."
|
|
22316
22498
|
};
|
|
22317
22499
|
function providerMark(providerType, stated, className) {
|
|
22318
|
-
const Mark = _chunkKTPR66EEcjs.findIcon.call(void 0,
|
|
22500
|
+
const Mark = _chunkKTPR66EEcjs.findIcon.call(void 0, _chunkGOTEXQZNcjs.aiProvider.call(void 0, providerType, { icon: stated }).icon);
|
|
22319
22501
|
return Mark ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Mark, { className }) : void 0;
|
|
22320
22502
|
}
|
|
22321
22503
|
var PAD_X = "px-[var(--spacing-system-s)]";
|
|
22322
22504
|
var ROW = "flex items-center gap-[var(--spacing-system-s)]";
|
|
22323
22505
|
var NUMBER_CELL = "w-16 shrink-0 whitespace-nowrap text-right tabular-nums";
|
|
22324
22506
|
function useProviderGroup(rates) {
|
|
22325
|
-
const groups =
|
|
22507
|
+
const groups = _chunkGOTEXQZNcjs.groupTokenRatesByProvider.call(void 0, rates);
|
|
22326
22508
|
const [picked, setPicked] = _react.useState.call(void 0, null);
|
|
22327
22509
|
return { groups, group: _nullishCoalesce(groups.find((candidate) => candidate.providerType === picked), () => ( groups[0])), setPicked };
|
|
22328
22510
|
}
|
|
@@ -22333,7 +22515,7 @@ function ProviderTabs({
|
|
|
22333
22515
|
className
|
|
22334
22516
|
}) {
|
|
22335
22517
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22336
|
-
|
|
22518
|
+
_chunkDJO7YMT3cjs.TabSelector,
|
|
22337
22519
|
{
|
|
22338
22520
|
variant: "secondary",
|
|
22339
22521
|
scrollable: true,
|
|
@@ -22341,8 +22523,8 @@ function ProviderTabs({
|
|
|
22341
22523
|
onValueChange,
|
|
22342
22524
|
items: groups.map((candidate) => ({
|
|
22343
22525
|
id: candidate.providerType,
|
|
22344
|
-
label:
|
|
22345
|
-
icon: providerMark(candidate.providerType, _optionalChain([candidate, 'access',
|
|
22526
|
+
label: _chunkGOTEXQZNcjs.tokenRateProviderLabel.call(void 0, candidate.providerType, _optionalChain([candidate, 'access', _442 => _442.rates, 'access', _443 => _443[0], 'optionalAccess', _444 => _444.providerLabel])),
|
|
22527
|
+
icon: providerMark(candidate.providerType, _optionalChain([candidate, 'access', _445 => _445.rates, 'access', _446 => _446[0], 'optionalAccess', _447 => _447.providerIcon]), "size-full")
|
|
22346
22528
|
})),
|
|
22347
22529
|
className
|
|
22348
22530
|
}
|
|
@@ -22442,8 +22624,8 @@ function ModelTokenRatesTable({ rates }) {
|
|
|
22442
22624
|
className: _chunk3ATAYP36cjs.cn.call(void 0, ROW, PAD_X, "py-[var(--spacing-system-xxs)] text-ods-text-primary text-h6"),
|
|
22443
22625
|
children: [
|
|
22444
22626
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "rowheader", className: "min-w-0 flex-1 truncate", children: rate.displayName || rate.modelName }),
|
|
22445
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children:
|
|
22446
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children:
|
|
22627
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkGOTEXQZNcjs.formatTokenRate.call(void 0, rate.inputTokenRate) }),
|
|
22628
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkGOTEXQZNcjs.formatTokenRate.call(void 0, rate.outputTokenRate) })
|
|
22447
22629
|
]
|
|
22448
22630
|
},
|
|
22449
22631
|
rate.modelName
|
|
@@ -22515,7 +22697,7 @@ function modelOption(rate) {
|
|
|
22515
22697
|
return {
|
|
22516
22698
|
label: rate.displayName || rate.modelName,
|
|
22517
22699
|
value: rate.modelName,
|
|
22518
|
-
description:
|
|
22700
|
+
description: _chunkGOTEXQZNcjs.tokenRateProviderLabel.call(void 0, rate.providerType, rate.providerLabel),
|
|
22519
22701
|
icon: providerMark(rate.providerType, rate.providerIcon, "size-full text-ods-text-secondary")
|
|
22520
22702
|
};
|
|
22521
22703
|
}
|
|
@@ -22567,10 +22749,10 @@ function ModelTokenExchange({
|
|
|
22567
22749
|
const failed = status === "error" || status === "ready" && !rate;
|
|
22568
22750
|
const sliderId = _react.useId.call(void 0, );
|
|
22569
22751
|
const [chosen, setChosen] = _react.useState.call(void 0, null);
|
|
22570
|
-
const balance = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(chosen, () => ( defaultAmount)), () => ( _optionalChain([tokenPrice, 'optionalAccess',
|
|
22752
|
+
const balance = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(chosen, () => ( defaultAmount)), () => ( _optionalChain([tokenPrice, 'optionalAccess', _448 => _448.tokens]))), () => ( MODEL_TOKEN_EXCHANGE_BALANCE));
|
|
22571
22753
|
const max = Math.max(amountRange.max, balance, ...presets.map((preset) => preset.tokens));
|
|
22572
|
-
const tokens =
|
|
22573
|
-
const cost =
|
|
22754
|
+
const tokens = _chunkGOTEXQZNcjs.formatTokenAmount.call(void 0, balance);
|
|
22755
|
+
const cost = _chunkGOTEXQZNcjs.tokenCost.call(void 0, balance, tokenPrice);
|
|
22574
22756
|
const balancePrice = cost === null ? null : _chunkABLUMGCIcjs.formatPrice.call(void 0, cost);
|
|
22575
22757
|
const model = rate ? rate.displayName || rate.modelName : "";
|
|
22576
22758
|
const options = models.map(modelOption);
|
|
@@ -22612,7 +22794,7 @@ function ModelTokenExchange({
|
|
|
22612
22794
|
variant: preset.tokens === balance ? "accent" : "outline",
|
|
22613
22795
|
size: "small",
|
|
22614
22796
|
onClick: () => setChosen(preset.tokens),
|
|
22615
|
-
children: copy.buy.preset(
|
|
22797
|
+
children: copy.buy.preset(_chunkGOTEXQZNcjs.formatTokenAmount.call(void 0, preset.tokens), preset.label)
|
|
22616
22798
|
},
|
|
22617
22799
|
preset.label
|
|
22618
22800
|
)) })
|
|
@@ -22628,16 +22810,16 @@ function ModelTokenExchange({
|
|
|
22628
22810
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5M5C6UV4cjs.Skeleton, { className: "size-8 rounded" }),
|
|
22629
22811
|
disabled: true
|
|
22630
22812
|
})) : providers.map((providerType) => {
|
|
22631
|
-
const stated = _nullishCoalesce(models.find((option) => option.providerType === providerType), () => ( (_optionalChain([rate, 'optionalAccess',
|
|
22813
|
+
const stated = _nullishCoalesce(models.find((option) => option.providerType === providerType), () => ( (_optionalChain([rate, 'optionalAccess', _449 => _449.providerType]) === providerType ? rate : null)));
|
|
22632
22814
|
return {
|
|
22633
22815
|
id: providerType,
|
|
22634
|
-
name:
|
|
22635
|
-
icon: providerMark(providerType, _optionalChain([stated, 'optionalAccess',
|
|
22816
|
+
name: _chunkGOTEXQZNcjs.tokenRateProviderLabel.call(void 0, providerType, _optionalChain([stated, 'optionalAccess', _450 => _450.providerLabel])),
|
|
22817
|
+
icon: providerMark(providerType, _optionalChain([stated, 'optionalAccess', _451 => _451.providerIcon]), "size-8 text-ods-text-secondary")
|
|
22636
22818
|
};
|
|
22637
22819
|
}),
|
|
22638
22820
|
selectedIds: provider ? [provider] : [],
|
|
22639
22821
|
onSelectionChange: (ids) => {
|
|
22640
|
-
if (ids[0]) _optionalChain([onProviderChange, 'optionalCall',
|
|
22822
|
+
if (ids[0]) _optionalChain([onProviderChange, 'optionalCall', _452 => _452(ids[0])]);
|
|
22641
22823
|
},
|
|
22642
22824
|
multiSelect: false
|
|
22643
22825
|
}
|
|
@@ -22646,13 +22828,13 @@ function ModelTokenExchange({
|
|
|
22646
22828
|
_chunkU2O5YQRPcjs.Autocomplete,
|
|
22647
22829
|
{
|
|
22648
22830
|
label: copy.use.model,
|
|
22649
|
-
value: _nullishCoalesce(_optionalChain([rate, 'optionalAccess',
|
|
22831
|
+
value: _nullishCoalesce(_optionalChain([rate, 'optionalAccess', _453 => _453.modelName]), () => ( null)),
|
|
22650
22832
|
onChange: (modelName) => {
|
|
22651
|
-
if (modelName) _optionalChain([onPick, 'optionalCall',
|
|
22833
|
+
if (modelName) _optionalChain([onPick, 'optionalCall', _454 => _454(modelName)]);
|
|
22652
22834
|
},
|
|
22653
22835
|
options,
|
|
22654
22836
|
inputValue: query,
|
|
22655
|
-
onInputChange: (value) => _optionalChain([onQueryChange, 'optionalCall',
|
|
22837
|
+
onInputChange: (value) => _optionalChain([onQueryChange, 'optionalCall', _455 => _455(value)]),
|
|
22656
22838
|
disableClientFilter: true,
|
|
22657
22839
|
loading: searching,
|
|
22658
22840
|
disabled: providers.length === 0,
|
|
@@ -22669,7 +22851,7 @@ function ModelTokenExchange({
|
|
|
22669
22851
|
{
|
|
22670
22852
|
size: "plain",
|
|
22671
22853
|
loading,
|
|
22672
|
-
figure:
|
|
22854
|
+
figure: _chunkGOTEXQZNcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _456 => _456.inputTokenRate])),
|
|
22673
22855
|
words: copy.charge.input
|
|
22674
22856
|
}
|
|
22675
22857
|
),
|
|
@@ -22678,7 +22860,7 @@ function ModelTokenExchange({
|
|
|
22678
22860
|
{
|
|
22679
22861
|
size: "plain",
|
|
22680
22862
|
loading,
|
|
22681
|
-
figure:
|
|
22863
|
+
figure: _chunkGOTEXQZNcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _457 => _457.outputTokenRate])),
|
|
22682
22864
|
words: copy.charge.output
|
|
22683
22865
|
}
|
|
22684
22866
|
)
|
|
@@ -22690,9 +22872,9 @@ function ModelTokenExchange({
|
|
|
22690
22872
|
className: "mt-auto flex flex-col rounded-md border border-ods-accent bg-ods-bg p-[var(--spacing-system-mf)]",
|
|
22691
22873
|
children: [
|
|
22692
22874
|
/* @__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, Bar, { className: "w-full max-w-xs" }) : copy.charge.so(_nullishCoalesce(balancePrice, () => ( copy.buy.tokens(tokens))), model) }),
|
|
22693
|
-
/* @__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, Bar, { className: "w-40" }) :
|
|
22875
|
+
/* @__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, Bar, { className: "w-40" }) : _chunkGOTEXQZNcjs.formatTokenAmount.call(void 0, _chunkGOTEXQZNcjs.tokensForBalance.call(void 0, balance, rate.inputTokenRate)) }),
|
|
22694
22876
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-primary text-h3", children: copy.charge.read }),
|
|
22695
|
-
/* @__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, Bar, { className: "w-48" }) : copy.charge.orWritten(
|
|
22877
|
+
/* @__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, Bar, { className: "w-48" }) : copy.charge.orWritten(_chunkGOTEXQZNcjs.formatTokenAmount.call(void 0, _chunkGOTEXQZNcjs.tokensForBalance.call(void 0, balance, rate.outputTokenRate))) })
|
|
22696
22878
|
]
|
|
22697
22879
|
}
|
|
22698
22880
|
)
|
|
@@ -23190,14 +23372,14 @@ var ConfidenceBadge = ({
|
|
|
23190
23372
|
size = "sm",
|
|
23191
23373
|
className
|
|
23192
23374
|
}) => {
|
|
23193
|
-
const level =
|
|
23375
|
+
const level = _chunkGOTEXQZNcjs.getConfidenceLevel.call(void 0, confidence);
|
|
23194
23376
|
if (level === "none") {
|
|
23195
23377
|
return null;
|
|
23196
23378
|
}
|
|
23197
|
-
const label =
|
|
23198
|
-
const borderClass =
|
|
23199
|
-
const textClass =
|
|
23200
|
-
const bgClass =
|
|
23379
|
+
const label = _chunkGOTEXQZNcjs.getConfidenceLabel.call(void 0, confidence);
|
|
23380
|
+
const borderClass = _chunkGOTEXQZNcjs.getConfidenceBorderClass.call(void 0, confidence);
|
|
23381
|
+
const textClass = _chunkGOTEXQZNcjs.getConfidenceTextClass.call(void 0, confidence);
|
|
23382
|
+
const bgClass = _chunkGOTEXQZNcjs.getConfidenceBgClass.call(void 0, confidence);
|
|
23201
23383
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23202
23384
|
"span",
|
|
23203
23385
|
{
|
|
@@ -23248,9 +23430,9 @@ function SEOEditorPreview({
|
|
|
23248
23430
|
const [isUploading, setIsUploading] = _react.useState.call(void 0, false);
|
|
23249
23431
|
const [fileInputRef, setFileInputRef] = _react.useState.call(void 0, null);
|
|
23250
23432
|
const seoTitleLength = (seoTitle || "").length;
|
|
23251
|
-
const seoTitleTooLong = seoTitleLength >
|
|
23433
|
+
const seoTitleTooLong = seoTitleLength > _chunkGOTEXQZNcjs.SEO_TITLE_MAX_LENGTH;
|
|
23252
23434
|
const seoDescriptionLength = (seoDescription || "").length;
|
|
23253
|
-
const seoDescriptionTooLong = seoDescriptionLength >
|
|
23435
|
+
const seoDescriptionTooLong = seoDescriptionLength > _chunkGOTEXQZNcjs.SEO_DESCRIPTION_MAX_LENGTH;
|
|
23254
23436
|
const displayTitle = seoTitle.trim() || title || "Untitled";
|
|
23255
23437
|
const displayDescription = seoDescription.trim() || summary || "No description";
|
|
23256
23438
|
const hasOgImage = ogImageUrl.trim();
|
|
@@ -23258,7 +23440,7 @@ function SEOEditorPreview({
|
|
|
23258
23440
|
const displayImage = hasOgImage || hasFeaturedImage;
|
|
23259
23441
|
const handleImageUpload = async (event) => {
|
|
23260
23442
|
if (!onOgImageUpload) return;
|
|
23261
|
-
const file = _optionalChain([event, 'access',
|
|
23443
|
+
const file = _optionalChain([event, 'access', _458 => _458.target, 'access', _459 => _459.files, 'optionalAccess', _460 => _460[0]]);
|
|
23262
23444
|
if (!file) return;
|
|
23263
23445
|
setIsUploading(true);
|
|
23264
23446
|
try {
|
|
@@ -23275,10 +23457,10 @@ function SEOEditorPreview({
|
|
|
23275
23457
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
|
|
23276
23458
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23277
23459
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23278
|
-
|
|
23460
|
+
_chunkGOTEXQZNcjs.Field,
|
|
23279
23461
|
{
|
|
23280
23462
|
label: "SEO Title",
|
|
23281
|
-
error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${
|
|
23463
|
+
error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${_chunkGOTEXQZNcjs.SEO_TITLE_MAX_LENGTH})` : null,
|
|
23282
23464
|
labelExtras: aiConfidenceSeoTitle !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
23283
23465
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
|
|
23284
23466
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ConfidenceBadge, { confidence: aiConfidenceSeoTitle, showLabel: true, showPercentage: true, size: "sm" })
|
|
@@ -23293,7 +23475,7 @@ function SEOEditorPreview({
|
|
|
23293
23475
|
children: [
|
|
23294
23476
|
seoTitleLength,
|
|
23295
23477
|
"/",
|
|
23296
|
-
|
|
23478
|
+
_chunkGOTEXQZNcjs.SEO_TITLE_MAX_LENGTH
|
|
23297
23479
|
]
|
|
23298
23480
|
}
|
|
23299
23481
|
),
|
|
@@ -23304,7 +23486,7 @@ function SEOEditorPreview({
|
|
|
23304
23486
|
value: seoTitle || "",
|
|
23305
23487
|
onChange: (e) => onSeoTitleChange(e.target.value),
|
|
23306
23488
|
disabled,
|
|
23307
|
-
maxLength:
|
|
23489
|
+
maxLength: _chunkGOTEXQZNcjs.SEO_TITLE_MAX_LENGTH,
|
|
23308
23490
|
invalid: seoTitleTooLong,
|
|
23309
23491
|
placeholder: "Enter SEO meta title...",
|
|
23310
23492
|
className: "border-ods-border bg-ods-bg text-ods-text-primary"
|
|
@@ -23315,7 +23497,7 @@ function SEOEditorPreview({
|
|
|
23315
23497
|
!seoTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-accent text-h6", children: "Auto-populated from title" })
|
|
23316
23498
|
] }),
|
|
23317
23499
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23318
|
-
|
|
23500
|
+
_chunkGOTEXQZNcjs.Field,
|
|
23319
23501
|
{
|
|
23320
23502
|
label: "SEO Keywords",
|
|
23321
23503
|
labelExtras: aiConfidenceSeoKeywords !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -23347,10 +23529,10 @@ function SEOEditorPreview({
|
|
|
23347
23529
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
|
|
23348
23530
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23349
23531
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23350
|
-
|
|
23532
|
+
_chunkGOTEXQZNcjs.Field,
|
|
23351
23533
|
{
|
|
23352
23534
|
label: "SEO Description",
|
|
23353
|
-
error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${
|
|
23535
|
+
error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${_chunkGOTEXQZNcjs.SEO_DESCRIPTION_MAX_LENGTH})` : null,
|
|
23354
23536
|
labelExtras: aiConfidenceSeoDescription !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
23355
23537
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
|
|
23356
23538
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -23373,7 +23555,7 @@ function SEOEditorPreview({
|
|
|
23373
23555
|
children: [
|
|
23374
23556
|
seoDescriptionLength,
|
|
23375
23557
|
"/",
|
|
23376
|
-
|
|
23558
|
+
_chunkGOTEXQZNcjs.SEO_DESCRIPTION_MAX_LENGTH
|
|
23377
23559
|
]
|
|
23378
23560
|
}
|
|
23379
23561
|
),
|
|
@@ -23384,7 +23566,7 @@ function SEOEditorPreview({
|
|
|
23384
23566
|
value: seoDescription || "",
|
|
23385
23567
|
onChange: (e) => onSeoDescriptionChange(e.target.value),
|
|
23386
23568
|
disabled,
|
|
23387
|
-
maxLength:
|
|
23569
|
+
maxLength: _chunkGOTEXQZNcjs.SEO_DESCRIPTION_MAX_LENGTH,
|
|
23388
23570
|
invalid: seoDescriptionTooLong,
|
|
23389
23571
|
placeholder: "Enter SEO meta description...",
|
|
23390
23572
|
className: _chunk3ATAYP36cjs.cn.call(void 0, "resize-none border-ods-border bg-ods-bg text-ods-text-primary", SEO_MEDIA_BOX_HEIGHT)
|
|
@@ -23415,7 +23597,7 @@ function SEOEditorPreview({
|
|
|
23415
23597
|
type: "button",
|
|
23416
23598
|
variant: "outline",
|
|
23417
23599
|
size: "icon",
|
|
23418
|
-
onClick: () => _optionalChain([fileInputRef, 'optionalAccess',
|
|
23600
|
+
onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _461 => _461.click, 'call', _462 => _462()]),
|
|
23419
23601
|
disabled: disabled || isUploading,
|
|
23420
23602
|
className: "rounded-full bg-white text-black opacity-0 hover:bg-gray-100 group-hover:opacity-100",
|
|
23421
23603
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
|
|
@@ -23441,7 +23623,7 @@ function SEOEditorPreview({
|
|
|
23441
23623
|
SEO_MEDIA_BOX_HEIGHT,
|
|
23442
23624
|
"flex cursor-pointer flex-col items-center justify-center rounded-lg border-2 border-dashed border-ods-border bg-ods-bg-hover transition-colors hover:border-ods-accent"
|
|
23443
23625
|
),
|
|
23444
|
-
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess',
|
|
23626
|
+
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _463 => _463.click, 'call', _464 => _464()]),
|
|
23445
23627
|
children: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
23446
23628
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "mb-2 h-8 w-8 text-ods-text-secondary" }),
|
|
23447
23629
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: onOgImageUpload ? "Click to upload OG image" : "No image" })
|
|
@@ -23537,7 +23719,7 @@ function socialIcon(platform) {
|
|
|
23537
23719
|
return _nullishCoalesce(_chunkKTPR66EEcjs.iconOf.call(void 0, SOCIAL_ICONS[platform]), () => ( void 0));
|
|
23538
23720
|
}
|
|
23539
23721
|
function renderSocialIcon(platform) {
|
|
23540
|
-
const key = _nullishCoalesce(
|
|
23722
|
+
const key = _nullishCoalesce(_chunkGOTEXQZNcjs.normalizeSocialPlatform.call(void 0, platform), () => ( "website"));
|
|
23541
23723
|
const icon = _nullishCoalesce(socialIcon(key), () => ( socialIcon("website")));
|
|
23542
23724
|
return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5" }) : null;
|
|
23543
23725
|
}
|
|
@@ -23607,7 +23789,7 @@ function SocialLinksManager({
|
|
|
23607
23789
|
className = ""
|
|
23608
23790
|
}) {
|
|
23609
23791
|
const addLink = () => {
|
|
23610
|
-
const firstPlatform = _optionalChain([platforms, 'access',
|
|
23792
|
+
const firstPlatform = _optionalChain([platforms, 'access', _465 => _465[0], 'optionalAccess', _466 => _466.name]) || "website";
|
|
23611
23793
|
onChange([...links, { platform: firstPlatform, url: "" }]);
|
|
23612
23794
|
};
|
|
23613
23795
|
const removeLink = (index) => {
|
|
@@ -23619,8 +23801,8 @@ function SocialLinksManager({
|
|
|
23619
23801
|
onChange(updated);
|
|
23620
23802
|
};
|
|
23621
23803
|
const getIcon = (link, platform) => {
|
|
23622
|
-
const iconKey = _optionalChain([platform, 'optionalAccess',
|
|
23623
|
-
const key =
|
|
23804
|
+
const iconKey = _optionalChain([platform, 'optionalAccess', _467 => _467.icon_name]) || link.platform;
|
|
23805
|
+
const key = _chunkGOTEXQZNcjs.normalizeSocialPlatform.call(void 0, iconKey);
|
|
23624
23806
|
if (!key) return null;
|
|
23625
23807
|
const icon = socialIcon(key);
|
|
23626
23808
|
return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5 text-ods-text-secondary" }) : null;
|
|
@@ -23643,7 +23825,7 @@ function SocialLinksManager({
|
|
|
23643
23825
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23644
23826
|
_chunkHTRILBJDcjs.Input,
|
|
23645
23827
|
{
|
|
23646
|
-
placeholder: _optionalChain([platform, 'optionalAccess',
|
|
23828
|
+
placeholder: _optionalChain([platform, 'optionalAccess', _468 => _468.placeholder]) || "Profile URL",
|
|
23647
23829
|
value: link.url,
|
|
23648
23830
|
onChange: (e) => updateLink(index, "url", e.target.value),
|
|
23649
23831
|
onKeyDown: (e) => {
|
|
@@ -24030,7 +24212,7 @@ function VideoBitesDisplay({
|
|
|
24030
24212
|
filterPublished = true,
|
|
24031
24213
|
showTitle = true
|
|
24032
24214
|
}) {
|
|
24033
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24215
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDJO7YMT3cjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
24034
24216
|
}
|
|
24035
24217
|
|
|
24036
24218
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -24040,8 +24222,8 @@ function VideoBitesDisplay({
|
|
|
24040
24222
|
var FIRST_INTERACTION_EVENTS = ["scroll", "pointerdown", "keydown"];
|
|
24041
24223
|
var isAtEnd = (duration, time) => duration > 0 && duration - time < 1;
|
|
24042
24224
|
function theaterSeedFromLive(live, fallbackTime, fallbackMuted) {
|
|
24043
|
-
const time = _nullishCoalesce(_optionalChain([live, 'optionalAccess',
|
|
24044
|
-
const atEnd = isAtEnd(_nullishCoalesce(_optionalChain([live, 'optionalAccess',
|
|
24225
|
+
const time = _nullishCoalesce(_optionalChain([live, 'optionalAccess', _469 => _469.getCurrentTime, 'call', _470 => _470()]), () => ( 0));
|
|
24226
|
+
const atEnd = isAtEnd(_nullishCoalesce(_optionalChain([live, 'optionalAccess', _471 => _471.getDuration, 'call', _472 => _472()]), () => ( 0)), time);
|
|
24045
24227
|
return {
|
|
24046
24228
|
// At end -> start over, never rewind to an unrelated older anchor.
|
|
24047
24229
|
time: atEnd ? 0 : time > 0.5 ? time : fallbackTime,
|
|
@@ -24058,7 +24240,7 @@ function WalkthroughVideo({
|
|
|
24058
24240
|
onOpenChange,
|
|
24059
24241
|
defaultOpen,
|
|
24060
24242
|
defaultOpenPaused,
|
|
24061
|
-
deepLinkParam =
|
|
24243
|
+
deepLinkParam = _chunkGOTEXQZNcjs.WALKTHROUGH_OPEN_QUERY_PARAM,
|
|
24062
24244
|
autoPlayCard = false,
|
|
24063
24245
|
label = "Play Demo Video",
|
|
24064
24246
|
placement,
|
|
@@ -24074,19 +24256,19 @@ function WalkthroughVideo({
|
|
|
24074
24256
|
}) {
|
|
24075
24257
|
const inline = placement === "inline";
|
|
24076
24258
|
const dismissEnabled = dismissal !== false;
|
|
24077
|
-
const storageKey = dismissEnabled && dismissal.storageKey ||
|
|
24078
|
-
const dismissalId = _optionalChain([video, 'optionalAccess',
|
|
24259
|
+
const storageKey = dismissEnabled && dismissal.storageKey || _chunkGOTEXQZNcjs.WALKTHROUGH_VIDEO_DISMISS_KEY;
|
|
24260
|
+
const dismissalId = _optionalChain([video, 'optionalAccess', _473 => _473.id]) != null ? String(video.id) : "dismissed";
|
|
24079
24261
|
const [mounted, setMounted] = _react.useState.call(void 0, false);
|
|
24080
24262
|
const [dismissed, setDismissed] = _react.useState.call(void 0, false);
|
|
24081
24263
|
const hasVideo = video != null;
|
|
24082
|
-
const videoId = _optionalChain([video, 'optionalAccess',
|
|
24264
|
+
const videoId = _optionalChain([video, 'optionalAccess', _474 => _474.id]);
|
|
24083
24265
|
_react.useEffect.call(void 0, () => {
|
|
24084
24266
|
let idleHandle = null;
|
|
24085
24267
|
if (!hasVideo) return void 0;
|
|
24086
24268
|
let delayElapsed = false;
|
|
24087
24269
|
let interacted = inline;
|
|
24088
24270
|
const reveal = () => {
|
|
24089
|
-
if (dismissEnabled &&
|
|
24271
|
+
if (dismissEnabled && _chunkGOTEXQZNcjs.isWalkthroughDismissed.call(void 0, storageKey, dismissalId)) {
|
|
24090
24272
|
setDismissed(true);
|
|
24091
24273
|
return;
|
|
24092
24274
|
}
|
|
@@ -24123,13 +24305,13 @@ function WalkthroughVideo({
|
|
|
24123
24305
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
24124
24306
|
};
|
|
24125
24307
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId, inline]);
|
|
24126
|
-
const hydrated =
|
|
24308
|
+
const hydrated = _chunkDJO7YMT3cjs.useIsHydrated.call(void 0, );
|
|
24127
24309
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
24128
24310
|
if (!hydrated) return false;
|
|
24129
24311
|
try {
|
|
24130
|
-
const reducedMotion = _nullishCoalesce(_optionalChain([window, 'access',
|
|
24312
|
+
const reducedMotion = _nullishCoalesce(_optionalChain([window, 'access', _475 => _475.matchMedia, 'optionalCall', _476 => _476("(prefers-reduced-motion: reduce)"), 'access', _477 => _477.matches]), () => ( false));
|
|
24131
24313
|
const conn = navigator.connection;
|
|
24132
|
-
const saveData = _optionalChain([conn, 'optionalAccess',
|
|
24314
|
+
const saveData = _optionalChain([conn, 'optionalAccess', _478 => _478.saveData]) === true || _optionalChain([conn, 'optionalAccess', _479 => _479.effectiveType]) === "2g" || _optionalChain([conn, 'optionalAccess', _480 => _480.effectiveType]) === "slow-2g";
|
|
24133
24315
|
return Boolean(reducedMotion || saveData);
|
|
24134
24316
|
} catch (e15) {
|
|
24135
24317
|
return false;
|
|
@@ -24155,7 +24337,7 @@ function WalkthroughVideo({
|
|
|
24155
24337
|
const endedLatchRef = _react.useRef.call(void 0, false);
|
|
24156
24338
|
const [hovered, setHovered] = _react.useState.call(void 0, false);
|
|
24157
24339
|
const [handoff, setHandoff] = _react.useState.call(void 0,
|
|
24158
|
-
() => autoPlayCard && !_optionalChain([video, 'optionalAccess',
|
|
24340
|
+
() => autoPlayCard && !_optionalChain([video, 'optionalAccess', _481 => _481.youtubeUrl]) ? { time: 0, muted: true, playing: true } : null
|
|
24159
24341
|
);
|
|
24160
24342
|
const [suspended, setSuspended] = _react.useState.call(void 0, false);
|
|
24161
24343
|
const [theaterStart, setTheaterStart] = _react.useState.call(void 0, { time: 0, muted: false });
|
|
@@ -24164,18 +24346,18 @@ function WalkthroughVideo({
|
|
|
24164
24346
|
const [cardMuted, setCardMuted] = _react.useState.call(void 0, false);
|
|
24165
24347
|
const [cardPaused, setCardPaused] = _react.useState.call(void 0, false);
|
|
24166
24348
|
const [userMuted, setUserMuted] = _react.useState.call(void 0, false);
|
|
24167
|
-
const isYouTube = Boolean(_optionalChain([video, 'optionalAccess',
|
|
24349
|
+
const isYouTube = Boolean(_optionalChain([video, 'optionalAccess', _482 => _482.youtubeUrl]));
|
|
24168
24350
|
const resumeMode = !open && handoff !== null && !isYouTube;
|
|
24169
24351
|
const previewAllowed = !previewSuppressed && !isYouTube;
|
|
24170
24352
|
const footerFadeKey = `${mounted ? 1 : 0}|${inline ? 1 : 0}|${hideNearSelector}|${pathname}`;
|
|
24171
|
-
const footerHidden = _optionalChain([footerObservation, 'optionalAccess',
|
|
24353
|
+
const footerHidden = _optionalChain([footerObservation, 'optionalAccess', _483 => _483.key]) === footerFadeKey && footerObservation.hidden;
|
|
24172
24354
|
_react.useEffect.call(void 0, () => {
|
|
24173
24355
|
if (!mounted) return void 0;
|
|
24174
24356
|
if (inline) return void 0;
|
|
24175
24357
|
const el = typeof document !== "undefined" ? document.querySelector(hideNearSelector) : null;
|
|
24176
24358
|
if (!el || typeof IntersectionObserver === "undefined") return void 0;
|
|
24177
24359
|
const io = new IntersectionObserver(
|
|
24178
|
-
(entries) => setFooterObservation({ key: footerFadeKey, hidden: _nullishCoalesce(_optionalChain([entries, 'access',
|
|
24360
|
+
(entries) => setFooterObservation({ key: footerFadeKey, hidden: _nullishCoalesce(_optionalChain([entries, 'access', _484 => _484[0], 'optionalAccess', _485 => _485.isIntersecting]), () => ( false)) }),
|
|
24179
24361
|
{ rootMargin: "0px 0px -40px 0px" }
|
|
24180
24362
|
);
|
|
24181
24363
|
io.observe(el);
|
|
@@ -24201,7 +24383,7 @@ function WalkthroughVideo({
|
|
|
24201
24383
|
if (!footerHidden) return;
|
|
24202
24384
|
const h = _nullishCoalesce(resumeHandleRef.current, () => ( previewHandleRef.current));
|
|
24203
24385
|
try {
|
|
24204
|
-
_optionalChain([h, 'optionalAccess',
|
|
24386
|
+
_optionalChain([h, 'optionalAccess', _486 => _486.pause, 'call', _487 => _487()]);
|
|
24205
24387
|
} catch (e17) {
|
|
24206
24388
|
}
|
|
24207
24389
|
}, [footerHidden, resumeMode, hovered]);
|
|
@@ -24220,30 +24402,30 @@ function WalkthroughVideo({
|
|
|
24220
24402
|
}, 400);
|
|
24221
24403
|
}
|
|
24222
24404
|
if (openProp === void 0) setOpenState(next);
|
|
24223
|
-
_optionalChain([onOpenChange, 'optionalCall',
|
|
24405
|
+
_optionalChain([onOpenChange, 'optionalCall', _488 => _488(next)]);
|
|
24224
24406
|
},
|
|
24225
24407
|
[openProp, onOpenChange]
|
|
24226
24408
|
);
|
|
24227
24409
|
const pausePreviewNow = _react.useCallback.call(void 0, () => {
|
|
24228
24410
|
const h = _nullishCoalesce(resumeHandleRef.current, () => ( previewHandleRef.current));
|
|
24229
24411
|
try {
|
|
24230
|
-
_optionalChain([h, 'optionalAccess',
|
|
24412
|
+
_optionalChain([h, 'optionalAccess', _489 => _489.pause, 'call', _490 => _490()]);
|
|
24231
24413
|
} catch (e18) {
|
|
24232
24414
|
}
|
|
24233
24415
|
setCardPaused(true);
|
|
24234
24416
|
}, [setCardPaused]);
|
|
24235
24417
|
const openTheater = _react.useCallback.call(void 0, () => {
|
|
24236
24418
|
const handleBeforePause = _nullishCoalesce(resumeHandleRef.current, () => ( previewHandleRef.current));
|
|
24237
|
-
const liveWasPlaying = _optionalChain([handleBeforePause, 'optionalAccess',
|
|
24419
|
+
const liveWasPlaying = _optionalChain([handleBeforePause, 'optionalAccess', _491 => _491.getPaused, 'call', _492 => _492()]) === false;
|
|
24238
24420
|
pausePreviewNow();
|
|
24239
24421
|
const liveHandle = _nullishCoalesce(resumeHandleRef.current, () => ( (cardModeRef.current === "preview" ? previewHandleRef.current : null)));
|
|
24240
|
-
const liveTime = _nullishCoalesce(_optionalChain([liveHandle, 'optionalAccess',
|
|
24241
|
-
const liveDuration = _nullishCoalesce(_optionalChain([liveHandle, 'optionalAccess',
|
|
24422
|
+
const liveTime = _nullishCoalesce(_optionalChain([liveHandle, 'optionalAccess', _493 => _493.getCurrentTime, 'call', _494 => _494()]), () => ( 0));
|
|
24423
|
+
const liveDuration = _nullishCoalesce(_optionalChain([liveHandle, 'optionalAccess', _495 => _495.getDuration, 'call', _496 => _496()]), () => ( 0));
|
|
24242
24424
|
const liveAtEnd = isAtEnd(liveDuration, liveTime);
|
|
24243
24425
|
const start = {
|
|
24244
24426
|
// At end -> start over. Falling back to `handoff.time` here would rewind
|
|
24245
24427
|
// to an unrelated older anchor (e.g. 3:20) instead of restarting.
|
|
24246
|
-
time: liveAtEnd ? 0 : liveTime > 0.5 ? liveTime : _nullishCoalesce(_optionalChain([handoff, 'optionalAccess',
|
|
24428
|
+
time: liveAtEnd ? 0 : liveTime > 0.5 ? liveTime : _nullishCoalesce(_optionalChain([handoff, 'optionalAccess', _497 => _497.time]), () => ( 0)),
|
|
24247
24429
|
// Live element wins over remembered intent (the theater's own chrome may
|
|
24248
24430
|
// have changed it) — EXCEPT when the element is muted only because
|
|
24249
24431
|
// autoplay policy forced it, which is not intent.
|
|
@@ -24271,7 +24453,7 @@ function WalkthroughVideo({
|
|
|
24271
24453
|
const selfDriven = selfDrivenFor === open;
|
|
24272
24454
|
if (openProp !== void 0 && !selfDriven) {
|
|
24273
24455
|
if (open) {
|
|
24274
|
-
setTheaterStart(theaterSeedFromLive(resumeHandleRef.current, _nullishCoalesce(_optionalChain([handoff, 'optionalAccess',
|
|
24456
|
+
setTheaterStart(theaterSeedFromLive(resumeHandleRef.current, _nullishCoalesce(_optionalChain([handoff, 'optionalAccess', _498 => _498.time]), () => ( 0)), userMuted));
|
|
24275
24457
|
setHovered(false);
|
|
24276
24458
|
setSuspended(false);
|
|
24277
24459
|
setHandoff(null);
|
|
@@ -24357,8 +24539,8 @@ function WalkthroughVideo({
|
|
|
24357
24539
|
});
|
|
24358
24540
|
_react.useEffect.call(void 0, () => {
|
|
24359
24541
|
if (resumeMode) {
|
|
24360
|
-
setCardMuted(_nullishCoalesce(_optionalChain([handoffRef, 'access',
|
|
24361
|
-
setCardPaused(_optionalChain([handoffRef, 'access',
|
|
24542
|
+
setCardMuted(_nullishCoalesce(_optionalChain([handoffRef, 'access', _499 => _499.current, 'optionalAccess', _500 => _500.muted]), () => ( false)));
|
|
24543
|
+
setCardPaused(_optionalChain([handoffRef, 'access', _501 => _501.current, 'optionalAccess', _502 => _502.playing]) === false);
|
|
24362
24544
|
}
|
|
24363
24545
|
}, [resumeMode]);
|
|
24364
24546
|
const [hoverSeeded, setHoverSeeded] = _react.useState.call(void 0, hovered);
|
|
@@ -24373,7 +24555,7 @@ function WalkthroughVideo({
|
|
|
24373
24555
|
(e) => {
|
|
24374
24556
|
e.stopPropagation();
|
|
24375
24557
|
pausePreviewNow();
|
|
24376
|
-
if (dismissEnabled)
|
|
24558
|
+
if (dismissEnabled) _chunkGOTEXQZNcjs.dismissWalkthrough.call(void 0, storageKey, dismissalId);
|
|
24377
24559
|
setDismissed(true);
|
|
24378
24560
|
},
|
|
24379
24561
|
[dismissEnabled, storageKey, dismissalId, pausePreviewNow]
|
|
@@ -24440,11 +24622,11 @@ function WalkthroughVideo({
|
|
|
24440
24622
|
},
|
|
24441
24623
|
[cardFallback.blocked, cardPaused, activeHandle, setCardPaused]
|
|
24442
24624
|
);
|
|
24443
|
-
const summaryTitle = _optionalChain([video, 'optionalAccess',
|
|
24444
|
-
const presenterAvatarSrc = _nullishCoalesce(_optionalChain([video, 'optionalAccess',
|
|
24625
|
+
const summaryTitle = _optionalChain([video, 'optionalAccess', _503 => _503.title]) || void 0;
|
|
24626
|
+
const presenterAvatarSrc = _nullishCoalesce(_optionalChain([video, 'optionalAccess', _504 => _504.presenterAvatarUrl]), () => ( null));
|
|
24445
24627
|
const embedUrlKey = _react.useMemo.call(void 0,
|
|
24446
|
-
() => `${_nullishCoalesce(_optionalChain([video, 'optionalAccess',
|
|
24447
|
-
[_optionalChain([video, 'optionalAccess',
|
|
24628
|
+
() => `${_nullishCoalesce(_optionalChain([video, 'optionalAccess', _505 => _505.mainVideoUrl]), () => ( ""))}|${_nullishCoalesce(_optionalChain([video, 'optionalAccess', _506 => _506.youtubeUrl]), () => ( ""))}`,
|
|
24629
|
+
[_optionalChain([video, 'optionalAccess', _507 => _507.mainVideoUrl]), _optionalChain([video, 'optionalAccess', _508 => _508.youtubeUrl])]
|
|
24448
24630
|
);
|
|
24449
24631
|
const cardActive = !open && previewAllowed && hovered && !resumeMode;
|
|
24450
24632
|
const cardMode = resumeMode ? "resume" : cardActive ? "preview" : "poster";
|
|
@@ -24503,7 +24685,7 @@ function WalkthroughVideo({
|
|
|
24503
24685
|
const el = e.target;
|
|
24504
24686
|
let keyboard = false;
|
|
24505
24687
|
try {
|
|
24506
|
-
keyboard = _nullishCoalesce(_optionalChain([el, 'access',
|
|
24688
|
+
keyboard = _nullishCoalesce(_optionalChain([el, 'access', _509 => _509.matches, 'optionalCall', _510 => _510(":focus-visible")]), () => ( false));
|
|
24507
24689
|
} catch (e23) {
|
|
24508
24690
|
keyboard = false;
|
|
24509
24691
|
}
|
|
@@ -24538,15 +24720,15 @@ function WalkthroughVideo({
|
|
|
24538
24720
|
previewHandleRef: cardMode === "resume" ? resumeHandleRef : previewHandleRef,
|
|
24539
24721
|
mutedIntent: userMuted,
|
|
24540
24722
|
continuation: cardMode === "resume",
|
|
24541
|
-
autoPlay: cardMode === "resume" && _optionalChain([handoff, 'optionalAccess',
|
|
24542
|
-
startTime: _optionalChain([resumeHandoff, 'optionalAccess',
|
|
24543
|
-
startMuted: _nullishCoalesce(_optionalChain([resumeHandoff, 'optionalAccess',
|
|
24723
|
+
autoPlay: cardMode === "resume" && _optionalChain([handoff, 'optionalAccess', _511 => _511.playing]) !== false && !footerHidden,
|
|
24724
|
+
startTime: _optionalChain([resumeHandoff, 'optionalAccess', _512 => _512.time]),
|
|
24725
|
+
startMuted: _nullishCoalesce(_optionalChain([resumeHandoff, 'optionalAccess', _513 => _513.muted]), () => ( false)),
|
|
24544
24726
|
onEnded: cardMode === "resume" ? () => setHandoff(null) : () => setCardPaused(true)
|
|
24545
24727
|
},
|
|
24546
24728
|
`card-${embedUrlKey}`
|
|
24547
24729
|
) }),
|
|
24548
24730
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24549
|
-
|
|
24731
|
+
_chunkDJO7YMT3cjs.CardHitLayer,
|
|
24550
24732
|
{
|
|
24551
24733
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
24552
24734
|
onPointerDown: pausePreviewNow,
|
|
@@ -24637,7 +24819,7 @@ function WalkthroughVideo({
|
|
|
24637
24819
|
{
|
|
24638
24820
|
onOpenAutoFocus: (e) => {
|
|
24639
24821
|
e.preventDefault();
|
|
24640
|
-
_optionalChain([closeButtonRef, 'access',
|
|
24822
|
+
_optionalChain([closeButtonRef, 'access', _514 => _514.current, 'optionalAccess', _515 => _515.focus, 'call', _516 => _516()]);
|
|
24641
24823
|
},
|
|
24642
24824
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
24643
24825
|
// PURE theater: just the video, centered on a dimmed backdrop.
|
|
@@ -24712,7 +24894,7 @@ function InlineWalkthroughVideo(props) {
|
|
|
24712
24894
|
var _reactquery = require('@tanstack/react-query');
|
|
24713
24895
|
function useWalkthroughVideo(opts) {
|
|
24714
24896
|
const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
|
|
24715
|
-
const captions =
|
|
24897
|
+
const captions = _chunkDJO7YMT3cjs.useCaptions.call(void 0, );
|
|
24716
24898
|
const query = _reactquery.useQuery.call(void 0, {
|
|
24717
24899
|
queryKey: ["walkthrough-video", endpoint],
|
|
24718
24900
|
enabled,
|
|
@@ -24731,14 +24913,14 @@ function useWalkthroughVideo(opts) {
|
|
|
24731
24913
|
if (res.status === 404) return null;
|
|
24732
24914
|
if (!res.ok) throw new Error(`Walkthrough video request failed (${res.status})`);
|
|
24733
24915
|
const body = await res.json();
|
|
24734
|
-
return _nullishCoalesce(_optionalChain([body, 'optionalAccess',
|
|
24916
|
+
return _nullishCoalesce(_optionalChain([body, 'optionalAccess', _517 => _517.walkthroughVideo]), () => ( null));
|
|
24735
24917
|
},
|
|
24736
24918
|
// Per-observer transform — NEVER mutate the cached data. `select` also runs
|
|
24737
24919
|
// over `initialData`, so the SSR seed is rewritten too. Keeping the proxy
|
|
24738
24920
|
// rewrite here (not in queryFn) means a second consumer of the same
|
|
24739
24921
|
// endpoint can't inherit this observer's proxied captionsUrl from the cache.
|
|
24740
24922
|
select: (video) => {
|
|
24741
|
-
if (!_optionalChain([video, 'optionalAccess',
|
|
24923
|
+
if (!_optionalChain([video, 'optionalAccess', _518 => _518.captionsUrl])) return video;
|
|
24742
24924
|
if (transformCaptionsUrl && video.captionsUrl.startsWith("/")) {
|
|
24743
24925
|
return { ...video, captionsUrl: transformCaptionsUrl(video.captionsUrl) };
|
|
24744
24926
|
}
|
|
@@ -24785,7 +24967,7 @@ function VideoSourceSelector({
|
|
|
24785
24967
|
input.accept = "video/*";
|
|
24786
24968
|
input.onchange = async (e) => {
|
|
24787
24969
|
const target = e.target;
|
|
24788
|
-
const file = _optionalChain([target, 'access',
|
|
24970
|
+
const file = _optionalChain([target, 'access', _519 => _519.files, 'optionalAccess', _520 => _520[0]]);
|
|
24789
24971
|
if (!file) return;
|
|
24790
24972
|
setIsUploading(true);
|
|
24791
24973
|
setUploadProgress(0);
|
|
@@ -24961,7 +25143,7 @@ function SubtitlesEditor({
|
|
|
24961
25143
|
{
|
|
24962
25144
|
id,
|
|
24963
25145
|
value: subtitles || "",
|
|
24964
|
-
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall',
|
|
25146
|
+
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _521 => _521(e.target.value)]),
|
|
24965
25147
|
placeholder,
|
|
24966
25148
|
disabled: disabled || !onSubtitlesChange,
|
|
24967
25149
|
className: "h-full w-full resize-none border-0 bg-transparent p-4 text-ods-text-primary text-code placeholder:text-ods-text-secondary/50 focus:outline-none focus:ring-0",
|
|
@@ -25190,7 +25372,7 @@ var AIEnrichSection = ({
|
|
|
25190
25372
|
}) => {
|
|
25191
25373
|
const hasResults = status === "success" || status === "error";
|
|
25192
25374
|
const shouldDisable = disabled || !canEnrich;
|
|
25193
|
-
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess',
|
|
25375
|
+
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _522 => _522.filter, 'call', _523 => _523((f) => !f.isFilled)]) || [];
|
|
25194
25376
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25195
25377
|
"div",
|
|
25196
25378
|
{
|
|
@@ -25222,7 +25404,7 @@ var AIEnrichSection = ({
|
|
|
25222
25404
|
{
|
|
25223
25405
|
id: "ai-enrich-custom-instructions",
|
|
25224
25406
|
value: _nullishCoalesce(customInstructions, () => ( "")),
|
|
25225
|
-
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall',
|
|
25407
|
+
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _524 => _524(e.target.value)]),
|
|
25226
25408
|
placeholder: customInstructionsPlaceholder,
|
|
25227
25409
|
disabled: loading,
|
|
25228
25410
|
maxLength: customInstructionsMaxLength,
|
|
@@ -25344,7 +25526,7 @@ function HighlightVideoSection({
|
|
|
25344
25526
|
input.accept = "video/*";
|
|
25345
25527
|
input.onchange = async (e) => {
|
|
25346
25528
|
const target = e.target;
|
|
25347
|
-
const file = _optionalChain([target, 'access',
|
|
25529
|
+
const file = _optionalChain([target, 'access', _525 => _525.files, 'optionalAccess', _526 => _526[0]]);
|
|
25348
25530
|
if (!file) return;
|
|
25349
25531
|
setUploadError(null);
|
|
25350
25532
|
try {
|
|
@@ -25461,7 +25643,7 @@ function HighlightConfigSection({
|
|
|
25461
25643
|
disabled = false,
|
|
25462
25644
|
className = ""
|
|
25463
25645
|
}) {
|
|
25464
|
-
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,
|
|
25646
|
+
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, _chunkGOTEXQZNcjs.Field, { label: "Target Duration", children: (f) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25465
25647
|
_chunkU2O5YQRPcjs.Select,
|
|
25466
25648
|
{
|
|
25467
25649
|
value: targetDurationSeconds.toString(),
|
|
@@ -25562,7 +25744,7 @@ var AIStatusIndicator = ({
|
|
|
25562
25744
|
}) => {
|
|
25563
25745
|
const config = statusConfig[status];
|
|
25564
25746
|
const displayText = message || config.label;
|
|
25565
|
-
const confidenceLabel = showConfidence && confidence !== void 0 ? `${
|
|
25747
|
+
const confidenceLabel = showConfidence && confidence !== void 0 ? `${_chunkGOTEXQZNcjs.getConfidenceLabel.call(void 0, confidence)} (${confidence}%)` : null;
|
|
25566
25748
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "inline-flex items-center gap-2 rounded-lg px-3 py-1.5", config.bgColor, className), children: [
|
|
25567
25749
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25568
25750
|
_chunkUNFCRSYIcjs.SparklesIcon,
|
|
@@ -25570,7 +25752,7 @@ var AIStatusIndicator = ({
|
|
|
25570
25752
|
size: 16,
|
|
25571
25753
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
25572
25754
|
status === "loading" && "animate-pulse",
|
|
25573
|
-
confidence !== void 0 && status === "success" ?
|
|
25755
|
+
confidence !== void 0 && status === "success" ? _chunkGOTEXQZNcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
|
|
25574
25756
|
)
|
|
25575
25757
|
}
|
|
25576
25758
|
),
|
|
@@ -25579,7 +25761,7 @@ var AIStatusIndicator = ({
|
|
|
25579
25761
|
{
|
|
25580
25762
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
25581
25763
|
"text-h6",
|
|
25582
|
-
confidence !== void 0 && status === "success" ?
|
|
25764
|
+
confidence !== void 0 && status === "success" ? _chunkGOTEXQZNcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
|
|
25583
25765
|
),
|
|
25584
25766
|
children: displayText
|
|
25585
25767
|
}
|
|
@@ -25589,8 +25771,8 @@ var AIStatusIndicator = ({
|
|
|
25589
25771
|
{
|
|
25590
25772
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
25591
25773
|
"rounded-full border px-2 py-0.5 text-h6",
|
|
25592
|
-
|
|
25593
|
-
|
|
25774
|
+
_chunkGOTEXQZNcjs.getConfidenceBorderClass.call(void 0, confidence),
|
|
25775
|
+
_chunkGOTEXQZNcjs.getConfidenceTextClass.call(void 0, confidence)
|
|
25594
25776
|
),
|
|
25595
25777
|
children: confidenceLabel
|
|
25596
25778
|
}
|
|
@@ -25780,7 +25962,7 @@ function HighlightVideoPreview({
|
|
|
25780
25962
|
input.accept = "video/*";
|
|
25781
25963
|
input.onchange = async (e) => {
|
|
25782
25964
|
const target = e.target;
|
|
25783
|
-
const file = _optionalChain([target, 'access',
|
|
25965
|
+
const file = _optionalChain([target, 'access', _527 => _527.files, 'optionalAccess', _528 => _528[0]]);
|
|
25784
25966
|
if (!file) return;
|
|
25785
25967
|
await onUpload(file);
|
|
25786
25968
|
};
|
|
@@ -25959,7 +26141,7 @@ function HighlightVideoCombinedSection({
|
|
|
25959
26141
|
input.accept = "video/*";
|
|
25960
26142
|
input.onchange = async (e) => {
|
|
25961
26143
|
const target = e.target;
|
|
25962
|
-
const file = _optionalChain([target, 'access',
|
|
26144
|
+
const file = _optionalChain([target, 'access', _529 => _529.files, 'optionalAccess', _530 => _530[0]]);
|
|
25963
26145
|
if (!file) return;
|
|
25964
26146
|
await onUpload(file);
|
|
25965
26147
|
};
|
|
@@ -26169,7 +26351,7 @@ function ApprovalLevelView({
|
|
|
26169
26351
|
value,
|
|
26170
26352
|
disabled,
|
|
26171
26353
|
onValueChange: (next) => {
|
|
26172
|
-
if (next && next !== value) _optionalChain([onChange, 'optionalCall',
|
|
26354
|
+
if (next && next !== value) _optionalChain([onChange, 'optionalCall', _531 => _531(next)]);
|
|
26173
26355
|
},
|
|
26174
26356
|
"aria-labelledby": labelledBy,
|
|
26175
26357
|
children: APPROVAL_LEVELS.map((level) => {
|
|
@@ -26207,7 +26389,7 @@ function ApprovalLevelView({
|
|
|
26207
26389
|
var approvalLevelOptions = APPROVAL_LEVELS.map((value) => ({ value, label: APPROVAL_LEVEL_META[value].label }));
|
|
26208
26390
|
var POLICY_LEVEL_WIDTH = "w-[180px]";
|
|
26209
26391
|
var CATEGORY_LEVEL_WIDTH = "w-[256px]";
|
|
26210
|
-
var getApprovalLevelLabel = (level) => _nullishCoalesce(_optionalChain([APPROVAL_LEVEL_META, 'access',
|
|
26392
|
+
var getApprovalLevelLabel = (level) => _nullishCoalesce(_optionalChain([APPROVAL_LEVEL_META, 'access', _532 => _532[level], 'optionalAccess', _533 => _533.label]), () => ( level));
|
|
26211
26393
|
var ApprovalLevelDropdown = ({ value, onChange, allowClear = false, triggerClassName, contentClassName }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkL2RMTGOKcjs.DropdownMenu, { children: [
|
|
26212
26394
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkL2RMTGOKcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26213
26395
|
_chunk2QMBXGMQcjs.Button,
|
|
@@ -26486,7 +26668,7 @@ function PoliciesTable({
|
|
|
26486
26668
|
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,
|
|
26487
26669
|
_chunk2QMBXGMQcjs.Button,
|
|
26488
26670
|
{
|
|
26489
|
-
onClick:
|
|
26671
|
+
onClick: _chunkGOTEXQZNcjs.openInNewTab.call(void 0, row.original.href),
|
|
26490
26672
|
variant: "outline",
|
|
26491
26673
|
size: "icon",
|
|
26492
26674
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -26604,7 +26786,7 @@ var POLICY_STATUS_CONFIG = {
|
|
|
26604
26786
|
};
|
|
26605
26787
|
function missingHostCount(policy) {
|
|
26606
26788
|
const responded = policy.passing_host_count + policy.failing_host_count;
|
|
26607
|
-
return (_nullishCoalesce(_optionalChain([policy, 'access',
|
|
26789
|
+
return (_nullishCoalesce(_optionalChain([policy, 'access', _534 => _534.hosts_include_any, 'optionalAccess', _535 => _535.length]), () => ( 0))) - responded;
|
|
26608
26790
|
}
|
|
26609
26791
|
function getPolicyStatus(policy) {
|
|
26610
26792
|
const failing = policy.failing_host_count;
|
|
@@ -26812,7 +26994,7 @@ function TenantsTableView({
|
|
|
26812
26994
|
/* @__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,
|
|
26813
26995
|
_chunk2QMBXGMQcjs.Button,
|
|
26814
26996
|
{
|
|
26815
|
-
onClick:
|
|
26997
|
+
onClick: _chunkGOTEXQZNcjs.openInNewTab.call(void 0, getHref(row.original)),
|
|
26816
26998
|
variant: "outline",
|
|
26817
26999
|
size: "icon",
|
|
26818
27000
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -26893,7 +27075,7 @@ function WaitlistForm({
|
|
|
26893
27075
|
const { toast } = _chunk4FWURR3Wcjs.useToast.call(void 0, );
|
|
26894
27076
|
const { honeypotInputProps, getSignals, resetSignals } = _chunk4FWURR3Wcjs.useHumanitySignals.call(void 0, );
|
|
26895
27077
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
26896
|
-
const isClient =
|
|
27078
|
+
const isClient = _chunkDJO7YMT3cjs.useIsHydrated.call(void 0, );
|
|
26897
27079
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
26898
27080
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
26899
27081
|
const rescue = _chunk4FWURR3Wcjs.useFormRescue.call(void 0, {
|
|
@@ -26908,7 +27090,7 @@ function WaitlistForm({
|
|
|
26908
27090
|
_react.useEffect.call(void 0, () => {
|
|
26909
27091
|
rescue.track({ email, phone }, null);
|
|
26910
27092
|
}, [email, phone, rescue]);
|
|
26911
|
-
const isMailDomainGeneric =
|
|
27093
|
+
const isMailDomainGeneric = _chunkGOTEXQZNcjs.hasGenericEmailDomain.call(void 0, email);
|
|
26912
27094
|
const [syncedDefaultEmail, setSyncedDefaultEmail] = _react.useState.call(void 0, defaultEmail);
|
|
26913
27095
|
if (syncedDefaultEmail !== defaultEmail) {
|
|
26914
27096
|
setSyncedDefaultEmail(defaultEmail);
|
|
@@ -26942,7 +27124,7 @@ function WaitlistForm({
|
|
|
26942
27124
|
setShowConsentError(true);
|
|
26943
27125
|
return;
|
|
26944
27126
|
}
|
|
26945
|
-
const finalPhone = phone ?
|
|
27127
|
+
const finalPhone = phone ? _chunkGOTEXQZNcjs.formatPhoneE164.call(void 0, phone, countryCode) : void 0;
|
|
26946
27128
|
try {
|
|
26947
27129
|
await onRegister(email, finalPhone, getSignals(), rescue.submitFields());
|
|
26948
27130
|
rescue.complete();
|
|
@@ -27203,19 +27385,19 @@ function NotificationsProvider({
|
|
|
27203
27385
|
}, []);
|
|
27204
27386
|
const markRead = _react.useCallback.call(void 0, (id) => {
|
|
27205
27387
|
dispatch({ type: "markRead", id });
|
|
27206
|
-
void _optionalChain([actionsRef, 'access',
|
|
27388
|
+
void _optionalChain([actionsRef, 'access', _536 => _536.current, 'optionalAccess', _537 => _537.onMarkRead, 'optionalCall', _538 => _538(id)]);
|
|
27207
27389
|
}, []);
|
|
27208
27390
|
const markAllRead = _react.useCallback.call(void 0, () => {
|
|
27209
27391
|
dispatch({ type: "markAllRead" });
|
|
27210
|
-
void _optionalChain([actionsRef, 'access',
|
|
27392
|
+
void _optionalChain([actionsRef, 'access', _539 => _539.current, 'optionalAccess', _540 => _540.onMarkAllRead, 'optionalCall', _541 => _541()]);
|
|
27211
27393
|
}, []);
|
|
27212
27394
|
const markSettled = _react.useCallback.call(void 0, (id) => {
|
|
27213
27395
|
dispatch({ type: "markSettled", id });
|
|
27214
|
-
void _optionalChain([actionsRef, 'access',
|
|
27396
|
+
void _optionalChain([actionsRef, 'access', _542 => _542.current, 'optionalAccess', _543 => _543.onMarkSettled, 'optionalCall', _544 => _544(id)]);
|
|
27215
27397
|
}, []);
|
|
27216
27398
|
const remove = _react.useCallback.call(void 0, (id) => {
|
|
27217
27399
|
dispatch({ type: "remove", id });
|
|
27218
|
-
void _optionalChain([actionsRef, 'access',
|
|
27400
|
+
void _optionalChain([actionsRef, 'access', _545 => _545.current, 'optionalAccess', _546 => _546.onRemove, 'optionalCall', _547 => _547(id)]);
|
|
27219
27401
|
}, []);
|
|
27220
27402
|
const clear = _react.useCallback.call(void 0, () => dispatch({ type: "clear" }), []);
|
|
27221
27403
|
const open = _react.useCallback.call(void 0, () => setIsOpen(true), []);
|
|
@@ -27224,14 +27406,14 @@ function NotificationsProvider({
|
|
|
27224
27406
|
const setShowPopups = _react.useCallback.call(void 0,
|
|
27225
27407
|
(value2) => {
|
|
27226
27408
|
setShowPopupsState(value2);
|
|
27227
|
-
_optionalChain([onShowPopupsChange, 'optionalCall',
|
|
27409
|
+
_optionalChain([onShowPopupsChange, 'optionalCall', _548 => _548(value2)]);
|
|
27228
27410
|
},
|
|
27229
27411
|
[onShowPopupsChange]
|
|
27230
27412
|
);
|
|
27231
27413
|
const setShowDesktopPopups = _react.useCallback.call(void 0,
|
|
27232
27414
|
(value2) => {
|
|
27233
27415
|
setShowDesktopPopupsState(value2);
|
|
27234
|
-
_optionalChain([onShowDesktopPopupsChange, 'optionalCall',
|
|
27416
|
+
_optionalChain([onShowDesktopPopupsChange, 'optionalCall', _549 => _549(value2)]);
|
|
27235
27417
|
},
|
|
27236
27418
|
[onShowDesktopPopupsChange]
|
|
27237
27419
|
);
|
|
@@ -27347,7 +27529,7 @@ var AppLayoutDrawerRoot = ({
|
|
|
27347
27529
|
const handleOpenChange = _react.useCallback.call(void 0,
|
|
27348
27530
|
(next) => {
|
|
27349
27531
|
if (!isControlled) setInternalOpen(next);
|
|
27350
|
-
_optionalChain([onOpenChange, 'optionalCall',
|
|
27532
|
+
_optionalChain([onOpenChange, 'optionalCall', _550 => _550(next)]);
|
|
27351
27533
|
},
|
|
27352
27534
|
[isControlled, onOpenChange]
|
|
27353
27535
|
);
|
|
@@ -27364,9 +27546,9 @@ var AppLayoutDrawerRoot = ({
|
|
|
27364
27546
|
}
|
|
27365
27547
|
}));
|
|
27366
27548
|
_react.useEffect.call(void 0, () => {
|
|
27367
|
-
if (open) _optionalChain([coordination, 'optionalAccess',
|
|
27549
|
+
if (open) _optionalChain([coordination, 'optionalAccess', _551 => _551.notifyDrawerDidOpen, 'call', _552 => _552(selfHandle)]);
|
|
27368
27550
|
}, [open, coordination, selfHandle]);
|
|
27369
|
-
_react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess',
|
|
27551
|
+
_react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess', _553 => _553.registerDrawer, 'call', _554 => _554(selfHandle)]), [coordination, selfHandle]);
|
|
27370
27552
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DrawerOpenContext.Provider, { value: open, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive3.Root, { ...rest, open, onOpenChange: handleOpenChange, modal, children }) });
|
|
27371
27553
|
};
|
|
27372
27554
|
AppLayoutDrawerRoot.displayName = "AppLayoutDrawer";
|
|
@@ -27588,10 +27770,10 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
27588
27770
|
),
|
|
27589
27771
|
style,
|
|
27590
27772
|
onInteractOutside: (event) => {
|
|
27591
|
-
_optionalChain([onInteractOutside, 'optionalCall',
|
|
27773
|
+
_optionalChain([onInteractOutside, 'optionalCall', _555 => _555(event)]);
|
|
27592
27774
|
if (event.defaultPrevented) return;
|
|
27593
27775
|
const target = event.target;
|
|
27594
|
-
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess',
|
|
27776
|
+
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _556 => _556.contains, 'call', _557 => _557(target)]);
|
|
27595
27777
|
if (!isInsideContainer) {
|
|
27596
27778
|
event.preventDefault();
|
|
27597
27779
|
return;
|
|
@@ -27709,7 +27891,7 @@ function NotificationTile({
|
|
|
27709
27891
|
if (!counting) return void 0;
|
|
27710
27892
|
const remaining = Math.max(0, liveDurationMs - initialElapsed);
|
|
27711
27893
|
const timer = window.setTimeout(() => {
|
|
27712
|
-
_optionalChain([onSettle, 'optionalCall',
|
|
27894
|
+
_optionalChain([onSettle, 'optionalCall', _558 => _558(id)]);
|
|
27713
27895
|
}, remaining);
|
|
27714
27896
|
return () => window.clearTimeout(timer);
|
|
27715
27897
|
}, [id, counting, initialElapsed, liveDurationMs, onSettle]);
|
|
@@ -27760,7 +27942,7 @@ function NotificationTile({
|
|
|
27760
27942
|
active: isLive,
|
|
27761
27943
|
label: "Dismiss notification",
|
|
27762
27944
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWWUSFOJ7cjs.XmarkIcon, { size: 16 }),
|
|
27763
|
-
onClick: () => _optionalChain([onSettle, 'optionalCall',
|
|
27945
|
+
onClick: () => _optionalChain([onSettle, 'optionalCall', _559 => _559(id)])
|
|
27764
27946
|
},
|
|
27765
27947
|
{
|
|
27766
27948
|
active: !isLive,
|
|
@@ -27958,7 +28140,7 @@ function DrawerScrollList({
|
|
|
27958
28140
|
if (!sentinel || !root) return void 0;
|
|
27959
28141
|
const observer = new IntersectionObserver(
|
|
27960
28142
|
(entries) => {
|
|
27961
|
-
if (_optionalChain([entries, 'access',
|
|
28143
|
+
if (_optionalChain([entries, 'access', _560 => _560[0], 'optionalAccess', _561 => _561.isIntersecting])) _optionalChain([loadMoreRef, 'access', _562 => _562.current, 'optionalCall', _563 => _563()]);
|
|
27962
28144
|
},
|
|
27963
28145
|
{ root, rootMargin: loadMoreRootMargin }
|
|
27964
28146
|
);
|
|
@@ -27973,7 +28155,7 @@ function DrawerScrollList({
|
|
|
27973
28155
|
className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
|
|
27974
28156
|
children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
27975
28157
|
unreadNotifications.map((n) => {
|
|
27976
|
-
const custom = _optionalChain([renderTile, 'optionalCall',
|
|
28158
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _564 => _564(n, { onComplete, onSettle, liveDurationMs })]);
|
|
27977
28159
|
if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
|
|
27978
28160
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27979
28161
|
NotificationTile,
|
|
@@ -28093,7 +28275,7 @@ function NotificationPopups({
|
|
|
28093
28275
|
}) {
|
|
28094
28276
|
const ctx = useOptionalNotifications();
|
|
28095
28277
|
const [now, setNow] = _react.useState.call(void 0, () => Date.now());
|
|
28096
|
-
const hasAgeingNotifications = Boolean(_optionalChain([ctx, 'optionalAccess',
|
|
28278
|
+
const hasAgeingNotifications = Boolean(_optionalChain([ctx, 'optionalAccess', _565 => _565.notifications, 'access', _566 => _566.some, 'call', _567 => _567((n) => !n.read && !n.settled)]));
|
|
28097
28279
|
_react.useEffect.call(void 0, () => {
|
|
28098
28280
|
if (!hasAgeingNotifications) return void 0;
|
|
28099
28281
|
const id = setInterval(() => setNow(Date.now()), 500);
|
|
@@ -28136,7 +28318,7 @@ function NotificationPopups({
|
|
|
28136
28318
|
className
|
|
28137
28319
|
),
|
|
28138
28320
|
children: live.map((n) => {
|
|
28139
|
-
const custom = _optionalChain([renderTile, 'optionalCall',
|
|
28321
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _568 => _568(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
|
|
28140
28322
|
if (custom) {
|
|
28141
28323
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
|
|
28142
28324
|
}
|
|
@@ -28183,21 +28365,21 @@ function isApprovalNotificationType(type) {
|
|
|
28183
28365
|
return typeof type === "string" && APPROVAL_REQUEST_TYPES.has(type);
|
|
28184
28366
|
}
|
|
28185
28367
|
function isApprovalNotification(notification) {
|
|
28186
|
-
return isApprovalNotificationType(_optionalChain([notification, 'access',
|
|
28368
|
+
return isApprovalNotificationType(_optionalChain([notification, 'access', _569 => _569.meta, 'optionalAccess', _570 => _570.notificationType]));
|
|
28187
28369
|
}
|
|
28188
28370
|
function getApprovalMeta(notification) {
|
|
28189
28371
|
if (!isApprovalNotification(notification)) return null;
|
|
28190
28372
|
const meta = notification.meta;
|
|
28191
|
-
const approvalRequestId = _optionalChain([meta, 'optionalAccess',
|
|
28192
|
-
const toolCalls = _optionalChain([meta, 'optionalAccess',
|
|
28373
|
+
const approvalRequestId = _optionalChain([meta, 'optionalAccess', _571 => _571.approvalRequestId]);
|
|
28374
|
+
const toolCalls = _optionalChain([meta, 'optionalAccess', _572 => _572.toolCalls]);
|
|
28193
28375
|
if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
|
|
28194
28376
|
return {
|
|
28195
28377
|
approvalRequestId,
|
|
28196
|
-
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
28197
|
-
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
28198
|
-
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
28199
|
-
resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
28200
|
-
resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
28378
|
+
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _573 => _573.dialogId]), () => ( null)),
|
|
28379
|
+
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _574 => _574.ticketId]), () => ( null)),
|
|
28380
|
+
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _575 => _575.approvalType]), () => ( null)),
|
|
28381
|
+
resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _576 => _576.resolution]), () => ( null)),
|
|
28382
|
+
resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _577 => _577.resolvedByName]), () => ( null)),
|
|
28201
28383
|
toolCalls
|
|
28202
28384
|
};
|
|
28203
28385
|
}
|
|
@@ -28253,7 +28435,7 @@ function ApprovalRequestNotificationTile({
|
|
|
28253
28435
|
const [processing, setProcessing] = _react.useState.call(void 0, false);
|
|
28254
28436
|
const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
|
|
28255
28437
|
const approval = getApprovalMeta(notification);
|
|
28256
|
-
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess',
|
|
28438
|
+
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _578 => _578.resolution]));
|
|
28257
28439
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
28258
28440
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
28259
28441
|
const { innerRef, containerStyle } = _chunkOWGLRE74cjs.useCollapsible.call(void 0, { expanded });
|
|
@@ -28590,7 +28772,7 @@ function TimeTrackerPanel({
|
|
|
28590
28772
|
error: showFieldError ? "Required if no notes added" : void 0,
|
|
28591
28773
|
disableClientFilter: !!onTicketSearch,
|
|
28592
28774
|
onInputChange: (value, reason) => {
|
|
28593
|
-
if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall',
|
|
28775
|
+
if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _579 => _579(value)]);
|
|
28594
28776
|
}
|
|
28595
28777
|
}
|
|
28596
28778
|
),
|
|
@@ -28605,7 +28787,7 @@ function TimeTrackerPanel({
|
|
|
28605
28787
|
disabled: customerLocked,
|
|
28606
28788
|
disableClientFilter: !!onCustomerSearch,
|
|
28607
28789
|
onInputChange: (value, reason) => {
|
|
28608
|
-
if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall',
|
|
28790
|
+
if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall', _580 => _580(value)]);
|
|
28609
28791
|
},
|
|
28610
28792
|
startAdornment: customerStartAdornment,
|
|
28611
28793
|
renderOption: renderCustomerOption
|
|
@@ -28707,7 +28889,7 @@ function LastEntryRow({ entry, onClick }) {
|
|
|
28707
28889
|
{
|
|
28708
28890
|
variant: "outline",
|
|
28709
28891
|
size: "icon",
|
|
28710
|
-
onClick: () => _optionalChain([onClick, 'optionalCall',
|
|
28892
|
+
onClick: () => _optionalChain([onClick, 'optionalCall', _581 => _581(entry)]),
|
|
28711
28893
|
disabled: !onClick,
|
|
28712
28894
|
"aria-label": `Open entry: ${entry.title}`,
|
|
28713
28895
|
className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
|
|
@@ -28791,28 +28973,28 @@ function HeaderButton({
|
|
|
28791
28973
|
function TimeTrackerHeaderButton({ className, disabled }) {
|
|
28792
28974
|
const ctx = useOptionalTimeTracker();
|
|
28793
28975
|
const elapsedLabel = useTrackerClock({
|
|
28794
|
-
status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
28795
|
-
runningSince: _optionalChain([ctx, 'optionalAccess',
|
|
28796
|
-
accumulatedMs: _optionalChain([ctx, 'optionalAccess',
|
|
28976
|
+
status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _582 => _582.status]), () => ( "ready")),
|
|
28977
|
+
runningSince: _optionalChain([ctx, 'optionalAccess', _583 => _583.runningSince]),
|
|
28978
|
+
accumulatedMs: _optionalChain([ctx, 'optionalAccess', _584 => _584.accumulatedMs])
|
|
28797
28979
|
});
|
|
28798
28980
|
const layoutContainer = useAppLayoutDrawerContainer();
|
|
28799
28981
|
const coordination = useAppLayoutDrawerCoordination();
|
|
28800
|
-
const isOpen = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
28982
|
+
const isOpen = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _585 => _585.isOpen]), () => ( false));
|
|
28801
28983
|
const isOpenRef = _react.useRef.call(void 0, isOpen);
|
|
28802
|
-
const closeRef = _react.useRef.call(void 0, _optionalChain([ctx, 'optionalAccess',
|
|
28984
|
+
const closeRef = _react.useRef.call(void 0, _optionalChain([ctx, 'optionalAccess', _586 => _586.close]));
|
|
28803
28985
|
_react.useEffect.call(void 0, () => {
|
|
28804
28986
|
isOpenRef.current = isOpen;
|
|
28805
|
-
closeRef.current = _optionalChain([ctx, 'optionalAccess',
|
|
28987
|
+
closeRef.current = _optionalChain([ctx, 'optionalAccess', _587 => _587.close]);
|
|
28806
28988
|
});
|
|
28807
28989
|
const [selfHandle] = _react.useState.call(void 0, () => ({
|
|
28808
28990
|
close: () => {
|
|
28809
|
-
if (isOpenRef.current) _optionalChain([closeRef, 'access',
|
|
28991
|
+
if (isOpenRef.current) _optionalChain([closeRef, 'access', _588 => _588.current, 'optionalCall', _589 => _589()]);
|
|
28810
28992
|
}
|
|
28811
28993
|
}));
|
|
28812
28994
|
_react.useEffect.call(void 0, () => {
|
|
28813
|
-
if (isOpen) _optionalChain([coordination, 'optionalAccess',
|
|
28995
|
+
if (isOpen) _optionalChain([coordination, 'optionalAccess', _590 => _590.notifyDrawerDidOpen, 'call', _591 => _591(selfHandle)]);
|
|
28814
28996
|
}, [isOpen, coordination, selfHandle]);
|
|
28815
|
-
_react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess',
|
|
28997
|
+
_react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess', _592 => _592.registerDrawer, 'call', _593 => _593(selfHandle)]), [coordination, selfHandle]);
|
|
28816
28998
|
if (!ctx) return null;
|
|
28817
28999
|
const { open, close, status } = ctx;
|
|
28818
29000
|
const isPaused = status === "paused";
|
|
@@ -28890,12 +29072,12 @@ function formatLastOnline(lastSeen) {
|
|
|
28890
29072
|
|
|
28891
29073
|
// src/components/features/devices/device-name.ts
|
|
28892
29074
|
function getDeviceName(device) {
|
|
28893
|
-
return _optionalChain([device, 'optionalAccess',
|
|
29075
|
+
return _optionalChain([device, 'optionalAccess', _594 => _594.nickname]) || _optionalChain([device, 'optionalAccess', _595 => _595.displayName]) || _optionalChain([device, 'optionalAccess', _596 => _596.hostname]) || "";
|
|
28894
29076
|
}
|
|
28895
29077
|
function matchesDeviceName(device, search = "") {
|
|
28896
29078
|
const needle = search.trim().toLowerCase();
|
|
28897
29079
|
if (!needle) return true;
|
|
28898
|
-
return getDeviceName(device).toLowerCase().includes(needle) || (_nullishCoalesce(_optionalChain([device, 'optionalAccess',
|
|
29080
|
+
return getDeviceName(device).toLowerCase().includes(needle) || (_nullishCoalesce(_optionalChain([device, 'optionalAccess', _597 => _597.hostname]), () => ( ""))).toLowerCase().includes(needle);
|
|
28899
29081
|
}
|
|
28900
29082
|
|
|
28901
29083
|
// src/components/features/devices/devices-view-config.tsx
|
|
@@ -29034,7 +29216,7 @@ function getDeviceStatusConfig(status) {
|
|
|
29034
29216
|
}
|
|
29035
29217
|
}
|
|
29036
29218
|
function getDeviceOperatingSystem(osType) {
|
|
29037
|
-
return
|
|
29219
|
+
return _chunkGOTEXQZNcjs.getOSPlatformId.call(void 0, osType);
|
|
29038
29220
|
}
|
|
29039
29221
|
|
|
29040
29222
|
// src/components/features/devices/device-statuses.ts
|
|
@@ -29088,7 +29270,7 @@ var HIDDEN_DEVICE_STATUSES = [DEVICE_STATUS.ARCHIVED, DEVICE_STATUS.DELETED];
|
|
|
29088
29270
|
|
|
29089
29271
|
var DEFAULT_CLASS_NAME = "w-6 h-6 text-ods-text-secondary";
|
|
29090
29272
|
function renderDeviceTypeIcon(type, className = DEFAULT_CLASS_NAME) {
|
|
29091
|
-
switch (_optionalChain([type, 'optionalAccess',
|
|
29273
|
+
switch (_optionalChain([type, 'optionalAccess', _598 => _598.toLowerCase, 'call', _599 => _599()])) {
|
|
29092
29274
|
case "desktop":
|
|
29093
29275
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPTK7GOIIcjs.MonitorIcon, { className });
|
|
29094
29276
|
case "laptop":
|
|
@@ -29230,7 +29412,7 @@ function getDeviceActionsColumn(renderRowActions) {
|
|
|
29230
29412
|
}
|
|
29231
29413
|
function OpenDeviceButton({ device }) {
|
|
29232
29414
|
const { getDeviceHref } = useDevicesViewConfig();
|
|
29233
|
-
const href = _optionalChain([getDeviceHref, 'optionalCall',
|
|
29415
|
+
const href = _optionalChain([getDeviceHref, 'optionalCall', _600 => _600(device)]);
|
|
29234
29416
|
const open = (event) => {
|
|
29235
29417
|
event.preventDefault();
|
|
29236
29418
|
if (href) window.open(href, "_blank", "noopener,noreferrer");
|
|
@@ -29321,10 +29503,10 @@ function OrganizationCell({ device }) {
|
|
|
29321
29503
|
] });
|
|
29322
29504
|
}
|
|
29323
29505
|
function buildDeviceFilterOptions(deviceFilters) {
|
|
29324
|
-
const status = (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess',
|
|
29325
|
-
const os = (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess',
|
|
29506
|
+
const status = (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _601 => _601.statuses]), () => ( []))).filter((s) => DEFAULT_VISIBLE_STATUSES.includes(s.value)).map((s) => ({ id: s.value, label: getDeviceStatusConfig(s.value).label, value: s.value, count: s.count }));
|
|
29507
|
+
const os = (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _602 => _602.osTypes]), () => ( []))).map((o) => ({ id: o.value, label: o.value, value: o.value, count: o.count }));
|
|
29326
29508
|
const organization = uniqueById(
|
|
29327
|
-
(_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess',
|
|
29509
|
+
(_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _603 => _603.organizationIds]), () => ( []))).map((org) => ({
|
|
29328
29510
|
id: org.value,
|
|
29329
29511
|
label: org.label,
|
|
29330
29512
|
value: org.value,
|
|
@@ -29418,7 +29600,7 @@ function isCompleteTag(tag) {
|
|
|
29418
29600
|
const i = tag.indexOf(":");
|
|
29419
29601
|
return i > 0 && i < tag.length - 1;
|
|
29420
29602
|
}
|
|
29421
|
-
var scrollMainToTop = () => _optionalChain([document, 'access',
|
|
29603
|
+
var scrollMainToTop = () => _optionalChain([document, 'access', _604 => _604.querySelector, 'call', _605 => _605("main"), 'optionalAccess', _606 => _606.scrollTo, 'call', _607 => _607({ top: 0, behavior: "instant" })]);
|
|
29422
29604
|
function useTagFilterModal({
|
|
29423
29605
|
tags,
|
|
29424
29606
|
deviceFilters,
|
|
@@ -29440,7 +29622,7 @@ function useTagFilterModal({
|
|
|
29440
29622
|
}));
|
|
29441
29623
|
}, [columns, isMdUp]);
|
|
29442
29624
|
const tagFilterKeys = _react.useMemo.call(void 0, () => {
|
|
29443
|
-
if (!_optionalChain([deviceFilters, 'optionalAccess',
|
|
29625
|
+
if (!_optionalChain([deviceFilters, 'optionalAccess', _608 => _608.tagKeys])) return [];
|
|
29444
29626
|
const grouped = /* @__PURE__ */ new Map();
|
|
29445
29627
|
for (const tag of deviceFilters.tagKeys) {
|
|
29446
29628
|
if (tag.key === "null") continue;
|
|
@@ -29608,7 +29790,7 @@ function DeviceSelector({
|
|
|
29608
29790
|
const clientToggleDevice = _react.useCallback.call(void 0,
|
|
29609
29791
|
(device) => {
|
|
29610
29792
|
if (disabled) return;
|
|
29611
|
-
if (_optionalChain([isDeviceDisabled, 'optionalCall',
|
|
29793
|
+
if (_optionalChain([isDeviceDisabled, 'optionalCall', _609 => _609(device)])) return;
|
|
29612
29794
|
const key = getDeviceKey(device);
|
|
29613
29795
|
if (key === void 0) return;
|
|
29614
29796
|
const current = selectedIdsRef.current;
|
|
@@ -29633,7 +29815,7 @@ function DeviceSelector({
|
|
|
29633
29815
|
return;
|
|
29634
29816
|
}
|
|
29635
29817
|
if (disabled) return;
|
|
29636
|
-
if (_optionalChain([isDeviceDisabled, 'optionalCall',
|
|
29818
|
+
if (_optionalChain([isDeviceDisabled, 'optionalCall', _610 => _610(device)])) return;
|
|
29637
29819
|
if (server.activeTab === "selected") {
|
|
29638
29820
|
server.onRemove(device);
|
|
29639
29821
|
return;
|
|
@@ -29694,7 +29876,7 @@ function DeviceSelector({
|
|
|
29694
29876
|
const base = addAllBehavior === "replace" ? /* @__PURE__ */ new Set() : new Set(selectedIds);
|
|
29695
29877
|
for (const d of client.filteredDevices) {
|
|
29696
29878
|
if (!matchesVisibleFilters(d)) continue;
|
|
29697
|
-
if (_optionalChain([isDeviceDisabled, 'optionalCall',
|
|
29879
|
+
if (_optionalChain([isDeviceDisabled, 'optionalCall', _611 => _611(d)])) continue;
|
|
29698
29880
|
const key = getDeviceKey(d);
|
|
29699
29881
|
if (key !== void 0) {
|
|
29700
29882
|
base.add(key);
|
|
@@ -29723,7 +29905,7 @@ function DeviceSelector({
|
|
|
29723
29905
|
const orgKey = _nullishCoalesce(d.organizationId, () => ( d.organization));
|
|
29724
29906
|
if (orgKey) {
|
|
29725
29907
|
const existing = orgCounts.get(orgKey);
|
|
29726
|
-
orgCounts.set(orgKey, { label: _nullishCoalesce(d.organization, () => ( orgKey)), count: (_nullishCoalesce(_optionalChain([existing, 'optionalAccess',
|
|
29908
|
+
orgCounts.set(orgKey, { label: _nullishCoalesce(d.organization, () => ( orgKey)), count: (_nullishCoalesce(_optionalChain([existing, 'optionalAccess', _612 => _612.count]), () => ( 0))) + 1 });
|
|
29727
29909
|
}
|
|
29728
29910
|
for (const tag of _nullishCoalesce(d.tags, () => ( []))) {
|
|
29729
29911
|
const vc = _nullishCoalesce(tagSeen.get(tag.key), () => ( /* @__PURE__ */ new Map()));
|
|
@@ -29746,18 +29928,18 @@ function DeviceSelector({
|
|
|
29746
29928
|
filteredCount: devices.length
|
|
29747
29929
|
};
|
|
29748
29930
|
}, [devices]);
|
|
29749
|
-
const deviceFilters = _nullishCoalesce(_optionalChain([server, 'optionalAccess',
|
|
29750
|
-
const serverFaceted = Boolean(_optionalChain([server, 'optionalAccess',
|
|
29931
|
+
const deviceFilters = _nullishCoalesce(_optionalChain([server, 'optionalAccess', _613 => _613.filterOptions]), () => ( clientDeviceFilters));
|
|
29932
|
+
const serverFaceted = Boolean(_optionalChain([server, 'optionalAccess', _614 => _614.filterOptions]));
|
|
29751
29933
|
const filterColumns = _react.useMemo.call(void 0, () => {
|
|
29752
29934
|
const columns2 = getDeviceFilterColumns(deviceFilters);
|
|
29753
29935
|
if (serverFaceted) return columns2;
|
|
29754
29936
|
return columns2.map((column) => ({
|
|
29755
29937
|
...column,
|
|
29756
|
-
filterOptions: _optionalChain([column, 'access',
|
|
29938
|
+
filterOptions: _optionalChain([column, 'access', _615 => _615.filterOptions, 'optionalAccess', _616 => _616.map, 'call', _617 => _617(({ count: _count, ...option }) => option)])
|
|
29757
29939
|
}));
|
|
29758
29940
|
}, [deviceFilters, serverFaceted]);
|
|
29759
29941
|
const statusFilterOptions = _react.useMemo.call(void 0, () => {
|
|
29760
|
-
const options = _nullishCoalesce(_optionalChain([filterColumns, 'access',
|
|
29942
|
+
const options = _nullishCoalesce(_optionalChain([filterColumns, 'access', _618 => _618.find, 'call', _619 => _619((column) => column.key === "status"), 'optionalAccess', _620 => _620.filterOptions]), () => ( []));
|
|
29761
29943
|
return [...options].sort((a, b) => {
|
|
29762
29944
|
if (a.value === DEVICE_STATUS.ARCHIVED) return 1;
|
|
29763
29945
|
if (b.value === DEVICE_STATUS.ARCHIVED) return -1;
|
|
@@ -29765,15 +29947,15 @@ function DeviceSelector({
|
|
|
29765
29947
|
});
|
|
29766
29948
|
}, [filterColumns]);
|
|
29767
29949
|
const orgFilterOptions = _react.useMemo.call(void 0,
|
|
29768
|
-
() => _nullishCoalesce(_optionalChain([filterColumns, 'access',
|
|
29950
|
+
() => _nullishCoalesce(_optionalChain([filterColumns, 'access', _621 => _621.find, 'call', _622 => _622((column) => column.key === "organization"), 'optionalAccess', _623 => _623.filterOptions]), () => ( [])),
|
|
29769
29951
|
[filterColumns]
|
|
29770
29952
|
);
|
|
29771
29953
|
const handleSetParams = _react.useCallback.call(void 0,
|
|
29772
29954
|
(params) => {
|
|
29773
29955
|
setColumnFilters([
|
|
29774
|
-
..._optionalChain([params, 'access',
|
|
29775
|
-
..._optionalChain([params, 'access',
|
|
29776
|
-
..._optionalChain([params, 'access',
|
|
29956
|
+
..._optionalChain([params, 'access', _624 => _624.statuses, 'optionalAccess', _625 => _625.length]) ? [{ id: "status", value: params.statuses }] : [],
|
|
29957
|
+
..._optionalChain([params, 'access', _626 => _626.osTypes, 'optionalAccess', _627 => _627.length]) ? [{ id: "os", value: params.osTypes }] : [],
|
|
29958
|
+
..._optionalChain([params, 'access', _628 => _628.organizationIds, 'optionalAccess', _629 => _629.length]) ? [{ id: "organization", value: params.organizationIds }] : []
|
|
29777
29959
|
]);
|
|
29778
29960
|
setSelectedTags(_nullishCoalesce(params.tags, () => ( [])));
|
|
29779
29961
|
},
|
|
@@ -29797,9 +29979,9 @@ function DeviceSelector({
|
|
|
29797
29979
|
const tagOptions = _react.useMemo.call(void 0, () => selectedTags.map((t) => ({ label: t, value: t })), [selectedTags]);
|
|
29798
29980
|
const tableFilters = _react.useMemo.call(void 0,
|
|
29799
29981
|
() => ({
|
|
29800
|
-
status: _nullishCoalesce(_optionalChain([columnFilters, 'access',
|
|
29801
|
-
os: _nullishCoalesce(_optionalChain([columnFilters, 'access',
|
|
29802
|
-
organization: _nullishCoalesce(_optionalChain([columnFilters, 'access',
|
|
29982
|
+
status: _nullishCoalesce(_optionalChain([columnFilters, 'access', _630 => _630.find, 'call', _631 => _631((f) => f.id === "status"), 'optionalAccess', _632 => _632.value]), () => ( [])),
|
|
29983
|
+
os: _nullishCoalesce(_optionalChain([columnFilters, 'access', _633 => _633.find, 'call', _634 => _634((f) => f.id === "os"), 'optionalAccess', _635 => _635.value]), () => ( [])),
|
|
29984
|
+
organization: _nullishCoalesce(_optionalChain([columnFilters, 'access', _636 => _636.find, 'call', _637 => _637((f) => f.id === "organization"), 'optionalAccess', _638 => _638.value]), () => ( []))
|
|
29803
29985
|
}),
|
|
29804
29986
|
[columnFilters]
|
|
29805
29987
|
);
|
|
@@ -29882,7 +30064,7 @@ function DeviceSelector({
|
|
|
29882
30064
|
id: "actions",
|
|
29883
30065
|
cell: ({ row }) => {
|
|
29884
30066
|
const device = row.original;
|
|
29885
|
-
const disabledReason = _optionalChain([isDeviceDisabled, 'optionalCall',
|
|
30067
|
+
const disabledReason = _optionalChain([isDeviceDisabled, 'optionalCall', _639 => _639(device)]);
|
|
29886
30068
|
if (disabledReason) {
|
|
29887
30069
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex w-full items-center justify-end gap-2", children: [
|
|
29888
30070
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-line text-right text-ods-text-secondary text-h6 content-max-md:hidden", children: disabledReason }),
|
|
@@ -30013,7 +30195,7 @@ function DeviceSelector({
|
|
|
30013
30195
|
showHeader && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30014
30196
|
DataTable.Header,
|
|
30015
30197
|
{
|
|
30016
|
-
rightSlot: _nullishCoalesce(bulkAction, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.RowCount, { itemName: "device", totalCount: _nullishCoalesce(totalCount, () => ( _optionalChain([server, 'optionalAccess',
|
|
30198
|
+
rightSlot: _nullishCoalesce(bulkAction, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.RowCount, { itemName: "device", totalCount: _nullishCoalesce(totalCount, () => ( _optionalChain([server, 'optionalAccess', _640 => _640.totalCount]))) })))
|
|
30017
30199
|
}
|
|
30018
30200
|
),
|
|
30019
30201
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -30104,7 +30286,7 @@ function DeviceSelectorSkeleton(props) {
|
|
|
30104
30286
|
// src/components/features/devices/device-selector/narrowing.ts
|
|
30105
30287
|
var EMPTY_NARROWING = { columnFilters: [], tags: [] };
|
|
30106
30288
|
function narrowingToFilter(narrowing) {
|
|
30107
|
-
const column = (id) => _optionalChain([narrowing, 'access',
|
|
30289
|
+
const column = (id) => _optionalChain([narrowing, 'access', _641 => _641.columnFilters, 'access', _642 => _642.find, 'call', _643 => _643((f) => f.id === id), 'optionalAccess', _644 => _644.value]);
|
|
30108
30290
|
const tagPairs = narrowing.tags.flatMap((t) => {
|
|
30109
30291
|
const i = t.indexOf(":");
|
|
30110
30292
|
return i > 0 ? [{ key: t.slice(0, i), value: t.slice(i + 1) }] : [];
|
|
@@ -30113,9 +30295,9 @@ function narrowingToFilter(narrowing) {
|
|
|
30113
30295
|
const statuses = column("status");
|
|
30114
30296
|
const osTypes = column("os");
|
|
30115
30297
|
const organizationIds = column("organization");
|
|
30116
|
-
if (_optionalChain([statuses, 'optionalAccess',
|
|
30117
|
-
if (_optionalChain([osTypes, 'optionalAccess',
|
|
30118
|
-
if (_optionalChain([organizationIds, 'optionalAccess',
|
|
30298
|
+
if (_optionalChain([statuses, 'optionalAccess', _645 => _645.length])) filter.statuses = statuses;
|
|
30299
|
+
if (_optionalChain([osTypes, 'optionalAccess', _646 => _646.length])) filter.osTypes = osTypes;
|
|
30300
|
+
if (_optionalChain([organizationIds, 'optionalAccess', _647 => _647.length])) filter.organizationIds = organizationIds;
|
|
30119
30301
|
if (tagPairs.length) {
|
|
30120
30302
|
filter.tagKeys = tagPairs.map((t) => t.key);
|
|
30121
30303
|
filter.tagValues = tagPairs.map((t) => t.value);
|
|
@@ -30136,7 +30318,7 @@ function DevicesGrid({
|
|
|
30136
30318
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
30137
30319
|
const { getDeviceHref } = useDevicesViewConfig();
|
|
30138
30320
|
const handleDeviceClick = (device) => {
|
|
30139
|
-
const href = device.machineId || device.id ? _optionalChain([getDeviceHref, 'optionalCall',
|
|
30321
|
+
const href = device.machineId || device.id ? _optionalChain([getDeviceHref, 'optionalCall', _648 => _648(device)]) : void 0;
|
|
30140
30322
|
if (href) router.push(href);
|
|
30141
30323
|
};
|
|
30142
30324
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: isLoading && devices.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeviceCardSkeletonGrid, { count: 12 }) : devices.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-64 items-center justify-center rounded-[6px] border border-ods-border bg-ods-card", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary", children: emptyMessage }) }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -30299,7 +30481,7 @@ function DevicesList({
|
|
|
30299
30481
|
const onColumnFiltersChange = _react.useCallback.call(void 0,
|
|
30300
30482
|
(updater) => {
|
|
30301
30483
|
const next = typeof updater === "function" ? updater(columnFilters) : updater;
|
|
30302
|
-
const pick = (id) => _nullishCoalesce(_optionalChain([next, 'access',
|
|
30484
|
+
const pick = (id) => _nullishCoalesce(_optionalChain([next, 'access', _649 => _649.find, 'call', _650 => _650((f) => f.id === id), 'optionalAccess', _651 => _651.value]), () => ( []));
|
|
30303
30485
|
patch({ statuses: pick("status"), osTypes: pick("os"), organizationIds: pick("organization") });
|
|
30304
30486
|
},
|
|
30305
30487
|
[columnFilters, patch]
|
|
@@ -30519,7 +30701,7 @@ function DevicesPanelView({
|
|
|
30519
30701
|
onLoadMore = noop,
|
|
30520
30702
|
gridSentinelRef
|
|
30521
30703
|
}) {
|
|
30522
|
-
const gridColumns = _nullishCoalesce(filterColumns, () => ( getDeviceFilterColumns(deviceFilters).filter((column) => !_optionalChain([hideFilters, 'optionalAccess',
|
|
30704
|
+
const gridColumns = _nullishCoalesce(filterColumns, () => ( getDeviceFilterColumns(deviceFilters).filter((column) => !_optionalChain([hideFilters, 'optionalAccess', _652 => _652.includes, 'call', _653 => _653(column.key)]))));
|
|
30523
30705
|
const list = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
30524
30706
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DevicesFilterToolbar, { ...toolbar, isLoading: loading }),
|
|
30525
30707
|
viewMode === "table" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -30581,10 +30763,10 @@ function DevicesPanelView({
|
|
|
30581
30763
|
actionsVariant: "icon-buttons",
|
|
30582
30764
|
className,
|
|
30583
30765
|
selector: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30584
|
-
|
|
30766
|
+
_chunkDJO7YMT3cjs.TabSelector,
|
|
30585
30767
|
{
|
|
30586
30768
|
value: viewMode,
|
|
30587
|
-
onValueChange: (value) => _optionalChain([onViewModeChange, 'optionalCall',
|
|
30769
|
+
onValueChange: (value) => _optionalChain([onViewModeChange, 'optionalCall', _654 => _654(value)]),
|
|
30588
30770
|
items: DEVICE_VIEW_MODE_ITEMS,
|
|
30589
30771
|
disabled: loading
|
|
30590
30772
|
}
|
|
@@ -30805,9 +30987,9 @@ function SoftwareRowFields({ row, removable, onChange, onRemove, renderPackageSe
|
|
|
30805
30987
|
value: row.pkg,
|
|
30806
30988
|
onChange: (pkg) => onChange({ ...row, pkg })
|
|
30807
30989
|
}) }),
|
|
30808
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([row, 'access',
|
|
30990
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([row, 'access', _655 => _655.pkg, 'optionalAccess', _656 => _656.description]), label: "Description" }),
|
|
30809
30991
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-end gap-[var(--spacing-system-lf)]", children: [
|
|
30810
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([row, 'access',
|
|
30992
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([row, 'access', _657 => _657.pkg, 'optionalAccess', _658 => _658.version]), label: "Current Version" }),
|
|
30811
30993
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30812
30994
|
_chunk2QMBXGMQcjs.Button,
|
|
30813
30995
|
{
|
|
@@ -31097,10 +31279,10 @@ var ToolBadge = ({
|
|
|
31097
31279
|
className,
|
|
31098
31280
|
iconClassName
|
|
31099
31281
|
}) => {
|
|
31100
|
-
const text = _nullishCoalesce(label, () => ( (toolType ?
|
|
31282
|
+
const text = _nullishCoalesce(label, () => ( (toolType ? _chunkGOTEXQZNcjs.getToolLabel.call(void 0, toolType) : "")));
|
|
31101
31283
|
const mark = _nullishCoalesce(icon, () => ( (toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWI2OTGKCcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }) : null)));
|
|
31102
31284
|
const linked = (node, linkClassName) => href && targetPlatform ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31103
|
-
|
|
31285
|
+
_chunkDJO7YMT3cjs.NavLinkAnchorViaRuntime,
|
|
31104
31286
|
{
|
|
31105
31287
|
href,
|
|
31106
31288
|
targetPlatform,
|
|
@@ -31193,7 +31375,7 @@ function LogsTableView({
|
|
|
31193
31375
|
meta: {
|
|
31194
31376
|
width: LOG_COLUMN_WIDTHS.status,
|
|
31195
31377
|
filter: {
|
|
31196
|
-
options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess',
|
|
31378
|
+
options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _659 => _659.severities, 'access', _660 => _660.map, 'call', _661 => _661((severity) => ({
|
|
31197
31379
|
id: severity,
|
|
31198
31380
|
label: severity.charAt(0).toUpperCase() + severity.slice(1).toLowerCase(),
|
|
31199
31381
|
value: severity
|
|
@@ -31207,7 +31389,7 @@ function LogsTableView({
|
|
|
31207
31389
|
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31208
31390
|
ToolBadge,
|
|
31209
31391
|
{
|
|
31210
|
-
toolType:
|
|
31392
|
+
toolType: _chunkGOTEXQZNcjs.normalizeToolTypeWithFallback.call(void 0, row.original.source.toolType),
|
|
31211
31393
|
iconClassName: "h-4 w-4 content-md:h-6 content-md:w-6"
|
|
31212
31394
|
}
|
|
31213
31395
|
),
|
|
@@ -31217,9 +31399,9 @@ function LogsTableView({
|
|
|
31217
31399
|
width: LOG_COLUMN_WIDTHS.tool,
|
|
31218
31400
|
hideAt: "md",
|
|
31219
31401
|
filter: {
|
|
31220
|
-
options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess',
|
|
31402
|
+
options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _662 => _662.toolTypes, 'access', _663 => _663.map, 'call', _664 => _664((toolType) => ({
|
|
31221
31403
|
id: toolType,
|
|
31222
|
-
label:
|
|
31404
|
+
label: _chunkGOTEXQZNcjs.toToolLabel.call(void 0, toolType),
|
|
31223
31405
|
value: toolType
|
|
31224
31406
|
}))]), () => ( []))
|
|
31225
31407
|
}
|
|
@@ -31240,7 +31422,7 @@ function LogsTableView({
|
|
|
31240
31422
|
meta: {
|
|
31241
31423
|
width: LOG_COLUMN_WIDTHS.source,
|
|
31242
31424
|
hideAt: "md",
|
|
31243
|
-
filter: organizationLocked ? void 0 : { options: [..._nullishCoalesce(_optionalChain([facets, 'optionalAccess',
|
|
31425
|
+
filter: organizationLocked ? void 0 : { options: [..._nullishCoalesce(_optionalChain([facets, 'optionalAccess', _665 => _665.organizations]), () => ( []))] }
|
|
31244
31426
|
}
|
|
31245
31427
|
},
|
|
31246
31428
|
{
|
|
@@ -31252,7 +31434,7 @@ function LogsTableView({
|
|
|
31252
31434
|
},
|
|
31253
31435
|
{
|
|
31254
31436
|
id: "copy",
|
|
31255
|
-
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: _optionalChain([renderCopyAction, 'optionalCall',
|
|
31437
|
+
cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: _optionalChain([renderCopyAction, 'optionalCall', _666 => _666(row.original)]) }),
|
|
31256
31438
|
enableSorting: false,
|
|
31257
31439
|
meta: { width: `${LOG_COLUMN_WIDTHS.action} ml-auto`, align: "right" }
|
|
31258
31440
|
},
|
|
@@ -31261,7 +31443,7 @@ function LogsTableView({
|
|
|
31261
31443
|
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,
|
|
31262
31444
|
_chunk2QMBXGMQcjs.Button,
|
|
31263
31445
|
{
|
|
31264
|
-
onClick: () => _optionalChain([onQuickView, 'optionalCall',
|
|
31446
|
+
onClick: () => _optionalChain([onQuickView, 'optionalCall', _667 => _667(row.original)]),
|
|
31265
31447
|
variant: "outline",
|
|
31266
31448
|
size: "icon",
|
|
31267
31449
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMMLT7ASAcjs.EyeIcon, { className: "h-5 w-5" }),
|
|
@@ -31277,7 +31459,7 @@ function LogsTableView({
|
|
|
31277
31459
|
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,
|
|
31278
31460
|
_chunk2QMBXGMQcjs.Button,
|
|
31279
31461
|
{
|
|
31280
|
-
onClick: getLogHref ?
|
|
31462
|
+
onClick: getLogHref ? _chunkGOTEXQZNcjs.openInNewTab.call(void 0, getLogHref(row.original)) : void 0,
|
|
31281
31463
|
variant: "outline",
|
|
31282
31464
|
size: "icon",
|
|
31283
31465
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -31289,14 +31471,14 @@ function LogsTableView({
|
|
|
31289
31471
|
meta: { width: LOG_COLUMN_WIDTHS.action, hideAt: "md", align: "right" }
|
|
31290
31472
|
}
|
|
31291
31473
|
];
|
|
31292
|
-
if (!_optionalChain([hiddenColumns, 'optionalAccess',
|
|
31474
|
+
if (!_optionalChain([hiddenColumns, 'optionalAccess', _668 => _668.length])) return all;
|
|
31293
31475
|
return all.filter((column) => !hiddenColumns.includes(columnId(column)));
|
|
31294
31476
|
}, [facets, getLogHref, organizationLocked, logIdHeader, renderCopyAction, onQuickView, hiddenColumns]);
|
|
31295
31477
|
const filterGroups = _react.useMemo.call(void 0,
|
|
31296
|
-
() => columns.filter((column) => _optionalChain([column, 'access',
|
|
31478
|
+
() => columns.filter((column) => _optionalChain([column, 'access', _669 => _669.meta, 'optionalAccess', _670 => _670.filter, 'optionalAccess', _671 => _671.options])).map((column) => ({
|
|
31297
31479
|
id: columnId(column),
|
|
31298
31480
|
title: typeof column.header === "string" ? column.header : "",
|
|
31299
|
-
options: _optionalChain([column, 'access',
|
|
31481
|
+
options: _optionalChain([column, 'access', _672 => _672.meta, 'optionalAccess', _673 => _673.filter, 'optionalAccess', _674 => _674.options]) || []
|
|
31300
31482
|
})),
|
|
31301
31483
|
[columns]
|
|
31302
31484
|
);
|
|
@@ -31325,14 +31507,14 @@ function LogsTableView({
|
|
|
31325
31507
|
onColumnFiltersChange: handleColumnFiltersChange
|
|
31326
31508
|
});
|
|
31327
31509
|
const hasActiveFilters = Object.values(filters).some((values) => values.length > 0);
|
|
31328
|
-
const hasQuery = Boolean(search) || hasActiveFilters || Boolean(_optionalChain([dateFilter, 'optionalAccess',
|
|
31510
|
+
const hasQuery = Boolean(search) || hasActiveFilters || Boolean(_optionalChain([dateFilter, 'optionalAccess', _675 => _675.range]));
|
|
31329
31511
|
const noRows = !loading && logs.length === 0;
|
|
31330
31512
|
const showEmptyState = !organizationLocked && !hasQuery && noRows;
|
|
31331
31513
|
const scoped = deviceScoped || organizationLocked;
|
|
31332
31514
|
const scopedEmpty = scoped && noRows;
|
|
31333
31515
|
const hideSearch = showEmptyState || scopedEmpty && !hasQuery;
|
|
31334
31516
|
_react.useEffect.call(void 0, () => {
|
|
31335
|
-
_optionalChain([onHideSearchChange, 'optionalCall',
|
|
31517
|
+
_optionalChain([onHideSearchChange, 'optionalCall', _676 => _676(hideSearch)]);
|
|
31336
31518
|
}, [hideSearch, onHideSearchChange]);
|
|
31337
31519
|
if (showEmptyState) {
|
|
31338
31520
|
const emptyProps = deviceScoped ? { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIK3ZQW3Dcjs.ClipboardListIcon, {}), title: EMPTY_TITLE, description: EMPTY_DESCRIPTION } : {
|
|
@@ -31512,7 +31694,7 @@ function ExecutionTimestampCell({ timestamp, executionId }) {
|
|
|
31512
31694
|
}
|
|
31513
31695
|
function ExecutionStatusCell({ status }) {
|
|
31514
31696
|
const presentation = scriptExecutionStatus(status);
|
|
31515
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkABLUMGCIcjs.Tag, { label: _nullishCoalesce(_optionalChain([presentation, 'optionalAccess',
|
|
31697
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkABLUMGCIcjs.Tag, { label: _nullishCoalesce(_optionalChain([presentation, 'optionalAccess', _677 => _677.label]), () => ( String(_nullishCoalesce(status, () => ( ""))))), variant: _nullishCoalesce(_optionalChain([presentation, 'optionalAccess', _678 => _678.variant]), () => ( "grey")) }) });
|
|
31516
31698
|
}
|
|
31517
31699
|
function ExecutionDeviceCell({ name, organization }) {
|
|
31518
31700
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col justify-center gap-1", children: [
|
|
@@ -31652,7 +31834,7 @@ function OpenInNewTabCell({ href }) {
|
|
|
31652
31834
|
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,
|
|
31653
31835
|
_chunk2QMBXGMQcjs.Button,
|
|
31654
31836
|
{
|
|
31655
|
-
onClick:
|
|
31837
|
+
onClick: _chunkGOTEXQZNcjs.openInNewTab.call(void 0, href),
|
|
31656
31838
|
variant: "outline",
|
|
31657
31839
|
size: "icon",
|
|
31658
31840
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -31703,7 +31885,7 @@ function ScriptExecutionsTable({
|
|
|
31703
31885
|
[EXECUTION_COLUMNS.result.id]: (row) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExecutionResultCell, { result: row.result }),
|
|
31704
31886
|
[EXECUTION_COLUMNS.open.id]: (row) => row.href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OpenInNewTabCell, { href: row.href }) : null
|
|
31705
31887
|
};
|
|
31706
|
-
return layout.filter((column) => renderers[column.id] && !_optionalChain([hideColumns, 'optionalAccess',
|
|
31888
|
+
return layout.filter((column) => renderers[column.id] && !_optionalChain([hideColumns, 'optionalAccess', _679 => _679.includes, 'call', _680 => _680(column.id)])).map((column) => ({
|
|
31707
31889
|
id: column.id,
|
|
31708
31890
|
header: _nullishCoalesce(column.header, () => ( "")),
|
|
31709
31891
|
cell: ({ row }) => renderers[column.id](row.original),
|
|
@@ -31801,25 +31983,25 @@ function ScriptSchedulesTable({
|
|
|
31801
31983
|
|
|
31802
31984
|
// src/components/features/scripts/shell-types.ts
|
|
31803
31985
|
var SCRIPT_SHELL_TYPES = [
|
|
31804
|
-
{ id:
|
|
31805
|
-
{ id:
|
|
31806
|
-
{ id:
|
|
31986
|
+
{ id: _chunkGOTEXQZNcjs.ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon: _chunkMCQY746Mcjs.PowershellLogoGreyIcon },
|
|
31987
|
+
{ id: _chunkGOTEXQZNcjs.ShellTypeValues.CMD, label: "CMD", value: "cmd", icon: _chunkNIVJEJSGcjs.TerminalSquareIcon },
|
|
31988
|
+
{ id: _chunkGOTEXQZNcjs.ShellTypeValues.BASH, label: "Bash", value: "bash", icon: _chunkTRUW6DDAcjs.TerminalIcon }
|
|
31807
31989
|
];
|
|
31808
31990
|
function scriptShellType(value) {
|
|
31809
31991
|
return SCRIPT_SHELL_TYPES.find((shell) => shell.value === value);
|
|
31810
31992
|
}
|
|
31811
31993
|
function scriptShellLabel(value) {
|
|
31812
|
-
return _nullishCoalesce(_optionalChain([scriptShellType, 'call',
|
|
31994
|
+
return _nullishCoalesce(_optionalChain([scriptShellType, 'call', _681 => _681(value), 'optionalAccess', _682 => _682.label]), () => ( value));
|
|
31813
31995
|
}
|
|
31814
31996
|
|
|
31815
31997
|
// src/components/features/scripts/script-shell-badge.tsx
|
|
31816
31998
|
|
|
31817
31999
|
function ScriptShellBadge({ value, className, iconClassName }) {
|
|
31818
32000
|
const shell = scriptShellType(value);
|
|
31819
|
-
const Icon = _optionalChain([shell, 'optionalAccess',
|
|
32001
|
+
const Icon = _optionalChain([shell, 'optionalAccess', _683 => _683.icon]);
|
|
31820
32002
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex items-center gap-2", className), children: [
|
|
31821
32003
|
Icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: _chunk3ATAYP36cjs.cn.call(void 0, "h-5 w-5 text-ods-text-secondary", iconClassName) }),
|
|
31822
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([shell, 'optionalAccess',
|
|
32004
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([shell, 'optionalAccess', _684 => _684.label]), () => ( value)) })
|
|
31823
32005
|
] });
|
|
31824
32006
|
}
|
|
31825
32007
|
|
|
@@ -32157,7 +32339,7 @@ function ScheduleIntervalInput(props) {
|
|
|
32157
32339
|
onBlur: () => {
|
|
32158
32340
|
focused.current = false;
|
|
32159
32341
|
setText(value === null ? "" : String(value));
|
|
32160
|
-
_optionalChain([onBlur, 'optionalCall',
|
|
32342
|
+
_optionalChain([onBlur, 'optionalCall', _685 => _685()]);
|
|
32161
32343
|
},
|
|
32162
32344
|
onChange: (e) => {
|
|
32163
32345
|
const raw = e.target.value;
|
|
@@ -32220,7 +32402,7 @@ function ScheduleOfflineFields({ showErrors, disabled = false }) {
|
|
|
32220
32402
|
const { field: intervalField, fieldState: intervalState } = _reacthookform.useController.call(void 0, { control, name: "reconnectInterval" });
|
|
32221
32403
|
const { field: unitField } = _reacthookform.useController.call(void 0, { control, name: "reconnectUnit" });
|
|
32222
32404
|
const windowDisabled = disabled || !isRetryOnReconnect(behaviorField.value);
|
|
32223
|
-
const intervalError = showErrors ? _optionalChain([intervalState, 'access',
|
|
32405
|
+
const intervalError = showErrors ? _optionalChain([intervalState, 'access', _686 => _686.error, 'optionalAccess', _687 => _687.message]) : void 0;
|
|
32224
32406
|
const handleUnitChange = (next) => {
|
|
32225
32407
|
unitField.onChange(next);
|
|
32226
32408
|
const snapped = snapReconnectInterval(intervalField.value, next);
|
|
@@ -32365,13 +32547,13 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
|
|
|
32365
32547
|
const [flipTick, setFlipTick] = _react.useState.call(void 0, 0);
|
|
32366
32548
|
const flipTimer = _react.useRef.call(void 0, null);
|
|
32367
32549
|
const readItems = _react.useCallback.call(void 0,
|
|
32368
|
-
() => [..._nullishCoalesce(_optionalChain([listRef, 'access',
|
|
32550
|
+
() => [..._nullishCoalesce(_optionalChain([listRef, 'access', _688 => _688.current, 'optionalAccess', _689 => _689.querySelectorAll, 'call', _690 => _690(`[${SORTABLE_ITEM_ATTRIBUTE}]`)]), () => ( []))],
|
|
32369
32551
|
[]
|
|
32370
32552
|
);
|
|
32371
32553
|
const reorder = _react.useCallback.call(void 0,
|
|
32372
32554
|
(from, to) => {
|
|
32373
32555
|
if (from === to) return;
|
|
32374
|
-
const label = _nullishCoalesce(_optionalChain([getItemLabelRef, 'access',
|
|
32556
|
+
const label = _nullishCoalesce(_optionalChain([getItemLabelRef, 'access', _691 => _691.current, 'optionalCall', _692 => _692(from)]), () => ( "Item"));
|
|
32375
32557
|
setAnnouncement(`${label} moved to position ${to + 1} of ${readItems().length}.`);
|
|
32376
32558
|
onReorderRef.current(from, to);
|
|
32377
32559
|
},
|
|
@@ -32459,7 +32641,7 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
|
|
|
32459
32641
|
moving.push(item);
|
|
32460
32642
|
}
|
|
32461
32643
|
if (moving.length === 0) return;
|
|
32462
|
-
void _optionalChain([listRef, 'access',
|
|
32644
|
+
void _optionalChain([listRef, 'access', _693 => _693.current, 'optionalAccess', _694 => _694.offsetHeight]);
|
|
32463
32645
|
for (const item of moving) {
|
|
32464
32646
|
item.style.transition = `transform ${DROP_MS}ms ${EASING}`;
|
|
32465
32647
|
item.style.transform = "";
|
|
@@ -32626,8 +32808,8 @@ function SortableMoveButtons({ index, count, label, className }) {
|
|
|
32626
32808
|
if (to < 0 || to >= count) return;
|
|
32627
32809
|
reorder(index, to);
|
|
32628
32810
|
requestAnimationFrame(() => {
|
|
32629
|
-
if (step === -1 && to === 0) _optionalChain([downRef, 'access',
|
|
32630
|
-
if (step === 1 && to === count - 1) _optionalChain([upRef, 'access',
|
|
32811
|
+
if (step === -1 && to === 0) _optionalChain([downRef, 'access', _695 => _695.current, 'optionalAccess', _696 => _696.focus, 'call', _697 => _697()]);
|
|
32812
|
+
if (step === 1 && to === count - 1) _optionalChain([upRef, 'access', _698 => _698.current, 'optionalAccess', _699 => _699.focus, 'call', _700 => _700()]);
|
|
32631
32813
|
});
|
|
32632
32814
|
};
|
|
32633
32815
|
const subject = _nullishCoalesce(label, () => ( "item"));
|
|
@@ -32675,7 +32857,7 @@ function useSortableItem() {
|
|
|
32675
32857
|
const [handle, setHandle] = _react.useState.call(void 0, null);
|
|
32676
32858
|
const [isDragging, setIsDragging] = _react.useState.call(void 0, false);
|
|
32677
32859
|
const itemRef = _react.useCallback.call(void 0, (node) => {
|
|
32678
|
-
_optionalChain([node, 'optionalAccess',
|
|
32860
|
+
_optionalChain([node, 'optionalAccess', _701 => _701.setAttribute, 'call', _702 => _702(SORTABLE_ITEM_ATTRIBUTE, "")]);
|
|
32679
32861
|
setItem(node);
|
|
32680
32862
|
}, []);
|
|
32681
32863
|
_react.useEffect.call(void 0, () => {
|
|
@@ -32705,7 +32887,7 @@ function useSortableItem() {
|
|
|
32705
32887
|
if (from < 0 || to < 0 || to >= items.length) return;
|
|
32706
32888
|
event.preventDefault();
|
|
32707
32889
|
reorder(from, to);
|
|
32708
|
-
requestAnimationFrame(() => _optionalChain([handle, 'optionalAccess',
|
|
32890
|
+
requestAnimationFrame(() => _optionalChain([handle, 'optionalAccess', _703 => _703.focus, 'call', _704 => _704()]));
|
|
32709
32891
|
},
|
|
32710
32892
|
[inert, readItems, reorder, handle]
|
|
32711
32893
|
);
|
|
@@ -32728,7 +32910,7 @@ function ScheduleScriptPickerCard({
|
|
|
32728
32910
|
}) {
|
|
32729
32911
|
const { control, setValue, watch } = _reacthookform.useFormContext.call(void 0, );
|
|
32730
32912
|
const selected = watch(`scripts.${index}`);
|
|
32731
|
-
const runParamsLocked = disabled || !_optionalChain([selected, 'optionalAccess',
|
|
32913
|
+
const runParamsLocked = disabled || !_optionalChain([selected, 'optionalAccess', _705 => _705.scriptId]);
|
|
32732
32914
|
const { itemRef, dragHandleProps, isDragging, dragAndDropEnabled } = useSortableItem();
|
|
32733
32915
|
const isMdUp = _chunkR34JD6NPcjs.useContentMdUp.call(void 0, );
|
|
32734
32916
|
const handleScriptPick = (row) => {
|
|
@@ -32760,7 +32942,7 @@ function ScheduleScriptPickerCard({
|
|
|
32760
32942
|
type: "button",
|
|
32761
32943
|
...dragHandleProps,
|
|
32762
32944
|
disabled,
|
|
32763
|
-
"aria-label": `Reorder ${_optionalChain([selected, 'optionalAccess',
|
|
32945
|
+
"aria-label": `Reorder ${_optionalChain([selected, 'optionalAccess', _706 => _706.name]) || `script ${index + 1}`}`,
|
|
32764
32946
|
className: `flex size-12 shrink-0 items-center justify-center rounded-[6px] text-ods-text-secondary hover:text-ods-text-primary focus-visible:outline focus-visible:outline-2 focus-visible:outline-ods-border-focus disabled:cursor-not-allowed disabled:opacity-30 ${isDragging ? "cursor-grabbing text-ods-text-primary" : "cursor-grab"}`,
|
|
32765
32947
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJAWIFYB2cjs.DraggerIcon, { size: 24 })
|
|
32766
32948
|
}
|
|
@@ -32771,18 +32953,18 @@ function ScheduleScriptPickerCard({
|
|
|
32771
32953
|
name: `scripts.${index}.scriptId`,
|
|
32772
32954
|
control,
|
|
32773
32955
|
render: ({ fieldState }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: renderScriptSearch({
|
|
32774
|
-
scriptId: _nullishCoalesce(_optionalChain([selected, 'optionalAccess',
|
|
32775
|
-
name: _nullishCoalesce(_optionalChain([selected, 'optionalAccess',
|
|
32956
|
+
scriptId: _nullishCoalesce(_optionalChain([selected, 'optionalAccess', _707 => _707.scriptId]), () => ( "")),
|
|
32957
|
+
name: _nullishCoalesce(_optionalChain([selected, 'optionalAccess', _708 => _708.name]), () => ( "")),
|
|
32776
32958
|
supportedPlatforms,
|
|
32777
32959
|
onPick: handleScriptPick,
|
|
32778
32960
|
disabled,
|
|
32779
|
-
error: showErrors ? _optionalChain([fieldState, 'access',
|
|
32961
|
+
error: showErrors ? _optionalChain([fieldState, 'access', _709 => _709.error, 'optionalAccess', _710 => _710.message]) : void 0,
|
|
32780
32962
|
invalid: showErrors && !!fieldState.error
|
|
32781
32963
|
}) })
|
|
32782
32964
|
}
|
|
32783
32965
|
),
|
|
32784
32966
|
!dragAndDropEnabled && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
32785
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableMoveButtons, { index, count, label: _optionalChain([selected, 'optionalAccess',
|
|
32967
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableMoveButtons, { index, count, label: _optionalChain([selected, 'optionalAccess', _711 => _711.name]) || `script ${index + 1}` }),
|
|
32786
32968
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32787
32969
|
_chunk2QMBXGMQcjs.Button,
|
|
32788
32970
|
{
|
|
@@ -32823,7 +33005,7 @@ function ScheduleScriptPickerCard({
|
|
|
32823
33005
|
onChange: (e) => field.onChange(e.target.value ? Number(e.target.value) : UNSET_TIMEOUT),
|
|
32824
33006
|
disabled: runParamsLocked,
|
|
32825
33007
|
endAdornment: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: "Seconds" }),
|
|
32826
|
-
error: showErrors ? _optionalChain([fieldState, 'access',
|
|
33008
|
+
error: showErrors ? _optionalChain([fieldState, 'access', _712 => _712.error, 'optionalAccess', _713 => _713.message]) : void 0,
|
|
32827
33009
|
invalid: showErrors && !!fieldState.error
|
|
32828
33010
|
}
|
|
32829
33011
|
)
|
|
@@ -33077,7 +33259,7 @@ function ScheduleTimingFields({
|
|
|
33077
33259
|
fromDate: minDate,
|
|
33078
33260
|
disabled: fieldsDisabled,
|
|
33079
33261
|
className: "w-full",
|
|
33080
|
-
error: _nullishCoalesce(dateError, () => ( (showErrors ? _optionalChain([fieldState, 'access',
|
|
33262
|
+
error: _nullishCoalesce(dateError, () => ( (showErrors ? _optionalChain([fieldState, 'access', _714 => _714.error, 'optionalAccess', _715 => _715.message]) : void 0))),
|
|
33081
33263
|
invalid: !!dateError || showErrors && !!fieldState.error
|
|
33082
33264
|
}
|
|
33083
33265
|
),
|
|
@@ -33112,7 +33294,7 @@ function ScheduleTimingFields({
|
|
|
33112
33294
|
_chunkU2O5YQRPcjs.SelectTrigger,
|
|
33113
33295
|
{
|
|
33114
33296
|
className: "w-full",
|
|
33115
|
-
error: _nullishCoalesce(pastTimeError, () => ( (showErrors ? _optionalChain([fieldState, 'access',
|
|
33297
|
+
error: _nullishCoalesce(pastTimeError, () => ( (showErrors ? _optionalChain([fieldState, 'access', _716 => _716.error, 'optionalAccess', _717 => _717.message]) : void 0))),
|
|
33116
33298
|
invalid: !!pastTimeError || showErrors && !!fieldState.error,
|
|
33117
33299
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2O5YQRPcjs.SelectValue, { placeholder: "Select time" })
|
|
33118
33300
|
}
|
|
@@ -33192,7 +33374,7 @@ function ScheduleTimingFields({
|
|
|
33192
33374
|
recheckReconnectWindow();
|
|
33193
33375
|
},
|
|
33194
33376
|
disabled: fieldsDisabled || !repeatEnabled,
|
|
33195
|
-
error: showErrors ? _optionalChain([fieldState, 'access',
|
|
33377
|
+
error: showErrors ? _optionalChain([fieldState, 'access', _718 => _718.error, 'optionalAccess', _719 => _719.message]) : void 0,
|
|
33196
33378
|
invalid: showErrors && !!fieldState.error
|
|
33197
33379
|
}
|
|
33198
33380
|
)
|
|
@@ -33236,7 +33418,7 @@ function ScheduleFormFields({
|
|
|
33236
33418
|
disabled = false,
|
|
33237
33419
|
renderScriptSearch,
|
|
33238
33420
|
timeReferenceGate = "off",
|
|
33239
|
-
platforms =
|
|
33421
|
+
platforms = _chunkGOTEXQZNcjs.OS_PLATFORMS,
|
|
33240
33422
|
comingSoonPlatforms = [],
|
|
33241
33423
|
getTimeSlots,
|
|
33242
33424
|
nameLayout = "stacked",
|
|
@@ -33277,7 +33459,7 @@ function ScheduleFormFields({
|
|
|
33277
33459
|
onChange: field.onChange,
|
|
33278
33460
|
disabled,
|
|
33279
33461
|
className: "w-full",
|
|
33280
|
-
error: showErrors ? _optionalChain([fieldState, 'access',
|
|
33462
|
+
error: showErrors ? _optionalChain([fieldState, 'access', _720 => _720.error, 'optionalAccess', _721 => _721.message]) : void 0,
|
|
33281
33463
|
invalid: showErrors && !!fieldState.error
|
|
33282
33464
|
}
|
|
33283
33465
|
)
|
|
@@ -33382,7 +33564,7 @@ function ScheduleFormFields({
|
|
|
33382
33564
|
// src/components/features/scripts/schedule-form/schedule-script-search-field.tsx
|
|
33383
33565
|
|
|
33384
33566
|
function ScriptPlatformIcons({ platforms }) {
|
|
33385
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 items-center gap-0.5", children:
|
|
33567
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 items-center gap-0.5", children: _chunkGOTEXQZNcjs.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)) });
|
|
33386
33568
|
}
|
|
33387
33569
|
function ScheduleScriptSearchField({
|
|
33388
33570
|
scriptId,
|
|
@@ -33399,7 +33581,7 @@ function ScheduleScriptSearchField({
|
|
|
33399
33581
|
invalid = false
|
|
33400
33582
|
}) {
|
|
33401
33583
|
const handleBlur = (e) => {
|
|
33402
|
-
if (!e.currentTarget.contains(e.relatedTarget)) _optionalChain([onClose, 'optionalCall',
|
|
33584
|
+
if (!e.currentTarget.contains(e.relatedTarget)) _optionalChain([onClose, 'optionalCall', _722 => _722()]);
|
|
33403
33585
|
};
|
|
33404
33586
|
const options = scripts.map((s) => ({ label: s.name, value: s.id }));
|
|
33405
33587
|
if (scriptId && !options.some((o) => o.value === scriptId)) {
|
|
@@ -33424,7 +33606,7 @@ function ScheduleScriptSearchField({
|
|
|
33424
33606
|
invalid,
|
|
33425
33607
|
renderOption: (option, isSelected) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
33426
33608
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2O5YQRPcjs.TruncateText, { className: isSelected ? "text-ods-accent" : void 0, children: option.label }) }),
|
|
33427
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScriptPlatformIcons, { platforms: _nullishCoalesce(_optionalChain([scripts, 'access',
|
|
33609
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScriptPlatformIcons, { platforms: _nullishCoalesce(_optionalChain([scripts, 'access', _723 => _723.find, 'call', _724 => _724((s) => s.id === option.value), 'optionalAccess', _725 => _725.supportedPlatforms]), () => ( [])) })
|
|
33428
33610
|
] })
|
|
33429
33611
|
}
|
|
33430
33612
|
)
|
|
@@ -33455,7 +33637,7 @@ function getKnowledgeBaseOpenColumn(getHref) {
|
|
|
33455
33637
|
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,
|
|
33456
33638
|
_chunk2QMBXGMQcjs.Button,
|
|
33457
33639
|
{
|
|
33458
|
-
onClick:
|
|
33640
|
+
onClick: _chunkGOTEXQZNcjs.openInNewTab.call(void 0, getHref(row.original)),
|
|
33459
33641
|
variant: "outline",
|
|
33460
33642
|
size: "icon",
|
|
33461
33643
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
|
|
@@ -33654,7 +33836,7 @@ function TicketStatusConfigList({
|
|
|
33654
33836
|
onReorder,
|
|
33655
33837
|
getItemLabel,
|
|
33656
33838
|
className: _chunk3ATAYP36cjs.cn.call(void 0, "flex w-full flex-col gap-[var(--spacing-system-xs)]", className),
|
|
33657
|
-
children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { index, count: items.length, label: _optionalChain([getItemLabel, 'optionalCall',
|
|
33839
|
+
children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { index, count: items.length, label: _optionalChain([getItemLabel, 'optionalCall', _726 => _726(index)]), children: (args) => renderRow(item, args) }, item.id))
|
|
33658
33840
|
}
|
|
33659
33841
|
);
|
|
33660
33842
|
}
|
|
@@ -33703,13 +33885,13 @@ function ConversationCard({
|
|
|
33703
33885
|
),
|
|
33704
33886
|
style: tint,
|
|
33705
33887
|
children: [
|
|
33706
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33888
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGOTEXQZNcjs.ChatTurn, { avatar: requester.avatar, name: requester.name, meta: requester.meta, time: requester.time, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "m-0 line-clamp-2 min-h-[2lh] text-ods-text-primary text-h3", title: request, children: [
|
|
33707
33889
|
"\u201C",
|
|
33708
33890
|
request,
|
|
33709
33891
|
"\u201D"
|
|
33710
33892
|
] }) }),
|
|
33711
33893
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33712
|
-
|
|
33894
|
+
_chunkGOTEXQZNcjs.ChatTurn,
|
|
33713
33895
|
{
|
|
33714
33896
|
avatar: responder.avatar,
|
|
33715
33897
|
name: responder.name,
|
|
@@ -33771,16 +33953,16 @@ function Example({
|
|
|
33771
33953
|
),
|
|
33772
33954
|
children: [
|
|
33773
33955
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 gap-2.5", children: [
|
|
33774
|
-
mark(_nullishCoalesce(_optionalChain([requester, 'optionalAccess',
|
|
33956
|
+
mark(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _727 => _727.mark]), () => ( requesterMark))),
|
|
33775
33957
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
33776
|
-
who(_nullishCoalesce(_optionalChain([requester, 'optionalAccess',
|
|
33958
|
+
who(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _728 => _728.name]), () => ( labels.requester)), _nullishCoalesce(_optionalChain([requester, 'optionalAccess', _729 => _729.note]), () => ( labels.requesterNote))),
|
|
33777
33959
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2O5YQRPcjs.TruncateText, { lines: 2, variant: "h4", className: "min-h-[2lh]", children: `\u201C${example.request}\u201D` })
|
|
33778
33960
|
] })
|
|
33779
33961
|
] }),
|
|
33780
33962
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 gap-2.5 border-t border-ods-border pt-3", children: [
|
|
33781
|
-
mark(_nullishCoalesce(_optionalChain([responder, 'optionalAccess',
|
|
33963
|
+
mark(_nullishCoalesce(_optionalChain([responder, 'optionalAccess', _730 => _730.mark]), () => ( responderMark))),
|
|
33782
33964
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
33783
|
-
who(_nullishCoalesce(_optionalChain([responder, 'optionalAccess',
|
|
33965
|
+
who(_nullishCoalesce(_optionalChain([responder, 'optionalAccess', _731 => _731.name]), () => ( labels.responder)), _nullishCoalesce(_optionalChain([responder, 'optionalAccess', _732 => _732.note]), () => ( labels.responderNote))),
|
|
33784
33966
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-start gap-2", children: [
|
|
33785
33967
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { size: 16, className: "mt-0.5 shrink-0 text-ods-flamingo-cyan" }),
|
|
33786
33968
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2O5YQRPcjs.TruncateText, { lines: 2, variant: "h6", tone: "secondary", className: "min-h-[2lh]", triggerClassName: "flex-1", children: example.outcome })
|
|
@@ -33980,7 +34162,7 @@ function CapabilityExplorer({
|
|
|
33980
34162
|
if (next === null) return;
|
|
33981
34163
|
event.preventDefault();
|
|
33982
34164
|
onActiveChange(items[next].id);
|
|
33983
|
-
_optionalChain([listRef, 'access',
|
|
34165
|
+
_optionalChain([listRef, 'access', _733 => _733.current, 'optionalAccess', _734 => _734.querySelectorAll, 'call', _735 => _735('[role="tab"]'), 'access', _736 => _736[next], 'optionalAccess', _737 => _737.focus, 'call', _738 => _738()]);
|
|
33984
34166
|
};
|
|
33985
34167
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
33986
34168
|
"div",
|
|
@@ -34785,4 +34967,6 @@ function CapabilityExplorer({
|
|
|
34785
34967
|
|
|
34786
34968
|
|
|
34787
34969
|
|
|
34788
|
-
exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.timezoneLabel = timezoneLabel; exports.timezoneOptions = timezoneOptions; exports.TimezoneSelect = TimezoneSelect; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.DatePickerCalendar = DatePickerCalendar; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.SearchableSelect = SearchableSelect; exports.AssigneeDropdown = AssigneeDropdown; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoDataMessage = NoDataMessage; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.AdminFormDrawer = AdminFormDrawer; exports.AdminFormModal = AdminFormModal; exports.Separator = Separator; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigationVariantProvider = TabNavigationVariantProvider; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FADE_PREVIEW_MAX_UNMEASURED_ITEMS = FADE_PREVIEW_MAX_UNMEASURED_ITEMS; exports.FadePreview = FadePreview; exports.TextHold = TextHold; exports.LayoutHold = LayoutHold; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.AppStoreBadge = AppStoreBadge; exports.GooglePlayBadge = GooglePlayBadge; exports.StoreBadgeLinks = StoreBadgeLinks; exports.MobileAppQr = MobileAppQr; exports.StatusIndicator = StatusIndicator; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.PageShell = PageShell; exports.PageMain = PageMain; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.BenefitCard = BenefitCard; exports.benefitCardBorderClass = benefitCardBorderClass; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.DataAttribution = DataAttribution; exports.DownloadButton = DownloadButton; exports.ComplianceBadge = ComplianceBadge; exports.ComplianceLogo = ComplianceLogo; exports.FeatureCardGrid = FeatureCardGrid; exports.StepNumber = StepNumber; exports.NumberedStep = NumberedStep; exports.FeatureList = FeatureList; exports.SourceTooltip = SourceTooltip; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.PersonCell = PersonCell; exports.PeopleCell = PeopleCell; exports.TitleContentBlock = TitleContentBlock; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.PasswordInput = PasswordInput; exports.AccountDetailsFields = AccountDetailsFields; exports.TRIAL_TERM_ICONS = TRIAL_TERM_ICONS; exports.DEFAULT_TRIAL_TERMS = DEFAULT_TRIAL_TERMS; exports.trialBenefits = trialBenefits; exports.BenefitList = BenefitList; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.CompactAuthShell = CompactAuthShell; exports.LabeledDivider = LabeledDivider; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.PolicyLink = PolicyLink; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LegalLinks = LegalLinks; exports.LoginForm = LoginForm; exports.NoAccountNotice = NoAccountNotice; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.SsoJoinForm = SsoJoinForm; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.useMediaIntake = useMediaIntake; exports.MediaUploadArea = MediaUploadArea; exports.MediaGalleryManager = MediaGalleryManager; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.PushButtonSelector = PushButtonSelector; exports.MODEL_TOKEN_RATES_COPY = MODEL_TOKEN_RATES_COPY; exports.ModelTokenRates = ModelTokenRates; exports.ModelTokenRatesPopover = ModelTokenRatesPopover; exports.ModelTokenRatesUnavailable = ModelTokenRatesUnavailable; exports.ModelTokenRatesSkeleton = ModelTokenRatesSkeleton; exports.MODEL_TOKEN_EXCHANGE_BALANCE = MODEL_TOKEN_EXCHANGE_BALANCE; exports.MODEL_TOKEN_EXCHANGE_RANGE = MODEL_TOKEN_EXCHANGE_RANGE; exports.ModelTokenExchange = ModelTokenExchange; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.socialIcon = socialIcon; exports.SocialIconRow = SocialIconRow; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.APPROVAL_LEVELS = APPROVAL_LEVELS; exports.APPROVAL_LEVEL_META = APPROVAL_LEVEL_META; exports.ApprovalLevelView = ApprovalLevelView; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.DataTableEmpty = DataTableEmpty; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DATA_TABLE_HEADER_LABEL_CLASS = DATA_TABLE_HEADER_LABEL_CLASS; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.PoliciesTable = PoliciesTable; exports.PolicySummaryCards = PolicySummaryCards; exports.POLICY_STATUS_CONFIG = POLICY_STATUS_CONFIG; exports.getPolicyStatus = getPolicyStatus; exports.getPolicyTableStatus = getPolicyTableStatus; exports.computePolicySummary = computePolicySummary; exports.TENANT_EMPTY_VALUE = TENANT_EMPTY_VALUE; exports.accessStateTag = accessStateTag; exports.providerMark = providerMark2; exports.lastReadAt = lastReadAt; exports.formatLastRead = formatLastRead; exports.usersCountLabel = usersCountLabel; exports.TenantAccessCell = TenantAccessCell; exports.TenantCell = TenantCell; exports.TenantCustomerCell = TenantCustomerCell; exports.TENANT_COLUMNS = TENANT_COLUMNS; exports.TENANTS_TABLE_COLUMNS = TENANTS_TABLE_COLUMNS; exports.TenantsTableView = TenantsTableView; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.AppLayoutDrawerContainerContext = AppLayoutDrawerContainerContext; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerCoordinationContext = AppLayoutDrawerCoordinationContext; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.TICKET_APPROVAL_REQUEST_TYPE = TICKET_APPROVAL_REQUEST_TYPE; exports.MINGO_APPROVAL_REQUEST_TYPE = MINGO_APPROVAL_REQUEST_TYPE; exports.isApprovalNotificationType = isApprovalNotificationType; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.formatLastOnline = formatLastOnline; exports.getDeviceName = getDeviceName; exports.matchesDeviceName = matchesDeviceName; exports.DevicesViewConfigProvider = DevicesViewConfigProvider; exports.useDevicesViewConfig = useDevicesViewConfig; exports.useDeviceImageUrl = useDeviceImageUrl; exports.DeviceSelectionModeRadio = DeviceSelectionModeRadio; exports.getDeviceStatusConfig = getDeviceStatusConfig; exports.getDeviceOperatingSystem = getDeviceOperatingSystem; exports.DEVICE_STATUS = DEVICE_STATUS; exports.DEFAULT_VISIBLE_STATUSES = DEFAULT_VISIBLE_STATUSES; exports.DEFAULT_DASHBOARD_STATUSES = DEFAULT_DASHBOARD_STATUSES; exports.DEFAULT_DEVICES_LIST_STATUSES = DEFAULT_DEVICES_LIST_STATUSES; exports.DEVICE_ENRICHMENT_STATUSES = DEVICE_ENRICHMENT_STATUSES; exports.DEVICE_ENRICHMENT_FILTER = DEVICE_ENRICHMENT_FILTER; exports.HIDDEN_DEVICE_STATUSES = HIDDEN_DEVICE_STATUSES; exports.renderDeviceTypeIcon = renderDeviceTypeIcon; exports.DeviceTypeTile = DeviceTypeTile; exports.DeviceTagsFilterButton = DeviceTagsFilterButton; exports.DevicesFilterToolbar = DevicesFilterToolbar; exports.getDeviceActionsColumn = getDeviceActionsColumn; exports.getDeviceOpenColumn = getDeviceOpenColumn; exports.DevicesTableBody = DevicesTableBody; exports.getDeviceFilterColumns = getDeviceFilterColumns; exports.getDeviceTableColumns = getDeviceTableColumns; exports.useTagFilterModal = useTagFilterModal; exports.DeviceSelector = DeviceSelector; exports.DeviceSelectorSkeleton = DeviceSelectorSkeleton; exports.EMPTY_NARROWING = EMPTY_NARROWING; exports.narrowingToFilter = narrowingToFilter; exports.DevicesGrid = DevicesGrid; exports.DevicesGridFilters = DevicesGridFilters; exports.EMPTY_DEVICES_NARROWING = EMPTY_DEVICES_NARROWING; exports.isNarrowed = isNarrowed; exports.DevicesList = DevicesList; exports.DEVICE_VIEW_MODE_ITEMS = DEVICE_VIEW_MODE_ITEMS; exports.buildDevicePanelActions = buildDevicePanelActions; exports.IDLE_DEVICES_TOOLBAR = IDLE_DEVICES_TOOLBAR; exports.DevicesPanelView = DevicesPanelView; exports.PACKAGE_MANAGERS = PACKAGE_MANAGERS; exports.PACKAGE_MANAGER_LABEL = PACKAGE_MANAGER_LABEL; exports.PACKAGE_MANAGER_ICON = PACKAGE_MANAGER_ICON; exports.PACKAGE_MANAGER_OS = PACKAGE_MANAGER_OS; exports.packageManagerLabel = packageManagerLabel; exports.SOFTWARE_SOURCE_LABEL = SOFTWARE_SOURCE_LABEL; exports.PACKAGE_SEARCH_LABEL = PACKAGE_SEARCH_LABEL; exports.PACKAGE_SEARCH_PLACEHOLDER = PACKAGE_SEARCH_PLACEHOLDER; exports.PackageSearchFieldPlaceholder = PackageSearchFieldPlaceholder; exports.SoftwareScheduleFields = SoftwareScheduleFields; exports.SOFTWARE_ACTION_COPY = SOFTWARE_ACTION_COPY; exports.SOFTWARE_ACTION_DETAIL_TITLE = SOFTWARE_ACTION_DETAIL_TITLE; exports.softwareActionCopy = softwareActionCopy; exports.newSoftwareRow = newSoftwareRow; exports.SoftwareRowFields = SoftwareRowFields; exports.SoftwareActionForm = SoftwareActionForm; exports.LogDrawer = LogDrawer; exports.SYSTEM_SOURCE_LABEL = SYSTEM_SOURCE_LABEL; exports.logSourceLabels = logSourceLabels; exports.LogsPageView = LogsPageView; exports.LogCopyIconButton = LogCopyIconButton; exports.LOG_COLUMN_WIDTHS = LOG_COLUMN_WIDTHS; exports.ToolBadge = ToolBadge; exports.LogsTableView = LogsTableView; exports.LogsTableSkeleton = LogsTableSkeleton; exports.logSeverityVariant = logSeverityVariant; exports.SCRIPT_EXECUTION_STATUS_PRESENTATION = SCRIPT_EXECUTION_STATUS_PRESENTATION; exports.scriptExecutionStatus = scriptExecutionStatus; exports.ExecutionSourceBadge = ExecutionSourceBadge; exports.ExecutionTimestampCell = ExecutionTimestampCell; exports.ExecutionStatusCell = ExecutionStatusCell; exports.ExecutionDeviceCell = ExecutionDeviceCell; exports.ExecutionInitiatorCell = ExecutionInitiatorCell; exports.ExecutionResultCell = ExecutionResultCell; exports.ScriptExecutionResult = ScriptExecutionResult; exports.ScriptNameCell = ScriptNameCell; exports.ScheduleDateTimeCell = ScheduleDateTimeCell; exports.SCRIPT_COLUMNS = SCRIPT_COLUMNS; exports.SCHEDULE_COLUMNS = SCHEDULE_COLUMNS; exports.EXECUTION_COLUMNS = EXECUTION_COLUMNS; exports.SCRIPTS_TAB_WIDTHS = SCRIPTS_TAB_WIDTHS; exports.SCRIPTS_TABLE_COLUMNS = SCRIPTS_TABLE_COLUMNS; exports.SCHEDULES_TABLE_COLUMNS = SCHEDULES_TABLE_COLUMNS; exports.EXECUTIONS_TABLE_COLUMNS = EXECUTIONS_TABLE_COLUMNS; exports.scriptsColumnMeta = scriptsColumnMeta; exports.RowActionsCell = RowActionsCell; exports.OpenInNewTabCell = OpenInNewTabCell; exports.ScriptExecutionsTable = ScriptExecutionsTable; exports.ScriptSchedulesTable = ScriptSchedulesTable; exports.SCRIPT_SHELL_TYPES = SCRIPT_SHELL_TYPES; exports.scriptShellType = scriptShellType; exports.scriptShellLabel = scriptShellLabel; exports.ScriptShellBadge = ScriptShellBadge; exports.ScriptsTable = ScriptsTable; exports.SCRIPTS_TABS = SCRIPTS_TABS; exports.SCRIPT_SCHEDULE_TRIGGER = SCRIPT_SCHEDULE_TRIGGER; exports.SCHEDULE_TIME_REFERENCE = SCHEDULE_TIME_REFERENCE; exports.SCHEDULE_OFFLINE_BEHAVIOR = SCHEDULE_OFFLINE_BEHAVIOR; exports.isEventTrigger = isEventTrigger; exports.isDeviceLocalTime = isDeviceLocalTime; exports.DURATION_UNIT_VALUES = DURATION_UNIT_VALUES; exports.DURATION_UNIT_SECONDS = DURATION_UNIT_SECONDS; exports.DURATION_UNIT_LABELS = DURATION_UNIT_LABELS; exports.MIN_REPEAT_MINUTES = MIN_REPEAT_MINUTES; exports.DURATION_UNIT_OPTIONS = DURATION_UNIT_OPTIONS; exports.snapRepeatInterval = snapRepeatInterval; exports.isRetryOnReconnect = isRetryOnReconnect; exports.MIN_RECONNECT_MINUTES = MIN_RECONNECT_MINUTES; exports.snapReconnectInterval = snapReconnectInterval; exports.DEFAULT_RECONNECT_WINDOW = DEFAULT_RECONNECT_WINDOW; exports.isSlotOnGrid = isSlotOnGrid; exports.getTimeSlotOptions = getTimeSlotOptions; exports.slotToLabel = slotToLabel; exports.startOfToday = startOfToday; exports.earliestDeviceLocalDay = earliestDeviceLocalDay; exports.earliestScheduleDay = earliestScheduleDay; exports.isScheduleStartInPast = isScheduleStartInPast; exports.PAST_START_MESSAGE = PAST_START_MESSAGE; exports.NO_SLOTS_TODAY_MESSAGE = NO_SLOTS_TODAY_MESSAGE; exports.isStartInPastAndChanged = isStartInPastAndChanged; exports.dateToTimeSlot = dateToTimeSlot; exports.applyTimeSlot = applyTimeSlot; exports.fromScheduleInstant = fromScheduleInstant; exports.EMPTY_SCHEDULE_SCRIPT_ROW = EMPTY_SCHEDULE_SCRIPT_ROW; exports.SCHEDULE_TRIGGER_OPTIONS = SCHEDULE_TRIGGER_OPTIONS; exports.SCHEDULE_TIME_REFERENCE_OPTIONS = SCHEDULE_TIME_REFERENCE_OPTIONS; exports.SCHEDULE_OFFLINE_BEHAVIOR_OPTIONS = SCHEDULE_OFFLINE_BEHAVIOR_OPTIONS; exports.DEFAULT_SCHEDULE_FORM_VALUES = DEFAULT_SCHEDULE_FORM_VALUES; exports.ScheduleIntervalInput = ScheduleIntervalInput; exports.ScheduleOfflineFields = ScheduleOfflineFields; exports.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableList = SortableList; exports.ScriptArguments = ScriptArguments; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.ScheduleScriptPickerCard = ScheduleScriptPickerCard; exports.ScheduleScriptsField = ScheduleScriptsField; exports.ScheduleTimingFields = ScheduleTimingFields; exports.ScheduleFormFields = ScheduleFormFields; exports.ScheduleScriptSearchField = ScheduleScriptSearchField; exports.KNOWLEDGE_BASE_ITEM_ICON = KNOWLEDGE_BASE_ITEM_ICON; exports.getKnowledgeBaseOpenColumn = getKnowledgeBaseOpenColumn; exports.getKnowledgeBaseColumns = getKnowledgeBaseColumns; exports.KnowledgeBaseTableBody = KnowledgeBaseTableBody; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.KnowledgeBaseArticleView = KnowledgeBaseArticleView; exports.SortableDragHandle = SortableDragHandle; exports.TicketStatusConfigList = TicketStatusConfigList; exports.ConversationCard = ConversationCard; exports.SnapCarouselControlsSkeleton = SnapCarouselControlsSkeleton; exports.SnapCarousel = SnapCarousel; exports.capabilityTabId = capabilityTabId; exports.CapabilityExplorerSkeleton = CapabilityExplorerSkeleton; exports.CapabilityExplorer = CapabilityExplorer; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.PHOTO_WALL_FRAME = PHOTO_WALL_FRAME; exports.photoWallRequestWidth = photoWallRequestWidth; exports.photoOrientation = photoOrientation; exports.arrangePhotoWall = arrangePhotoWall; exports.PhotoWall = PhotoWall; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount; exports.AppWindowFrame = AppWindowFrame; exports.PhoneFrame = PhoneFrame; exports.NotificationStack = NotificationStack; exports.StripCard = StripCard; exports.LeaderRow = LeaderRow; exports.AnalyzingState = AnalyzingState; exports.IncidentStatusLine = IncidentStatusLine; exports.IncidentFeed = IncidentFeed; exports.useBetweenAnchors = useBetweenAnchors; exports.StickyActionBar = StickyActionBar; exports.IconTile = IconTile;
|
|
34970
|
+
|
|
34971
|
+
|
|
34972
|
+
exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.timezoneLabel = timezoneLabel; exports.timezoneOptions = timezoneOptions; exports.TimezoneSelect = TimezoneSelect; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.DatePickerCalendar = DatePickerCalendar; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.SearchableSelect = SearchableSelect; exports.AssigneeDropdown = AssigneeDropdown; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoDataMessage = NoDataMessage; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.AdminFormDrawer = AdminFormDrawer; exports.AdminFormModal = AdminFormModal; exports.Separator = Separator; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigationVariantProvider = TabNavigationVariantProvider; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FADE_PREVIEW_MAX_UNMEASURED_ITEMS = FADE_PREVIEW_MAX_UNMEASURED_ITEMS; exports.FadePreview = FadePreview; exports.TextHold = TextHold; exports.LayoutHold = LayoutHold; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.AppStoreBadge = AppStoreBadge; exports.GooglePlayBadge = GooglePlayBadge; exports.StoreBadgeLinks = StoreBadgeLinks; exports.MobileAppQr = MobileAppQr; exports.StatusIndicator = StatusIndicator; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.PageShell = PageShell; exports.PageMain = PageMain; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.BenefitCard = BenefitCard; exports.benefitCardBorderClass = benefitCardBorderClass; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.DataAttribution = DataAttribution; exports.DownloadButton = DownloadButton; exports.ComplianceBadge = ComplianceBadge; exports.ComplianceLogo = ComplianceLogo; exports.FeatureCardGrid = FeatureCardGrid; exports.StepNumber = StepNumber; exports.NumberedStep = NumberedStep; exports.FeatureList = FeatureList; exports.SourceTooltip = SourceTooltip; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.PersonCell = PersonCell; exports.PeopleCell = PeopleCell; exports.TitleContentBlock = TitleContentBlock; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.PasswordInput = PasswordInput; exports.AccountDetailsFields = AccountDetailsFields; exports.TRIAL_TERM_ICONS = TRIAL_TERM_ICONS; exports.DEFAULT_TRIAL_TERMS = DEFAULT_TRIAL_TERMS; exports.trialBenefits = trialBenefits; exports.BenefitList = BenefitList; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.CompactAuthShell = CompactAuthShell; exports.LabeledDivider = LabeledDivider; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.PolicyLink = PolicyLink; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LegalLinks = LegalLinks; exports.LoginForm = LoginForm; exports.NoAccountNotice = NoAccountNotice; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.SsoJoinForm = SsoJoinForm; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.useMediaIntake = useMediaIntake; exports.MediaUploadArea = MediaUploadArea; exports.MediaGalleryManager = MediaGalleryManager; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.PushButtonSelector = PushButtonSelector; exports.MODEL_TOKEN_RATES_COPY = MODEL_TOKEN_RATES_COPY; exports.ModelTokenRates = ModelTokenRates; exports.ModelTokenRatesPopover = ModelTokenRatesPopover; exports.ModelTokenRatesUnavailable = ModelTokenRatesUnavailable; exports.ModelTokenRatesSkeleton = ModelTokenRatesSkeleton; exports.MODEL_TOKEN_EXCHANGE_BALANCE = MODEL_TOKEN_EXCHANGE_BALANCE; exports.MODEL_TOKEN_EXCHANGE_RANGE = MODEL_TOKEN_EXCHANGE_RANGE; exports.ModelTokenExchange = ModelTokenExchange; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.socialIcon = socialIcon; exports.SocialIconRow = SocialIconRow; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.APPROVAL_LEVELS = APPROVAL_LEVELS; exports.APPROVAL_LEVEL_META = APPROVAL_LEVEL_META; exports.ApprovalLevelView = ApprovalLevelView; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.DataTableEmpty = DataTableEmpty; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DATA_TABLE_HEADER_LABEL_CLASS = DATA_TABLE_HEADER_LABEL_CLASS; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.PoliciesTable = PoliciesTable; exports.PolicySummaryCards = PolicySummaryCards; exports.POLICY_STATUS_CONFIG = POLICY_STATUS_CONFIG; exports.getPolicyStatus = getPolicyStatus; exports.getPolicyTableStatus = getPolicyTableStatus; exports.computePolicySummary = computePolicySummary; exports.TENANT_EMPTY_VALUE = TENANT_EMPTY_VALUE; exports.accessStateTag = accessStateTag; exports.providerMark = providerMark2; exports.lastReadAt = lastReadAt; exports.formatLastRead = formatLastRead; exports.usersCountLabel = usersCountLabel; exports.TenantAccessCell = TenantAccessCell; exports.TenantCell = TenantCell; exports.TenantCustomerCell = TenantCustomerCell; exports.TENANT_COLUMNS = TENANT_COLUMNS; exports.TENANTS_TABLE_COLUMNS = TENANTS_TABLE_COLUMNS; exports.TenantsTableView = TenantsTableView; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.AppLayoutDrawerContainerContext = AppLayoutDrawerContainerContext; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerCoordinationContext = AppLayoutDrawerCoordinationContext; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.TICKET_APPROVAL_REQUEST_TYPE = TICKET_APPROVAL_REQUEST_TYPE; exports.MINGO_APPROVAL_REQUEST_TYPE = MINGO_APPROVAL_REQUEST_TYPE; exports.isApprovalNotificationType = isApprovalNotificationType; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.formatLastOnline = formatLastOnline; exports.getDeviceName = getDeviceName; exports.matchesDeviceName = matchesDeviceName; exports.DevicesViewConfigProvider = DevicesViewConfigProvider; exports.useDevicesViewConfig = useDevicesViewConfig; exports.useDeviceImageUrl = useDeviceImageUrl; exports.DeviceSelectionModeRadio = DeviceSelectionModeRadio; exports.getDeviceStatusConfig = getDeviceStatusConfig; exports.getDeviceOperatingSystem = getDeviceOperatingSystem; exports.DEVICE_STATUS = DEVICE_STATUS; exports.DEFAULT_VISIBLE_STATUSES = DEFAULT_VISIBLE_STATUSES; exports.DEFAULT_DASHBOARD_STATUSES = DEFAULT_DASHBOARD_STATUSES; exports.DEFAULT_DEVICES_LIST_STATUSES = DEFAULT_DEVICES_LIST_STATUSES; exports.DEVICE_ENRICHMENT_STATUSES = DEVICE_ENRICHMENT_STATUSES; exports.DEVICE_ENRICHMENT_FILTER = DEVICE_ENRICHMENT_FILTER; exports.HIDDEN_DEVICE_STATUSES = HIDDEN_DEVICE_STATUSES; exports.renderDeviceTypeIcon = renderDeviceTypeIcon; exports.DeviceTypeTile = DeviceTypeTile; exports.DeviceTagsFilterButton = DeviceTagsFilterButton; exports.DevicesFilterToolbar = DevicesFilterToolbar; exports.getDeviceActionsColumn = getDeviceActionsColumn; exports.getDeviceOpenColumn = getDeviceOpenColumn; exports.DevicesTableBody = DevicesTableBody; exports.getDeviceFilterColumns = getDeviceFilterColumns; exports.getDeviceTableColumns = getDeviceTableColumns; exports.useTagFilterModal = useTagFilterModal; exports.DeviceSelector = DeviceSelector; exports.DeviceSelectorSkeleton = DeviceSelectorSkeleton; exports.EMPTY_NARROWING = EMPTY_NARROWING; exports.narrowingToFilter = narrowingToFilter; exports.DevicesGrid = DevicesGrid; exports.DevicesGridFilters = DevicesGridFilters; exports.EMPTY_DEVICES_NARROWING = EMPTY_DEVICES_NARROWING; exports.isNarrowed = isNarrowed; exports.DevicesList = DevicesList; exports.DEVICE_VIEW_MODE_ITEMS = DEVICE_VIEW_MODE_ITEMS; exports.buildDevicePanelActions = buildDevicePanelActions; exports.IDLE_DEVICES_TOOLBAR = IDLE_DEVICES_TOOLBAR; exports.DevicesPanelView = DevicesPanelView; exports.PACKAGE_MANAGERS = PACKAGE_MANAGERS; exports.PACKAGE_MANAGER_LABEL = PACKAGE_MANAGER_LABEL; exports.PACKAGE_MANAGER_ICON = PACKAGE_MANAGER_ICON; exports.PACKAGE_MANAGER_OS = PACKAGE_MANAGER_OS; exports.packageManagerLabel = packageManagerLabel; exports.SOFTWARE_SOURCE_LABEL = SOFTWARE_SOURCE_LABEL; exports.PACKAGE_SEARCH_LABEL = PACKAGE_SEARCH_LABEL; exports.PACKAGE_SEARCH_PLACEHOLDER = PACKAGE_SEARCH_PLACEHOLDER; exports.PackageSearchFieldPlaceholder = PackageSearchFieldPlaceholder; exports.SoftwareScheduleFields = SoftwareScheduleFields; exports.SOFTWARE_ACTION_COPY = SOFTWARE_ACTION_COPY; exports.SOFTWARE_ACTION_DETAIL_TITLE = SOFTWARE_ACTION_DETAIL_TITLE; exports.softwareActionCopy = softwareActionCopy; exports.newSoftwareRow = newSoftwareRow; exports.SoftwareRowFields = SoftwareRowFields; exports.SoftwareActionForm = SoftwareActionForm; exports.LogDrawer = LogDrawer; exports.SYSTEM_SOURCE_LABEL = SYSTEM_SOURCE_LABEL; exports.logSourceLabels = logSourceLabels; exports.LogsPageView = LogsPageView; exports.LogCopyIconButton = LogCopyIconButton; exports.LOG_COLUMN_WIDTHS = LOG_COLUMN_WIDTHS; exports.ToolBadge = ToolBadge; exports.LogsTableView = LogsTableView; exports.LogsTableSkeleton = LogsTableSkeleton; exports.logSeverityVariant = logSeverityVariant; exports.SCRIPT_EXECUTION_STATUS_PRESENTATION = SCRIPT_EXECUTION_STATUS_PRESENTATION; exports.scriptExecutionStatus = scriptExecutionStatus; exports.ExecutionSourceBadge = ExecutionSourceBadge; exports.ExecutionTimestampCell = ExecutionTimestampCell; exports.ExecutionStatusCell = ExecutionStatusCell; exports.ExecutionDeviceCell = ExecutionDeviceCell; exports.ExecutionInitiatorCell = ExecutionInitiatorCell; exports.ExecutionResultCell = ExecutionResultCell; exports.ScriptExecutionResult = ScriptExecutionResult; exports.ScriptNameCell = ScriptNameCell; exports.ScheduleDateTimeCell = ScheduleDateTimeCell; exports.SCRIPT_COLUMNS = SCRIPT_COLUMNS; exports.SCHEDULE_COLUMNS = SCHEDULE_COLUMNS; exports.EXECUTION_COLUMNS = EXECUTION_COLUMNS; exports.SCRIPTS_TAB_WIDTHS = SCRIPTS_TAB_WIDTHS; exports.SCRIPTS_TABLE_COLUMNS = SCRIPTS_TABLE_COLUMNS; exports.SCHEDULES_TABLE_COLUMNS = SCHEDULES_TABLE_COLUMNS; exports.EXECUTIONS_TABLE_COLUMNS = EXECUTIONS_TABLE_COLUMNS; exports.scriptsColumnMeta = scriptsColumnMeta; exports.RowActionsCell = RowActionsCell; exports.OpenInNewTabCell = OpenInNewTabCell; exports.ScriptExecutionsTable = ScriptExecutionsTable; exports.ScriptSchedulesTable = ScriptSchedulesTable; exports.SCRIPT_SHELL_TYPES = SCRIPT_SHELL_TYPES; exports.scriptShellType = scriptShellType; exports.scriptShellLabel = scriptShellLabel; exports.ScriptShellBadge = ScriptShellBadge; exports.ScriptsTable = ScriptsTable; exports.SCRIPTS_TABS = SCRIPTS_TABS; exports.SCRIPT_SCHEDULE_TRIGGER = SCRIPT_SCHEDULE_TRIGGER; exports.SCHEDULE_TIME_REFERENCE = SCHEDULE_TIME_REFERENCE; exports.SCHEDULE_OFFLINE_BEHAVIOR = SCHEDULE_OFFLINE_BEHAVIOR; exports.isEventTrigger = isEventTrigger; exports.isDeviceLocalTime = isDeviceLocalTime; exports.DURATION_UNIT_VALUES = DURATION_UNIT_VALUES; exports.DURATION_UNIT_SECONDS = DURATION_UNIT_SECONDS; exports.DURATION_UNIT_LABELS = DURATION_UNIT_LABELS; exports.MIN_REPEAT_MINUTES = MIN_REPEAT_MINUTES; exports.DURATION_UNIT_OPTIONS = DURATION_UNIT_OPTIONS; exports.snapRepeatInterval = snapRepeatInterval; exports.isRetryOnReconnect = isRetryOnReconnect; exports.MIN_RECONNECT_MINUTES = MIN_RECONNECT_MINUTES; exports.snapReconnectInterval = snapReconnectInterval; exports.DEFAULT_RECONNECT_WINDOW = DEFAULT_RECONNECT_WINDOW; exports.isSlotOnGrid = isSlotOnGrid; exports.getTimeSlotOptions = getTimeSlotOptions; exports.slotToLabel = slotToLabel; exports.startOfToday = startOfToday; exports.earliestDeviceLocalDay = earliestDeviceLocalDay; exports.earliestScheduleDay = earliestScheduleDay; exports.isScheduleStartInPast = isScheduleStartInPast; exports.PAST_START_MESSAGE = PAST_START_MESSAGE; exports.NO_SLOTS_TODAY_MESSAGE = NO_SLOTS_TODAY_MESSAGE; exports.isStartInPastAndChanged = isStartInPastAndChanged; exports.dateToTimeSlot = dateToTimeSlot; exports.applyTimeSlot = applyTimeSlot; exports.fromScheduleInstant = fromScheduleInstant; exports.EMPTY_SCHEDULE_SCRIPT_ROW = EMPTY_SCHEDULE_SCRIPT_ROW; exports.SCHEDULE_TRIGGER_OPTIONS = SCHEDULE_TRIGGER_OPTIONS; exports.SCHEDULE_TIME_REFERENCE_OPTIONS = SCHEDULE_TIME_REFERENCE_OPTIONS; exports.SCHEDULE_OFFLINE_BEHAVIOR_OPTIONS = SCHEDULE_OFFLINE_BEHAVIOR_OPTIONS; exports.DEFAULT_SCHEDULE_FORM_VALUES = DEFAULT_SCHEDULE_FORM_VALUES; exports.ScheduleIntervalInput = ScheduleIntervalInput; exports.ScheduleOfflineFields = ScheduleOfflineFields; exports.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableList = SortableList; exports.ScriptArguments = ScriptArguments; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.ScheduleScriptPickerCard = ScheduleScriptPickerCard; exports.ScheduleScriptsField = ScheduleScriptsField; exports.ScheduleTimingFields = ScheduleTimingFields; exports.ScheduleFormFields = ScheduleFormFields; exports.ScheduleScriptSearchField = ScheduleScriptSearchField; exports.KNOWLEDGE_BASE_ITEM_ICON = KNOWLEDGE_BASE_ITEM_ICON; exports.getKnowledgeBaseOpenColumn = getKnowledgeBaseOpenColumn; exports.getKnowledgeBaseColumns = getKnowledgeBaseColumns; exports.KnowledgeBaseTableBody = KnowledgeBaseTableBody; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.KnowledgeBaseArticleView = KnowledgeBaseArticleView; exports.SortableDragHandle = SortableDragHandle; exports.TicketStatusConfigList = TicketStatusConfigList; exports.ConversationCard = ConversationCard; exports.SnapCarouselControlsSkeleton = SnapCarouselControlsSkeleton; exports.SnapCarousel = SnapCarousel; exports.capabilityTabId = capabilityTabId; exports.CapabilityExplorerSkeleton = CapabilityExplorerSkeleton; exports.CapabilityExplorer = CapabilityExplorer; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownLinkDialog = MarkdownLinkDialog; exports.useMarkdownLinkCommand = useMarkdownLinkCommand; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.PHOTO_WALL_FRAME = PHOTO_WALL_FRAME; exports.photoWallRequestWidth = photoWallRequestWidth; exports.photoOrientation = photoOrientation; exports.arrangePhotoWall = arrangePhotoWall; exports.PhotoWall = PhotoWall; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount; exports.AppWindowFrame = AppWindowFrame; exports.PhoneFrame = PhoneFrame; exports.NotificationStack = NotificationStack; exports.StripCard = StripCard; exports.LeaderRow = LeaderRow; exports.AnalyzingState = AnalyzingState; exports.IncidentStatusLine = IncidentStatusLine; exports.IncidentFeed = IncidentFeed; exports.useBetweenAnchors = useBetweenAnchors; exports.StickyActionBar = StickyActionBar; exports.IconTile = IconTile;
|