@flamingo-stack/openframe-frontend-core 0.0.406 → 0.0.407-snapshot.20260711133234
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-3KEBI6TP.cjs → chunk-2B6773QM.cjs} +1 -1
- package/dist/chunk-2B6773QM.cjs.map +1 -0
- package/dist/{chunk-TFDNJTBX.js → chunk-5HOII3WB.js} +4 -4
- package/dist/{chunk-E6YHDT3D.js → chunk-7Q52HP45.js} +2 -2
- package/dist/chunk-7Q52HP45.js.map +1 -0
- package/dist/{chunk-VZGU4BV6.cjs → chunk-A3RW7M6B.cjs} +29 -29
- package/dist/{chunk-VZGU4BV6.cjs.map → chunk-A3RW7M6B.cjs.map} +1 -1
- package/dist/{chunk-QAFRLO5N.cjs → chunk-CUN4CJUN.cjs} +10 -11
- package/dist/chunk-CUN4CJUN.cjs.map +1 -0
- package/dist/{chunk-6WMVBCNA.js → chunk-E4J5KKHH.js} +3 -3
- package/dist/{chunk-P43ZHPM6.cjs → chunk-F4KE5AZO.cjs} +40 -40
- package/dist/{chunk-P43ZHPM6.cjs.map → chunk-F4KE5AZO.cjs.map} +1 -1
- package/dist/{chunk-PQN5R5II.js → chunk-IK5AR6QG.js} +7 -7
- package/dist/{chunk-SOK32D6C.js → chunk-IVM47EGI.js} +346 -297
- package/dist/chunk-IVM47EGI.js.map +1 -0
- package/dist/{chunk-AYFWYOL6.js → chunk-J6M2G6TD.js} +7 -7
- package/dist/{chunk-NA7XJRWB.js → chunk-KFQXO7QB.js} +1 -1
- package/dist/chunk-KFQXO7QB.js.map +1 -0
- package/dist/{chunk-ISYVNPRT.cjs → chunk-KPGKNUJF.cjs} +42 -42
- package/dist/{chunk-ISYVNPRT.cjs.map → chunk-KPGKNUJF.cjs.map} +1 -1
- package/dist/{chunk-GNS65HNC.cjs → chunk-KRLBVBYU.cjs} +18 -18
- package/dist/{chunk-GNS65HNC.cjs.map → chunk-KRLBVBYU.cjs.map} +1 -1
- package/dist/{chunk-ZVUR3A33.js → chunk-KZPVN7AZ.js} +2 -2
- package/dist/{chunk-7RVSGGO6.js → chunk-L6OPVKVR.js} +6 -6
- package/dist/{chunk-OATWTTCI.js → chunk-LQWYXIKB.js} +6 -6
- package/dist/{chunk-COERBDG4.cjs → chunk-NEMUCNCG.cjs} +75 -75
- package/dist/{chunk-COERBDG4.cjs.map → chunk-NEMUCNCG.cjs.map} +1 -1
- package/dist/{chunk-PNJ5LMVK.js → chunk-NO2KT42M.js} +9 -10
- package/dist/{chunk-PNJ5LMVK.js.map → chunk-NO2KT42M.js.map} +1 -1
- package/dist/{chunk-LSPBPUQM.js → chunk-O5W26SCL.js} +2 -2
- package/dist/{chunk-VANFD4FX.cjs → chunk-RL344I7V.cjs} +7 -7
- package/dist/{chunk-VANFD4FX.cjs.map → chunk-RL344I7V.cjs.map} +1 -1
- package/dist/{chunk-CF3LBCNI.cjs → chunk-RPGFIUN3.cjs} +35 -35
- package/dist/{chunk-CF3LBCNI.cjs.map → chunk-RPGFIUN3.cjs.map} +1 -1
- package/dist/{chunk-LL4QQSAD.cjs → chunk-SOALFYU6.cjs} +479 -430
- package/dist/chunk-SOALFYU6.cjs.map +1 -0
- package/dist/{chunk-CCIBZ7TO.cjs → chunk-STGWQFYT.cjs} +5 -5
- package/dist/chunk-STGWQFYT.cjs.map +1 -0
- package/dist/{chunk-VIB4SGCD.cjs → chunk-T6ZUBXPA.cjs} +14 -14
- package/dist/{chunk-VIB4SGCD.cjs.map → chunk-T6ZUBXPA.cjs.map} +1 -1
- package/dist/{chunk-HJJXNMM7.cjs → chunk-V3EZQWHQ.cjs} +7 -7
- package/dist/{chunk-HJJXNMM7.cjs.map → chunk-V3EZQWHQ.cjs.map} +1 -1
- package/dist/{chunk-3KZXOLFK.js → chunk-VUW4G6SU.js} +4 -4
- package/dist/{chunk-JAPP2F4M.cjs → chunk-WGOATV3P.cjs} +77 -77
- package/dist/{chunk-JAPP2F4M.cjs.map → chunk-WGOATV3P.cjs.map} +1 -1
- package/dist/{chunk-SF4G7M6U.cjs → chunk-YRKPMYI3.cjs} +15 -15
- package/dist/{chunk-SF4G7M6U.cjs.map → chunk-YRKPMYI3.cjs.map} +1 -1
- package/dist/{chunk-XXG2Z2JT.js → chunk-ZF5O3KUQ.js} +3 -3
- package/dist/{chunk-C3NPMZBI.js → chunk-ZMFQWMM7.js} +3 -3
- package/dist/components/announcement-bar.d.ts.map +1 -1
- package/dist/components/case-studies/index.cjs +11 -10
- package/dist/components/case-studies/index.cjs.map +1 -1
- package/dist/components/case-studies/index.js +5 -4
- package/dist/components/case-studies/index.js.map +1 -1
- package/dist/components/chat/index.cjs +5 -4
- package/dist/components/chat/index.cjs.map +1 -1
- package/dist/components/chat/index.js +4 -3
- package/dist/components/chat/quick-action-chip.d.ts +11 -2
- package/dist/components/chat/quick-action-chip.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +6 -5
- package/dist/components/contact/index.cjs.map +1 -1
- package/dist/components/contact/index.js +5 -4
- package/dist/components/docs/index.cjs +8 -8
- package/dist/components/docs/index.js +7 -7
- package/dist/components/embeds/index.cjs +6 -5
- package/dist/components/embeds/index.cjs.map +1 -1
- package/dist/components/embeds/index.js +5 -4
- package/dist/components/embeds/reddit-embed-client.d.ts.map +1 -1
- package/dist/components/faq/index.cjs +7 -6
- package/dist/components/faq/index.cjs.map +1 -1
- package/dist/components/faq/index.js +6 -5
- package/dist/components/features/index.cjs +5 -4
- package/dist/components/features/index.cjs.map +1 -1
- package/dist/components/features/index.js +4 -3
- package/dist/components/help-center-pages/index.cjs +24 -24
- package/dist/components/help-center-pages/index.js +15 -15
- package/dist/components/index.cjs +186 -180
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +39 -33
- package/dist/components/index.js.map +1 -1
- package/dist/components/media-carousel.d.ts +28 -4
- package/dist/components/media-carousel.d.ts.map +1 -1
- package/dist/components/navigation/index.cjs +5 -4
- package/dist/components/navigation/index.cjs.map +1 -1
- package/dist/components/navigation/index.js +4 -3
- package/dist/components/onboarding-guides/index.cjs +9 -9
- package/dist/components/onboarding-guides/index.js +8 -8
- package/dist/components/related-content/index.cjs +7 -6
- package/dist/components/related-content/index.cjs.map +1 -1
- package/dist/components/related-content/index.js +6 -5
- package/dist/components/tickets/index.cjs +8 -8
- package/dist/components/tickets/index.js +7 -7
- package/dist/components/ui/index.cjs +5 -4
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.js +4 -3
- package/dist/components/ui/tag.d.ts +3 -2
- package/dist/components/ui/tag.d.ts.map +1 -1
- package/dist/contexts/endpoints-runtime-context.d.ts +1 -1
- package/dist/contexts/endpoints-runtime-context.d.ts.map +1 -1
- package/dist/contexts/index.cjs +2 -2
- package/dist/contexts/index.js +1 -1
- package/dist/hooks/index.cjs +3 -3
- package/dist/hooks/index.js +2 -2
- package/dist/hooks/use-self-fetch.d.ts.map +1 -1
- package/dist/index.cjs +5 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +6 -5
- package/dist/types/announcement.cjs.map +1 -1
- package/dist/types/announcement.d.ts +0 -6
- package/dist/types/announcement.d.ts.map +1 -1
- package/dist/types/announcement.js.map +1 -1
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/announcement-storage.d.ts +3 -0
- package/dist/utils/announcement-storage.d.ts.map +1 -1
- package/dist/utils/app-config.d.ts.map +1 -1
- package/dist/utils/color-analysis.d.ts +0 -4
- package/dist/utils/color-analysis.d.ts.map +1 -1
- package/dist/utils/index.cjs +186 -177
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.js +185 -176
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/media-carousel-utils-stub.d.ts +3 -1
- package/dist/utils/media-carousel-utils-stub.d.ts.map +1 -1
- package/dist/utils/ods-color-utils.d.ts +2 -1
- package/dist/utils/ods-color-utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/announcement-bar.tsx +38 -21
- package/src/components/chat/quick-action-chip.tsx +18 -4
- package/src/components/embeds/reddit-embed-client.tsx +0 -3
- package/src/components/index.ts +5 -0
- package/src/components/media-carousel.tsx +195 -149
- package/src/components/ui/tag.tsx +21 -3
- package/src/contexts/endpoints-runtime-context.tsx +1 -1
- package/src/hooks/use-self-fetch.ts +10 -9
- package/src/stories/AnnouncementBar.stories.tsx +8 -14
- package/src/styles/ods-design-tokens.css +2 -0
- package/src/types/announcement.ts +0 -8
- package/src/utils/announcement-storage.ts +17 -0
- package/src/utils/app-config.ts +3 -2
- package/src/utils/color-analysis.ts +5 -2
- package/src/utils/media-carousel-utils-stub.ts +3 -1
- package/src/utils/ods-color-utils.ts +4 -7
- package/dist/chunk-3KEBI6TP.cjs.map +0 -1
- package/dist/chunk-CCIBZ7TO.cjs.map +0 -1
- package/dist/chunk-E6YHDT3D.js.map +0 -1
- package/dist/chunk-LL4QQSAD.cjs.map +0 -1
- package/dist/chunk-NA7XJRWB.js.map +0 -1
- package/dist/chunk-QAFRLO5N.cjs.map +0 -1
- package/dist/chunk-SOK32D6C.js.map +0 -1
- package/dist/utils/media-carousel-utils.d.ts +0 -10
- package/dist/utils/media-carousel-utils.d.ts.map +0 -1
- package/src/utils/.media-carousel-utils.md +0 -31
- package/src/utils/media-carousel-utils.ts +0 -22
- /package/dist/{chunk-TFDNJTBX.js.map → chunk-5HOII3WB.js.map} +0 -0
- /package/dist/{chunk-6WMVBCNA.js.map → chunk-E4J5KKHH.js.map} +0 -0
- /package/dist/{chunk-PQN5R5II.js.map → chunk-IK5AR6QG.js.map} +0 -0
- /package/dist/{chunk-AYFWYOL6.js.map → chunk-J6M2G6TD.js.map} +0 -0
- /package/dist/{chunk-ZVUR3A33.js.map → chunk-KZPVN7AZ.js.map} +0 -0
- /package/dist/{chunk-7RVSGGO6.js.map → chunk-L6OPVKVR.js.map} +0 -0
- /package/dist/{chunk-OATWTTCI.js.map → chunk-LQWYXIKB.js.map} +0 -0
- /package/dist/{chunk-LSPBPUQM.js.map → chunk-O5W26SCL.js.map} +0 -0
- /package/dist/{chunk-3KZXOLFK.js.map → chunk-VUW4G6SU.js.map} +0 -0
- /package/dist/{chunk-XXG2Z2JT.js.map → chunk-ZF5O3KUQ.js.map} +0 -0
- /package/dist/{chunk-C3NPMZBI.js.map → chunk-ZMFQWMM7.js.map} +0 -0
|
@@ -26,7 +26,8 @@
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
var
|
|
29
|
+
var _chunkSTGWQFYTcjs = require('./chunk-STGWQFYT.cjs');
|
|
30
|
+
|
|
30
31
|
|
|
31
32
|
|
|
32
33
|
|
|
@@ -150,7 +151,7 @@ var _chunkBGD345ZVcjs = require('./chunk-BGD345ZV.cjs');
|
|
|
150
151
|
|
|
151
152
|
|
|
152
153
|
|
|
153
|
-
var
|
|
154
|
+
var _chunk2B6773QMcjs = require('./chunk-2B6773QM.cjs');
|
|
154
155
|
|
|
155
156
|
|
|
156
157
|
var _chunkBZFW3FOFcjs = require('./chunk-BZFW3FOF.cjs');
|
|
@@ -424,11 +425,18 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
|
424
425
|
|
|
425
426
|
var tagVariants = _classvarianceauthority.cva.call(void 0,
|
|
426
427
|
[
|
|
427
|
-
"
|
|
428
|
+
"inline-flex items-center justify-center rounded-md",
|
|
428
429
|
"transition-colors duration-150"
|
|
429
430
|
],
|
|
430
431
|
{
|
|
431
432
|
variants: {
|
|
433
|
+
// Chip scale. `default` is the classic 32px mono-uppercase tag; `large`
|
|
434
|
+
// is the Figma "Feature Item" chip (48px, h3 bold body label) used by
|
|
435
|
+
// chip groups acting as tabs (OpenFrame categories).
|
|
436
|
+
size: {
|
|
437
|
+
default: "text-h5 h-8 gap-[var(--spacing-system-xxs)] p-[var(--spacing-system-xsf)]",
|
|
438
|
+
large: "text-h3 font-bold h-12 gap-[var(--spacing-system-xs)] p-[var(--spacing-system-s)]"
|
|
439
|
+
},
|
|
432
440
|
variant: {
|
|
433
441
|
primary: [
|
|
434
442
|
"bg-[var(--ods-open-yellow-base)] text-[var(--ods-system-greys-black)]",
|
|
@@ -459,6 +467,15 @@ var tagVariants = _classvarianceauthority.cva.call(void 0,
|
|
|
459
467
|
"bg-[var(--ods-system-greys-soft-grey)] text-[var(--ods-system-greys-grey)]",
|
|
460
468
|
"hover:bg-[var(--ods-system-greys-soft-grey-hover)] active:bg-[var(--ods-system-greys-soft-grey-action)]"
|
|
461
469
|
],
|
|
470
|
+
// Active/selected chip state (Figma "Feature Item" active): pink
|
|
471
|
+
// border + pink-secondary fill. A dedicated variant (not appended
|
|
472
|
+
// utilities) so its own hover rules win — the outline variant's
|
|
473
|
+
// hover:bg/hover:border would otherwise repaint an active chip grey.
|
|
474
|
+
selected: [
|
|
475
|
+
"bg-[var(--ods-flamingo-pink-secondary)] text-[var(--ods-system-greys-white)] border border-[var(--ods-flamingo-pink-base)]",
|
|
476
|
+
"hover:bg-[var(--ods-flamingo-pink-secondary-hover)] hover:border-[var(--ods-flamingo-pink-base)]",
|
|
477
|
+
"active:bg-[var(--ods-flamingo-pink-secondary-action)]"
|
|
478
|
+
],
|
|
462
479
|
// Matches the EntityTagBadges / StatusBadge tag skin (ods-card + ods-border,
|
|
463
480
|
// mono uppercase) so the tag-editor chips render identically to the public
|
|
464
481
|
// tag badges. Used for FilterChipData variant 'tag' (see search-input).
|
|
@@ -469,7 +486,8 @@ var tagVariants = _classvarianceauthority.cva.call(void 0,
|
|
|
469
486
|
}
|
|
470
487
|
},
|
|
471
488
|
defaultVariants: {
|
|
472
|
-
variant: "primary"
|
|
489
|
+
variant: "primary",
|
|
490
|
+
size: "default"
|
|
473
491
|
}
|
|
474
492
|
}
|
|
475
493
|
);
|
|
@@ -482,6 +500,7 @@ var disabledTagClasses = [
|
|
|
482
500
|
function Tag({
|
|
483
501
|
label,
|
|
484
502
|
variant,
|
|
503
|
+
size: size2,
|
|
485
504
|
icon,
|
|
486
505
|
onClose,
|
|
487
506
|
className,
|
|
@@ -494,14 +513,14 @@ function Tag({
|
|
|
494
513
|
Comp,
|
|
495
514
|
{
|
|
496
515
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
497
|
-
tagVariants({ variant }),
|
|
516
|
+
tagVariants({ variant, size: size2 }),
|
|
498
517
|
disabled && disabledTagClasses,
|
|
499
518
|
className
|
|
500
519
|
),
|
|
501
520
|
"aria-disabled": disabled || void 0,
|
|
502
521
|
...props,
|
|
503
522
|
children: [
|
|
504
|
-
icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex items-center justify-center size-
|
|
523
|
+
icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex items-center justify-center shrink-0", size2 === "large" ? "size-6" : "size-5"), children: icon }),
|
|
505
524
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "truncate", labelClassName), title: typeof label === "string" ? label : void 0, children: label }),
|
|
506
525
|
onClose && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
507
526
|
"button",
|
|
@@ -773,7 +792,7 @@ function ToolCallRow({ call, expanded, onToggle, batchStatus, execution, showExe
|
|
|
773
792
|
onClick: onToggle,
|
|
774
793
|
className: "flex gap-[var(--spacing-system-xsf)] items-start w-full p-[var(--spacing-system-sf)] cursor-pointer text-left",
|
|
775
794
|
children: [
|
|
776
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
795
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTGWQFYTcjs.ToolIcon, { toolType, size: 16 }) }),
|
|
777
796
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
778
797
|
"div",
|
|
779
798
|
{
|
|
@@ -2745,6 +2764,174 @@ function ColorSwatch({ color, className }) {
|
|
|
2745
2764
|
// src/components/ui/ticket-status-tag.tsx
|
|
2746
2765
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
2747
2766
|
|
|
2767
|
+
// src/utils/color-analysis.ts
|
|
2768
|
+
var DESIGN_PALETTE = [
|
|
2769
|
+
{ name: "yellow", hex: "#FFC008", rgb: [255, 192, 8] },
|
|
2770
|
+
{ name: "black", hex: "#161616", rgb: [22, 22, 22] },
|
|
2771
|
+
{ name: "gray", hex: "#888888", rgb: [136, 136, 136] }
|
|
2772
|
+
];
|
|
2773
|
+
function hexToRgb(hex) {
|
|
2774
|
+
const normalized = hex.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, (_, r, g, b) => `${r}${r}${g}${g}${b}${b}`);
|
|
2775
|
+
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(normalized);
|
|
2776
|
+
return result ? [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)] : [0, 0, 0];
|
|
2777
|
+
}
|
|
2778
|
+
function getLuminance(rgb) {
|
|
2779
|
+
const [r, g, b] = rgb.map((c) => {
|
|
2780
|
+
c = c / 255;
|
|
2781
|
+
return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
|
|
2782
|
+
});
|
|
2783
|
+
return 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
|
2784
|
+
}
|
|
2785
|
+
function getContrastRatio(color1, color2) {
|
|
2786
|
+
const lum1 = getLuminance(color1);
|
|
2787
|
+
const lum2 = getLuminance(color2);
|
|
2788
|
+
const brightest = Math.max(lum1, lum2);
|
|
2789
|
+
const darkest = Math.min(lum1, lum2);
|
|
2790
|
+
return (brightest + 0.05) / (darkest + 0.05);
|
|
2791
|
+
}
|
|
2792
|
+
function pickReadableTextColor(bgHex) {
|
|
2793
|
+
const bg = hexToRgb(bgHex);
|
|
2794
|
+
const darkContrast = getContrastRatio(bg, [26, 26, 26]);
|
|
2795
|
+
const lightContrast = getContrastRatio(bg, [250, 250, 250]);
|
|
2796
|
+
return darkContrast >= lightContrast ? "dark" : "light";
|
|
2797
|
+
}
|
|
2798
|
+
function extractDominantColor(canvas) {
|
|
2799
|
+
const ctx = canvas.getContext("2d");
|
|
2800
|
+
if (!ctx) return [128, 128, 128];
|
|
2801
|
+
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
|
|
2802
|
+
const data = imageData.data;
|
|
2803
|
+
const sampleSize = Math.max(1, Math.floor(data.length / (4 * 1e3)));
|
|
2804
|
+
const colorCounts = {};
|
|
2805
|
+
for (let i = 0; i < data.length; i += 4 * sampleSize) {
|
|
2806
|
+
const r = data[i];
|
|
2807
|
+
const g = data[i + 1];
|
|
2808
|
+
const b = data[i + 2];
|
|
2809
|
+
const alpha = data[i + 3];
|
|
2810
|
+
if (alpha < 128) continue;
|
|
2811
|
+
const bucketR = Math.round(r / 32) * 32;
|
|
2812
|
+
const bucketG = Math.round(g / 32) * 32;
|
|
2813
|
+
const bucketB = Math.round(b / 32) * 32;
|
|
2814
|
+
const key = `${bucketR},${bucketG},${bucketB}`;
|
|
2815
|
+
colorCounts[key] = (colorCounts[key] || 0) + 1;
|
|
2816
|
+
}
|
|
2817
|
+
let maxCount = 0;
|
|
2818
|
+
let dominantColor = [128, 128, 128];
|
|
2819
|
+
for (const [colorKey, count] of Object.entries(colorCounts)) {
|
|
2820
|
+
if (count > maxCount) {
|
|
2821
|
+
maxCount = count;
|
|
2822
|
+
const [r, g, b] = colorKey.split(",").map(Number);
|
|
2823
|
+
dominantColor = [r, g, b];
|
|
2824
|
+
}
|
|
2825
|
+
}
|
|
2826
|
+
return dominantColor;
|
|
2827
|
+
}
|
|
2828
|
+
function getBestContrastColor(imageColor) {
|
|
2829
|
+
let bestColor = DESIGN_PALETTE[0];
|
|
2830
|
+
let bestContrast = 0;
|
|
2831
|
+
for (const color of DESIGN_PALETTE) {
|
|
2832
|
+
const contrast = getContrastRatio(imageColor, color.rgb);
|
|
2833
|
+
if (contrast > bestContrast) {
|
|
2834
|
+
bestContrast = contrast;
|
|
2835
|
+
bestColor = color;
|
|
2836
|
+
}
|
|
2837
|
+
}
|
|
2838
|
+
return bestContrast >= 3 ? bestColor : DESIGN_PALETTE.find((c) => c.name === "black") || bestColor;
|
|
2839
|
+
}
|
|
2840
|
+
function analyzeImageColor(imageSrc) {
|
|
2841
|
+
return new Promise((resolve, reject) => {
|
|
2842
|
+
const img = new Image();
|
|
2843
|
+
img.crossOrigin = "anonymous";
|
|
2844
|
+
img.onload = () => {
|
|
2845
|
+
try {
|
|
2846
|
+
const canvas = document.createElement("canvas");
|
|
2847
|
+
const ctx = canvas.getContext("2d");
|
|
2848
|
+
if (!ctx) {
|
|
2849
|
+
reject(new Error("Could not get canvas context"));
|
|
2850
|
+
return;
|
|
2851
|
+
}
|
|
2852
|
+
const maxSize = 100;
|
|
2853
|
+
const scale = Math.min(maxSize / img.width, maxSize / img.height);
|
|
2854
|
+
canvas.width = img.width * scale;
|
|
2855
|
+
canvas.height = img.height * scale;
|
|
2856
|
+
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
|
|
2857
|
+
const dominantColor = extractDominantColor(canvas);
|
|
2858
|
+
const bestContrastColor = getBestContrastColor(dominantColor);
|
|
2859
|
+
resolve(bestContrastColor);
|
|
2860
|
+
} catch (error) {
|
|
2861
|
+
reject(error);
|
|
2862
|
+
}
|
|
2863
|
+
};
|
|
2864
|
+
img.onerror = () => reject(new Error("Failed to load image"));
|
|
2865
|
+
img.src = imageSrc;
|
|
2866
|
+
});
|
|
2867
|
+
}
|
|
2868
|
+
async function extractImageEdgeColorAsync(imageUrl) {
|
|
2869
|
+
return new Promise((resolve) => {
|
|
2870
|
+
if (typeof window === "undefined") {
|
|
2871
|
+
resolve("#000000");
|
|
2872
|
+
return;
|
|
2873
|
+
}
|
|
2874
|
+
const img = new Image();
|
|
2875
|
+
img.crossOrigin = "anonymous";
|
|
2876
|
+
img.onload = () => {
|
|
2877
|
+
try {
|
|
2878
|
+
const canvas = document.createElement("canvas");
|
|
2879
|
+
const ctx = canvas.getContext("2d");
|
|
2880
|
+
if (!ctx) {
|
|
2881
|
+
resolve("#000000");
|
|
2882
|
+
return;
|
|
2883
|
+
}
|
|
2884
|
+
const maxSize = 50;
|
|
2885
|
+
const scale = Math.min(maxSize / img.naturalWidth, maxSize / img.naturalHeight);
|
|
2886
|
+
const w = Math.round(img.naturalWidth * scale);
|
|
2887
|
+
const h = Math.round(img.naturalHeight * scale);
|
|
2888
|
+
canvas.width = w;
|
|
2889
|
+
canvas.height = h;
|
|
2890
|
+
ctx.drawImage(img, 0, 0, w, h);
|
|
2891
|
+
const data = ctx.getImageData(0, 0, w, h).data;
|
|
2892
|
+
const edgeW = Math.max(2, Math.round(w * 0.15));
|
|
2893
|
+
const edgeH = Math.max(2, Math.round(h * 0.15));
|
|
2894
|
+
const bucketSize = 32;
|
|
2895
|
+
const buckets = /* @__PURE__ */ new Map();
|
|
2896
|
+
for (let y = 0; y < h; y++) {
|
|
2897
|
+
for (let x = 0; x < w; x++) {
|
|
2898
|
+
if (!(x < edgeW || x >= w - edgeW || y < edgeH || y >= h - edgeH)) continue;
|
|
2899
|
+
const i = (y * w + x) * 4;
|
|
2900
|
+
if (data[i + 3] < 128) continue;
|
|
2901
|
+
const br = Math.floor(data[i] / bucketSize) * bucketSize;
|
|
2902
|
+
const bg = Math.floor(data[i + 1] / bucketSize) * bucketSize;
|
|
2903
|
+
const bb = Math.floor(data[i + 2] / bucketSize) * bucketSize;
|
|
2904
|
+
const key = `${br},${bg},${bb}`;
|
|
2905
|
+
const existing = buckets.get(key);
|
|
2906
|
+
if (existing) {
|
|
2907
|
+
existing.r += data[i];
|
|
2908
|
+
existing.g += data[i + 1];
|
|
2909
|
+
existing.b += data[i + 2];
|
|
2910
|
+
existing.count++;
|
|
2911
|
+
} else {
|
|
2912
|
+
buckets.set(key, { r: data[i], g: data[i + 1], b: data[i + 2], count: 1 });
|
|
2913
|
+
}
|
|
2914
|
+
}
|
|
2915
|
+
}
|
|
2916
|
+
let best = { r: 0, g: 0, b: 0, count: 0 };
|
|
2917
|
+
for (const b2 of buckets.values()) {
|
|
2918
|
+
if (b2.count > best.count) best = b2;
|
|
2919
|
+
}
|
|
2920
|
+
if (best.count === 0) {
|
|
2921
|
+
resolve("#000000");
|
|
2922
|
+
return;
|
|
2923
|
+
}
|
|
2924
|
+
const r = Math.round(best.r / best.count), g = Math.round(best.g / best.count), b = Math.round(best.b / best.count);
|
|
2925
|
+
resolve(`#${r.toString(16).padStart(2, "0")}${g.toString(16).padStart(2, "0")}${b.toString(16).padStart(2, "0")}`);
|
|
2926
|
+
} catch (e6) {
|
|
2927
|
+
resolve("#000000");
|
|
2928
|
+
}
|
|
2929
|
+
};
|
|
2930
|
+
img.onerror = () => resolve("#000000");
|
|
2931
|
+
img.src = imageUrl;
|
|
2932
|
+
});
|
|
2933
|
+
}
|
|
2934
|
+
|
|
2748
2935
|
// src/utils/ods-color-utils.ts
|
|
2749
2936
|
function getPlatformAccentColor(platform) {
|
|
2750
2937
|
const currentPlatform = platform || getCurrentPlatform();
|
|
@@ -2769,18 +2956,13 @@ function getCurrentPlatform() {
|
|
|
2769
2956
|
return process.env.NEXT_PUBLIC_APP_TYPE || "openmsp";
|
|
2770
2957
|
}
|
|
2771
2958
|
function getReadableTextColor(hex) {
|
|
2772
|
-
|
|
2773
|
-
const r = n >> 16 & 255;
|
|
2774
|
-
const g = n >> 8 & 255;
|
|
2775
|
-
const b = n & 255;
|
|
2776
|
-
const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
|
|
2777
|
-
return luminance > 0.5 ? "#212121" : "#fafafa";
|
|
2959
|
+
return pickReadableTextColor(hex) === "dark" ? "#212121" : "#fafafa";
|
|
2778
2960
|
}
|
|
2779
2961
|
var HEX_PATTERN = /^#[0-9a-fA-F]{6}$/;
|
|
2780
2962
|
function clamp(n, min, max) {
|
|
2781
2963
|
return Math.max(min, Math.min(max, n));
|
|
2782
2964
|
}
|
|
2783
|
-
function
|
|
2965
|
+
function hexToRgb2(hex) {
|
|
2784
2966
|
if (!HEX_PATTERN.test(hex)) return null;
|
|
2785
2967
|
const n = Number.parseInt(hex.slice(1), 16);
|
|
2786
2968
|
return { r: n >> 16 & 255, g: n >> 8 & 255, b: n & 255 };
|
|
@@ -2792,7 +2974,7 @@ function rgbToHex(r, g, b) {
|
|
|
2792
2974
|
var HOVER_DARKEN_STEP = 10;
|
|
2793
2975
|
var ACTIVE_DARKEN_STEP = 20;
|
|
2794
2976
|
function darkenByStep(hex, step) {
|
|
2795
|
-
const rgb =
|
|
2977
|
+
const rgb = hexToRgb2(hex);
|
|
2796
2978
|
if (!rgb) return hex;
|
|
2797
2979
|
return rgbToHex(rgb.r - step, rgb.g - step, rgb.b - step);
|
|
2798
2980
|
}
|
|
@@ -4359,7 +4541,7 @@ var ChatInput = _react.forwardRef.call(void 0, (allProps, ref) => {
|
|
|
4359
4541
|
setIsStopping(true);
|
|
4360
4542
|
try {
|
|
4361
4543
|
await onStop();
|
|
4362
|
-
} catch (
|
|
4544
|
+
} catch (e7) {
|
|
4363
4545
|
setIsStopping(false);
|
|
4364
4546
|
}
|
|
4365
4547
|
}, [onStop, isStopping]);
|
|
@@ -4691,7 +4873,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
4691
4873
|
className: "flex gap-[var(--spacing-system-xs)] items-start p-[var(--spacing-system-s)] cursor-pointer text-left w-full",
|
|
4692
4874
|
onClick: () => setExpanded((prev) => !prev),
|
|
4693
4875
|
children: [
|
|
4694
|
-
!isClient && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4876
|
+
!isClient && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTGWQFYTcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
|
|
4695
4877
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4696
4878
|
"div",
|
|
4697
4879
|
{
|
|
@@ -6110,7 +6292,7 @@ function getProxiedImageUrl(imageUrl, options) {
|
|
|
6110
6292
|
function urlPathLooksLikeSvg(imageUrl) {
|
|
6111
6293
|
try {
|
|
6112
6294
|
return /\.svg$/i.test(new URL(imageUrl).pathname);
|
|
6113
|
-
} catch (
|
|
6295
|
+
} catch (e8) {
|
|
6114
6296
|
return /\.svg(\?|#|$)/i.test(imageUrl);
|
|
6115
6297
|
}
|
|
6116
6298
|
}
|
|
@@ -6126,7 +6308,7 @@ function generateImageSizes(_url) {
|
|
|
6126
6308
|
|
|
6127
6309
|
// src/components/chat/hooks/use-proxied-image-url.ts
|
|
6128
6310
|
function useProxiedImageUrl(url) {
|
|
6129
|
-
const r =
|
|
6311
|
+
const r = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
|
|
6130
6312
|
return _nullishCoalesce(getProxiedImageUrl(_nullishCoalesce(url, () => ( "")), {
|
|
6131
6313
|
proxyPrefix: r.endpoints.imageProxyUrlPrefix,
|
|
6132
6314
|
skipDomains: r.endpoints.imageProxySkipDomains,
|
|
@@ -6341,13 +6523,14 @@ function composeChipLabel(label, lozenge) {
|
|
|
6341
6523
|
function ChipSkelBar({ className, style }) {
|
|
6342
6524
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": true, className: _chunkFIG2RKZFcjs.cn.call(void 0, "animate-pulse rounded-md bg-ods-border", className), style });
|
|
6343
6525
|
}
|
|
6344
|
-
function QuickActionChipSkeleton({ labelCh = 16, icon = true, lozenge = false, className }) {
|
|
6526
|
+
function QuickActionChipSkeleton({ labelCh = 16, icon = true, lozenge = false, size: size2 = "default", className }) {
|
|
6345
6527
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6346
6528
|
Tag,
|
|
6347
6529
|
{
|
|
6348
6530
|
variant: "outline",
|
|
6531
|
+
size: size2,
|
|
6349
6532
|
className,
|
|
6350
|
-
icon: icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChipSkelBar, { className: "block size-4" }) : void 0,
|
|
6533
|
+
icon: icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChipSkelBar, { className: size2 === "large" ? "block size-5" : "block size-4" }) : void 0,
|
|
6351
6534
|
label: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
6352
6535
|
lozenge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChipSkelBar, { className: "mr-2 inline-block h-[16px] w-[26px] translate-y-[2px]" }),
|
|
6353
6536
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChipSkelBar, { className: "inline-block h-[0.9em] translate-y-[0.08em]", style: { width: `${labelCh}ch` } })
|
|
@@ -6360,6 +6543,8 @@ function QuickActionChipButton({
|
|
|
6360
6543
|
icon,
|
|
6361
6544
|
lozenge,
|
|
6362
6545
|
variant = "outline",
|
|
6546
|
+
selected = false,
|
|
6547
|
+
size: size2 = "default",
|
|
6363
6548
|
onSelect,
|
|
6364
6549
|
onHoverStart,
|
|
6365
6550
|
onHoverEnd,
|
|
@@ -6368,8 +6553,9 @@ function QuickActionChipButton({
|
|
|
6368
6553
|
}) {
|
|
6369
6554
|
const resolvedIcon = renderQuickActionIcon(icon);
|
|
6370
6555
|
const resolvedLabel = composeChipLabel(label, lozenge);
|
|
6556
|
+
const tagVariant = selected ? "selected" : variant;
|
|
6371
6557
|
if (!interactive) {
|
|
6372
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { variant, icon: resolvedIcon, label: resolvedLabel, className });
|
|
6558
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { variant: tagVariant, size: size2, icon: resolvedIcon, label: resolvedLabel, className });
|
|
6373
6559
|
}
|
|
6374
6560
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6375
6561
|
"button",
|
|
@@ -6380,11 +6566,12 @@ function QuickActionChipButton({
|
|
|
6380
6566
|
onMouseLeave: onHoverEnd,
|
|
6381
6567
|
onFocus: onHoverStart,
|
|
6382
6568
|
onBlur: onHoverEnd,
|
|
6569
|
+
"aria-pressed": selected || void 0,
|
|
6383
6570
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
6384
6571
|
"shrink-0 rounded-md focus:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent",
|
|
6385
6572
|
className
|
|
6386
6573
|
),
|
|
6387
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { variant, icon: resolvedIcon, label: resolvedLabel })
|
|
6574
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { variant: tagVariant, size: size2, icon: resolvedIcon, label: resolvedLabel })
|
|
6388
6575
|
}
|
|
6389
6576
|
);
|
|
6390
6577
|
}
|
|
@@ -6410,7 +6597,7 @@ function ChatQuickActionRow({
|
|
|
6410
6597
|
wrap = false,
|
|
6411
6598
|
className
|
|
6412
6599
|
}) {
|
|
6413
|
-
const auto =
|
|
6600
|
+
const auto = _chunkSTGWQFYTcjs.useAutoLimitTags.call(void 0, {
|
|
6414
6601
|
count: chips.length,
|
|
6415
6602
|
reserveInputWidth: false
|
|
6416
6603
|
});
|
|
@@ -6997,7 +7184,7 @@ function DialogSearchBar({
|
|
|
6997
7184
|
onSearchChange
|
|
6998
7185
|
}) {
|
|
6999
7186
|
const [value, setValue] = React16.useState(_nullishCoalesce(initialValue, () => ( "")));
|
|
7000
|
-
const debounced =
|
|
7187
|
+
const debounced = _chunkSTGWQFYTcjs.useDebounce.call(void 0, value, 300);
|
|
7001
7188
|
const lastEmitted = React16.useRef(_nullishCoalesce(initialValue, () => ( "")));
|
|
7002
7189
|
React16.useEffect(() => {
|
|
7003
7190
|
if (debounced === lastEmitted.current) return;
|
|
@@ -7154,7 +7341,7 @@ function MingoWelcome({
|
|
|
7154
7341
|
try {
|
|
7155
7342
|
const store = promoStorage === "session" ? window.sessionStorage : window.localStorage;
|
|
7156
7343
|
if (store.getItem(promoStorageKey) === "1") setPromoDismissed(true);
|
|
7157
|
-
} catch (
|
|
7344
|
+
} catch (e9) {
|
|
7158
7345
|
}
|
|
7159
7346
|
}, [resolvedPromo, promoStorage, promoStorageKey]);
|
|
7160
7347
|
const dismissPromo = React17.useCallback(() => {
|
|
@@ -7162,7 +7349,7 @@ function MingoWelcome({
|
|
|
7162
7349
|
try {
|
|
7163
7350
|
const store = promoStorage === "session" ? window.sessionStorage : window.localStorage;
|
|
7164
7351
|
store.setItem(promoStorageKey, "1");
|
|
7165
|
-
} catch (
|
|
7352
|
+
} catch (e10) {
|
|
7166
7353
|
}
|
|
7167
7354
|
}, [promoStorage, promoStorageKey]);
|
|
7168
7355
|
const { scrollRef, fadeTop, fadeBottom, update: updateScrollFade } = useScrollFade();
|
|
@@ -8744,7 +8931,7 @@ function isSameOriginAbsoluteHref(href) {
|
|
|
8744
8931
|
if (!/^https?:\/\//i.test(href)) return false;
|
|
8745
8932
|
try {
|
|
8746
8933
|
return new URL(href).origin === window.location.origin;
|
|
8747
|
-
} catch (
|
|
8934
|
+
} catch (e11) {
|
|
8748
8935
|
return false;
|
|
8749
8936
|
}
|
|
8750
8937
|
}
|
|
@@ -8774,7 +8961,7 @@ function stripSameOriginToPath(href) {
|
|
|
8774
8961
|
try {
|
|
8775
8962
|
const u = new URL(href);
|
|
8776
8963
|
return u.pathname + u.search + u.hash;
|
|
8777
|
-
} catch (
|
|
8964
|
+
} catch (e12) {
|
|
8778
8965
|
return href;
|
|
8779
8966
|
}
|
|
8780
8967
|
}
|
|
@@ -8820,7 +9007,7 @@ function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
|
|
|
8820
9007
|
return;
|
|
8821
9008
|
}
|
|
8822
9009
|
const target = stripSameOriginToPath(href);
|
|
8823
|
-
if (target.includes("#") &&
|
|
9010
|
+
if (target.includes("#") && _chunkSTGWQFYTcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkSTGWQFYTcjs.STICKY_HEADER_OFFSET_PX })) {
|
|
8824
9011
|
return;
|
|
8825
9012
|
}
|
|
8826
9013
|
const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _141 => _141.navigation, 'access', _142 => _142.navigate, 'optionalCall', _143 => _143({ href, path, targetPlatform })]), () => ( false));
|
|
@@ -8877,7 +9064,7 @@ function NavLinkAnchorViaRuntime({
|
|
|
8877
9064
|
className,
|
|
8878
9065
|
children
|
|
8879
9066
|
}) {
|
|
8880
|
-
const runtime =
|
|
9067
|
+
const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
|
|
8881
9068
|
const router = _chunkG7UE6RKVcjs.useRouter.call(void 0, );
|
|
8882
9069
|
const panel = useChatPanel();
|
|
8883
9070
|
const resolvedHref = resolveHrefForRuntime(href, runtime);
|
|
@@ -9259,7 +9446,7 @@ function EntityPortraitCard({
|
|
|
9259
9446
|
setIsWide(img.naturalWidth / img.naturalHeight >= MIN_WIDE_RATIO);
|
|
9260
9447
|
}
|
|
9261
9448
|
};
|
|
9262
|
-
const edgeColor =
|
|
9449
|
+
const edgeColor = _chunkSTGWQFYTcjs.useImageEdgeColor.call(void 0, isWide === false ? src : null, "var(--ods-bg-secondary)");
|
|
9263
9450
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, "block h-full", className), "aria-label": `Open ${title}`, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Card, { className: "bg-ods-card border border-ods-border hover:border-ods-accent hover:shadow-lg hover:shadow-ods-accent/[0.08] transition-all duration-200 p-6 flex flex-col gap-6 overflow-hidden h-full", children: [
|
|
9264
9451
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9265
9452
|
"div",
|
|
@@ -9566,7 +9753,7 @@ function AdminContentCard({
|
|
|
9566
9753
|
const [imageError, setImageError] = _react.useState.call(void 0, false);
|
|
9567
9754
|
const [imageLoaded, setImageLoaded] = _react.useState.call(void 0, false);
|
|
9568
9755
|
const displayUrl = imageUrl && !imageError ? imageUrl : placeholderUrl;
|
|
9569
|
-
const imageBgColor =
|
|
9756
|
+
const imageBgColor = _chunkSTGWQFYTcjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
|
|
9570
9757
|
_react.useEffect.call(void 0, () => {
|
|
9571
9758
|
setImageLoaded(false);
|
|
9572
9759
|
}, [displayUrl]);
|
|
@@ -9817,7 +10004,7 @@ if (typeof window !== "undefined") {
|
|
|
9817
10004
|
activationWaiters.forEach((fn) => {
|
|
9818
10005
|
try {
|
|
9819
10006
|
fn();
|
|
9820
|
-
} catch (
|
|
10007
|
+
} catch (e13) {
|
|
9821
10008
|
}
|
|
9822
10009
|
});
|
|
9823
10010
|
activationWaiters.clear();
|
|
@@ -9839,7 +10026,7 @@ var YT_HOSTS = /* @__PURE__ */ new Set([
|
|
|
9839
10026
|
function isYouTubeUrl(url) {
|
|
9840
10027
|
try {
|
|
9841
10028
|
return YT_HOSTS.has(new URL(url, "http://placeholder.local").hostname.toLowerCase());
|
|
9842
|
-
} catch (
|
|
10029
|
+
} catch (e14) {
|
|
9843
10030
|
return false;
|
|
9844
10031
|
}
|
|
9845
10032
|
}
|
|
@@ -9851,7 +10038,7 @@ function extractYouTubeId(url) {
|
|
|
9851
10038
|
let u;
|
|
9852
10039
|
try {
|
|
9853
10040
|
u = new URL(url, "http://placeholder.local");
|
|
9854
|
-
} catch (
|
|
10041
|
+
} catch (e15) {
|
|
9855
10042
|
return null;
|
|
9856
10043
|
}
|
|
9857
10044
|
if (!YT_HOSTS.has(u.hostname.toLowerCase())) return null;
|
|
@@ -9977,7 +10164,7 @@ function FilePlayer({
|
|
|
9977
10164
|
_optionalChain([el, 'access', _160 => _160.play, 'optionalCall', _161 => _161(), 'optionalAccess', _162 => _162.catch, 'optionalCall', _163 => _163(() => {
|
|
9978
10165
|
})]);
|
|
9979
10166
|
setHoverMutedFallback(true);
|
|
9980
|
-
} catch (
|
|
10167
|
+
} catch (e16) {
|
|
9981
10168
|
}
|
|
9982
10169
|
}
|
|
9983
10170
|
})]);
|
|
@@ -9993,7 +10180,7 @@ function FilePlayer({
|
|
|
9993
10180
|
try {
|
|
9994
10181
|
el.muted = false;
|
|
9995
10182
|
el.volume = 0.5;
|
|
9996
|
-
} catch (
|
|
10183
|
+
} catch (e17) {
|
|
9997
10184
|
}
|
|
9998
10185
|
setHoverMutedFallback(false);
|
|
9999
10186
|
}
|
|
@@ -10001,7 +10188,7 @@ function FilePlayer({
|
|
|
10001
10188
|
activationWaiterRef.current = waiter;
|
|
10002
10189
|
activationWaiters.add(waiter);
|
|
10003
10190
|
}
|
|
10004
|
-
} catch (
|
|
10191
|
+
} catch (e18) {
|
|
10005
10192
|
}
|
|
10006
10193
|
}, []);
|
|
10007
10194
|
const stopHoverPlayback = _react.useCallback.call(void 0, () => {
|
|
@@ -10010,7 +10197,7 @@ function FilePlayer({
|
|
|
10010
10197
|
clearActivationWaiter();
|
|
10011
10198
|
try {
|
|
10012
10199
|
_optionalChain([hoverPlayerRef, 'access', _168 => _168.current, 'optionalAccess', _169 => _169.pause, 'optionalCall', _170 => _170()]);
|
|
10013
|
-
} catch (
|
|
10200
|
+
} catch (e19) {
|
|
10014
10201
|
}
|
|
10015
10202
|
}, [clearActivationWaiter]);
|
|
10016
10203
|
const unmuteNow = _react.useCallback.call(void 0, (e) => {
|
|
@@ -10024,7 +10211,7 @@ function FilePlayer({
|
|
|
10024
10211
|
_optionalChain([el, 'access', _171 => _171.play, 'optionalCall', _172 => _172(), 'optionalAccess', _173 => _173.catch, 'optionalCall', _174 => _174(() => {
|
|
10025
10212
|
})]);
|
|
10026
10213
|
}
|
|
10027
|
-
} catch (
|
|
10214
|
+
} catch (e20) {
|
|
10028
10215
|
}
|
|
10029
10216
|
setHoverMutedFallback(false);
|
|
10030
10217
|
}, []);
|
|
@@ -10178,7 +10365,7 @@ function YouTubeFacadeInner({
|
|
|
10178
10365
|
let payload = null;
|
|
10179
10366
|
try {
|
|
10180
10367
|
payload = JSON.parse(event.data);
|
|
10181
|
-
} catch (
|
|
10368
|
+
} catch (e21) {
|
|
10182
10369
|
return;
|
|
10183
10370
|
}
|
|
10184
10371
|
if (!payload || payload.event !== "infoDelivery") return;
|
|
@@ -10264,7 +10451,7 @@ var MUX_IMAGE_ORIGIN = "https://image.mux.com";
|
|
|
10264
10451
|
function useVideoOriginPreconnect({
|
|
10265
10452
|
supabaseStorageOrigin
|
|
10266
10453
|
} = {}) {
|
|
10267
|
-
const runtime =
|
|
10454
|
+
const runtime = _chunk2B6773QMcjs.useChatRuntime.call(void 0, );
|
|
10268
10455
|
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _183 => _183.endpoints, 'access', _184 => _184.supabaseStorageOrigin])));
|
|
10269
10456
|
try {
|
|
10270
10457
|
ReactDOM2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
|
|
@@ -10283,10 +10470,10 @@ function useVideoWarmup({
|
|
|
10283
10470
|
supabaseStorageOrigin,
|
|
10284
10471
|
nearMargin = "1000px"
|
|
10285
10472
|
} = {}) {
|
|
10286
|
-
const runtime =
|
|
10473
|
+
const runtime = _chunk2B6773QMcjs.useChatRuntime.call(void 0, );
|
|
10287
10474
|
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _185 => _185.endpoints, 'access', _186 => _186.supabaseStorageOrigin])));
|
|
10288
10475
|
useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
|
|
10289
|
-
const { ref, isNear } =
|
|
10476
|
+
const { ref, isNear } = _chunkSTGWQFYTcjs.useNearViewport.call(void 0, nearMargin);
|
|
10290
10477
|
_react.useEffect.call(void 0, () => {
|
|
10291
10478
|
if (!isNear || !videoUrl || !resolvedOrigin) return;
|
|
10292
10479
|
const conn = navigator.connection;
|
|
@@ -10294,7 +10481,7 @@ function useVideoWarmup({
|
|
|
10294
10481
|
let videoOrigin;
|
|
10295
10482
|
try {
|
|
10296
10483
|
videoOrigin = new URL(videoUrl, "http://placeholder.local").origin;
|
|
10297
|
-
} catch (
|
|
10484
|
+
} catch (e22) {
|
|
10298
10485
|
return;
|
|
10299
10486
|
}
|
|
10300
10487
|
if (videoOrigin !== resolvedOrigin) return;
|
|
@@ -11866,7 +12053,7 @@ function useEntityCardLink({
|
|
|
11866
12053
|
target,
|
|
11867
12054
|
rel
|
|
11868
12055
|
}) {
|
|
11869
|
-
const runtime =
|
|
12056
|
+
const runtime = _chunk2B6773QMcjs.useChatRuntime.call(void 0, );
|
|
11870
12057
|
return _react.useMemo.call(void 0, () => {
|
|
11871
12058
|
if (target !== void 0 || rel !== void 0) {
|
|
11872
12059
|
const safeRel = _nullishCoalesce(rel, () => ( (target === "_blank" ? "noopener noreferrer" : void 0)));
|
|
@@ -11884,7 +12071,7 @@ function useEntityCardPlaceholder({
|
|
|
11884
12071
|
siteName = "",
|
|
11885
12072
|
aspect = "wide"
|
|
11886
12073
|
}) {
|
|
11887
|
-
const derived =
|
|
12074
|
+
const derived = _chunkSTGWQFYTcjs.useOgPlaceholderUrl.call(void 0, { title, siteName, aspect });
|
|
11888
12075
|
return placeholderUrl !== void 0 ? placeholderUrl : derived;
|
|
11889
12076
|
}
|
|
11890
12077
|
|
|
@@ -11917,7 +12104,7 @@ function safeHref(url) {
|
|
|
11917
12104
|
if (!SAFE_URL_SCHEMES.includes(parsed.protocol)) return null;
|
|
11918
12105
|
if ((parsed.protocol === "https:" || parsed.protocol === "http:") && !parsed.hostname) return null;
|
|
11919
12106
|
return trimmed;
|
|
11920
|
-
} catch (
|
|
12107
|
+
} catch (e23) {
|
|
11921
12108
|
return null;
|
|
11922
12109
|
}
|
|
11923
12110
|
}
|
|
@@ -13155,7 +13342,7 @@ function AutocompleteInner(props, ref) {
|
|
|
13155
13342
|
}, [valueArray, options]);
|
|
13156
13343
|
const selectedOption = !multiple && selectedOptions.length > 0 ? selectedOptions[0] : null;
|
|
13157
13344
|
const inputPlaceholder = multiple ? valueArray.length === 0 ? placeholder : "Add More..." : placeholder;
|
|
13158
|
-
const autoLimitTags =
|
|
13345
|
+
const autoLimitTags = _chunkSTGWQFYTcjs.useAutoLimitTags.call(void 0, {
|
|
13159
13346
|
count: multiple ? selectedOptions.length : 0,
|
|
13160
13347
|
limitTags: multiple ? limitTagsProp : 0,
|
|
13161
13348
|
placeholder: inputPlaceholder
|
|
@@ -13896,7 +14083,7 @@ function DatePickerCalendar({
|
|
|
13896
14083
|
fluid = false
|
|
13897
14084
|
}) {
|
|
13898
14085
|
const today = /* @__PURE__ */ new Date();
|
|
13899
|
-
const isMdUp = _nullishCoalesce(
|
|
14086
|
+
const isMdUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useMdUp.call(void 0, ), () => ( true));
|
|
13900
14087
|
const monthsToShow = isMdUp ? numberOfMonths : 1;
|
|
13901
14088
|
const [draftRange, setDraftRange] = React43.useState(
|
|
13902
14089
|
mode === "range" ? selected : void 0
|
|
@@ -14920,7 +15107,7 @@ var ProgressBar = ({
|
|
|
14920
15107
|
mobileHeight = 8,
|
|
14921
15108
|
inverted = false
|
|
14922
15109
|
}) => {
|
|
14923
|
-
const isMdUp = _nullishCoalesce(
|
|
15110
|
+
const isMdUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useMdUp.call(void 0, ), () => ( true));
|
|
14924
15111
|
const effectiveSegmentWidth = isMdUp ? segmentWidth : mobileSegmentWidth;
|
|
14925
15112
|
const effectiveHeight = isMdUp ? height : mobileHeight;
|
|
14926
15113
|
const containerRef = _react.useRef.call(void 0, null);
|
|
@@ -15047,7 +15234,7 @@ function InfoCardFooter({ footer }) {
|
|
|
15047
15234
|
] });
|
|
15048
15235
|
}
|
|
15049
15236
|
function InfoCardValueRow({ label, value, showLabel, copyable, icon, copyAriaLabel }) {
|
|
15050
|
-
const { copy, copied } =
|
|
15237
|
+
const { copy, copied } = _chunkSTGWQFYTcjs.useCopyToClipboard.call(void 0, );
|
|
15051
15238
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-6 items-center gap-[var(--spacing-system-xs)] self-stretch w-full", children: [
|
|
15052
15239
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary whitespace-nowrap", children: showLabel ? label : "" }),
|
|
15053
15240
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 h-px bg-ods-divider" }),
|
|
@@ -17192,7 +17379,7 @@ function useResizableSize({
|
|
|
17192
17379
|
const parsed = parseFloat(raw);
|
|
17193
17380
|
if (!Number.isFinite(parsed)) return clampToViewport(defaultSize);
|
|
17194
17381
|
return clampToViewport(parsed);
|
|
17195
|
-
} catch (
|
|
17382
|
+
} catch (e24) {
|
|
17196
17383
|
return clampToViewport(defaultSize);
|
|
17197
17384
|
}
|
|
17198
17385
|
}, [enabled, storageKey, defaultSize, clampToViewport]);
|
|
@@ -17205,7 +17392,7 @@ function useResizableSize({
|
|
|
17205
17392
|
if (!enabled || !storageKey || typeof window === "undefined") return;
|
|
17206
17393
|
try {
|
|
17207
17394
|
window.localStorage.setItem(storageKey, String(Math.round(size2)));
|
|
17208
|
-
} catch (
|
|
17395
|
+
} catch (e25) {
|
|
17209
17396
|
}
|
|
17210
17397
|
}, [enabled, size2, storageKey]);
|
|
17211
17398
|
React63.useEffect(() => {
|
|
@@ -17248,7 +17435,7 @@ function DrawerResizeHandle({
|
|
|
17248
17435
|
startRef.current = null;
|
|
17249
17436
|
try {
|
|
17250
17437
|
e.currentTarget.releasePointerCapture(e.pointerId);
|
|
17251
|
-
} catch (
|
|
17438
|
+
} catch (e26) {
|
|
17252
17439
|
}
|
|
17253
17440
|
document.body.style.cursor = "";
|
|
17254
17441
|
document.body.style.userSelect = "";
|
|
@@ -17340,7 +17527,7 @@ var DrawerContent = React63.forwardRef(
|
|
|
17340
17527
|
const resolvedSide = _nullishCoalesce(side, () => ( "right"));
|
|
17341
17528
|
const isHorizontal = HORIZONTAL_SIDES.has(resolvedSide);
|
|
17342
17529
|
const initialSize = _nullishCoalesce(defaultSize, () => ( (isHorizontal ? 560 : 480)));
|
|
17343
|
-
const headerHeight =
|
|
17530
|
+
const headerHeight = _chunkSTGWQFYTcjs.useHeaderHeight.call(void 0, );
|
|
17344
17531
|
const [isMobile, setIsMobile] = React63.useState(false);
|
|
17345
17532
|
React63.useEffect(() => {
|
|
17346
17533
|
if (typeof window === "undefined") return;
|
|
@@ -18401,7 +18588,7 @@ var SocialEmbedCache = class _SocialEmbedCache {
|
|
|
18401
18588
|
let errorData = null;
|
|
18402
18589
|
try {
|
|
18403
18590
|
errorData = await response.json();
|
|
18404
|
-
} catch (
|
|
18591
|
+
} catch (e27) {
|
|
18405
18592
|
}
|
|
18406
18593
|
if (response.status === 404 && _optionalChain([errorData, 'optionalAccess', _387 => _387.error]) && _optionalChain([errorData, 'optionalAccess', _388 => _388.message])) {
|
|
18407
18594
|
console.log(`\u{1F6AB} [${platformName} Proxy] Content unavailable: ${errorData.message}`);
|
|
@@ -18521,6 +18708,7 @@ var socialCache = SocialEmbedCache.getInstance();
|
|
|
18521
18708
|
// src/components/media-carousel.tsx
|
|
18522
18709
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
18523
18710
|
|
|
18711
|
+
_chunkBX3R44MRcjs.init_button2.call(void 0, );
|
|
18524
18712
|
|
|
18525
18713
|
var ChevronLeftIcon = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { width: "24", height: "24", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "polyline", { points: "15,18 9,12 15,6" }) });
|
|
18526
18714
|
var ChevronRightIcon = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { width: "24", height: "24", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "polyline", { points: "9,18 15,12 9,6" }) });
|
|
@@ -18528,27 +18716,28 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
|
|
|
18528
18716
|
media,
|
|
18529
18717
|
className,
|
|
18530
18718
|
aspectRatio = "16/9",
|
|
18531
|
-
|
|
18532
|
-
|
|
18533
|
-
|
|
18719
|
+
showArrows = true,
|
|
18720
|
+
objectFit = "contain",
|
|
18721
|
+
posterPriority = false,
|
|
18722
|
+
transformImageSrc,
|
|
18723
|
+
reserveDotRow = false
|
|
18534
18724
|
}) {
|
|
18535
18725
|
const [currentIndex, setCurrentIndex] = _react.useState.call(void 0, 0);
|
|
18536
18726
|
const [touchStart, setTouchStart] = _react.useState.call(void 0, null);
|
|
18537
18727
|
const [touchEnd, setTouchEnd] = _react.useState.call(void 0, null);
|
|
18728
|
+
const [brokenResourceUrls, setBrokenResourceUrls] = _react.useState.call(void 0, {});
|
|
18729
|
+
const [loadedImageSrc, setLoadedImageSrc] = _react.useState.call(void 0, null);
|
|
18538
18730
|
const carouselRef = _react.useRef.call(void 0, null);
|
|
18539
|
-
const
|
|
18731
|
+
const onImageError = _react.useCallback.call(void 0, (originalUrl) => {
|
|
18732
|
+
const key = originalUrl.trim() || "__missing_src__";
|
|
18733
|
+
setBrokenResourceUrls((b) => b[key] ? b : { ...b, [key]: true });
|
|
18734
|
+
}, []);
|
|
18540
18735
|
_react.useEffect.call(void 0, () => {
|
|
18541
18736
|
if (currentIndex >= media.length && media.length > 0) {
|
|
18542
18737
|
setCurrentIndex(media.length - 1);
|
|
18543
18738
|
}
|
|
18544
18739
|
}, [media.length, currentIndex]);
|
|
18545
|
-
if (!media || media.length === 0) {
|
|
18546
|
-
return null;
|
|
18547
|
-
}
|
|
18548
18740
|
const currentItem = media[currentIndex] || media[0];
|
|
18549
|
-
if (!currentItem) {
|
|
18550
|
-
return null;
|
|
18551
|
-
}
|
|
18552
18741
|
const nextSlide = _react.useCallback.call(void 0, () => {
|
|
18553
18742
|
setCurrentIndex((prev) => (prev + 1) % media.length);
|
|
18554
18743
|
}, [media.length]);
|
|
@@ -18556,9 +18745,8 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
|
|
|
18556
18745
|
setCurrentIndex((prev) => (prev - 1 + media.length) % media.length);
|
|
18557
18746
|
}, [media.length]);
|
|
18558
18747
|
const selectSlide = _react.useCallback.call(void 0, (index) => {
|
|
18559
|
-
|
|
18560
|
-
|
|
18561
|
-
}, [currentIndex]);
|
|
18748
|
+
setCurrentIndex((prev) => index === prev ? prev : index);
|
|
18749
|
+
}, []);
|
|
18562
18750
|
const handleKeyDown = _react.useCallback.call(void 0, (e) => {
|
|
18563
18751
|
if (media.length <= 1) return;
|
|
18564
18752
|
if (e.key === "ArrowLeft") {
|
|
@@ -18569,6 +18757,12 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
|
|
|
18569
18757
|
nextSlide();
|
|
18570
18758
|
}
|
|
18571
18759
|
}, [nextSlide, prevSlide, media.length]);
|
|
18760
|
+
if (!media || media.length === 0) {
|
|
18761
|
+
return null;
|
|
18762
|
+
}
|
|
18763
|
+
if (!currentItem) {
|
|
18764
|
+
return null;
|
|
18765
|
+
}
|
|
18572
18766
|
const minSwipeDistance = 50;
|
|
18573
18767
|
const onTouchStart = (e) => {
|
|
18574
18768
|
setTouchEnd(null);
|
|
@@ -18578,7 +18772,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
|
|
|
18578
18772
|
setTouchEnd(e.targetTouches[0].clientX);
|
|
18579
18773
|
};
|
|
18580
18774
|
const onTouchEnd = () => {
|
|
18581
|
-
if (
|
|
18775
|
+
if (touchStart === null || touchEnd === null) return;
|
|
18582
18776
|
const distance = touchStart - touchEnd;
|
|
18583
18777
|
const isLeftSwipe = distance > minSwipeDistance;
|
|
18584
18778
|
const isRightSwipe = distance < -minSwipeDistance;
|
|
@@ -18589,43 +18783,77 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
|
|
|
18589
18783
|
prevSlide();
|
|
18590
18784
|
}
|
|
18591
18785
|
};
|
|
18592
|
-
const
|
|
18593
|
-
Video2,
|
|
18594
|
-
{
|
|
18595
|
-
kind: "youtube",
|
|
18596
|
-
url: item.src,
|
|
18597
|
-
title: item.alt || `Video ${index + 1}`,
|
|
18598
|
-
layout: "fill",
|
|
18599
|
-
priority: index === currentIndex
|
|
18600
|
-
}
|
|
18601
|
-
);
|
|
18786
|
+
const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
|
|
18602
18787
|
const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18603
18788
|
Video2,
|
|
18604
18789
|
{
|
|
18605
18790
|
url: item.src,
|
|
18606
|
-
poster: item.poster,
|
|
18791
|
+
poster: item.poster ? displayImageSrc(item.poster) : void 0,
|
|
18792
|
+
title: item.alt || `Video ${index + 1}`,
|
|
18607
18793
|
muted: true,
|
|
18608
18794
|
layout: "fill",
|
|
18609
|
-
priority: index ===
|
|
18610
|
-
|
|
18795
|
+
priority: Boolean(posterPriority && index === 0),
|
|
18796
|
+
className: "w-full h-full bg-black"
|
|
18797
|
+
},
|
|
18798
|
+
`video-${index}-${item.src}`
|
|
18611
18799
|
);
|
|
18612
|
-
const
|
|
18613
|
-
"
|
|
18614
|
-
{
|
|
18615
|
-
|
|
18616
|
-
|
|
18617
|
-
|
|
18618
|
-
|
|
18619
|
-
|
|
18620
|
-
|
|
18621
|
-
|
|
18800
|
+
const renderImageUnavailable = (failedUrl) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "absolute inset-0 flex flex-col items-center justify-center gap-3 bg-ods-card px-6 text-center", children: [
|
|
18801
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.ImageOffIcon, { className: "size-8 text-ods-text-secondary" }),
|
|
18802
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-sm max-w-md", children: "This image is no longer available at the original URL." }),
|
|
18803
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18804
|
+
_chunkWBR7H6E3cjs.next_link_default,
|
|
18805
|
+
{
|
|
18806
|
+
href: failedUrl,
|
|
18807
|
+
target: "_blank",
|
|
18808
|
+
rel: "noopener noreferrer",
|
|
18809
|
+
className: "text-ods-accent text-sm underline break-all",
|
|
18810
|
+
children: "Open link"
|
|
18622
18811
|
}
|
|
18623
|
-
|
|
18624
|
-
|
|
18812
|
+
)
|
|
18813
|
+
] });
|
|
18814
|
+
const renderImage = (item, index) => {
|
|
18815
|
+
const rawSrc = typeof item.src === "string" ? item.src.trim() : "";
|
|
18816
|
+
if (!rawSrc) {
|
|
18817
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 flex flex-col items-center justify-center gap-3 bg-ods-card px-6 text-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-sm max-w-md", children: "No image URL for this slide." }) });
|
|
18818
|
+
}
|
|
18819
|
+
if (brokenResourceUrls[rawSrc]) {
|
|
18820
|
+
return renderImageUnavailable(rawSrc);
|
|
18821
|
+
}
|
|
18822
|
+
const mainImagePriority = Boolean(posterPriority && index === 0);
|
|
18823
|
+
const imageLoaded = loadedImageSrc === rawSrc;
|
|
18824
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "absolute inset-0 bg-ods-bg", children: [
|
|
18825
|
+
!imageLoaded && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18826
|
+
"div",
|
|
18827
|
+
{
|
|
18828
|
+
className: "absolute inset-0 z-[1] bg-ods-card/90 animate-pulse",
|
|
18829
|
+
"aria-hidden": true
|
|
18830
|
+
}
|
|
18831
|
+
),
|
|
18832
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18833
|
+
_chunkXL4V2PYGcjs.next_image_default,
|
|
18834
|
+
{
|
|
18835
|
+
src: displayImageSrc(rawSrc),
|
|
18836
|
+
alt: item.alt || `Media ${index + 1}`,
|
|
18837
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
18838
|
+
`w-full h-full object-${objectFit} relative z-[2]`,
|
|
18839
|
+
!imageLoaded && "opacity-0",
|
|
18840
|
+
imageLoaded && "opacity-100 transition-opacity duration-200"
|
|
18841
|
+
),
|
|
18842
|
+
priority: mainImagePriority,
|
|
18843
|
+
loading: mainImagePriority ? "eager" : "lazy",
|
|
18844
|
+
sizes: "(max-width: 1279px) 100vw, 1428px",
|
|
18845
|
+
width: 1428,
|
|
18846
|
+
height: 802,
|
|
18847
|
+
unoptimized: true,
|
|
18848
|
+
onLoad: () => setLoadedImageSrc(rawSrc),
|
|
18849
|
+
onError: () => onImageError(rawSrc)
|
|
18850
|
+
}
|
|
18851
|
+
)
|
|
18852
|
+
] });
|
|
18853
|
+
};
|
|
18625
18854
|
const renderMainMedia = (item, index) => {
|
|
18626
18855
|
switch (item.type) {
|
|
18627
18856
|
case "youtube":
|
|
18628
|
-
return renderYouTubeEmbed(item, index);
|
|
18629
18857
|
case "video":
|
|
18630
18858
|
return renderVideo(item, index);
|
|
18631
18859
|
case "image":
|
|
@@ -18633,41 +18861,6 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
|
|
|
18633
18861
|
return renderImage(item, index);
|
|
18634
18862
|
}
|
|
18635
18863
|
};
|
|
18636
|
-
const renderThumbnail = (item, index) => {
|
|
18637
|
-
const isActive = index === currentIndex;
|
|
18638
|
-
let thumbnailSrc = item.src;
|
|
18639
|
-
if (item.type === "youtube") {
|
|
18640
|
-
const videoId = extractYouTubeId(item.src);
|
|
18641
|
-
thumbnailSrc = videoId ? `https://img.youtube.com/vi/${videoId}/mqdefault.jpg` : item.src;
|
|
18642
|
-
} else if (item.type === "video" && item.poster) {
|
|
18643
|
-
thumbnailSrc = item.poster;
|
|
18644
|
-
}
|
|
18645
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18646
|
-
"button",
|
|
18647
|
-
{
|
|
18648
|
-
onClick: () => selectSlide(index),
|
|
18649
|
-
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
18650
|
-
"relative flex-shrink-0 overflow-hidden transition-all duration-200",
|
|
18651
|
-
"w-20 h-20 md:w-24 md:h-24 rounded-lg border-2",
|
|
18652
|
-
isActive ? "border-[#FFC008] ring-2 ring-[#FFC008]/20" : "border-ods-border hover:border-[#888888]"
|
|
18653
|
-
),
|
|
18654
|
-
children: [
|
|
18655
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18656
|
-
"img",
|
|
18657
|
-
{
|
|
18658
|
-
src: thumbnailSrc,
|
|
18659
|
-
alt: item.alt || `Thumbnail ${index + 1}`,
|
|
18660
|
-
className: "w-full h-full object-cover",
|
|
18661
|
-
loading: "lazy"
|
|
18662
|
-
}
|
|
18663
|
-
),
|
|
18664
|
-
(item.type === "video" || item.type === "youtube") && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VideoPlayBadge, { size: "sm" }) }),
|
|
18665
|
-
isActive && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute bottom-1 right-1 w-2 h-2 bg-[#FFC008] rounded-full" })
|
|
18666
|
-
]
|
|
18667
|
-
},
|
|
18668
|
-
index
|
|
18669
|
-
);
|
|
18670
|
-
};
|
|
18671
18864
|
const getAspectRatioClass = () => {
|
|
18672
18865
|
switch (aspectRatio) {
|
|
18673
18866
|
case "4/3":
|
|
@@ -18681,13 +18874,14 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
|
|
|
18681
18874
|
return "aspect-video";
|
|
18682
18875
|
}
|
|
18683
18876
|
};
|
|
18684
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "
|
|
18877
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col items-center gap-[var(--spacing-system-l)]", className), children: [
|
|
18685
18878
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18686
18879
|
"div",
|
|
18687
18880
|
{
|
|
18688
18881
|
ref: carouselRef,
|
|
18689
18882
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
18690
|
-
"relative bg-ods-bg border border-ods-border rounded-
|
|
18883
|
+
"relative bg-ods-bg border border-ods-border rounded-md overflow-hidden group w-full",
|
|
18884
|
+
"[box-shadow:var(--shadow-media-frame)]",
|
|
18691
18885
|
getAspectRatioClass()
|
|
18692
18886
|
),
|
|
18693
18887
|
onTouchStart,
|
|
@@ -18699,43 +18893,54 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
|
|
|
18699
18893
|
"aria-label": media.length > 1 ? "Media carousel, use arrow keys to navigate" : void 0,
|
|
18700
18894
|
children: [
|
|
18701
18895
|
renderMainMedia(currentItem, currentIndex),
|
|
18702
|
-
media.length > 1 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
18896
|
+
showArrows && media.length > 1 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
18703
18897
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18704
|
-
|
|
18898
|
+
_chunkBX3R44MRcjs.Button,
|
|
18705
18899
|
{
|
|
18900
|
+
variant: "transparent",
|
|
18706
18901
|
onClick: prevSlide,
|
|
18707
|
-
className: "absolute left-3 top-1/2
|
|
18902
|
+
className: "absolute left-3 top-1/2 h-auto md:h-auto -translate-y-1/2 rounded-full bg-black/50 p-2 text-white opacity-0 transition-opacity duration-200 group-hover:opacity-100 hover:bg-black/70 z-10",
|
|
18708
18903
|
"aria-label": "Previous media",
|
|
18709
18904
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChevronLeftIcon, {})
|
|
18710
18905
|
}
|
|
18711
18906
|
),
|
|
18712
18907
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18713
|
-
|
|
18908
|
+
_chunkBX3R44MRcjs.Button,
|
|
18714
18909
|
{
|
|
18910
|
+
variant: "transparent",
|
|
18715
18911
|
onClick: nextSlide,
|
|
18716
|
-
className: "absolute right-3 top-1/2
|
|
18912
|
+
className: "absolute right-3 top-1/2 h-auto md:h-auto -translate-y-1/2 rounded-full bg-black/50 p-2 text-white opacity-0 transition-opacity duration-200 group-hover:opacity-100 hover:bg-black/70 z-10",
|
|
18717
18913
|
"aria-label": "Next media",
|
|
18718
18914
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChevronRightIcon, {})
|
|
18719
18915
|
}
|
|
18720
|
-
)
|
|
18721
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "absolute top-3 right-3 bg-black/70 text-white px-3 py-1 rounded-lg text-sm font-medium", children: [
|
|
18722
|
-
currentIndex + 1,
|
|
18723
|
-
" / ",
|
|
18724
|
-
media.length
|
|
18725
|
-
] })
|
|
18916
|
+
)
|
|
18726
18917
|
] })
|
|
18727
18918
|
]
|
|
18728
18919
|
}
|
|
18729
18920
|
),
|
|
18730
|
-
media.length > 1
|
|
18731
|
-
|
|
18732
|
-
|
|
18733
|
-
|
|
18734
|
-
|
|
18735
|
-
|
|
18736
|
-
|
|
18737
|
-
|
|
18738
|
-
|
|
18921
|
+
(media.length > 1 || reserveDotRow) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-6 items-center gap-[var(--spacing-system-xs)]", role: "group", "aria-label": "Choose slide", children: media.length > 1 && media.map((item, index) => {
|
|
18922
|
+
const isActive = index === currentIndex;
|
|
18923
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18924
|
+
_chunkBX3R44MRcjs.Button,
|
|
18925
|
+
{
|
|
18926
|
+
variant: "transparent",
|
|
18927
|
+
"aria-current": isActive ? "true" : void 0,
|
|
18928
|
+
"aria-label": `Go to slide ${index + 1}`,
|
|
18929
|
+
onClick: () => selectSlide(index),
|
|
18930
|
+
className: "flex h-6 w-6 md:h-6 shrink-0 items-center justify-center rounded-full p-0",
|
|
18931
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18932
|
+
"span",
|
|
18933
|
+
{
|
|
18934
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
18935
|
+
"size-2 rounded-full transition-colors duration-150",
|
|
18936
|
+
isActive ? "bg-[var(--ods-flamingo-pink-base)]" : "bg-[var(--ods-system-greys-soft-grey)] hover:bg-[var(--ods-system-greys-soft-grey-hover)]"
|
|
18937
|
+
)
|
|
18938
|
+
}
|
|
18939
|
+
)
|
|
18940
|
+
},
|
|
18941
|
+
index
|
|
18942
|
+
);
|
|
18943
|
+
}) })
|
|
18739
18944
|
] });
|
|
18740
18945
|
});
|
|
18741
18946
|
|
|
@@ -19071,7 +19276,6 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
|
|
|
19071
19276
|
width: m.width,
|
|
19072
19277
|
height: m.height
|
|
19073
19278
|
}));
|
|
19074
|
-
console.log("\u{1F3AC} MediaCarousel will render with:", mediaContent.length, "items", mediaContent);
|
|
19075
19279
|
const formatTimeAgo = (timestamp) => {
|
|
19076
19280
|
const now = Math.floor(Date.now() / 1e3);
|
|
19077
19281
|
const diffSeconds = now - timestamp;
|
|
@@ -19118,8 +19322,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
|
|
|
19118
19322
|
MediaCarousel,
|
|
19119
19323
|
{
|
|
19120
19324
|
media: carouselItems,
|
|
19121
|
-
aspectRatio: "16/9"
|
|
19122
|
-
showThumbnails: carouselItems.length > 1
|
|
19325
|
+
aspectRatio: "16/9"
|
|
19123
19326
|
}
|
|
19124
19327
|
),
|
|
19125
19328
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center space-x-6 text-ods-text-secondary text-sm", children: [
|
|
@@ -19457,7 +19660,7 @@ var OGLinkErrorBoundary = class extends _react.Component {
|
|
|
19457
19660
|
function getDomain(urlStr) {
|
|
19458
19661
|
try {
|
|
19459
19662
|
return new URL(urlStr).hostname.replace("www.", "");
|
|
19460
|
-
} catch (
|
|
19663
|
+
} catch (e28) {
|
|
19461
19664
|
return "External Link";
|
|
19462
19665
|
}
|
|
19463
19666
|
}
|
|
@@ -19498,7 +19701,7 @@ var OGLinkPreview = ({
|
|
|
19498
19701
|
} else {
|
|
19499
19702
|
isValidUrl = false;
|
|
19500
19703
|
}
|
|
19501
|
-
} catch (
|
|
19704
|
+
} catch (e29) {
|
|
19502
19705
|
isValidUrl = false;
|
|
19503
19706
|
}
|
|
19504
19707
|
_react.useEffect.call(void 0, () => {
|
|
@@ -19519,7 +19722,7 @@ var OGLinkPreview = ({
|
|
|
19519
19722
|
} else {
|
|
19520
19723
|
setError(true);
|
|
19521
19724
|
}
|
|
19522
|
-
} catch (
|
|
19725
|
+
} catch (e30) {
|
|
19523
19726
|
setError(true);
|
|
19524
19727
|
} finally {
|
|
19525
19728
|
setLoading(false);
|
|
@@ -19543,7 +19746,7 @@ var OGLinkPreview = ({
|
|
|
19543
19746
|
const hasImage = !!resolvedImageUrl;
|
|
19544
19747
|
const isFallbackImage = resolvedImageUrl === fallbackImage;
|
|
19545
19748
|
const isPlaceholder = resolvedImageUrl === placeholderImageUrl && !isFallbackImage;
|
|
19546
|
-
const bgColor =
|
|
19749
|
+
const bgColor = _chunkSTGWQFYTcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--ods-bg-secondary)");
|
|
19547
19750
|
const renderSkeleton = () => isCompact ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "my-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-row border border-ods-border rounded-lg overflow-hidden bg-ods-card h-[120px]", children: [
|
|
19548
19751
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-[200px] h-full flex-shrink-0 bg-ods-border animate-pulse" }),
|
|
19549
19752
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 p-3 flex flex-col justify-center", children: [
|
|
@@ -19844,7 +20047,7 @@ function EmbedIframe({
|
|
|
19844
20047
|
if (iframe) {
|
|
19845
20048
|
try {
|
|
19846
20049
|
iframe.src = "about:blank";
|
|
19847
|
-
} catch (
|
|
20050
|
+
} catch (e31) {
|
|
19848
20051
|
}
|
|
19849
20052
|
}
|
|
19850
20053
|
};
|
|
@@ -19928,7 +20131,7 @@ function FigmaEmbed({ url, title, height, loading = "lazy" }) {
|
|
|
19928
20131
|
const okHost = host === "figma.com" || host.endsWith(".figma.com");
|
|
19929
20132
|
const okProtocol = parsed.protocol === "https:" || parsed.protocol === "http:";
|
|
19930
20133
|
return okHost && okProtocol ? parsed.toString() : null;
|
|
19931
|
-
} catch (
|
|
20134
|
+
} catch (e32) {
|
|
19932
20135
|
return null;
|
|
19933
20136
|
}
|
|
19934
20137
|
})();
|
|
@@ -20452,7 +20655,7 @@ var RichMarkdownInner = ({
|
|
|
20452
20655
|
ogApiBaseUrl: `${u.protocol}//${u.host}`,
|
|
20453
20656
|
ogEndpointPath: u.pathname
|
|
20454
20657
|
};
|
|
20455
|
-
} catch (
|
|
20658
|
+
} catch (e33) {
|
|
20456
20659
|
return { ogApiBaseUrl: "", ogEndpointPath: ogScraperUrl };
|
|
20457
20660
|
}
|
|
20458
20661
|
}, [ogScraperUrl]);
|
|
@@ -21994,7 +22197,7 @@ function ListPageLayout({
|
|
|
21994
22197
|
}) {
|
|
21995
22198
|
const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
|
|
21996
22199
|
const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
|
|
21997
|
-
const debouncedSearchValue =
|
|
22200
|
+
const debouncedSearchValue = _chunkSTGWQFYTcjs.useDebounce.call(void 0, localSearchValue, 500);
|
|
21998
22201
|
_react.useEffect.call(void 0, () => {
|
|
21999
22202
|
setLocalSearchValue(searchValue);
|
|
22000
22203
|
}, [searchValue]);
|
|
@@ -22655,7 +22858,7 @@ function toToolLabel(input) {
|
|
|
22655
22858
|
if (!input) return "";
|
|
22656
22859
|
const toolType = normalizeToolType(input);
|
|
22657
22860
|
if (toolType) {
|
|
22658
|
-
return
|
|
22861
|
+
return _chunkSTGWQFYTcjs.toolLabels[toolType];
|
|
22659
22862
|
}
|
|
22660
22863
|
return input;
|
|
22661
22864
|
}
|
|
@@ -22666,7 +22869,7 @@ function getToolTypeAliases(toolType) {
|
|
|
22666
22869
|
return Object.entries(toolAliasMap).filter(([_, value]) => value === toolType).map(([key]) => key);
|
|
22667
22870
|
}
|
|
22668
22871
|
function getToolLabel(toolType) {
|
|
22669
|
-
return
|
|
22872
|
+
return _chunkSTGWQFYTcjs.toolLabels[toolType] || toolType;
|
|
22670
22873
|
}
|
|
22671
22874
|
|
|
22672
22875
|
// src/types/shell.types.ts
|
|
@@ -22840,7 +23043,7 @@ function formatPhoneE164(phoneNumber, countryCode) {
|
|
|
22840
23043
|
if (parsed && parsed.isValid()) {
|
|
22841
23044
|
return parsed.format("E.164");
|
|
22842
23045
|
}
|
|
22843
|
-
} catch (
|
|
23046
|
+
} catch (e34) {
|
|
22844
23047
|
}
|
|
22845
23048
|
const dialCode = `+${_libphonenumberjs.getCountryCallingCode.call(void 0, countryCode)}`;
|
|
22846
23049
|
const digits = phoneNumber.replace(/\D/g, "");
|
|
@@ -22901,173 +23104,6 @@ function isGenericWebsiteDomain(website) {
|
|
|
22901
23104
|
return isGenericDomain(normalizeDomain(website));
|
|
22902
23105
|
}
|
|
22903
23106
|
|
|
22904
|
-
// src/utils/color-analysis.ts
|
|
22905
|
-
var DESIGN_PALETTE = [
|
|
22906
|
-
{ name: "yellow", hex: "#FFC008", rgb: [255, 192, 8] },
|
|
22907
|
-
{ name: "black", hex: "#161616", rgb: [22, 22, 22] },
|
|
22908
|
-
{ name: "gray", hex: "#888888", rgb: [136, 136, 136] }
|
|
22909
|
-
];
|
|
22910
|
-
function hexToRgb2(hex) {
|
|
22911
|
-
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
|
22912
|
-
return result ? [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)] : [0, 0, 0];
|
|
22913
|
-
}
|
|
22914
|
-
function getLuminance(rgb) {
|
|
22915
|
-
const [r, g, b] = rgb.map((c) => {
|
|
22916
|
-
c = c / 255;
|
|
22917
|
-
return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
|
|
22918
|
-
});
|
|
22919
|
-
return 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
|
22920
|
-
}
|
|
22921
|
-
function getContrastRatio(color1, color2) {
|
|
22922
|
-
const lum1 = getLuminance(color1);
|
|
22923
|
-
const lum2 = getLuminance(color2);
|
|
22924
|
-
const brightest = Math.max(lum1, lum2);
|
|
22925
|
-
const darkest = Math.min(lum1, lum2);
|
|
22926
|
-
return (brightest + 0.05) / (darkest + 0.05);
|
|
22927
|
-
}
|
|
22928
|
-
function pickReadableTextColor(bgHex) {
|
|
22929
|
-
const bg = hexToRgb2(bgHex);
|
|
22930
|
-
const darkContrast = getContrastRatio(bg, [26, 26, 26]);
|
|
22931
|
-
const lightContrast = getContrastRatio(bg, [250, 250, 250]);
|
|
22932
|
-
return darkContrast >= lightContrast ? "dark" : "light";
|
|
22933
|
-
}
|
|
22934
|
-
function extractDominantColor(canvas) {
|
|
22935
|
-
const ctx = canvas.getContext("2d");
|
|
22936
|
-
if (!ctx) return [128, 128, 128];
|
|
22937
|
-
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
|
|
22938
|
-
const data = imageData.data;
|
|
22939
|
-
const sampleSize = Math.max(1, Math.floor(data.length / (4 * 1e3)));
|
|
22940
|
-
const colorCounts = {};
|
|
22941
|
-
for (let i = 0; i < data.length; i += 4 * sampleSize) {
|
|
22942
|
-
const r = data[i];
|
|
22943
|
-
const g = data[i + 1];
|
|
22944
|
-
const b = data[i + 2];
|
|
22945
|
-
const alpha = data[i + 3];
|
|
22946
|
-
if (alpha < 128) continue;
|
|
22947
|
-
const bucketR = Math.round(r / 32) * 32;
|
|
22948
|
-
const bucketG = Math.round(g / 32) * 32;
|
|
22949
|
-
const bucketB = Math.round(b / 32) * 32;
|
|
22950
|
-
const key = `${bucketR},${bucketG},${bucketB}`;
|
|
22951
|
-
colorCounts[key] = (colorCounts[key] || 0) + 1;
|
|
22952
|
-
}
|
|
22953
|
-
let maxCount = 0;
|
|
22954
|
-
let dominantColor = [128, 128, 128];
|
|
22955
|
-
for (const [colorKey, count] of Object.entries(colorCounts)) {
|
|
22956
|
-
if (count > maxCount) {
|
|
22957
|
-
maxCount = count;
|
|
22958
|
-
const [r, g, b] = colorKey.split(",").map(Number);
|
|
22959
|
-
dominantColor = [r, g, b];
|
|
22960
|
-
}
|
|
22961
|
-
}
|
|
22962
|
-
return dominantColor;
|
|
22963
|
-
}
|
|
22964
|
-
function getBestContrastColor(imageColor) {
|
|
22965
|
-
let bestColor = DESIGN_PALETTE[0];
|
|
22966
|
-
let bestContrast = 0;
|
|
22967
|
-
for (const color of DESIGN_PALETTE) {
|
|
22968
|
-
const contrast = getContrastRatio(imageColor, color.rgb);
|
|
22969
|
-
if (contrast > bestContrast) {
|
|
22970
|
-
bestContrast = contrast;
|
|
22971
|
-
bestColor = color;
|
|
22972
|
-
}
|
|
22973
|
-
}
|
|
22974
|
-
return bestContrast >= 3 ? bestColor : DESIGN_PALETTE.find((c) => c.name === "black") || bestColor;
|
|
22975
|
-
}
|
|
22976
|
-
function analyzeImageColor(imageSrc) {
|
|
22977
|
-
return new Promise((resolve, reject) => {
|
|
22978
|
-
const img = new Image();
|
|
22979
|
-
img.crossOrigin = "anonymous";
|
|
22980
|
-
img.onload = () => {
|
|
22981
|
-
try {
|
|
22982
|
-
const canvas = document.createElement("canvas");
|
|
22983
|
-
const ctx = canvas.getContext("2d");
|
|
22984
|
-
if (!ctx) {
|
|
22985
|
-
reject(new Error("Could not get canvas context"));
|
|
22986
|
-
return;
|
|
22987
|
-
}
|
|
22988
|
-
const maxSize = 100;
|
|
22989
|
-
const scale = Math.min(maxSize / img.width, maxSize / img.height);
|
|
22990
|
-
canvas.width = img.width * scale;
|
|
22991
|
-
canvas.height = img.height * scale;
|
|
22992
|
-
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
|
|
22993
|
-
const dominantColor = extractDominantColor(canvas);
|
|
22994
|
-
const bestContrastColor = getBestContrastColor(dominantColor);
|
|
22995
|
-
resolve(bestContrastColor);
|
|
22996
|
-
} catch (error) {
|
|
22997
|
-
reject(error);
|
|
22998
|
-
}
|
|
22999
|
-
};
|
|
23000
|
-
img.onerror = () => reject(new Error("Failed to load image"));
|
|
23001
|
-
img.src = imageSrc;
|
|
23002
|
-
});
|
|
23003
|
-
}
|
|
23004
|
-
async function extractImageEdgeColorAsync(imageUrl) {
|
|
23005
|
-
return new Promise((resolve) => {
|
|
23006
|
-
if (typeof window === "undefined") {
|
|
23007
|
-
resolve("#000000");
|
|
23008
|
-
return;
|
|
23009
|
-
}
|
|
23010
|
-
const img = new Image();
|
|
23011
|
-
img.crossOrigin = "anonymous";
|
|
23012
|
-
img.onload = () => {
|
|
23013
|
-
try {
|
|
23014
|
-
const canvas = document.createElement("canvas");
|
|
23015
|
-
const ctx = canvas.getContext("2d");
|
|
23016
|
-
if (!ctx) {
|
|
23017
|
-
resolve("#000000");
|
|
23018
|
-
return;
|
|
23019
|
-
}
|
|
23020
|
-
const maxSize = 50;
|
|
23021
|
-
const scale = Math.min(maxSize / img.naturalWidth, maxSize / img.naturalHeight);
|
|
23022
|
-
const w = Math.round(img.naturalWidth * scale);
|
|
23023
|
-
const h = Math.round(img.naturalHeight * scale);
|
|
23024
|
-
canvas.width = w;
|
|
23025
|
-
canvas.height = h;
|
|
23026
|
-
ctx.drawImage(img, 0, 0, w, h);
|
|
23027
|
-
const data = ctx.getImageData(0, 0, w, h).data;
|
|
23028
|
-
const edgeW = Math.max(2, Math.round(w * 0.15));
|
|
23029
|
-
const edgeH = Math.max(2, Math.round(h * 0.15));
|
|
23030
|
-
const bucketSize = 32;
|
|
23031
|
-
const buckets = /* @__PURE__ */ new Map();
|
|
23032
|
-
for (let y = 0; y < h; y++) {
|
|
23033
|
-
for (let x = 0; x < w; x++) {
|
|
23034
|
-
if (!(x < edgeW || x >= w - edgeW || y < edgeH || y >= h - edgeH)) continue;
|
|
23035
|
-
const i = (y * w + x) * 4;
|
|
23036
|
-
if (data[i + 3] < 128) continue;
|
|
23037
|
-
const br = Math.floor(data[i] / bucketSize) * bucketSize;
|
|
23038
|
-
const bg = Math.floor(data[i + 1] / bucketSize) * bucketSize;
|
|
23039
|
-
const bb = Math.floor(data[i + 2] / bucketSize) * bucketSize;
|
|
23040
|
-
const key = `${br},${bg},${bb}`;
|
|
23041
|
-
const existing = buckets.get(key);
|
|
23042
|
-
if (existing) {
|
|
23043
|
-
existing.r += data[i];
|
|
23044
|
-
existing.g += data[i + 1];
|
|
23045
|
-
existing.b += data[i + 2];
|
|
23046
|
-
existing.count++;
|
|
23047
|
-
} else {
|
|
23048
|
-
buckets.set(key, { r: data[i], g: data[i + 1], b: data[i + 2], count: 1 });
|
|
23049
|
-
}
|
|
23050
|
-
}
|
|
23051
|
-
}
|
|
23052
|
-
let best = { r: 0, g: 0, b: 0, count: 0 };
|
|
23053
|
-
for (const b2 of buckets.values()) {
|
|
23054
|
-
if (b2.count > best.count) best = b2;
|
|
23055
|
-
}
|
|
23056
|
-
if (best.count === 0) {
|
|
23057
|
-
resolve("#000000");
|
|
23058
|
-
return;
|
|
23059
|
-
}
|
|
23060
|
-
const r = Math.round(best.r / best.count), g = Math.round(best.g / best.count), b = Math.round(best.b / best.count);
|
|
23061
|
-
resolve(`#${r.toString(16).padStart(2, "0")}${g.toString(16).padStart(2, "0")}${b.toString(16).padStart(2, "0")}`);
|
|
23062
|
-
} catch (e34) {
|
|
23063
|
-
resolve("#000000");
|
|
23064
|
-
}
|
|
23065
|
-
};
|
|
23066
|
-
img.onerror = () => resolve("#000000");
|
|
23067
|
-
img.src = imageUrl;
|
|
23068
|
-
});
|
|
23069
|
-
}
|
|
23070
|
-
|
|
23071
23107
|
// src/utils/announcement-storage.ts
|
|
23072
23108
|
function announcementDismissCookieName(platform) {
|
|
23073
23109
|
return `${platform}-announcement-dismissed`;
|
|
@@ -23096,11 +23132,24 @@ function isAnnouncementDismissed(platform, id) {
|
|
|
23096
23132
|
return false;
|
|
23097
23133
|
}
|
|
23098
23134
|
}
|
|
23135
|
+
function clearAnnouncementDismissals(platform) {
|
|
23136
|
+
if (typeof document === "undefined") return;
|
|
23137
|
+
document.cookie = `${announcementDismissCookieName(platform)}=; path=/; max-age=0`;
|
|
23138
|
+
try {
|
|
23139
|
+
const prefix = `${platform}-announcement-`;
|
|
23140
|
+
Object.keys(localStorage).forEach((key) => {
|
|
23141
|
+
if (key.startsWith(prefix) && key.endsWith("-dismissed")) {
|
|
23142
|
+
localStorage.removeItem(key);
|
|
23143
|
+
}
|
|
23144
|
+
});
|
|
23145
|
+
} catch (e36) {
|
|
23146
|
+
}
|
|
23147
|
+
}
|
|
23099
23148
|
function clearLegacyAnnouncementCache(platform) {
|
|
23100
23149
|
if (typeof window === "undefined") return;
|
|
23101
23150
|
try {
|
|
23102
23151
|
localStorage.removeItem(`${platform}-announcement-cache`);
|
|
23103
|
-
} catch (
|
|
23152
|
+
} catch (e37) {
|
|
23104
23153
|
}
|
|
23105
23154
|
}
|
|
23106
23155
|
|
|
@@ -23280,7 +23329,7 @@ async function readLeadingDecisionFrame(response) {
|
|
|
23280
23329
|
} finally {
|
|
23281
23330
|
try {
|
|
23282
23331
|
reader.releaseLock();
|
|
23283
|
-
} catch (
|
|
23332
|
+
} catch (e38) {
|
|
23284
23333
|
}
|
|
23285
23334
|
}
|
|
23286
23335
|
if (frame === null) {
|
|
@@ -23812,7 +23861,7 @@ function lastPathSegment(url) {
|
|
|
23812
23861
|
const pathname = new URL(url, "https://_.local").pathname;
|
|
23813
23862
|
const segs = pathname.split("/").filter(Boolean);
|
|
23814
23863
|
return segs.length > 0 ? segs[segs.length - 1] : null;
|
|
23815
|
-
} catch (
|
|
23864
|
+
} catch (e39) {
|
|
23816
23865
|
return null;
|
|
23817
23866
|
}
|
|
23818
23867
|
}
|
|
@@ -25905,10 +25954,10 @@ function CompleteAccountForm({
|
|
|
25905
25954
|
className
|
|
25906
25955
|
}) {
|
|
25907
25956
|
const fieldsDisabled = disabled || loading;
|
|
25908
|
-
const firstNameErr =
|
|
25909
|
-
const lastNameErr =
|
|
25910
|
-
const passwordErr =
|
|
25911
|
-
const confirmErr =
|
|
25957
|
+
const firstNameErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _518 => _518.firstName]), firstName);
|
|
25958
|
+
const lastNameErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _519 => _519.lastName]), lastName);
|
|
25959
|
+
const passwordErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _520 => _520.password]), password);
|
|
25960
|
+
const confirmErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _521 => _521.confirmPassword]), confirmPassword);
|
|
25912
25961
|
const handleKeyDown = (event) => {
|
|
25913
25962
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
25914
25963
|
onSubmit();
|
|
@@ -26096,9 +26145,9 @@ function CreateOrganizationForm({
|
|
|
26096
26145
|
}) {
|
|
26097
26146
|
const isSsoMode = !!ssoProviders && ssoProviders.length > 0;
|
|
26098
26147
|
const fieldsDisabled = disabled || loading || isSsoMode;
|
|
26099
|
-
const emailErr =
|
|
26100
|
-
const orgNameErr =
|
|
26101
|
-
const domainErr =
|
|
26148
|
+
const emailErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _522 => _522.email]), email);
|
|
26149
|
+
const orgNameErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _523 => _523.organizationName]), organizationName);
|
|
26150
|
+
const domainErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _524 => _524.domain]), domain);
|
|
26102
26151
|
const handleKeyDown = (event) => {
|
|
26103
26152
|
if (event.key === "Enter" && !fieldsDisabled) {
|
|
26104
26153
|
onSubmit();
|
|
@@ -26251,7 +26300,7 @@ function LoginForm({
|
|
|
26251
26300
|
}) {
|
|
26252
26301
|
const isSsoMode = !!ssoProviders && ssoProviders.length > 0;
|
|
26253
26302
|
const fieldDisabled = disabled || loading || isSsoMode;
|
|
26254
|
-
const emailErr =
|
|
26303
|
+
const emailErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _530 => _530.email]), email);
|
|
26255
26304
|
const handleKeyDown = (event) => {
|
|
26256
26305
|
if (event.key === "Enter" && !fieldDisabled) {
|
|
26257
26306
|
onSubmit();
|
|
@@ -26352,8 +26401,8 @@ function OpenFrameSsoLoginForm({
|
|
|
26352
26401
|
className
|
|
26353
26402
|
}) {
|
|
26354
26403
|
const fieldsDisabled = disabled || loading;
|
|
26355
|
-
const emailErr =
|
|
26356
|
-
const passwordErr =
|
|
26404
|
+
const emailErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _531 => _531.email]), email);
|
|
26405
|
+
const passwordErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _532 => _532.password]), password);
|
|
26357
26406
|
const handleKeyDown = (event) => {
|
|
26358
26407
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
26359
26408
|
onSubmit();
|
|
@@ -26460,11 +26509,11 @@ function OpenFrameSsoSignUpForm({
|
|
|
26460
26509
|
className
|
|
26461
26510
|
}) {
|
|
26462
26511
|
const fieldsDisabled = disabled || loading;
|
|
26463
|
-
const emailErr =
|
|
26464
|
-
const firstNameErr =
|
|
26465
|
-
const lastNameErr =
|
|
26466
|
-
const passwordErr =
|
|
26467
|
-
const confirmErr =
|
|
26512
|
+
const emailErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _533 => _533.email]), email);
|
|
26513
|
+
const firstNameErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _534 => _534.firstName]), firstName);
|
|
26514
|
+
const lastNameErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _535 => _535.lastName]), lastName);
|
|
26515
|
+
const passwordErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _536 => _536.password]), password);
|
|
26516
|
+
const confirmErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _537 => _537.confirmPassword]), confirmPassword);
|
|
26468
26517
|
const handleKeyDown = (event) => {
|
|
26469
26518
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
26470
26519
|
onSubmit();
|
|
@@ -26607,8 +26656,8 @@ function PasswordResetForm({
|
|
|
26607
26656
|
className
|
|
26608
26657
|
}) {
|
|
26609
26658
|
const fieldsDisabled = disabled || loading;
|
|
26610
|
-
const passwordErr =
|
|
26611
|
-
const confirmErr =
|
|
26659
|
+
const passwordErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _538 => _538.password]), password);
|
|
26660
|
+
const confirmErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _539 => _539.confirmPassword]), confirmPassword);
|
|
26612
26661
|
const handleKeyDown = (event) => {
|
|
26613
26662
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
26614
26663
|
onSubmit();
|
|
@@ -28897,7 +28946,7 @@ function PlatformFilterComponent({
|
|
|
28897
28946
|
variant: selectedPlatform === platform.value ? "accent" : "outline",
|
|
28898
28947
|
size: size2,
|
|
28899
28948
|
onClick: () => onPlatformChange(platform.value),
|
|
28900
|
-
leftIcon: showIcons ?
|
|
28949
|
+
leftIcon: showIcons ? _chunkSTGWQFYTcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
|
|
28901
28950
|
className: "text-h3",
|
|
28902
28951
|
children: platform.label
|
|
28903
28952
|
},
|
|
@@ -31751,7 +31800,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
|
|
|
31751
31800
|
};
|
|
31752
31801
|
var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
31753
31802
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-bg border-b border-ods-border flex gap-4 items-center px-4 py-3", children: [
|
|
31754
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31803
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTGWQFYTcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
|
|
31755
31804
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col min-w-0", children: [
|
|
31756
31805
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-[16px] font-medium text-ods-text-primary truncate", title: policy.name, children: policy.name }),
|
|
31757
31806
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-[12px] text-ods-text-secondary break-all font-mono", children: policy.commandPattern })
|
|
@@ -32062,8 +32111,8 @@ function WaitlistForm({
|
|
|
32062
32111
|
const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
|
|
32063
32112
|
const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
|
|
32064
32113
|
const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
|
|
32065
|
-
const { toast } =
|
|
32066
|
-
const { honeypotInputProps, getSignals, resetSignals } =
|
|
32114
|
+
const { toast } = _chunkSTGWQFYTcjs.useToast.call(void 0, );
|
|
32115
|
+
const { honeypotInputProps, getSignals, resetSignals } = _chunkSTGWQFYTcjs.useHumanitySignals.call(void 0, );
|
|
32067
32116
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
32068
32117
|
const [isClient, setIsClient] = _react.useState.call(void 0, false);
|
|
32069
32118
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
@@ -32103,7 +32152,7 @@ function WaitlistForm({
|
|
|
32103
32152
|
try {
|
|
32104
32153
|
await onRegister(email, finalPhone, getSignals());
|
|
32105
32154
|
resetSignals();
|
|
32106
|
-
} catch (
|
|
32155
|
+
} catch (e40) {
|
|
32107
32156
|
}
|
|
32108
32157
|
};
|
|
32109
32158
|
if (!isClient) {
|
|
@@ -32635,7 +32684,7 @@ function useContainedResizableSize({
|
|
|
32635
32684
|
const parsed = parseFloat(raw);
|
|
32636
32685
|
if (!Number.isFinite(parsed)) return defaultSize;
|
|
32637
32686
|
return parsed;
|
|
32638
|
-
} catch (
|
|
32687
|
+
} catch (e41) {
|
|
32639
32688
|
return defaultSize;
|
|
32640
32689
|
}
|
|
32641
32690
|
}, [enabled, storageKey, defaultSize]);
|
|
@@ -32648,7 +32697,7 @@ function useContainedResizableSize({
|
|
|
32648
32697
|
if (!enabled || !storageKey || typeof window === "undefined") return;
|
|
32649
32698
|
try {
|
|
32650
32699
|
window.localStorage.setItem(storageKey, String(Math.round(size2)));
|
|
32651
|
-
} catch (
|
|
32700
|
+
} catch (e42) {
|
|
32652
32701
|
}
|
|
32653
32702
|
}, [enabled, size2, storageKey]);
|
|
32654
32703
|
React100.useEffect(() => {
|
|
@@ -32687,7 +32736,7 @@ function AppLayoutDrawerResizeHandle({
|
|
|
32687
32736
|
startRef.current = null;
|
|
32688
32737
|
try {
|
|
32689
32738
|
e.currentTarget.releasePointerCapture(e.pointerId);
|
|
32690
|
-
} catch (
|
|
32739
|
+
} catch (e43) {
|
|
32691
32740
|
}
|
|
32692
32741
|
document.body.style.cursor = "";
|
|
32693
32742
|
document.body.style.userSelect = "";
|
|
@@ -33045,7 +33094,7 @@ function NotificationTile({
|
|
|
33045
33094
|
onError: () => setFailedImageUrl(image),
|
|
33046
33095
|
className: "size-4 rounded-[2px] object-cover"
|
|
33047
33096
|
}
|
|
33048
|
-
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "size-1.5 rounded-full",
|
|
33097
|
+
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkSTGWQFYTcjs.dotColorByVariant[accentVariant]) })))
|
|
33049
33098
|
}
|
|
33050
33099
|
),
|
|
33051
33100
|
type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -33093,7 +33142,7 @@ function NotificationTile({
|
|
|
33093
33142
|
"aria-hidden": true,
|
|
33094
33143
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
33095
33144
|
"absolute inset-x-0 -bottom-px h-1 origin-left",
|
|
33096
|
-
|
|
33145
|
+
_chunkSTGWQFYTcjs.progressColorByVariant[accentVariant]
|
|
33097
33146
|
),
|
|
33098
33147
|
style: {
|
|
33099
33148
|
animation: `toast-progress ${liveDurationMs}ms linear forwards`,
|
|
@@ -33316,7 +33365,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
|
|
|
33316
33365
|
] });
|
|
33317
33366
|
}
|
|
33318
33367
|
function DesktopNotificationsToggleRow({ checked, onChange }) {
|
|
33319
|
-
const { supported, permission, request } =
|
|
33368
|
+
const { supported, permission, request } = _chunkSTGWQFYTcjs.useNotificationPermission.call(void 0, );
|
|
33320
33369
|
if (!supported) return null;
|
|
33321
33370
|
const blocked = permission === "denied";
|
|
33322
33371
|
const handleChange = async (value) => {
|
|
@@ -33691,7 +33740,7 @@ function ApprovalRequestNotificationTile({
|
|
|
33691
33740
|
setLocalStatus(nextStatus);
|
|
33692
33741
|
try {
|
|
33693
33742
|
await action(batchData.approvalRequestId);
|
|
33694
|
-
} catch (
|
|
33743
|
+
} catch (e44) {
|
|
33695
33744
|
setLocalStatus(null);
|
|
33696
33745
|
return;
|
|
33697
33746
|
} finally {
|
|
@@ -34764,7 +34813,7 @@ function EmptyState2() {
|
|
|
34764
34813
|
// src/components/features/board/use-board-collapse.ts
|
|
34765
34814
|
|
|
34766
34815
|
function useBoardCollapse(storageKey) {
|
|
34767
|
-
const [persisted, setPersisted] =
|
|
34816
|
+
const [persisted, setPersisted] = _chunkSTGWQFYTcjs.useLocalStorage.call(void 0,
|
|
34768
34817
|
_nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")),
|
|
34769
34818
|
{}
|
|
34770
34819
|
);
|
|
@@ -34814,7 +34863,7 @@ function Board({
|
|
|
34814
34863
|
onThumbPointerDown,
|
|
34815
34864
|
onThumbPointerMove,
|
|
34816
34865
|
onThumbPointerUp
|
|
34817
|
-
} =
|
|
34866
|
+
} = _chunkSTGWQFYTcjs.useHorizontalScrollbar.call(void 0, );
|
|
34818
34867
|
const [items, setItems] = React106.useState(columns);
|
|
34819
34868
|
const isDraggingRef = React106.useRef(false);
|
|
34820
34869
|
React106.useEffect(() => {
|
|
@@ -35617,7 +35666,7 @@ _chunkBX3R44MRcjs.init_button2.call(void 0, );
|
|
|
35617
35666
|
function SlidingSidebar({ config }) {
|
|
35618
35667
|
const [expandedItems, setExpandedItems] = _react.useState.call(void 0, /* @__PURE__ */ new Set());
|
|
35619
35668
|
const [mounted, setMounted] = _react.useState.call(void 0, false);
|
|
35620
|
-
const headerHeight =
|
|
35669
|
+
const headerHeight = _chunkSTGWQFYTcjs.useHeaderHeight.call(void 0, );
|
|
35621
35670
|
_react.useEffect.call(void 0, () => {
|
|
35622
35671
|
setMounted(true);
|
|
35623
35672
|
}, []);
|
|
@@ -35850,7 +35899,7 @@ function useSectionNavigation(sections, options) {
|
|
|
35850
35899
|
if (!targetElement) return;
|
|
35851
35900
|
isScrollingFromClick.current = true;
|
|
35852
35901
|
setActiveSection(sectionId);
|
|
35853
|
-
|
|
35902
|
+
_chunkSTGWQFYTcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset: offset2 });
|
|
35854
35903
|
setTimeout(() => {
|
|
35855
35904
|
isScrollingFromClick.current = false;
|
|
35856
35905
|
}, 500);
|
|
@@ -36036,10 +36085,10 @@ var MINIMIZED_WIDTH = 56;
|
|
|
36036
36085
|
var EXPANDED_WIDTH = 224;
|
|
36037
36086
|
var STORAGE_KEY = "of.navigationSidebar.minimized";
|
|
36038
36087
|
function NavigationSidebar({ config, disabled = false }) {
|
|
36039
|
-
const isMdUp = _nullishCoalesce(
|
|
36040
|
-
const isLgUp = _nullishCoalesce(
|
|
36088
|
+
const isMdUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useMdUp.call(void 0, ), () => ( false));
|
|
36089
|
+
const isLgUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useLgUp.call(void 0, ), () => ( false));
|
|
36041
36090
|
const isTablet = isMdUp && !isLgUp;
|
|
36042
|
-
const [desktopMinimized, setDesktopMinimized] =
|
|
36091
|
+
const [desktopMinimized, setDesktopMinimized] = _chunkSTGWQFYTcjs.useLocalStorage.call(void 0,
|
|
36043
36092
|
STORAGE_KEY,
|
|
36044
36093
|
_nullishCoalesce(config.minimized, () => ( false))
|
|
36045
36094
|
);
|
|
@@ -36363,7 +36412,7 @@ var AppHeader = React121.default.memo(function AppHeader2({
|
|
|
36363
36412
|
onToggleMobileMenu,
|
|
36364
36413
|
disabled = false
|
|
36365
36414
|
}) {
|
|
36366
|
-
const isMdUp = _nullishCoalesce(
|
|
36415
|
+
const isMdUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useMdUp.call(void 0, ), () => ( false));
|
|
36367
36416
|
const dimmedClass = disabled ? "pointer-events-none opacity-50" : "";
|
|
36368
36417
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
36369
36418
|
"header",
|
|
@@ -37139,7 +37188,7 @@ var ToolBadge = ({
|
|
|
37139
37188
|
}) => {
|
|
37140
37189
|
const label = getToolLabel(toolType);
|
|
37141
37190
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex items-center gap-1 text-ods-text-secondary", className), children: [
|
|
37142
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37191
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTGWQFYTcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
|
|
37143
37192
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: label })
|
|
37144
37193
|
] });
|
|
37145
37194
|
};
|
|
@@ -37511,7 +37560,7 @@ function OnboardingWalkthrough({
|
|
|
37511
37560
|
isStepSkipped,
|
|
37512
37561
|
allStepsComplete,
|
|
37513
37562
|
markMultipleComplete
|
|
37514
|
-
} =
|
|
37563
|
+
} = _chunkSTGWQFYTcjs.useOnboardingState.call(void 0, storageKey);
|
|
37515
37564
|
const hasAutoMarkedRef = _react.useRef.call(void 0, false);
|
|
37516
37565
|
const autoMarkingInProgressRef = _react.useRef.call(void 0, false);
|
|
37517
37566
|
const lastCompletionStatusRef = _react.useRef.call(void 0, null);
|
|
@@ -37718,7 +37767,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
|
|
|
37718
37767
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-5 text-white", children: log.title }),
|
|
37719
37768
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
37720
37769
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['Azeret_Mono'] font-normal text-[13px] leading-4 text-ods-text-secondary uppercase tracking-wider", children: formatTimestamp(log.timestamp) }),
|
|
37721
|
-
log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37770
|
+
log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTGWQFYTcjs.ToolIcon, { toolType: log.toolType, size: 16 })
|
|
37722
37771
|
] })
|
|
37723
37772
|
] })
|
|
37724
37773
|
]
|
|
@@ -37855,7 +37904,7 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
|
|
|
37855
37904
|
}
|
|
37856
37905
|
function ServiceCardRowItem({ row }) {
|
|
37857
37906
|
const [revealed, setRevealed] = _react.useState.call(void 0, false);
|
|
37858
|
-
const { copy, copied } =
|
|
37907
|
+
const { copy, copied } = _chunkSTGWQFYTcjs.useCopyToClipboard.call(void 0, );
|
|
37859
37908
|
const actions = _react.useMemo.call(void 0, () => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }), [row]);
|
|
37860
37909
|
const displayValue = row.isSecret ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MaskedValue, { value: row.value, isRevealed: revealed }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.value });
|
|
37861
37910
|
const handleCopy = () => copy(_nullishCoalesce(row.copyValue, () => ( row.value)));
|
|
@@ -38517,7 +38566,7 @@ function TableHeader({
|
|
|
38517
38566
|
}
|
|
38518
38567
|
return sortDirection === "asc" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Arrow01UpIcon, { className: "w-4 h-4 text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Arrow01DownIcon, { className: "w-4 h-4 text-ods-accent" });
|
|
38519
38568
|
};
|
|
38520
|
-
const isLgUp = _nullishCoalesce(
|
|
38569
|
+
const isLgUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useLgUp.call(void 0, ), () => ( false));
|
|
38521
38570
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
38522
38571
|
"div",
|
|
38523
38572
|
{
|
|
@@ -39440,7 +39489,7 @@ function QueryReportTable({
|
|
|
39440
39489
|
onThumbPointerDown,
|
|
39441
39490
|
onThumbPointerMove,
|
|
39442
39491
|
onThumbPointerUp
|
|
39443
|
-
} =
|
|
39492
|
+
} = _chunkSTGWQFYTcjs.useHorizontalScrollbar.call(void 0, );
|
|
39444
39493
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col w-full", isCompact ? "gap-0" : "gap-6", className), children: [
|
|
39445
39494
|
!isCompact && (title || headerActions || showExport && data.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between pt-6", children: [
|
|
39446
39495
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "font-mono font-semibold text-[32px] leading-[40px] text-ods-text-primary", children: title }),
|
|
@@ -39671,7 +39720,7 @@ function DataTableHeader({
|
|
|
39671
39720
|
onSortChange
|
|
39672
39721
|
}) {
|
|
39673
39722
|
const table = useDataTableContext();
|
|
39674
|
-
const isLgUp = _nullishCoalesce(
|
|
39723
|
+
const isLgUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useLgUp.call(void 0, ), () => ( false));
|
|
39675
39724
|
const headerGroup = table.getHeaderGroups()[0];
|
|
39676
39725
|
if (!headerGroup) return null;
|
|
39677
39726
|
const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
|
|
@@ -40242,7 +40291,7 @@ function SearchInput({
|
|
|
40242
40291
|
}) {
|
|
40243
40292
|
const [internalValue, setInternalValue] = React123.useState(defaultValue);
|
|
40244
40293
|
const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
|
|
40245
|
-
const debouncedValue =
|
|
40294
|
+
const debouncedValue = _chunkSTGWQFYTcjs.useDebounce.call(void 0, currentValue, debounceMs);
|
|
40246
40295
|
const [isOpen, setIsOpen] = React123.useState(false);
|
|
40247
40296
|
const [highlightedIndex, setHighlightedIndex] = React123.useState(-1);
|
|
40248
40297
|
const containerRef = React123.useRef(null);
|
|
@@ -40254,7 +40303,7 @@ function SearchInput({
|
|
|
40254
40303
|
textMeasureRef,
|
|
40255
40304
|
badgeRef,
|
|
40256
40305
|
inputRef
|
|
40257
|
-
} =
|
|
40306
|
+
} = _chunkSTGWQFYTcjs.useAutoLimitTags.call(void 0, {
|
|
40258
40307
|
count: filterChips.length,
|
|
40259
40308
|
limitTags,
|
|
40260
40309
|
// When chips exist, pass empty placeholder so the hook only reserves input minWidth,
|
|
@@ -40721,7 +40770,7 @@ function TagSearchInput({
|
|
|
40721
40770
|
textMeasureRef,
|
|
40722
40771
|
badgeRef,
|
|
40723
40772
|
inputRef
|
|
40724
|
-
} =
|
|
40773
|
+
} = _chunkSTGWQFYTcjs.useAutoLimitTags.call(void 0, {
|
|
40725
40774
|
count: tags.length,
|
|
40726
40775
|
limitTags,
|
|
40727
40776
|
placeholder: currentPlaceholder
|
|
@@ -41858,7 +41907,7 @@ function ChannelInput({
|
|
|
41858
41907
|
);
|
|
41859
41908
|
}
|
|
41860
41909
|
function RgbInputs({ value, onChange }) {
|
|
41861
|
-
const rgb = _nullishCoalesce(
|
|
41910
|
+
const rgb = _nullishCoalesce(hexToRgb2(value), () => ( { r: 0, g: 0, b: 0 }));
|
|
41862
41911
|
const update = (next) => {
|
|
41863
41912
|
const r = _nullishCoalesce(next.r, () => ( rgb.r));
|
|
41864
41913
|
const g = _nullishCoalesce(next.g, () => ( rgb.g));
|
|
@@ -41872,7 +41921,7 @@ function RgbInputs({ value, onChange }) {
|
|
|
41872
41921
|
] });
|
|
41873
41922
|
}
|
|
41874
41923
|
function HslInputs({ value, onChange }) {
|
|
41875
|
-
const rgb = _nullishCoalesce(
|
|
41924
|
+
const rgb = _nullishCoalesce(hexToRgb2(value), () => ( { r: 0, g: 0, b: 0 }));
|
|
41876
41925
|
const hsl = rgbToHsl(rgb.r, rgb.g, rgb.b);
|
|
41877
41926
|
const update = (next) => {
|
|
41878
41927
|
const h = _nullishCoalesce(next.h, () => ( hsl.h));
|
|
@@ -42978,7 +43027,7 @@ function parseRepoFromUrl(url) {
|
|
|
42978
43027
|
if (u.host !== "github.com") return null;
|
|
42979
43028
|
const parts = u.pathname.split("/").filter(Boolean);
|
|
42980
43029
|
if (parts.length >= 2) return `${parts[0]}/${parts[1]}`;
|
|
42981
|
-
} catch (
|
|
43030
|
+
} catch (e45) {
|
|
42982
43031
|
}
|
|
42983
43032
|
return null;
|
|
42984
43033
|
}
|
|
@@ -43166,7 +43215,7 @@ function parseChannelFromUrl(url) {
|
|
|
43166
43215
|
const parts = u.pathname.split("/").filter(Boolean);
|
|
43167
43216
|
const archivesIdx = parts.indexOf("archives");
|
|
43168
43217
|
if (archivesIdx !== -1 && parts.length > archivesIdx + 1) return parts[archivesIdx + 1];
|
|
43169
|
-
} catch (
|
|
43218
|
+
} catch (e46) {
|
|
43170
43219
|
}
|
|
43171
43220
|
return null;
|
|
43172
43221
|
}
|
|
@@ -45136,7 +45185,7 @@ function ProgramCard({
|
|
|
45136
45185
|
const compactDate = (() => {
|
|
45137
45186
|
try {
|
|
45138
45187
|
return formatUtc(new Date(item.date), "MMM d, yyyy");
|
|
45139
|
-
} catch (
|
|
45188
|
+
} catch (e47) {
|
|
45140
45189
|
return "";
|
|
45141
45190
|
}
|
|
45142
45191
|
})();
|
|
@@ -45413,13 +45462,13 @@ _chunkG7UE6RKVcjs.init_next_navigation.call(void 0, );
|
|
|
45413
45462
|
// src/components/chat/hooks/use-chat-card-item.ts
|
|
45414
45463
|
|
|
45415
45464
|
function useChatCardItem(type, id) {
|
|
45416
|
-
const runtime =
|
|
45465
|
+
const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
|
|
45417
45466
|
const url = runtime.endpoints.buildListUrl(type, [id]);
|
|
45418
45467
|
const query = _reactquery.useQuery.call(void 0, {
|
|
45419
45468
|
queryKey: ["chat-card-item", type, id],
|
|
45420
45469
|
queryFn: async () => {
|
|
45421
45470
|
if (!url) return null;
|
|
45422
|
-
const res = await
|
|
45471
|
+
const res = await _chunkSTGWQFYTcjs.embedAuthedFetch.call(void 0, url);
|
|
45423
45472
|
if (!res.ok) return null;
|
|
45424
45473
|
const data = await res.json();
|
|
45425
45474
|
const items = extractItems(data);
|
|
@@ -46497,7 +46546,7 @@ function ChatCardNavWrap({
|
|
|
46497
46546
|
isNewTab,
|
|
46498
46547
|
children
|
|
46499
46548
|
}) {
|
|
46500
|
-
const runtime =
|
|
46549
|
+
const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
|
|
46501
46550
|
const router = _chunkG7UE6RKVcjs.useRouter.call(void 0, );
|
|
46502
46551
|
const panel = useChatPanel();
|
|
46503
46552
|
const onClickCapture = (e) => {
|
|
@@ -46520,7 +46569,7 @@ function ChatCardLoader({
|
|
|
46520
46569
|
chipBasePlatform,
|
|
46521
46570
|
extras
|
|
46522
46571
|
}) {
|
|
46523
|
-
const runtime =
|
|
46572
|
+
const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
|
|
46524
46573
|
const resolvedChatRef = React121.default.useMemo(() => {
|
|
46525
46574
|
const cta = resolveSourceRowCTA(
|
|
46526
46575
|
{
|
|
@@ -46953,7 +47002,7 @@ function useJetStreamDialogSubscription({
|
|
|
46953
47002
|
if (subscriptionRef.current) {
|
|
46954
47003
|
try {
|
|
46955
47004
|
subscriptionRef.current.unsubscribe();
|
|
46956
|
-
} catch (
|
|
47005
|
+
} catch (e48) {
|
|
46957
47006
|
}
|
|
46958
47007
|
subscriptionRef.current = null;
|
|
46959
47008
|
}
|
|
@@ -47007,7 +47056,7 @@ function useJetStreamDialogSubscription({
|
|
|
47007
47056
|
if (subscriptionRef.current) {
|
|
47008
47057
|
try {
|
|
47009
47058
|
subscriptionRef.current.unsubscribe();
|
|
47010
|
-
} catch (
|
|
47059
|
+
} catch (e49) {
|
|
47011
47060
|
}
|
|
47012
47061
|
subscriptionRef.current = null;
|
|
47013
47062
|
}
|
|
@@ -47044,7 +47093,7 @@ function useJetStreamDialogSubscription({
|
|
|
47044
47093
|
parsed.streamSeq = streamSeq;
|
|
47045
47094
|
}
|
|
47046
47095
|
cb(parsed, topic);
|
|
47047
|
-
} catch (
|
|
47096
|
+
} catch (e50) {
|
|
47048
47097
|
}
|
|
47049
47098
|
},
|
|
47050
47099
|
{
|
|
@@ -47059,14 +47108,14 @@ function useJetStreamDialogSubscription({
|
|
|
47059
47108
|
if (cancelled) {
|
|
47060
47109
|
try {
|
|
47061
47110
|
handle.unsubscribe();
|
|
47062
|
-
} catch (
|
|
47111
|
+
} catch (e51) {
|
|
47063
47112
|
}
|
|
47064
47113
|
return;
|
|
47065
47114
|
}
|
|
47066
47115
|
subscriptionRef.current = handle;
|
|
47067
47116
|
setIsSubscribed(true);
|
|
47068
47117
|
_optionalChain([onSubscribedRef, 'access', _1106 => _1106.current, 'optionalCall', _1107 => _1107()]);
|
|
47069
|
-
} catch (
|
|
47118
|
+
} catch (e52) {
|
|
47070
47119
|
if (!cancelled) {
|
|
47071
47120
|
setIsSubscribed(false);
|
|
47072
47121
|
}
|
|
@@ -47078,7 +47127,7 @@ function useJetStreamDialogSubscription({
|
|
|
47078
47127
|
if (subscriptionRef.current) {
|
|
47079
47128
|
try {
|
|
47080
47129
|
subscriptionRef.current.unsubscribe();
|
|
47081
|
-
} catch (
|
|
47130
|
+
} catch (e53) {
|
|
47082
47131
|
}
|
|
47083
47132
|
subscriptionRef.current = null;
|
|
47084
47133
|
}
|
|
@@ -47179,7 +47228,7 @@ function useNatsDialogSubscription({
|
|
|
47179
47228
|
subscriptionRefs.current.forEach((sub) => {
|
|
47180
47229
|
try {
|
|
47181
47230
|
_optionalChain([sub, 'optionalAccess', _1108 => _1108.unsubscribe, 'call', _1109 => _1109()]);
|
|
47182
|
-
} catch (
|
|
47231
|
+
} catch (e54) {
|
|
47183
47232
|
}
|
|
47184
47233
|
});
|
|
47185
47234
|
subscriptionRefs.current.clear();
|
|
@@ -47244,7 +47293,7 @@ function useNatsDialogSubscription({
|
|
|
47244
47293
|
subscriptionRefs.current.forEach((sub) => {
|
|
47245
47294
|
try {
|
|
47246
47295
|
_optionalChain([sub, 'optionalAccess', _1119 => _1119.unsubscribe, 'call', _1120 => _1120()]);
|
|
47247
|
-
} catch (
|
|
47296
|
+
} catch (e55) {
|
|
47248
47297
|
}
|
|
47249
47298
|
});
|
|
47250
47299
|
subscriptionRefs.current.clear();
|
|
@@ -47262,7 +47311,7 @@ function useNatsDialogSubscription({
|
|
|
47262
47311
|
subscriptionRefs.current.forEach((sub) => {
|
|
47263
47312
|
try {
|
|
47264
47313
|
_optionalChain([sub, 'optionalAccess', _1124 => _1124.unsubscribe, 'call', _1125 => _1125()]);
|
|
47265
|
-
} catch (
|
|
47314
|
+
} catch (e56) {
|
|
47266
47315
|
}
|
|
47267
47316
|
});
|
|
47268
47317
|
subscriptionRefs.current.clear();
|
|
@@ -47285,7 +47334,7 @@ function useNatsDialogSubscription({
|
|
|
47285
47334
|
const dataStr = decoder.decode(msg.data);
|
|
47286
47335
|
const parsed = JSON.parse(dataStr);
|
|
47287
47336
|
onEventRef.current(parsed, messageType);
|
|
47288
|
-
} catch (
|
|
47337
|
+
} catch (e57) {
|
|
47289
47338
|
}
|
|
47290
47339
|
};
|
|
47291
47340
|
topics.forEach((topic) => {
|
|
@@ -47309,7 +47358,7 @@ function useNatsDialogSubscription({
|
|
|
47309
47358
|
subscriptionRefs.current.forEach((sub) => {
|
|
47310
47359
|
try {
|
|
47311
47360
|
_optionalChain([sub, 'optionalAccess', _1131 => _1131.unsubscribe, 'call', _1132 => _1132()]);
|
|
47312
|
-
} catch (
|
|
47361
|
+
} catch (e58) {
|
|
47313
47362
|
}
|
|
47314
47363
|
});
|
|
47315
47364
|
subscriptionRefs.current.clear();
|
|
@@ -47336,7 +47385,7 @@ function useNatsDialogSubscription({
|
|
|
47336
47385
|
const dataStr = decoder.decode(msg.data);
|
|
47337
47386
|
const parsed = JSON.parse(dataStr);
|
|
47338
47387
|
onEventRef.current(parsed, messageType);
|
|
47339
|
-
} catch (
|
|
47388
|
+
} catch (e59) {
|
|
47340
47389
|
}
|
|
47341
47390
|
};
|
|
47342
47391
|
topics.forEach((topic) => {
|
|
@@ -48220,7 +48269,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48220
48269
|
if ("details" in action && _optionalChain([action, 'optionalAccess', _1174 => _1174.details])) {
|
|
48221
48270
|
try {
|
|
48222
48271
|
message2 = _optionalChain([JSON, 'access', _1175 => _1175.parse, 'call', _1176 => _1176(action.details), 'optionalAccess', _1177 => _1177.error, 'optionalAccess', _1178 => _1178.message]);
|
|
48223
|
-
} catch (
|
|
48272
|
+
} catch (e60) {
|
|
48224
48273
|
message2 = action.details;
|
|
48225
48274
|
}
|
|
48226
48275
|
}
|
|
@@ -48309,7 +48358,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
48309
48358
|
try {
|
|
48310
48359
|
const url = new URL(commandsUrl, window.location.origin);
|
|
48311
48360
|
if (prefix) url.searchParams.set("q", prefix);
|
|
48312
|
-
const res = await
|
|
48361
|
+
const res = await _chunkSTGWQFYTcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
|
|
48313
48362
|
if (!res.ok) return [];
|
|
48314
48363
|
const data = await res.json();
|
|
48315
48364
|
return _nullishCoalesce(data.commands, () => ( []));
|
|
@@ -48384,7 +48433,7 @@ var EMPTY_STATE_FALLBACK = {
|
|
|
48384
48433
|
async function fetchEmptyStateConfig(signal, emptyStateUrl) {
|
|
48385
48434
|
try {
|
|
48386
48435
|
const url = new URL(emptyStateUrl, window.location.origin);
|
|
48387
|
-
const res = await
|
|
48436
|
+
const res = await _chunkSTGWQFYTcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
|
|
48388
48437
|
if (!res.ok) {
|
|
48389
48438
|
if (res.status >= 500) {
|
|
48390
48439
|
console.error(`[chat] empty-state config fetch failed (${res.status}): ${url.pathname}`);
|
|
@@ -48502,7 +48551,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
48502
48551
|
});
|
|
48503
48552
|
}
|
|
48504
48553
|
function useChatAttachments() {
|
|
48505
|
-
const runtime =
|
|
48554
|
+
const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
|
|
48506
48555
|
const uploadUrlEndpoint = runtime.endpoints.attachmentUploadUrl;
|
|
48507
48556
|
const [attachments, setAttachments] = _react.useState.call(void 0, []);
|
|
48508
48557
|
const controllersRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
|
|
@@ -48546,7 +48595,7 @@ function useChatAttachments() {
|
|
|
48546
48595
|
);
|
|
48547
48596
|
}
|
|
48548
48597
|
updateOne(att.id, { status: "uploading", progress: 5 });
|
|
48549
|
-
const urlResp = await
|
|
48598
|
+
const urlResp = await _chunkSTGWQFYTcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
|
|
48550
48599
|
method: "POST",
|
|
48551
48600
|
headers: { "Content-Type": "application/json" },
|
|
48552
48601
|
signal: _optionalChain([ctrl, 'optionalAccess', _1211 => _1211.signal]),
|
|
@@ -48675,7 +48724,7 @@ function useChatAttachments() {
|
|
|
48675
48724
|
|
|
48676
48725
|
var CLOSED = { isOpen: false, images: [], initialIndex: 0 };
|
|
48677
48726
|
function useChatAttachmentImageGallery() {
|
|
48678
|
-
const runtime =
|
|
48727
|
+
const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
|
|
48679
48728
|
const viewUrlPrefix = runtime.endpoints.attachmentViewUrlPrefix;
|
|
48680
48729
|
const panelRef = _react.useRef.call(void 0, null);
|
|
48681
48730
|
const [state, setState] = _react.useState.call(void 0, CLOSED);
|
|
@@ -48734,9 +48783,9 @@ var ANON_DEFAULTS = {
|
|
|
48734
48783
|
user: null
|
|
48735
48784
|
};
|
|
48736
48785
|
function useResolveChatIdentity(enabled) {
|
|
48737
|
-
const runtime =
|
|
48786
|
+
const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
|
|
48738
48787
|
const url = runtime.endpoints.identityUrl;
|
|
48739
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([
|
|
48788
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkSTGWQFYTcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1217 => _1217.email]), () => ( null));
|
|
48740
48789
|
const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
|
|
48741
48790
|
const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
|
|
48742
48791
|
_react.useEffect.call(void 0, () => {
|
|
@@ -48744,7 +48793,7 @@ function useResolveChatIdentity(enabled) {
|
|
|
48744
48793
|
let cancelled = false;
|
|
48745
48794
|
const ctrl = new AbortController();
|
|
48746
48795
|
setIsLoading(true);
|
|
48747
|
-
|
|
48796
|
+
_chunkSTGWQFYTcjs.embedAuthedFetch.call(void 0, url, { signal: ctrl.signal }).then(async (resp) => {
|
|
48748
48797
|
if (!resp.ok) return ANON_DEFAULTS;
|
|
48749
48798
|
return await resp.json();
|
|
48750
48799
|
}).then((next) => {
|
|
@@ -49207,7 +49256,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
49207
49256
|
..._optionalChain([extra, 'optionalAccess', _1232 => _1232.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
|
|
49208
49257
|
..._optionalChain([extra, 'optionalAccess', _1233 => _1233.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
|
|
49209
49258
|
};
|
|
49210
|
-
const response = await
|
|
49259
|
+
const response = await _chunkSTGWQFYTcjs.embedAuthedFetch.call(void 0, targetPath, {
|
|
49211
49260
|
method: "POST",
|
|
49212
49261
|
body: JSON.stringify(requestBody),
|
|
49213
49262
|
signal
|
|
@@ -49267,7 +49316,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
49267
49316
|
let meta;
|
|
49268
49317
|
try {
|
|
49269
49318
|
meta = JSON.parse(metaStr);
|
|
49270
|
-
} catch (
|
|
49319
|
+
} catch (e61) {
|
|
49271
49320
|
inText = true;
|
|
49272
49321
|
setStreamingPhase("streaming");
|
|
49273
49322
|
if (buffer.length > 0) {
|
|
@@ -49414,7 +49463,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
49414
49463
|
});
|
|
49415
49464
|
bumpMetaTick();
|
|
49416
49465
|
}
|
|
49417
|
-
} catch (
|
|
49466
|
+
} catch (e62) {
|
|
49418
49467
|
}
|
|
49419
49468
|
}
|
|
49420
49469
|
};
|
|
@@ -49430,7 +49479,7 @@ var CHAT_STORAGE_VERSION = 1;
|
|
|
49430
49479
|
var DEFAULT_CHAT_SOURCE = "embed";
|
|
49431
49480
|
var chatStorageKey = (source) => {
|
|
49432
49481
|
const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
|
|
49433
|
-
const auth =
|
|
49482
|
+
const auth = _chunkSTGWQFYTcjs.getEmbedProxyAuth.call(void 0, );
|
|
49434
49483
|
if (_optionalChain([auth, 'optionalAccess', _1242 => _1242.email])) {
|
|
49435
49484
|
return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
|
|
49436
49485
|
}
|
|
@@ -49454,7 +49503,7 @@ function pruneStaleChatStorage(source) {
|
|
|
49454
49503
|
for (const k of toRemove) {
|
|
49455
49504
|
window.localStorage.removeItem(k);
|
|
49456
49505
|
}
|
|
49457
|
-
} catch (
|
|
49506
|
+
} catch (e63) {
|
|
49458
49507
|
}
|
|
49459
49508
|
}
|
|
49460
49509
|
function loadPersistedChat(source) {
|
|
@@ -49471,7 +49520,7 @@ function loadPersistedChat(source) {
|
|
|
49471
49520
|
}
|
|
49472
49521
|
}
|
|
49473
49522
|
return parsed;
|
|
49474
|
-
} catch (
|
|
49523
|
+
} catch (e64) {
|
|
49475
49524
|
return null;
|
|
49476
49525
|
}
|
|
49477
49526
|
}
|
|
@@ -49479,12 +49528,12 @@ function savePersistedChat(source, state) {
|
|
|
49479
49528
|
if (typeof window === "undefined") return;
|
|
49480
49529
|
try {
|
|
49481
49530
|
window.localStorage.setItem(chatStorageKey(source), JSON.stringify(state));
|
|
49482
|
-
} catch (
|
|
49531
|
+
} catch (e65) {
|
|
49483
49532
|
}
|
|
49484
49533
|
}
|
|
49485
49534
|
function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
49486
49535
|
const { active = true } = runtimeOptions;
|
|
49487
|
-
const runtime =
|
|
49536
|
+
const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
|
|
49488
49537
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
49489
49538
|
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1243 => _1243.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
|
|
49490
49539
|
const persistedRef = _react.useRef.call(void 0, null);
|
|
@@ -49686,7 +49735,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
49686
49735
|
if (typeof window !== "undefined") {
|
|
49687
49736
|
try {
|
|
49688
49737
|
window.localStorage.removeItem(chatStorageKey(source));
|
|
49689
|
-
} catch (
|
|
49738
|
+
} catch (e66) {
|
|
49690
49739
|
}
|
|
49691
49740
|
}
|
|
49692
49741
|
}, [chatClearMessages, source, bumpMetaTick]);
|
|
@@ -50057,7 +50106,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
50057
50106
|
if ("details" in data && _optionalChain([data, 'optionalAccess', _1283 => _1283.details])) {
|
|
50058
50107
|
try {
|
|
50059
50108
|
message2 = _optionalChain([JSON, 'access', _1284 => _1284.parse, 'call', _1285 => _1285(data.details), 'optionalAccess', _1286 => _1286.error, 'optionalAccess', _1287 => _1287.message]);
|
|
50060
|
-
} catch (
|
|
50109
|
+
} catch (e67) {
|
|
50061
50110
|
message2 = data.details;
|
|
50062
50111
|
}
|
|
50063
50112
|
}
|
|
@@ -51353,7 +51402,7 @@ function SourceChip({
|
|
|
51353
51402
|
onClose,
|
|
51354
51403
|
onDiscuss
|
|
51355
51404
|
}) {
|
|
51356
|
-
const runtime =
|
|
51405
|
+
const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
|
|
51357
51406
|
const router = _chunkG7UE6RKVcjs.useRouter.call(void 0, );
|
|
51358
51407
|
const cta = resolveSourceRowCTA(
|
|
51359
51408
|
{
|
|
@@ -51596,7 +51645,7 @@ function EmbeddableChatInner({
|
|
|
51596
51645
|
mingoContextBanner
|
|
51597
51646
|
}) {
|
|
51598
51647
|
const shellLess = shell === "none";
|
|
51599
|
-
const runtime =
|
|
51648
|
+
const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
|
|
51600
51649
|
const source = _nullishCoalesce(runtime.source, () => ( ""));
|
|
51601
51650
|
const commandsUrl = runtime.endpoints.commandsUrl;
|
|
51602
51651
|
const { attachmentsEnabled, user: identityUser } = useChatIdentity();
|
|
@@ -53359,5 +53408,5 @@ function EmbeddableChatInner({
|
|
|
53359
53408
|
|
|
53360
53409
|
|
|
53361
53410
|
|
|
53362
|
-
exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; 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.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; 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.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.SquareAvatar2 = SquareAvatar2; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getLuminance = getLuminance; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.announcementDismissCookieName = announcementDismissCookieName; exports.isDismissedCookieValue = isDismissedCookieValue; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; 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.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; 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.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; 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.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; 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.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; 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.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
|
|
53363
|
-
//# sourceMappingURL=chunk-
|
|
53411
|
+
exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; 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.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; 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.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.SquareAvatar2 = SquareAvatar2; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.announcementDismissCookieName = announcementDismissCookieName; exports.isDismissedCookieValue = isDismissedCookieValue; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; 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.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; 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.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; 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.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; 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.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; 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.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
|
|
53412
|
+
//# sourceMappingURL=chunk-SOALFYU6.cjs.map
|