@flamingo-stack/openframe-frontend-core 0.0.187 → 0.0.188
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-FMWHOUFE.js → chunk-6XYXWVYY.js} +2 -2
- package/dist/{chunk-ALW3D72O.cjs → chunk-HIMEIPED.cjs} +9 -9
- package/dist/{chunk-ALW3D72O.cjs.map → chunk-HIMEIPED.cjs.map} +1 -1
- package/dist/{chunk-RZ3HHPQH.js → chunk-J2C2TI5Z.js} +2174 -2119
- package/dist/chunk-J2C2TI5Z.js.map +1 -0
- package/dist/{chunk-TMD5LDX4.cjs → chunk-VJTFBYVG.cjs} +57 -2
- package/dist/{chunk-TMD5LDX4.cjs.map → chunk-VJTFBYVG.cjs.map} +1 -1
- package/dist/{chunk-EUTOT74J.cjs → chunk-W5AWCFKE.cjs} +762 -760
- package/dist/chunk-W5AWCFKE.cjs.map +1 -0
- package/dist/{chunk-M36UJN3T.js → chunk-YOMHP4V3.js} +4091 -4089
- package/dist/chunk-YOMHP4V3.js.map +1 -0
- package/dist/components/chat/approval-batch-message.d.ts.map +1 -1
- package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
- package/dist/components/chat/chat-message-list.d.ts.map +1 -1
- package/dist/components/chat/context-compaction-display.d.ts.map +1 -1
- package/dist/components/chat/tool-execution-display.d.ts.map +1 -1
- package/dist/components/chat/types/api.types.d.ts +2 -6
- package/dist/components/chat/types/api.types.d.ts.map +1 -1
- package/dist/components/chat/types/message.types.d.ts +20 -0
- package/dist/components/chat/types/message.types.d.ts.map +1 -1
- package/dist/components/chat/types/network.types.d.ts +2 -0
- package/dist/components/chat/types/network.types.d.ts.map +1 -1
- package/dist/components/chat/types/processing.types.d.ts +2 -6
- package/dist/components/chat/types/processing.types.d.ts.map +1 -1
- package/dist/components/chat/utils/chunk-parser.d.ts.map +1 -1
- package/dist/components/chat/utils/extract-incomplete-message-state.d.ts +2 -6
- package/dist/components/chat/utils/extract-incomplete-message-state.d.ts.map +1 -1
- package/dist/components/chat/utils/message-segment-accumulator.d.ts +2 -6
- package/dist/components/chat/utils/message-segment-accumulator.d.ts.map +1 -1
- package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
- package/dist/components/chat/utils/tool-call-helpers.d.ts +21 -2
- package/dist/components/chat/utils/tool-call-helpers.d.ts.map +1 -1
- package/dist/components/features/index.cjs +4 -4
- package/dist/components/features/index.js +3 -3
- package/dist/components/icons-v2-generated/index.cjs +4 -2
- package/dist/components/icons-v2-generated/index.cjs.map +1 -1
- package/dist/components/icons-v2-generated/index.d.ts +1 -0
- package/dist/components/icons-v2-generated/index.d.ts.map +1 -1
- package/dist/components/icons-v2-generated/index.js +3 -1
- package/dist/components/icons-v2-generated/loaders/dots-loader-icon.d.ts +8 -0
- package/dist/components/icons-v2-generated/loaders/dots-loader-icon.d.ts.map +1 -0
- package/dist/components/icons-v2-generated/loaders/index.d.ts +2 -0
- package/dist/components/icons-v2-generated/loaders/index.d.ts.map +1 -0
- package/dist/components/index.cjs +4 -6
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +3 -5
- package/dist/components/navigation/index.cjs +4 -4
- package/dist/components/navigation/index.js +3 -3
- package/dist/components/ui/index.cjs +4 -6
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.d.ts +0 -1
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +3 -5
- package/dist/hooks/index.cjs +3 -3
- package/dist/hooks/index.js +2 -2
- package/dist/index.cjs +4 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3 -5
- package/package.json +1 -1
- package/src/components/chat/approval-batch-message.tsx +4 -5
- package/src/components/chat/chat-message-enhanced.tsx +0 -37
- package/src/components/chat/chat-message-list.tsx +57 -0
- package/src/components/chat/context-compaction-display.tsx +2 -3
- package/src/components/chat/thinking-display.tsx +2 -2
- package/src/components/chat/tool-execution-display.tsx +14 -11
- package/src/components/chat/types/api.types.ts +2 -2
- package/src/components/chat/types/message.types.ts +21 -0
- package/src/components/chat/types/network.types.ts +2 -0
- package/src/components/chat/types/processing.types.ts +2 -6
- package/src/components/chat/utils/chunk-parser.ts +2 -0
- package/src/components/chat/utils/extract-incomplete-message-state.ts +4 -2
- package/src/components/chat/utils/message-segment-accumulator.ts +11 -2
- package/src/components/chat/utils/process-historical-messages.ts +2 -0
- package/src/components/chat/utils/tool-call-helpers.ts +97 -14
- package/src/components/icons-v2/loaders/dots-loader.svg +1 -0
- package/src/components/icons-v2-generated/index.ts +1 -0
- package/src/components/icons-v2-generated/loaders/dots-loader-icon.tsx +53 -0
- package/src/components/icons-v2-generated/loaders/index.ts +1 -0
- package/src/components/ui/index.ts +0 -2
- package/src/stories/DotsLoaderIcon.stories.tsx +103 -0
- package/dist/chunk-EUTOT74J.cjs.map +0 -1
- package/dist/chunk-M36UJN3T.js.map +0 -1
- package/dist/chunk-RZ3HHPQH.js.map +0 -1
- package/dist/components/ui/pulse-dots.d.ts +0 -7
- package/dist/components/ui/pulse-dots.d.ts.map +0 -1
- package/src/components/ui/pulse-dots.tsx +0 -56
- /package/dist/{chunk-FMWHOUFE.js.map → chunk-6XYXWVYY.js.map} +0 -0
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var _chunkHIMEIPEDcjs = require('./chunk-HIMEIPED.cjs');
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
@@ -126,7 +126,8 @@ var _chunkOFAYLG6Dcjs = require('./chunk-OFAYLG6D.cjs');
|
|
|
126
126
|
|
|
127
127
|
|
|
128
128
|
|
|
129
|
-
|
|
129
|
+
|
|
130
|
+
var _chunkVJTFBYVGcjs = require('./chunk-VJTFBYVG.cjs');
|
|
130
131
|
|
|
131
132
|
|
|
132
133
|
|
|
@@ -613,7 +614,7 @@ var HiddenTagsPopup = _react.forwardRef.call(void 0, function HiddenTagsPopup2({
|
|
|
613
614
|
},
|
|
614
615
|
className: "shrink-0 text-ods-text-secondary hover:text-ods-text-primary transition-colors",
|
|
615
616
|
"aria-label": `Remove ${String(item.label)}`,
|
|
616
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
617
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.XmarkCircleIcon, { size: 20 })
|
|
617
618
|
}
|
|
618
619
|
)
|
|
619
620
|
]
|
|
@@ -715,7 +716,7 @@ function Tag({
|
|
|
715
716
|
disabled ? "cursor-not-allowed" : "hover:opacity-100"
|
|
716
717
|
),
|
|
717
718
|
"aria-label": "Remove",
|
|
718
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
719
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.XmarkCircleIcon, { className: "size-4" })
|
|
719
720
|
}
|
|
720
721
|
)
|
|
721
722
|
]
|
|
@@ -783,7 +784,7 @@ function AutocompleteInner(props, ref) {
|
|
|
783
784
|
}, [valueArray, options]);
|
|
784
785
|
const selectedOption = !multiple && selectedOptions.length > 0 ? selectedOptions[0] : null;
|
|
785
786
|
const inputPlaceholder = multiple ? valueArray.length === 0 ? placeholder : "Add More..." : placeholder;
|
|
786
|
-
const autoLimitTags =
|
|
787
|
+
const autoLimitTags = _chunkHIMEIPEDcjs.useAutoLimitTags.call(void 0, {
|
|
787
788
|
count: multiple ? selectedOptions.length : 0,
|
|
788
789
|
limitTags: multiple ? limitTagsProp : 0,
|
|
789
790
|
placeholder: inputPlaceholder
|
|
@@ -1037,7 +1038,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1037
1038
|
onClick: handleClearAll,
|
|
1038
1039
|
className: "flex items-center justify-center hover:opacity-70 transition-opacity",
|
|
1039
1040
|
"aria-label": "Clear all",
|
|
1040
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1041
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.XmarkCircleIcon, { className: "text-ods-text-secondary size-4 md:size-6" })
|
|
1041
1042
|
}
|
|
1042
1043
|
),
|
|
1043
1044
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -1049,7 +1050,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1049
1050
|
)
|
|
1050
1051
|
}
|
|
1051
1052
|
) : showChevron && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1052
|
-
|
|
1053
|
+
_chunkVJTFBYVGcjs.Chevron02DownIcon,
|
|
1053
1054
|
{
|
|
1054
1055
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
1055
1056
|
"transition-all duration-200 size-4 md:size-6",
|
|
@@ -1126,7 +1127,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1126
1127
|
onMouseEnter: () => setHighlightedIndex(index),
|
|
1127
1128
|
children: renderOption ? renderOption(option, isSelected) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between w-full min-w-0", children: [
|
|
1128
1129
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: option.label }),
|
|
1129
|
-
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1130
|
+
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
1130
1131
|
] })
|
|
1131
1132
|
},
|
|
1132
1133
|
String(option.value)
|
|
@@ -1442,7 +1443,7 @@ var SelectTrigger = React6.forwardRef(({ className, children, invalid, label, er
|
|
|
1442
1443
|
...props,
|
|
1443
1444
|
children: [
|
|
1444
1445
|
children,
|
|
1445
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1446
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Chevron02DownIcon, { className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
1446
1447
|
"shrink-0 text-ods-text-secondary transition-all duration-200 group-data-[state=open]:rotate-180",
|
|
1447
1448
|
isInvalid ? "text-ods-error" : "group-data-[state=open]:text-ods-accent"
|
|
1448
1449
|
), size: 24 }) })
|
|
@@ -1528,7 +1529,7 @@ var SelectItem = React6.forwardRef(({ className, children, ...props }, ref) => /
|
|
|
1528
1529
|
...props,
|
|
1529
1530
|
children: [
|
|
1530
1531
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.ItemText, { children }),
|
|
1531
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1532
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.CheckIcon, { className: "text-ods-accent", size: 20 }) })
|
|
1532
1533
|
]
|
|
1533
1534
|
}
|
|
1534
1535
|
));
|
|
@@ -2730,7 +2731,7 @@ function toToolLabel(input) {
|
|
|
2730
2731
|
if (!input) return "";
|
|
2731
2732
|
const toolType = normalizeToolType(input);
|
|
2732
2733
|
if (toolType) {
|
|
2733
|
-
return
|
|
2734
|
+
return _chunkHIMEIPEDcjs.toolLabels[toolType];
|
|
2734
2735
|
}
|
|
2735
2736
|
return input;
|
|
2736
2737
|
}
|
|
@@ -2741,7 +2742,7 @@ function getToolTypeAliases(toolType) {
|
|
|
2741
2742
|
return Object.entries(toolAliasMap).filter(([_, value]) => value === toolType).map(([key]) => key);
|
|
2742
2743
|
}
|
|
2743
2744
|
function getToolLabel(toolType) {
|
|
2744
|
-
return
|
|
2745
|
+
return _chunkHIMEIPEDcjs.toolLabels[toolType] || toolType;
|
|
2745
2746
|
}
|
|
2746
2747
|
|
|
2747
2748
|
// src/types/shell.types.ts
|
|
@@ -2755,10 +2756,10 @@ var ShellTypeValues = {
|
|
|
2755
2756
|
SHELL: "SHELL"
|
|
2756
2757
|
};
|
|
2757
2758
|
var SHELL_TYPES = [
|
|
2758
|
-
{ id: ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon:
|
|
2759
|
+
{ id: ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon: _chunkVJTFBYVGcjs.PowershellLogoIcon },
|
|
2759
2760
|
{ id: ShellTypeValues.CMD, label: "Batch", value: "cmd", icon: _chunkEWIC26TWcjs.CmdIcon },
|
|
2760
2761
|
{ id: ShellTypeValues.BASH, label: "Bash", value: "bash", icon: _chunkEWIC26TWcjs.BashIcon },
|
|
2761
|
-
{ id: ShellTypeValues.PYTHON, label: "Python", value: "python", icon:
|
|
2762
|
+
{ id: ShellTypeValues.PYTHON, label: "Python", value: "python", icon: _chunkVJTFBYVGcjs.PythonLogoIcon },
|
|
2762
2763
|
{ id: ShellTypeValues.NUSHELL, label: "Nu", value: "nushell", icon: _chunkEWIC26TWcjs.NushellIcon },
|
|
2763
2764
|
{ id: ShellTypeValues.DENO, label: "Deno", value: "deno", icon: _chunkEWIC26TWcjs.DenoIcon },
|
|
2764
2765
|
{ id: ShellTypeValues.SHELL, label: "Shell", value: "shell", icon: _chunkEWIC26TWcjs.ShellIcon }
|
|
@@ -2797,7 +2798,7 @@ var OS_TYPES = [
|
|
|
2797
2798
|
id: OSTypeValues.MACOS,
|
|
2798
2799
|
label: "macOS",
|
|
2799
2800
|
value: OSTypeValues.MACOS,
|
|
2800
|
-
icon:
|
|
2801
|
+
icon: _chunkVJTFBYVGcjs.AppleLogoIcon,
|
|
2801
2802
|
platformId: "darwin",
|
|
2802
2803
|
aliases: ["darwin", "macos", "mac os", "osx", "os x", "mac"]
|
|
2803
2804
|
// Put more specific ones first, 'mac' last to avoid false matches
|
|
@@ -2806,7 +2807,7 @@ var OS_TYPES = [
|
|
|
2806
2807
|
id: OSTypeValues.WINDOWS,
|
|
2807
2808
|
label: "Windows",
|
|
2808
2809
|
value: OSTypeValues.WINDOWS,
|
|
2809
|
-
icon:
|
|
2810
|
+
icon: _chunkVJTFBYVGcjs.WindowsLogoIcon,
|
|
2810
2811
|
platformId: "windows",
|
|
2811
2812
|
aliases: ["windows", "win32", "win64", "win"]
|
|
2812
2813
|
// 'win' last since it's shortest
|
|
@@ -2815,7 +2816,7 @@ var OS_TYPES = [
|
|
|
2815
2816
|
id: OSTypeValues.LINUX,
|
|
2816
2817
|
label: "Linux",
|
|
2817
2818
|
value: OSTypeValues.LINUX,
|
|
2818
|
-
icon:
|
|
2819
|
+
icon: _chunkVJTFBYVGcjs.LinuxLogoIcon,
|
|
2819
2820
|
platformId: "linux",
|
|
2820
2821
|
aliases: ["linux", "ubuntu", "debian", "centos", "redhat", "fedora", "pop", "pop!_os", "arch", "manjaro"]
|
|
2821
2822
|
}
|
|
@@ -3093,68 +3094,12 @@ _chunkBJTOSUT4cjs.init_button2.call(void 0, );
|
|
|
3093
3094
|
|
|
3094
3095
|
|
|
3095
3096
|
|
|
3096
|
-
// src/components/ui/pulse-dots.tsx
|
|
3097
|
-
_chunkOFAYLG6Dcjs.init_cn.call(void 0, );
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
var dotAnimation = `
|
|
3101
|
-
@keyframes pulseDot {
|
|
3102
|
-
0%, 80%, 100% {
|
|
3103
|
-
transform: scale(1);
|
|
3104
|
-
opacity: 0.7;
|
|
3105
|
-
}
|
|
3106
|
-
40% {
|
|
3107
|
-
transform: scale(1.5);
|
|
3108
|
-
opacity: 1;
|
|
3109
|
-
}
|
|
3110
|
-
}
|
|
3111
|
-
`;
|
|
3112
|
-
var PulseDots = _react.forwardRef.call(void 0,
|
|
3113
|
-
({ className, size = "sm", dotClassName, ...props }, ref) => {
|
|
3114
|
-
const dotSize = size === "sm" ? "w-1 h-1" : "w-1.5 h-1.5";
|
|
3115
|
-
const containerHeight = size === "sm" ? "h-4" : "h-6";
|
|
3116
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3117
|
-
"div",
|
|
3118
|
-
{
|
|
3119
|
-
ref,
|
|
3120
|
-
className: _chunkOFAYLG6Dcjs.cn.call(void 0, "inline-flex items-center gap-0.5", containerHeight, className),
|
|
3121
|
-
...props,
|
|
3122
|
-
children: [
|
|
3123
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "style", { dangerouslySetInnerHTML: { __html: dotAnimation } }),
|
|
3124
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3125
|
-
"div",
|
|
3126
|
-
{
|
|
3127
|
-
className: _chunkOFAYLG6Dcjs.cn.call(void 0, dotSize, "rounded-full", dotClassName || "bg-ods-text-secondary"),
|
|
3128
|
-
style: { animation: "pulseDot 1.4s ease-in-out infinite", animationDelay: "0ms" }
|
|
3129
|
-
}
|
|
3130
|
-
),
|
|
3131
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3132
|
-
"div",
|
|
3133
|
-
{
|
|
3134
|
-
className: _chunkOFAYLG6Dcjs.cn.call(void 0, dotSize, "rounded-full", dotClassName || "bg-ods-text-secondary"),
|
|
3135
|
-
style: { animation: "pulseDot 1.4s ease-in-out infinite", animationDelay: "200ms" }
|
|
3136
|
-
}
|
|
3137
|
-
),
|
|
3138
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3139
|
-
"div",
|
|
3140
|
-
{
|
|
3141
|
-
className: _chunkOFAYLG6Dcjs.cn.call(void 0, dotSize, "rounded-full", dotClassName || "bg-ods-text-secondary"),
|
|
3142
|
-
style: { animation: "pulseDot 1.4s ease-in-out infinite", animationDelay: "400ms" }
|
|
3143
|
-
}
|
|
3144
|
-
)
|
|
3145
|
-
]
|
|
3146
|
-
}
|
|
3147
|
-
);
|
|
3148
|
-
}
|
|
3149
|
-
);
|
|
3150
|
-
PulseDots.displayName = "PulseDots";
|
|
3151
|
-
|
|
3152
3097
|
// src/components/chat/expand-chevron.tsx
|
|
3153
3098
|
_chunkOFAYLG6Dcjs.init_cn.call(void 0, );
|
|
3154
3099
|
|
|
3155
3100
|
function ExpandChevron({ expanded, className }) {
|
|
3156
3101
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3157
|
-
|
|
3102
|
+
_chunkVJTFBYVGcjs.Chevron02DownIcon,
|
|
3158
3103
|
{
|
|
3159
3104
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
3160
3105
|
"w-4 h-4 text-ods-text-secondary shrink-0 transition-transform duration-200",
|
|
@@ -3207,18 +3152,62 @@ _chunkOFAYLG6Dcjs.init_cn.call(void 0, );
|
|
|
3207
3152
|
|
|
3208
3153
|
// src/components/chat/utils/tool-call-helpers.ts
|
|
3209
3154
|
var COMMAND_BODY_ARG_KEYS = ["command", "query", "script", "scriptContent", "code"];
|
|
3210
|
-
function
|
|
3211
|
-
const args =
|
|
3155
|
+
function getToolCallTitle(opts) {
|
|
3156
|
+
const { args, title, name } = opts;
|
|
3212
3157
|
if (args && typeof args === "object") {
|
|
3213
|
-
const a = args;
|
|
3214
3158
|
for (const key of COMMAND_BODY_ARG_KEYS) {
|
|
3215
|
-
const candidate =
|
|
3159
|
+
const candidate = args[key];
|
|
3216
3160
|
if (typeof candidate === "string" && candidate.trim()) return candidate;
|
|
3217
3161
|
}
|
|
3218
3162
|
}
|
|
3219
|
-
return
|
|
3163
|
+
return title || name || "Tool call";
|
|
3164
|
+
}
|
|
3165
|
+
function getCommandText(call) {
|
|
3166
|
+
return getToolCallTitle({
|
|
3167
|
+
args: call.toolCallArguments,
|
|
3168
|
+
title: call.toolTitle,
|
|
3169
|
+
name: call.toolName
|
|
3170
|
+
});
|
|
3220
3171
|
}
|
|
3221
3172
|
var INLINE_STRING_MAX = 80;
|
|
3173
|
+
function expandJson(value, indent) {
|
|
3174
|
+
const pad = (n) => " ".repeat(n);
|
|
3175
|
+
if (value === null) return "null";
|
|
3176
|
+
const t = typeof value;
|
|
3177
|
+
if (t === "number" || t === "boolean" || t === "bigint") return String(value);
|
|
3178
|
+
if (t === "string") {
|
|
3179
|
+
const s = value.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
|
|
3180
|
+
if (!s.includes("\n")) return JSON.stringify(s);
|
|
3181
|
+
return s.replace(/^\n+/, "").replace(/\n+$/, "").split("\n").map((line) => pad(indent) + line).join("\n");
|
|
3182
|
+
}
|
|
3183
|
+
if (Array.isArray(value)) {
|
|
3184
|
+
if (value.length === 0) return "[]";
|
|
3185
|
+
const items = value.map(
|
|
3186
|
+
(v) => typeof v === "string" && /[\r\n]/.test(v) ? expandJson(v, indent + 1) : pad(indent + 1) + expandJson(v, indent + 1)
|
|
3187
|
+
);
|
|
3188
|
+
return "[\n" + items.join(",\n") + "\n" + pad(indent) + "]";
|
|
3189
|
+
}
|
|
3190
|
+
if (t === "object") {
|
|
3191
|
+
const entries = Object.entries(value);
|
|
3192
|
+
if (entries.length === 0) return "{}";
|
|
3193
|
+
const items = entries.map(([k, v]) => {
|
|
3194
|
+
const key = JSON.stringify(k);
|
|
3195
|
+
if (typeof v === "string" && /[\r\n]/.test(v)) {
|
|
3196
|
+
return pad(indent + 1) + key + ":\n" + expandJson(v, indent + 2);
|
|
3197
|
+
}
|
|
3198
|
+
return pad(indent + 1) + key + ": " + expandJson(v, indent + 1);
|
|
3199
|
+
});
|
|
3200
|
+
return "{\n" + items.join(",\n") + "\n" + pad(indent) + "}";
|
|
3201
|
+
}
|
|
3202
|
+
return JSON.stringify(value);
|
|
3203
|
+
}
|
|
3204
|
+
function expandedJsonStringify(value) {
|
|
3205
|
+
try {
|
|
3206
|
+
return expandJson(value, 0);
|
|
3207
|
+
} catch (e3) {
|
|
3208
|
+
return String(value);
|
|
3209
|
+
}
|
|
3210
|
+
}
|
|
3222
3211
|
function formatToolArgValue(value) {
|
|
3223
3212
|
if (value === null || value === void 0) return { kind: "inline", text: "" };
|
|
3224
3213
|
if (typeof value === "object") {
|
|
@@ -3228,8 +3217,8 @@ function formatToolArgValue(value) {
|
|
|
3228
3217
|
const trimmed = value.trim();
|
|
3229
3218
|
if (trimmed.startsWith("{") && trimmed.endsWith("}") || trimmed.startsWith("[") && trimmed.endsWith("]")) {
|
|
3230
3219
|
try {
|
|
3231
|
-
return { kind: "block", text:
|
|
3232
|
-
} catch (
|
|
3220
|
+
return { kind: "block", text: expandedJsonStringify(JSON.parse(trimmed)), language: "json" };
|
|
3221
|
+
} catch (e4) {
|
|
3233
3222
|
}
|
|
3234
3223
|
}
|
|
3235
3224
|
if (value.includes("\n") || value.length > INLINE_STRING_MAX) {
|
|
@@ -3240,11 +3229,7 @@ function formatToolArgValue(value) {
|
|
|
3240
3229
|
return { kind: "inline", text: String(value) };
|
|
3241
3230
|
}
|
|
3242
3231
|
function safeStringify(value) {
|
|
3243
|
-
|
|
3244
|
-
return JSON.stringify(value, null, 2);
|
|
3245
|
-
} catch (e4) {
|
|
3246
|
-
return String(value);
|
|
3247
|
-
}
|
|
3232
|
+
return expandedJsonStringify(value);
|
|
3248
3233
|
}
|
|
3249
3234
|
function formatToolResult(value) {
|
|
3250
3235
|
if (typeof value !== "string") return { kind: "inline", text: "" };
|
|
@@ -3253,7 +3238,7 @@ function formatToolResult(value) {
|
|
|
3253
3238
|
const trimmed = body.trim();
|
|
3254
3239
|
if (trimmed.startsWith("{") && trimmed.endsWith("}") || trimmed.startsWith("[") && trimmed.endsWith("]")) {
|
|
3255
3240
|
try {
|
|
3256
|
-
return { kind: "block", text:
|
|
3241
|
+
return { kind: "block", text: expandedJsonStringify(JSON.parse(trimmed)), language: "json" };
|
|
3257
3242
|
} catch (e5) {
|
|
3258
3243
|
}
|
|
3259
3244
|
}
|
|
@@ -3312,9 +3297,9 @@ function ExecutionStatusIcon({
|
|
|
3312
3297
|
execution
|
|
3313
3298
|
}) {
|
|
3314
3299
|
if (batchStatus !== "approved") return null;
|
|
3315
|
-
if (!execution || execution.status === "executing") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3316
|
-
if (execution.success === false) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3317
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3300
|
+
if (!execution || execution.status === "executing") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.DotsLoaderIcon, { size: 16, className: "text-ods-text-secondary" });
|
|
3301
|
+
if (execution.success === false) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.XmarkCircleIcon, { className: "w-4 h-4 text-ods-error" });
|
|
3302
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.CheckCircleIcon, { className: "w-4 h-4 text-ods-success" });
|
|
3318
3303
|
}
|
|
3319
3304
|
function ToolCallRow({ call, expanded, onToggle, batchStatus, execution }) {
|
|
3320
3305
|
const command = getCommandText(call);
|
|
@@ -3331,7 +3316,7 @@ function ToolCallRow({ call, expanded, onToggle, batchStatus, execution }) {
|
|
|
3331
3316
|
onClick: onToggle,
|
|
3332
3317
|
className: "flex gap-2 items-start w-full p-3 cursor-pointer text-left",
|
|
3333
3318
|
children: [
|
|
3334
|
-
/* @__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,
|
|
3319
|
+
/* @__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, _chunkHIMEIPEDcjs.ToolIcon, { toolType, size: 16 }) }),
|
|
3335
3320
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3336
3321
|
"div",
|
|
3337
3322
|
{
|
|
@@ -3466,7 +3451,7 @@ var ContextCompactionDisplay = _react.forwardRef.call(void 0,
|
|
|
3466
3451
|
...props,
|
|
3467
3452
|
children: [
|
|
3468
3453
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm font-medium text-ods-text-secondary flex-1 min-w-0", children: label }),
|
|
3469
|
-
isStarted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3454
|
+
isStarted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.DotsLoaderIcon, { size: 16, className: "text-ods-text-secondary" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.CheckCircleIcon, { className: "w-4 h-4 text-ods-success shrink-0" })
|
|
3470
3455
|
]
|
|
3471
3456
|
}
|
|
3472
3457
|
);
|
|
@@ -3603,7 +3588,7 @@ var MermaidDiagram = ({ chart }) => {
|
|
|
3603
3588
|
}, [chart, mounted]);
|
|
3604
3589
|
if (error) {
|
|
3605
3590
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "error-state bg-ods-card border border-ods-border rounded-lg p-6 my-6", children: [
|
|
3606
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "error-icon flex justify-center mb-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3591
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "error-icon flex justify-center mb-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.AlertCircleIcon, { className: "w-12 h-12 text-ods-error" }) }),
|
|
3607
3592
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "error-title text-center font-sans font-semibold text-lg text-ods-error mb-2", children: "Diagram Error" }),
|
|
3608
3593
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "error-description text-center font-sans text-sm text-ods-text-secondary mb-4 break-words overflow-hidden max-w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "pre", { className: "whitespace-pre-wrap break-words text-xs", children: error }) }) })
|
|
3609
3594
|
] });
|
|
@@ -3968,7 +3953,7 @@ var ThinkingDisplay = _react.forwardRef.call(void 0,
|
|
|
3968
3953
|
label,
|
|
3969
3954
|
":"
|
|
3970
3955
|
] }),
|
|
3971
|
-
isStreaming && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3956
|
+
isStreaming && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.DotsLoaderIcon, { size: 16, className: "text-ods-text-secondary" })
|
|
3972
3957
|
] }),
|
|
3973
3958
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 min-w-0", style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3974
3959
|
"div",
|
|
@@ -4167,7 +4152,7 @@ var STATUS_CONFIG = {
|
|
|
4167
4152
|
RESOLVED: {
|
|
4168
4153
|
label: "Resolved",
|
|
4169
4154
|
variant: "outline",
|
|
4170
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4155
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.CheckCircleIcon, { size: 16, color: "var(--ods-attention-green-success)" })
|
|
4171
4156
|
},
|
|
4172
4157
|
ARCHIVED: {
|
|
4173
4158
|
label: "Archived",
|
|
@@ -4292,7 +4277,7 @@ var ChatHeader = React11.forwardRef(
|
|
|
4292
4277
|
variant: "transparent",
|
|
4293
4278
|
size: "icon",
|
|
4294
4279
|
"aria-label": "Back",
|
|
4295
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4280
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Chevron02LeftIcon, { size: 24, className: "text-ods-text-primary" }),
|
|
4296
4281
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
4297
4282
|
cardClasses,
|
|
4298
4283
|
"absolute -translate-y-1/2 right-full mr-3 my-6 hover:bg-ods-bg-hover"
|
|
@@ -4341,7 +4326,7 @@ var ChatHeader = React11.forwardRef(
|
|
|
4341
4326
|
size: "small-legacy",
|
|
4342
4327
|
"aria-label": "Close",
|
|
4343
4328
|
className: "text-ods-text-muted hover:text-ods-text-primary hover:bg-ods-bg-hover !p-1.5",
|
|
4344
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4329
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.XmarkIcon, { size: 16 })
|
|
4345
4330
|
}
|
|
4346
4331
|
),
|
|
4347
4332
|
headerActions
|
|
@@ -4526,7 +4511,7 @@ var ChatTypingIndicator = React13.forwardRef(
|
|
|
4526
4511
|
md: "h-6",
|
|
4527
4512
|
lg: "h-8"
|
|
4528
4513
|
};
|
|
4529
|
-
const
|
|
4514
|
+
const dotAnimation = `
|
|
4530
4515
|
@keyframes dotPulse {
|
|
4531
4516
|
0%, 80%, 100% {
|
|
4532
4517
|
transform: scale(1);
|
|
@@ -4545,7 +4530,7 @@ var ChatTypingIndicator = React13.forwardRef(
|
|
|
4545
4530
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0, "flex items-center gap-2", className),
|
|
4546
4531
|
...props,
|
|
4547
4532
|
children: [
|
|
4548
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "style", { dangerouslySetInnerHTML: { __html:
|
|
4533
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "style", { dangerouslySetInnerHTML: { __html: dotAnimation } }),
|
|
4549
4534
|
showText && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: "Assistant is typing" }),
|
|
4550
4535
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
4551
4536
|
"inline-flex items-center justify-center gap-1",
|
|
@@ -4970,7 +4955,7 @@ var ChatInput = _react.forwardRef.call(void 0,
|
|
|
4970
4955
|
placeholder: disabled ? "Connection lost. Waiting to reconnect..." : placeholder,
|
|
4971
4956
|
disabled: sending || disabled,
|
|
4972
4957
|
rows: 1,
|
|
4973
|
-
endIcon: isStopMode ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4958
|
+
endIcon: isStopMode ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.StopCircleIcon, { size: 20 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Send01Icon, { size: 20 }),
|
|
4974
4959
|
endIconAsButton: true,
|
|
4975
4960
|
endIconButtonProps: {
|
|
4976
4961
|
onClick: isStopMode ? handleStop : handleSubmit,
|
|
@@ -4992,91 +4977,6 @@ ChatInput.displayName = "ChatInput";
|
|
|
4992
4977
|
_chunkOFAYLG6Dcjs.init_cn.call(void 0, );
|
|
4993
4978
|
|
|
4994
4979
|
|
|
4995
|
-
// src/components/chat/cycling-phrase.tsx
|
|
4996
|
-
_chunkOFAYLG6Dcjs.init_cn.call(void 0, );
|
|
4997
|
-
|
|
4998
|
-
|
|
4999
|
-
var BLINK_KEYFRAMES = `
|
|
5000
|
-
@keyframes cyclingCursorBlink {
|
|
5001
|
-
50% { opacity: 0; }
|
|
5002
|
-
}
|
|
5003
|
-
`;
|
|
5004
|
-
function CyclingPhrase({
|
|
5005
|
-
words,
|
|
5006
|
-
className,
|
|
5007
|
-
charMs = 60,
|
|
5008
|
-
holdMs = 4500
|
|
5009
|
-
}) {
|
|
5010
|
-
const [wordIndex, setWordIndex] = _react.useState.call(void 0, 0);
|
|
5011
|
-
const [text, setText] = _react.useState.call(void 0, "");
|
|
5012
|
-
const [cursor, setCursor] = _react.useState.call(void 0, 0);
|
|
5013
|
-
const [holding, setHolding] = _react.useState.call(void 0, false);
|
|
5014
|
-
const placeholder = _react.useMemo.call(void 0,
|
|
5015
|
-
() => words.reduce((longest, w) => w.length > longest.length ? w : longest, ""),
|
|
5016
|
-
[words]
|
|
5017
|
-
);
|
|
5018
|
-
_react.useEffect.call(void 0, () => {
|
|
5019
|
-
if (words.length === 0) return;
|
|
5020
|
-
const target = words[wordIndex];
|
|
5021
|
-
let timeoutId;
|
|
5022
|
-
if (holding) {
|
|
5023
|
-
timeoutId = setTimeout(() => {
|
|
5024
|
-
setWordIndex((i) => (i + 1) % words.length);
|
|
5025
|
-
setCursor(0);
|
|
5026
|
-
setHolding(false);
|
|
5027
|
-
}, holdMs);
|
|
5028
|
-
return () => clearTimeout(timeoutId);
|
|
5029
|
-
}
|
|
5030
|
-
const maxLen = Math.max(text.length, target.length);
|
|
5031
|
-
if (cursor >= maxLen) {
|
|
5032
|
-
if (text !== target) setText(target);
|
|
5033
|
-
setHolding(true);
|
|
5034
|
-
return;
|
|
5035
|
-
}
|
|
5036
|
-
timeoutId = setTimeout(() => {
|
|
5037
|
-
setText((prev) => {
|
|
5038
|
-
if (cursor < target.length) {
|
|
5039
|
-
return target.slice(0, cursor + 1) + prev.slice(cursor + 1);
|
|
5040
|
-
}
|
|
5041
|
-
return prev.slice(0, cursor);
|
|
5042
|
-
});
|
|
5043
|
-
setCursor((c) => c + 1);
|
|
5044
|
-
}, charMs);
|
|
5045
|
-
return () => clearTimeout(timeoutId);
|
|
5046
|
-
}, [wordIndex, cursor, text, holding, words, charMs, holdMs]);
|
|
5047
|
-
if (words.length === 0) return null;
|
|
5048
|
-
const before = text.slice(0, cursor);
|
|
5049
|
-
const after = text.slice(cursor);
|
|
5050
|
-
const cursorBlock = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5051
|
-
"span",
|
|
5052
|
-
{
|
|
5053
|
-
"aria-hidden": true,
|
|
5054
|
-
className: "inline-block bg-current align-baseline",
|
|
5055
|
-
style: {
|
|
5056
|
-
width: "0.6em",
|
|
5057
|
-
height: "1em",
|
|
5058
|
-
verticalAlign: "-0.1em",
|
|
5059
|
-
marginLeft: "1px",
|
|
5060
|
-
marginRight: "1px",
|
|
5061
|
-
animation: "cyclingCursorBlink 1s steps(1) infinite"
|
|
5062
|
-
}
|
|
5063
|
-
}
|
|
5064
|
-
);
|
|
5065
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "relative inline-block whitespace-nowrap", className), children: [
|
|
5066
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "style", { dangerouslySetInnerHTML: { __html: BLINK_KEYFRAMES } }),
|
|
5067
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { "aria-hidden": true, className: "invisible", children: [
|
|
5068
|
-
placeholder,
|
|
5069
|
-
"..."
|
|
5070
|
-
] }),
|
|
5071
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "absolute inset-0 inline-flex items-baseline", "aria-live": "polite", children: [
|
|
5072
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: before }),
|
|
5073
|
-
!holding && cursorBlock,
|
|
5074
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: after }),
|
|
5075
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "..." })
|
|
5076
|
-
] })
|
|
5077
|
-
] });
|
|
5078
|
-
}
|
|
5079
|
-
|
|
5080
4980
|
// src/components/chat/tool-execution-display.tsx
|
|
5081
4981
|
_chunkOFAYLG6Dcjs.init_cn.call(void 0, );
|
|
5082
4982
|
|
|
@@ -5089,11 +4989,14 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
5089
4989
|
const isExecuting = message.type === "EXECUTING_TOOL";
|
|
5090
4990
|
const isExecuted = message.type === "EXECUTED_TOOL";
|
|
5091
4991
|
const integratedToolType = message.integratedToolType || "OPENFRAME";
|
|
5092
|
-
const previewText = _react.useMemo.call(void 0,
|
|
5093
|
-
|
|
5094
|
-
|
|
5095
|
-
|
|
5096
|
-
|
|
4992
|
+
const previewText = _react.useMemo.call(void 0,
|
|
4993
|
+
() => getToolCallTitle({
|
|
4994
|
+
args: message.parameters,
|
|
4995
|
+
title: message.toolTitle,
|
|
4996
|
+
name: message.toolFunction
|
|
4997
|
+
}),
|
|
4998
|
+
[message.parameters, message.toolTitle, message.toolFunction]
|
|
4999
|
+
);
|
|
5097
5000
|
const argEntries = _react.useMemo.call(void 0, () => {
|
|
5098
5001
|
if (!message.parameters || typeof message.parameters !== "object") return [];
|
|
5099
5002
|
return Object.entries(message.parameters).filter(
|
|
@@ -5103,9 +5006,9 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
5103
5006
|
const hasResult = isExecuted && typeof message.result === "string" && message.result.length > 0;
|
|
5104
5007
|
const hasBody = argEntries.length > 0 || hasResult || isExecuting;
|
|
5105
5008
|
const renderStatusIcon = () => {
|
|
5106
|
-
if (isExecuting) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5107
|
-
if (isExecuted && message.success === true) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5108
|
-
if (isExecuted && message.success === false) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5009
|
+
if (isExecuting) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.DotsLoaderIcon, { size: 16, className: "text-ods-text-secondary" });
|
|
5010
|
+
if (isExecuted && message.success === true) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.CheckCircleIcon, { className: "w-4 h-4 text-ods-success" });
|
|
5011
|
+
if (isExecuted && message.success === false) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.XmarkCircleIcon, { className: "w-4 h-4 text-ods-error" });
|
|
5109
5012
|
return null;
|
|
5110
5013
|
};
|
|
5111
5014
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -5125,7 +5028,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
5125
5028
|
className: "flex gap-[var(--spacing-system-xs)] items-start p-[var(--spacing-system-s)] cursor-pointer text-left w-full",
|
|
5126
5029
|
onClick: () => setExpanded((prev) => !prev),
|
|
5127
5030
|
children: [
|
|
5128
|
-
/* @__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,
|
|
5031
|
+
/* @__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, _chunkHIMEIPEDcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
|
|
5129
5032
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5130
5033
|
"div",
|
|
5131
5034
|
{
|
|
@@ -5133,7 +5036,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
5133
5036
|
"flex-1 min-w-0 text-sm font-medium leading-5",
|
|
5134
5037
|
expanded ? "text-ods-text-primary whitespace-pre-wrap break-all" : "text-ods-text-secondary line-clamp-2 max-h-10 break-all"
|
|
5135
5038
|
),
|
|
5136
|
-
children:
|
|
5039
|
+
children: previewText
|
|
5137
5040
|
}
|
|
5138
5041
|
),
|
|
5139
5042
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: renderStatusIcon() }),
|
|
@@ -5146,7 +5049,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
5146
5049
|
hasResult && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ResultBlock, { result: message.result }),
|
|
5147
5050
|
isExecuting && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-1 items-start w-full", children: [
|
|
5148
5051
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary", children: "Result:" }),
|
|
5149
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5052
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.DotsLoaderIcon, { size: 16, className: "text-ods-text-secondary" })
|
|
5150
5053
|
] })
|
|
5151
5054
|
] }) }) })
|
|
5152
5055
|
]
|
|
@@ -5210,18 +5113,6 @@ function normalizeContent(content) {
|
|
|
5210
5113
|
}
|
|
5211
5114
|
return content;
|
|
5212
5115
|
}
|
|
5213
|
-
var STREAMING_WORDS = [
|
|
5214
|
-
"Thinking",
|
|
5215
|
-
"Vibing",
|
|
5216
|
-
"Mingoing",
|
|
5217
|
-
"Strutting",
|
|
5218
|
-
"Pondering",
|
|
5219
|
-
"Wading",
|
|
5220
|
-
"Hatching",
|
|
5221
|
-
"Preening",
|
|
5222
|
-
"Conjuring",
|
|
5223
|
-
"Riffing"
|
|
5224
|
-
];
|
|
5225
5116
|
var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
5226
5117
|
({ className, role, content, name, avatar, isTyping = false, timestamp, showAvatar = true, assistantType, authorType: authorTypeProp, assistantIcon, chatRefs, renderEntityCard, ...props }, ref) => {
|
|
5227
5118
|
const isUser = role === "user";
|
|
@@ -5267,7 +5158,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
5267
5158
|
const refMatch = refs[key];
|
|
5268
5159
|
inlineByKey.set(
|
|
5269
5160
|
key,
|
|
5270
|
-
props2.inline != null ? props2.inline : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-medium", children: _nullishCoalesce(_optionalChain([refMatch, 'optionalAccess',
|
|
5161
|
+
props2.inline != null ? props2.inline : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-medium", children: _nullishCoalesce(_optionalChain([refMatch, 'optionalAccess', _92 => _92.title]), () => ( cardId)) })
|
|
5271
5162
|
);
|
|
5272
5163
|
} else if (rendered != null) {
|
|
5273
5164
|
inlineByKey.set(key, rendered);
|
|
@@ -5285,7 +5176,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
5285
5176
|
const cardComponentOverrides = _react.useMemo.call(void 0, () => {
|
|
5286
5177
|
if (!hasMarkerSupport) return void 0;
|
|
5287
5178
|
const refs = _nullishCoalesce(chatRefs, () => ( {}));
|
|
5288
|
-
const inlineByKey = _optionalChain([renderingPlan, 'optionalAccess',
|
|
5179
|
+
const inlineByKey = _optionalChain([renderingPlan, 'optionalAccess', _93 => _93.inlineByKey]);
|
|
5289
5180
|
return {
|
|
5290
5181
|
// Override `<a>` to detect `card://` URLs emitted by `remarkCardLinks`.
|
|
5291
5182
|
// The render result was pre-computed in `renderingPlan` so block-level
|
|
@@ -5300,10 +5191,10 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
5300
5191
|
const cardType = stripped.slice(0, sepIdx);
|
|
5301
5192
|
const cardId = stripped.slice(sepIdx + 1);
|
|
5302
5193
|
const key = `${cardType}:${cardId}`;
|
|
5303
|
-
const inline = _optionalChain([inlineByKey, 'optionalAccess',
|
|
5194
|
+
const inline = _optionalChain([inlineByKey, 'optionalAccess', _94 => _94.get, 'call', _95 => _95(key)]);
|
|
5304
5195
|
if (inline != null) return inline;
|
|
5305
5196
|
const refMatch = refs[key];
|
|
5306
|
-
const fallbackTitle = _nullishCoalesce(_nullishCoalesce(_optionalChain([refMatch, 'optionalAccess',
|
|
5197
|
+
const fallbackTitle = _nullishCoalesce(_nullishCoalesce(_optionalChain([refMatch, 'optionalAccess', _96 => _96.title]), () => ( _optionalChain([Object, 'access', _97 => _97.values, 'call', _98 => _98(refs), 'access', _99 => _99.find, 'call', _100 => _100((r) => r.type === cardType), 'optionalAccess', _101 => _101.title]))), () => ( cardId));
|
|
5307
5198
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary", children: fallbackTitle });
|
|
5308
5199
|
}
|
|
5309
5200
|
}
|
|
@@ -5339,8 +5230,6 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
5339
5230
|
};
|
|
5340
5231
|
const avatarProps = getAvatarProps();
|
|
5341
5232
|
const isSystem = authorType === "system";
|
|
5342
|
-
const lastSegment = segments[segments.length - 1];
|
|
5343
|
-
const isPausedOnApproval = !!lastSegment && (lastSegment.type === "approval_request" || lastSegment.type === "approval_batch") && (lastSegment.status === void 0 || lastSegment.status === "pending");
|
|
5344
5233
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
5345
5234
|
"div",
|
|
5346
5235
|
{
|
|
@@ -5369,111 +5258,99 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
5369
5258
|
] }),
|
|
5370
5259
|
timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-sans text-heading-5 font-medium text-ods-text-secondary shrink-0 whitespace-nowrap", children: timestamp.toLocaleTimeString([], { hour: "numeric", minute: "2-digit" }) })
|
|
5371
5260
|
] }),
|
|
5372
|
-
(!isSystem || segments.length > 0) && /* @__PURE__ */ _jsxruntime.
|
|
5373
|
-
|
|
5374
|
-
|
|
5375
|
-
|
|
5376
|
-
|
|
5377
|
-
|
|
5378
|
-
|
|
5379
|
-
|
|
5380
|
-
|
|
5381
|
-
|
|
5261
|
+
(!isSystem || segments.length > 0) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-2", children: segments.map((segment, index) => {
|
|
5262
|
+
if (segment.type === "text") {
|
|
5263
|
+
const parts = _optionalChain([renderingPlan, 'optionalAccess', _102 => _102.partsBySegment, 'access', _103 => _103.get, 'call', _104 => _104(index)]);
|
|
5264
|
+
const wrapperClass = _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
5265
|
+
"min-w-0 w-full break-words text-h4",
|
|
5266
|
+
isError ? "text-ods-error" : "text-ods-text-primary"
|
|
5267
|
+
);
|
|
5268
|
+
if (!parts || parts.length === 0) {
|
|
5269
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: wrapperClass, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5270
|
+
SimpleMarkdownRenderer,
|
|
5271
|
+
{
|
|
5272
|
+
content: segment.text,
|
|
5273
|
+
textSize: "compact",
|
|
5274
|
+
additionalRemarkPlugins: cardRemarkPlugins,
|
|
5275
|
+
componentOverrides: cardComponentOverrides
|
|
5276
|
+
}
|
|
5277
|
+
) }, index);
|
|
5278
|
+
}
|
|
5279
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: wrapperClass, children: parts.map((part, pIdx) => {
|
|
5280
|
+
if (part.kind === "text") {
|
|
5281
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5382
5282
|
SimpleMarkdownRenderer,
|
|
5383
5283
|
{
|
|
5384
|
-
content:
|
|
5284
|
+
content: part.text,
|
|
5385
5285
|
textSize: "compact",
|
|
5386
5286
|
additionalRemarkPlugins: cardRemarkPlugins,
|
|
5387
5287
|
componentOverrides: cardComponentOverrides
|
|
5388
|
-
}
|
|
5389
|
-
|
|
5288
|
+
},
|
|
5289
|
+
`t-${pIdx}`
|
|
5290
|
+
);
|
|
5390
5291
|
}
|
|
5391
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
5392
|
-
|
|
5393
|
-
|
|
5394
|
-
|
|
5395
|
-
|
|
5396
|
-
content: part.text,
|
|
5397
|
-
textSize: "compact",
|
|
5398
|
-
additionalRemarkPlugins: cardRemarkPlugins,
|
|
5399
|
-
componentOverrides: cardComponentOverrides
|
|
5400
|
-
},
|
|
5401
|
-
`t-${pIdx}`
|
|
5402
|
-
);
|
|
5403
|
-
}
|
|
5404
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "my-3", children: part.node }, `b-${part.key}`);
|
|
5405
|
-
}) }, index);
|
|
5406
|
-
} else if (segment.type === "tool_execution") {
|
|
5407
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5408
|
-
ToolExecutionDisplay,
|
|
5409
|
-
{
|
|
5410
|
-
message: segment.data
|
|
5411
|
-
},
|
|
5412
|
-
index
|
|
5413
|
-
);
|
|
5414
|
-
} else if (segment.type === "approval_request") {
|
|
5415
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5416
|
-
ApprovalRequestMessage,
|
|
5417
|
-
{
|
|
5418
|
-
data: segment.data,
|
|
5419
|
-
status: segment.status,
|
|
5420
|
-
onApprove: segment.onApprove,
|
|
5421
|
-
onReject: segment.onReject
|
|
5422
|
-
},
|
|
5423
|
-
index
|
|
5424
|
-
);
|
|
5425
|
-
} else if (segment.type === "approval_batch") {
|
|
5426
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5427
|
-
ApprovalBatchMessage,
|
|
5428
|
-
{
|
|
5429
|
-
data: segment.data,
|
|
5430
|
-
status: segment.status,
|
|
5431
|
-
onApprove: segment.onApprove,
|
|
5432
|
-
onReject: segment.onReject
|
|
5433
|
-
},
|
|
5434
|
-
index
|
|
5435
|
-
);
|
|
5436
|
-
} else if (segment.type === "error") {
|
|
5437
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5438
|
-
ErrorMessageDisplay,
|
|
5439
|
-
{
|
|
5440
|
-
title: segment.title,
|
|
5441
|
-
details: segment.details
|
|
5442
|
-
},
|
|
5443
|
-
index
|
|
5444
|
-
);
|
|
5445
|
-
} else if (segment.type === "context_compaction") {
|
|
5446
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5447
|
-
ContextCompactionDisplay,
|
|
5448
|
-
{
|
|
5449
|
-
status: segment.status
|
|
5450
|
-
},
|
|
5451
|
-
index
|
|
5452
|
-
);
|
|
5453
|
-
} else if (segment.type === "thinking") {
|
|
5454
|
-
const isStreaming = index === segments.length - 1 && isTyping;
|
|
5455
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5456
|
-
ThinkingDisplay,
|
|
5457
|
-
{
|
|
5458
|
-
text: segment.text,
|
|
5459
|
-
isStreaming
|
|
5460
|
-
},
|
|
5461
|
-
index
|
|
5462
|
-
);
|
|
5463
|
-
}
|
|
5464
|
-
return null;
|
|
5465
|
-
}),
|
|
5466
|
-
isTyping && !isPausedOnApproval && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
5467
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatTypingIndicator, {}),
|
|
5468
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5469
|
-
CyclingPhrase,
|
|
5292
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "my-3", children: part.node }, `b-${part.key}`);
|
|
5293
|
+
}) }, index);
|
|
5294
|
+
} else if (segment.type === "tool_execution") {
|
|
5295
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5296
|
+
ToolExecutionDisplay,
|
|
5470
5297
|
{
|
|
5471
|
-
|
|
5472
|
-
|
|
5473
|
-
|
|
5474
|
-
)
|
|
5475
|
-
|
|
5476
|
-
|
|
5298
|
+
message: segment.data
|
|
5299
|
+
},
|
|
5300
|
+
index
|
|
5301
|
+
);
|
|
5302
|
+
} else if (segment.type === "approval_request") {
|
|
5303
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5304
|
+
ApprovalRequestMessage,
|
|
5305
|
+
{
|
|
5306
|
+
data: segment.data,
|
|
5307
|
+
status: segment.status,
|
|
5308
|
+
onApprove: segment.onApprove,
|
|
5309
|
+
onReject: segment.onReject
|
|
5310
|
+
},
|
|
5311
|
+
index
|
|
5312
|
+
);
|
|
5313
|
+
} else if (segment.type === "approval_batch") {
|
|
5314
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5315
|
+
ApprovalBatchMessage,
|
|
5316
|
+
{
|
|
5317
|
+
data: segment.data,
|
|
5318
|
+
status: segment.status,
|
|
5319
|
+
onApprove: segment.onApprove,
|
|
5320
|
+
onReject: segment.onReject
|
|
5321
|
+
},
|
|
5322
|
+
index
|
|
5323
|
+
);
|
|
5324
|
+
} else if (segment.type === "error") {
|
|
5325
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5326
|
+
ErrorMessageDisplay,
|
|
5327
|
+
{
|
|
5328
|
+
title: segment.title,
|
|
5329
|
+
details: segment.details
|
|
5330
|
+
},
|
|
5331
|
+
index
|
|
5332
|
+
);
|
|
5333
|
+
} else if (segment.type === "context_compaction") {
|
|
5334
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5335
|
+
ContextCompactionDisplay,
|
|
5336
|
+
{
|
|
5337
|
+
status: segment.status
|
|
5338
|
+
},
|
|
5339
|
+
index
|
|
5340
|
+
);
|
|
5341
|
+
} else if (segment.type === "thinking") {
|
|
5342
|
+
const isStreaming = index === segments.length - 1 && isTyping;
|
|
5343
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5344
|
+
ThinkingDisplay,
|
|
5345
|
+
{
|
|
5346
|
+
text: segment.text,
|
|
5347
|
+
isStreaming
|
|
5348
|
+
},
|
|
5349
|
+
index
|
|
5350
|
+
);
|
|
5351
|
+
}
|
|
5352
|
+
return null;
|
|
5353
|
+
}) })
|
|
5477
5354
|
] })
|
|
5478
5355
|
]
|
|
5479
5356
|
}
|
|
@@ -5482,7 +5359,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
5482
5359
|
);
|
|
5483
5360
|
ChatMessageEnhanced.displayName = "ChatMessageEnhanced";
|
|
5484
5361
|
var MemoizedChatMessageEnhanced = _react.memo.call(void 0, ChatMessageEnhanced, (prevProps, nextProps) => {
|
|
5485
|
-
return prevProps.role === nextProps.role && prevProps.content === nextProps.content && prevProps.name === nextProps.name && prevProps.avatar === nextProps.avatar && prevProps.isTyping === nextProps.isTyping && _optionalChain([prevProps, 'access',
|
|
5362
|
+
return prevProps.role === nextProps.role && prevProps.content === nextProps.content && prevProps.name === nextProps.name && prevProps.avatar === nextProps.avatar && prevProps.isTyping === nextProps.isTyping && _optionalChain([prevProps, 'access', _105 => _105.timestamp, 'optionalAccess', _106 => _106.getTime, 'call', _107 => _107()]) === _optionalChain([nextProps, 'access', _108 => _108.timestamp, 'optionalAccess', _109 => _109.getTime, 'call', _110 => _110()]) && prevProps.showAvatar === nextProps.showAvatar && prevProps.assistantType === nextProps.assistantType && prevProps.authorType === nextProps.authorType && prevProps.assistantIcon === nextProps.assistantIcon && prevProps.className === nextProps.className && // Reference equality on chatRefs is sufficient — the host's hooks should
|
|
5486
5363
|
// re-use the same Record instance per turn; mutations create a new map.
|
|
5487
5364
|
// Without this check, a parent re-render with a new (but equivalent)
|
|
5488
5365
|
// refs object would force a full markdown re-render every keystroke.
|
|
@@ -5570,8 +5447,105 @@ function ChatMessageListSkeleton({
|
|
|
5570
5447
|
) });
|
|
5571
5448
|
}
|
|
5572
5449
|
|
|
5450
|
+
// src/components/chat/cycling-phrase.tsx
|
|
5451
|
+
_chunkOFAYLG6Dcjs.init_cn.call(void 0, );
|
|
5452
|
+
|
|
5453
|
+
|
|
5454
|
+
var BLINK_KEYFRAMES = `
|
|
5455
|
+
@keyframes cyclingCursorBlink {
|
|
5456
|
+
50% { opacity: 0; }
|
|
5457
|
+
}
|
|
5458
|
+
`;
|
|
5459
|
+
function CyclingPhrase({
|
|
5460
|
+
words,
|
|
5461
|
+
className,
|
|
5462
|
+
charMs = 60,
|
|
5463
|
+
holdMs = 4500
|
|
5464
|
+
}) {
|
|
5465
|
+
const [wordIndex, setWordIndex] = _react.useState.call(void 0, 0);
|
|
5466
|
+
const [text, setText] = _react.useState.call(void 0, "");
|
|
5467
|
+
const [cursor, setCursor] = _react.useState.call(void 0, 0);
|
|
5468
|
+
const [holding, setHolding] = _react.useState.call(void 0, false);
|
|
5469
|
+
const placeholder = _react.useMemo.call(void 0,
|
|
5470
|
+
() => words.reduce((longest, w) => w.length > longest.length ? w : longest, ""),
|
|
5471
|
+
[words]
|
|
5472
|
+
);
|
|
5473
|
+
_react.useEffect.call(void 0, () => {
|
|
5474
|
+
if (words.length === 0) return;
|
|
5475
|
+
const target = words[wordIndex];
|
|
5476
|
+
let timeoutId;
|
|
5477
|
+
if (holding) {
|
|
5478
|
+
timeoutId = setTimeout(() => {
|
|
5479
|
+
setWordIndex((i) => (i + 1) % words.length);
|
|
5480
|
+
setCursor(0);
|
|
5481
|
+
setHolding(false);
|
|
5482
|
+
}, holdMs);
|
|
5483
|
+
return () => clearTimeout(timeoutId);
|
|
5484
|
+
}
|
|
5485
|
+
const maxLen = Math.max(text.length, target.length);
|
|
5486
|
+
if (cursor >= maxLen) {
|
|
5487
|
+
if (text !== target) setText(target);
|
|
5488
|
+
setHolding(true);
|
|
5489
|
+
return;
|
|
5490
|
+
}
|
|
5491
|
+
timeoutId = setTimeout(() => {
|
|
5492
|
+
setText((prev) => {
|
|
5493
|
+
if (cursor < target.length) {
|
|
5494
|
+
return target.slice(0, cursor + 1) + prev.slice(cursor + 1);
|
|
5495
|
+
}
|
|
5496
|
+
return prev.slice(0, cursor);
|
|
5497
|
+
});
|
|
5498
|
+
setCursor((c) => c + 1);
|
|
5499
|
+
}, charMs);
|
|
5500
|
+
return () => clearTimeout(timeoutId);
|
|
5501
|
+
}, [wordIndex, cursor, text, holding, words, charMs, holdMs]);
|
|
5502
|
+
if (words.length === 0) return null;
|
|
5503
|
+
const before = text.slice(0, cursor);
|
|
5504
|
+
const after = text.slice(cursor);
|
|
5505
|
+
const cursorBlock = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5506
|
+
"span",
|
|
5507
|
+
{
|
|
5508
|
+
"aria-hidden": true,
|
|
5509
|
+
className: "inline-block bg-current align-baseline",
|
|
5510
|
+
style: {
|
|
5511
|
+
width: "0.6em",
|
|
5512
|
+
height: "1em",
|
|
5513
|
+
verticalAlign: "-0.1em",
|
|
5514
|
+
marginLeft: "1px",
|
|
5515
|
+
marginRight: "1px",
|
|
5516
|
+
animation: "cyclingCursorBlink 1s steps(1) infinite"
|
|
5517
|
+
}
|
|
5518
|
+
}
|
|
5519
|
+
);
|
|
5520
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "relative inline-block whitespace-nowrap", className), children: [
|
|
5521
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "style", { dangerouslySetInnerHTML: { __html: BLINK_KEYFRAMES } }),
|
|
5522
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { "aria-hidden": true, className: "invisible", children: [
|
|
5523
|
+
placeholder,
|
|
5524
|
+
"..."
|
|
5525
|
+
] }),
|
|
5526
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "absolute inset-0 inline-flex items-baseline", "aria-live": "polite", children: [
|
|
5527
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: before }),
|
|
5528
|
+
!holding && cursorBlock,
|
|
5529
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: after }),
|
|
5530
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "..." })
|
|
5531
|
+
] })
|
|
5532
|
+
] });
|
|
5533
|
+
}
|
|
5534
|
+
|
|
5573
5535
|
// src/components/chat/chat-message-list.tsx
|
|
5574
5536
|
|
|
5537
|
+
var STREAMING_WORDS = [
|
|
5538
|
+
"Thinking",
|
|
5539
|
+
"Vibing",
|
|
5540
|
+
"Mingoing",
|
|
5541
|
+
"Strutting",
|
|
5542
|
+
"Pondering",
|
|
5543
|
+
"Wading",
|
|
5544
|
+
"Hatching",
|
|
5545
|
+
"Preening",
|
|
5546
|
+
"Conjuring",
|
|
5547
|
+
"Riffing"
|
|
5548
|
+
];
|
|
5575
5549
|
var ChatMessageList = _react.forwardRef.call(void 0,
|
|
5576
5550
|
({
|
|
5577
5551
|
className,
|
|
@@ -5607,7 +5581,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5607
5581
|
const dialogChanged = dialogId !== prevRenderRef.current.dialogId;
|
|
5608
5582
|
const prevCount = prevRenderRef.current.messageCount;
|
|
5609
5583
|
const newCount = messages.length;
|
|
5610
|
-
const currentLastId = _optionalChain([messages, 'access',
|
|
5584
|
+
const currentLastId = _optionalChain([messages, 'access', _111 => _111[messages.length - 1], 'optionalAccess', _112 => _112.id]);
|
|
5611
5585
|
prevRenderRef.current = { dialogId, messageCount: newCount, lastMessageId: currentLastId };
|
|
5612
5586
|
if (dialogChanged) {
|
|
5613
5587
|
void scrollToBottom({ animation: "instant", ignoreEscapes: true });
|
|
@@ -5631,8 +5605,8 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5631
5605
|
prependRef.current = { firstMessageId: void 0, firstMessageContent: void 0, scrollHeight: 0 };
|
|
5632
5606
|
return;
|
|
5633
5607
|
}
|
|
5634
|
-
const currentFirstId = _optionalChain([messages, 'access',
|
|
5635
|
-
const currentFirstContent = _optionalChain([messages, 'access',
|
|
5608
|
+
const currentFirstId = _optionalChain([messages, 'access', _113 => _113[0], 'optionalAccess', _114 => _114.id]);
|
|
5609
|
+
const currentFirstContent = _optionalChain([messages, 'access', _115 => _115[0], 'optionalAccess', _116 => _116.content]);
|
|
5636
5610
|
const prevFirstId = prependRef.current.firstMessageId;
|
|
5637
5611
|
const prevHeight = prependRef.current.scrollHeight;
|
|
5638
5612
|
if (currentFirstId !== prevFirstId) {
|
|
@@ -5664,7 +5638,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5664
5638
|
const entry = entries[0];
|
|
5665
5639
|
if (!entry) return;
|
|
5666
5640
|
if (entry.isIntersecting && !isFetchingRef.current) {
|
|
5667
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
5641
|
+
_optionalChain([onLoadMoreRef, 'access', _117 => _117.current, 'optionalCall', _118 => _118()]);
|
|
5668
5642
|
}
|
|
5669
5643
|
},
|
|
5670
5644
|
{ root: scrollContainer, rootMargin: "200px", threshold: 0.1 }
|
|
@@ -5691,6 +5665,11 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5691
5665
|
const setContentRef = (el) => {
|
|
5692
5666
|
contentRef(el);
|
|
5693
5667
|
};
|
|
5668
|
+
const lastMessage = messages[messages.length - 1];
|
|
5669
|
+
const lastSegments = Array.isArray(_optionalChain([lastMessage, 'optionalAccess', _119 => _119.content])) ? lastMessage.content : null;
|
|
5670
|
+
const lastSegment = _optionalChain([lastSegments, 'optionalAccess', _120 => _120[lastSegments.length - 1]]);
|
|
5671
|
+
const isPausedOnApproval = !!lastSegment && (lastSegment.type === "approval_request" || lastSegment.type === "approval_batch") && (lastSegment.status === void 0 || lastSegment.status === "pending");
|
|
5672
|
+
const showStreamingLoader = isTyping && !isPausedOnApproval && !(pendingApprovals && pendingApprovals.length > 0);
|
|
5694
5673
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex-1 min-h-0 flex flex-col", children: [
|
|
5695
5674
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5696
5675
|
"div",
|
|
@@ -5737,6 +5716,22 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5737
5716
|
)
|
|
5738
5717
|
}
|
|
5739
5718
|
),
|
|
5719
|
+
showStreamingLoader && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
5720
|
+
"div",
|
|
5721
|
+
{
|
|
5722
|
+
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
5723
|
+
"mx-auto w-full max-w-3xl flex items-center gap-1 py-2",
|
|
5724
|
+
contentClassName || "px-4"
|
|
5725
|
+
),
|
|
5726
|
+
style: { color: "var(--color-text-muted)" },
|
|
5727
|
+
role: "status",
|
|
5728
|
+
"aria-live": "polite",
|
|
5729
|
+
children: [
|
|
5730
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.DotsLoaderIcon, { className: "w-6 h-6" }),
|
|
5731
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, CyclingPhrase, { words: STREAMING_WORDS, className: "text-sm" })
|
|
5732
|
+
]
|
|
5733
|
+
}
|
|
5734
|
+
),
|
|
5740
5735
|
pendingApprovals && pendingApprovals.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
5741
5736
|
"border-t border-ods-border bg-ods-bg/95 backdrop-blur-sm",
|
|
5742
5737
|
"mx-auto w-full max-w-3xl",
|
|
@@ -5808,7 +5803,7 @@ var _muxplayerreact = require('@mux/mux-player-react'); var _muxplayerreact2 = _
|
|
|
5808
5803
|
|
|
5809
5804
|
if (typeof window !== "undefined") {
|
|
5810
5805
|
const w = window;
|
|
5811
|
-
if (!_optionalChain([w, 'access',
|
|
5806
|
+
if (!_optionalChain([w, 'access', _121 => _121.chrome, 'optionalAccess', _122 => _122.cast])) {
|
|
5812
5807
|
w.chrome = { ..._nullishCoalesce(w.chrome, () => ( {})), cast: { isAvailable: false } };
|
|
5813
5808
|
}
|
|
5814
5809
|
}
|
|
@@ -5984,7 +5979,7 @@ function YouTubeFacadeInner({
|
|
|
5984
5979
|
const iframe = iframeRef.current;
|
|
5985
5980
|
if (!iframe) return;
|
|
5986
5981
|
function subscribe() {
|
|
5987
|
-
_optionalChain([iframe, 'optionalAccess',
|
|
5982
|
+
_optionalChain([iframe, 'optionalAccess', _123 => _123.contentWindow, 'optionalAccess', _124 => _124.postMessage, 'call', _125 => _125(
|
|
5988
5983
|
'{"event":"listening"}',
|
|
5989
5984
|
YT_NOCOOKIE_ORIGIN
|
|
5990
5985
|
)]);
|
|
@@ -6002,13 +5997,13 @@ function YouTubeFacadeInner({
|
|
|
6002
5997
|
return;
|
|
6003
5998
|
}
|
|
6004
5999
|
if (!payload || payload.event !== "infoDelivery") return;
|
|
6005
|
-
const state = _optionalChain([payload, 'access',
|
|
6000
|
+
const state = _optionalChain([payload, 'access', _126 => _126.info, 'optionalAccess', _127 => _127.playerState]);
|
|
6006
6001
|
if (typeof state !== "number") return;
|
|
6007
6002
|
if (state === YT_STATE_PLAYING) {
|
|
6008
6003
|
if (blurTimer !== null) return;
|
|
6009
6004
|
blurTimer = setTimeout(() => {
|
|
6010
6005
|
blurTimer = null;
|
|
6011
|
-
_optionalChain([iframeRef, 'access',
|
|
6006
|
+
_optionalChain([iframeRef, 'access', _128 => _128.current, 'optionalAccess', _129 => _129.blur, 'call', _130 => _130()]);
|
|
6012
6007
|
}, YT_PLAYING_BLUR_DELAY_MS);
|
|
6013
6008
|
return;
|
|
6014
6009
|
}
|
|
@@ -6060,7 +6055,7 @@ function YouTubeFacadeInner({
|
|
|
6060
6055
|
}
|
|
6061
6056
|
)
|
|
6062
6057
|
] }),
|
|
6063
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 flex items-center justify-center bg-ods-bg-inverse bg-opacity-20 transition-opacity duration-200 group-hover:bg-opacity-30", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex items-center justify-center w-16 h-16 rounded-full bg-ods-accent text-ods-text-on-accent shadow-lg transition-transform duration-200 group-hover:scale-110", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6058
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 flex items-center justify-center bg-ods-bg-inverse bg-opacity-20 transition-opacity duration-200 group-hover:bg-opacity-30", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex items-center justify-center w-16 h-16 rounded-full bg-ods-accent text-ods-text-on-accent shadow-lg transition-transform duration-200 group-hover:scale-110", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.PlayIcon, { size: 24, color: "currentColor", className: "ml-1" }) }) })
|
|
6064
6059
|
]
|
|
6065
6060
|
}
|
|
6066
6061
|
) });
|
|
@@ -6154,7 +6149,7 @@ var RATIO_TO_CSS_ASPECT = {
|
|
|
6154
6149
|
landscape: "16 / 9"
|
|
6155
6150
|
};
|
|
6156
6151
|
function LazyBite({ ratio, children }) {
|
|
6157
|
-
const { ref, isNear } =
|
|
6152
|
+
const { ref, isNear } = _chunkHIMEIPEDcjs.useNearViewport.call(void 0, "500px");
|
|
6158
6153
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, style: { aspectRatio: RATIO_TO_CSS_ASPECT[ratio] }, children: isNear ? children : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full h-full bg-ods-card rounded-md" }) });
|
|
6159
6154
|
}
|
|
6160
6155
|
function VideoBitesDisplay({
|
|
@@ -6409,7 +6404,7 @@ var ChatTicketItem = React19.forwardRef(
|
|
|
6409
6404
|
{
|
|
6410
6405
|
ref,
|
|
6411
6406
|
type: "button",
|
|
6412
|
-
onClick: () => _optionalChain([onClick, 'optionalCall',
|
|
6407
|
+
onClick: () => _optionalChain([onClick, 'optionalCall', _131 => _131(ticket.id)]),
|
|
6413
6408
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
6414
6409
|
"flex items-center gap-4 w-full h-20 px-4",
|
|
6415
6410
|
"bg-ods-card border-b border-ods-border",
|
|
@@ -6537,14 +6532,14 @@ var getProviderIcon = (provider) => {
|
|
|
6537
6532
|
switch (providerLower) {
|
|
6538
6533
|
case "anthropic":
|
|
6539
6534
|
case "claude":
|
|
6540
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6535
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.AnthropicLogoGreyIcon, { className: "w-4 h-4" });
|
|
6541
6536
|
case "openai":
|
|
6542
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6537
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.OpenaiLogoGreyIcon, { size: 16, color: "currentColor" });
|
|
6543
6538
|
case "google":
|
|
6544
6539
|
case "gemini":
|
|
6545
6540
|
case "google-gemini":
|
|
6546
6541
|
case "google_gemini":
|
|
6547
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6542
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.GeminiLogoGreyIcon, { size: 16 });
|
|
6548
6543
|
default:
|
|
6549
6544
|
return null;
|
|
6550
6545
|
}
|
|
@@ -6739,7 +6734,7 @@ var ChatSidebarSkeleton = React23.forwardRef(
|
|
|
6739
6734
|
{
|
|
6740
6735
|
variant: "transparent",
|
|
6741
6736
|
disabled: true,
|
|
6742
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6737
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.ChatPlusIcon, { className: "size-6 text-ods-text-secondary" }),
|
|
6743
6738
|
className: "flex-1 justify-center text-lg font-bold text-ods-text-secondary cursor-not-allowed hover:bg-transparent",
|
|
6744
6739
|
children: "Start New Chat"
|
|
6745
6740
|
}
|
|
@@ -6757,8 +6752,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
|
|
|
6757
6752
|
var DialogListItem = _react.forwardRef.call(void 0,
|
|
6758
6753
|
({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
|
|
6759
6754
|
const handleClick = (e) => {
|
|
6760
|
-
_optionalChain([onDialogSelect, 'optionalCall',
|
|
6761
|
-
_optionalChain([onClick, 'optionalCall',
|
|
6755
|
+
_optionalChain([onDialogSelect, 'optionalCall', _132 => _132(dialog.id)]);
|
|
6756
|
+
_optionalChain([onClick, 'optionalCall', _133 => _133(e)]);
|
|
6762
6757
|
};
|
|
6763
6758
|
const formatTimestamp2 = (timestamp) => {
|
|
6764
6759
|
if (!timestamp) return "";
|
|
@@ -6793,7 +6788,7 @@ var DialogListItem = _react.forwardRef.call(void 0,
|
|
|
6793
6788
|
), title: dialog.title || "Untitled Chat", children: dialog.title || "Untitled Chat" }) }),
|
|
6794
6789
|
dialog.timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm text-ods-text-secondary truncate w-full min-w-0", children: formatTimestamp2(dialog.timestamp) })
|
|
6795
6790
|
] }),
|
|
6796
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0 ml-2", children: dialog.unreadMessagesCount && dialog.unreadMessagesCount > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-accent flex items-center justify-center p-2 rounded-md size-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium text-ods-text-on-accent", children: dialog.unreadMessagesCount > 99 ? "99+" : dialog.unreadMessagesCount }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6791
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0 ml-2", children: dialog.unreadMessagesCount && dialog.unreadMessagesCount > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-accent flex items-center justify-center p-2 rounded-md size-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium text-ods-text-on-accent", children: dialog.unreadMessagesCount > 99 ? "99+" : dialog.unreadMessagesCount }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Chevron02RightIcon, { className: "size-6 text-ods-text-secondary" }) })
|
|
6797
6792
|
]
|
|
6798
6793
|
}
|
|
6799
6794
|
);
|
|
@@ -6817,7 +6812,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
|
|
|
6817
6812
|
(entries) => {
|
|
6818
6813
|
const [entry] = entries;
|
|
6819
6814
|
if (entry.isIntersecting && !isFetchingRef.current) {
|
|
6820
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
6815
|
+
_optionalChain([onLoadMoreRef, 'access', _134 => _134.current, 'optionalCall', _135 => _135()]);
|
|
6821
6816
|
}
|
|
6822
6817
|
},
|
|
6823
6818
|
{ root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
|
|
@@ -6853,7 +6848,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
|
|
|
6853
6848
|
onClick: onNewChat,
|
|
6854
6849
|
variant: "transparent",
|
|
6855
6850
|
disabled: isLoading || isCreatingDialog,
|
|
6856
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6851
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.ChatPlusIcon, { className: "size-6 text-ods-text-secondary" }),
|
|
6857
6852
|
className: "flex-1 justify-center text-lg font-bold text-ods-text-primary hover:bg-ods-bg-hover focus-visible:ring-0",
|
|
6858
6853
|
children: "Start New Chat"
|
|
6859
6854
|
}
|
|
@@ -6861,7 +6856,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
|
|
|
6861
6856
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 flex flex-col min-h-0", children: showEmptyState ? (
|
|
6862
6857
|
/* Empty State */
|
|
6863
6858
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col items-center justify-center gap-6 p-6", children: [
|
|
6864
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6859
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.ChatsIcon, { className: "w-6 h-6 text-ods-text-secondary" }),
|
|
6865
6860
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center space-y-2", children: [
|
|
6866
6861
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-lg font-medium text-ods-text-secondary", children: "No Current Chats" }),
|
|
6867
6862
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm font-medium text-ods-text-secondary", children: "Previous Mingo sessions will show here" })
|
|
@@ -7235,7 +7230,7 @@ function useNatsDialogSubscription({
|
|
|
7235
7230
|
reconnectionBackoffRef.current = reconnectionBackoff;
|
|
7236
7231
|
}, [reconnectionBackoff]);
|
|
7237
7232
|
const acquireClient = _react.useCallback.call(void 0, (url) => {
|
|
7238
|
-
if (_optionalChain([shared, 'optionalAccess',
|
|
7233
|
+
if (_optionalChain([shared, 'optionalAccess', _136 => _136.wsUrl]) !== url) {
|
|
7239
7234
|
if (shared) {
|
|
7240
7235
|
shared.closeTimer && clearTimeout(shared.closeTimer);
|
|
7241
7236
|
const old = shared;
|
|
@@ -7244,7 +7239,7 @@ function useNatsDialogSubscription({
|
|
|
7244
7239
|
});
|
|
7245
7240
|
}
|
|
7246
7241
|
const { name = "openframe-frontend", user = "machine", pass = "" } = clientConfig;
|
|
7247
|
-
const client =
|
|
7242
|
+
const client = _chunkHIMEIPEDcjs.createNatsClient.call(void 0, {
|
|
7248
7243
|
servers: url,
|
|
7249
7244
|
name,
|
|
7250
7245
|
user,
|
|
@@ -7326,7 +7321,7 @@ function useNatsDialogSubscription({
|
|
|
7326
7321
|
if (closed) return;
|
|
7327
7322
|
if (shared !== sharedConn) return;
|
|
7328
7323
|
try {
|
|
7329
|
-
await _optionalChain([onBeforeReconnectRef, 'access',
|
|
7324
|
+
await _optionalChain([onBeforeReconnectRef, 'access', _137 => _137.current, 'optionalCall', _138 => _138()]);
|
|
7330
7325
|
} catch (e10) {
|
|
7331
7326
|
}
|
|
7332
7327
|
if (closed) return;
|
|
@@ -7359,22 +7354,22 @@ function useNatsDialogSubscription({
|
|
|
7359
7354
|
}
|
|
7360
7355
|
hadConnectionBeforeRef.current = true;
|
|
7361
7356
|
retryAttempt = 0;
|
|
7362
|
-
_optionalChain([onConnectRef, 'access',
|
|
7357
|
+
_optionalChain([onConnectRef, 'access', _139 => _139.current, 'optionalCall', _140 => _140()]);
|
|
7363
7358
|
}
|
|
7364
7359
|
if (disconnected) {
|
|
7365
7360
|
setIsConnected(false);
|
|
7366
7361
|
setIsSubscribed(false);
|
|
7367
7362
|
subscriptionRefs.current.forEach((sub) => {
|
|
7368
7363
|
try {
|
|
7369
|
-
_optionalChain([sub, 'optionalAccess',
|
|
7364
|
+
_optionalChain([sub, 'optionalAccess', _141 => _141.unsubscribe, 'call', _142 => _142()]);
|
|
7370
7365
|
} catch (e12) {
|
|
7371
7366
|
}
|
|
7372
7367
|
});
|
|
7373
7368
|
subscriptionRefs.current.clear();
|
|
7374
7369
|
lastSubscribedDialogIdRef.current = null;
|
|
7375
|
-
_optionalChain([abortControllerRef, 'access',
|
|
7370
|
+
_optionalChain([abortControllerRef, 'access', _143 => _143.current, 'optionalAccess', _144 => _144.abort, 'call', _145 => _145()]);
|
|
7376
7371
|
abortControllerRef.current = null;
|
|
7377
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
7372
|
+
_optionalChain([onDisconnectRef, 'access', _146 => _146.current, 'optionalCall', _147 => _147()]);
|
|
7378
7373
|
scheduleRetry();
|
|
7379
7374
|
}
|
|
7380
7375
|
});
|
|
@@ -7390,7 +7385,7 @@ function useNatsDialogSubscription({
|
|
|
7390
7385
|
sharedConn.connectPromise = null;
|
|
7391
7386
|
if (!closed) {
|
|
7392
7387
|
setIsConnected(false);
|
|
7393
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
7388
|
+
_optionalChain([onDisconnectRef, 'access', _148 => _148.current, 'optionalCall', _149 => _149()]);
|
|
7394
7389
|
scheduleRetry();
|
|
7395
7390
|
}
|
|
7396
7391
|
}
|
|
@@ -7406,7 +7401,7 @@ function useNatsDialogSubscription({
|
|
|
7406
7401
|
}
|
|
7407
7402
|
subscriptionRefs.current.forEach((sub) => {
|
|
7408
7403
|
try {
|
|
7409
|
-
_optionalChain([sub, 'optionalAccess',
|
|
7404
|
+
_optionalChain([sub, 'optionalAccess', _150 => _150.unsubscribe, 'call', _151 => _151()]);
|
|
7410
7405
|
} catch (e14) {
|
|
7411
7406
|
}
|
|
7412
7407
|
});
|
|
@@ -7434,13 +7429,13 @@ function useNatsDialogSubscription({
|
|
|
7434
7429
|
setIsSubscribed(false);
|
|
7435
7430
|
subscriptionRefs.current.forEach((sub) => {
|
|
7436
7431
|
try {
|
|
7437
|
-
_optionalChain([sub, 'optionalAccess',
|
|
7432
|
+
_optionalChain([sub, 'optionalAccess', _152 => _152.unsubscribe, 'call', _153 => _153()]);
|
|
7438
7433
|
} catch (e15) {
|
|
7439
7434
|
}
|
|
7440
7435
|
});
|
|
7441
7436
|
subscriptionRefs.current.clear();
|
|
7442
7437
|
lastSubscribedDialogIdRef.current = null;
|
|
7443
|
-
_optionalChain([abortControllerRef, 'access',
|
|
7438
|
+
_optionalChain([abortControllerRef, 'access', _154 => _154.current, 'optionalAccess', _155 => _155.abort, 'call', _156 => _156()]);
|
|
7444
7439
|
abortControllerRef.current = null;
|
|
7445
7440
|
}
|
|
7446
7441
|
return;
|
|
@@ -7452,12 +7447,12 @@ function useNatsDialogSubscription({
|
|
|
7452
7447
|
if (subscriptionRefs.current.size > 0) {
|
|
7453
7448
|
subscriptionRefs.current.forEach((sub) => {
|
|
7454
7449
|
try {
|
|
7455
|
-
_optionalChain([sub, 'optionalAccess',
|
|
7450
|
+
_optionalChain([sub, 'optionalAccess', _157 => _157.unsubscribe, 'call', _158 => _158()]);
|
|
7456
7451
|
} catch (e16) {
|
|
7457
7452
|
}
|
|
7458
7453
|
});
|
|
7459
7454
|
subscriptionRefs.current.clear();
|
|
7460
|
-
_optionalChain([abortControllerRef, 'access',
|
|
7455
|
+
_optionalChain([abortControllerRef, 'access', _159 => _159.current, 'optionalAccess', _160 => _160.abort, 'call', _161 => _161()]);
|
|
7461
7456
|
}
|
|
7462
7457
|
abortControllerRef.current = new AbortController();
|
|
7463
7458
|
const abort = abortControllerRef.current;
|
|
@@ -7489,7 +7484,7 @@ function useNatsDialogSubscription({
|
|
|
7489
7484
|
});
|
|
7490
7485
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
7491
7486
|
setIsSubscribed(true);
|
|
7492
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
7487
|
+
_optionalChain([onSubscribedRef, 'access', _162 => _162.current, 'optionalCall', _163 => _163()]);
|
|
7493
7488
|
};
|
|
7494
7489
|
if (isConnectedRef.current) {
|
|
7495
7490
|
createSubscriptions();
|
|
@@ -7499,7 +7494,7 @@ function useNatsDialogSubscription({
|
|
|
7499
7494
|
abort.abort();
|
|
7500
7495
|
subscriptionRefs.current.forEach((sub) => {
|
|
7501
7496
|
try {
|
|
7502
|
-
_optionalChain([sub, 'optionalAccess',
|
|
7497
|
+
_optionalChain([sub, 'optionalAccess', _164 => _164.unsubscribe, 'call', _165 => _165()]);
|
|
7503
7498
|
} catch (e18) {
|
|
7504
7499
|
}
|
|
7505
7500
|
});
|
|
@@ -7540,7 +7535,7 @@ function useNatsDialogSubscription({
|
|
|
7540
7535
|
});
|
|
7541
7536
|
lastSubscribedDialogIdRef.current = dialogId2;
|
|
7542
7537
|
setIsSubscribed(true);
|
|
7543
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
7538
|
+
_optionalChain([onSubscribedRef, 'access', _166 => _166.current, 'optionalCall', _167 => _167()]);
|
|
7544
7539
|
} else if (subscriptionRefs.current.size > 0) {
|
|
7545
7540
|
setIsSubscribed(true);
|
|
7546
7541
|
}
|
|
@@ -7548,10 +7543,10 @@ function useNatsDialogSubscription({
|
|
|
7548
7543
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
7549
7544
|
}
|
|
7550
7545
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
7551
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
7546
|
+
const path = _optionalChain([options, 'optionalAccess', _168 => _168.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
7552
7547
|
const u = new URL(path, apiBaseUrl);
|
|
7553
7548
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
7554
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
7549
|
+
if (_optionalChain([options, 'optionalAccess', _169 => _169.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _170 => _170.token])) {
|
|
7555
7550
|
u.searchParams.set("authorization", options.token);
|
|
7556
7551
|
}
|
|
7557
7552
|
return u.toString();
|
|
@@ -7615,6 +7610,7 @@ function parseChunkToAction(chunk) {
|
|
|
7615
7610
|
type: "EXECUTING_TOOL",
|
|
7616
7611
|
integratedToolType: data.integratedToolType || "",
|
|
7617
7612
|
toolFunction: data.toolFunction || "",
|
|
7613
|
+
toolTitle: typeof data.title === "string" ? data.title : void 0,
|
|
7618
7614
|
parameters: data.parameters,
|
|
7619
7615
|
toolExecutionRequestId: typeof data.toolExecutionRequestId === "string" ? data.toolExecutionRequestId : void 0
|
|
7620
7616
|
}
|
|
@@ -7629,6 +7625,7 @@ function parseChunkToAction(chunk) {
|
|
|
7629
7625
|
type: "EXECUTED_TOOL",
|
|
7630
7626
|
integratedToolType: data.integratedToolType || "",
|
|
7631
7627
|
toolFunction: data.toolFunction || "",
|
|
7628
|
+
toolTitle: typeof data.title === "string" ? data.title : void 0,
|
|
7632
7629
|
parameters: data.parameters,
|
|
7633
7630
|
result: data.result,
|
|
7634
7631
|
success: data.success,
|
|
@@ -7850,6 +7847,7 @@ var MessageSegmentAccumulator = class {
|
|
|
7850
7847
|
this.executingTools.set(toolKey, {
|
|
7851
7848
|
integratedToolType: toolData.integratedToolType,
|
|
7852
7849
|
toolFunction: toolData.toolFunction,
|
|
7850
|
+
toolTitle: toolData.toolTitle,
|
|
7853
7851
|
parameters: toolData.parameters
|
|
7854
7852
|
});
|
|
7855
7853
|
this.segments.push(segment);
|
|
@@ -7858,11 +7856,13 @@ var MessageSegmentAccumulator = class {
|
|
|
7858
7856
|
(s) => s.type === "tool_execution" && s.data.type === "EXECUTING_TOOL" && (execId ? s.data.toolExecutionRequestId === execId : s.data.integratedToolType === toolData.integratedToolType && s.data.toolFunction === toolData.toolFunction)
|
|
7859
7857
|
);
|
|
7860
7858
|
const executingTool = this.executingTools.get(toolKey);
|
|
7859
|
+
const existingExecuting = existingIndex !== -1 ? this.segments[existingIndex] : void 0;
|
|
7861
7860
|
const mergedSegment = {
|
|
7862
7861
|
type: "tool_execution",
|
|
7863
7862
|
data: {
|
|
7864
7863
|
...toolData,
|
|
7865
|
-
|
|
7864
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _171 => _171.data, 'access', _172 => _172.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _173 => _173.toolTitle]))),
|
|
7865
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _174 => _174.parameters])
|
|
7866
7866
|
}
|
|
7867
7867
|
};
|
|
7868
7868
|
if (existingIndex !== -1) {
|
|
@@ -7886,8 +7886,8 @@ var MessageSegmentAccumulator = class {
|
|
|
7886
7886
|
if (seg.type !== "approval_batch") return seg;
|
|
7887
7887
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
7888
7888
|
if (!hasCall) return seg;
|
|
7889
|
-
const prev = _optionalChain([seg, 'access',
|
|
7890
|
-
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess',
|
|
7889
|
+
const prev = _optionalChain([seg, 'access', _175 => _175.data, 'access', _176 => _176.executions, 'optionalAccess', _177 => _177[execId]]);
|
|
7890
|
+
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _178 => _178.result]), success: _optionalChain([prev, 'optionalAccess', _179 => _179.success]) };
|
|
7891
7891
|
matched = true;
|
|
7892
7892
|
return {
|
|
7893
7893
|
...seg,
|
|
@@ -7983,10 +7983,10 @@ var MessageSegmentAccumulator = class {
|
|
|
7983
7983
|
const segment = {
|
|
7984
7984
|
type: "approval_request",
|
|
7985
7985
|
data: {
|
|
7986
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
7987
|
-
explanation: _optionalChain([pendingApproval, 'optionalAccess',
|
|
7986
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _180 => _180.command]) || "",
|
|
7987
|
+
explanation: _optionalChain([pendingApproval, 'optionalAccess', _181 => _181.explanation]),
|
|
7988
7988
|
requestId,
|
|
7989
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
7989
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _182 => _182.approvalType]) || approvalType
|
|
7990
7990
|
},
|
|
7991
7991
|
status,
|
|
7992
7992
|
onApprove: this.callbacks.onApprove,
|
|
@@ -8174,7 +8174,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8174
8174
|
if (initialState.escalatedApprovals) {
|
|
8175
8175
|
pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
|
|
8176
8176
|
initialState.escalatedApprovals.forEach((data, requestId) => {
|
|
8177
|
-
_optionalChain([callbacks, 'access',
|
|
8177
|
+
_optionalChain([callbacks, 'access', _183 => _183.onEscalatedApproval, 'optionalCall', _184 => _184(requestId, data)]);
|
|
8178
8178
|
});
|
|
8179
8179
|
}
|
|
8180
8180
|
hasInitializedWithData.current = true;
|
|
@@ -8193,30 +8193,30 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8193
8193
|
switch (action.action) {
|
|
8194
8194
|
case "message_start":
|
|
8195
8195
|
isInStreamRef.current = true;
|
|
8196
|
-
_optionalChain([callbacks, 'access',
|
|
8196
|
+
_optionalChain([callbacks, 'access', _185 => _185.onStreamStart, 'optionalCall', _186 => _186()]);
|
|
8197
8197
|
accumulator.resetSegments();
|
|
8198
8198
|
break;
|
|
8199
8199
|
case "message_end":
|
|
8200
8200
|
isInStreamRef.current = false;
|
|
8201
|
-
_optionalChain([callbacks, 'access',
|
|
8201
|
+
_optionalChain([callbacks, 'access', _187 => _187.onStreamEnd, 'optionalCall', _188 => _188()]);
|
|
8202
8202
|
accumulator.resetSegments();
|
|
8203
8203
|
break;
|
|
8204
8204
|
case "metadata":
|
|
8205
|
-
_optionalChain([callbacks, 'access',
|
|
8205
|
+
_optionalChain([callbacks, 'access', _189 => _189.onMetadata, 'optionalCall', _190 => _190(action)]);
|
|
8206
8206
|
break;
|
|
8207
8207
|
case "text": {
|
|
8208
8208
|
const segments = accumulator.appendText(action.text);
|
|
8209
|
-
_optionalChain([callbacks, 'access',
|
|
8209
|
+
_optionalChain([callbacks, 'access', _191 => _191.onSegmentsUpdate, 'optionalCall', _192 => _192(segments)]);
|
|
8210
8210
|
break;
|
|
8211
8211
|
}
|
|
8212
8212
|
case "thinking": {
|
|
8213
8213
|
const segments = accumulator.appendThinking(action.text);
|
|
8214
|
-
_optionalChain([callbacks, 'access',
|
|
8214
|
+
_optionalChain([callbacks, 'access', _193 => _193.onSegmentsUpdate, 'optionalCall', _194 => _194(segments)]);
|
|
8215
8215
|
break;
|
|
8216
8216
|
}
|
|
8217
8217
|
case "tool_execution": {
|
|
8218
8218
|
const segments = accumulator.addToolExecution(action.segment);
|
|
8219
|
-
_optionalChain([callbacks, 'access',
|
|
8219
|
+
_optionalChain([callbacks, 'access', _195 => _195.onSegmentsUpdate, 'optionalCall', _196 => _196(segments)]);
|
|
8220
8220
|
break;
|
|
8221
8221
|
}
|
|
8222
8222
|
case "approval_request": {
|
|
@@ -8230,10 +8230,10 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8230
8230
|
approvalType,
|
|
8231
8231
|
status
|
|
8232
8232
|
);
|
|
8233
|
-
_optionalChain([callbacks, 'access',
|
|
8233
|
+
_optionalChain([callbacks, 'access', _197 => _197.onSegmentsUpdate, 'optionalCall', _198 => _198(segments)]);
|
|
8234
8234
|
} else {
|
|
8235
8235
|
pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
|
|
8236
|
-
_optionalChain([callbacks, 'access',
|
|
8236
|
+
_optionalChain([callbacks, 'access', _199 => _199.onEscalatedApproval, 'optionalCall', _200 => _200(requestId, { command, explanation, approvalType })]);
|
|
8237
8237
|
}
|
|
8238
8238
|
break;
|
|
8239
8239
|
}
|
|
@@ -8245,20 +8245,20 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8245
8245
|
const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
|
|
8246
8246
|
pendingEscalatedRef.current.set(requestId, {
|
|
8247
8247
|
command: summary,
|
|
8248
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
8248
|
+
explanation: _optionalChain([required, 'optionalAccess', _201 => _201.toolExplanation]),
|
|
8249
8249
|
approvalType,
|
|
8250
8250
|
toolCalls
|
|
8251
8251
|
});
|
|
8252
|
-
_optionalChain([callbacks, 'access',
|
|
8252
|
+
_optionalChain([callbacks, 'access', _202 => _202.onEscalatedApproval, 'optionalCall', _203 => _203(requestId, {
|
|
8253
8253
|
command: summary,
|
|
8254
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
8254
|
+
explanation: _optionalChain([required, 'optionalAccess', _204 => _204.toolExplanation]),
|
|
8255
8255
|
approvalType
|
|
8256
8256
|
})]);
|
|
8257
8257
|
break;
|
|
8258
8258
|
}
|
|
8259
8259
|
if (batchApprovalsEnabled) {
|
|
8260
8260
|
const segments2 = accumulator.addApprovalBatch(requestId, approvalType, toolCalls, status);
|
|
8261
|
-
_optionalChain([callbacks, 'access',
|
|
8261
|
+
_optionalChain([callbacks, 'access', _205 => _205.onSegmentsUpdate, 'optionalCall', _206 => _206(segments2)]);
|
|
8262
8262
|
break;
|
|
8263
8263
|
}
|
|
8264
8264
|
let segments = accumulator.getSegments();
|
|
@@ -8272,7 +8272,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8272
8272
|
status
|
|
8273
8273
|
);
|
|
8274
8274
|
}
|
|
8275
|
-
_optionalChain([callbacks, 'access',
|
|
8275
|
+
_optionalChain([callbacks, 'access', _207 => _207.onSegmentsUpdate, 'optionalCall', _208 => _208(segments)]);
|
|
8276
8276
|
break;
|
|
8277
8277
|
}
|
|
8278
8278
|
case "approval_result": {
|
|
@@ -8281,7 +8281,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8281
8281
|
const status = approved ? "approved" : "rejected";
|
|
8282
8282
|
if (escalatedData) {
|
|
8283
8283
|
pendingEscalatedRef.current.delete(requestId);
|
|
8284
|
-
_optionalChain([callbacks, 'access',
|
|
8284
|
+
_optionalChain([callbacks, 'access', _209 => _209.onEscalatedApprovalResult, 'optionalCall', _210 => _210(requestId, approved, {
|
|
8285
8285
|
command: escalatedData.command,
|
|
8286
8286
|
explanation: escalatedData.explanation,
|
|
8287
8287
|
approvalType: escalatedData.approvalType
|
|
@@ -8294,7 +8294,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8294
8294
|
escalatedData.toolCalls,
|
|
8295
8295
|
status
|
|
8296
8296
|
);
|
|
8297
|
-
_optionalChain([callbacks, 'access',
|
|
8297
|
+
_optionalChain([callbacks, 'access', _211 => _211.onSegmentsUpdate, 'optionalCall', _212 => _212(segments)]);
|
|
8298
8298
|
} else {
|
|
8299
8299
|
let segments = accumulator.getSegments();
|
|
8300
8300
|
for (const call of escalatedData.toolCalls) {
|
|
@@ -8307,7 +8307,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8307
8307
|
status
|
|
8308
8308
|
);
|
|
8309
8309
|
}
|
|
8310
|
-
_optionalChain([callbacks, 'access',
|
|
8310
|
+
_optionalChain([callbacks, 'access', _213 => _213.onSegmentsUpdate, 'optionalCall', _214 => _214(segments)]);
|
|
8311
8311
|
}
|
|
8312
8312
|
} else {
|
|
8313
8313
|
const segments = accumulator.addApprovalRequest(
|
|
@@ -8317,63 +8317,63 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8317
8317
|
escalatedData.approvalType,
|
|
8318
8318
|
status
|
|
8319
8319
|
);
|
|
8320
|
-
_optionalChain([callbacks, 'access',
|
|
8320
|
+
_optionalChain([callbacks, 'access', _215 => _215.onSegmentsUpdate, 'optionalCall', _216 => _216(segments)]);
|
|
8321
8321
|
}
|
|
8322
8322
|
} else {
|
|
8323
8323
|
const segments = accumulator.updateApprovalStatus(requestId, status);
|
|
8324
|
-
_optionalChain([callbacks, 'access',
|
|
8324
|
+
_optionalChain([callbacks, 'access', _217 => _217.onSegmentsUpdate, 'optionalCall', _218 => _218(segments)]);
|
|
8325
8325
|
}
|
|
8326
8326
|
void approvalType;
|
|
8327
8327
|
break;
|
|
8328
8328
|
}
|
|
8329
8329
|
case "error": {
|
|
8330
8330
|
let message;
|
|
8331
|
-
if ("details" in action && _optionalChain([action, 'optionalAccess',
|
|
8331
|
+
if ("details" in action && _optionalChain([action, 'optionalAccess', _219 => _219.details])) {
|
|
8332
8332
|
try {
|
|
8333
|
-
message = _optionalChain([JSON, 'access',
|
|
8333
|
+
message = _optionalChain([JSON, 'access', _220 => _220.parse, 'call', _221 => _221(action.details), 'optionalAccess', _222 => _222.error, 'optionalAccess', _223 => _223.message]);
|
|
8334
8334
|
} catch (e20) {
|
|
8335
8335
|
message = action.details;
|
|
8336
8336
|
}
|
|
8337
8337
|
}
|
|
8338
8338
|
const segments = accumulator.addError(action.error, message);
|
|
8339
|
-
_optionalChain([callbacks, 'access',
|
|
8340
|
-
_optionalChain([callbacks, 'access',
|
|
8339
|
+
_optionalChain([callbacks, 'access', _224 => _224.onSegmentsUpdate, 'optionalCall', _225 => _225(segments)]);
|
|
8340
|
+
_optionalChain([callbacks, 'access', _226 => _226.onError, 'optionalCall', _227 => _227(action.error, message)]);
|
|
8341
8341
|
break;
|
|
8342
8342
|
}
|
|
8343
8343
|
case "system": {
|
|
8344
|
-
_optionalChain([callbacks, 'access',
|
|
8344
|
+
_optionalChain([callbacks, 'access', _228 => _228.onSystemMessage, 'optionalCall', _229 => _229(action.text)]);
|
|
8345
8345
|
break;
|
|
8346
8346
|
}
|
|
8347
8347
|
case "direct_message": {
|
|
8348
|
-
_optionalChain([callbacks, 'access',
|
|
8348
|
+
_optionalChain([callbacks, 'access', _230 => _230.onDirectMessage, 'optionalCall', _231 => _231(action.text, {
|
|
8349
8349
|
ownerType: action.ownerType,
|
|
8350
8350
|
displayName: action.displayName
|
|
8351
8351
|
})]);
|
|
8352
8352
|
break;
|
|
8353
8353
|
}
|
|
8354
8354
|
case "message_request":
|
|
8355
|
-
_optionalChain([callbacks, 'access',
|
|
8355
|
+
_optionalChain([callbacks, 'access', _232 => _232.onUserMessage, 'optionalCall', _233 => _233(action.text, {
|
|
8356
8356
|
ownerType: action.ownerType,
|
|
8357
8357
|
displayName: action.displayName
|
|
8358
8358
|
})]);
|
|
8359
8359
|
break;
|
|
8360
8360
|
case "token_usage":
|
|
8361
|
-
_optionalChain([callbacks, 'access',
|
|
8361
|
+
_optionalChain([callbacks, 'access', _234 => _234.onTokenUsage, 'optionalCall', _235 => _235(action.data)]);
|
|
8362
8362
|
break;
|
|
8363
8363
|
case "context_compaction_start": {
|
|
8364
8364
|
const standalone = !isInStreamRef.current;
|
|
8365
8365
|
const segments = accumulator.addContextCompaction();
|
|
8366
|
-
_optionalChain([callbacks, 'access',
|
|
8366
|
+
_optionalChain([callbacks, 'access', _236 => _236.onSegmentsUpdate, 'optionalCall', _237 => _237(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
|
|
8367
8367
|
break;
|
|
8368
8368
|
}
|
|
8369
8369
|
case "context_compaction_end": {
|
|
8370
8370
|
const standalone = !isInStreamRef.current;
|
|
8371
8371
|
const segments = accumulator.completeContextCompaction(action.summary);
|
|
8372
|
-
_optionalChain([callbacks, 'access',
|
|
8372
|
+
_optionalChain([callbacks, 'access', _238 => _238.onSegmentsUpdate, 'optionalCall', _239 => _239(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
|
|
8373
8373
|
break;
|
|
8374
8374
|
}
|
|
8375
8375
|
case "dialog_closed":
|
|
8376
|
-
_optionalChain([callbacks, 'access',
|
|
8376
|
+
_optionalChain([callbacks, 'access', _240 => _240.onDialogClosed, 'optionalCall', _241 => _241()]);
|
|
8377
8377
|
break;
|
|
8378
8378
|
default:
|
|
8379
8379
|
break;
|
|
@@ -8409,12 +8409,12 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8409
8409
|
|
|
8410
8410
|
// src/components/chat/utils/process-historical-messages.ts
|
|
8411
8411
|
function getOwnerDisplayName(owner) {
|
|
8412
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
8412
|
+
if (_optionalChain([owner, 'optionalAccess', _242 => _242.type]) === OWNER_TYPE.ADMIN && owner.user) {
|
|
8413
8413
|
const { firstName, lastName } = owner.user;
|
|
8414
8414
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
8415
8415
|
if (name) return name;
|
|
8416
8416
|
}
|
|
8417
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
8417
|
+
return _optionalChain([owner, 'optionalAccess', _243 => _243.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
8418
8418
|
}
|
|
8419
8419
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
8420
8420
|
messageDataArray.forEach((data) => {
|
|
@@ -8477,10 +8477,10 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
8477
8477
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
8478
8478
|
return;
|
|
8479
8479
|
}
|
|
8480
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
8480
|
+
const isUserMessage = _optionalChain([msg, 'access', _244 => _244.owner, 'optionalAccess', _245 => _245.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _246 => _246.owner, 'optionalAccess', _247 => _247.type]) === OWNER_TYPE.ADMIN;
|
|
8481
8481
|
if (isUserMessage) {
|
|
8482
8482
|
flushAssistantMessage();
|
|
8483
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
8483
|
+
const userAuthorType = _optionalChain([msg, 'access', _248 => _248.owner, 'optionalAccess', _249 => _249.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
8484
8484
|
messageDataArray.forEach((data) => {
|
|
8485
8485
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
8486
8486
|
processedMessages.push({
|
|
@@ -8504,7 +8504,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
8504
8504
|
});
|
|
8505
8505
|
const nextMsg = messages[index + 1];
|
|
8506
8506
|
const isLastMessage = index === messages.length - 1;
|
|
8507
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
8507
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _250 => _250.owner, 'optionalAccess', _251 => _251.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _252 => _252.owner, 'optionalAccess', _253 => _253.type]) === OWNER_TYPE.ADMIN);
|
|
8508
8508
|
if (isLastMessage || nextIsFromUser) {
|
|
8509
8509
|
flushAssistantMessage();
|
|
8510
8510
|
}
|
|
@@ -8549,6 +8549,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
8549
8549
|
type: "EXECUTING_TOOL",
|
|
8550
8550
|
integratedToolType: data.integratedToolType || "",
|
|
8551
8551
|
toolFunction: data.toolFunction || "",
|
|
8552
|
+
toolTitle: typeof data.title === "string" ? data.title : void 0,
|
|
8552
8553
|
parameters: data.parameters,
|
|
8553
8554
|
toolExecutionRequestId: data.toolExecutionRequestId
|
|
8554
8555
|
}
|
|
@@ -8563,6 +8564,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
8563
8564
|
type: "EXECUTED_TOOL",
|
|
8564
8565
|
integratedToolType: data.integratedToolType || "",
|
|
8565
8566
|
toolFunction: data.toolFunction || "",
|
|
8567
|
+
toolTitle: typeof data.title === "string" ? data.title : void 0,
|
|
8566
8568
|
parameters: data.parameters,
|
|
8567
8569
|
result: data.result,
|
|
8568
8570
|
success: data.success,
|
|
@@ -8601,7 +8603,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
8601
8603
|
});
|
|
8602
8604
|
}
|
|
8603
8605
|
} else {
|
|
8604
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
8606
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _254 => _254.set, 'call', _255 => _255(data.approvalRequestId, {
|
|
8605
8607
|
command: data.command || "",
|
|
8606
8608
|
explanation: data.explanation,
|
|
8607
8609
|
approvalType,
|
|
@@ -8614,8 +8616,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
8614
8616
|
if ("approvalRequestId" in data && data.approvalRequestId) {
|
|
8615
8617
|
const existingStatus = approvalStatuses[data.approvalRequestId];
|
|
8616
8618
|
const status = existingStatus || (data.approved ? "approved" : "rejected");
|
|
8617
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
8618
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
8619
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _256 => _256.get, 'call', _257 => _257(data.approvalRequestId)]);
|
|
8620
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _258 => _258.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
8619
8621
|
if (batchApprovalsEnabled) {
|
|
8620
8622
|
accumulator.addApprovalBatch(
|
|
8621
8623
|
data.approvalRequestId,
|
|
@@ -8635,7 +8637,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
8635
8637
|
);
|
|
8636
8638
|
}
|
|
8637
8639
|
}
|
|
8638
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
8640
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _259 => _259.delete, 'call', _260 => _260(data.approvalRequestId)]);
|
|
8639
8641
|
break;
|
|
8640
8642
|
}
|
|
8641
8643
|
if (escalatedData) {
|
|
@@ -8644,7 +8646,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
8644
8646
|
explanation: escalatedData.explanation,
|
|
8645
8647
|
approvalType: escalatedData.approvalType
|
|
8646
8648
|
});
|
|
8647
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
8649
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _261 => _261.delete, 'call', _262 => _262(data.approvalRequestId)]);
|
|
8648
8650
|
}
|
|
8649
8651
|
const before = accumulator.getSegments();
|
|
8650
8652
|
const after = accumulator.updateApprovalStatus(data.approvalRequestId, status);
|
|
@@ -8660,9 +8662,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
8660
8662
|
case MESSAGE_TYPE.ERROR:
|
|
8661
8663
|
if ("error" in data) {
|
|
8662
8664
|
let message;
|
|
8663
|
-
if ("details" in data && _optionalChain([data, 'optionalAccess',
|
|
8665
|
+
if ("details" in data && _optionalChain([data, 'optionalAccess', _263 => _263.details])) {
|
|
8664
8666
|
try {
|
|
8665
|
-
message = _optionalChain([JSON, 'access',
|
|
8667
|
+
message = _optionalChain([JSON, 'access', _264 => _264.parse, 'call', _265 => _265(data.details), 'optionalAccess', _266 => _266.error, 'optionalAccess', _267 => _267.message]);
|
|
8666
8668
|
} catch (e21) {
|
|
8667
8669
|
message = data.details;
|
|
8668
8670
|
}
|
|
@@ -8745,10 +8747,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
8745
8747
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
8746
8748
|
return;
|
|
8747
8749
|
}
|
|
8748
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
8750
|
+
const isUserMessage = _optionalChain([msg, 'access', _268 => _268.owner, 'optionalAccess', _269 => _269.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _270 => _270.owner, 'optionalAccess', _271 => _271.type]) === OWNER_TYPE.ADMIN;
|
|
8749
8751
|
if (isUserMessage) {
|
|
8750
8752
|
flushAssistantMessage();
|
|
8751
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
8753
|
+
const userAuthorType = _optionalChain([msg, 'access', _272 => _272.owner, 'optionalAccess', _273 => _273.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
8752
8754
|
messageDataArray.forEach((data) => {
|
|
8753
8755
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
8754
8756
|
processedMessages.push({
|
|
@@ -8772,7 +8774,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
8772
8774
|
});
|
|
8773
8775
|
const nextMsg = messages[index + 1];
|
|
8774
8776
|
const isLastMessage = index === messages.length - 1;
|
|
8775
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
8777
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _274 => _274.owner, 'optionalAccess', _275 => _275.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _276 => _276.owner, 'optionalAccess', _277 => _277.type]) === OWNER_TYPE.ADMIN);
|
|
8776
8778
|
if (isLastMessage || nextIsFromUser) {
|
|
8777
8779
|
flushAssistantMessage();
|
|
8778
8780
|
}
|
|
@@ -8814,6 +8816,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
8814
8816
|
executingTools.set(toolKey, {
|
|
8815
8817
|
integratedToolType: segment.data.integratedToolType,
|
|
8816
8818
|
toolFunction: segment.data.toolFunction,
|
|
8819
|
+
toolTitle: segment.data.toolTitle,
|
|
8817
8820
|
parameters: segment.data.parameters
|
|
8818
8821
|
});
|
|
8819
8822
|
hasIncompleteState = true;
|
|
@@ -8831,7 +8834,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
8831
8834
|
break;
|
|
8832
8835
|
case "approval_batch": {
|
|
8833
8836
|
const allDone = !!segment.data.executions && segment.data.toolCalls.every(
|
|
8834
|
-
(c) => _optionalChain([segment, 'access',
|
|
8837
|
+
(c) => _optionalChain([segment, 'access', _278 => _278.data, 'access', _279 => _279.executions, 'optionalAccess', _280 => _280[c.toolExecutionRequestId], 'optionalAccess', _281 => _281.status]) === "done"
|
|
8835
8838
|
);
|
|
8836
8839
|
if (segment.status !== "rejected" && !allDone) {
|
|
8837
8840
|
hasIncompleteState = true;
|
|
@@ -8993,7 +8996,7 @@ function Header({ config, platform }) {
|
|
|
8993
8996
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
8994
8997
|
"flex justify-start w-full",
|
|
8995
8998
|
"font-bold text-[16px] leading-none tracking-[-0.32px]",
|
|
8996
|
-
index < (_nullishCoalesce(_optionalChain([item, 'access',
|
|
8999
|
+
index < (_nullishCoalesce(_optionalChain([item, 'access', _282 => _282.children, 'optionalAccess', _283 => _283.length]), () => ( 0))) - 1 && "mb-1",
|
|
8997
9000
|
"text-ods-text-primary",
|
|
8998
9001
|
// All dropdown items use primary text color
|
|
8999
9002
|
child.isActive && "bg-ods-bg-hover"
|
|
@@ -9085,7 +9088,7 @@ function Header({ config, platform }) {
|
|
|
9085
9088
|
style: config.style,
|
|
9086
9089
|
children: [
|
|
9087
9090
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
9088
|
-
_optionalChain([config, 'access',
|
|
9091
|
+
_optionalChain([config, 'access', _284 => _284.actions, 'optionalAccess', _285 => _285.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
|
|
9089
9092
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: config.logo.href, className: "transition-opacity duration-200 hover:opacity-80", children: config.logo.element })
|
|
9090
9093
|
] }),
|
|
9091
9094
|
config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -9102,7 +9105,7 @@ function Header({ config, platform }) {
|
|
|
9102
9105
|
}
|
|
9103
9106
|
),
|
|
9104
9107
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
|
|
9105
|
-
_optionalChain([config, 'access',
|
|
9108
|
+
_optionalChain([config, 'access', _286 => _286.actions, 'optionalAccess', _287 => _287.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
|
|
9106
9109
|
config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9107
9110
|
_chunkBJTOSUT4cjs.Button,
|
|
9108
9111
|
{
|
|
@@ -9110,10 +9113,10 @@ function Header({ config, platform }) {
|
|
|
9110
9113
|
size: "icon",
|
|
9111
9114
|
className: "flex md:hidden",
|
|
9112
9115
|
onClick: () => {
|
|
9113
|
-
_optionalChain([config, 'access',
|
|
9116
|
+
_optionalChain([config, 'access', _288 => _288.mobile, 'optionalAccess', _289 => _289.onToggle, 'optionalCall', _290 => _290()]);
|
|
9114
9117
|
},
|
|
9115
|
-
"aria-label": _optionalChain([config, 'access',
|
|
9116
|
-
leftIcon: _optionalChain([config, 'access',
|
|
9118
|
+
"aria-label": _optionalChain([config, 'access', _291 => _291.mobile, 'optionalAccess', _292 => _292.isOpen]) ? "Close menu" : "Open menu",
|
|
9119
|
+
leftIcon: _optionalChain([config, 'access', _293 => _293.mobile, 'optionalAccess', _294 => _294.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Menu01Icon, {})
|
|
9117
9120
|
}
|
|
9118
9121
|
)
|
|
9119
9122
|
] })
|
|
@@ -9130,10 +9133,10 @@ function Header({ config, platform }) {
|
|
|
9130
9133
|
// src/components/navigation/header-skeleton.tsx
|
|
9131
9134
|
|
|
9132
9135
|
function HeaderSkeleton({ config }) {
|
|
9133
|
-
const showNavigation = _optionalChain([config, 'optionalAccess',
|
|
9134
|
-
const showActions = _optionalChain([config, 'optionalAccess',
|
|
9135
|
-
const showMobileMenu = _optionalChain([config, 'optionalAccess',
|
|
9136
|
-
const isAdminHeader = _optionalChain([config, 'optionalAccess',
|
|
9136
|
+
const showNavigation = _optionalChain([config, 'optionalAccess', _295 => _295.navigation]) && config.navigation.items.length > 0;
|
|
9137
|
+
const showActions = _optionalChain([config, 'optionalAccess', _296 => _296.actions, 'optionalAccess', _297 => _297.right]) && config.actions.right.length > 0;
|
|
9138
|
+
const showMobileMenu = _optionalChain([config, 'optionalAccess', _298 => _298.mobile, 'optionalAccess', _299 => _299.enabled]);
|
|
9139
|
+
const isAdminHeader = _optionalChain([config, 'optionalAccess', _300 => _300.className, 'optionalAccess', _301 => _301.includes, 'call', _302 => _302("admin")]);
|
|
9137
9140
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9138
9141
|
"header",
|
|
9139
9142
|
{
|
|
@@ -9142,11 +9145,11 @@ function HeaderSkeleton({ config }) {
|
|
|
9142
9145
|
"bg-ods-card border-b border-ods-border backdrop-blur-sm",
|
|
9143
9146
|
"px-6 py-3",
|
|
9144
9147
|
"transition-opacity duration-300 ease-in-out",
|
|
9145
|
-
_optionalChain([config, 'optionalAccess',
|
|
9148
|
+
_optionalChain([config, 'optionalAccess', _303 => _303.className])
|
|
9146
9149
|
),
|
|
9147
9150
|
children: [
|
|
9148
9151
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
9149
|
-
isAdminHeader && _optionalChain([config, 'optionalAccess',
|
|
9152
|
+
isAdminHeader && _optionalChain([config, 'optionalAccess', _304 => _304.actions, 'optionalAccess', _305 => _305.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mr-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-10 bg-ods-border rounded animate-pulse" }) }),
|
|
9150
9153
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
9151
9154
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
|
|
9152
9155
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
|
|
@@ -9154,8 +9157,8 @@ function HeaderSkeleton({ config }) {
|
|
|
9154
9157
|
] }),
|
|
9155
9158
|
showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
9156
9159
|
"hidden md:flex items-center gap-2",
|
|
9157
|
-
_optionalChain([config, 'optionalAccess',
|
|
9158
|
-
_optionalChain([config, 'optionalAccess',
|
|
9160
|
+
_optionalChain([config, 'optionalAccess', _306 => _306.navigation, 'optionalAccess', _307 => _307.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
|
|
9161
|
+
_optionalChain([config, 'optionalAccess', _308 => _308.navigation, 'optionalAccess', _309 => _309.position]) === "right" && "ml-auto mr-4"
|
|
9159
9162
|
), children: [
|
|
9160
9163
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
|
|
9161
9164
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
|
|
@@ -9203,7 +9206,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
9203
9206
|
_react.useEffect.call(void 0, () => {
|
|
9204
9207
|
const handleKeyDown = (e) => {
|
|
9205
9208
|
if (e.key === "Escape" && isOpen) {
|
|
9206
|
-
_optionalChain([config, 'access',
|
|
9209
|
+
_optionalChain([config, 'access', _310 => _310.onClose, 'optionalCall', _311 => _311()]);
|
|
9207
9210
|
}
|
|
9208
9211
|
};
|
|
9209
9212
|
if (isOpen) {
|
|
@@ -9220,7 +9223,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
9220
9223
|
if (item.onClick) {
|
|
9221
9224
|
item.onClick();
|
|
9222
9225
|
}
|
|
9223
|
-
_optionalChain([config, 'access',
|
|
9226
|
+
_optionalChain([config, 'access', _312 => _312.onClose, 'optionalCall', _313 => _313()]);
|
|
9224
9227
|
};
|
|
9225
9228
|
if (item.href) {
|
|
9226
9229
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -9438,7 +9441,7 @@ function SlidingSidebar({ config }) {
|
|
|
9438
9441
|
variant: "transparent",
|
|
9439
9442
|
size: "default",
|
|
9440
9443
|
onClick: () => {
|
|
9441
|
-
_optionalChain([item, 'access',
|
|
9444
|
+
_optionalChain([item, 'access', _314 => _314.onClick, 'optionalCall', _315 => _315()]);
|
|
9442
9445
|
config.onClose();
|
|
9443
9446
|
},
|
|
9444
9447
|
leftIcon: item.icon,
|
|
@@ -9461,7 +9464,7 @@ function SlidingSidebar({ config }) {
|
|
|
9461
9464
|
variant: "transparent",
|
|
9462
9465
|
size: "default",
|
|
9463
9466
|
onClick: () => {
|
|
9464
|
-
_optionalChain([item, 'access',
|
|
9467
|
+
_optionalChain([item, 'access', _316 => _316.onClick, 'optionalCall', _317 => _317()]);
|
|
9465
9468
|
config.onClose();
|
|
9466
9469
|
},
|
|
9467
9470
|
leftIcon: item.icon,
|
|
@@ -9588,7 +9591,7 @@ function StickySectionNav({
|
|
|
9588
9591
|
] });
|
|
9589
9592
|
}
|
|
9590
9593
|
function useSectionNavigation(sections, options) {
|
|
9591
|
-
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access',
|
|
9594
|
+
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _318 => _318[0], 'optionalAccess', _319 => _319.id]) || "");
|
|
9592
9595
|
const isScrollingFromClick = _react.useRef.call(void 0, false);
|
|
9593
9596
|
const { offset: offset2 = 100 } = options || {};
|
|
9594
9597
|
const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
|
|
@@ -9613,7 +9616,7 @@ function useSectionNavigation(sections, options) {
|
|
|
9613
9616
|
const handleScroll = () => {
|
|
9614
9617
|
if (isScrollingFromClick.current) return;
|
|
9615
9618
|
const scrollPosition = window.scrollY + offset2 + 50;
|
|
9616
|
-
let currentSection = _optionalChain([sections, 'access',
|
|
9619
|
+
let currentSection = _optionalChain([sections, 'access', _320 => _320[0], 'optionalAccess', _321 => _321.id]) || "";
|
|
9617
9620
|
for (let i = sections.length - 1; i >= 0; i--) {
|
|
9618
9621
|
const element = document.getElementById(sections[i].id);
|
|
9619
9622
|
if (element && scrollPosition >= element.offsetTop) {
|
|
@@ -9757,7 +9760,7 @@ function NavigationSidebarToggle({
|
|
|
9757
9760
|
"aria-label": "Hide Menu",
|
|
9758
9761
|
children: [
|
|
9759
9762
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9760
|
-
|
|
9763
|
+
_chunkVJTFBYVGcjs.Chevrons03LeftIcon,
|
|
9761
9764
|
{
|
|
9762
9765
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
9763
9766
|
"text-ods-text-secondary w-6 h-6 transition-transform duration-300",
|
|
@@ -9787,8 +9790,8 @@ var MINIMIZED_WIDTH = 56;
|
|
|
9787
9790
|
var EXPANDED_WIDTH = 224;
|
|
9788
9791
|
var STORAGE_KEY = "of.navigationSidebar.minimized";
|
|
9789
9792
|
function NavigationSidebar({ config, disabled = false }) {
|
|
9790
|
-
const isLgUp = _nullishCoalesce(
|
|
9791
|
-
const [minimized, setMinimized] =
|
|
9793
|
+
const isLgUp = _nullishCoalesce(_chunkHIMEIPEDcjs.useLgUp.call(void 0, ), () => ( false));
|
|
9794
|
+
const [minimized, setMinimized] = _chunkHIMEIPEDcjs.useLocalStorage.call(void 0,
|
|
9792
9795
|
STORAGE_KEY,
|
|
9793
9796
|
!isLgUp || (_nullishCoalesce(config.minimized, () => ( false)))
|
|
9794
9797
|
);
|
|
@@ -9797,14 +9800,14 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
9797
9800
|
const showLabel = isLgUp && !minimized;
|
|
9798
9801
|
const handleToggle = _react.useCallback.call(void 0, () => {
|
|
9799
9802
|
setMinimized((prev) => !prev);
|
|
9800
|
-
_optionalChain([config, 'access',
|
|
9803
|
+
_optionalChain([config, 'access', _322 => _322.onToggleMinimized, 'optionalCall', _323 => _323()]);
|
|
9801
9804
|
}, [setMinimized, config]);
|
|
9802
9805
|
const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
|
|
9803
|
-
_optionalChain([event, 'optionalAccess',
|
|
9806
|
+
_optionalChain([event, 'optionalAccess', _324 => _324.stopPropagation, 'call', _325 => _325()]);
|
|
9804
9807
|
if (item.onClick) {
|
|
9805
9808
|
item.onClick();
|
|
9806
9809
|
} else if (item.path) {
|
|
9807
|
-
_optionalChain([config, 'access',
|
|
9810
|
+
_optionalChain([config, 'access', _326 => _326.onNavigate, 'optionalCall', _327 => _327(item.path)]);
|
|
9808
9811
|
}
|
|
9809
9812
|
}, [config]);
|
|
9810
9813
|
const { primaryItems, secondaryItems } = _react.useMemo.call(void 0, () => ({
|
|
@@ -9944,7 +9947,7 @@ function NotificationsProvider({
|
|
|
9944
9947
|
const setShowPopups = React28.useCallback(
|
|
9945
9948
|
(value2) => {
|
|
9946
9949
|
setShowPopupsState(value2);
|
|
9947
|
-
_optionalChain([onShowPopupsChange, 'optionalCall',
|
|
9950
|
+
_optionalChain([onShowPopupsChange, 'optionalCall', _328 => _328(value2)]);
|
|
9948
9951
|
},
|
|
9949
9952
|
[onShowPopupsChange]
|
|
9950
9953
|
);
|
|
@@ -10049,11 +10052,11 @@ function HeaderGlobalSearch({
|
|
|
10049
10052
|
};
|
|
10050
10053
|
const handleSubmit = (e) => {
|
|
10051
10054
|
e.preventDefault();
|
|
10052
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
10055
|
+
_optionalChain([onSubmit, 'optionalCall', _329 => _329(currentValue)]);
|
|
10053
10056
|
};
|
|
10054
10057
|
const handleKeyDown = (e) => {
|
|
10055
10058
|
if (e.key === "Enter") {
|
|
10056
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
10059
|
+
_optionalChain([onSubmit, 'optionalCall', _330 => _330(currentValue)]);
|
|
10057
10060
|
}
|
|
10058
10061
|
};
|
|
10059
10062
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -10099,8 +10102,8 @@ function HeaderOrganizationFilter({
|
|
|
10099
10102
|
className
|
|
10100
10103
|
}) {
|
|
10101
10104
|
const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
|
|
10102
|
-
const displayName = _optionalChain([selectedOrg, 'optionalAccess',
|
|
10103
|
-
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess',
|
|
10105
|
+
const displayName = _optionalChain([selectedOrg, 'optionalAccess', _331 => _331.name]) || "All Organizations";
|
|
10106
|
+
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _332 => _332.deviceCount]), () => ( totalDeviceCount));
|
|
10104
10107
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBJTOSUT4cjs.DropdownMenu, { children: [
|
|
10105
10108
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBJTOSUT4cjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10106
10109
|
"button",
|
|
@@ -10113,7 +10116,7 @@ function HeaderOrganizationFilter({
|
|
|
10113
10116
|
className
|
|
10114
10117
|
),
|
|
10115
10118
|
children: [
|
|
10116
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10119
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Filter02Icon, { className: "w-4 h-4 shrink-0 text-ods-text-secondary" }),
|
|
10117
10120
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-start justify-center min-w-0", children: [
|
|
10118
10121
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-mono text-sm font-medium leading-5 text-ods-text-primary uppercase tracking-tight truncate", children: displayName }),
|
|
10119
10122
|
deviceCount !== void 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-sm font-medium leading-5 text-ods-text-secondary truncate", children: [
|
|
@@ -10125,11 +10128,11 @@ function HeaderOrganizationFilter({
|
|
|
10125
10128
|
}
|
|
10126
10129
|
) }),
|
|
10127
10130
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBJTOSUT4cjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
|
|
10128
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBJTOSUT4cjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
10131
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBJTOSUT4cjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _333 => _333("")]), children: "All Organizations" }),
|
|
10129
10132
|
organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10130
10133
|
_chunkBJTOSUT4cjs.DropdownMenuItem,
|
|
10131
10134
|
{
|
|
10132
|
-
onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
10135
|
+
onClick: () => _optionalChain([onOrgChange, 'optionalCall', _334 => _334(org.id)]),
|
|
10133
10136
|
children: org.name
|
|
10134
10137
|
},
|
|
10135
10138
|
org.id
|
|
@@ -10160,7 +10163,7 @@ var AppHeader = React37.default.memo(function AppHeader2({
|
|
|
10160
10163
|
onToggleMobileMenu,
|
|
10161
10164
|
disabled = false
|
|
10162
10165
|
}) {
|
|
10163
|
-
const isMdUp = _nullishCoalesce(
|
|
10166
|
+
const isMdUp = _nullishCoalesce(_chunkHIMEIPEDcjs.useMdUp.call(void 0, ), () => ( false));
|
|
10164
10167
|
const dimmedClass = disabled ? "pointer-events-none opacity-50" : "";
|
|
10165
10168
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10166
10169
|
"header",
|
|
@@ -10175,7 +10178,7 @@ var AppHeader = React37.default.memo(function AppHeader2({
|
|
|
10175
10178
|
{
|
|
10176
10179
|
onClick: onToggleMobileMenu,
|
|
10177
10180
|
isActive: isMobileMenuOpen,
|
|
10178
|
-
icon: isMobileMenuOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10181
|
+
icon: isMobileMenuOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.XmarkIcon, { className: "w-4 h-4" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Menu01Icon, { className: "w-4 h-4" }),
|
|
10179
10182
|
"aria-label": isMobileMenuOpen ? "Close menu" : "Open menu",
|
|
10180
10183
|
"aria-expanded": isMobileMenuOpen
|
|
10181
10184
|
}
|
|
@@ -10301,10 +10304,10 @@ function NotificationsHeaderButton({
|
|
|
10301
10304
|
dimmedClass
|
|
10302
10305
|
}) {
|
|
10303
10306
|
const ctx = useOptionalNotifications();
|
|
10304
|
-
const unreadCount = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
10305
|
-
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
10306
|
-
const onClick = _optionalChain([ctx, 'optionalAccess',
|
|
10307
|
-
const Icon2 = unreadCount > 0 ?
|
|
10307
|
+
const unreadCount = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _335 => _335.unreadCount]), () => ( fallbackUnreadCount));
|
|
10308
|
+
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _336 => _336.isOpen]), () => ( false));
|
|
10309
|
+
const onClick = _optionalChain([ctx, 'optionalAccess', _337 => _337.toggle]);
|
|
10310
|
+
const Icon2 = unreadCount > 0 ? _chunkVJTFBYVGcjs.BellRingingIcon : _chunkVJTFBYVGcjs.BellIcon;
|
|
10308
10311
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10309
10312
|
HeaderButton,
|
|
10310
10313
|
{
|
|
@@ -10477,7 +10480,7 @@ var Switch = React32.forwardRef(({ className, checked, onCheckedChange, ...props
|
|
|
10477
10480
|
}, [checked]);
|
|
10478
10481
|
const handleCheckedChange = (newChecked) => {
|
|
10479
10482
|
setIsChecked(newChecked);
|
|
10480
|
-
_optionalChain([onCheckedChange, 'optionalCall',
|
|
10483
|
+
_optionalChain([onCheckedChange, 'optionalCall', _338 => _338(newChecked)]);
|
|
10481
10484
|
};
|
|
10482
10485
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10483
10486
|
SwitchPrimitives.Root,
|
|
@@ -10530,7 +10533,7 @@ function NotificationTile({
|
|
|
10530
10533
|
if (!isLive) return;
|
|
10531
10534
|
const remaining = Math.max(0, liveDurationMs - initialElapsed);
|
|
10532
10535
|
const timer = window.setTimeout(() => {
|
|
10533
|
-
_optionalChain([onSettle, 'optionalCall',
|
|
10536
|
+
_optionalChain([onSettle, 'optionalCall', _339 => _339(id)]);
|
|
10534
10537
|
}, remaining);
|
|
10535
10538
|
return () => window.clearTimeout(timer);
|
|
10536
10539
|
}, [id, isLive, initialElapsed, liveDurationMs, onSettle]);
|
|
@@ -10543,7 +10546,7 @@ function NotificationTile({
|
|
|
10543
10546
|
),
|
|
10544
10547
|
children: [
|
|
10545
10548
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)] p-[var(--spacing-system-s)]", children: [
|
|
10546
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-6 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "size-1.5 rounded-full",
|
|
10549
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-6 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkHIMEIPEDcjs.dotColorByVariant[variant]) }) }),
|
|
10547
10550
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
10548
10551
|
title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-h4 text-ods-text-primary", children: title }) : null,
|
|
10549
10552
|
description ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 line-clamp-2 text-ods-text-secondary", children: description }) : null
|
|
@@ -10560,7 +10563,7 @@ function NotificationTile({
|
|
|
10560
10563
|
"shrink-0 text-ods-text-secondary hover:text-ods-text-primary",
|
|
10561
10564
|
isLive && "invisible"
|
|
10562
10565
|
),
|
|
10563
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10566
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.CheckCircleIcon, {})
|
|
10564
10567
|
}
|
|
10565
10568
|
)
|
|
10566
10569
|
] }),
|
|
@@ -10568,14 +10571,14 @@ function NotificationTile({
|
|
|
10568
10571
|
"button",
|
|
10569
10572
|
{
|
|
10570
10573
|
type: "button",
|
|
10571
|
-
onClick: () => _optionalChain([onSettle, 'optionalCall',
|
|
10574
|
+
onClick: () => _optionalChain([onSettle, 'optionalCall', _340 => _340(id)]),
|
|
10572
10575
|
"aria-label": "Dismiss notification",
|
|
10573
10576
|
tabIndex: isLive ? 0 : -1,
|
|
10574
10577
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
10575
10578
|
"absolute right-[var(--spacing-system-xsf)] top-[var(--spacing-system-xsf)] flex size-4 items-center justify-center text-ods-text-secondary transition-opacity duration-200 hover:text-ods-text-primary",
|
|
10576
10579
|
!isLive && "pointer-events-none opacity-0"
|
|
10577
10580
|
),
|
|
10578
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10581
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.XmarkIcon, { size: 16 })
|
|
10579
10582
|
}
|
|
10580
10583
|
),
|
|
10581
10584
|
isLive ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -10584,7 +10587,7 @@ function NotificationTile({
|
|
|
10584
10587
|
"aria-hidden": true,
|
|
10585
10588
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
10586
10589
|
"absolute inset-x-0 -bottom-px h-1 origin-left",
|
|
10587
|
-
|
|
10590
|
+
_chunkHIMEIPEDcjs.progressColorByVariant[variant]
|
|
10588
10591
|
),
|
|
10589
10592
|
style: {
|
|
10590
10593
|
animation: `toast-progress ${liveDurationMs}ms linear forwards`,
|
|
@@ -10667,7 +10670,7 @@ function NotificationDrawer({ className, liveDurationMs }) {
|
|
|
10667
10670
|
}
|
|
10668
10671
|
function EmptyState() {
|
|
10669
10672
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col items-center justify-center gap-[var(--spacing-system-xs)] py-[var(--spacing-system-l)]", children: [
|
|
10670
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10673
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.BellOffIcon, { size: 24, className: "text-ods-text-secondary" }),
|
|
10671
10674
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-secondary", children: "No new notifications" })
|
|
10672
10675
|
] });
|
|
10673
10676
|
}
|
|
@@ -10695,7 +10698,7 @@ function NotificationsHistoryButton({ onClick }) {
|
|
|
10695
10698
|
fullWidth: true,
|
|
10696
10699
|
disabled: !onClick,
|
|
10697
10700
|
onClick,
|
|
10698
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10701
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.ClockHistoryIcon, { className: "!size-6 text-ods-text-secondary" }),
|
|
10699
10702
|
children: "Notifications History"
|
|
10700
10703
|
}
|
|
10701
10704
|
);
|
|
@@ -10740,7 +10743,7 @@ var MobileBurgerMenu = React37.default.memo(function MobileBurgerMenu2({
|
|
|
10740
10743
|
if (item.onClick) {
|
|
10741
10744
|
item.onClick();
|
|
10742
10745
|
} else if (item.path) {
|
|
10743
|
-
_optionalChain([config, 'access',
|
|
10746
|
+
_optionalChain([config, 'access', _341 => _341.onNavigate, 'optionalCall', _342 => _342(item.path)]);
|
|
10744
10747
|
}
|
|
10745
10748
|
onClose();
|
|
10746
10749
|
}, [config, onClose]);
|
|
@@ -10858,7 +10861,7 @@ var MobileBurgerMenu = React37.default.memo(function MobileBurgerMenu2({
|
|
|
10858
10861
|
onClick: onSearchUser,
|
|
10859
10862
|
variant: "outline",
|
|
10860
10863
|
"aria-label": "Search users",
|
|
10861
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10864
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.UserSearchIcon, { className: "size-4 text-ods-text-primary" })
|
|
10862
10865
|
}
|
|
10863
10866
|
),
|
|
10864
10867
|
onEditProfile && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -10868,7 +10871,7 @@ var MobileBurgerMenu = React37.default.memo(function MobileBurgerMenu2({
|
|
|
10868
10871
|
onClick: onEditProfile,
|
|
10869
10872
|
variant: "outline",
|
|
10870
10873
|
"aria-label": "Edit profile",
|
|
10871
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10874
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.PenEditIcon, { className: "size-4 text-ods-text-primary" })
|
|
10872
10875
|
}
|
|
10873
10876
|
)
|
|
10874
10877
|
] })
|
|
@@ -10888,7 +10891,7 @@ var MobileBurgerMenu = React37.default.memo(function MobileBurgerMenu2({
|
|
|
10888
10891
|
disabled && "cursor-not-allowed opacity-50"
|
|
10889
10892
|
),
|
|
10890
10893
|
children: [
|
|
10891
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10894
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Logout02Icon, { className: "size-4 text-ods-error" }),
|
|
10892
10895
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-['DM_Sans'] font-medium text-sm leading-5 flex-1 text-left text-ods-text-primary", children: "Log Out" })
|
|
10893
10896
|
]
|
|
10894
10897
|
}
|
|
@@ -11036,7 +11039,7 @@ var ToolBadge = ({
|
|
|
11036
11039
|
}) => {
|
|
11037
11040
|
const label = getToolLabel(toolType);
|
|
11038
11041
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "flex items-center gap-1 text-ods-text-secondary", className), children: [
|
|
11039
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11042
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHIMEIPEDcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
|
|
11040
11043
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: label })
|
|
11041
11044
|
] });
|
|
11042
11045
|
};
|
|
@@ -11047,7 +11050,7 @@ _chunkOFAYLG6Dcjs.init_cn.call(void 0, );
|
|
|
11047
11050
|
|
|
11048
11051
|
var shellIconMap = {
|
|
11049
11052
|
[ShellTypeValues.POWERSHELL]: {
|
|
11050
|
-
icon:
|
|
11053
|
+
icon: _chunkVJTFBYVGcjs.PowershellLogoIcon,
|
|
11051
11054
|
props: { size: 16, className: "text-ods-text-secondary" }
|
|
11052
11055
|
},
|
|
11053
11056
|
[ShellTypeValues.CMD]: {
|
|
@@ -11059,7 +11062,7 @@ var shellIconMap = {
|
|
|
11059
11062
|
props: { size: 16, color: "#888888" }
|
|
11060
11063
|
},
|
|
11061
11064
|
[ShellTypeValues.PYTHON]: {
|
|
11062
|
-
icon:
|
|
11065
|
+
icon: _chunkVJTFBYVGcjs.PythonLogoIcon,
|
|
11063
11066
|
props: { size: 16, className: "text-ods-text-secondary" }
|
|
11064
11067
|
},
|
|
11065
11068
|
[ShellTypeValues.NUSHELL]: {
|
|
@@ -11084,7 +11087,7 @@ var ShellTypeBadge = ({
|
|
|
11084
11087
|
className,
|
|
11085
11088
|
iconClassName
|
|
11086
11089
|
}) => {
|
|
11087
|
-
const normalizedType = _optionalChain([shellType, 'optionalAccess',
|
|
11090
|
+
const normalizedType = _optionalChain([shellType, 'optionalAccess', _343 => _343.toUpperCase, 'call', _344 => _344()]);
|
|
11088
11091
|
const label = getShellLabel(normalizedType);
|
|
11089
11092
|
const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
|
|
11090
11093
|
const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
|
|
@@ -11541,7 +11544,7 @@ function AnnouncementBar() {
|
|
|
11541
11544
|
setIsVisible(false);
|
|
11542
11545
|
};
|
|
11543
11546
|
const handleCtaClick = () => {
|
|
11544
|
-
if (!_optionalChain([announcement, 'optionalAccess',
|
|
11547
|
+
if (!_optionalChain([announcement, 'optionalAccess', _345 => _345.cta_url])) return;
|
|
11545
11548
|
announcement.cta_target === "_blank" ? window.open(announcement.cta_url, "_blank", "noopener,noreferrer") : window.location.href = announcement.cta_url;
|
|
11546
11549
|
};
|
|
11547
11550
|
const renderIcon = () => {
|
|
@@ -11667,8 +11670,8 @@ function getVendorLogo(vendor) {
|
|
|
11667
11670
|
if (vendor.logo) {
|
|
11668
11671
|
return fixSupabaseStorageUrl(vendor.logo);
|
|
11669
11672
|
}
|
|
11670
|
-
const logoMedia = _optionalChain([vendor, 'access',
|
|
11671
|
-
if (_optionalChain([logoMedia, 'optionalAccess',
|
|
11673
|
+
const logoMedia = _optionalChain([vendor, 'access', _346 => _346.vendor_media, 'optionalAccess', _347 => _347.find, 'call', _348 => _348((m) => m.media_type === "logo")]);
|
|
11674
|
+
if (_optionalChain([logoMedia, 'optionalAccess', _349 => _349.media_url])) {
|
|
11672
11675
|
return fixSupabaseStorageUrl(logoMedia.media_url);
|
|
11673
11676
|
}
|
|
11674
11677
|
return null;
|
|
@@ -11743,7 +11746,7 @@ function VendorIcon({
|
|
|
11743
11746
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
11744
11747
|
"flex items-center justify-center text-xs font-medium uppercase",
|
|
11745
11748
|
backgroundStyle === "white" ? "text-[#333333]" : "text-ods-text-secondary"
|
|
11746
|
-
), children: _optionalChain([vendor, 'access',
|
|
11749
|
+
), children: _optionalChain([vendor, 'access', _350 => _350.title, 'optionalAccess', _351 => _351.substring, 'call', _352 => _352(0, 2)]) || "??" }) });
|
|
11747
11750
|
}
|
|
11748
11751
|
|
|
11749
11752
|
// src/components/categories-cart.tsx
|
|
@@ -12027,7 +12030,7 @@ function UserSummary({
|
|
|
12027
12030
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
12028
12031
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h4 text-ods-text-primary truncate", children: [
|
|
12029
12032
|
name,
|
|
12030
|
-
_optionalChain([mspPreview, 'optionalAccess',
|
|
12033
|
+
_optionalChain([mspPreview, 'optionalAccess', _353 => _353.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
|
|
12031
12034
|
" \u2022 ",
|
|
12032
12035
|
mspPreview.name
|
|
12033
12036
|
] })
|
|
@@ -12049,7 +12052,7 @@ function UserSummary({
|
|
|
12049
12052
|
height: 40,
|
|
12050
12053
|
className: "object-cover"
|
|
12051
12054
|
}
|
|
12052
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-heading text-sm font-bold", children: _optionalChain([mspPreview, 'access',
|
|
12055
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-heading text-sm font-bold", children: _optionalChain([mspPreview, 'access', _354 => _354.name, 'optionalAccess', _355 => _355.charAt, 'call', _356 => _356(0), 'access', _357 => _357.toUpperCase, 'call', _358 => _358()]) || "?" }) })
|
|
12053
12056
|
] }),
|
|
12054
12057
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 grid grid-cols-[1fr_auto] gap-4", children: [
|
|
12055
12058
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-[6rem] flex flex-col justify-center space-y-3 truncate", children: [
|
|
@@ -12062,7 +12065,7 @@ function UserSummary({
|
|
|
12062
12065
|
typeof mspPreview.annualRevenue === "number" ? `$${formatNumber2(mspPreview.annualRevenue)}` : null
|
|
12063
12066
|
].filter(Boolean).flatMap((txt, idx) => idx === 0 ? [txt] : [" \u2022 ", txt]).map((seg, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: seg === " \u2022 " ? "text-ods-text-secondary" : "", children: seg }, idx)) })
|
|
12064
12067
|
] }),
|
|
12065
|
-
(_optionalChain([authProviders, 'optionalAccess',
|
|
12068
|
+
(_optionalChain([authProviders, 'optionalAccess', _359 => _359.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "hidden md:flex flex-col items-end justify-between flex-shrink-0 min-h-[6rem]", children: [
|
|
12066
12069
|
authProviders && authProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
12067
12070
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs text-ods-text-secondary whitespace-nowrap select-none", children: "Authorized by" }),
|
|
12068
12071
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-2", children: authProviders.map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center w-4 h-4", children: getAuthProviderIcon(p) }, p)) })
|
|
@@ -12071,7 +12074,7 @@ function UserSummary({
|
|
|
12071
12074
|
] })
|
|
12072
12075
|
] })
|
|
12073
12076
|
] }),
|
|
12074
|
-
(_optionalChain([authProviders, 'optionalAccess',
|
|
12077
|
+
(_optionalChain([authProviders, 'optionalAccess', _360 => _360.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex md:hidden items-center justify-between w-full gap-4", children: [
|
|
12075
12078
|
authProviders && authProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
12076
12079
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs text-ods-text-secondary whitespace-nowrap select-none", children: "Authorized by" }),
|
|
12077
12080
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-2", children: authProviders.map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center w-4 h-4", children: getAuthProviderIcon(p) }, p)) })
|
|
@@ -12792,7 +12795,7 @@ function FilterChip({
|
|
|
12792
12795
|
onClick: disabled ? void 0 : (e) => {
|
|
12793
12796
|
e.preventDefault();
|
|
12794
12797
|
e.stopPropagation();
|
|
12795
|
-
_optionalChain([onClick, 'optionalCall',
|
|
12798
|
+
_optionalChain([onClick, 'optionalCall', _361 => _361()]);
|
|
12796
12799
|
},
|
|
12797
12800
|
role: onClick ? "button" : void 0,
|
|
12798
12801
|
tabIndex: onClick && !disabled ? 0 : void 0,
|
|
@@ -12979,13 +12982,13 @@ function useUnifiedFiltering(config) {
|
|
|
12979
12982
|
const searchParams = _navigation.useSearchParams.call(void 0, );
|
|
12980
12983
|
const [isPending, startTransition] = _react.useTransition.call(void 0, );
|
|
12981
12984
|
const getCurrentFilterState = () => {
|
|
12982
|
-
const search = _optionalChain([searchParams, 'optionalAccess',
|
|
12983
|
-
const categories = _optionalChain([searchParams, 'optionalAccess',
|
|
12984
|
-
const subcategories = _optionalChain([searchParams, 'optionalAccess',
|
|
12985
|
-
const tags = _optionalChain([searchParams, 'optionalAccess',
|
|
12986
|
-
const filters = _optionalChain([searchParams, 'optionalAccess',
|
|
12987
|
-
const pricing = _optionalChain([searchParams, 'optionalAccess',
|
|
12988
|
-
const page = parseInt(_optionalChain([searchParams, 'optionalAccess',
|
|
12985
|
+
const search = _optionalChain([searchParams, 'optionalAccess', _362 => _362.get, 'call', _363 => _363("search")]) || void 0;
|
|
12986
|
+
const categories = _optionalChain([searchParams, 'optionalAccess', _364 => _364.get, 'call', _365 => _365("category"), 'optionalAccess', _366 => _366.split, 'call', _367 => _367(","), 'access', _368 => _368.filter, 'call', _369 => _369(Boolean)]) || [];
|
|
12987
|
+
const subcategories = _optionalChain([searchParams, 'optionalAccess', _370 => _370.get, 'call', _371 => _371("subcategory"), 'optionalAccess', _372 => _372.split, 'call', _373 => _373(","), 'access', _374 => _374.filter, 'call', _375 => _375(Boolean)]) || [];
|
|
12988
|
+
const tags = _optionalChain([searchParams, 'optionalAccess', _376 => _376.get, 'call', _377 => _377("tag"), 'optionalAccess', _378 => _378.split, 'call', _379 => _379(","), 'access', _380 => _380.filter, 'call', _381 => _381(Boolean)]) || [];
|
|
12989
|
+
const filters = _optionalChain([searchParams, 'optionalAccess', _382 => _382.getAll, 'call', _383 => _383("filter")]) || [];
|
|
12990
|
+
const pricing = _optionalChain([searchParams, 'optionalAccess', _384 => _384.get, 'call', _385 => _385("pricing")]) || void 0;
|
|
12991
|
+
const page = parseInt(_optionalChain([searchParams, 'optionalAccess', _386 => _386.get, 'call', _387 => _387("page")]) || "1");
|
|
12989
12992
|
return {
|
|
12990
12993
|
search,
|
|
12991
12994
|
categories,
|
|
@@ -13266,13 +13269,13 @@ function FooterWaitlistButton({ className }) {
|
|
|
13266
13269
|
const router = _navigation.useRouter.call(void 0, );
|
|
13267
13270
|
const pathname = _navigation.usePathname.call(void 0, );
|
|
13268
13271
|
const handleClick = _react.useCallback.call(void 0, () => {
|
|
13269
|
-
if (_optionalChain([pathname, 'optionalAccess',
|
|
13272
|
+
if (_optionalChain([pathname, 'optionalAccess', _388 => _388.startsWith, 'call', _389 => _389("/waitlist")])) {
|
|
13270
13273
|
const anchor = document.getElementById("waitlist-form");
|
|
13271
13274
|
if (anchor) {
|
|
13272
13275
|
anchor.scrollIntoView({ behavior: "smooth", block: "center" });
|
|
13273
13276
|
setTimeout(() => {
|
|
13274
13277
|
const input = anchor.querySelector('input[type="email"]');
|
|
13275
|
-
_optionalChain([input, 'optionalAccess',
|
|
13278
|
+
_optionalChain([input, 'optionalAccess', _390 => _390.focus, 'call', _391 => _391()]);
|
|
13276
13279
|
}, 400);
|
|
13277
13280
|
return;
|
|
13278
13281
|
}
|
|
@@ -13297,11 +13300,11 @@ _chunkBJTOSUT4cjs.init_button2.call(void 0, );
|
|
|
13297
13300
|
|
|
13298
13301
|
function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, objectFit = "cover", showReplaceButton = true, deferUpload = false, onUpload, onDelete }) {
|
|
13299
13302
|
const inputRef = _react.useRef.call(void 0, null);
|
|
13300
|
-
const { toast } =
|
|
13303
|
+
const { toast } = _chunkHIMEIPEDcjs.useToast.call(void 0, );
|
|
13301
13304
|
const [uploading, setUploading] = _react.useState.call(void 0, false);
|
|
13302
13305
|
const ALLOWED_TYPES = ["image/jpeg", "image/jpg", "image/png", "image/webp", "image/gif"];
|
|
13303
13306
|
const MAX_SIZE = 5 * 1024 * 1024;
|
|
13304
|
-
const openDialog = () => _optionalChain([inputRef, 'access',
|
|
13307
|
+
const openDialog = () => _optionalChain([inputRef, 'access', _392 => _392.current, 'optionalAccess', _393 => _393.click, 'call', _394 => _394()]);
|
|
13305
13308
|
async function handleFile(file) {
|
|
13306
13309
|
if (!file) return;
|
|
13307
13310
|
if (!ALLOWED_TYPES.includes(file.type)) {
|
|
@@ -13357,7 +13360,7 @@ function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, o
|
|
|
13357
13360
|
}
|
|
13358
13361
|
}
|
|
13359
13362
|
const handleSelect = (e) => {
|
|
13360
|
-
handleFile(_optionalChain([e, 'access',
|
|
13363
|
+
handleFile(_optionalChain([e, 'access', _395 => _395.target, 'access', _396 => _396.files, 'optionalAccess', _397 => _397[0]]));
|
|
13361
13364
|
};
|
|
13362
13365
|
const handleRemove = async () => {
|
|
13363
13366
|
if (onDelete) {
|
|
@@ -13494,7 +13497,7 @@ function ResponsiveIconsBlock({ loading = false }) {
|
|
|
13494
13497
|
const getIconForIndex = (index) => {
|
|
13495
13498
|
const col = index % displayColumns;
|
|
13496
13499
|
const row = Math.floor(index / displayColumns);
|
|
13497
|
-
return _optionalChain([iconGrid, 'access',
|
|
13500
|
+
return _optionalChain([iconGrid, 'access', _398 => _398[row], 'optionalAccess', _399 => _399[col]]) || availableIcons[0];
|
|
13498
13501
|
};
|
|
13499
13502
|
if (loading || iconGrid.length === 0) {
|
|
13500
13503
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -13580,7 +13583,7 @@ var Slider = React39.forwardRef(
|
|
|
13580
13583
|
({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
|
|
13581
13584
|
const handleChange = (e) => {
|
|
13582
13585
|
const newValue = [Number(e.target.value)];
|
|
13583
|
-
_optionalChain([onValueChange, 'optionalCall',
|
|
13586
|
+
_optionalChain([onValueChange, 'optionalCall', _400 => _400(newValue)]);
|
|
13584
13587
|
};
|
|
13585
13588
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13586
13589
|
"input",
|
|
@@ -13693,7 +13696,7 @@ var ImageCropper = ({
|
|
|
13693
13696
|
});
|
|
13694
13697
|
} else if (e.key === "Escape") {
|
|
13695
13698
|
e.preventDefault();
|
|
13696
|
-
_optionalChain([onCancel, 'optionalCall',
|
|
13699
|
+
_optionalChain([onCancel, 'optionalCall', _401 => _401()]);
|
|
13697
13700
|
}
|
|
13698
13701
|
};
|
|
13699
13702
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -13939,7 +13942,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
|
|
|
13939
13942
|
loading: "lazy"
|
|
13940
13943
|
}
|
|
13941
13944
|
),
|
|
13942
|
-
(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, "div", { className: "bg-black/70 rounded-full p-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13945
|
+
(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, "div", { className: "bg-black/70 rounded-full p-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.PlayIcon, { size: 12, color: "white" }) }) }),
|
|
13943
13946
|
isActive && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute bottom-1 right-1 w-2 h-2 bg-[#FFC008] rounded-full" })
|
|
13944
13947
|
]
|
|
13945
13948
|
},
|
|
@@ -14393,8 +14396,8 @@ function PricingDisplay({
|
|
|
14393
14396
|
}
|
|
14394
14397
|
if (pricingArray.length === 1) {
|
|
14395
14398
|
const item = pricingArray[0];
|
|
14396
|
-
const price = _optionalChain([item, 'access',
|
|
14397
|
-
const unit = _optionalChain([item, 'access',
|
|
14399
|
+
const price = _optionalChain([item, 'access', _402 => _402.ranges, 'optionalAccess', _403 => _403[0], 'optionalAccess', _404 => _404.min]) || 0;
|
|
14400
|
+
const unit = _optionalChain([item, 'access', _405 => _405.ranges, 'optionalAccess', _406 => _406[0], 'optionalAccess', _407 => _407.unit]);
|
|
14398
14401
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
14399
14402
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: formatPriceValue(price, styleConfig.showTildePrefix) }),
|
|
14400
14403
|
unit && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
|
|
@@ -14403,11 +14406,11 @@ function PricingDisplay({
|
|
|
14403
14406
|
] })
|
|
14404
14407
|
] });
|
|
14405
14408
|
}
|
|
14406
|
-
const priceValues = pricingArray.map((item) => formatPriceValue(_optionalChain([item, 'access',
|
|
14407
|
-
const itemWithUnit = pricingArray.find((item) => _optionalChain([item, 'access',
|
|
14409
|
+
const priceValues = pricingArray.map((item) => formatPriceValue(_optionalChain([item, 'access', _408 => _408.ranges, 'optionalAccess', _409 => _409[0], 'optionalAccess', _410 => _410.min]) || 0, styleConfig.showTildePrefix));
|
|
14410
|
+
const itemWithUnit = pricingArray.find((item) => _optionalChain([item, 'access', _411 => _411.ranges, 'optionalAccess', _412 => _412[0], 'optionalAccess', _413 => _413.unit]));
|
|
14408
14411
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
14409
14412
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: priceValues.join(" | ") }),
|
|
14410
|
-
itemWithUnit && _optionalChain([itemWithUnit, 'access',
|
|
14413
|
+
itemWithUnit && _optionalChain([itemWithUnit, 'access', _414 => _414.ranges, 'optionalAccess', _415 => _415[0], 'optionalAccess', _416 => _416.unit]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
|
|
14411
14414
|
"/",
|
|
14412
14415
|
itemWithUnit.ranges[0].unit
|
|
14413
14416
|
] })
|
|
@@ -14605,7 +14608,7 @@ function VendorTag({
|
|
|
14605
14608
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "\u2605" }) })
|
|
14606
14609
|
};
|
|
14607
14610
|
case "classification":
|
|
14608
|
-
const classificationType = _optionalChain([text, 'optionalAccess',
|
|
14611
|
+
const classificationType = _optionalChain([text, 'optionalAccess', _417 => _417.toLowerCase, 'call', _418 => _418()]);
|
|
14609
14612
|
if (classificationType === "open_source") {
|
|
14610
14613
|
return {
|
|
14611
14614
|
text: "Open Source",
|
|
@@ -14659,7 +14662,7 @@ function SelectionSourceBadge({ source, hidden = false }) {
|
|
|
14659
14662
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14660
14663
|
VendorTag,
|
|
14661
14664
|
{
|
|
14662
|
-
type: _optionalChain([source, 'optionalAccess',
|
|
14665
|
+
type: _optionalChain([source, 'optionalAccess', _419 => _419.toLowerCase, 'call', _420 => _420()]),
|
|
14663
14666
|
size: "sm",
|
|
14664
14667
|
hidden
|
|
14665
14668
|
},
|
|
@@ -16716,7 +16719,7 @@ function OnboardingWalkthrough({
|
|
|
16716
16719
|
isStepSkipped,
|
|
16717
16720
|
allStepsComplete,
|
|
16718
16721
|
markMultipleComplete
|
|
16719
|
-
} =
|
|
16722
|
+
} = _chunkHIMEIPEDcjs.useOnboardingState.call(void 0, storageKey);
|
|
16720
16723
|
const hasAutoMarkedRef = _react.useRef.call(void 0, false);
|
|
16721
16724
|
const autoMarkingInProgressRef = _react.useRef.call(void 0, false);
|
|
16722
16725
|
const lastCompletionStatusRef = _react.useRef.call(void 0, null);
|
|
@@ -16779,12 +16782,12 @@ function OnboardingWalkthrough({
|
|
|
16779
16782
|
}
|
|
16780
16783
|
}, [state.completedSteps, markComplete]);
|
|
16781
16784
|
const handleStepSkip = (step) => {
|
|
16782
|
-
_optionalChain([step, 'access',
|
|
16785
|
+
_optionalChain([step, 'access', _421 => _421.onSkip, 'optionalCall', _422 => _422()]);
|
|
16783
16786
|
markSkipped(step.id);
|
|
16784
16787
|
};
|
|
16785
16788
|
const handleDismiss = () => {
|
|
16786
16789
|
dismissOnboarding();
|
|
16787
|
-
_optionalChain([onDismiss, 'optionalCall',
|
|
16790
|
+
_optionalChain([onDismiss, 'optionalCall', _423 => _423()]);
|
|
16788
16791
|
};
|
|
16789
16792
|
if (state.dismissed) {
|
|
16790
16793
|
return null;
|
|
@@ -17229,7 +17232,7 @@ var SecondaryAction = ({ action }) => {
|
|
|
17229
17232
|
e.preventDefault();
|
|
17230
17233
|
return;
|
|
17231
17234
|
}
|
|
17232
|
-
_optionalChain([action, 'access',
|
|
17235
|
+
_optionalChain([action, 'access', _424 => _424.onClick, 'optionalCall', _425 => _425()]);
|
|
17233
17236
|
},
|
|
17234
17237
|
[action]
|
|
17235
17238
|
);
|
|
@@ -17270,13 +17273,13 @@ var MenuItem = ({ item, onItemClick }) => {
|
|
|
17270
17273
|
const activate = _react.useCallback.call(void 0, () => {
|
|
17271
17274
|
if (item.disabled) return;
|
|
17272
17275
|
if (item.type === "checkbox") {
|
|
17273
|
-
_optionalChain([item, 'access',
|
|
17274
|
-
_optionalChain([onItemClick, 'optionalCall',
|
|
17276
|
+
_optionalChain([item, 'access', _426 => _426.onClick, 'optionalCall', _427 => _427()]);
|
|
17277
|
+
_optionalChain([onItemClick, 'optionalCall', _428 => _428(item)]);
|
|
17275
17278
|
return;
|
|
17276
17279
|
}
|
|
17277
17280
|
if (item.type === "submenu") return;
|
|
17278
|
-
_optionalChain([item, 'access',
|
|
17279
|
-
_optionalChain([onItemClick, 'optionalCall',
|
|
17281
|
+
_optionalChain([item, 'access', _429 => _429.onClick, 'optionalCall', _430 => _430()]);
|
|
17282
|
+
_optionalChain([onItemClick, 'optionalCall', _431 => _431(item)]);
|
|
17280
17283
|
}, [item, onItemClick]);
|
|
17281
17284
|
const handleClick = _react.useCallback.call(void 0,
|
|
17282
17285
|
(e) => {
|
|
@@ -17302,8 +17305,8 @@ var MenuItem = ({ item, onItemClick }) => {
|
|
|
17302
17305
|
e.stopPropagation();
|
|
17303
17306
|
return;
|
|
17304
17307
|
}
|
|
17305
|
-
_optionalChain([item, 'access',
|
|
17306
|
-
_optionalChain([onItemClick, 'optionalCall',
|
|
17308
|
+
_optionalChain([item, 'access', _432 => _432.onClick, 'optionalCall', _433 => _433()]);
|
|
17309
|
+
_optionalChain([onItemClick, 'optionalCall', _434 => _434(item)]);
|
|
17307
17310
|
},
|
|
17308
17311
|
[item, onItemClick]
|
|
17309
17312
|
);
|
|
@@ -17350,7 +17353,7 @@ var MenuItem = ({ item, onItemClick }) => {
|
|
|
17350
17353
|
children: item.checked && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Check, { className: "w-4 h-4 text-black", strokeWidth: 3 })
|
|
17351
17354
|
}
|
|
17352
17355
|
),
|
|
17353
|
-
item.type === "submenu" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17356
|
+
item.type === "submenu" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Chevron02RightIcon, { className: "w-6 h-6 text-ods-text-secondary" })
|
|
17354
17357
|
] });
|
|
17355
17358
|
if (renderAsLink && item.href) {
|
|
17356
17359
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: WRAPPER_CLASSES, children: [
|
|
@@ -17458,7 +17461,7 @@ var ActionsMenuDropdown = ({
|
|
|
17458
17461
|
const [open, setOpen] = _react.useState.call(void 0, false);
|
|
17459
17462
|
const handleItemClick = _react.useCallback.call(void 0,
|
|
17460
17463
|
(item) => {
|
|
17461
|
-
_optionalChain([onItemClick, 'optionalCall',
|
|
17464
|
+
_optionalChain([onItemClick, 'optionalCall', _435 => _435(item)]);
|
|
17462
17465
|
if (item.type !== "checkbox" && item.type !== "submenu") {
|
|
17463
17466
|
setOpen(false);
|
|
17464
17467
|
}
|
|
@@ -17473,7 +17476,7 @@ var ActionsMenuDropdown = ({
|
|
|
17473
17476
|
size: "icon",
|
|
17474
17477
|
"aria-label": triggerAriaLabel,
|
|
17475
17478
|
className: triggerClassName || "bg-ods-card border-ods-border hover:bg-ods-bg-hover flex items-center justify-center focus-visible:ring-0",
|
|
17476
|
-
leftIcon: _nullishCoalesce(trigger, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17479
|
+
leftIcon: _nullishCoalesce(trigger, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Ellipsis01Icon, { size: 24, className: "text-ods-text-primary" })))
|
|
17477
17480
|
}
|
|
17478
17481
|
))) }),
|
|
17479
17482
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17562,7 +17565,7 @@ function renderActionButton(action, opts = {}) {
|
|
|
17562
17565
|
disabled: action.disabled,
|
|
17563
17566
|
loading: action.loading,
|
|
17564
17567
|
leftIcon: action.icon,
|
|
17565
|
-
splitIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17568
|
+
splitIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Chevron02DownIcon, { className: "h-4 w-4" }),
|
|
17566
17569
|
className: opts.fullWidth ? "flex-1" : void 0,
|
|
17567
17570
|
children: action.label
|
|
17568
17571
|
}
|
|
@@ -17629,7 +17632,7 @@ function IconButtonsVariant({
|
|
|
17629
17632
|
}) {
|
|
17630
17633
|
const desktopActions = actions.filter((a) => !a.showOnlyMobile);
|
|
17631
17634
|
const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
|
|
17632
|
-
const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access',
|
|
17635
|
+
const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _436 => _436[0], 'access', _437 => _437.submenu, 'optionalAccess', _438 => _438.length]);
|
|
17633
17636
|
const singleAction = isSingleAction ? actions[0] : null;
|
|
17634
17637
|
const useSingleActionMobile = isSingleAction && !hasMenuActions;
|
|
17635
17638
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -17719,7 +17722,7 @@ function BackButton({ label = "Back", className, type = "button", ...props }) {
|
|
|
17719
17722
|
),
|
|
17720
17723
|
...props,
|
|
17721
17724
|
children: [
|
|
17722
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17725
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Chevron02LeftIcon, { className: "size-6 shrink-0" }),
|
|
17723
17726
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4", children: label })
|
|
17724
17727
|
]
|
|
17725
17728
|
}
|
|
@@ -18059,14 +18062,14 @@ function ReleaseDetailPage({
|
|
|
18059
18062
|
releaseVersion
|
|
18060
18063
|
] })
|
|
18061
18064
|
] }) }),
|
|
18062
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2 w-full", children: _optionalChain([blogTags, 'optionalAccess',
|
|
18065
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2 w-full", children: _optionalChain([blogTags, 'optionalAccess', _439 => _439.map, 'call', _440 => _440((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18063
18066
|
StatusBadge,
|
|
18064
18067
|
{
|
|
18065
|
-
text: (tag.name || _optionalChain([tag, 'access',
|
|
18068
|
+
text: (tag.name || _optionalChain([tag, 'access', _441 => _441.blog_tags, 'optionalAccess', _442 => _442.name]) || "").toUpperCase(),
|
|
18066
18069
|
variant: "card",
|
|
18067
18070
|
className: "bg-ods-card border border-ods-border"
|
|
18068
18071
|
},
|
|
18069
|
-
tag.id || _optionalChain([tag, 'access',
|
|
18072
|
+
tag.id || _optionalChain([tag, 'access', _443 => _443.blog_tags, 'optionalAccess', _444 => _444.id])
|
|
18070
18073
|
))]) }),
|
|
18071
18074
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 md:grid-cols-4 border border-ods-border rounded-md overflow-hidden w-full", children: [
|
|
18072
18075
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-card border-b md:border-b-0 md:border-r border-ods-border p-4 flex flex-col gap-3", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-0", children: [
|
|
@@ -18085,15 +18088,15 @@ function ReleaseDetailPage({
|
|
|
18085
18088
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18086
18089
|
SquareAvatar,
|
|
18087
18090
|
{
|
|
18088
|
-
src: _optionalChain([author, 'optionalAccess',
|
|
18089
|
-
alt: _optionalChain([author, 'optionalAccess',
|
|
18090
|
-
fallback: getInitials4(_optionalChain([author, 'optionalAccess',
|
|
18091
|
+
src: _optionalChain([author, 'optionalAccess', _445 => _445.avatar_url]) || "",
|
|
18092
|
+
alt: _optionalChain([author, 'optionalAccess', _446 => _446.full_name]) || "Author",
|
|
18093
|
+
fallback: getInitials4(_optionalChain([author, 'optionalAccess', _447 => _447.full_name]) || "Unknown"),
|
|
18091
18094
|
size: "md",
|
|
18092
18095
|
variant: "round"
|
|
18093
18096
|
}
|
|
18094
18097
|
),
|
|
18095
18098
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-0 flex-1 min-w-0", children: [
|
|
18096
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", children: _optionalChain([author, 'optionalAccess',
|
|
18099
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", children: _optionalChain([author, 'optionalAccess', _448 => _448.full_name]) || "Unknown Author" }),
|
|
18097
18100
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: "Author" })
|
|
18098
18101
|
] })
|
|
18099
18102
|
] })
|
|
@@ -18124,8 +18127,8 @@ function ReleaseDetailPage({
|
|
|
18124
18127
|
videoBites,
|
|
18125
18128
|
bitesTitle: "Video Clips",
|
|
18126
18129
|
filterPublishedBites: true,
|
|
18127
|
-
srtContent: _optionalChain([release, 'optionalAccess',
|
|
18128
|
-
captionsUrl: _optionalChain([release, 'optionalAccess',
|
|
18130
|
+
srtContent: _optionalChain([release, 'optionalAccess', _449 => _449.srt_content]),
|
|
18131
|
+
captionsUrl: _optionalChain([release, 'optionalAccess', _450 => _450.captionsUrl])
|
|
18129
18132
|
}
|
|
18130
18133
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
18131
18134
|
youtubeUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18141,8 +18144,8 @@ function ReleaseDetailPage({
|
|
|
18141
18144
|
Video2,
|
|
18142
18145
|
{
|
|
18143
18146
|
url: mainVideoUrl,
|
|
18144
|
-
srtContent: _optionalChain([release, 'optionalAccess',
|
|
18145
|
-
captionsUrl: _optionalChain([release, 'optionalAccess',
|
|
18147
|
+
srtContent: _optionalChain([release, 'optionalAccess', _451 => _451.srt_content]),
|
|
18148
|
+
captionsUrl: _optionalChain([release, 'optionalAccess', _452 => _452.captionsUrl]),
|
|
18146
18149
|
layout: "centered"
|
|
18147
18150
|
}
|
|
18148
18151
|
),
|
|
@@ -18232,7 +18235,7 @@ function ReleaseDetailPage({
|
|
|
18232
18235
|
}
|
|
18233
18236
|
)
|
|
18234
18237
|
] }),
|
|
18235
|
-
(_optionalChain([githubReleases, 'optionalAccess',
|
|
18238
|
+
(_optionalChain([githubReleases, 'optionalAccess', _453 => _453.length]) || _optionalChain([knowledgeBaseLinks, 'optionalAccess', _454 => _454.length]) || migrationGuideUrl || documentationUrl) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1 w-full", children: [
|
|
18236
18239
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h5 tracking-[-0.28px] text-ods-text-secondary", children: "Related Links" }),
|
|
18237
18240
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Card, { className: "bg-ods-card border-ods-border p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
18238
18241
|
githubReleases && githubReleases.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: githubReleases.map((ghRelease) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-1", children: [
|
|
@@ -18261,7 +18264,7 @@ function ReleaseDetailPage({
|
|
|
18261
18264
|
{
|
|
18262
18265
|
href: path.startsWith("http") ? path : `/knowledge-base${path.startsWith("/") ? "" : "/"}${path}`,
|
|
18263
18266
|
className: "text-h4 text-[#ffc008] hover:underline",
|
|
18264
|
-
children: _optionalChain([path, 'access',
|
|
18267
|
+
children: _optionalChain([path, 'access', _455 => _455.replace, 'call', _456 => _456(/^\//, ""), 'access', _457 => _457.split, 'call', _458 => _458("/"), 'access', _459 => _459.pop, 'call', _460 => _460(), 'optionalAccess', _461 => _461.replace, 'call', _462 => _462(/-/g, " ")]) || "View Article"
|
|
18265
18268
|
}
|
|
18266
18269
|
),
|
|
18267
18270
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-6 w-6 text-[#ffc008] shrink-0" })
|
|
@@ -18360,7 +18363,7 @@ function InfoCard({ data, className = "" }) {
|
|
|
18360
18363
|
);
|
|
18361
18364
|
}
|
|
18362
18365
|
function InfoCardValueRow({ label, value, showLabel, copyable, copyAriaLabel }) {
|
|
18363
|
-
const { copy, copied } =
|
|
18366
|
+
const { copy, copied } = _chunkHIMEIPEDcjs.useCopyToClipboard.call(void 0, );
|
|
18364
18367
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-6 items-center gap-[var(--spacing-system-xs)] self-stretch w-full", children: [
|
|
18365
18368
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary whitespace-nowrap", children: showLabel ? label : "" }),
|
|
18366
18369
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 h-px bg-ods-divider" }),
|
|
@@ -18383,7 +18386,7 @@ function InfoCardValueRow({ label, value, showLabel, copyable, copyAriaLabel })
|
|
|
18383
18386
|
copied ? "text-ods-success" : "text-ods-text-secondary hover:text-ods-text-primary"
|
|
18384
18387
|
),
|
|
18385
18388
|
"aria-label": copyAriaLabel,
|
|
18386
|
-
children: copied ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18389
|
+
children: copied ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.CheckIcon, { size: 16 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Copy01Icon, { size: 16 })
|
|
18387
18390
|
}
|
|
18388
18391
|
)
|
|
18389
18392
|
] })
|
|
@@ -18572,7 +18575,7 @@ var ProgressBar = ({
|
|
|
18572
18575
|
mobileHeight = 8,
|
|
18573
18576
|
inverted = false
|
|
18574
18577
|
}) => {
|
|
18575
|
-
const isMdUp = _nullishCoalesce(
|
|
18578
|
+
const isMdUp = _nullishCoalesce(_chunkHIMEIPEDcjs.useMdUp.call(void 0, ), () => ( true));
|
|
18576
18579
|
const effectiveSegmentWidth = isMdUp ? segmentWidth : mobileSegmentWidth;
|
|
18577
18580
|
const effectiveHeight = isMdUp ? height : mobileHeight;
|
|
18578
18581
|
const containerRef = _react.useRef.call(void 0, null);
|
|
@@ -18907,7 +18910,7 @@ function TagsManager({
|
|
|
18907
18910
|
const name = search.trim();
|
|
18908
18911
|
if (!name) return;
|
|
18909
18912
|
const result = await onCreateTag(name);
|
|
18910
|
-
if (_optionalChain([result, 'optionalAccess',
|
|
18913
|
+
if (_optionalChain([result, 'optionalAccess', _463 => _463.id])) {
|
|
18911
18914
|
onChange([...selectedIds, result.id]);
|
|
18912
18915
|
setSearch("");
|
|
18913
18916
|
}
|
|
@@ -18915,7 +18918,7 @@ function TagsManager({
|
|
|
18915
18918
|
const startEdit = React55.useCallback((id, name) => {
|
|
18916
18919
|
setEditingId(id);
|
|
18917
18920
|
setEditingName(name);
|
|
18918
|
-
setTimeout(() => _optionalChain([editInputRef, 'access',
|
|
18921
|
+
setTimeout(() => _optionalChain([editInputRef, 'access', _464 => _464.current, 'optionalAccess', _465 => _465.focus, 'call', _466 => _466()]), 0);
|
|
18919
18922
|
}, []);
|
|
18920
18923
|
const confirmEdit = React55.useCallback(async () => {
|
|
18921
18924
|
if (!onUpdateTag || !editingId || !editingName.trim()) return;
|
|
@@ -18942,7 +18945,7 @@ function TagsManager({
|
|
|
18942
18945
|
e.stopPropagation();
|
|
18943
18946
|
onChange([]);
|
|
18944
18947
|
setSearch("");
|
|
18945
|
-
_optionalChain([inputRef, 'access',
|
|
18948
|
+
_optionalChain([inputRef, 'access', _467 => _467.current, 'optionalAccess', _468 => _468.focus, 'call', _469 => _469()]);
|
|
18946
18949
|
},
|
|
18947
18950
|
[onChange]
|
|
18948
18951
|
);
|
|
@@ -19020,7 +19023,7 @@ function TagsManager({
|
|
|
19020
19023
|
onClick: handleClearAll,
|
|
19021
19024
|
className: "flex-shrink-0 flex items-center justify-center hover:opacity-70 transition-opacity [&_svg]:size-4 md:[&_svg]:size-6",
|
|
19022
19025
|
"aria-label": "Clear all tags",
|
|
19023
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19026
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.XmarkCircleIcon, { className: "text-ods-text-secondary" })
|
|
19024
19027
|
}
|
|
19025
19028
|
)
|
|
19026
19029
|
]
|
|
@@ -19041,10 +19044,10 @@ function TagsManager({
|
|
|
19041
19044
|
align: "start",
|
|
19042
19045
|
onOpenAutoFocus: (e) => {
|
|
19043
19046
|
e.preventDefault();
|
|
19044
|
-
_optionalChain([inputRef, 'access',
|
|
19047
|
+
_optionalChain([inputRef, 'access', _470 => _470.current, 'optionalAccess', _471 => _471.focus, 'call', _472 => _472()]);
|
|
19045
19048
|
},
|
|
19046
19049
|
onInteractOutside: (e) => {
|
|
19047
|
-
if (_optionalChain([containerRef, 'access',
|
|
19050
|
+
if (_optionalChain([containerRef, 'access', _473 => _473.current, 'optionalAccess', _474 => _474.contains, 'call', _475 => _475(e.target)])) {
|
|
19048
19051
|
e.preventDefault();
|
|
19049
19052
|
}
|
|
19050
19053
|
},
|
|
@@ -19080,7 +19083,7 @@ function TagsManager({
|
|
|
19080
19083
|
size: "icon",
|
|
19081
19084
|
onClick: confirmEdit,
|
|
19082
19085
|
disabled: isUpdating,
|
|
19083
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19086
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.CheckIcon, { size: 14, className: "text-ods-success" })
|
|
19084
19087
|
}
|
|
19085
19088
|
),
|
|
19086
19089
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -19091,7 +19094,7 @@ function TagsManager({
|
|
|
19091
19094
|
size: "icon",
|
|
19092
19095
|
onClick: cancelEdit,
|
|
19093
19096
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19094
|
-
|
|
19097
|
+
_chunkVJTFBYVGcjs.XmarkIcon,
|
|
19095
19098
|
{
|
|
19096
19099
|
size: 14,
|
|
19097
19100
|
className: "text-ods-text-secondary"
|
|
@@ -19127,7 +19130,7 @@ function TagsManager({
|
|
|
19127
19130
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: tag.name }),
|
|
19128
19131
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1 shrink-0", children: [
|
|
19129
19132
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19130
|
-
|
|
19133
|
+
_chunkVJTFBYVGcjs.CheckIcon,
|
|
19131
19134
|
{
|
|
19132
19135
|
className: "text-ods-accent",
|
|
19133
19136
|
size: 20
|
|
@@ -19145,7 +19148,7 @@ function TagsManager({
|
|
|
19145
19148
|
startEdit(tag.id, tag.name);
|
|
19146
19149
|
},
|
|
19147
19150
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19148
|
-
|
|
19151
|
+
_chunkVJTFBYVGcjs.PencilIcon,
|
|
19149
19152
|
{
|
|
19150
19153
|
size: 14,
|
|
19151
19154
|
className: "text-ods-text-secondary"
|
|
@@ -19165,7 +19168,7 @@ function TagsManager({
|
|
|
19165
19168
|
},
|
|
19166
19169
|
disabled: isDeleting,
|
|
19167
19170
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19168
|
-
|
|
19171
|
+
_chunkVJTFBYVGcjs.TrashIcon,
|
|
19169
19172
|
{
|
|
19170
19173
|
size: 14,
|
|
19171
19174
|
className: "text-ods-error"
|
|
@@ -19199,7 +19202,7 @@ function TagsManager({
|
|
|
19199
19202
|
},
|
|
19200
19203
|
children: [
|
|
19201
19204
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19202
|
-
|
|
19205
|
+
_chunkVJTFBYVGcjs.PlusIcon,
|
|
19203
19206
|
{
|
|
19204
19207
|
size: 16,
|
|
19205
19208
|
className: "text-ods-accent shrink-0"
|
|
@@ -19560,7 +19563,7 @@ var ModalHeader2 = React59.forwardRef(
|
|
|
19560
19563
|
onClick: onClose,
|
|
19561
19564
|
className: "hidden md:flex shrink-0 text-ods-text-secondary hover:text-ods-text-primary transition-colors",
|
|
19562
19565
|
"aria-label": "Close",
|
|
19563
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19566
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.XmarkIcon, { className: "size-6" })
|
|
19564
19567
|
}
|
|
19565
19568
|
)
|
|
19566
19569
|
]
|
|
@@ -20148,19 +20151,19 @@ function TabNavigation({
|
|
|
20148
20151
|
const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
|
|
20149
20152
|
const getInitialTab = () => {
|
|
20150
20153
|
if (isUrlSyncEnabled) {
|
|
20151
|
-
const fromUrl = _optionalChain([searchParams, 'optionalAccess',
|
|
20154
|
+
const fromUrl = _optionalChain([searchParams, 'optionalAccess', _476 => _476.get, 'call', _477 => _477(paramName)]) || "";
|
|
20152
20155
|
if (validTabIds.has(fromUrl)) {
|
|
20153
20156
|
return fromUrl;
|
|
20154
20157
|
}
|
|
20155
20158
|
}
|
|
20156
|
-
return defaultTab || _optionalChain([tabs, 'access',
|
|
20159
|
+
return defaultTab || _optionalChain([tabs, 'access', _478 => _478[0], 'optionalAccess', _479 => _479.id]) || "";
|
|
20157
20160
|
};
|
|
20158
20161
|
const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
|
|
20159
20162
|
const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
|
|
20160
20163
|
_react.useEffect.call(void 0, () => {
|
|
20161
20164
|
if (!isUrlSyncEnabled) return;
|
|
20162
|
-
const fromUrl = _optionalChain([searchParams, 'optionalAccess',
|
|
20163
|
-
const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access',
|
|
20165
|
+
const fromUrl = _optionalChain([searchParams, 'optionalAccess', _480 => _480.get, 'call', _481 => _481(paramName)]) || "";
|
|
20166
|
+
const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _482 => _482[0], 'optionalAccess', _483 => _483.id]) || "";
|
|
20164
20167
|
if (nextTab !== internalActiveTab) {
|
|
20165
20168
|
setInternalActiveTab(nextTab);
|
|
20166
20169
|
}
|
|
@@ -20168,13 +20171,13 @@ function TabNavigation({
|
|
|
20168
20171
|
const handleTabChange = (tabId) => {
|
|
20169
20172
|
if (isUrlSyncEnabled) {
|
|
20170
20173
|
setInternalActiveTab(tabId);
|
|
20171
|
-
const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess',
|
|
20174
|
+
const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _484 => _484.toString, 'call', _485 => _485()]));
|
|
20172
20175
|
params.set(paramName, tabId);
|
|
20173
20176
|
const method = replaceState ? "replace" : "push";
|
|
20174
20177
|
router[method](`${pathname}?${params.toString()}`);
|
|
20175
|
-
_optionalChain([controlledOnTabChange, 'optionalCall', _485 => _485(tabId)]);
|
|
20176
|
-
} else {
|
|
20177
20178
|
_optionalChain([controlledOnTabChange, 'optionalCall', _486 => _486(tabId)]);
|
|
20179
|
+
} else {
|
|
20180
|
+
_optionalChain([controlledOnTabChange, 'optionalCall', _487 => _487(tabId)]);
|
|
20178
20181
|
}
|
|
20179
20182
|
};
|
|
20180
20183
|
const scrollRef = _react.useRef.call(void 0, null);
|
|
@@ -20262,7 +20265,7 @@ function TabNavigation({
|
|
|
20262
20265
|
var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
|
|
20263
20266
|
var getTabComponent = (tabs, tabId) => {
|
|
20264
20267
|
const tab = getTabById(tabs, tabId);
|
|
20265
|
-
return _optionalChain([tab, 'optionalAccess',
|
|
20268
|
+
return _optionalChain([tab, 'optionalAccess', _488 => _488.component]) || null;
|
|
20266
20269
|
};
|
|
20267
20270
|
|
|
20268
20271
|
// src/components/ui/alert.tsx
|
|
@@ -20444,12 +20447,12 @@ function SortColumnItem({ column, currentDirection, onSort, onClear }) {
|
|
|
20444
20447
|
};
|
|
20445
20448
|
const getSortIcon = () => {
|
|
20446
20449
|
if (currentDirection === "asc") {
|
|
20447
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20450
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Arrow01UpIcon, { className: "w-4 h-4 text-ods-accent" });
|
|
20448
20451
|
}
|
|
20449
20452
|
if (currentDirection === "desc") {
|
|
20450
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20453
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Arrow01DownIcon, { className: "w-4 h-4 text-ods-accent" });
|
|
20451
20454
|
}
|
|
20452
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20455
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.SwitchVrIcon, { className: "w-4 h-4 text-ods-text-secondary" });
|
|
20453
20456
|
};
|
|
20454
20457
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
20455
20458
|
"div",
|
|
@@ -20599,16 +20602,16 @@ function FilterModal({
|
|
|
20599
20602
|
};
|
|
20600
20603
|
const handleReset = () => {
|
|
20601
20604
|
onFilterChange({});
|
|
20602
|
-
_optionalChain([onTagsChange, 'optionalCall',
|
|
20605
|
+
_optionalChain([onTagsChange, 'optionalCall', _489 => _489([])]);
|
|
20603
20606
|
onClose();
|
|
20604
20607
|
};
|
|
20605
20608
|
const handleApply = () => {
|
|
20606
20609
|
onFilterChange(selectedFilters);
|
|
20607
|
-
_optionalChain([onTagsChange, 'optionalCall',
|
|
20610
|
+
_optionalChain([onTagsChange, 'optionalCall', _490 => _490(pendingTags)]);
|
|
20608
20611
|
onClose();
|
|
20609
20612
|
};
|
|
20610
20613
|
const getColumnDirection = (columnKey) => {
|
|
20611
|
-
return _optionalChain([sortConfig, 'optionalAccess',
|
|
20614
|
+
return _optionalChain([sortConfig, 'optionalAccess', _491 => _491.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
|
|
20612
20615
|
};
|
|
20613
20616
|
const hasSort = !!sortConfig && sortConfig.columns.length > 0;
|
|
20614
20617
|
const hasFilterGroups = filterGroups.length > 0;
|
|
@@ -20644,7 +20647,7 @@ function FilterModal({
|
|
|
20644
20647
|
row
|
|
20645
20648
|
)) })
|
|
20646
20649
|
] }, group)) }) : isEmpty ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center justify-center gap-6 h-[240px] p-6", children: [
|
|
20647
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20650
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Filter02Icon, { className: "text-ods-text-secondary", size: 24 }),
|
|
20648
20651
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center text-center text-ods-text-secondary", children: [
|
|
20649
20652
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4", children: emptyStateTitle }),
|
|
20650
20653
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6", children: emptyStateDescription })
|
|
@@ -20657,7 +20660,7 @@ function FilterModal({
|
|
|
20657
20660
|
{
|
|
20658
20661
|
column,
|
|
20659
20662
|
currentDirection: getColumnDirection(column.key),
|
|
20660
|
-
onSort: (direction) => _optionalChain([onSort, 'optionalCall',
|
|
20663
|
+
onSort: (direction) => _optionalChain([onSort, 'optionalCall', _492 => _492(column.key, direction)]),
|
|
20661
20664
|
onClear: onSortClear ? () => onSortClear(column.key) : void 0
|
|
20662
20665
|
},
|
|
20663
20666
|
column.key
|
|
@@ -20724,7 +20727,7 @@ function ListPageLayout({
|
|
|
20724
20727
|
}) {
|
|
20725
20728
|
const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
|
|
20726
20729
|
const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
|
|
20727
|
-
const debouncedSearchValue =
|
|
20730
|
+
const debouncedSearchValue = _chunkHIMEIPEDcjs.useDebounce.call(void 0, localSearchValue, 500);
|
|
20728
20731
|
_react.useEffect.call(void 0, () => {
|
|
20729
20732
|
setLocalSearchValue(searchValue);
|
|
20730
20733
|
}, [searchValue]);
|
|
@@ -20770,7 +20773,7 @@ function ListPageLayout({
|
|
|
20770
20773
|
className: "md:hidden",
|
|
20771
20774
|
onClick: () => setMobileFilterOpen(true),
|
|
20772
20775
|
"aria-label": "Open filters",
|
|
20773
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20776
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Filter02Icon, {})
|
|
20774
20777
|
}
|
|
20775
20778
|
)
|
|
20776
20779
|
] }),
|
|
@@ -20823,9 +20826,9 @@ function TitleBlock({
|
|
|
20823
20826
|
const [imageFailed, setImageFailed] = React37.default.useState(false);
|
|
20824
20827
|
React37.default.useEffect(() => {
|
|
20825
20828
|
setImageFailed(false);
|
|
20826
|
-
}, [_optionalChain([image, 'optionalAccess',
|
|
20829
|
+
}, [_optionalChain([image, 'optionalAccess', _493 => _493.src])]);
|
|
20827
20830
|
const showImageFallback = !!image && (imageFailed || !image.src);
|
|
20828
|
-
const initials = getInitials3(_optionalChain([image, 'optionalAccess',
|
|
20831
|
+
const initials = getInitials3(_optionalChain([image, 'optionalAccess', _494 => _494.alt]) || title);
|
|
20829
20832
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
20830
20833
|
"div",
|
|
20831
20834
|
{
|
|
@@ -21463,7 +21466,7 @@ function DashboardInfoCard({
|
|
|
21463
21466
|
percentage,
|
|
21464
21467
|
"%)"
|
|
21465
21468
|
] })),
|
|
21466
|
-
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FloatingTooltip, { content: tooltip, side: "top", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "cursor-help text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21469
|
+
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FloatingTooltip, { content: tooltip, side: "top", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "cursor-help text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.QuestionCircleIcon, { size: 20 }) }) })
|
|
21467
21470
|
] })
|
|
21468
21471
|
] }),
|
|
21469
21472
|
showProgress && percentage !== void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -21621,26 +21624,26 @@ function DeviceCard({
|
|
|
21621
21624
|
] }),
|
|
21622
21625
|
device.organization && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate", children: device.organization })
|
|
21623
21626
|
] }),
|
|
21624
|
-
_optionalChain([actions, 'access',
|
|
21627
|
+
_optionalChain([actions, 'access', _495 => _495.moreButton, 'optionalAccess', _496 => _496.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21625
21628
|
"div",
|
|
21626
21629
|
{
|
|
21627
21630
|
className: "flex items-center justify-center p-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors",
|
|
21628
21631
|
onClick: (e) => {
|
|
21629
21632
|
e.stopPropagation();
|
|
21630
|
-
_optionalChain([actions, 'access',
|
|
21633
|
+
_optionalChain([actions, 'access', _497 => _497.moreButton, 'optionalAccess', _498 => _498.onClick, 'optionalCall', _499 => _499()]);
|
|
21631
21634
|
},
|
|
21632
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21635
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
|
|
21633
21636
|
}
|
|
21634
21637
|
),
|
|
21635
|
-
_optionalChain([actions, 'access',
|
|
21636
|
-
_optionalChain([actions, 'access',
|
|
21638
|
+
_optionalChain([actions, 'access', _500 => _500.detailsButton, 'optionalAccess', _501 => _501.visible]) !== false && _optionalChain([actions, 'access', _502 => _502.detailsButton, 'optionalAccess', _503 => _503.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
|
|
21639
|
+
_optionalChain([actions, 'access', _504 => _504.customActions, 'optionalAccess', _505 => _505.map, 'call', _506 => _506(
|
|
21637
21640
|
(action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21638
21641
|
"div",
|
|
21639
21642
|
{
|
|
21640
21643
|
className: "flex items-center justify-center px-4 py-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors",
|
|
21641
21644
|
onClick: (e) => {
|
|
21642
21645
|
e.stopPropagation();
|
|
21643
|
-
_optionalChain([action, 'access',
|
|
21646
|
+
_optionalChain([action, 'access', _507 => _507.onClick, 'optionalCall', _508 => _508()]);
|
|
21644
21647
|
},
|
|
21645
21648
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
|
|
21646
21649
|
},
|
|
@@ -21981,7 +21984,7 @@ function MoreActionsMenu({
|
|
|
21981
21984
|
size: "icon",
|
|
21982
21985
|
className: className || "bg-ods-card border-ods-border hover:bg-ods-bg-hover flex items-center justify-center",
|
|
21983
21986
|
"aria-label": ariaLabel,
|
|
21984
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21987
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Ellipsis01Icon, { size: 24, className: "text-ods-text-primary" })
|
|
21985
21988
|
}
|
|
21986
21989
|
) }),
|
|
21987
21990
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -21999,7 +22002,7 @@ function MoreActionsMenu({
|
|
|
21999
22002
|
] });
|
|
22000
22003
|
const handleActivate = (e) => {
|
|
22001
22004
|
e.stopPropagation();
|
|
22002
|
-
if (!item.disabled) _optionalChain([item, 'access',
|
|
22005
|
+
if (!item.disabled) _optionalChain([item, 'access', _509 => _509.onClick, 'optionalCall', _510 => _510()]);
|
|
22003
22006
|
};
|
|
22004
22007
|
if (item.href) {
|
|
22005
22008
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22098,7 +22101,7 @@ function DropdownButton({
|
|
|
22098
22101
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: label })
|
|
22099
22102
|
] }),
|
|
22100
22103
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex items-center justify-center border-l border-ods-border p-[var(--spacing-system-sf)] [&_svg]:w-6 [&_svg]:h-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22101
|
-
|
|
22104
|
+
_chunkVJTFBYVGcjs.Chevron02DownIcon,
|
|
22102
22105
|
{
|
|
22103
22106
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0, "transition-transform duration-fast", open && "rotate-180")
|
|
22104
22107
|
}
|
|
@@ -22149,7 +22152,7 @@ function OrganizationIcon({
|
|
|
22149
22152
|
backgroundStyle = "dark"
|
|
22150
22153
|
}) {
|
|
22151
22154
|
const { width, height } = imageSizeMap2[size];
|
|
22152
|
-
const initials = _optionalChain([organizationName, 'optionalAccess',
|
|
22155
|
+
const initials = _optionalChain([organizationName, 'optionalAccess', _511 => _511.substring, 'call', _512 => _512(0, 2)]) || "??";
|
|
22153
22156
|
const containerClasses = _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
22154
22157
|
sizeClasses3[size],
|
|
22155
22158
|
"rounded-lg flex items-center justify-center flex-shrink-0 relative",
|
|
@@ -22200,7 +22203,7 @@ function OrganizationCard({
|
|
|
22200
22203
|
const handleActionClick = (e) => {
|
|
22201
22204
|
e.preventDefault();
|
|
22202
22205
|
e.stopPropagation();
|
|
22203
|
-
_optionalChain([actionButton, 'optionalAccess',
|
|
22206
|
+
_optionalChain([actionButton, 'optionalAccess', _513 => _513.onClick, 'call', _514 => _514(organization, e)]);
|
|
22204
22207
|
};
|
|
22205
22208
|
const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22206
22209
|
"div",
|
|
@@ -22357,7 +22360,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
|
|
|
22357
22360
|
onKeyDown: (e) => {
|
|
22358
22361
|
if (e.key === "Enter" || e.key === " ") {
|
|
22359
22362
|
e.preventDefault();
|
|
22360
|
-
_optionalChain([onClick, 'optionalCall',
|
|
22363
|
+
_optionalChain([onClick, 'optionalCall', _515 => _515()]);
|
|
22361
22364
|
}
|
|
22362
22365
|
},
|
|
22363
22366
|
children: [
|
|
@@ -22366,7 +22369,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
|
|
|
22366
22369
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-5 text-white", children: log.title }),
|
|
22367
22370
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
22368
22371
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['Azeret_Mono'] font-normal text-[13px] leading-4 text-[#888888] uppercase tracking-wider", children: formatTimestamp(log.timestamp) }),
|
|
22369
|
-
log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22372
|
+
log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHIMEIPEDcjs.ToolIcon, { toolType: log.toolType, size: 16 })
|
|
22370
22373
|
] })
|
|
22371
22374
|
] })
|
|
22372
22375
|
]
|
|
@@ -22458,7 +22461,7 @@ var LogsList = React79.forwardRef(({
|
|
|
22458
22461
|
log,
|
|
22459
22462
|
isLast: index === logs.length - 1,
|
|
22460
22463
|
showConnector,
|
|
22461
|
-
onClick: () => _optionalChain([onLogClick, 'optionalCall',
|
|
22464
|
+
onClick: () => _optionalChain([onLogClick, 'optionalCall', _516 => _516(log)])
|
|
22462
22465
|
},
|
|
22463
22466
|
log.id
|
|
22464
22467
|
))
|
|
@@ -22571,7 +22574,7 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
|
|
|
22571
22574
|
}
|
|
22572
22575
|
function ServiceCardRowItem({ row }) {
|
|
22573
22576
|
const [revealed, setRevealed] = _react.useState.call(void 0, false);
|
|
22574
|
-
const { copy, copied } =
|
|
22577
|
+
const { copy, copied } = _chunkHIMEIPEDcjs.useCopyToClipboard.call(void 0, );
|
|
22575
22578
|
const actions = _react.useMemo.call(void 0, () => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }), [row]);
|
|
22576
22579
|
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 });
|
|
22577
22580
|
const handleCopy = () => copy(_nullishCoalesce(row.copyValue, () => ( row.value)));
|
|
@@ -22602,7 +22605,7 @@ function ServiceCardRowItem({ row }) {
|
|
|
22602
22605
|
copied ? "text-ods-success" : "text-ods-text-secondary"
|
|
22603
22606
|
),
|
|
22604
22607
|
"aria-label": `Copy ${_nullishCoalesce(row.label, () => ( "value"))}`,
|
|
22605
|
-
children: copied ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22608
|
+
children: copied ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.CheckIcon, { size: 20 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Copy01Icon, { size: 20 })
|
|
22606
22609
|
}
|
|
22607
22610
|
),
|
|
22608
22611
|
actions.open && row.href && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -23047,7 +23050,7 @@ function CursorPaginationSimple({
|
|
|
23047
23050
|
{
|
|
23048
23051
|
variant: "transparent",
|
|
23049
23052
|
size: "icon",
|
|
23050
|
-
onClick: () => _optionalChain([onPrevious, 'optionalCall',
|
|
23053
|
+
onClick: () => _optionalChain([onPrevious, 'optionalCall', _517 => _517("")]),
|
|
23051
23054
|
disabled: !hasPreviousPage || loading,
|
|
23052
23055
|
className: "h-8 w-8",
|
|
23053
23056
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
|
|
@@ -23059,7 +23062,7 @@ function CursorPaginationSimple({
|
|
|
23059
23062
|
{
|
|
23060
23063
|
variant: "transparent",
|
|
23061
23064
|
size: "icon",
|
|
23062
|
-
onClick: () => _optionalChain([onNext, 'optionalCall',
|
|
23065
|
+
onClick: () => _optionalChain([onNext, 'optionalCall', _518 => _518("")]),
|
|
23063
23066
|
disabled: !hasNextPage || loading,
|
|
23064
23067
|
className: "h-8 w-8",
|
|
23065
23068
|
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
|
|
@@ -23119,7 +23122,7 @@ function TableColumnFilterDropdown({
|
|
|
23119
23122
|
placement = "bottom-start",
|
|
23120
23123
|
dropdownClassName = "min-w-[240px]"
|
|
23121
23124
|
}) {
|
|
23122
|
-
const activeCount = _optionalChain([filters, 'optionalAccess',
|
|
23125
|
+
const activeCount = _optionalChain([filters, 'optionalAccess', _519 => _519[columnKey], 'optionalAccess', _520 => _520.length]) || 0;
|
|
23123
23126
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23124
23127
|
FiltersDropdown,
|
|
23125
23128
|
{
|
|
@@ -23131,7 +23134,7 @@ function TableColumnFilterDropdown({
|
|
|
23131
23134
|
children: [
|
|
23132
23135
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-medium text-[12px] leading-[16px] uppercase text-ods-text-secondary select-none", children: columnLabel }),
|
|
23133
23136
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23134
|
-
|
|
23137
|
+
_chunkVJTFBYVGcjs.Filter02Icon,
|
|
23135
23138
|
{
|
|
23136
23139
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
23137
23140
|
"w-4 h-4 transition-colors",
|
|
@@ -23162,7 +23165,7 @@ function TableColumnFilterDropdown({
|
|
|
23162
23165
|
delete newFilters[columnKey];
|
|
23163
23166
|
onFilterChange(newFilters);
|
|
23164
23167
|
},
|
|
23165
|
-
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess',
|
|
23168
|
+
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _521 => _521[columnKey]]) || [] },
|
|
23166
23169
|
placement,
|
|
23167
23170
|
dropdownClassName
|
|
23168
23171
|
}
|
|
@@ -23233,11 +23236,11 @@ function TableHeader({
|
|
|
23233
23236
|
const columnKey = column.sortKey || column.key;
|
|
23234
23237
|
const isActive = sortBy === columnKey;
|
|
23235
23238
|
if (!isActive) {
|
|
23236
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23239
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.SwitchVrIcon, { className: "w-4 h-4 text-ods-text-secondary" });
|
|
23237
23240
|
}
|
|
23238
|
-
return sortDirection === "asc" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23241
|
+
return sortDirection === "asc" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Arrow01UpIcon, { className: "w-4 h-4 text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Arrow01DownIcon, { className: "w-4 h-4 text-ods-accent" });
|
|
23239
23242
|
};
|
|
23240
|
-
const isLgUp = _nullishCoalesce(
|
|
23243
|
+
const isLgUp = _nullishCoalesce(_chunkHIMEIPEDcjs.useLgUp.call(void 0, ), () => ( false));
|
|
23241
23244
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23242
23245
|
"div",
|
|
23243
23246
|
{
|
|
@@ -23459,7 +23462,7 @@ function TableRow({
|
|
|
23459
23462
|
const keys = column.key.split(".");
|
|
23460
23463
|
let value = item;
|
|
23461
23464
|
for (const key of keys) {
|
|
23462
|
-
value = _optionalChain([value, 'optionalAccess',
|
|
23465
|
+
value = _optionalChain([value, 'optionalAccess', _522 => _522[key]]);
|
|
23463
23466
|
}
|
|
23464
23467
|
if (value === null || value === void 0) {
|
|
23465
23468
|
return "-";
|
|
@@ -23529,7 +23532,7 @@ function TableRow({
|
|
|
23529
23532
|
// src/components/ui/table/table.tsx
|
|
23530
23533
|
|
|
23531
23534
|
function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
|
|
23532
|
-
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess',
|
|
23535
|
+
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _523 => _523.length])) || Boolean(renderRowActions);
|
|
23533
23536
|
const result = [...columns];
|
|
23534
23537
|
if (hasActions) {
|
|
23535
23538
|
const actionsColumn = {
|
|
@@ -23570,7 +23573,7 @@ function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref)
|
|
|
23570
23573
|
prefetch: false,
|
|
23571
23574
|
variant: "outline",
|
|
23572
23575
|
size: "icon",
|
|
23573
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23576
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Chevron02RightIcon, { className: "w-6 h-6" }),
|
|
23574
23577
|
"aria-label": "View details"
|
|
23575
23578
|
}
|
|
23576
23579
|
) });
|
|
@@ -23623,7 +23626,7 @@ function Table({
|
|
|
23623
23626
|
return rowKey(item);
|
|
23624
23627
|
}
|
|
23625
23628
|
const key = item[rowKey];
|
|
23626
|
-
return _optionalChain([key, 'optionalAccess',
|
|
23629
|
+
return _optionalChain([key, 'optionalAccess', _524 => _524.toString, 'call', _525 => _525()]) || index.toString();
|
|
23627
23630
|
};
|
|
23628
23631
|
const getRowClassName = (item, index) => {
|
|
23629
23632
|
if (typeof rowClassName === "function") {
|
|
@@ -23657,23 +23660,23 @@ function Table({
|
|
|
23657
23660
|
const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
|
|
23658
23661
|
const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
|
|
23659
23662
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
23660
|
-
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess',
|
|
23661
|
-
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess',
|
|
23663
|
+
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _526 => _526.onLoadMore]));
|
|
23664
|
+
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _527 => _527.onLoadMore]);
|
|
23662
23665
|
_react.useEffect.call(void 0, () => {
|
|
23663
|
-
if (!_optionalChain([infiniteScroll, 'optionalAccess',
|
|
23666
|
+
if (!_optionalChain([infiniteScroll, 'optionalAccess', _528 => _528.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
|
|
23664
23667
|
const sentinel = sentinelRef.current;
|
|
23665
23668
|
if (!sentinel) return;
|
|
23666
23669
|
const observer = new IntersectionObserver(
|
|
23667
23670
|
(entries) => {
|
|
23668
|
-
if (_optionalChain([entries, 'access',
|
|
23669
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
23671
|
+
if (_optionalChain([entries, 'access', _529 => _529[0], 'optionalAccess', _530 => _530.isIntersecting])) {
|
|
23672
|
+
_optionalChain([onLoadMoreRef, 'access', _531 => _531.current, 'optionalCall', _532 => _532()]);
|
|
23670
23673
|
}
|
|
23671
23674
|
},
|
|
23672
23675
|
{ rootMargin: "200px" }
|
|
23673
23676
|
);
|
|
23674
23677
|
observer.observe(sentinel);
|
|
23675
23678
|
return () => observer.disconnect();
|
|
23676
|
-
}, [_optionalChain([infiniteScroll, 'optionalAccess',
|
|
23679
|
+
}, [_optionalChain([infiniteScroll, 'optionalAccess', _533 => _533.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _534 => _534.isFetchingNextPage])]);
|
|
23677
23680
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
|
|
23678
23681
|
showToolbar && bulkActions && selectedRows.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between bg-ods-card border border-ods-border rounded-[6px] p-3 mb-2", children: [
|
|
23679
23682
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
|
|
@@ -23744,7 +23747,7 @@ function Table({
|
|
|
23744
23747
|
},
|
|
23745
23748
|
getRowKey(item, index)
|
|
23746
23749
|
)),
|
|
23747
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
23750
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _535 => _535.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23748
23751
|
TableCardSkeleton,
|
|
23749
23752
|
{
|
|
23750
23753
|
columns,
|
|
@@ -23753,7 +23756,7 @@ function Table({
|
|
|
23753
23756
|
hasChevron: Boolean(rowHref)
|
|
23754
23757
|
}
|
|
23755
23758
|
),
|
|
23756
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
23759
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _536 => _536.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
|
|
23757
23760
|
!infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23758
23761
|
"div",
|
|
23759
23762
|
{
|
|
@@ -24111,7 +24114,7 @@ function QueryReportTable({
|
|
|
24111
24114
|
);
|
|
24112
24115
|
const handleExport = () => {
|
|
24113
24116
|
exportToCSV(data, columns, exportFilename);
|
|
24114
|
-
_optionalChain([onExport, 'optionalCall',
|
|
24117
|
+
_optionalChain([onExport, 'optionalCall', _537 => _537()]);
|
|
24115
24118
|
};
|
|
24116
24119
|
const tableMinWidth = columns.length * (columnWidth + 16);
|
|
24117
24120
|
const {
|
|
@@ -24127,7 +24130,7 @@ function QueryReportTable({
|
|
|
24127
24130
|
onThumbPointerDown,
|
|
24128
24131
|
onThumbPointerMove,
|
|
24129
24132
|
onThumbPointerUp
|
|
24130
|
-
} =
|
|
24133
|
+
} = _chunkHIMEIPEDcjs.useHorizontalScrollbar.call(void 0, );
|
|
24131
24134
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "flex flex-col w-full", isCompact ? "gap-0" : "gap-6", className), children: [
|
|
24132
24135
|
!isCompact && (title || headerActions || showExport && data.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between pt-6", children: [
|
|
24133
24136
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "font-mono font-semibold text-[32px] leading-[40px] text-ods-text-primary", children: title }),
|
|
@@ -24139,7 +24142,7 @@ function QueryReportTable({
|
|
|
24139
24142
|
className: "bg-ods-card",
|
|
24140
24143
|
variant: "outline",
|
|
24141
24144
|
size: "small-legacy",
|
|
24142
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24145
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Download02Icon, { size: 18 }),
|
|
24143
24146
|
onClick: handleExport,
|
|
24144
24147
|
children: "Export CSV"
|
|
24145
24148
|
}
|
|
@@ -24284,7 +24287,7 @@ function DataTableColumnFilter({
|
|
|
24284
24287
|
align = "left"
|
|
24285
24288
|
}) {
|
|
24286
24289
|
const currentValue = column.getFilterValue();
|
|
24287
|
-
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess',
|
|
24290
|
+
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _538 => _538.length]), () => ( 0));
|
|
24288
24291
|
const sections = _react.useMemo.call(void 0,
|
|
24289
24292
|
() => [
|
|
24290
24293
|
{
|
|
@@ -24326,7 +24329,7 @@ function DataTableColumnFilter({
|
|
|
24326
24329
|
children: [
|
|
24327
24330
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5 text-ods-text-secondary whitespace-nowrap transition-colors duration-200 group-hover:text-ods-text-primary", children: label }),
|
|
24328
24331
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24329
|
-
|
|
24332
|
+
_chunkVJTFBYVGcjs.Filter02Icon,
|
|
24330
24333
|
{
|
|
24331
24334
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
24332
24335
|
"w-4 h-4 transition-colors",
|
|
@@ -24358,13 +24361,13 @@ function DataTableHeader({
|
|
|
24358
24361
|
onSortChange
|
|
24359
24362
|
}) {
|
|
24360
24363
|
const table = useDataTableContext();
|
|
24361
|
-
const isLgUp = _nullishCoalesce(
|
|
24364
|
+
const isLgUp = _nullishCoalesce(_chunkHIMEIPEDcjs.useLgUp.call(void 0, ), () => ( false));
|
|
24362
24365
|
const headerGroup = table.getHeaderGroups()[0];
|
|
24363
24366
|
if (!headerGroup) return null;
|
|
24364
24367
|
const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
|
|
24365
24368
|
if (header.isPlaceholder) return false;
|
|
24366
24369
|
if (isLgUp) return true;
|
|
24367
|
-
return Boolean(_optionalChain([header, 'access',
|
|
24370
|
+
return Boolean(_optionalChain([header, 'access', _539 => _539.column, 'access', _540 => _540.columnDef, 'access', _541 => _541.meta, 'optionalAccess', _542 => _542.filter]));
|
|
24368
24371
|
});
|
|
24369
24372
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24370
24373
|
"div",
|
|
@@ -24394,20 +24397,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
24394
24397
|
if (header.isPlaceholder) return null;
|
|
24395
24398
|
const column = header.column;
|
|
24396
24399
|
const meta = column.columnDef.meta;
|
|
24397
|
-
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess',
|
|
24398
|
-
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
24399
|
-
const canSort = _optionalChain([meta, 'optionalAccess',
|
|
24400
|
-
const sortDir = _optionalChain([sort, 'optionalAccess',
|
|
24400
|
+
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _543 => _543.filter]));
|
|
24401
|
+
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _544 => _544.align]), () => ( "left"));
|
|
24402
|
+
const canSort = _optionalChain([meta, 'optionalAccess', _545 => _545.sortable]) === true;
|
|
24403
|
+
const sortDir = _optionalChain([sort, 'optionalAccess', _546 => _546.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
|
|
24401
24404
|
if (!isLgUp && !hasFilter) return null;
|
|
24402
24405
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24403
24406
|
"div",
|
|
24404
24407
|
{
|
|
24405
24408
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
24406
24409
|
"flex items-stretch",
|
|
24407
|
-
isLgUp && (_optionalChain([meta, 'optionalAccess',
|
|
24408
|
-
_optionalChain([meta, 'optionalAccess',
|
|
24410
|
+
isLgUp && (_optionalChain([meta, 'optionalAccess', _547 => _547.width]) || "flex-1 min-w-0"),
|
|
24411
|
+
_optionalChain([meta, 'optionalAccess', _548 => _548.headerClassName]),
|
|
24409
24412
|
// Don't apply hide classes if column is filterable on tablet (keep filter accessible)
|
|
24410
|
-
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
24413
|
+
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _549 => _549.hideAt]))
|
|
24411
24414
|
),
|
|
24412
24415
|
children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24413
24416
|
DataTableColumnFilter,
|
|
@@ -24426,7 +24429,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
24426
24429
|
isLgUp && alignJustify(align),
|
|
24427
24430
|
canSort && "group cursor-pointer"
|
|
24428
24431
|
),
|
|
24429
|
-
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall',
|
|
24432
|
+
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _550 => _550(column.id)]) : void 0,
|
|
24430
24433
|
children: [
|
|
24431
24434
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
24432
24435
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -24445,9 +24448,9 @@ function HeaderLabel({ header }) {
|
|
|
24445
24448
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _reacttable.flexRender.call(void 0, headerDef, header.getContext()) });
|
|
24446
24449
|
}
|
|
24447
24450
|
function SortIcon({ sorted }) {
|
|
24448
|
-
if (sorted === "asc") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24449
|
-
if (sorted === "desc") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24450
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24451
|
+
if (sorted === "asc") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Arrow01UpIcon, { className: "w-4 h-4 text-ods-accent" });
|
|
24452
|
+
if (sorted === "desc") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Arrow01DownIcon, { className: "w-4 h-4 text-ods-accent" });
|
|
24453
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.SwitchVrIcon, { className: "w-4 h-4 text-ods-text-secondary transition-colors duration-200 group-hover:text-ods-text-primary" });
|
|
24451
24454
|
}
|
|
24452
24455
|
function resolveHeaderLabel(header) {
|
|
24453
24456
|
const h = header.column.columnDef.header;
|
|
@@ -24510,7 +24513,7 @@ function DataTableSkeleton({
|
|
|
24510
24513
|
}) {
|
|
24511
24514
|
const table = useDataTableContext();
|
|
24512
24515
|
const columns = table.getVisibleFlatColumns();
|
|
24513
|
-
const firstColumnId = _optionalChain([columns, 'access',
|
|
24516
|
+
const firstColumnId = _optionalChain([columns, 'access', _551 => _551[0], 'optionalAccess', _552 => _552.id]);
|
|
24514
24517
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24515
24518
|
"div",
|
|
24516
24519
|
{
|
|
@@ -24534,7 +24537,7 @@ function DataTableSkeleton({
|
|
|
24534
24537
|
{
|
|
24535
24538
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
24536
24539
|
"flex flex-col justify-center shrink-0",
|
|
24537
|
-
_optionalChain([meta, 'optionalAccess',
|
|
24540
|
+
_optionalChain([meta, 'optionalAccess', _553 => _553.width]) || "flex-1"
|
|
24538
24541
|
),
|
|
24539
24542
|
children: [
|
|
24540
24543
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
|
|
@@ -24580,7 +24583,7 @@ function DataTableRowImpl({
|
|
|
24580
24583
|
(e) => {
|
|
24581
24584
|
const target = e.target;
|
|
24582
24585
|
if (target.closest("[data-no-row-click]")) return;
|
|
24583
|
-
_optionalChain([onClick, 'optionalCall',
|
|
24586
|
+
_optionalChain([onClick, 'optionalCall', _554 => _554(row.original)]);
|
|
24584
24587
|
},
|
|
24585
24588
|
[onClick, row.original]
|
|
24586
24589
|
);
|
|
@@ -24618,10 +24621,10 @@ function DataTableRowImpl({
|
|
|
24618
24621
|
{
|
|
24619
24622
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
24620
24623
|
"flex flex-col overflow-hidden",
|
|
24621
|
-
alignJustify(_optionalChain([meta, 'optionalAccess',
|
|
24622
|
-
_optionalChain([meta, 'optionalAccess',
|
|
24623
|
-
_optionalChain([meta, 'optionalAccess',
|
|
24624
|
-
getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
24624
|
+
alignJustify(_optionalChain([meta, 'optionalAccess', _555 => _555.align])),
|
|
24625
|
+
_optionalChain([meta, 'optionalAccess', _556 => _556.width]) || "flex-1 min-w-0",
|
|
24626
|
+
_optionalChain([meta, 'optionalAccess', _557 => _557.cellClassName]),
|
|
24627
|
+
getHideClasses2(_optionalChain([meta, 'optionalAccess', _558 => _558.hideAt]))
|
|
24625
24628
|
),
|
|
24626
24629
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
|
|
24627
24630
|
},
|
|
@@ -24667,7 +24670,7 @@ function DataTableBody({
|
|
|
24667
24670
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
|
|
24668
24671
|
rows.map((row, index) => {
|
|
24669
24672
|
const item = row.original;
|
|
24670
|
-
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall',
|
|
24673
|
+
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _559 => _559(item)]), () => ( void 0));
|
|
24671
24674
|
const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
|
|
24672
24675
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24673
24676
|
DataTableRow,
|
|
@@ -24731,7 +24734,7 @@ function DataTableInfiniteFooter({
|
|
|
24731
24734
|
if (!sentinel) return;
|
|
24732
24735
|
const observer = new IntersectionObserver(
|
|
24733
24736
|
(entries) => {
|
|
24734
|
-
if (_optionalChain([entries, 'access',
|
|
24737
|
+
if (_optionalChain([entries, 'access', _560 => _560[0], 'optionalAccess', _561 => _561.isIntersecting])) onLoadMoreRef.current();
|
|
24735
24738
|
},
|
|
24736
24739
|
{ rootMargin }
|
|
24737
24740
|
);
|
|
@@ -24779,7 +24782,7 @@ function DataTableRowCount({
|
|
|
24779
24782
|
const table = useDataTableContext();
|
|
24780
24783
|
const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
|
|
24781
24784
|
if (hideWhenEmpty && count === 0) return null;
|
|
24782
|
-
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall',
|
|
24785
|
+
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _562 => _562(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
|
|
24783
24786
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24784
24787
|
"span",
|
|
24785
24788
|
{
|
|
@@ -24873,12 +24876,12 @@ function PhoneInput({
|
|
|
24873
24876
|
const runValidation = _react.useCallback.call(void 0, (phone) => {
|
|
24874
24877
|
if (!phone || digitCount(phone) === 0) {
|
|
24875
24878
|
setIsInvalid(false);
|
|
24876
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
24879
|
+
_optionalChain([onValidationChange, 'optionalCall', _563 => _563(false)]);
|
|
24877
24880
|
return;
|
|
24878
24881
|
}
|
|
24879
24882
|
const invalid = !validatePhoneNumber(phone, countryCode);
|
|
24880
24883
|
setIsInvalid(invalid);
|
|
24881
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
24884
|
+
_optionalChain([onValidationChange, 'optionalCall', _564 => _564(invalid)]);
|
|
24882
24885
|
}, [countryCode, digitCount, onValidationChange]);
|
|
24883
24886
|
const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
|
|
24884
24887
|
if (debounceRef.current) clearTimeout(debounceRef.current);
|
|
@@ -24927,7 +24930,7 @@ function PhoneInput({
|
|
|
24927
24930
|
debouncedValidation(val);
|
|
24928
24931
|
} else if (digitCount(val) === 0) {
|
|
24929
24932
|
setIsInvalid(false);
|
|
24930
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
24933
|
+
_optionalChain([onValidationChange, 'optionalCall', _565 => _565(false)]);
|
|
24931
24934
|
}
|
|
24932
24935
|
}
|
|
24933
24936
|
},
|
|
@@ -25007,7 +25010,7 @@ function SearchInput({
|
|
|
25007
25010
|
}) {
|
|
25008
25011
|
const [internalValue, setInternalValue] = React83.useState(defaultValue);
|
|
25009
25012
|
const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
|
|
25010
|
-
const debouncedValue =
|
|
25013
|
+
const debouncedValue = _chunkHIMEIPEDcjs.useDebounce.call(void 0, currentValue, debounceMs);
|
|
25011
25014
|
const [isOpen, setIsOpen] = React83.useState(false);
|
|
25012
25015
|
const [highlightedIndex, setHighlightedIndex] = React83.useState(-1);
|
|
25013
25016
|
const containerRef = React83.useRef(null);
|
|
@@ -25019,7 +25022,7 @@ function SearchInput({
|
|
|
25019
25022
|
textMeasureRef,
|
|
25020
25023
|
badgeRef,
|
|
25021
25024
|
inputRef
|
|
25022
|
-
} =
|
|
25025
|
+
} = _chunkHIMEIPEDcjs.useAutoLimitTags.call(void 0, {
|
|
25023
25026
|
count: filterChips.length,
|
|
25024
25027
|
limitTags,
|
|
25025
25028
|
// When chips exist, pass empty placeholder so the hook only reserves input minWidth,
|
|
@@ -25034,7 +25037,7 @@ function SearchInput({
|
|
|
25034
25037
|
if (!showHiddenTags) return;
|
|
25035
25038
|
const handleClick = (e) => {
|
|
25036
25039
|
const target = e.target;
|
|
25037
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
25040
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _566 => _566.current, 'optionalAccess', _567 => _567.contains, 'call', _568 => _568(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _569 => _569.current, 'optionalAccess', _570 => _570.contains, 'call', _571 => _571(target)])) {
|
|
25038
25041
|
setShowHiddenTags(false);
|
|
25039
25042
|
}
|
|
25040
25043
|
};
|
|
@@ -25082,10 +25085,10 @@ function SearchInput({
|
|
|
25082
25085
|
} else {
|
|
25083
25086
|
setInternalValue("");
|
|
25084
25087
|
}
|
|
25085
|
-
_optionalChain([inputRef, 'access',
|
|
25088
|
+
_optionalChain([inputRef, 'access', _572 => _572.current, 'optionalAccess', _573 => _573.focus, 'call', _574 => _574()]);
|
|
25086
25089
|
};
|
|
25087
25090
|
const handleResultClick = (result) => {
|
|
25088
|
-
_optionalChain([onResultSelect, 'optionalCall',
|
|
25091
|
+
_optionalChain([onResultSelect, 'optionalCall', _575 => _575(result)]);
|
|
25089
25092
|
setIsOpen(false);
|
|
25090
25093
|
};
|
|
25091
25094
|
const handleKeyDown = (e) => {
|
|
@@ -25108,7 +25111,7 @@ function SearchInput({
|
|
|
25108
25111
|
if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
|
|
25109
25112
|
handleResultClick(flatResults[highlightedIndex]);
|
|
25110
25113
|
} else {
|
|
25111
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
25114
|
+
_optionalChain([onSubmit, 'optionalCall', _576 => _576(currentValue)]);
|
|
25112
25115
|
}
|
|
25113
25116
|
break;
|
|
25114
25117
|
case "Escape":
|
|
@@ -25186,7 +25189,7 @@ function SearchInput({
|
|
|
25186
25189
|
dropdownVisible && "!border-ods-accent"
|
|
25187
25190
|
),
|
|
25188
25191
|
onClick: () => {
|
|
25189
|
-
_optionalChain([inputRef, 'access',
|
|
25192
|
+
_optionalChain([inputRef, 'access', _577 => _577.current, 'optionalAccess', _578 => _578.focus, 'call', _579 => _579()]);
|
|
25190
25193
|
setIsOpen(true);
|
|
25191
25194
|
},
|
|
25192
25195
|
children: [
|
|
@@ -25246,7 +25249,7 @@ function SearchInput({
|
|
|
25246
25249
|
onClick: handleClear,
|
|
25247
25250
|
className: "flex items-center justify-center hover:opacity-70 transition-opacity",
|
|
25248
25251
|
"aria-label": "Clear search",
|
|
25249
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25252
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.XmarkCircleIcon, { className: "text-ods-text-secondary", size: 24 })
|
|
25250
25253
|
}
|
|
25251
25254
|
),
|
|
25252
25255
|
endAdornment
|
|
@@ -25270,10 +25273,10 @@ function SearchInput({
|
|
|
25270
25273
|
align: "start",
|
|
25271
25274
|
onOpenAutoFocus: (e) => {
|
|
25272
25275
|
e.preventDefault();
|
|
25273
|
-
_optionalChain([inputRef, 'access',
|
|
25276
|
+
_optionalChain([inputRef, 'access', _580 => _580.current, 'optionalAccess', _581 => _581.focus, 'call', _582 => _582()]);
|
|
25274
25277
|
},
|
|
25275
25278
|
onInteractOutside: (e) => {
|
|
25276
|
-
if (_optionalChain([containerRef, 'access',
|
|
25279
|
+
if (_optionalChain([containerRef, 'access', _583 => _583.current, 'optionalAccess', _584 => _584.contains, 'call', _585 => _585(e.target)])) {
|
|
25277
25280
|
e.preventDefault();
|
|
25278
25281
|
}
|
|
25279
25282
|
},
|
|
@@ -25290,10 +25293,10 @@ function SearchInput({
|
|
|
25290
25293
|
ref: hiddenTagsPopupRef,
|
|
25291
25294
|
items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
|
|
25292
25295
|
style: {
|
|
25293
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access',
|
|
25296
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _586 => _586.current, 'optionalAccess', _587 => _587.getBoundingClientRect, 'call', _588 => _588(), 'access', _589 => _589.left]), () => ( 0))) : 0
|
|
25294
25297
|
},
|
|
25295
25298
|
onRemove: (value2) => {
|
|
25296
|
-
_optionalChain([onFilterRemove, 'optionalCall',
|
|
25299
|
+
_optionalChain([onFilterRemove, 'optionalCall', _590 => _590(value2)]);
|
|
25297
25300
|
if (hiddenCount <= 1) setShowHiddenTags(false);
|
|
25298
25301
|
}
|
|
25299
25302
|
}
|
|
@@ -25344,7 +25347,7 @@ function FilterListItem({
|
|
|
25344
25347
|
}) {
|
|
25345
25348
|
const handleToggle = () => {
|
|
25346
25349
|
if (disabled) return;
|
|
25347
|
-
_optionalChain([onToggle, 'optionalCall',
|
|
25350
|
+
_optionalChain([onToggle, 'optionalCall', _591 => _591(!selected)]);
|
|
25348
25351
|
};
|
|
25349
25352
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25350
25353
|
"div",
|
|
@@ -25391,7 +25394,7 @@ function FilterListItem({
|
|
|
25391
25394
|
CheckboxPrimitive4.Root,
|
|
25392
25395
|
{
|
|
25393
25396
|
checked: selected,
|
|
25394
|
-
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall',
|
|
25397
|
+
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _592 => _592(c === true)]),
|
|
25395
25398
|
onClick: (e) => e.stopPropagation(),
|
|
25396
25399
|
disabled,
|
|
25397
25400
|
"aria-label": title,
|
|
@@ -25477,7 +25480,7 @@ function TagSearchInput({
|
|
|
25477
25480
|
textMeasureRef,
|
|
25478
25481
|
badgeRef,
|
|
25479
25482
|
inputRef
|
|
25480
|
-
} =
|
|
25483
|
+
} = _chunkHIMEIPEDcjs.useAutoLimitTags.call(void 0, {
|
|
25481
25484
|
count: tags.length,
|
|
25482
25485
|
limitTags,
|
|
25483
25486
|
placeholder: currentPlaceholder
|
|
@@ -25490,7 +25493,7 @@ function TagSearchInput({
|
|
|
25490
25493
|
if (!showHiddenTags) return;
|
|
25491
25494
|
const handleClick = (e) => {
|
|
25492
25495
|
const target = e.target;
|
|
25493
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
25496
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _593 => _593.current, 'optionalAccess', _594 => _594.contains, 'call', _595 => _595(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _596 => _596.current, 'optionalAccess', _597 => _597.contains, 'call', _598 => _598(target)])) {
|
|
25494
25497
|
setShowHiddenTags(false);
|
|
25495
25498
|
}
|
|
25496
25499
|
};
|
|
@@ -25506,13 +25509,13 @@ function TagSearchInput({
|
|
|
25506
25509
|
e.preventDefault();
|
|
25507
25510
|
onSubmit(searchValue);
|
|
25508
25511
|
}
|
|
25509
|
-
_optionalChain([onKeyDown, 'optionalCall',
|
|
25512
|
+
_optionalChain([onKeyDown, 'optionalCall', _599 => _599(e)]);
|
|
25510
25513
|
};
|
|
25511
25514
|
const handleClearAll = (e) => {
|
|
25512
25515
|
e.stopPropagation();
|
|
25513
25516
|
e.preventDefault();
|
|
25514
|
-
_optionalChain([onClearAll, 'optionalCall',
|
|
25515
|
-
_optionalChain([inputRef, 'access',
|
|
25517
|
+
_optionalChain([onClearAll, 'optionalCall', _600 => _600()]);
|
|
25518
|
+
_optionalChain([inputRef, 'access', _601 => _601.current, 'optionalAccess', _602 => _602.focus, 'call', _603 => _603()]);
|
|
25516
25519
|
};
|
|
25517
25520
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
|
|
25518
25521
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -25529,7 +25532,7 @@ function TagSearchInput({
|
|
|
25529
25532
|
className
|
|
25530
25533
|
),
|
|
25531
25534
|
onClick: () => {
|
|
25532
|
-
if (!disabled) _optionalChain([inputRef, 'access',
|
|
25535
|
+
if (!disabled) _optionalChain([inputRef, 'access', _604 => _604.current, 'optionalAccess', _605 => _605.focus, 'call', _606 => _606()]);
|
|
25533
25536
|
},
|
|
25534
25537
|
children: [
|
|
25535
25538
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 flex items-center pl-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "text-ods-text-secondary size-4 md:size-6" }) }),
|
|
@@ -25588,7 +25591,7 @@ function TagSearchInput({
|
|
|
25588
25591
|
onClick: handleClearAll,
|
|
25589
25592
|
className: "shrink-0 flex items-center justify-center pr-3 hover:opacity-70 transition-opacity cursor-pointer",
|
|
25590
25593
|
"aria-label": "Clear all",
|
|
25591
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25594
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.XmarkCircleIcon, { className: "text-ods-text-secondary size-4 md:size-6" })
|
|
25592
25595
|
}
|
|
25593
25596
|
)
|
|
25594
25597
|
]
|
|
@@ -25601,7 +25604,7 @@ function TagSearchInput({
|
|
|
25601
25604
|
items: hiddenTags,
|
|
25602
25605
|
disabled,
|
|
25603
25606
|
style: {
|
|
25604
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access',
|
|
25607
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _607 => _607.current, 'optionalAccess', _608 => _608.getBoundingClientRect, 'call', _609 => _609(), 'access', _610 => _610.left]), () => ( 0))) : 0
|
|
25605
25608
|
},
|
|
25606
25609
|
onRemove: (value) => {
|
|
25607
25610
|
onTagRemove(value);
|
|
@@ -25703,7 +25706,7 @@ function MarkdownEditor({
|
|
|
25703
25706
|
const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
|
|
25704
25707
|
_react.useEffect.call(void 0, () => {
|
|
25705
25708
|
Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
|
|
25706
|
-
if (_optionalChain([mod, 'access',
|
|
25709
|
+
if (_optionalChain([mod, 'access', _611 => _611.commands, 'optionalAccess', _612 => _612.getExtraCommands])) {
|
|
25707
25710
|
setDefaultExtraCommands(mod.commands.getExtraCommands());
|
|
25708
25711
|
}
|
|
25709
25712
|
});
|
|
@@ -25737,7 +25740,7 @@ function MarkdownEditor({
|
|
|
25737
25740
|
const isImage = file.type.startsWith("image/");
|
|
25738
25741
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
25739
25742
|
insertTextAtCursor(markdown);
|
|
25740
|
-
_optionalChain([onFileUploaded, 'optionalCall',
|
|
25743
|
+
_optionalChain([onFileUploaded, 'optionalCall', _613 => _613(url, file.name)]);
|
|
25741
25744
|
} catch (error) {
|
|
25742
25745
|
console.error("File upload failed:", error);
|
|
25743
25746
|
setUploadProgress("Upload failed. Please try again.");
|
|
@@ -25750,7 +25753,7 @@ function MarkdownEditor({
|
|
|
25750
25753
|
);
|
|
25751
25754
|
const handleFileInputChange = _react.useCallback.call(void 0,
|
|
25752
25755
|
(e) => {
|
|
25753
|
-
const file = _optionalChain([e, 'access',
|
|
25756
|
+
const file = _optionalChain([e, 'access', _614 => _614.target, 'access', _615 => _615.files, 'optionalAccess', _616 => _616[0]]);
|
|
25754
25757
|
if (file) {
|
|
25755
25758
|
handleFileUpload(file);
|
|
25756
25759
|
e.target.value = "";
|
|
@@ -25761,7 +25764,7 @@ function MarkdownEditor({
|
|
|
25761
25764
|
const handlePaste = _react.useCallback.call(void 0,
|
|
25762
25765
|
(e) => {
|
|
25763
25766
|
if (!onUploadFile) return;
|
|
25764
|
-
const items = _optionalChain([e, 'access',
|
|
25767
|
+
const items = _optionalChain([e, 'access', _617 => _617.clipboardData, 'optionalAccess', _618 => _618.items]);
|
|
25765
25768
|
if (!items) return;
|
|
25766
25769
|
for (const item of items) {
|
|
25767
25770
|
if (item.type.startsWith("image/")) {
|
|
@@ -25786,7 +25789,7 @@ function MarkdownEditor({
|
|
|
25786
25789
|
buttonProps: { "aria-label": "Upload file", title: "Upload file" },
|
|
25787
25790
|
icon: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "w-3 h-3 animate-spin" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "w-3 h-3" }),
|
|
25788
25791
|
execute: () => {
|
|
25789
|
-
_optionalChain([fileInputRef, 'access',
|
|
25792
|
+
_optionalChain([fileInputRef, 'access', _619 => _619.current, 'optionalAccess', _620 => _620.click, 'call', _621 => _621()]);
|
|
25790
25793
|
}
|
|
25791
25794
|
} : null;
|
|
25792
25795
|
const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
|
|
@@ -25798,7 +25801,7 @@ function MarkdownEditor({
|
|
|
25798
25801
|
const EDGE_ZONE = 60;
|
|
25799
25802
|
const MAX_SCROLL_SPEED = 15;
|
|
25800
25803
|
const findScrollParent = _react.useCallback.call(void 0, (el) => {
|
|
25801
|
-
let node = _optionalChain([el, 'optionalAccess',
|
|
25804
|
+
let node = _optionalChain([el, 'optionalAccess', _622 => _622.parentElement]);
|
|
25802
25805
|
while (node && node !== document.documentElement) {
|
|
25803
25806
|
const { overflowY } = window.getComputedStyle(node);
|
|
25804
25807
|
if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
|
|
@@ -25941,7 +25944,7 @@ function matchesAccept(file, accept) {
|
|
|
25941
25944
|
});
|
|
25942
25945
|
}
|
|
25943
25946
|
function dragHasFiles(e) {
|
|
25944
|
-
const types = _optionalChain([e, 'access',
|
|
25947
|
+
const types = _optionalChain([e, 'access', _623 => _623.dataTransfer, 'optionalAccess', _624 => _624.types]);
|
|
25945
25948
|
if (!types) return false;
|
|
25946
25949
|
for (let i = 0; i < types.length; i++) {
|
|
25947
25950
|
if (types[i] === "Files") return true;
|
|
@@ -26036,7 +26039,7 @@ function FileUpload({
|
|
|
26036
26039
|
e.stopPropagation();
|
|
26037
26040
|
setDragActive(false);
|
|
26038
26041
|
if (disabled) return;
|
|
26039
|
-
if (_optionalChain([e, 'access',
|
|
26042
|
+
if (_optionalChain([e, 'access', _625 => _625.dataTransfer, 'access', _626 => _626.files, 'optionalAccess', _627 => _627.length])) {
|
|
26040
26043
|
handleFiles(e.dataTransfer.files);
|
|
26041
26044
|
}
|
|
26042
26045
|
};
|
|
@@ -26064,7 +26067,7 @@ function FileUpload({
|
|
|
26064
26067
|
e.preventDefault();
|
|
26065
26068
|
dragCounter = 0;
|
|
26066
26069
|
setDragActive(false);
|
|
26067
|
-
if (_optionalChain([e, 'access',
|
|
26070
|
+
if (_optionalChain([e, 'access', _628 => _628.dataTransfer, 'optionalAccess', _629 => _629.files, 'optionalAccess', _630 => _630.length])) {
|
|
26068
26071
|
handleFilesRef.current(e.dataTransfer.files);
|
|
26069
26072
|
}
|
|
26070
26073
|
};
|
|
@@ -26086,7 +26089,7 @@ function FileUpload({
|
|
|
26086
26089
|
};
|
|
26087
26090
|
}, [acceptWindowDrops, disabled]);
|
|
26088
26091
|
const handleFileSelect = (e) => {
|
|
26089
|
-
if (_optionalChain([e, 'access',
|
|
26092
|
+
if (_optionalChain([e, 'access', _631 => _631.target, 'access', _632 => _632.files, 'optionalAccess', _633 => _633.length])) {
|
|
26090
26093
|
handleFiles(e.target.files);
|
|
26091
26094
|
}
|
|
26092
26095
|
};
|
|
@@ -26103,7 +26106,7 @@ function FileUpload({
|
|
|
26103
26106
|
};
|
|
26104
26107
|
const openDialog = async () => {
|
|
26105
26108
|
if (disabled) return;
|
|
26106
|
-
_optionalChain([fileInputRef, 'access',
|
|
26109
|
+
_optionalChain([fileInputRef, 'access', _634 => _634.current, 'optionalAccess', _635 => _635.click, 'call', _636 => _636()]);
|
|
26107
26110
|
};
|
|
26108
26111
|
const displayError = error || validationError || void 0;
|
|
26109
26112
|
const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
|
|
@@ -26141,7 +26144,7 @@ function FileUpload({
|
|
|
26141
26144
|
disabled && "opacity-50 cursor-not-allowed hover:border-ods-border"
|
|
26142
26145
|
),
|
|
26143
26146
|
children: [
|
|
26144
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center p-3 rounded-full bg-ods-card border border-ods-border shrink-0", children: icon || /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26147
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center p-3 rounded-full bg-ods-card border border-ods-border shrink-0", children: icon || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.ImagePlusIcon, { className: "size-6 text-ods-text-primary" }) }),
|
|
26145
26148
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col font-['DM_Sans'] font-medium min-w-0", children: [
|
|
26146
26149
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-heading-4 text-ods-text-primary", children: label }),
|
|
26147
26150
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-heading-5 text-ods-text-secondary", children: description })
|
|
@@ -26181,7 +26184,7 @@ function FileUpload({
|
|
|
26181
26184
|
"button",
|
|
26182
26185
|
{
|
|
26183
26186
|
type: "button",
|
|
26184
|
-
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall',
|
|
26187
|
+
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _637 => _637(entry.id)]),
|
|
26185
26188
|
className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
|
|
26186
26189
|
"aria-label": `Remove ${entry.fileName}`,
|
|
26187
26190
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
|
|
@@ -26304,7 +26307,7 @@ function ImageUploader({
|
|
|
26304
26307
|
onChange(file);
|
|
26305
26308
|
};
|
|
26306
26309
|
const handleFileSelect = (e) => {
|
|
26307
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
26310
|
+
validateAndEmit(_optionalChain([e, 'access', _638 => _638.target, 'access', _639 => _639.files, 'optionalAccess', _640 => _640[0]]));
|
|
26308
26311
|
if (inputRef.current) inputRef.current.value = "";
|
|
26309
26312
|
};
|
|
26310
26313
|
const handleDrag = (e) => {
|
|
@@ -26319,11 +26322,11 @@ function ImageUploader({
|
|
|
26319
26322
|
e.stopPropagation();
|
|
26320
26323
|
setDragActive(false);
|
|
26321
26324
|
if (!interactive) return;
|
|
26322
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
26325
|
+
validateAndEmit(_optionalChain([e, 'access', _641 => _641.dataTransfer, 'access', _642 => _642.files, 'optionalAccess', _643 => _643[0]]));
|
|
26323
26326
|
};
|
|
26324
26327
|
const openDialog = () => {
|
|
26325
26328
|
if (!interactive) return;
|
|
26326
|
-
_optionalChain([inputRef, 'access',
|
|
26329
|
+
_optionalChain([inputRef, 'access', _644 => _644.current, 'optionalAccess', _645 => _645.click, 'call', _646 => _646()]);
|
|
26327
26330
|
};
|
|
26328
26331
|
const handleRootKeyDown = (e) => {
|
|
26329
26332
|
if (hasImage || !interactive) return;
|
|
@@ -26393,7 +26396,7 @@ function ImageUploader({
|
|
|
26393
26396
|
onClick: openDialog,
|
|
26394
26397
|
disabled: !interactive,
|
|
26395
26398
|
ariaLabel: "Replace image",
|
|
26396
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26399
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Refresh02VrIcon, { className: "size-6" })
|
|
26397
26400
|
}
|
|
26398
26401
|
),
|
|
26399
26402
|
onRemove && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -26402,13 +26405,13 @@ function ImageUploader({
|
|
|
26402
26405
|
onClick: onRemove,
|
|
26403
26406
|
disabled: !interactive,
|
|
26404
26407
|
ariaLabel: "Remove image",
|
|
26405
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26408
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.TrashIcon, { className: "size-6" })
|
|
26406
26409
|
}
|
|
26407
26410
|
)
|
|
26408
26411
|
] }),
|
|
26409
26412
|
loading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 flex items-center justify-center rounded-md bg-ods-overlay", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "size-8 animate-spin text-ods-text-on-dark" }) })
|
|
26410
26413
|
] }) : loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "size-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
26411
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center justify-center rounded-full border border-ods-border bg-ods-card p-[var(--spacing-system-s)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26414
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center justify-center rounded-full border border-ods-border bg-ods-card p-[var(--spacing-system-s)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.ImagePlusIcon, { className: "size-6 text-ods-text-primary" }) }),
|
|
26412
26415
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col items-center text-center", children: [
|
|
26413
26416
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-primary", children: label }),
|
|
26414
26417
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-secondary", children: description }),
|
|
@@ -26480,7 +26483,7 @@ function CompactAssigneeDropdown({
|
|
|
26480
26483
|
return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
|
|
26481
26484
|
}, [filtered, currentAssignee]);
|
|
26482
26485
|
const handleSelect = (userId) => {
|
|
26483
|
-
const next = _optionalChain([currentAssignee, 'optionalAccess',
|
|
26486
|
+
const next = _optionalChain([currentAssignee, 'optionalAccess', _647 => _647.id]) === userId ? null : userId;
|
|
26484
26487
|
onAssign(next);
|
|
26485
26488
|
setIsOpen(false);
|
|
26486
26489
|
};
|
|
@@ -26515,7 +26518,7 @@ function CompactAssigneeDropdown({
|
|
|
26515
26518
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus",
|
|
26516
26519
|
className
|
|
26517
26520
|
),
|
|
26518
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26521
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.UserPlusIcon, { className: "size-4" })
|
|
26519
26522
|
}
|
|
26520
26523
|
);
|
|
26521
26524
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive4.Root, { open: isOpen, onOpenChange: setIsOpen, modal: false, children: [
|
|
@@ -26545,7 +26548,7 @@ function CompactAssigneeDropdown({
|
|
|
26545
26548
|
}
|
|
26546
26549
|
) }),
|
|
26547
26550
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "max-h-80 overflow-y-auto py-[var(--spacing-system-xs)]", role: "listbox", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "Loading\u2026" }) : orderedOptions.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "No users found" }) : orderedOptions.map((opt) => {
|
|
26548
|
-
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess',
|
|
26551
|
+
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _648 => _648.id]) === opt.value;
|
|
26549
26552
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26550
26553
|
"button",
|
|
26551
26554
|
{
|
|
@@ -26571,7 +26574,7 @@ function CompactAssigneeDropdown({
|
|
|
26571
26574
|
}
|
|
26572
26575
|
),
|
|
26573
26576
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex-1 truncate text-h4 text-ods-text-primary", children: opt.label }),
|
|
26574
|
-
isCurrent && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26577
|
+
isCurrent && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.CheckIcon, { className: "size-4 shrink-0 text-ods-accent" })
|
|
26575
26578
|
]
|
|
26576
26579
|
},
|
|
26577
26580
|
opt.value
|
|
@@ -26614,7 +26617,7 @@ function DefaultAssigneeDropdown({
|
|
|
26614
26617
|
Autocomplete,
|
|
26615
26618
|
{
|
|
26616
26619
|
options,
|
|
26617
|
-
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess',
|
|
26620
|
+
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _649 => _649.id]), () => ( null)),
|
|
26618
26621
|
onChange: (val) => {
|
|
26619
26622
|
onAssign(val);
|
|
26620
26623
|
setIsEditing(false);
|
|
@@ -26632,7 +26635,7 @@ function DefaultAssigneeDropdown({
|
|
|
26632
26635
|
variant: "round",
|
|
26633
26636
|
className: "h-6 w-6"
|
|
26634
26637
|
}
|
|
26635
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26638
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.UserIcon, { className: "size-5 text-ods-text-secondary" }),
|
|
26636
26639
|
renderOption
|
|
26637
26640
|
}
|
|
26638
26641
|
),
|
|
@@ -26660,7 +26663,7 @@ function DefaultAssigneeDropdown({
|
|
|
26660
26663
|
onClick: () => setIsEditing(true),
|
|
26661
26664
|
className: "flex items-center gap-[var(--spacing-system-xxs)] cursor-pointer group text-left",
|
|
26662
26665
|
children: [
|
|
26663
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26666
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.PenEditIcon, { className: "size-4 shrink-0 text-ods-text-secondary group-hover:text-ods-accent transition-colors" }),
|
|
26664
26667
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary truncate", children: currentAssignee.name })
|
|
26665
26668
|
]
|
|
26666
26669
|
}
|
|
@@ -26677,7 +26680,7 @@ function DefaultAssigneeDropdown({
|
|
|
26677
26680
|
onClick: () => setIsEditing(true),
|
|
26678
26681
|
className: "flex items-center gap-[var(--spacing-system-xxs)] text-h4 text-ods-accent underline truncate cursor-pointer hover:opacity-80 transition-opacity text-left",
|
|
26679
26682
|
children: [
|
|
26680
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26683
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.UserIcon, { className: "size-4 shrink-0" }),
|
|
26681
26684
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Assign User" })
|
|
26682
26685
|
]
|
|
26683
26686
|
}
|
|
@@ -26810,7 +26813,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
|
|
|
26810
26813
|
disabled: !editText.trim(),
|
|
26811
26814
|
className: "shrink-0 text-ods-success hover:text-ods-success/80 transition-colors disabled:opacity-50",
|
|
26812
26815
|
"aria-label": "Save note",
|
|
26813
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26816
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.CheckIcon, { className: "size-5" })
|
|
26814
26817
|
}
|
|
26815
26818
|
),
|
|
26816
26819
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -26820,7 +26823,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
|
|
|
26820
26823
|
onClick: handleCancel,
|
|
26821
26824
|
className: "shrink-0 text-ods-text-secondary hover:text-ods-text-primary transition-colors",
|
|
26822
26825
|
"aria-label": "Cancel editing",
|
|
26823
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26826
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.XmarkIcon, { className: "size-5" })
|
|
26824
26827
|
}
|
|
26825
26828
|
)
|
|
26826
26829
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -26839,7 +26842,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
|
|
|
26839
26842
|
onClick: () => onDelete(note.id),
|
|
26840
26843
|
className: "text-ods-text-secondary hover:text-ods-error transition-colors",
|
|
26841
26844
|
"aria-label": "Delete note",
|
|
26842
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26845
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.TrashIcon, { className: "size-6" })
|
|
26843
26846
|
}
|
|
26844
26847
|
),
|
|
26845
26848
|
onEdit && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -26849,7 +26852,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
|
|
|
26849
26852
|
onClick: () => setIsEditing(true),
|
|
26850
26853
|
className: "text-ods-text-secondary hover:text-ods-text-primary transition-colors",
|
|
26851
26854
|
"aria-label": "Edit note",
|
|
26852
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26855
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.PenEditIcon, { className: "size-6" })
|
|
26853
26856
|
}
|
|
26854
26857
|
)
|
|
26855
26858
|
] })
|
|
@@ -26915,7 +26918,7 @@ function TicketNotesSection({
|
|
|
26915
26918
|
"disabled:opacity-50 disabled:cursor-not-allowed"
|
|
26916
26919
|
),
|
|
26917
26920
|
"aria-label": "Send note",
|
|
26918
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26921
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Send03Icon, { className: "size-6 text-ods-text-secondary" })
|
|
26919
26922
|
}
|
|
26920
26923
|
)
|
|
26921
26924
|
] })
|
|
@@ -26972,14 +26975,14 @@ function TicketInfoSection({
|
|
|
26972
26975
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26973
26976
|
SquareAvatar,
|
|
26974
26977
|
{
|
|
26975
|
-
src: _optionalChain([organization, 'optionalAccess',
|
|
26976
|
-
alt: _optionalChain([organization, 'optionalAccess',
|
|
26977
|
-
fallback: _optionalChain([organization, 'optionalAccess',
|
|
26978
|
+
src: _optionalChain([organization, 'optionalAccess', _650 => _650.imageSrc]),
|
|
26979
|
+
alt: _optionalChain([organization, 'optionalAccess', _651 => _651.name]),
|
|
26980
|
+
fallback: _optionalChain([organization, 'optionalAccess', _652 => _652.name]) || "Org",
|
|
26978
26981
|
size: "md",
|
|
26979
26982
|
className: "shrink-0"
|
|
26980
26983
|
}
|
|
26981
26984
|
),
|
|
26982
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess',
|
|
26985
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _653 => _653.name]) || "Unassigned", label: "Organization" })
|
|
26983
26986
|
] }),
|
|
26984
26987
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26985
26988
|
AssigneeDropdown,
|
|
@@ -26992,7 +26995,7 @@ function TicketInfoSection({
|
|
|
26992
26995
|
}
|
|
26993
26996
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0", children: [
|
|
26994
26997
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1 text-h4 text-ods-text-secondary", children: [
|
|
26995
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26998
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.UserIcon, { className: "size-4 shrink-0" }),
|
|
26996
26999
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: "Unassigned" })
|
|
26997
27000
|
] }),
|
|
26998
27001
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6 text-ods-text-secondary truncate block", children: "Assigned" })
|
|
@@ -27000,10 +27003,10 @@ function TicketInfoSection({
|
|
|
27000
27003
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27001
27004
|
InfoCell2,
|
|
27002
27005
|
{
|
|
27003
|
-
value: _optionalChain([device, 'optionalAccess',
|
|
27006
|
+
value: _optionalChain([device, 'optionalAccess', _654 => _654.name]) || "Unassigned",
|
|
27004
27007
|
label: "Device",
|
|
27005
|
-
icon: _optionalChain([device, 'optionalAccess',
|
|
27006
|
-
onClick: _optionalChain([device, 'optionalAccess',
|
|
27008
|
+
icon: _optionalChain([device, 'optionalAccess', _655 => _655.icon]),
|
|
27009
|
+
onClick: _optionalChain([device, 'optionalAccess', _656 => _656.onClick])
|
|
27007
27010
|
}
|
|
27008
27011
|
),
|
|
27009
27012
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
|
|
@@ -27020,7 +27023,7 @@ function TicketInfoSection({
|
|
|
27020
27023
|
),
|
|
27021
27024
|
"aria-label": expanded ? "Collapse" : "Expand",
|
|
27022
27025
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27023
|
-
|
|
27026
|
+
_chunkVJTFBYVGcjs.Chevron02DownIcon,
|
|
27024
27027
|
{
|
|
27025
27028
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
27026
27029
|
"size-6 text-ods-text-primary transition-transform duration-200",
|
|
@@ -27762,10 +27765,10 @@ var getContentDimensions = (config) => {
|
|
|
27762
27765
|
const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
|
|
27763
27766
|
const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
|
|
27764
27767
|
const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
|
|
27765
|
-
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
27766
|
-
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
27767
|
-
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
27768
|
-
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
27768
|
+
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _657 => _657.mobileContentDimensions, 'optionalAccess', _658 => _658.width]))), () => ( defaultMobile.width));
|
|
27769
|
+
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _659 => _659.mobileContentDimensions, 'optionalAccess', _660 => _660.height]))), () => ( defaultMobile.height));
|
|
27770
|
+
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _661 => _661.desktopContentDimensions, 'optionalAccess', _662 => _662.width]))), () => ( defaultDesktop.width));
|
|
27771
|
+
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _663 => _663.desktopContentDimensions, 'optionalAccess', _664 => _664.height]))), () => ( defaultDesktop.height));
|
|
27769
27772
|
return {
|
|
27770
27773
|
mobile: { width: mobileWidth, height: mobileHeight },
|
|
27771
27774
|
desktop: { width: desktopWidth, height: desktopHeight }
|
|
@@ -27899,7 +27902,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
|
|
|
27899
27902
|
const contentDimensions = getContentDimensions(config);
|
|
27900
27903
|
const mobileHeight = contentDimensions.mobile.height;
|
|
27901
27904
|
const calculatedHeight = Math.max(mobileHeight + 100, 400);
|
|
27902
|
-
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess',
|
|
27905
|
+
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _665 => _665.innerHeight]) * 0.85 || 650)}px`;
|
|
27903
27906
|
})(),
|
|
27904
27907
|
minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
|
|
27905
27908
|
const contentDimensions = getContentDimensions(config);
|
|
@@ -28004,7 +28007,7 @@ var FigmaPrototypeViewer = ({
|
|
|
28004
28007
|
const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
|
|
28005
28008
|
const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
|
|
28006
28009
|
const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
|
|
28007
|
-
config.defaultSectionId || _optionalChain([config, 'access',
|
|
28010
|
+
config.defaultSectionId || _optionalChain([config, 'access', _666 => _666.sections, 'access', _667 => _667[0], 'optionalAccess', _668 => _668.id]) || ""
|
|
28008
28011
|
);
|
|
28009
28012
|
const activeSection = externalActiveSection || internalActiveSection;
|
|
28010
28013
|
const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
|
|
@@ -28094,7 +28097,7 @@ var FigmaPrototypeViewer = ({
|
|
|
28094
28097
|
const handleMessage = (event) => {
|
|
28095
28098
|
if (event.origin !== "https://www.figma.com") return;
|
|
28096
28099
|
const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
|
|
28097
|
-
if (_optionalChain([event, 'access',
|
|
28100
|
+
if (_optionalChain([event, 'access', _669 => _669.data, 'optionalAccess', _670 => _670.type]) && validEvents.includes(event.data.type)) {
|
|
28098
28101
|
const figmaEvent = event.data;
|
|
28099
28102
|
console.log("[Figma Event]", figmaEvent.type, viewMode);
|
|
28100
28103
|
switch (figmaEvent.type) {
|
|
@@ -28104,19 +28107,19 @@ var FigmaPrototypeViewer = ({
|
|
|
28104
28107
|
setIframeState("READY");
|
|
28105
28108
|
break;
|
|
28106
28109
|
case "PRESENTED_NODE_CHANGED":
|
|
28107
|
-
if (_optionalChain([figmaEvent, 'access',
|
|
28110
|
+
if (_optionalChain([figmaEvent, 'access', _671 => _671.data, 'optionalAccess', _672 => _672.presentedNodeId])) {
|
|
28108
28111
|
setCurrentNodeId(figmaEvent.data.presentedNodeId);
|
|
28109
28112
|
if (!isNavigating) {
|
|
28110
28113
|
const matchingSection = config.sections.find((s) => {
|
|
28111
|
-
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access',
|
|
28112
|
-
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access',
|
|
28114
|
+
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _673 => _673.data, 'optionalAccess', _674 => _674.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _675 => _675.data, 'optionalAccess', _676 => _676.presentedNodeId]);
|
|
28115
|
+
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _677 => _677.data, 'optionalAccess', _678 => _678.presentedNodeId]) || _optionalChain([s, 'access', _679 => _679.mobileStartingNodeId, 'optionalAccess', _680 => _680.replace, 'call', _681 => _681(":", "-")]) === _optionalChain([figmaEvent, 'access', _682 => _682.data, 'optionalAccess', _683 => _683.presentedNodeId]);
|
|
28113
28116
|
return desktopMatch || mobileMatch;
|
|
28114
28117
|
});
|
|
28115
28118
|
if (matchingSection && matchingSection.id !== activeSection) {
|
|
28116
28119
|
if (!externalActiveSection) {
|
|
28117
28120
|
setInternalActiveSection(matchingSection.id);
|
|
28118
28121
|
}
|
|
28119
|
-
_optionalChain([config, 'access',
|
|
28122
|
+
_optionalChain([config, 'access', _684 => _684.onSectionChange, 'optionalCall', _685 => _685(matchingSection.id)]);
|
|
28120
28123
|
}
|
|
28121
28124
|
}
|
|
28122
28125
|
}
|
|
@@ -28129,7 +28132,7 @@ var FigmaPrototypeViewer = ({
|
|
|
28129
28132
|
}, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
|
|
28130
28133
|
const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
|
|
28131
28134
|
const section = config.sections.find((s) => s.id === sectionId);
|
|
28132
|
-
if (!section || !_optionalChain([iframeRef, 'access',
|
|
28135
|
+
if (!section || !_optionalChain([iframeRef, 'access', _686 => _686.current, 'optionalAccess', _687 => _687.contentWindow]) || !isInitialized) {
|
|
28133
28136
|
return;
|
|
28134
28137
|
}
|
|
28135
28138
|
setIsNavigating(true);
|
|
@@ -28137,7 +28140,7 @@ var FigmaPrototypeViewer = ({
|
|
|
28137
28140
|
if (!externalActiveSection) {
|
|
28138
28141
|
setInternalActiveSection(sectionId);
|
|
28139
28142
|
}
|
|
28140
|
-
_optionalChain([config, 'access',
|
|
28143
|
+
_optionalChain([config, 'access', _688 => _688.onSectionChange, 'optionalCall', _689 => _689(sectionId)]);
|
|
28141
28144
|
const command = {
|
|
28142
28145
|
type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
|
|
28143
28146
|
data: { nodeId }
|
|
@@ -28457,7 +28460,7 @@ var FiltersDropdown = ({
|
|
|
28457
28460
|
defaults[section.id] = section.defaultSelected || [];
|
|
28458
28461
|
});
|
|
28459
28462
|
setSelectedFilters(defaults);
|
|
28460
|
-
_optionalChain([onReset, 'optionalCall',
|
|
28463
|
+
_optionalChain([onReset, 'optionalCall', _690 => _690()]);
|
|
28461
28464
|
setIsOpen(false);
|
|
28462
28465
|
};
|
|
28463
28466
|
const handleApply = () => {
|
|
@@ -28751,7 +28754,7 @@ function MediaGalleryManager({
|
|
|
28751
28754
|
const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
|
|
28752
28755
|
const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
|
|
28753
28756
|
const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
|
|
28754
|
-
const file = _optionalChain([event, 'access',
|
|
28757
|
+
const file = _optionalChain([event, 'access', _691 => _691.target, 'access', _692 => _692.files, 'optionalAccess', _693 => _693[0]]);
|
|
28755
28758
|
if (!file) return;
|
|
28756
28759
|
let mediaType;
|
|
28757
28760
|
if (file.type.startsWith("image/")) {
|
|
@@ -28866,7 +28869,7 @@ function MediaGalleryManager({
|
|
|
28866
28869
|
{
|
|
28867
28870
|
type: "button",
|
|
28868
28871
|
variant: "outline",
|
|
28869
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
28872
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _694 => _694.current, 'optionalAccess', _695 => _695.click, 'call', _696 => _696()]),
|
|
28870
28873
|
disabled: isUploading,
|
|
28871
28874
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
28872
28875
|
className: "font-['DM_Sans'] text-[16px] font-bold",
|
|
@@ -29476,7 +29479,7 @@ function PlatformFilterComponent({
|
|
|
29476
29479
|
variant: selectedPlatform === platform.value ? "accent" : "outline",
|
|
29477
29480
|
size,
|
|
29478
29481
|
onClick: () => onPlatformChange(platform.value),
|
|
29479
|
-
leftIcon: showIcons ?
|
|
29482
|
+
leftIcon: showIcons ? _chunkHIMEIPEDcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
|
|
29480
29483
|
className: "text-h3",
|
|
29481
29484
|
children: platform.label
|
|
29482
29485
|
},
|
|
@@ -29651,7 +29654,7 @@ function ReleaseMediaManager({
|
|
|
29651
29654
|
const fileInputRef = _react.useRef.call(void 0, null);
|
|
29652
29655
|
const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
|
|
29653
29656
|
const handleFileSelect = async (event) => {
|
|
29654
|
-
const file = _optionalChain([event, 'access',
|
|
29657
|
+
const file = _optionalChain([event, 'access', _697 => _697.target, 'access', _698 => _698.files, 'optionalAccess', _699 => _699[0]]);
|
|
29655
29658
|
if (!file) return;
|
|
29656
29659
|
let mediaType;
|
|
29657
29660
|
if (file.type.startsWith("image/")) {
|
|
@@ -29731,7 +29734,7 @@ function ReleaseMediaManager({
|
|
|
29731
29734
|
{
|
|
29732
29735
|
type: "button",
|
|
29733
29736
|
variant: "outline",
|
|
29734
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
29737
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _700 => _700.current, 'optionalAccess', _701 => _701.click, 'call', _702 => _702()]),
|
|
29735
29738
|
disabled: uploadingIndex !== null,
|
|
29736
29739
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
29737
29740
|
className: "font-['DM_Sans'] text-[16px] font-bold",
|
|
@@ -29897,7 +29900,7 @@ var SelectButton = React37.default.forwardRef(
|
|
|
29897
29900
|
] }),
|
|
29898
29901
|
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
|
|
29899
29902
|
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29900
|
-
|
|
29903
|
+
_chunkVJTFBYVGcjs.CheckCircleIcon,
|
|
29901
29904
|
{
|
|
29902
29905
|
className: "shrink-0 size-4 md:size-6 text-ods-accent"
|
|
29903
29906
|
}
|
|
@@ -29944,7 +29947,7 @@ function SEOEditorPreview({
|
|
|
29944
29947
|
const displayImage = hasOgImage || hasFeaturedImage;
|
|
29945
29948
|
const handleImageUpload = async (event) => {
|
|
29946
29949
|
if (!onOgImageUpload) return;
|
|
29947
|
-
const file = _optionalChain([event, 'access',
|
|
29950
|
+
const file = _optionalChain([event, 'access', _703 => _703.target, 'access', _704 => _704.files, 'optionalAccess', _705 => _705[0]]);
|
|
29948
29951
|
if (!file) return;
|
|
29949
29952
|
setIsUploading(true);
|
|
29950
29953
|
try {
|
|
@@ -30075,7 +30078,7 @@ function SEOEditorPreview({
|
|
|
30075
30078
|
type: "button",
|
|
30076
30079
|
variant: "outline",
|
|
30077
30080
|
size: "icon",
|
|
30078
|
-
onClick: () => _optionalChain([fileInputRef, 'optionalAccess',
|
|
30081
|
+
onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _706 => _706.click, 'call', _707 => _707()]),
|
|
30079
30082
|
disabled: disabled || isUploading,
|
|
30080
30083
|
className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
|
|
30081
30084
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
|
|
@@ -30098,7 +30101,7 @@ function SEOEditorPreview({
|
|
|
30098
30101
|
"div",
|
|
30099
30102
|
{
|
|
30100
30103
|
className: "h-full min-h-[280px] border-2 border-dashed border-ods-border rounded-lg flex flex-col items-center justify-center cursor-pointer hover:border-ods-accent transition-colors bg-ods-bg-hover",
|
|
30101
|
-
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess',
|
|
30104
|
+
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _708 => _708.click, 'call', _709 => _709()]),
|
|
30102
30105
|
children: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
30103
30106
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
|
|
30104
30107
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm text-ods-text-secondary font-['DM_Sans']", children: onOgImageUpload ? "Click to upload OG image" : "No image" })
|
|
@@ -30183,7 +30186,7 @@ function SocialLinksManager({
|
|
|
30183
30186
|
className = ""
|
|
30184
30187
|
}) {
|
|
30185
30188
|
const addLink = () => {
|
|
30186
|
-
const firstPlatform = _optionalChain([platforms, 'access',
|
|
30189
|
+
const firstPlatform = _optionalChain([platforms, 'access', _710 => _710[0], 'optionalAccess', _711 => _711.name]) || "website";
|
|
30187
30190
|
onChange([...links, { platform: firstPlatform, url: "" }]);
|
|
30188
30191
|
};
|
|
30189
30192
|
const removeLink = (index) => {
|
|
@@ -30195,7 +30198,7 @@ function SocialLinksManager({
|
|
|
30195
30198
|
onChange(updated);
|
|
30196
30199
|
};
|
|
30197
30200
|
const getIcon = (link, platform) => {
|
|
30198
|
-
const iconKey = _optionalChain([platform, 'optionalAccess',
|
|
30201
|
+
const iconKey = _optionalChain([platform, 'optionalAccess', _712 => _712.icon_name]) || link.platform;
|
|
30199
30202
|
const IconComponent = iconMap[iconKey];
|
|
30200
30203
|
return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
|
|
30201
30204
|
};
|
|
@@ -30220,7 +30223,7 @@ function SocialLinksManager({
|
|
|
30220
30223
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30221
30224
|
_chunkBJTOSUT4cjs.Input,
|
|
30222
30225
|
{
|
|
30223
|
-
placeholder: _optionalChain([platform, 'optionalAccess',
|
|
30226
|
+
placeholder: _optionalChain([platform, 'optionalAccess', _713 => _713.placeholder]) || "Profile URL",
|
|
30224
30227
|
value: link.url,
|
|
30225
30228
|
onChange: (e) => updateLink(index, "url", e.target.value),
|
|
30226
30229
|
onKeyDown: (e) => {
|
|
@@ -30597,7 +30600,7 @@ function VideoSourceSelector({
|
|
|
30597
30600
|
input.accept = "video/*";
|
|
30598
30601
|
input.onchange = async (e) => {
|
|
30599
30602
|
const target = e.target;
|
|
30600
|
-
const file = _optionalChain([target, 'access',
|
|
30603
|
+
const file = _optionalChain([target, 'access', _714 => _714.files, 'optionalAccess', _715 => _715[0]]);
|
|
30601
30604
|
if (!file) return;
|
|
30602
30605
|
setIsUploading(true);
|
|
30603
30606
|
setUploadProgress(0);
|
|
@@ -30911,7 +30914,7 @@ function TranscriptSummaryEditor({
|
|
|
30911
30914
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
30912
30915
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Label, { htmlFor: "subtitles", children: subtitlesLabel }),
|
|
30913
30916
|
isAIGenerated && subtitles && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
|
|
30914
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30917
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.StandardCcIcon, { size: 12 }),
|
|
30915
30918
|
"AI Generated"
|
|
30916
30919
|
] })
|
|
30917
30920
|
] }),
|
|
@@ -30927,7 +30930,7 @@ function TranscriptSummaryEditor({
|
|
|
30927
30930
|
{
|
|
30928
30931
|
id: "subtitles",
|
|
30929
30932
|
value: subtitles || "",
|
|
30930
|
-
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall',
|
|
30933
|
+
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _716 => _716(e.target.value)]),
|
|
30931
30934
|
placeholder: subtitlesPlaceholder,
|
|
30932
30935
|
disabled: disabled || !onSubtitlesChange,
|
|
30933
30936
|
className: "h-full w-full resize-none border-0 bg-transparent text-ods-text-primary placeholder:text-ods-text-secondary/50 focus:ring-0 focus:outline-none p-4 font-mono text-sm",
|
|
@@ -31080,7 +31083,7 @@ var AIEnrichSection = ({
|
|
|
31080
31083
|
}) => {
|
|
31081
31084
|
const hasResults = status === "success" || status === "error";
|
|
31082
31085
|
const shouldDisable = disabled || !canEnrich;
|
|
31083
|
-
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess',
|
|
31086
|
+
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _717 => _717.filter, 'call', _718 => _718((f) => !f.isFilled)]) || [];
|
|
31084
31087
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
31085
31088
|
"div",
|
|
31086
31089
|
{
|
|
@@ -31118,7 +31121,7 @@ var AIEnrichSection = ({
|
|
|
31118
31121
|
{
|
|
31119
31122
|
id: "ai-enrich-custom-instructions",
|
|
31120
31123
|
value: _nullishCoalesce(customInstructions, () => ( "")),
|
|
31121
|
-
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall',
|
|
31124
|
+
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _719 => _719(e.target.value)]),
|
|
31122
31125
|
placeholder: customInstructionsPlaceholder,
|
|
31123
31126
|
disabled: loading,
|
|
31124
31127
|
maxLength: customInstructionsMaxLength,
|
|
@@ -31247,7 +31250,7 @@ function HighlightVideoSection({
|
|
|
31247
31250
|
input.accept = "video/*";
|
|
31248
31251
|
input.onchange = async (e) => {
|
|
31249
31252
|
const target = e.target;
|
|
31250
|
-
const file = _optionalChain([target, 'access',
|
|
31253
|
+
const file = _optionalChain([target, 'access', _720 => _720.files, 'optionalAccess', _721 => _721[0]]);
|
|
31251
31254
|
if (!file) return;
|
|
31252
31255
|
setUploadError(null);
|
|
31253
31256
|
try {
|
|
@@ -31749,7 +31752,7 @@ function HighlightVideoPreview({
|
|
|
31749
31752
|
input.accept = "video/*";
|
|
31750
31753
|
input.onchange = async (e) => {
|
|
31751
31754
|
const target = e.target;
|
|
31752
|
-
const file = _optionalChain([target, 'access',
|
|
31755
|
+
const file = _optionalChain([target, 'access', _722 => _722.files, 'optionalAccess', _723 => _723[0]]);
|
|
31753
31756
|
if (!file) return;
|
|
31754
31757
|
await onUpload(file);
|
|
31755
31758
|
};
|
|
@@ -31936,7 +31939,7 @@ function HighlightVideoCombinedSection({
|
|
|
31936
31939
|
input.accept = "video/*";
|
|
31937
31940
|
input.onchange = async (e) => {
|
|
31938
31941
|
const target = e.target;
|
|
31939
|
-
const file = _optionalChain([target, 'access',
|
|
31942
|
+
const file = _optionalChain([target, 'access', _724 => _724.files, 'optionalAccess', _725 => _725[0]]);
|
|
31940
31943
|
if (!file) return;
|
|
31941
31944
|
await onUpload(file);
|
|
31942
31945
|
};
|
|
@@ -32233,11 +32236,11 @@ var getApprovalLevelLabel = (level, editMode = false) => {
|
|
|
32233
32236
|
return editMode ? "Set Global Permission" : "";
|
|
32234
32237
|
}
|
|
32235
32238
|
const option = approvalLevelOptions.find((opt) => opt.value === level);
|
|
32236
|
-
return _optionalChain([option, 'optionalAccess',
|
|
32239
|
+
return _optionalChain([option, 'optionalAccess', _726 => _726.label]) || level;
|
|
32237
32240
|
};
|
|
32238
32241
|
var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
32239
32242
|
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: [
|
|
32240
|
-
/* @__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,
|
|
32243
|
+
/* @__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, _chunkHIMEIPEDcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
|
|
32241
32244
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col min-w-0", children: [
|
|
32242
32245
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-[16px] font-medium text-ods-text-primary truncate", children: policy.name }),
|
|
32243
32246
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-[12px] text-ods-text-secondary break-all font-mono", children: policy.commandPattern })
|
|
@@ -32446,7 +32449,7 @@ function WaitlistForm({
|
|
|
32446
32449
|
const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
|
|
32447
32450
|
const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
|
|
32448
32451
|
const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
|
|
32449
|
-
const { toast } =
|
|
32452
|
+
const { toast } = _chunkHIMEIPEDcjs.useToast.call(void 0, );
|
|
32450
32453
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
32451
32454
|
const [isClient, setIsClient] = _react.useState.call(void 0, false);
|
|
32452
32455
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
@@ -32657,7 +32660,7 @@ function BoardColumnHeader({
|
|
|
32657
32660
|
className: "h-8 w-8 md:h-8 md:w-8 p-0",
|
|
32658
32661
|
onClick: onToggleCollapse,
|
|
32659
32662
|
"aria-label": "Expand column",
|
|
32660
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32663
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Arrow02RightIcon, { className: "h-6 w-6 text-ods-text-secondary" })
|
|
32661
32664
|
}
|
|
32662
32665
|
),
|
|
32663
32666
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -32700,7 +32703,7 @@ function BoardColumnHeader({
|
|
|
32700
32703
|
className: "h-8 w-8 md:h-8 md:w-8 p-0",
|
|
32701
32704
|
onClick: onToggleCollapse,
|
|
32702
32705
|
"aria-label": "Collapse column",
|
|
32703
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32706
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Arrow02LeftIcon, { className: "h-6 w-6 text-ods-text-secondary" })
|
|
32704
32707
|
}
|
|
32705
32708
|
),
|
|
32706
32709
|
onAddTicket && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -32711,7 +32714,7 @@ function BoardColumnHeader({
|
|
|
32711
32714
|
className: "h-8 w-8 md:h-8 md:w-8 p-0",
|
|
32712
32715
|
onClick: onAddTicket,
|
|
32713
32716
|
"aria-label": "Add ticket",
|
|
32714
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32717
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.PlusIcon, { className: "h-6 w-6 text-ods-text-secondary" })
|
|
32715
32718
|
}
|
|
32716
32719
|
)
|
|
32717
32720
|
] })
|
|
@@ -32765,24 +32768,24 @@ function TicketCard({
|
|
|
32765
32768
|
transform: _utilities.CSS.Transform.toString(sortable.transform),
|
|
32766
32769
|
transition: sortable.transition
|
|
32767
32770
|
};
|
|
32768
|
-
const showDeviceRow = !!(_optionalChain([ticket, 'access',
|
|
32771
|
+
const showDeviceRow = !!(_optionalChain([ticket, 'access', _727 => _727.deviceHostnames, 'optionalAccess', _728 => _728.length]) || ticket.organizationName);
|
|
32769
32772
|
const deviceText = [
|
|
32770
|
-
_optionalChain([ticket, 'access',
|
|
32773
|
+
_optionalChain([ticket, 'access', _729 => _729.deviceHostnames, 'optionalAccess', _730 => _730.join, 'call', _731 => _731(", ")]),
|
|
32771
32774
|
ticket.organizationName
|
|
32772
32775
|
].filter(Boolean).join(", ");
|
|
32773
32776
|
const handleClick = (e) => {
|
|
32774
32777
|
if (sortable.isDragging) e.preventDefault();
|
|
32775
32778
|
};
|
|
32776
|
-
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access',
|
|
32779
|
+
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _732 => _732.assignees, 'optionalAccess', _733 => _733.length]) || renderAssignSlot);
|
|
32777
32780
|
const rightSection = hasRightSection ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
32778
32781
|
ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32779
|
-
|
|
32782
|
+
_chunkVJTFBYVGcjs.Flag02Icon,
|
|
32780
32783
|
{
|
|
32781
32784
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0, "size-4", PRIORITY_COLOR_CLASS[ticket.priority]),
|
|
32782
32785
|
"aria-label": `Priority: ${ticket.priority}`
|
|
32783
32786
|
}
|
|
32784
32787
|
),
|
|
32785
|
-
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access',
|
|
32788
|
+
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _734 => _734.assignees, 'optionalAccess', _735 => _735.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
|
|
32786
32789
|
ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32787
32790
|
SquareAvatar,
|
|
32788
32791
|
{
|
|
@@ -32811,7 +32814,7 @@ function TicketCard({
|
|
|
32811
32814
|
] }),
|
|
32812
32815
|
rightSection
|
|
32813
32816
|
] }),
|
|
32814
|
-
_optionalChain([ticket, 'access',
|
|
32817
|
+
_optionalChain([ticket, 'access', _736 => _736.tags, 'optionalAccess', _737 => _737.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
|
|
32815
32818
|
] });
|
|
32816
32819
|
const cardClasses = _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
32817
32820
|
"relative flex flex-col gap-[var(--spacing-system-sf)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-sf)] select-none text-left",
|
|
@@ -32971,7 +32974,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
|
|
|
32971
32974
|
const observer = new IntersectionObserver(
|
|
32972
32975
|
(entries) => {
|
|
32973
32976
|
if (entries.some((e) => e.isIntersecting)) {
|
|
32974
|
-
_optionalChain([loadMoreRef, 'access',
|
|
32977
|
+
_optionalChain([loadMoreRef, 'access', _738 => _738.current, 'optionalCall', _739 => _739(columnIdRef.current)]);
|
|
32975
32978
|
}
|
|
32976
32979
|
},
|
|
32977
32980
|
{ root, rootMargin: loadMoreRootMargin }
|
|
@@ -33000,7 +33003,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
|
|
|
33000
33003
|
{
|
|
33001
33004
|
ticket: t,
|
|
33002
33005
|
columnId: column.id,
|
|
33003
|
-
href: _optionalChain([getTicketHref, 'optionalCall',
|
|
33006
|
+
href: _optionalChain([getTicketHref, 'optionalCall', _740 => _740(t.id)]),
|
|
33004
33007
|
renderAssignSlot,
|
|
33005
33008
|
dragDisabled: column.dragDisabled
|
|
33006
33009
|
},
|
|
@@ -33021,7 +33024,7 @@ function SkeletonStack({ count = 4 }) {
|
|
|
33021
33024
|
}
|
|
33022
33025
|
function EmptyState3() {
|
|
33023
33026
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col items-center justify-center gap-[var(--spacing-system-lf)] p-[var(--spacing-system-lf)] text-center text-ods-text-secondary", children: [
|
|
33024
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33027
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.TagIcon, { className: "h-6 w-6 shrink-0" }),
|
|
33025
33028
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
|
|
33026
33029
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4", children: "No tickets here" }),
|
|
33027
33030
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6", children: "Drag a ticket here or change its status to move it to this column" })
|
|
@@ -33032,7 +33035,7 @@ function EmptyState3() {
|
|
|
33032
33035
|
// src/components/features/board/use-board-collapse.ts
|
|
33033
33036
|
|
|
33034
33037
|
function useBoardCollapse(storageKey) {
|
|
33035
|
-
const [persisted, setPersisted] =
|
|
33038
|
+
const [persisted, setPersisted] = _chunkHIMEIPEDcjs.useLocalStorage.call(void 0,
|
|
33036
33039
|
_nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")),
|
|
33037
33040
|
{}
|
|
33038
33041
|
);
|
|
@@ -33083,17 +33086,17 @@ function Board({
|
|
|
33083
33086
|
const pointer = _core.pointerWithin.call(void 0, args);
|
|
33084
33087
|
const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
|
|
33085
33088
|
const ticketHit = intersections.find(
|
|
33086
|
-
(c) => _optionalChain([c, 'access',
|
|
33089
|
+
(c) => _optionalChain([c, 'access', _741 => _741.data, 'optionalAccess', _742 => _742.droppableContainer, 'optionalAccess', _743 => _743.data, 'optionalAccess', _744 => _744.current, 'optionalAccess', _745 => _745.type]) === "ticket"
|
|
33087
33090
|
);
|
|
33088
33091
|
if (ticketHit) return [ticketHit];
|
|
33089
33092
|
const columnHit = intersections.find(
|
|
33090
|
-
(c) => _optionalChain([c, 'access',
|
|
33093
|
+
(c) => _optionalChain([c, 'access', _746 => _746.data, 'optionalAccess', _747 => _747.droppableContainer, 'optionalAccess', _748 => _748.data, 'optionalAccess', _749 => _749.current, 'optionalAccess', _750 => _750.type]) === "column"
|
|
33091
33094
|
);
|
|
33092
33095
|
if (columnHit) {
|
|
33093
|
-
const columnId = _optionalChain([columnHit, 'access',
|
|
33096
|
+
const columnId = _optionalChain([columnHit, 'access', _751 => _751.data, 'optionalAccess', _752 => _752.droppableContainer, 'optionalAccess', _753 => _753.data, 'optionalAccess', _754 => _754.current, 'optionalAccess', _755 => _755.columnId]);
|
|
33094
33097
|
const ticketsInColumn = args.droppableContainers.filter((c) => {
|
|
33095
33098
|
const d = c.data.current;
|
|
33096
|
-
return _optionalChain([d, 'optionalAccess',
|
|
33099
|
+
return _optionalChain([d, 'optionalAccess', _756 => _756.type]) === "ticket" && d.columnId === columnId;
|
|
33097
33100
|
});
|
|
33098
33101
|
if (ticketsInColumn.length > 0) {
|
|
33099
33102
|
const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
|
|
@@ -33118,20 +33121,20 @@ function Board({
|
|
|
33118
33121
|
const overId = String(over.id);
|
|
33119
33122
|
if (activeId === overId) return;
|
|
33120
33123
|
const overData = over.data.current;
|
|
33121
|
-
const fromColumnId = _optionalChain([locate, 'call',
|
|
33122
|
-
const toColumnId = _optionalChain([overData, 'optionalAccess',
|
|
33124
|
+
const fromColumnId = _optionalChain([locate, 'call', _757 => _757(items, activeId), 'optionalAccess', _758 => _758.columnId]);
|
|
33125
|
+
const toColumnId = _optionalChain([overData, 'optionalAccess', _759 => _759.columnId]);
|
|
33123
33126
|
if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
|
|
33124
33127
|
const origin = dragOriginRef.current;
|
|
33125
|
-
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess',
|
|
33128
|
+
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _760 => _760.fromColumnId]) === toColumnId;
|
|
33126
33129
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
33127
|
-
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess',
|
|
33128
|
-
if (_optionalChain([targetCol, 'optionalAccess',
|
|
33130
|
+
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _761 => _761.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
|
|
33131
|
+
if (_optionalChain([targetCol, 'optionalAccess', _762 => _762.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
|
|
33129
33132
|
setItems((prev) => {
|
|
33130
33133
|
const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
|
|
33131
33134
|
const toCol = prev.find((c) => c.id === toColumnId);
|
|
33132
33135
|
if (fromIndex < 0 || !toCol) return prev;
|
|
33133
33136
|
let toIndex;
|
|
33134
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
33137
|
+
if (_optionalChain([overData, 'optionalAccess', _763 => _763.type]) === "column") {
|
|
33135
33138
|
toIndex = toCol.tickets.length;
|
|
33136
33139
|
} else {
|
|
33137
33140
|
const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
|
|
@@ -33173,14 +33176,14 @@ function Board({
|
|
|
33173
33176
|
const toColumnId = located.columnId;
|
|
33174
33177
|
const isCrossColumn = origin.fromColumnId !== toColumnId;
|
|
33175
33178
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
33176
|
-
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess',
|
|
33179
|
+
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _764 => _764.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _765 => _765.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
|
|
33177
33180
|
setItems(columns);
|
|
33178
33181
|
return;
|
|
33179
33182
|
}
|
|
33180
33183
|
let finalIndex = located.index;
|
|
33181
|
-
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access',
|
|
33184
|
+
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _766 => _766.find, 'call', _767 => _767((c) => c.id === toColumnId), 'optionalAccess', _768 => _768.tickets]), () => ( []));
|
|
33182
33185
|
const overData = over.data.current;
|
|
33183
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
33186
|
+
if (_optionalChain([overData, 'optionalAccess', _769 => _769.type]) === "ticket") {
|
|
33184
33187
|
const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
|
|
33185
33188
|
if (overIndex >= 0 && overIndex !== located.index) {
|
|
33186
33189
|
finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
|
|
@@ -33200,8 +33203,8 @@ function Board({
|
|
|
33200
33203
|
ticketId: origin.ticketId,
|
|
33201
33204
|
fromColumnId: origin.fromColumnId,
|
|
33202
33205
|
toColumnId,
|
|
33203
|
-
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
33204
|
-
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
33206
|
+
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _770 => _770[finalIndex - 1], 'optionalAccess', _771 => _771.id]), () => ( null)),
|
|
33207
|
+
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _772 => _772[finalIndex + 1], 'optionalAccess', _773 => _773.id]), () => ( null))
|
|
33205
33208
|
});
|
|
33206
33209
|
};
|
|
33207
33210
|
const handleDragCancel = () => {
|
|
@@ -33223,8 +33226,8 @@ function Board({
|
|
|
33223
33226
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "flex h-full overflow-x-auto", className), children: items.map((column, i) => {
|
|
33224
33227
|
const prev = items[i - 1];
|
|
33225
33228
|
const next = items[i + 1];
|
|
33226
|
-
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess',
|
|
33227
|
-
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess',
|
|
33229
|
+
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _774 => _774.system]));
|
|
33230
|
+
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _775 => _775.system]));
|
|
33228
33231
|
const showGap = i > 0 && !joinLeft;
|
|
33229
33232
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React102.Fragment, { children: [
|
|
33230
33233
|
showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
|
|
@@ -33258,7 +33261,7 @@ function locate(cols, ticketId) {
|
|
|
33258
33261
|
return null;
|
|
33259
33262
|
}
|
|
33260
33263
|
function findIndexInColumn(cols, columnId, ticketId) {
|
|
33261
|
-
return _nullishCoalesce(_optionalChain([cols, 'access',
|
|
33264
|
+
return _nullishCoalesce(_optionalChain([cols, 'access', _776 => _776.find, 'call', _777 => _777((c) => c.id === columnId), 'optionalAccess', _778 => _778.tickets, 'access', _779 => _779.findIndex, 'call', _780 => _780((t) => t.id === ticketId)]), () => ( -1));
|
|
33262
33265
|
}
|
|
33263
33266
|
|
|
33264
33267
|
// src/components/features/board/types.ts
|
|
@@ -33922,6 +33925,5 @@ function canonicalize(status) {
|
|
|
33922
33925
|
|
|
33923
33926
|
|
|
33924
33927
|
|
|
33925
|
-
|
|
33926
|
-
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.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.validateAccessCode = validateAccessCode; exports.consumeAccessCode = consumeAccessCode; exports.validateAndConsumeAccessCode = validateAndConsumeAccessCode; exports.useAccessCodeIntegration = useAccessCodeIntegration; 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.formatReleaseDate = formatReleaseDate; exports.formatRelativeTime = formatRelativeTime; exports.getDynamicIcon = getDynamicIcon; 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.ApprovalRequestMessage = ApprovalRequestMessage; exports.PulseDots = PulseDots; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.SquareAvatar = SquareAvatar; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.Textarea = Textarea; exports.ChatTypingIndicator = ChatTypingIndicator; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.BlockCard = BlockCard; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageList = ChatMessageList; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ChatQuickAction = ChatQuickAction; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; 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.CONNECTION_STATUS = CONNECTION_STATUS; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; 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.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.ErrorBoundary = ErrorBoundary; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.Progress = Progress; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OrganizationIcon = OrganizationIcon; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.PlatformBadge = PlatformBadge; 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.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.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.Switch = Switch; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.Header = Header; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderButton = HeaderButton; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.AnnouncementBar = AnnouncementBar; exports.VendorIcon = VendorIcon; exports.CategoriesCart = CategoriesCart; exports.CategoryCard = CategoryCard; exports.VendorDisplayButton = VendorDisplayButton; exports.setRealAuthHook = setRealAuthHook; exports.useAuth = useAuth; exports.AuthProvider = AuthProvider; exports.CommentCard = CommentCard; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.EmptyState = EmptyState2; exports.ChevronButton = ChevronButton; exports.FaqAccordion = FaqAccordion; exports.FilterChip = FilterChip; exports.SocialIconRow = SocialIconRow; exports.Footer = Footer; exports.useUnifiedFiltering = useUnifiedFiltering; exports.vendorFilterConfig = vendorFilterConfig; exports.blogFilterConfig = blogFilterConfig; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.UnifiedPagination = UnifiedPagination; exports.FooterWaitlistButton = FooterWaitlistButton; exports.HeroImageUploader = HeroImageUploader; exports.ResponsiveIconsBlock = ResponsiveIconsBlock; exports.Slider = Slider; exports.ImageCropper = ImageCropper; exports.MediaCarousel = MediaCarousel; exports.MetricValue = MetricValue; exports.MSPDisplay = MSPDisplay; exports.PersistentFilterControls = PersistentFilterControls; exports.PersistentSearchContainer = PersistentSearchContainer; exports.PersistentSidebar = PersistentSidebar; exports.PersistentMobileDropdown = PersistentMobileDropdown; exports.PersistentPagination = PersistentPagination; exports.usePaginationLoading = usePaginationLoading; exports.PersistentPaginationWrapper = PersistentPaginationWrapper; exports.PRICING_STYLES = PRICING_STYLES; exports.PricingDisplay = PricingDisplay; exports.formatPricingForDisplay = formatPricingForDisplay; exports.ResultsCount = ResultsCount; exports.VendorTag = VendorTag; exports.SelectionSourceBadge = SelectionSourceBadge; exports.UserDisplay = UserDisplay; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.VendorPageSkeleton = VendorPageSkeleton; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon3; exports.XCircleIcon = XCircleIcon; exports.YesNoDisplay = YesNoDisplay; exports.evaluateFeatureValue = evaluateFeatureValue; exports.MadeWithLove = MadeWithLove; exports.DateTimePicker = DateTimePicker; exports.InteractiveCard = InteractiveCard; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.ImageGalleryModal = ImageGalleryModal; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.DetailPageSkeleton = DetailPageSkeleton; exports.ReleaseDetailPage = ReleaseDetailPage; exports.ReleaseDetailSkeleton = ReleaseDetailSkeleton; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.ProgressBar = ProgressBar; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; 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.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.Modal2 = Modal2; exports.ModalContent2 = ModalContent2; exports.ModalHeader2 = ModalHeader2; exports.ModalTitle2 = ModalTitle2; exports.ModalFooter2 = ModalFooter2; 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.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.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.StatusIndicator = StatusIndicator; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.ListPageLayout = ListPageLayout; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.CircularProgress = CircularProgress; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.MoreActionsMenu = MoreActionsMenu; exports.DropdownButton = DropdownButton; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; 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.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; 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.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.assets = assets;
|
|
33927
|
-
//# sourceMappingURL=chunk-EUTOT74J.cjs.map
|
|
33928
|
+
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.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.validateAccessCode = validateAccessCode; exports.consumeAccessCode = consumeAccessCode; exports.validateAndConsumeAccessCode = validateAndConsumeAccessCode; exports.useAccessCodeIntegration = useAccessCodeIntegration; 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.formatReleaseDate = formatReleaseDate; exports.formatRelativeTime = formatRelativeTime; exports.getDynamicIcon = getDynamicIcon; 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.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.SquareAvatar = SquareAvatar; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.Textarea = Textarea; exports.ChatTypingIndicator = ChatTypingIndicator; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.BlockCard = BlockCard; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageList = ChatMessageList; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ChatQuickAction = ChatQuickAction; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; 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.CONNECTION_STATUS = CONNECTION_STATUS; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; 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.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.ErrorBoundary = ErrorBoundary; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.Progress = Progress; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OrganizationIcon = OrganizationIcon; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.PlatformBadge = PlatformBadge; 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.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.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.Switch = Switch; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.Header = Header; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderButton = HeaderButton; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.AnnouncementBar = AnnouncementBar; exports.VendorIcon = VendorIcon; exports.CategoriesCart = CategoriesCart; exports.CategoryCard = CategoryCard; exports.VendorDisplayButton = VendorDisplayButton; exports.setRealAuthHook = setRealAuthHook; exports.useAuth = useAuth; exports.AuthProvider = AuthProvider; exports.CommentCard = CommentCard; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.EmptyState = EmptyState2; exports.ChevronButton = ChevronButton; exports.FaqAccordion = FaqAccordion; exports.FilterChip = FilterChip; exports.SocialIconRow = SocialIconRow; exports.Footer = Footer; exports.useUnifiedFiltering = useUnifiedFiltering; exports.vendorFilterConfig = vendorFilterConfig; exports.blogFilterConfig = blogFilterConfig; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.UnifiedPagination = UnifiedPagination; exports.FooterWaitlistButton = FooterWaitlistButton; exports.HeroImageUploader = HeroImageUploader; exports.ResponsiveIconsBlock = ResponsiveIconsBlock; exports.Slider = Slider; exports.ImageCropper = ImageCropper; exports.MediaCarousel = MediaCarousel; exports.MetricValue = MetricValue; exports.MSPDisplay = MSPDisplay; exports.PersistentFilterControls = PersistentFilterControls; exports.PersistentSearchContainer = PersistentSearchContainer; exports.PersistentSidebar = PersistentSidebar; exports.PersistentMobileDropdown = PersistentMobileDropdown; exports.PersistentPagination = PersistentPagination; exports.usePaginationLoading = usePaginationLoading; exports.PersistentPaginationWrapper = PersistentPaginationWrapper; exports.PRICING_STYLES = PRICING_STYLES; exports.PricingDisplay = PricingDisplay; exports.formatPricingForDisplay = formatPricingForDisplay; exports.ResultsCount = ResultsCount; exports.VendorTag = VendorTag; exports.SelectionSourceBadge = SelectionSourceBadge; exports.UserDisplay = UserDisplay; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.VendorPageSkeleton = VendorPageSkeleton; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon3; exports.XCircleIcon = XCircleIcon; exports.YesNoDisplay = YesNoDisplay; exports.evaluateFeatureValue = evaluateFeatureValue; exports.MadeWithLove = MadeWithLove; exports.DateTimePicker = DateTimePicker; exports.InteractiveCard = InteractiveCard; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.ImageGalleryModal = ImageGalleryModal; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.DetailPageSkeleton = DetailPageSkeleton; exports.ReleaseDetailPage = ReleaseDetailPage; exports.ReleaseDetailSkeleton = ReleaseDetailSkeleton; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.ProgressBar = ProgressBar; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; 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.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.Modal2 = Modal2; exports.ModalContent2 = ModalContent2; exports.ModalHeader2 = ModalHeader2; exports.ModalTitle2 = ModalTitle2; exports.ModalFooter2 = ModalFooter2; 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.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.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.StatusIndicator = StatusIndicator; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.ListPageLayout = ListPageLayout; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.CircularProgress = CircularProgress; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.MoreActionsMenu = MoreActionsMenu; exports.DropdownButton = DropdownButton; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; 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.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; 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.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.assets = assets;
|
|
33929
|
+
//# sourceMappingURL=chunk-W5AWCFKE.cjs.map
|