@flamingo-stack/openframe-frontend-core 0.0.662 → 0.0.663-2275.7014.1
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-RPHRBZG6.cjs → chunk-2QM7YXOJ.cjs} +3 -3
- package/dist/{chunk-RPHRBZG6.cjs.map → chunk-2QM7YXOJ.cjs.map} +1 -1
- package/dist/{chunk-YVLK3MOX.js → chunk-3DZTC7X6.js} +6 -6
- package/dist/{chunk-H3DF7COI.cjs → chunk-4FVWZWWQ.cjs} +44 -44
- package/dist/{chunk-H3DF7COI.cjs.map → chunk-4FVWZWWQ.cjs.map} +1 -1
- package/dist/{chunk-U4N65JUW.js → chunk-52JYGGYC.js} +4 -4
- package/dist/{chunk-N4ORXOZK.cjs → chunk-5H5DLXKB.cjs} +10 -10
- package/dist/{chunk-N4ORXOZK.cjs.map → chunk-5H5DLXKB.cjs.map} +1 -1
- package/dist/{chunk-24T5HZPB.cjs → chunk-5R4QMTML.cjs} +8 -4
- package/dist/chunk-5R4QMTML.cjs.map +1 -0
- package/dist/{chunk-D7QWYQBQ.cjs → chunk-6OCDV3CG.cjs} +75 -75
- package/dist/{chunk-D7QWYQBQ.cjs.map → chunk-6OCDV3CG.cjs.map} +1 -1
- package/dist/{chunk-EUT6SQW7.js → chunk-7O66NU67.js} +3 -3
- package/dist/{chunk-F5LMTKQD.js → chunk-7W7MVFRO.js} +5 -5
- package/dist/{chunk-LXBHYUIN.js → chunk-CJ5CFXYX.js} +2 -2
- package/dist/{chunk-M23ZPKOK.js → chunk-CPLY2B24.js} +17 -13
- package/dist/chunk-CPLY2B24.js.map +1 -0
- package/dist/{chunk-PC5WWTDM.js → chunk-EM25YRU4.js} +3 -3
- package/dist/{chunk-IMDYBINC.js → chunk-FHWS5S3Q.js} +4 -4
- package/dist/{chunk-ZASHVL45.cjs → chunk-FIKEK4CT.cjs} +3 -3
- package/dist/{chunk-ZASHVL45.cjs.map → chunk-FIKEK4CT.cjs.map} +1 -1
- package/dist/{chunk-XNJZ6A2S.cjs → chunk-FJNGXGJW.cjs} +5 -5
- package/dist/{chunk-XNJZ6A2S.cjs.map → chunk-FJNGXGJW.cjs.map} +1 -1
- package/dist/{chunk-FC6I2NWF.js → chunk-FNVFIE6U.js} +2 -2
- package/dist/{chunk-J7QLRCZX.cjs → chunk-KC724VE5.cjs} +38 -38
- package/dist/{chunk-J7QLRCZX.cjs.map → chunk-KC724VE5.cjs.map} +1 -1
- package/dist/{chunk-TRR6XUEP.js → chunk-LEJQQGSV.js} +3 -3
- package/dist/{chunk-4JITKV2S.cjs → chunk-LFTIHLPE.cjs} +51 -51
- package/dist/{chunk-4JITKV2S.cjs.map → chunk-LFTIHLPE.cjs.map} +1 -1
- package/dist/{chunk-QARWK4LN.cjs → chunk-MCXJZ4ZU.cjs} +10 -10
- package/dist/{chunk-QARWK4LN.cjs.map → chunk-MCXJZ4ZU.cjs.map} +1 -1
- package/dist/{chunk-Z572FXXM.js → chunk-MKGV3GIQ.js} +2 -2
- package/dist/{chunk-RFGXKRRL.js → chunk-N4NC4GL3.js} +7 -7
- package/dist/{chunk-J5TAB64U.js → chunk-OKVOG43V.js} +2 -2
- package/dist/{chunk-GLDXZK76.cjs → chunk-P3EMSRMU.cjs} +7 -7
- package/dist/{chunk-GLDXZK76.cjs.map → chunk-P3EMSRMU.cjs.map} +1 -1
- package/dist/{chunk-4EY5JSMK.cjs → chunk-PK354XJZ.cjs} +5 -5
- package/dist/{chunk-4EY5JSMK.cjs.map → chunk-PK354XJZ.cjs.map} +1 -1
- package/dist/{chunk-WGTKYVBK.cjs → chunk-QGAREF6U.cjs} +12 -12
- package/dist/{chunk-WGTKYVBK.cjs.map → chunk-QGAREF6U.cjs.map} +1 -1
- package/dist/{chunk-KCYGLC7Q.js → chunk-QUDXV7FH.js} +5 -5
- package/dist/{chunk-4NKKPGDN.js → chunk-RZDMWLVI.js} +2 -2
- package/dist/{chunk-XOA32PN3.cjs → chunk-S6G3Y7LW.cjs} +22 -22
- package/dist/{chunk-XOA32PN3.cjs.map → chunk-S6G3Y7LW.cjs.map} +1 -1
- package/dist/{chunk-7KNVRRI4.cjs → chunk-T3QCW3XX.cjs} +25 -25
- package/dist/{chunk-7KNVRRI4.cjs.map → chunk-T3QCW3XX.cjs.map} +1 -1
- package/dist/{chunk-WDJT7NJ5.js → chunk-TX3EZWVN.js} +5 -5
- package/dist/{chunk-6VY6PXAN.cjs → chunk-V2ANBE3X.cjs} +33 -33
- package/dist/{chunk-6VY6PXAN.cjs.map → chunk-V2ANBE3X.cjs.map} +1 -1
- package/dist/{chunk-UA3V3KXX.js → chunk-VQZXJIPY.js} +8 -4
- package/dist/chunk-VQZXJIPY.js.map +1 -0
- package/dist/{chunk-ZIT4TC5R.cjs → chunk-VZV2Y5ZB.cjs} +261 -257
- package/dist/chunk-VZV2Y5ZB.cjs.map +1 -0
- package/dist/{chunk-5LS7KNAU.js → chunk-W56UB66V.js} +7 -7
- package/dist/{chunk-GXHZCGVJ.cjs → chunk-XUPZB6QF.cjs} +25 -25
- package/dist/{chunk-GXHZCGVJ.cjs.map → chunk-XUPZB6QF.cjs.map} +1 -1
- package/dist/components/case-studies/index.cjs +20 -20
- package/dist/components/case-studies/index.js +5 -5
- package/dist/components/chat/index.cjs +3 -3
- package/dist/components/chat/index.js +2 -2
- package/dist/components/contact/index.cjs +6 -6
- package/dist/components/contact/index.js +5 -5
- package/dist/components/docs/index.cjs +9 -9
- package/dist/components/docs/index.js +8 -8
- package/dist/components/embeds/index.cjs +6 -6
- package/dist/components/embeds/index.js +5 -5
- package/dist/components/faq/index.cjs +6 -6
- package/dist/components/faq/index.js +5 -5
- package/dist/components/features/highlight-video-preview.d.ts.map +1 -1
- package/dist/components/features/index.cjs +5 -5
- package/dist/components/features/index.js +4 -4
- package/dist/components/help-center-pages/index.cjs +25 -25
- package/dist/components/help-center-pages/index.js +16 -16
- package/dist/components/icons/elestio-logo.d.ts +4 -1
- package/dist/components/icons/elestio-logo.d.ts.map +1 -1
- package/dist/components/icons/empty-vendor-icon.d.ts.map +1 -1
- package/dist/components/icons/index.cjs +2 -2
- package/dist/components/icons/index.js +1 -1
- package/dist/components/index.cjs +42 -42
- package/dist/components/index.js +15 -15
- package/dist/components/meeting-scheduler/index.cjs +28 -28
- package/dist/components/meeting-scheduler/index.js +4 -4
- package/dist/components/navigation/index.cjs +8 -8
- package/dist/components/navigation/index.js +7 -7
- package/dist/components/onboarding-guides/index.cjs +8 -8
- package/dist/components/onboarding-guides/index.js +7 -7
- package/dist/components/tickets/index.cjs +9 -9
- package/dist/components/tickets/index.js +8 -8
- package/dist/components/ui/index.cjs +5 -5
- package/dist/components/ui/index.js +4 -4
- package/dist/hooks/index.cjs +3 -3
- package/dist/hooks/index.js +2 -2
- package/dist/index.cjs +9 -9
- package/dist/index.js +8 -8
- package/dist/utils/format-duration.d.ts +2 -0
- package/dist/utils/format-duration.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/components/features/highlight-video-preview.tsx +1 -6
- package/src/components/icons/elestio-logo.tsx +4 -1
- package/src/components/icons/empty-vendor-icon.tsx +10 -4
- package/src/stories/ScriptArguments.stories.tsx +1 -1
- package/src/utils/format-duration.ts +5 -0
- package/dist/chunk-24T5HZPB.cjs.map +0 -1
- package/dist/chunk-M23ZPKOK.js.map +0 -1
- package/dist/chunk-UA3V3KXX.js.map +0 -1
- package/dist/chunk-ZIT4TC5R.cjs.map +0 -1
- /package/dist/{chunk-YVLK3MOX.js.map → chunk-3DZTC7X6.js.map} +0 -0
- /package/dist/{chunk-U4N65JUW.js.map → chunk-52JYGGYC.js.map} +0 -0
- /package/dist/{chunk-EUT6SQW7.js.map → chunk-7O66NU67.js.map} +0 -0
- /package/dist/{chunk-F5LMTKQD.js.map → chunk-7W7MVFRO.js.map} +0 -0
- /package/dist/{chunk-LXBHYUIN.js.map → chunk-CJ5CFXYX.js.map} +0 -0
- /package/dist/{chunk-PC5WWTDM.js.map → chunk-EM25YRU4.js.map} +0 -0
- /package/dist/{chunk-IMDYBINC.js.map → chunk-FHWS5S3Q.js.map} +0 -0
- /package/dist/{chunk-FC6I2NWF.js.map → chunk-FNVFIE6U.js.map} +0 -0
- /package/dist/{chunk-TRR6XUEP.js.map → chunk-LEJQQGSV.js.map} +0 -0
- /package/dist/{chunk-Z572FXXM.js.map → chunk-MKGV3GIQ.js.map} +0 -0
- /package/dist/{chunk-RFGXKRRL.js.map → chunk-N4NC4GL3.js.map} +0 -0
- /package/dist/{chunk-J5TAB64U.js.map → chunk-OKVOG43V.js.map} +0 -0
- /package/dist/{chunk-KCYGLC7Q.js.map → chunk-QUDXV7FH.js.map} +0 -0
- /package/dist/{chunk-4NKKPGDN.js.map → chunk-RZDMWLVI.js.map} +0 -0
- /package/dist/{chunk-WDJT7NJ5.js.map → chunk-TX3EZWVN.js.map} +0 -0
- /package/dist/{chunk-5LS7KNAU.js.map → chunk-W56UB66V.js.map} +0 -0
|
@@ -22,7 +22,7 @@ var _chunkTON3YCCWcjs = require('./chunk-TON3YCCW.cjs');
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
var
|
|
25
|
+
var _chunkFJNGXGJWcjs = require('./chunk-FJNGXGJW.cjs');
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
var _chunkJU6SBF3Ccjs = require('./chunk-JU6SBF3C.cjs');
|
|
@@ -93,7 +93,7 @@ var _chunkQVSVRG7Icjs = require('./chunk-QVSVRG7I.cjs');
|
|
|
93
93
|
|
|
94
94
|
|
|
95
95
|
|
|
96
|
-
var
|
|
96
|
+
var _chunkXUPZB6QFcjs = require('./chunk-XUPZB6QF.cjs');
|
|
97
97
|
|
|
98
98
|
|
|
99
99
|
|
|
@@ -148,7 +148,7 @@ var _chunkSADRZ4YIcjs = require('./chunk-SADRZ4YI.cjs');
|
|
|
148
148
|
|
|
149
149
|
|
|
150
150
|
|
|
151
|
-
var
|
|
151
|
+
var _chunk5R4QMTMLcjs = require('./chunk-5R4QMTML.cjs');
|
|
152
152
|
|
|
153
153
|
|
|
154
154
|
|
|
@@ -349,7 +349,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
349
349
|
var useTheme = _nextthemes.useTheme;
|
|
350
350
|
function useThemeToggle() {
|
|
351
351
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
352
|
-
const mounted =
|
|
352
|
+
const mounted = _chunkXUPZB6QFcjs.useIsHydrated.call(void 0, );
|
|
353
353
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
354
354
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
355
355
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -626,7 +626,7 @@ function TruncateText({
|
|
|
626
626
|
const { ref, isTruncated } = _chunkTLLJIGTPcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
|
|
627
627
|
const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
|
|
628
628
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
629
|
-
|
|
629
|
+
_chunkXUPZB6QFcjs.FloatingTooltip,
|
|
630
630
|
{
|
|
631
631
|
content: _nullishCoalesce(tooltip, () => ( children)),
|
|
632
632
|
side,
|
|
@@ -711,7 +711,7 @@ function AutocompleteInner(props, ref) {
|
|
|
711
711
|
};
|
|
712
712
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
713
713
|
const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
|
|
714
|
-
const keyboardPadding =
|
|
714
|
+
const keyboardPadding = _chunkFJNGXGJWcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
715
715
|
const containerRef = _react.useRef.call(void 0, null);
|
|
716
716
|
const hiddenTagsPopupRef = _react.useRef.call(void 0, null);
|
|
717
717
|
const isInvalid = invalid || !!error;
|
|
@@ -729,7 +729,7 @@ function AutocompleteInner(props, ref) {
|
|
|
729
729
|
textMeasureRef,
|
|
730
730
|
badgeRef,
|
|
731
731
|
inputRef
|
|
732
|
-
} =
|
|
732
|
+
} = _chunkFJNGXGJWcjs.useAutoLimitTags.call(void 0, {
|
|
733
733
|
count: multiple ? selectedOptions.length : 0,
|
|
734
734
|
limitTags: multiple ? limitTagsProp : 0,
|
|
735
735
|
placeholder: inputPlaceholder
|
|
@@ -933,7 +933,7 @@ function AutocompleteInner(props, ref) {
|
|
|
933
933
|
),
|
|
934
934
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2", children: [
|
|
935
935
|
multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
936
|
-
|
|
936
|
+
_chunkXUPZB6QFcjs.Tag,
|
|
937
937
|
{
|
|
938
938
|
variant: "outline",
|
|
939
939
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -1155,7 +1155,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1155
1155
|
"aria-hidden": "true",
|
|
1156
1156
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
1157
1157
|
children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1158
|
-
|
|
1158
|
+
_chunkXUPZB6QFcjs.Tag,
|
|
1159
1159
|
{
|
|
1160
1160
|
variant: "outline",
|
|
1161
1161
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -2540,7 +2540,7 @@ function InfoHint({ children, label, side = "top", className }) {
|
|
|
2540
2540
|
const describedById = _react.useId.call(void 0, );
|
|
2541
2541
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
|
|
2542
2542
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2543
|
-
|
|
2543
|
+
_chunkXUPZB6QFcjs.FloatingTooltip,
|
|
2544
2544
|
{
|
|
2545
2545
|
content: children,
|
|
2546
2546
|
side,
|
|
@@ -2634,7 +2634,7 @@ function Value2({ value, depth }) {
|
|
|
2634
2634
|
}
|
|
2635
2635
|
if (typeof value === "string") {
|
|
2636
2636
|
if (ISO_DATE.test(value)) {
|
|
2637
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children:
|
|
2637
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkXUPZB6QFcjs.formatRelativeTime.call(void 0, value) });
|
|
2638
2638
|
}
|
|
2639
2639
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
|
|
2640
2640
|
}
|
|
@@ -2816,7 +2816,7 @@ function InfoCardFooter({ footer }) {
|
|
|
2816
2816
|
] });
|
|
2817
2817
|
}
|
|
2818
2818
|
function InfoCardValueRow({ label, value, showLabel, copyable, icon, copyAriaLabel }) {
|
|
2819
|
-
const { copy, copied } =
|
|
2819
|
+
const { copy, copied } = _chunkFJNGXGJWcjs.useCopyToClipboard.call(void 0, );
|
|
2820
2820
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-6 w-full items-center gap-[var(--spacing-system-xs)] self-stretch", children: [
|
|
2821
2821
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-primary text-h4", children: showLabel ? label : "" }),
|
|
2822
2822
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-px flex-1 bg-ods-divider" }),
|
|
@@ -2906,7 +2906,7 @@ function SearchableSelect({
|
|
|
2906
2906
|
}) {
|
|
2907
2907
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
2908
2908
|
const [search, setSearch] = _react.useState.call(void 0, "");
|
|
2909
|
-
const keyboardPadding =
|
|
2909
|
+
const keyboardPadding = _chunkFJNGXGJWcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
2910
2910
|
if (!isOpen && search !== "") setSearch("");
|
|
2911
2911
|
const filtered = _react.useMemo.call(void 0, () => {
|
|
2912
2912
|
const q = search.trim().toLowerCase();
|
|
@@ -3266,7 +3266,7 @@ function RowValue({ value }) {
|
|
|
3266
3266
|
}
|
|
3267
3267
|
case "status": {
|
|
3268
3268
|
const { type: _type, ...props } = value;
|
|
3269
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3269
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TicketStatusTag, { ...props });
|
|
3270
3270
|
}
|
|
3271
3271
|
case "custom":
|
|
3272
3272
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
|
|
@@ -3782,7 +3782,7 @@ function TagSelectDropdown({
|
|
|
3782
3782
|
}) {
|
|
3783
3783
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
3784
3784
|
const [search, setSearch] = _react.useState.call(void 0, "");
|
|
3785
|
-
const keyboardPadding =
|
|
3785
|
+
const keyboardPadding = _chunkFJNGXGJWcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
3786
3786
|
if (!isOpen && search !== "") setSearch("");
|
|
3787
3787
|
const query = search.trim();
|
|
3788
3788
|
const filtered = _react.useMemo.call(void 0, () => {
|
|
@@ -4074,7 +4074,7 @@ function TagsManager({
|
|
|
4074
4074
|
}) {
|
|
4075
4075
|
const [open, setOpen] = _react.useState.call(void 0, false);
|
|
4076
4076
|
const [search, setSearch] = _react.useState.call(void 0, "");
|
|
4077
|
-
const keyboardPadding =
|
|
4077
|
+
const keyboardPadding = _chunkFJNGXGJWcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
4078
4078
|
const [editingId, setEditingId] = _react.useState.call(void 0, null);
|
|
4079
4079
|
const [editingName, setEditingName] = _react.useState.call(void 0, "");
|
|
4080
4080
|
const editInputRef = _react.useRef.call(void 0, null);
|
|
@@ -4177,7 +4177,7 @@ function TagsManager({
|
|
|
4177
4177
|
}
|
|
4178
4178
|
),
|
|
4179
4179
|
selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4180
|
-
|
|
4180
|
+
_chunkXUPZB6QFcjs.Tag,
|
|
4181
4181
|
{
|
|
4182
4182
|
label: tag.name,
|
|
4183
4183
|
variant: "outline",
|
|
@@ -4722,10 +4722,10 @@ function useConfirm() {
|
|
|
4722
4722
|
},
|
|
4723
4723
|
[]
|
|
4724
4724
|
);
|
|
4725
|
-
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4726
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4727
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4728
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4725
|
+
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXUPZB6QFcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
|
|
4726
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ModalTitle, { children: pending.title }) }),
|
|
4727
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
|
|
4728
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXUPZB6QFcjs.ModalFooter, { children: [
|
|
4729
4729
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
|
|
4730
4730
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
|
|
4731
4731
|
] })
|
|
@@ -4788,9 +4788,9 @@ function AdminFormModal({
|
|
|
4788
4788
|
body: "Your edits have not been saved. Close and discard them?"
|
|
4789
4789
|
});
|
|
4790
4790
|
if (!isOpen) return null;
|
|
4791
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4792
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4793
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4791
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXUPZB6QFcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
|
|
4792
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXUPZB6QFcjs.ModalHeader, { children: [
|
|
4793
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ModalTitle, { children: title }),
|
|
4794
4794
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
|
|
4795
4795
|
] }),
|
|
4796
4796
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -4815,7 +4815,7 @@ function AdminFormModal({
|
|
|
4815
4815
|
// a shrink-to-fit flex item pinned to the left of a 1400px panel).
|
|
4816
4816
|
// The placeholder owns its own layout and mirrors the column count so
|
|
4817
4817
|
// the modal doesn't visibly re-flow when the entity lands.
|
|
4818
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4818
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4819
4819
|
"div",
|
|
4820
4820
|
{
|
|
4821
4821
|
"aria-busy": "true",
|
|
@@ -4836,12 +4836,12 @@ function AdminFormModal({
|
|
|
4836
4836
|
]
|
|
4837
4837
|
}
|
|
4838
4838
|
) })
|
|
4839
|
-
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4839
|
+
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ModalContent, { className: contentClassName, children }),
|
|
4840
4840
|
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
|
|
4841
4841
|
]
|
|
4842
4842
|
}
|
|
4843
4843
|
),
|
|
4844
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4844
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
|
|
4845
4845
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
|
|
4846
4846
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
4847
4847
|
footerStatus,
|
|
@@ -6131,14 +6131,14 @@ var KIND_HEADING = {
|
|
|
6131
6131
|
design: "Claude Design"
|
|
6132
6132
|
};
|
|
6133
6133
|
function ClaudeEmbed({ url, kind = "artifact", title, height, loading = "lazy" }) {
|
|
6134
|
-
const { src: mirrorSrc, status } =
|
|
6134
|
+
const { src: mirrorSrc, status } = _chunkFJNGXGJWcjs.useClaudeMirrorSrc.call(void 0, url);
|
|
6135
6135
|
const isProbing = status === "probing";
|
|
6136
|
-
const embedUrl = isProbing ? null : _nullishCoalesce(mirrorSrc, () => (
|
|
6136
|
+
const embedUrl = isProbing ? null : _nullishCoalesce(mirrorSrc, () => ( _chunkFJNGXGJWcjs.toClaudeEmbedUrl.call(void 0, url)));
|
|
6137
6137
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6138
6138
|
EmbedViewerFrame,
|
|
6139
6139
|
{
|
|
6140
6140
|
className: "my-6 space-y-3",
|
|
6141
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6141
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.ClaudeIcon, { className: "h-5 w-5 shrink-0" }),
|
|
6142
6142
|
title: _optionalChain([title, 'optionalAccess', _124 => _124.trim, 'call', _125 => _125()]) || KIND_HEADING[kind],
|
|
6143
6143
|
titleVariant: "h6",
|
|
6144
6144
|
isLoading: isProbing,
|
|
@@ -6149,7 +6149,7 @@ function ClaudeEmbed({ url, kind = "artifact", title, height, loading = "lazy" }
|
|
|
6149
6149
|
size: "small-legacy",
|
|
6150
6150
|
href: url,
|
|
6151
6151
|
openInNewTab: true,
|
|
6152
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6152
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.ClaudeIcon, { className: "h-4 w-4" }),
|
|
6153
6153
|
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-4 w-4" }),
|
|
6154
6154
|
className: "w-full sm:w-auto",
|
|
6155
6155
|
children: "Open in Claude"
|
|
@@ -6162,7 +6162,7 @@ function ClaudeEmbed({ url, kind = "artifact", title, height, loading = "lazy" }
|
|
|
6162
6162
|
allow: "clipboard-write; clipboard-read; fullscreen",
|
|
6163
6163
|
sandbox: mirrorSrc ? "allow-scripts allow-popups allow-forms" : "allow-scripts allow-same-origin allow-popups allow-forms",
|
|
6164
6164
|
allowFullScreen: true,
|
|
6165
|
-
emptyIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6165
|
+
emptyIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.ClaudeIcon, { className: "mb-4 h-16 w-16" }),
|
|
6166
6166
|
emptyMessage: "Open this one in Claude \xB7 it has no embeddable view"
|
|
6167
6167
|
}
|
|
6168
6168
|
);
|
|
@@ -6208,12 +6208,12 @@ function SlidesViewToggle({ view, onChange }) {
|
|
|
6208
6208
|
}
|
|
6209
6209
|
function FigmaEmbed({ url, title, height, loading = "lazy" }) {
|
|
6210
6210
|
const [view, setView] = _react.useState.call(void 0, "present");
|
|
6211
|
-
const isSlides = url ?
|
|
6212
|
-
const embedSrc = url ?
|
|
6211
|
+
const isSlides = url ? _chunkFJNGXGJWcjs.isFigmaSlidesUrl.call(void 0, url) : false;
|
|
6212
|
+
const embedSrc = url ? _chunkFJNGXGJWcjs.toFigmaEmbedUrl.call(void 0, url, { slidesView: view }) : null;
|
|
6213
6213
|
const originalUrl = (() => {
|
|
6214
6214
|
if (!url) return null;
|
|
6215
6215
|
try {
|
|
6216
|
-
const parsed = new URL(
|
|
6216
|
+
const parsed = new URL(_chunkFJNGXGJWcjs.toFigmaOriginalUrl.call(void 0, url));
|
|
6217
6217
|
const host = parsed.hostname.toLowerCase();
|
|
6218
6218
|
const okHost = host === "figma.com" || host.endsWith(".figma.com");
|
|
6219
6219
|
const okProtocol = parsed.protocol === "https:" || parsed.protocol === "http:";
|
|
@@ -6987,7 +6987,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
|
|
|
6987
6987
|
};
|
|
6988
6988
|
const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
|
|
6989
6989
|
const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6990
|
-
|
|
6990
|
+
_chunkXUPZB6QFcjs.Video,
|
|
6991
6991
|
{
|
|
6992
6992
|
url: item.src,
|
|
6993
6993
|
poster: item.poster ? displayImageSrc(item.poster) : void 0,
|
|
@@ -7511,7 +7511,7 @@ var UserIcon3 = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { wid
|
|
|
7511
7511
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2" }),
|
|
7512
7512
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "circle", { cx: "12", cy: "7", r: "4" })
|
|
7513
7513
|
] });
|
|
7514
|
-
var XIcon = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7514
|
+
var XIcon = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.XLogo, { className: "h-5 w-5", color: "currentColor" });
|
|
7515
7515
|
function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
|
|
7516
7516
|
const { twitterProxyUrl } = useRichMarkdownRuntime();
|
|
7517
7517
|
const [tweetData, setTweetData] = _react.useState.call(void 0, null);
|
|
@@ -7711,7 +7711,7 @@ function buildRichEmbedOverrides({
|
|
|
7711
7711
|
ogEndpointPath,
|
|
7712
7712
|
textSizes
|
|
7713
7713
|
}) {
|
|
7714
|
-
const standard =
|
|
7714
|
+
const standard = _chunkXUPZB6QFcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7715
7715
|
return {
|
|
7716
7716
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7717
7717
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7721,7 +7721,7 @@ function buildRichEmbedOverrides({
|
|
|
7721
7721
|
const language = match ? match[1] : "";
|
|
7722
7722
|
const fenceText = () => String(children).replace(/\n$/, "").trim();
|
|
7723
7723
|
if (language === "youtube-embed") {
|
|
7724
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7724
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.Video, { kind: "youtube", url: fenceText() });
|
|
7725
7725
|
}
|
|
7726
7726
|
if (language === "reddit-embed") {
|
|
7727
7727
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
|
|
@@ -7762,7 +7762,7 @@ function buildRichEmbedOverrides({
|
|
|
7762
7762
|
"data-figma-url": figmaUrl
|
|
7763
7763
|
} = divProps;
|
|
7764
7764
|
if (className === "youtube-embed" && videoId) {
|
|
7765
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7765
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.Video, { kind: "youtube", url: videoId });
|
|
7766
7766
|
}
|
|
7767
7767
|
if (className === "reddit-embed" && postUrl) {
|
|
7768
7768
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
|
|
@@ -7847,14 +7847,14 @@ function buildRichEmbedOverrides({
|
|
|
7847
7847
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7848
7848
|
// elsewhere). Guard against empty `![]()`.
|
|
7849
7849
|
img: ({ src, alt }) => {
|
|
7850
|
-
if (!
|
|
7850
|
+
if (!_chunkXUPZB6QFcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7851
7851
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7852
7852
|
},
|
|
7853
7853
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
7854
7854
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
7855
7855
|
video: ({ src, poster, className }) => {
|
|
7856
|
-
if (!
|
|
7857
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `overflow-hidden ${className || "my-8 w-full rounded-lg"}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7856
|
+
if (!_chunkXUPZB6QFcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7857
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `overflow-hidden ${className || "my-8 w-full rounded-lg"}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
7858
7858
|
}
|
|
7859
7859
|
};
|
|
7860
7860
|
}
|
|
@@ -8095,13 +8095,13 @@ var RichMarkdownInner = ({
|
|
|
8095
8095
|
},
|
|
8096
8096
|
[resolveLinkEndpointUrl, resolveSource]
|
|
8097
8097
|
);
|
|
8098
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
8098
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunkXUPZB6QFcjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
8099
8099
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
8100
8100
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
8101
8101
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
8102
8102
|
);
|
|
8103
8103
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8104
|
-
|
|
8104
|
+
_chunkXUPZB6QFcjs.MarkdownEngine,
|
|
8105
8105
|
{
|
|
8106
8106
|
content,
|
|
8107
8107
|
className,
|
|
@@ -8123,7 +8123,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
8123
8123
|
className = "",
|
|
8124
8124
|
sectionIds,
|
|
8125
8125
|
onInternalLinkClick,
|
|
8126
|
-
brokenLinks =
|
|
8126
|
+
brokenLinks = _chunkXUPZB6QFcjs.NO_BROKEN_LINKS,
|
|
8127
8127
|
currentPath,
|
|
8128
8128
|
resolveSource = "openframe-docs",
|
|
8129
8129
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -8328,7 +8328,7 @@ function StackedRowsPanel({ rows, title, className }) {
|
|
|
8328
8328
|
|
|
8329
8329
|
function SlackChannelChip({ name, href, className }) {
|
|
8330
8330
|
const inner = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "inline-flex items-center gap-1 align-baseline text-ods-text-primary", className), children: [
|
|
8331
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8331
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.SlackIcon, { className: "h-4 w-4 flex-shrink-0" }),
|
|
8332
8332
|
name ? `#${name}` : "Slack"
|
|
8333
8333
|
] });
|
|
8334
8334
|
if (!href) return inner;
|
|
@@ -8696,7 +8696,7 @@ function FilterModal({
|
|
|
8696
8696
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _167 => _167.defaultSort]), () => ( "desc"));
|
|
8697
8697
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _168 => _168.sort]), () => ( dateDefaultSort)));
|
|
8698
8698
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _169 => _169.range]));
|
|
8699
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
8699
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkXUPZB6QFcjs.useScrollFade.call(void 0, );
|
|
8700
8700
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
8701
8701
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
8702
8702
|
_react.useEffect.call(void 0, () => {
|
|
@@ -8741,10 +8741,10 @@ function FilterModal({
|
|
|
8741
8741
|
const hasFilterGroups = filterGroups.length > 0;
|
|
8742
8742
|
const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
|
|
8743
8743
|
const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
|
|
8744
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8745
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8744
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXUPZB6QFcjs.Modal, { isOpen, onClose, className: _chunkX7CEWD6Vcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
|
|
8745
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ModalTitle, { children: title }) }),
|
|
8746
8746
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8747
|
-
|
|
8747
|
+
_chunkXUPZB6QFcjs.ModalContent,
|
|
8748
8748
|
{
|
|
8749
8749
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
8750
8750
|
"flex min-h-0 flex-1 flex-col",
|
|
@@ -8836,12 +8836,12 @@ function FilterModal({
|
|
|
8836
8836
|
] })
|
|
8837
8837
|
}
|
|
8838
8838
|
),
|
|
8839
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8840
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8839
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
8840
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
8841
8841
|
] })
|
|
8842
8842
|
}
|
|
8843
8843
|
),
|
|
8844
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8844
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXUPZB6QFcjs.ModalFooter, { children: [
|
|
8845
8845
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
|
|
8846
8846
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
|
|
8847
8847
|
] })
|
|
@@ -8885,9 +8885,9 @@ function actionToMenuItems(action, idx) {
|
|
|
8885
8885
|
function renderActionButton(action, opts = {}) {
|
|
8886
8886
|
const button = renderRawActionButton(action, opts);
|
|
8887
8887
|
if (!action.tooltip) return button;
|
|
8888
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8889
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8890
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8888
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXUPZB6QFcjs.Tooltip, { children: [
|
|
8889
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TooltipTrigger, { asChild: true, children: button }),
|
|
8890
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TooltipContent, { children: action.tooltip })
|
|
8891
8891
|
] }) });
|
|
8892
8892
|
}
|
|
8893
8893
|
function renderRawActionButton(action, opts = {}) {
|
|
@@ -8911,7 +8911,7 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
8911
8911
|
}
|
|
8912
8912
|
if (action.submenu && action.submenu.length > 0) {
|
|
8913
8913
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8914
|
-
|
|
8914
|
+
_chunkXUPZB6QFcjs.ActionsMenuDropdown,
|
|
8915
8915
|
{
|
|
8916
8916
|
groups: [{ items: action.submenu }],
|
|
8917
8917
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -9046,10 +9046,10 @@ function IconButtonsVariant({
|
|
|
9046
9046
|
selector,
|
|
9047
9047
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
9048
9048
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
|
|
9049
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9049
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ActionsMenuDropdown, { groups: menuActions })
|
|
9050
9050
|
] })
|
|
9051
9051
|
] }),
|
|
9052
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex md:hidden", className), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileTriggerSkeleton, {}) : useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9052
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex md:hidden", className), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileTriggerSkeleton, {}) : useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
|
|
9053
9053
|
] });
|
|
9054
9054
|
}
|
|
9055
9055
|
function PrimaryButtonsVariant({
|
|
@@ -9087,7 +9087,7 @@ function MenuPrimaryVariant({
|
|
|
9087
9087
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
|
|
9088
9088
|
selector,
|
|
9089
9089
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
9090
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9090
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ActionsMenuDropdown, { groups: menuActions }),
|
|
9091
9091
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
|
|
9092
9092
|
] })
|
|
9093
9093
|
] }),
|
|
@@ -9095,7 +9095,7 @@ function MenuPrimaryVariant({
|
|
|
9095
9095
|
// The selector rides into the menu as its header row: on mobile the
|
|
9096
9096
|
// title row has no room for it, and hiding it entirely (what
|
|
9097
9097
|
// `icon-buttons` does) would leave no way to switch views at all.
|
|
9098
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9098
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
|
|
9099
9099
|
) : null })
|
|
9100
9100
|
] });
|
|
9101
9101
|
}
|
|
@@ -9501,7 +9501,7 @@ function TitleBlock({
|
|
|
9501
9501
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
9502
9502
|
(loading || title) && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9503
9503
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9504
|
-
|
|
9504
|
+
_chunkXUPZB6QFcjs.FloatingTooltip,
|
|
9505
9505
|
{
|
|
9506
9506
|
content: title,
|
|
9507
9507
|
side: "bottom",
|
|
@@ -9518,12 +9518,12 @@ function TitleBlock({
|
|
|
9518
9518
|
}
|
|
9519
9519
|
),
|
|
9520
9520
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9521
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9521
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
|
|
9522
9522
|
hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
|
|
9523
9523
|
empty `p` collapses to zero height (its only content would be
|
|
9524
9524
|
collapsible whitespace), which is exactly the shift that mode
|
|
9525
9525
|
exists to prevent. Hidden from AT — it carries no meaning. */
|
|
9526
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9526
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9527
9527
|
"p",
|
|
9528
9528
|
{
|
|
9529
9529
|
ref: subtitleRef,
|
|
@@ -9534,7 +9534,7 @@ function TitleBlock({
|
|
|
9534
9534
|
) })
|
|
9535
9535
|
] })
|
|
9536
9536
|
] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9537
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9537
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { ref: titleRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, titleClass, "min-w-0 text-ods-text-primary", titleOverflowClass), children: title }) }),
|
|
9538
9538
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9539
9539
|
] }) : (
|
|
9540
9540
|
/* This branch never had the single-line clamp, so text already
|
|
@@ -9757,9 +9757,9 @@ function brandMarkDataUri(name) {
|
|
|
9757
9757
|
|
|
9758
9758
|
// src/utils/os-platforms.ts
|
|
9759
9759
|
var OS_PLATFORMS = [
|
|
9760
|
-
{ id: "windows", name: "Windows", icon:
|
|
9761
|
-
{ id: "linux", name: "Linux", icon:
|
|
9762
|
-
{ id: "darwin", name: "MacOS", icon:
|
|
9760
|
+
{ id: "windows", name: "Windows", icon: _chunk5R4QMTMLcjs.WindowsIcon },
|
|
9761
|
+
{ id: "linux", name: "Linux", icon: _chunk5R4QMTMLcjs.LinuxIcon },
|
|
9762
|
+
{ id: "darwin", name: "MacOS", icon: _chunk5R4QMTMLcjs.MacOSIcon }
|
|
9763
9763
|
];
|
|
9764
9764
|
var DEFAULT_OS_PLATFORM = "windows";
|
|
9765
9765
|
|
|
@@ -10004,12 +10004,12 @@ var ShellTypeValues = {
|
|
|
10004
10004
|
};
|
|
10005
10005
|
var SHELL_TYPES = [
|
|
10006
10006
|
{ id: ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon: _chunkYRTMAXLEcjs.PowershellLogoIcon },
|
|
10007
|
-
{ id: ShellTypeValues.CMD, label: "Batch", value: "cmd", icon:
|
|
10008
|
-
{ id: ShellTypeValues.BASH, label: "Bash", value: "bash", icon:
|
|
10007
|
+
{ id: ShellTypeValues.CMD, label: "Batch", value: "cmd", icon: _chunk5R4QMTMLcjs.CmdIcon },
|
|
10008
|
+
{ id: ShellTypeValues.BASH, label: "Bash", value: "bash", icon: _chunk5R4QMTMLcjs.BashIcon },
|
|
10009
10009
|
{ id: ShellTypeValues.PYTHON, label: "Python", value: "python", icon: _chunkYRTMAXLEcjs.PythonLogoIcon },
|
|
10010
|
-
{ id: ShellTypeValues.NUSHELL, label: "Nu", value: "nushell", icon:
|
|
10011
|
-
{ id: ShellTypeValues.DENO, label: "Deno", value: "deno", icon:
|
|
10012
|
-
{ id: ShellTypeValues.SHELL, label: "Shell", value: "shell", icon:
|
|
10010
|
+
{ id: ShellTypeValues.NUSHELL, label: "Nu", value: "nushell", icon: _chunk5R4QMTMLcjs.NushellIcon },
|
|
10011
|
+
{ id: ShellTypeValues.DENO, label: "Deno", value: "deno", icon: _chunk5R4QMTMLcjs.DenoIcon },
|
|
10012
|
+
{ id: ShellTypeValues.SHELL, label: "Shell", value: "shell", icon: _chunk5R4QMTMLcjs.ShellIcon }
|
|
10013
10013
|
];
|
|
10014
10014
|
var shellLabels = {
|
|
10015
10015
|
[ShellTypeValues.POWERSHELL]: "PowerShell",
|
|
@@ -10963,8 +10963,8 @@ function makeComposeContentUrl(opts) {
|
|
|
10963
10963
|
}
|
|
10964
10964
|
if (externalUrl) return { href: externalUrl, targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)) };
|
|
10965
10965
|
const claimedOwner = _nullishCoalesce(targetPlatform, () => ( primaryPlatformOf(platforms)));
|
|
10966
|
-
const owner = claimedOwner &&
|
|
10967
|
-
const origin = owner ?
|
|
10966
|
+
const owner = claimedOwner && _chunkXUPZB6QFcjs.byKey.call(void 0, claimedOwner) ? claimedOwner : null;
|
|
10967
|
+
const origin = owner ? _chunkXUPZB6QFcjs.getPlatformProductionUrl.call(void 0, owner) : opts.contentOrigin;
|
|
10968
10968
|
return {
|
|
10969
10969
|
href: `${origin.replace(/\/+$/, "")}/${seg}/${_optionalChain([slugHint, 'optionalAccess', _227 => _227.trim, 'call', _228 => _228()]) || identifier}`,
|
|
10970
10970
|
// Report the owner so `decideNewTab` can compare it against the current
|
|
@@ -11139,7 +11139,7 @@ function extractSections(markdown, options = {}) {
|
|
|
11139
11139
|
if (heading.level > opts.maxLevel) continue;
|
|
11140
11140
|
let title = heading.text;
|
|
11141
11141
|
if (opts.stripFormattingMarkers) {
|
|
11142
|
-
title =
|
|
11142
|
+
title = _chunkXUPZB6QFcjs.stripInlineMarkdown.call(void 0, title).trim();
|
|
11143
11143
|
}
|
|
11144
11144
|
const baseId = _chunkTLLJIGTPcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkTLLJIGTPcjs.stripHeadingEmojis.call(void 0, title) : title);
|
|
11145
11145
|
const cleanId = baseId || `section-${sections.length + 1}`;
|
|
@@ -11486,7 +11486,7 @@ var spacingMap = {
|
|
|
11486
11486
|
function BulletList({
|
|
11487
11487
|
items,
|
|
11488
11488
|
bulletColor = "var(--color-text-primary)",
|
|
11489
|
-
bulletIcon: BulletIcon =
|
|
11489
|
+
bulletIcon: BulletIcon = _chunk5R4QMTMLcjs.ShapeCircleDashIcon,
|
|
11490
11490
|
bulletSize = 16,
|
|
11491
11491
|
textClassName = "text-h4 text-ods-text-primary",
|
|
11492
11492
|
itemClassName = "flex items-start gap-3",
|
|
@@ -11712,7 +11712,7 @@ function DashboardInfoCard({
|
|
|
11712
11712
|
const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
|
|
11713
11713
|
if (asTag) {
|
|
11714
11714
|
const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
|
|
11715
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11715
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
|
|
11716
11716
|
}
|
|
11717
11717
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
|
|
11718
11718
|
"(",
|
|
@@ -11766,7 +11766,7 @@ function DashboardInfoCard({
|
|
|
11766
11766
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "truncate text-ods-text-primary text-h3 md:text-h2", valueClassName), children: formattedValue }),
|
|
11767
11767
|
subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
|
|
11768
11768
|
renderPercentage(),
|
|
11769
|
-
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11769
|
+
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.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, _chunkYRTMAXLEcjs.QuestionCircleIcon, { size: 20 }) }) })
|
|
11770
11770
|
] })
|
|
11771
11771
|
] }),
|
|
11772
11772
|
renderProgress()
|
|
@@ -11943,7 +11943,7 @@ function DeviceCard({
|
|
|
11943
11943
|
] }),
|
|
11944
11944
|
(statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
|
|
11945
11945
|
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11946
|
-
|
|
11946
|
+
_chunkXUPZB6QFcjs.Tag,
|
|
11947
11947
|
{
|
|
11948
11948
|
variant: statusTag.variant,
|
|
11949
11949
|
icon: statusTag.icon,
|
|
@@ -11957,7 +11957,7 @@ function DeviceCard({
|
|
|
11957
11957
|
formatLastSeen(device.lastSeen)
|
|
11958
11958
|
] })
|
|
11959
11959
|
] }),
|
|
11960
|
-
device.tags && device.tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-wrap items-center gap-2", children: device.tags.map((tag, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11960
|
+
device.tags && device.tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-wrap items-center gap-2", children: device.tags.map((tag, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.Tag, { variant: "outline", label: tag }, index)) })
|
|
11961
11961
|
]
|
|
11962
11962
|
}
|
|
11963
11963
|
);
|
|
@@ -12105,7 +12105,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
|
|
|
12105
12105
|
|
|
12106
12106
|
function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
|
|
12107
12107
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12108
|
-
|
|
12108
|
+
_chunkXUPZB6QFcjs.FloatingTooltip,
|
|
12109
12109
|
{
|
|
12110
12110
|
as: "span",
|
|
12111
12111
|
side: "top",
|
|
@@ -12290,7 +12290,7 @@ function DropdownButton({
|
|
|
12290
12290
|
)
|
|
12291
12291
|
);
|
|
12292
12292
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12293
|
-
|
|
12293
|
+
_chunkXUPZB6QFcjs.ActionsMenuDropdown,
|
|
12294
12294
|
{
|
|
12295
12295
|
groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
|
|
12296
12296
|
open,
|
|
@@ -12505,7 +12505,7 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
|
|
|
12505
12505
|
}
|
|
12506
12506
|
function ServiceCardRowItem({ row }) {
|
|
12507
12507
|
const [revealed, setRevealed] = _react.useState.call(void 0, false);
|
|
12508
|
-
const { copy, copied } =
|
|
12508
|
+
const { copy, copied } = _chunkFJNGXGJWcjs.useCopyToClipboard.call(void 0, );
|
|
12509
12509
|
const { ref: valueRef, isTruncated: valueTruncated } = _chunkTLLJIGTPcjs.useIsTruncated.call(void 0, row.value);
|
|
12510
12510
|
const actions = _react.useMemo.call(void 0,
|
|
12511
12511
|
() => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }),
|
|
@@ -12528,7 +12528,7 @@ function ServiceCardRowItem({ row }) {
|
|
|
12528
12528
|
),
|
|
12529
12529
|
children: [
|
|
12530
12530
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12531
|
-
|
|
12531
|
+
_chunkXUPZB6QFcjs.FloatingTooltip,
|
|
12532
12532
|
{
|
|
12533
12533
|
content: row.value,
|
|
12534
12534
|
side: "top",
|
|
@@ -12545,7 +12545,7 @@ function ServiceCardRowItem({ row }) {
|
|
|
12545
12545
|
onClick: () => setRevealed((v) => !v),
|
|
12546
12546
|
className: "rounded p-2 text-ods-text-secondary hover:bg-ods-card",
|
|
12547
12547
|
"aria-label": revealed ? "Hide" : "Reveal",
|
|
12548
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12548
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.EyeIcon, { className: "h-5 w-5", off: revealed })
|
|
12549
12549
|
}
|
|
12550
12550
|
),
|
|
12551
12551
|
actions.copy && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -12666,7 +12666,7 @@ function PeopleCell({ people, fallbackName = "Unassigned" }) {
|
|
|
12666
12666
|
);
|
|
12667
12667
|
}
|
|
12668
12668
|
const fullNames = people.map((p) => p.name || "Unknown").join(", ");
|
|
12669
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12669
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.FloatingTooltip, { content: fullNames, triggerClassName: "min-w-0 max-w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
12670
12670
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12671
12671
|
_chunkODB2AEUWcjs.AvatarStack,
|
|
12672
12672
|
{
|
|
@@ -12728,9 +12728,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
12728
12728
|
return next;
|
|
12729
12729
|
});
|
|
12730
12730
|
};
|
|
12731
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12731
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXUPZB6QFcjs.Tooltip, { open, onOpenChange: setOpen, children: [
|
|
12732
12732
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12733
|
-
|
|
12733
|
+
_chunkXUPZB6QFcjs.TooltipTrigger,
|
|
12734
12734
|
{
|
|
12735
12735
|
asChild: true,
|
|
12736
12736
|
onPointerDown: (e) => {
|
|
@@ -12748,7 +12748,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
12748
12748
|
children
|
|
12749
12749
|
}
|
|
12750
12750
|
),
|
|
12751
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12751
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TooltipContent, { side, className: "max-w-xs", children: content })
|
|
12752
12752
|
] }) });
|
|
12753
12753
|
}
|
|
12754
12754
|
|
|
@@ -14059,9 +14059,9 @@ function TruncatedHeaderCell({ value, width }) {
|
|
|
14059
14059
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
14060
14060
|
}
|
|
14061
14061
|
}, []);
|
|
14062
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14063
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14064
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14062
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXUPZB6QFcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
14063
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center", style: { width, height: 48 }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: textRef, className: "truncate text-ods-text-secondary text-h5", children: value }) }) }),
|
|
14064
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
|
|
14065
14065
|
] }) });
|
|
14066
14066
|
}
|
|
14067
14067
|
|
|
@@ -14114,9 +14114,9 @@ function TruncatedCell({ value, className }) {
|
|
|
14114
14114
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
14115
14115
|
}
|
|
14116
14116
|
}, []);
|
|
14117
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14118
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14119
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14117
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXUPZB6QFcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
14118
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, "block truncate", className), children: value }) }),
|
|
14119
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
|
|
14120
14120
|
] }) });
|
|
14121
14121
|
}
|
|
14122
14122
|
|
|
@@ -14232,7 +14232,7 @@ function QueryReportTable({
|
|
|
14232
14232
|
onThumbPointerMove,
|
|
14233
14233
|
onThumbPointerUp,
|
|
14234
14234
|
onThumbPointerCancel
|
|
14235
|
-
} =
|
|
14235
|
+
} = _chunkFJNGXGJWcjs.useHorizontalScrollbar.call(void 0, );
|
|
14236
14236
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex w-full flex-col", isCompact ? "gap-0" : "gap-[var(--spacing-system-l)]", className), children: [
|
|
14237
14237
|
!isCompact && (title || headerActions || showExport && data.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between pt-[var(--spacing-system-l)]", children: [
|
|
14238
14238
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: title }),
|
|
@@ -15195,7 +15195,7 @@ function SearchInput({
|
|
|
15195
15195
|
const debouncedValue = _chunkTLLJIGTPcjs.useDebounce.call(void 0, currentValue, debounceMs);
|
|
15196
15196
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
15197
15197
|
const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
|
|
15198
|
-
const keyboardPadding =
|
|
15198
|
+
const keyboardPadding = _chunkFJNGXGJWcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
15199
15199
|
const containerRef = _react.useRef.call(void 0, null);
|
|
15200
15200
|
const currentPlaceholder = filterChips.length > 0 ? "Add filter..." : placeholder;
|
|
15201
15201
|
const {
|
|
@@ -15205,7 +15205,7 @@ function SearchInput({
|
|
|
15205
15205
|
textMeasureRef,
|
|
15206
15206
|
badgeRef,
|
|
15207
15207
|
inputRef
|
|
15208
|
-
} =
|
|
15208
|
+
} = _chunkFJNGXGJWcjs.useAutoLimitTags.call(void 0, {
|
|
15209
15209
|
count: filterChips.length,
|
|
15210
15210
|
limitTags,
|
|
15211
15211
|
// When chips exist, pass empty placeholder so the hook only reserves input minWidth,
|
|
@@ -15398,7 +15398,7 @@ function SearchInput({
|
|
|
15398
15398
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex-shrink-0 text-ods-text-secondary transition-colors duration-200 group-has-[:focus]:text-ods-accent [&_svg]:size-4 md:[&_svg]:size-6", children: startAdornment !== void 0 ? startAdornment : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}) }),
|
|
15399
15399
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
|
|
15400
15400
|
visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15401
|
-
|
|
15401
|
+
_chunkXUPZB6QFcjs.Tag,
|
|
15402
15402
|
{
|
|
15403
15403
|
variant: chipVariantToTagVariant(chip.variant),
|
|
15404
15404
|
label: chip.label,
|
|
@@ -15514,7 +15514,7 @@ function SearchInput({
|
|
|
15514
15514
|
}
|
|
15515
15515
|
),
|
|
15516
15516
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: measureRef, "aria-hidden": "true", className: "pointer-events-none fixed -left-[9999px] top-0 flex gap-2", children: filterChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15517
|
-
|
|
15517
|
+
_chunkXUPZB6QFcjs.Tag,
|
|
15518
15518
|
{
|
|
15519
15519
|
variant: chipVariantToTagVariant(chip.variant),
|
|
15520
15520
|
label: chip.label,
|
|
@@ -15656,7 +15656,7 @@ function TagSearchInput({
|
|
|
15656
15656
|
limitTags = "auto"
|
|
15657
15657
|
}) {
|
|
15658
15658
|
const currentPlaceholder = tags.length === 0 ? placeholder : addMorePlaceholder;
|
|
15659
|
-
const { visibleCount, middleRef, measureRef, textMeasureRef, badgeRef, inputRef } =
|
|
15659
|
+
const { visibleCount, middleRef, measureRef, textMeasureRef, badgeRef, inputRef } = _chunkFJNGXGJWcjs.useAutoLimitTags.call(void 0, {
|
|
15660
15660
|
count: tags.length,
|
|
15661
15661
|
limitTags,
|
|
15662
15662
|
placeholder: currentPlaceholder
|
|
@@ -15727,7 +15727,7 @@ function TagSearchInput({
|
|
|
15727
15727
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center pl-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "size-4 text-ods-text-secondary md:size-6" }) }),
|
|
15728
15728
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2", children: [
|
|
15729
15729
|
visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15730
|
-
|
|
15730
|
+
_chunkXUPZB6QFcjs.Tag,
|
|
15731
15731
|
{
|
|
15732
15732
|
variant: "outline",
|
|
15733
15733
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -15815,7 +15815,7 @@ function TagSearchInput({
|
|
|
15815
15815
|
"aria-hidden": "true",
|
|
15816
15816
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
15817
15817
|
children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15818
|
-
|
|
15818
|
+
_chunkXUPZB6QFcjs.Tag,
|
|
15819
15819
|
{
|
|
15820
15820
|
variant: "outline",
|
|
15821
15821
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -16689,7 +16689,7 @@ var _reactcolorful = require('react-colorful');
|
|
|
16689
16689
|
var Popover2 = PopoverPrimitive6.Root;
|
|
16690
16690
|
var PopoverTrigger = PopoverPrimitive6.Trigger;
|
|
16691
16691
|
var PopoverContent = _react.forwardRef.call(void 0, ({ className, align = "center", sideOffset = 4, collisionPadding, ...props }, ref) => {
|
|
16692
|
-
const keyboardPadding =
|
|
16692
|
+
const keyboardPadding = _chunkFJNGXGJWcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
16693
16693
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive6.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16694
16694
|
PopoverPrimitive6.Content,
|
|
16695
16695
|
{
|
|
@@ -16746,20 +16746,20 @@ function ColorPresetSelect({
|
|
|
16746
16746
|
...presets.map((p) => ({
|
|
16747
16747
|
id: p.key,
|
|
16748
16748
|
label: p.label,
|
|
16749
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16749
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ColorSwatch, { color: p.color }),
|
|
16750
16750
|
onClick: () => onChange({ color: p.color, preset: p.key })
|
|
16751
16751
|
})),
|
|
16752
16752
|
{
|
|
16753
16753
|
id: CUSTOM_PRESET_KEY,
|
|
16754
16754
|
label: "Custom",
|
|
16755
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16755
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
|
|
16756
16756
|
onClick: () => onChange({ color: value, preset: void 0 })
|
|
16757
16757
|
}
|
|
16758
16758
|
]
|
|
16759
16759
|
}
|
|
16760
16760
|
];
|
|
16761
16761
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16762
|
-
|
|
16762
|
+
_chunkXUPZB6QFcjs.ActionsMenuDropdown,
|
|
16763
16763
|
{
|
|
16764
16764
|
groups,
|
|
16765
16765
|
align: "start",
|
|
@@ -16769,7 +16769,7 @@ function ColorPresetSelect({
|
|
|
16769
16769
|
{
|
|
16770
16770
|
disabled,
|
|
16771
16771
|
"aria-label": `Color: ${displayLabel}`,
|
|
16772
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16772
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ColorSwatch, { color: displayColor }),
|
|
16773
16773
|
selectedLabel: displayLabel,
|
|
16774
16774
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16775
16775
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "group", className)
|
|
@@ -16790,7 +16790,7 @@ function HexInputs({ value, onChange }) {
|
|
|
16790
16790
|
}
|
|
16791
16791
|
const commit = () => {
|
|
16792
16792
|
const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
|
|
16793
|
-
if (
|
|
16793
|
+
if (_chunkXUPZB6QFcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
|
|
16794
16794
|
else setDraft(value);
|
|
16795
16795
|
};
|
|
16796
16796
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -16854,12 +16854,12 @@ function ChannelInput({
|
|
|
16854
16854
|
);
|
|
16855
16855
|
}
|
|
16856
16856
|
function RgbInputs({ value, onChange }) {
|
|
16857
|
-
const rgb = _nullishCoalesce(
|
|
16857
|
+
const rgb = _nullishCoalesce(_chunkXUPZB6QFcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16858
16858
|
const update = (next) => {
|
|
16859
16859
|
const r = _nullishCoalesce(next.r, () => ( rgb.r));
|
|
16860
16860
|
const g = _nullishCoalesce(next.g, () => ( rgb.g));
|
|
16861
16861
|
const b = _nullishCoalesce(next.b, () => ( rgb.b));
|
|
16862
|
-
onChange(
|
|
16862
|
+
onChange(_chunkXUPZB6QFcjs.rgbToHex.call(void 0, r, g, b));
|
|
16863
16863
|
};
|
|
16864
16864
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16865
16865
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
|
|
@@ -16868,14 +16868,14 @@ function RgbInputs({ value, onChange }) {
|
|
|
16868
16868
|
] });
|
|
16869
16869
|
}
|
|
16870
16870
|
function HslInputs({ value, onChange }) {
|
|
16871
|
-
const rgb = _nullishCoalesce(
|
|
16872
|
-
const hsl =
|
|
16871
|
+
const rgb = _nullishCoalesce(_chunkXUPZB6QFcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
16872
|
+
const hsl = _chunkXUPZB6QFcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
|
|
16873
16873
|
const update = (next) => {
|
|
16874
16874
|
const h = _nullishCoalesce(next.h, () => ( hsl.h));
|
|
16875
16875
|
const s = _nullishCoalesce(next.s, () => ( hsl.s));
|
|
16876
16876
|
const l = _nullishCoalesce(next.l, () => ( hsl.l));
|
|
16877
|
-
const out =
|
|
16878
|
-
onChange(
|
|
16877
|
+
const out = _chunkXUPZB6QFcjs.hslToRgb.call(void 0, h, s, l);
|
|
16878
|
+
onChange(_chunkXUPZB6QFcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
|
|
16879
16879
|
};
|
|
16880
16880
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
16881
16881
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
|
|
@@ -16901,7 +16901,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16901
16901
|
{
|
|
16902
16902
|
disabled,
|
|
16903
16903
|
"aria-label": "Pick custom color",
|
|
16904
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16904
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ColorSwatch, { color: value }),
|
|
16905
16905
|
selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
|
|
16906
16906
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
16907
16907
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "group", className)
|
|
@@ -16917,7 +16917,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
16917
16917
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
|
|
16918
16918
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
16919
16919
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16920
|
-
|
|
16920
|
+
_chunkXUPZB6QFcjs.ActionsMenuDropdown,
|
|
16921
16921
|
{
|
|
16922
16922
|
groups: formatGroups,
|
|
16923
16923
|
align: "start",
|
|
@@ -16965,7 +16965,7 @@ function TicketStatusConfigRow({
|
|
|
16965
16965
|
isDragging,
|
|
16966
16966
|
moveButtons
|
|
16967
16967
|
}) {
|
|
16968
|
-
const dragAndDropEnabled =
|
|
16968
|
+
const dragAndDropEnabled = _chunkFJNGXGJWcjs.useDragAndDropEnabled.call(void 0, );
|
|
16969
16969
|
const nameInputId = _react.useId.call(void 0, );
|
|
16970
16970
|
const isSystem = variant === "system";
|
|
16971
16971
|
const isCustomColor = !isSystem && presetKey === void 0;
|
|
@@ -16974,7 +16974,7 @@ function TicketStatusConfigRow({
|
|
|
16974
16974
|
const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
|
|
16975
16975
|
const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
|
|
16976
16976
|
const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16977
|
-
|
|
16977
|
+
_chunkXUPZB6QFcjs.TicketStatusTag,
|
|
16978
16978
|
{
|
|
16979
16979
|
status: statusKey,
|
|
16980
16980
|
label: name || " ",
|
|
@@ -17126,7 +17126,7 @@ function formatTestRunDuration(ms) {
|
|
|
17126
17126
|
var RESULT_COLUMN_MIN_WIDTH = 176;
|
|
17127
17127
|
var SKELETON_COLUMNS = 6;
|
|
17128
17128
|
function TestResultsSkeleton() {
|
|
17129
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17129
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
17130
17130
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)]", children: Array.from({ length: SKELETON_COLUMNS }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-[160px] shrink-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-3/4 animate-pulse rounded-sm bg-ods-bg-surface" }) }, `skeleton-header-${i}`)) }),
|
|
17131
17131
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "animate-pulse overflow-hidden rounded-[6px] border border-ods-border bg-ods-card", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[66px] items-center gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)] md:h-[78px]", children: Array.from({ length: SKELETON_COLUMNS }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-[160px] shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-3/4 rounded-sm bg-ods-bg-surface" }) }, `skeleton-cell-${i}`)) }) })
|
|
17132
17132
|
] }) });
|
|
@@ -17161,13 +17161,13 @@ function TestResultsTable({ rows, loading }) {
|
|
|
17161
17161
|
if (loading) {
|
|
17162
17162
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
17163
17163
|
}
|
|
17164
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17164
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { minWidth: Math.max(1, columnKeys.length) * RESULT_COLUMN_MIN_WIDTH }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DataTable, { table, children: [
|
|
17165
17165
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
17166
17166
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
17167
17167
|
] }) }) });
|
|
17168
17168
|
}
|
|
17169
17169
|
function TestRunErrorBanner({ error, className }) {
|
|
17170
|
-
const { copy } =
|
|
17170
|
+
const { copy } = _chunkFJNGXGJWcjs.useCopyToClipboard.call(void 0, { successDescription: "Error message copied to clipboard" });
|
|
17171
17171
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17172
17172
|
"div",
|
|
17173
17173
|
{
|
|
@@ -17223,7 +17223,7 @@ var TEST_RUN_STATUS_TAGS = {
|
|
|
17223
17223
|
function TestRunStatusStat({ status, className }) {
|
|
17224
17224
|
const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
|
|
17225
17225
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex min-w-0 flex-col items-start justify-center gap-[var(--spacing-system-xxs)]", className), children: [
|
|
17226
|
-
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17226
|
+
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.Tag, { label: tag.label, variant: tag.variant, className: "pointer-events-none" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h4", children: "-" }),
|
|
17227
17227
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
|
|
17228
17228
|
] });
|
|
17229
17229
|
}
|
|
@@ -17267,7 +17267,7 @@ function useTestRunState(campaign) {
|
|
|
17267
17267
|
const stopReason = _nullishCoalesce(campaign.stopReason, () => ( "completed"));
|
|
17268
17268
|
const status = isActive ? "running" : hasRun && isFinished ? stopReason === "completed" ? firstError ? "error" : "success" : stopReason : "idle";
|
|
17269
17269
|
const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
|
|
17270
|
-
const startedLabel = showTiming && campaign.startedAt ?
|
|
17270
|
+
const startedLabel = showTiming && campaign.startedAt ? _chunkXUPZB6QFcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
|
|
17271
17271
|
const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
|
|
17272
17272
|
const displayRows = _react.useMemo.call(void 0,
|
|
17273
17273
|
() => campaign.results.map(
|
|
@@ -17605,7 +17605,7 @@ function TicketInfoSection({
|
|
|
17605
17605
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _408 => _408.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _409 => _409.icon]), onClick: _optionalChain([device, 'optionalAccess', _410 => _410.onClick]) }),
|
|
17606
17606
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
17607
17607
|
(status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17608
|
-
|
|
17608
|
+
_chunkXUPZB6QFcjs.TicketStatusTag,
|
|
17609
17609
|
{
|
|
17610
17610
|
status: _nullishCoalesce(status, () => ( "")),
|
|
17611
17611
|
label: statusLabel,
|
|
@@ -17644,9 +17644,9 @@ function TicketInfoSection({
|
|
|
17644
17644
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
17645
17645
|
createdAt && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-2 items-center gap-4 border-b border-ods-border bg-ods-bg px-4 py-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: createdAt, label: "Created" }) }),
|
|
17646
17646
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
|
|
17647
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17647
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.SimpleMarkdownRenderer, { content: description }),
|
|
17648
17648
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
17649
|
-
tags && tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Tags", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-wrap gap-2", children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17649
|
+
tags && tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Tags", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-wrap gap-2", children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
|
|
17650
17650
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17651
17651
|
TicketNotesSection,
|
|
17652
17652
|
{
|
|
@@ -17669,7 +17669,7 @@ function renderTicketStatusOption(option, isSelected) {
|
|
|
17669
17669
|
const { label, color } = option;
|
|
17670
17670
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-[var(--spacing-system-xs)]", children: [
|
|
17671
17671
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
17672
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17672
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ColorSwatch, { color }),
|
|
17673
17673
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
|
|
17674
17674
|
] }),
|
|
17675
17675
|
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYRTMAXLEcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
@@ -17714,9 +17714,9 @@ function TakeOverTicketModal({
|
|
|
17714
17714
|
if (!selectedStatusId || !assigneeId || isPending) return;
|
|
17715
17715
|
onConfirm({ statusId: selectedStatusId, assigneeId });
|
|
17716
17716
|
};
|
|
17717
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17717
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXUPZB6QFcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17718
17718
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17719
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17719
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ModalTitle, { children: "Take Over Ticket" }) }),
|
|
17720
17720
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17721
17721
|
"The ticket ",
|
|
17722
17722
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17731,7 +17731,7 @@ function TakeOverTicketModal({
|
|
|
17731
17731
|
value: selectedStatusId,
|
|
17732
17732
|
onChange: setStatusId,
|
|
17733
17733
|
placeholder: "Select Status",
|
|
17734
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17734
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17735
17735
|
renderOption: renderTicketStatusOption
|
|
17736
17736
|
}
|
|
17737
17737
|
) }),
|
|
@@ -17758,7 +17758,7 @@ function TakeOverTicketModal({
|
|
|
17758
17758
|
}
|
|
17759
17759
|
) })
|
|
17760
17760
|
] }),
|
|
17761
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17761
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXUPZB6QFcjs.ModalFooter, { children: [
|
|
17762
17762
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17763
17763
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17764
17764
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17817,9 +17817,9 @@ function ReopenTicketModal({
|
|
|
17817
17817
|
reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
|
|
17818
17818
|
});
|
|
17819
17819
|
};
|
|
17820
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17820
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXUPZB6QFcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17821
17821
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17822
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17822
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17823
17823
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
17824
17824
|
"The ticket ",
|
|
17825
17825
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -17834,7 +17834,7 @@ function ReopenTicketModal({
|
|
|
17834
17834
|
value: selectedStatusId,
|
|
17835
17835
|
onChange: setStatusId,
|
|
17836
17836
|
placeholder: "Select Status",
|
|
17837
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17837
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
17838
17838
|
renderOption: renderTicketStatusOption
|
|
17839
17839
|
}
|
|
17840
17840
|
) }),
|
|
@@ -17872,7 +17872,7 @@ function ReopenTicketModal({
|
|
|
17872
17872
|
disabled: isPending
|
|
17873
17873
|
}
|
|
17874
17874
|
) }),
|
|
17875
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17875
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXUPZB6QFcjs.ModalFooter, { children: [
|
|
17876
17876
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
17877
17877
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
17878
17878
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17920,9 +17920,9 @@ function ReopenTicketRequestModal({
|
|
|
17920
17920
|
...showHandoffOption ? { handoffToTechnician: handoff } : {}
|
|
17921
17921
|
});
|
|
17922
17922
|
};
|
|
17923
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17923
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXUPZB6QFcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
17924
17924
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
17925
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17925
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
17926
17926
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: "This ticket will be reopened and the AI assistant will continue helping you." }),
|
|
17927
17927
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17928
17928
|
Textarea,
|
|
@@ -17946,7 +17946,7 @@ function ReopenTicketRequestModal({
|
|
|
17946
17946
|
disabled: isPending
|
|
17947
17947
|
}
|
|
17948
17948
|
),
|
|
17949
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17949
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXUPZB6QFcjs.ModalFooter, { children: [
|
|
17950
17950
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
|
|
17951
17951
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
|
|
17952
17952
|
] })
|
|
@@ -18207,10 +18207,10 @@ function AccountDetailsFields({
|
|
|
18207
18207
|
onKeyDown,
|
|
18208
18208
|
layout = "stacked"
|
|
18209
18209
|
}) {
|
|
18210
|
-
const firstNameErr =
|
|
18211
|
-
const lastNameErr =
|
|
18212
|
-
const passwordErr =
|
|
18213
|
-
const confirmErr =
|
|
18210
|
+
const firstNameErr = _chunkFJNGXGJWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _415 => _415.firstName]), firstName);
|
|
18211
|
+
const lastNameErr = _chunkFJNGXGJWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _416 => _416.lastName]), lastName);
|
|
18212
|
+
const passwordErr = _chunkFJNGXGJWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _417 => _417.password]), password);
|
|
18213
|
+
const confirmErr = _chunkFJNGXGJWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _418 => _418.confirmPassword]), confirmPassword);
|
|
18214
18214
|
const names = [
|
|
18215
18215
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18216
18216
|
_chunkQVSVRG7Icjs.Input,
|
|
@@ -18650,9 +18650,9 @@ function CreateOrganizationForm({
|
|
|
18650
18650
|
}) {
|
|
18651
18651
|
const hasSso = !!ssoProviders && ssoProviders.length > 0;
|
|
18652
18652
|
const fieldsDisabled = disabled || loading;
|
|
18653
|
-
const emailErr =
|
|
18654
|
-
const orgNameErr =
|
|
18655
|
-
const domainErr =
|
|
18653
|
+
const emailErr = _chunkFJNGXGJWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _420 => _420.email]), _nullishCoalesce(email, () => ( "")));
|
|
18654
|
+
const orgNameErr = _chunkFJNGXGJWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _421 => _421.organizationName]), organizationName);
|
|
18655
|
+
const domainErr = _chunkFJNGXGJWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _422 => _422.domain]), domain);
|
|
18656
18656
|
const handleKeyDown = (event) => {
|
|
18657
18657
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
18658
18658
|
onSubmit();
|
|
@@ -18868,7 +18868,7 @@ function LoginForm({
|
|
|
18868
18868
|
className
|
|
18869
18869
|
}) {
|
|
18870
18870
|
const fieldDisabled = disabled || loading;
|
|
18871
|
-
const emailErr =
|
|
18871
|
+
const emailErr = _chunkFJNGXGJWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _429 => _429.email]), email);
|
|
18872
18872
|
const handleKeyDown = (event) => {
|
|
18873
18873
|
if (event.key !== "Enter" || fieldDisabled || submitDisabled) return;
|
|
18874
18874
|
_optionalChain([onSubmitClick, 'optionalCall', _430 => _430()]);
|
|
@@ -19010,8 +19010,8 @@ function OpenFrameSsoLoginForm({
|
|
|
19010
19010
|
className
|
|
19011
19011
|
}) {
|
|
19012
19012
|
const fieldsDisabled = disabled || loading;
|
|
19013
|
-
const emailErr =
|
|
19014
|
-
const passwordErr =
|
|
19013
|
+
const emailErr = _chunkFJNGXGJWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _433 => _433.email]), email);
|
|
19014
|
+
const passwordErr = _chunkFJNGXGJWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _434 => _434.password]), password);
|
|
19015
19015
|
const handleKeyDown = (event) => {
|
|
19016
19016
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19017
19017
|
onSubmit();
|
|
@@ -19116,7 +19116,7 @@ function OpenFrameSsoSignUpForm({
|
|
|
19116
19116
|
className
|
|
19117
19117
|
}) {
|
|
19118
19118
|
const fieldsDisabled = disabled || loading;
|
|
19119
|
-
const emailErr =
|
|
19119
|
+
const emailErr = _chunkFJNGXGJWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _435 => _435.email]), email);
|
|
19120
19120
|
const handleKeyDown = (event) => {
|
|
19121
19121
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19122
19122
|
onSubmit();
|
|
@@ -19221,8 +19221,8 @@ function PasswordResetForm({
|
|
|
19221
19221
|
className
|
|
19222
19222
|
}) {
|
|
19223
19223
|
const fieldsDisabled = disabled || loading;
|
|
19224
|
-
const passwordErr =
|
|
19225
|
-
const confirmErr =
|
|
19224
|
+
const passwordErr = _chunkFJNGXGJWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _436 => _436.password]), password);
|
|
19225
|
+
const confirmErr = _chunkFJNGXGJWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _437 => _437.confirmPassword]), confirmPassword);
|
|
19226
19226
|
const handleKeyDown = (event) => {
|
|
19227
19227
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19228
19228
|
onSubmit();
|
|
@@ -19373,7 +19373,7 @@ function SsoJoinForm({
|
|
|
19373
19373
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", children: displayName }),
|
|
19374
19374
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: organizationName })
|
|
19375
19375
|
] }),
|
|
19376
|
-
roles.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xs)]", children: roles.map((role) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19376
|
+
roles.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xs)]", children: roles.map((role) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.Tag, { variant: "grey", label: role }, role)) })
|
|
19377
19377
|
] }),
|
|
19378
19378
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19379
19379
|
CheckboxBlock,
|
|
@@ -19412,23 +19412,23 @@ function SsoJoinForm({
|
|
|
19412
19412
|
var PROVIDER_CONFIG = {
|
|
19413
19413
|
microsoft: {
|
|
19414
19414
|
displayName: "Continue with Microsoft",
|
|
19415
|
-
icon:
|
|
19415
|
+
icon: _chunk5R4QMTMLcjs.MicrosoftIcon
|
|
19416
19416
|
},
|
|
19417
19417
|
google: {
|
|
19418
19418
|
displayName: "Continue with Google",
|
|
19419
|
-
icon:
|
|
19419
|
+
icon: _chunk5R4QMTMLcjs.GoogleLogo
|
|
19420
19420
|
},
|
|
19421
19421
|
slack: {
|
|
19422
19422
|
displayName: "Continue with Slack",
|
|
19423
|
-
icon:
|
|
19423
|
+
icon: _chunk5R4QMTMLcjs.SlackIcon
|
|
19424
19424
|
},
|
|
19425
19425
|
github: {
|
|
19426
19426
|
displayName: "Continue with GitHub",
|
|
19427
|
-
icon:
|
|
19427
|
+
icon: _chunk5R4QMTMLcjs.GitHubIcon
|
|
19428
19428
|
},
|
|
19429
19429
|
apple: {
|
|
19430
19430
|
displayName: "Continue with Apple",
|
|
19431
|
-
icon:
|
|
19431
|
+
icon: _chunk5R4QMTMLcjs.AppleIcon
|
|
19432
19432
|
}
|
|
19433
19433
|
};
|
|
19434
19434
|
function ProviderButton({ provider, onClick, disabled = false, loading = false }) {
|
|
@@ -20310,7 +20310,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
|
|
|
20310
20310
|
sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
|
|
20311
20311
|
title: config.title,
|
|
20312
20312
|
loading: "eager",
|
|
20313
|
-
...
|
|
20313
|
+
..._chunkXUPZB6QFcjs.fetchPriorityProp.call(void 0, "high")
|
|
20314
20314
|
},
|
|
20315
20315
|
iframeKey
|
|
20316
20316
|
),
|
|
@@ -21162,7 +21162,7 @@ function MediaGalleryManager({
|
|
|
21162
21162
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: _chunkODB2AEUWcjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? (
|
|
21163
21163
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
21164
21164
|
// fit="cover" crops to the aspect-video cell.
|
|
21165
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21165
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
|
|
21166
21166
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21167
21167
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
21168
21168
|
{
|
|
@@ -21611,7 +21611,7 @@ function PlatformFilterComponent({
|
|
|
21611
21611
|
variant: selectedPlatform === platform.value ? "accent" : "outline",
|
|
21612
21612
|
size,
|
|
21613
21613
|
onClick: () => onPlatformChange(platform.value),
|
|
21614
|
-
leftIcon: showIcons ?
|
|
21614
|
+
leftIcon: showIcons ? _chunkFJNGXGJWcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
|
|
21615
21615
|
className: "text-h3",
|
|
21616
21616
|
children: platform.label
|
|
21617
21617
|
},
|
|
@@ -23413,9 +23413,9 @@ function PushButtonSelector({
|
|
|
23413
23413
|
option.id
|
|
23414
23414
|
);
|
|
23415
23415
|
if (option.disabled && option.disabledReason) {
|
|
23416
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23417
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23418
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23416
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXUPZB6QFcjs.Tooltip, { children: [
|
|
23417
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TooltipTrigger, { asChild: true, children: optionEl }),
|
|
23418
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
|
|
23419
23419
|
] }, option.id);
|
|
23420
23420
|
}
|
|
23421
23421
|
return optionEl;
|
|
@@ -23460,7 +23460,7 @@ function PushButtonSelector({
|
|
|
23460
23460
|
lazyLoad.isFetchingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "py-2 text-center text-ods-text-secondary text-h6", children: "Loading more\u2026" }) : null
|
|
23461
23461
|
] }) : null
|
|
23462
23462
|
] });
|
|
23463
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23463
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
|
|
23464
23464
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
23465
23465
|
searchInput,
|
|
23466
23466
|
lazyLoad ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -23633,7 +23633,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
|
|
|
23633
23633
|
item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children: _chunkODB2AEUWcjs.isVideoMedia.call(void 0, item) || item.media_type === "demo" ? (
|
|
23634
23634
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
23635
23635
|
// fit="cover" crops to the aspect-video cell.
|
|
23636
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23636
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
23637
23637
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23638
23638
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
23639
23639
|
{
|
|
@@ -23766,7 +23766,7 @@ var SelectButton = _react2.default.forwardRef(
|
|
|
23766
23766
|
}
|
|
23767
23767
|
)
|
|
23768
23768
|
] }),
|
|
23769
|
-
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23769
|
+
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
|
|
23770
23770
|
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYRTMAXLEcjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
|
|
23771
23771
|
]
|
|
23772
23772
|
}
|
|
@@ -24115,24 +24115,24 @@ var defaultLinks = [
|
|
|
24115
24115
|
{ platform: "facebook", href: "https://www.facebook.com/flamingoai.msp", label: "Facebook" }
|
|
24116
24116
|
];
|
|
24117
24117
|
var SOCIAL_ICON_COMPONENTS = {
|
|
24118
|
-
github: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24119
|
-
twitter: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24120
|
-
reddit: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24121
|
-
linkedin: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24122
|
-
luma: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24123
|
-
whatsapp: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24118
|
+
github: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.GitHubIcon, { ...props }),
|
|
24119
|
+
twitter: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.XLogo, { ...props }),
|
|
24120
|
+
reddit: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.RedditIcon, { ...props, variant: "white" }),
|
|
24121
|
+
linkedin: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.LinkedInIcon, { ...props }),
|
|
24122
|
+
luma: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.LumaIcon, { ...props }),
|
|
24123
|
+
whatsapp: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.WhatsAppIcon, { ...props }),
|
|
24124
24124
|
email: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Mail, { ...props }),
|
|
24125
|
-
website: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24126
|
-
slack: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24127
|
-
discord: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24128
|
-
telegram: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24129
|
-
youtube: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24130
|
-
instagram: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24131
|
-
facebook: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24125
|
+
website: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.GlobeIcon, { ...props }),
|
|
24126
|
+
slack: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.SlackIcon, { ...props, injectedColor: "white" }),
|
|
24127
|
+
discord: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.MessageCircleIcon, { ...props }),
|
|
24128
|
+
telegram: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.TelegramIcon, { ...props }),
|
|
24129
|
+
youtube: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.YouTubeIcon, { ...props }),
|
|
24130
|
+
instagram: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.InstagramIcon, { ...props }),
|
|
24131
|
+
facebook: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.FacebookIcon, { ...props }),
|
|
24132
24132
|
tiktok: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Music, { ...props }),
|
|
24133
24133
|
// CopyIcon's default fill is grey and would mismatch its row-mates — force the
|
|
24134
24134
|
// themed foreground via the ODS token (tracks the theme).
|
|
24135
|
-
copy: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24135
|
+
copy: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.CopyIcon, { ...props, color: "var(--color-text-primary)" })
|
|
24136
24136
|
};
|
|
24137
24137
|
function renderSocialIcon(platform) {
|
|
24138
24138
|
const key = _nullishCoalesce(normalizeSocialPlatform(platform), () => ( "website"));
|
|
@@ -24628,7 +24628,7 @@ function VideoBitesDisplay({
|
|
|
24628
24628
|
filterPublished = true,
|
|
24629
24629
|
showTitle = true
|
|
24630
24630
|
}) {
|
|
24631
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24631
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
24632
24632
|
}
|
|
24633
24633
|
|
|
24634
24634
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -24697,7 +24697,7 @@ function WalkthroughVideo({
|
|
|
24697
24697
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
24698
24698
|
};
|
|
24699
24699
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
|
|
24700
|
-
const hydrated =
|
|
24700
|
+
const hydrated = _chunkXUPZB6QFcjs.useIsHydrated.call(void 0, );
|
|
24701
24701
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
24702
24702
|
if (!hydrated) return false;
|
|
24703
24703
|
try {
|
|
@@ -25094,7 +25094,7 @@ function WalkthroughVideo({
|
|
|
25094
25094
|
},
|
|
25095
25095
|
children: [
|
|
25096
25096
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25097
|
-
|
|
25097
|
+
_chunkXUPZB6QFcjs.VideoHoverPreviewSurface,
|
|
25098
25098
|
{
|
|
25099
25099
|
url: video.mainVideoUrl || "",
|
|
25100
25100
|
posterUrl: video.posterUrl,
|
|
@@ -25117,7 +25117,7 @@ function WalkthroughVideo({
|
|
|
25117
25117
|
`card-${embedUrlKey}`
|
|
25118
25118
|
) }),
|
|
25119
25119
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25120
|
-
|
|
25120
|
+
_chunkXUPZB6QFcjs.CardHitLayer,
|
|
25121
25121
|
{
|
|
25122
25122
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
25123
25123
|
onPointerDown: pausePreviewNow,
|
|
@@ -25126,7 +25126,7 @@ function WalkthroughVideo({
|
|
|
25126
25126
|
}
|
|
25127
25127
|
),
|
|
25128
25128
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "pointer-events-none absolute bottom-[var(--spacing-system-xsf)] left-[var(--spacing-system-xsf)] z-20 flex max-w-[calc(100%-2*var(--spacing-system-xsf))] items-center gap-[var(--spacing-system-xsf)] rounded-full bg-ods-overlay py-[var(--spacing-system-xxs)] pl-[var(--spacing-system-xxs)] pr-[var(--spacing-system-sf)] text-ods-text-primary text-h6", children: [
|
|
25129
|
-
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODB2AEUWcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25129
|
+
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODB2AEUWcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
|
|
25130
25130
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
|
|
25131
25131
|
] }),
|
|
25132
25132
|
showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -25139,7 +25139,7 @@ function WalkthroughVideo({
|
|
|
25139
25139
|
onPointerDown: (e) => e.stopPropagation(),
|
|
25140
25140
|
onClick: onUnmuteOrPlay,
|
|
25141
25141
|
className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
|
|
25142
|
-
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25142
|
+
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.VideoUnmuteGlyph, {})
|
|
25143
25143
|
}
|
|
25144
25144
|
),
|
|
25145
25145
|
showPlaybackControls && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "absolute left-[var(--spacing-system-xsf)] top-[var(--spacing-system-xsf)] z-30 flex items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -25232,7 +25232,7 @@ function WalkthroughVideo({
|
|
|
25232
25232
|
children: [
|
|
25233
25233
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
25234
25234
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25235
|
-
|
|
25235
|
+
_chunkXUPZB6QFcjs.Video,
|
|
25236
25236
|
{
|
|
25237
25237
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
25238
25238
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -25283,7 +25283,7 @@ function InlineWalkthroughVideo(props) {
|
|
|
25283
25283
|
var _reactquery = require('@tanstack/react-query');
|
|
25284
25284
|
function useWalkthroughVideo(opts) {
|
|
25285
25285
|
const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
|
|
25286
|
-
const captions =
|
|
25286
|
+
const captions = _chunkXUPZB6QFcjs.useCaptions.call(void 0, );
|
|
25287
25287
|
const query = _reactquery.useQuery.call(void 0, {
|
|
25288
25288
|
queryKey: ["walkthrough-video", endpoint],
|
|
25289
25289
|
enabled,
|
|
@@ -25400,7 +25400,7 @@ function VideoSourceSelector({
|
|
|
25400
25400
|
type: "button",
|
|
25401
25401
|
variant: videoSourceType === "youtube" ? "accent" : "outline",
|
|
25402
25402
|
onClick: () => onVideoSourceTypeChange("youtube"),
|
|
25403
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25403
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.YouTubeIcon, { className: "h-4 w-4", color: "currentColor" }),
|
|
25404
25404
|
disabled,
|
|
25405
25405
|
children: "YouTube URL"
|
|
25406
25406
|
}
|
|
@@ -25481,7 +25481,7 @@ function VideoSourceSelector({
|
|
|
25481
25481
|
}
|
|
25482
25482
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
25483
25483
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
|
|
25484
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25484
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.Video, { kind: "file", url: videoUrl }) }),
|
|
25485
25485
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25486
25486
|
"button",
|
|
25487
25487
|
{
|
|
@@ -25685,7 +25685,7 @@ var AIEnrichButton = ({
|
|
|
25685
25685
|
loading,
|
|
25686
25686
|
size: sizeMap[size],
|
|
25687
25687
|
variant: variantMap[variant],
|
|
25688
|
-
leftIcon: !loading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25688
|
+
leftIcon: !loading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.SparklesIcon, { size: 18, color: "currentColor" }),
|
|
25689
25689
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "gap-2", className),
|
|
25690
25690
|
children: loading ? loadingLabel : label
|
|
25691
25691
|
}
|
|
@@ -25772,7 +25772,7 @@ var AIEnrichSection = ({
|
|
|
25772
25772
|
),
|
|
25773
25773
|
children: [
|
|
25774
25774
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
25775
|
-
icon || /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25775
|
+
icon || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.SparklesIcon, { size: 20, className: "text-ods-text-secondary" }),
|
|
25776
25776
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1", children: [
|
|
25777
25777
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
25778
25778
|
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "mt-1 text-ods-text-secondary text-h6", children: description })
|
|
@@ -25926,7 +25926,7 @@ function HighlightVideoSection({
|
|
|
25926
25926
|
};
|
|
25927
25927
|
input.click();
|
|
25928
25928
|
};
|
|
25929
|
-
const
|
|
25929
|
+
const formatDuration3 = (ms) => {
|
|
25930
25930
|
const minutes = Math.floor(ms / 6e4);
|
|
25931
25931
|
const seconds = Math.floor(ms % 6e4 / 1e3);
|
|
25932
25932
|
return `${minutes}:${String(seconds).padStart(2, "0")}`;
|
|
@@ -25978,7 +25978,7 @@ function HighlightVideoSection({
|
|
|
25978
25978
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
25979
25979
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSD62VAYcjs.Label, { children: "Highlight Video" }),
|
|
25980
25980
|
highlightVideoSource === "ai_generated" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
|
|
25981
|
-
highlightVideoDurationMs && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Badge, { variant: "outline", className: "text-h6", children:
|
|
25981
|
+
highlightVideoDurationMs && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Badge, { variant: "outline", className: "text-h6", children: formatDuration3(highlightVideoDurationMs) })
|
|
25982
25982
|
] }),
|
|
25983
25983
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25984
25984
|
_chunkF6U2H42Lcjs.Button,
|
|
@@ -26005,7 +26005,7 @@ function HighlightVideoSection({
|
|
|
26005
26005
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
26006
26006
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
26007
26007
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
|
|
26008
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26008
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
|
|
26009
26009
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26010
26010
|
"button",
|
|
26011
26011
|
{
|
|
@@ -26136,7 +26136,7 @@ var AIStatusIndicator = ({
|
|
|
26136
26136
|
const confidenceLabel = showConfidence && confidence !== void 0 ? `${getConfidenceLabel(confidence)} (${confidence}%)` : null;
|
|
26137
26137
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "inline-flex items-center gap-2 rounded-lg px-3 py-1.5", config.bgColor, className), children: [
|
|
26138
26138
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26139
|
-
|
|
26139
|
+
_chunk5R4QMTMLcjs.SparklesIcon,
|
|
26140
26140
|
{
|
|
26141
26141
|
size: 16,
|
|
26142
26142
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
@@ -26183,7 +26183,7 @@ var AIRequiredBadge = ({ className, size = "sm" }) => {
|
|
|
26183
26183
|
className
|
|
26184
26184
|
),
|
|
26185
26185
|
children: [
|
|
26186
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26186
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.SparklesIcon, { size: size === "sm" ? 12 : 14, color: "var(--ods-flamingo-cyan-base)" }),
|
|
26187
26187
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-body", children: "AI-required" })
|
|
26188
26188
|
]
|
|
26189
26189
|
}
|
|
@@ -26323,6 +26323,15 @@ function HighlightGenerationSection({
|
|
|
26323
26323
|
// src/components/features/highlight-video-preview.tsx
|
|
26324
26324
|
|
|
26325
26325
|
|
|
26326
|
+
// src/utils/format-duration.ts
|
|
26327
|
+
function formatDuration2(ms) {
|
|
26328
|
+
const minutes = Math.floor(ms / 6e4);
|
|
26329
|
+
const seconds = Math.floor(ms % 6e4 / 1e3);
|
|
26330
|
+
return `${minutes}:${String(seconds).padStart(2, "0")}`;
|
|
26331
|
+
}
|
|
26332
|
+
|
|
26333
|
+
// src/components/features/highlight-video-preview.tsx
|
|
26334
|
+
|
|
26326
26335
|
function HighlightVideoPreview({
|
|
26327
26336
|
highlightVideoUrl,
|
|
26328
26337
|
highlightVideoThumbnail,
|
|
@@ -26348,11 +26357,6 @@ function HighlightVideoPreview({
|
|
|
26348
26357
|
};
|
|
26349
26358
|
input.click();
|
|
26350
26359
|
};
|
|
26351
|
-
const formatDuration2 = (ms) => {
|
|
26352
|
-
const minutes = Math.floor(ms / 6e4);
|
|
26353
|
-
const seconds = Math.floor(ms % 6e4 / 1e3);
|
|
26354
|
-
return `${minutes}:${String(seconds).padStart(2, "0")}`;
|
|
26355
|
-
};
|
|
26356
26360
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
26357
26361
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-2 flex items-center justify-between", children: [
|
|
26358
26362
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
@@ -26515,7 +26519,7 @@ function HighlightVideoCombinedSection({
|
|
|
26515
26519
|
}) {
|
|
26516
26520
|
const defaultButtonLabel = hasResult ? "Regenerate Highlight" : "Generate Highlight";
|
|
26517
26521
|
const defaultDescription = `Generate a ${Math.floor(targetDurationSeconds / 60)}-minute summary video using Claude AI + Shotstack`;
|
|
26518
|
-
const
|
|
26522
|
+
const formatDuration3 = (ms) => {
|
|
26519
26523
|
const minutes = Math.floor(ms / 6e4);
|
|
26520
26524
|
const seconds = Math.floor(ms % 6e4 / 1e3);
|
|
26521
26525
|
return `${minutes}:${String(seconds).padStart(2, "0")}`;
|
|
@@ -26566,7 +26570,7 @@ function HighlightVideoCombinedSection({
|
|
|
26566
26570
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
26567
26571
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSD62VAYcjs.Label, { children: previewLabel }),
|
|
26568
26572
|
highlightVideoSource === "ai_generated" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
|
|
26569
|
-
highlightVideoDurationMs && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Badge, { variant: "outline", className: "text-h6", children:
|
|
26573
|
+
highlightVideoDurationMs && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Badge, { variant: "outline", className: "text-h6", children: formatDuration3(highlightVideoDurationMs) })
|
|
26570
26574
|
] }),
|
|
26571
26575
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26572
26576
|
_chunkF6U2H42Lcjs.Button,
|
|
@@ -26640,7 +26644,7 @@ function ViewToggle({
|
|
|
26640
26644
|
"aria-label": "Grid view",
|
|
26641
26645
|
disabled,
|
|
26642
26646
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26643
|
-
|
|
26647
|
+
_chunk5R4QMTMLcjs.GridViewIcon,
|
|
26644
26648
|
{
|
|
26645
26649
|
className: "h-5 w-5",
|
|
26646
26650
|
color: disabled ? "var(--ods-system-greys-grey)" : value === "grid" ? "var(--ods-system-greys-black)" : "var(--ods-system-greys-grey)"
|
|
@@ -26661,7 +26665,7 @@ function ViewToggle({
|
|
|
26661
26665
|
"aria-label": "Table view",
|
|
26662
26666
|
disabled,
|
|
26663
26667
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26664
|
-
|
|
26668
|
+
_chunk5R4QMTMLcjs.TableViewIcon,
|
|
26665
26669
|
{
|
|
26666
26670
|
className: "h-5 w-5",
|
|
26667
26671
|
color: disabled ? "var(--ods-system-greys-grey)" : value === "table" ? "var(--ods-system-greys-black)" : "var(--ods-system-greys-grey)"
|
|
@@ -26741,7 +26745,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
|
26741
26745
|
] });
|
|
26742
26746
|
};
|
|
26743
26747
|
var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
|
|
26744
|
-
const { innerRef, containerStyle } =
|
|
26748
|
+
const { innerRef, containerStyle } = _chunkXUPZB6QFcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
|
|
26745
26749
|
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
26746
26750
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
26747
26751
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -26906,10 +26910,10 @@ function WaitlistForm({
|
|
|
26906
26910
|
const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
|
|
26907
26911
|
const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
|
|
26908
26912
|
const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
|
|
26909
|
-
const { toast } =
|
|
26910
|
-
const { honeypotInputProps, getSignals, resetSignals } =
|
|
26913
|
+
const { toast } = _chunkFJNGXGJWcjs.useToast.call(void 0, );
|
|
26914
|
+
const { honeypotInputProps, getSignals, resetSignals } = _chunkFJNGXGJWcjs.useHumanitySignals.call(void 0, );
|
|
26911
26915
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
26912
|
-
const isClient =
|
|
26916
|
+
const isClient = _chunkXUPZB6QFcjs.useIsHydrated.call(void 0, );
|
|
26913
26917
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
26914
26918
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
26915
26919
|
const isMailDomainGeneric = hasGenericEmailDomain(email);
|
|
@@ -27689,7 +27693,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
27689
27693
|
"data-state": open ? "open" : "closed",
|
|
27690
27694
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
27691
27695
|
"absolute inset-0 z-[102] outline-none data-[state=closed]:pointer-events-none data-[state=open]:pointer-events-auto data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
27692
|
-
|
|
27696
|
+
_chunkXUPZB6QFcjs.OVERLAY_BACKDROP_CLASS,
|
|
27693
27697
|
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
27694
27698
|
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
27695
27699
|
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
@@ -27765,11 +27769,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
27765
27769
|
}
|
|
27766
27770
|
);
|
|
27767
27771
|
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
27768
|
-
var AppLayoutDrawerHeader =
|
|
27769
|
-
var AppLayoutDrawerTitle =
|
|
27770
|
-
var AppLayoutDrawerDescription =
|
|
27771
|
-
var AppLayoutDrawerBody =
|
|
27772
|
-
var AppLayoutDrawerFooter =
|
|
27772
|
+
var AppLayoutDrawerHeader = _chunkXUPZB6QFcjs.DrawerHeader;
|
|
27773
|
+
var AppLayoutDrawerTitle = _chunkXUPZB6QFcjs.DrawerTitle;
|
|
27774
|
+
var AppLayoutDrawerDescription = _chunkXUPZB6QFcjs.DrawerDescription;
|
|
27775
|
+
var AppLayoutDrawerBody = _chunkXUPZB6QFcjs.DrawerBody;
|
|
27776
|
+
var AppLayoutDrawerFooter = _chunkXUPZB6QFcjs.DrawerFooter;
|
|
27773
27777
|
|
|
27774
27778
|
// src/components/features/notifications/notification-tile.tsx
|
|
27775
27779
|
|
|
@@ -27856,9 +27860,9 @@ function NotificationTile({
|
|
|
27856
27860
|
height: 16,
|
|
27857
27861
|
unoptimized: true
|
|
27858
27862
|
}
|
|
27859
|
-
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "size-1.5 rounded-full",
|
|
27863
|
+
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkFJNGXGJWcjs.dotColorByVariant[accentVariant]) }))) }),
|
|
27860
27864
|
type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "min-w-0 flex-1 truncate text-h5", typeColorByVariant[accentVariant]), title: type, children: type }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1" }),
|
|
27861
|
-
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children:
|
|
27865
|
+
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkXUPZB6QFcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
|
|
27862
27866
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
|
|
27863
27867
|
{
|
|
27864
27868
|
active: isLive,
|
|
@@ -27913,7 +27917,7 @@ function NotificationTile({
|
|
|
27913
27917
|
"div",
|
|
27914
27918
|
{
|
|
27915
27919
|
"aria-hidden": true,
|
|
27916
|
-
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "absolute inset-x-0 -bottom-px h-1 origin-left",
|
|
27920
|
+
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "absolute inset-x-0 -bottom-px h-1 origin-left", _chunkFJNGXGJWcjs.progressColorByVariant[accentVariant]),
|
|
27917
27921
|
style: {
|
|
27918
27922
|
animation: `toast-progress ${liveDurationMs}ms linear forwards`,
|
|
27919
27923
|
animationDelay: `-${initialElapsed}ms`
|
|
@@ -27965,7 +27969,7 @@ function NotificationDrawer({
|
|
|
27965
27969
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
27966
27970
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
27967
27971
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-m)] pt-[var(--spacing-system-m)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27968
|
-
|
|
27972
|
+
_chunkXUPZB6QFcjs.DrawerTitle,
|
|
27969
27973
|
{
|
|
27970
27974
|
hideClose: true,
|
|
27971
27975
|
className: "truncate",
|
|
@@ -28024,8 +28028,8 @@ function NotificationDrawer({
|
|
|
28024
28028
|
}
|
|
28025
28029
|
) });
|
|
28026
28030
|
}
|
|
28027
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28028
|
-
|
|
28031
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28032
|
+
_chunkXUPZB6QFcjs.DrawerContent,
|
|
28029
28033
|
{
|
|
28030
28034
|
side: "right",
|
|
28031
28035
|
"aria-describedby": void 0,
|
|
@@ -28130,7 +28134,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
|
|
|
28130
28134
|
] });
|
|
28131
28135
|
}
|
|
28132
28136
|
function DesktopNotificationsToggleRow({ checked, onChange }) {
|
|
28133
|
-
const { supported, permission, request } =
|
|
28137
|
+
const { supported, permission, request } = _chunkFJNGXGJWcjs.useNotificationPermission.call(void 0, );
|
|
28134
28138
|
if (!supported) return null;
|
|
28135
28139
|
const blocked = permission === "denied";
|
|
28136
28140
|
const handleChange = async (value) => {
|
|
@@ -28308,13 +28312,13 @@ function getApprovalMeta(notification) {
|
|
|
28308
28312
|
function resolutionToStatus(resolution) {
|
|
28309
28313
|
switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
|
|
28310
28314
|
case "APPROVED":
|
|
28311
|
-
return
|
|
28315
|
+
return _chunkXUPZB6QFcjs.APPROVAL_STATUS.APPROVED;
|
|
28312
28316
|
case "REJECTED":
|
|
28313
|
-
return
|
|
28317
|
+
return _chunkXUPZB6QFcjs.APPROVAL_STATUS.REJECTED;
|
|
28314
28318
|
case "CANCELLED":
|
|
28315
|
-
return
|
|
28319
|
+
return _chunkXUPZB6QFcjs.APPROVAL_STATUS.CANCELLED;
|
|
28316
28320
|
default:
|
|
28317
|
-
return
|
|
28321
|
+
return _chunkXUPZB6QFcjs.APPROVAL_STATUS.PENDING;
|
|
28318
28322
|
}
|
|
28319
28323
|
}
|
|
28320
28324
|
function approvalMetaToBatchData(approval) {
|
|
@@ -28355,7 +28359,7 @@ function ApprovalRequestNotificationTile({
|
|
|
28355
28359
|
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _615 => _615.resolution]));
|
|
28356
28360
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
28357
28361
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
28358
|
-
const { innerRef, containerStyle } =
|
|
28362
|
+
const { innerRef, containerStyle } = _chunkXUPZB6QFcjs.useCollapsible.call(void 0, { expanded });
|
|
28359
28363
|
if (!approval || !batchData) return null;
|
|
28360
28364
|
const tileNotification = {
|
|
28361
28365
|
...notification,
|
|
@@ -28409,7 +28413,7 @@ function ApprovalRequestNotificationTile({
|
|
|
28409
28413
|
}
|
|
28410
28414
|
)
|
|
28411
28415
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
28412
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28416
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ApprovalStatusTag, { status }),
|
|
28413
28417
|
approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
28414
28418
|
"by ",
|
|
28415
28419
|
approval.resolvedByName
|
|
@@ -28427,12 +28431,12 @@ function ApprovalRequestNotificationTile({
|
|
|
28427
28431
|
"aria-expanded": expanded,
|
|
28428
28432
|
"aria-label": toggleLabel,
|
|
28429
28433
|
className: "ml-auto w-6 shrink-0 px-0 md:w-8",
|
|
28430
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28434
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.ExpandChevron, { expanded })
|
|
28431
28435
|
}
|
|
28432
28436
|
)
|
|
28433
28437
|
] }),
|
|
28434
28438
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-t border-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28435
|
-
|
|
28439
|
+
_chunkXUPZB6QFcjs.ApprovalBatchMessage,
|
|
28436
28440
|
{
|
|
28437
28441
|
data: batchData,
|
|
28438
28442
|
showExecutionStatus: false,
|
|
@@ -28768,7 +28772,7 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
|
|
|
28768
28772
|
function StatusTag({ status }) {
|
|
28769
28773
|
if (status === "tracking") {
|
|
28770
28774
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28771
|
-
|
|
28775
|
+
_chunkXUPZB6QFcjs.Tag,
|
|
28772
28776
|
{
|
|
28773
28777
|
variant: "success",
|
|
28774
28778
|
className: STATUS_TAG_SKIN,
|
|
@@ -28778,9 +28782,9 @@ function StatusTag({ status }) {
|
|
|
28778
28782
|
);
|
|
28779
28783
|
}
|
|
28780
28784
|
if (status === "paused") {
|
|
28781
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28785
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYRTMAXLEcjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
|
|
28782
28786
|
}
|
|
28783
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28787
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
|
|
28784
28788
|
}
|
|
28785
28789
|
function LastEntryRow({ entry, onClick }) {
|
|
28786
28790
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-m)] border-b border-ods-border bg-ods-bg px-[var(--spacing-system-m)] py-[var(--spacing-system-sf)] last:border-b-0", children: [
|
|
@@ -28949,7 +28953,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
28949
28953
|
"data-state": isOpen ? "open" : "closed",
|
|
28950
28954
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
28951
28955
|
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
28952
|
-
|
|
28956
|
+
_chunkXUPZB6QFcjs.OVERLAY_BACKDROP_CLASS,
|
|
28953
28957
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
28954
28958
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
28955
28959
|
)
|
|
@@ -29103,7 +29107,7 @@ function BoardColumnHeader({
|
|
|
29103
29107
|
}) {
|
|
29104
29108
|
const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
|
|
29105
29109
|
const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
|
|
29106
|
-
const useStatusVariant =
|
|
29110
|
+
const useStatusVariant = _chunkXUPZB6QFcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
|
|
29107
29111
|
const actionClass = "h-8 w-8 p-0 md:h-8 md:w-8";
|
|
29108
29112
|
if (collapsed) {
|
|
29109
29113
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
@@ -29119,7 +29123,7 @@ function BoardColumnHeader({
|
|
|
29119
29123
|
}
|
|
29120
29124
|
),
|
|
29121
29125
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29122
|
-
|
|
29126
|
+
_chunkXUPZB6QFcjs.TicketStatusTag,
|
|
29123
29127
|
{
|
|
29124
29128
|
status: tagStatus,
|
|
29125
29129
|
label: column.label,
|
|
@@ -29132,7 +29136,7 @@ function BoardColumnHeader({
|
|
|
29132
29136
|
}
|
|
29133
29137
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
29134
29138
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
29135
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29139
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
|
|
29136
29140
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
|
|
29137
29141
|
] }),
|
|
29138
29142
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
@@ -29283,7 +29287,7 @@ function holdMoveDragEffect(element) {
|
|
|
29283
29287
|
|
|
29284
29288
|
function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
29285
29289
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
29286
|
-
const { innerRef, containerStyle } =
|
|
29290
|
+
const { innerRef, containerStyle } = _chunkXUPZB6QFcjs.useCollapsible.call(void 0, { expanded });
|
|
29287
29291
|
const isAdmin = pendingApproval.approvalType === "ADMIN";
|
|
29288
29292
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
|
|
29289
29293
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -29312,7 +29316,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
|
29312
29316
|
}
|
|
29313
29317
|
),
|
|
29314
29318
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, className: "pt-[var(--spacing-system-xs)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29315
|
-
|
|
29319
|
+
_chunkXUPZB6QFcjs.ApprovalBatchMessage,
|
|
29316
29320
|
{
|
|
29317
29321
|
className: "mb-0",
|
|
29318
29322
|
data: {
|
|
@@ -29384,7 +29388,7 @@ var ACTIVITY_DEFAULT_LABEL = {
|
|
|
29384
29388
|
var TICKET_CARD_SHELL = "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";
|
|
29385
29389
|
function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
|
|
29386
29390
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
29387
|
-
const newMessageTextColor = columnColor ?
|
|
29391
|
+
const newMessageTextColor = columnColor ? _chunkXUPZB6QFcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
|
|
29388
29392
|
const showDeviceRow = !!(_optionalChain([ticket, 'access', _651 => _651.deviceHostnames, 'optionalAccess', _652 => _652.length]) || ticket.organizationName);
|
|
29389
29393
|
const deviceText = [_optionalChain([ticket, 'access', _653 => _653.deviceHostnames, 'optionalAccess', _654 => _654.join, 'call', _655 => _655(", ")]), ticket.organizationName].filter(Boolean).join(", ");
|
|
29390
29394
|
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _656 => _656.assignees, 'optionalAccess', _657 => _657.length]) || renderAssignSlot);
|
|
@@ -29423,8 +29427,8 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
29423
29427
|
] })
|
|
29424
29428
|
] }) : null
|
|
29425
29429
|
] }) : null;
|
|
29426
|
-
const timestampLabel = ticket.createdAt ?
|
|
29427
|
-
const tooltipLabel = ticket.createdAt ?
|
|
29430
|
+
const timestampLabel = ticket.createdAt ? _chunkXUPZB6QFcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
|
|
29431
|
+
const tooltipLabel = ticket.createdAt ? _chunkXUPZB6QFcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
|
|
29428
29432
|
const metaLabel = [ticket.ticketNumber || null, timestampLabel].filter(Boolean).join(" \u2022 ");
|
|
29429
29433
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
29430
29434
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
|
|
@@ -29438,9 +29442,9 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
29438
29442
|
rightSection
|
|
29439
29443
|
] }),
|
|
29440
29444
|
_optionalChain([ticket, 'access', _660 => _660.tags, 'optionalAccess', _661 => _661.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
29441
|
-
metaLabel && (tooltipLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29442
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29443
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29445
|
+
metaLabel && (tooltipLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXUPZB6QFcjs.Tooltip, { children: [
|
|
29446
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto truncate text-ods-text-secondary text-h6", children: metaLabel }) }),
|
|
29447
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.TooltipContent, { children: tooltipLabel })
|
|
29444
29448
|
] }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: metaLabel })),
|
|
29445
29449
|
ticket.escalatedByUser && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xxs)] text-ods-open-yellow text-h6", children: [
|
|
29446
29450
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYRTMAXLEcjs.UserCheckIcon, { className: "size-4 shrink-0" }),
|
|
@@ -29460,7 +29464,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
29460
29464
|
}
|
|
29461
29465
|
),
|
|
29462
29466
|
showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29463
|
-
|
|
29467
|
+
_chunkXUPZB6QFcjs.Tag,
|
|
29464
29468
|
{
|
|
29465
29469
|
label: "New Message",
|
|
29466
29470
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYRTMAXLEcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
|
|
@@ -29675,8 +29679,8 @@ function TicketTagRow({ tags }) {
|
|
|
29675
29679
|
const visible = tags.slice(0, MAX_VISIBLE_TAGS);
|
|
29676
29680
|
const hidden = tags.length - visible.length;
|
|
29677
29681
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
|
|
29678
|
-
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29679
|
-
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29682
|
+
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.Tag, { variant: "outline", label: tag }, tag)),
|
|
29683
|
+
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXUPZB6QFcjs.Tag, { variant: "outline", label: `+${hidden}` })
|
|
29680
29684
|
] });
|
|
29681
29685
|
}
|
|
29682
29686
|
|
|
@@ -29918,7 +29922,7 @@ function resolveBoardDrop(columns, { source, target }) {
|
|
|
29918
29922
|
// src/components/features/board/use-board-collapse.ts
|
|
29919
29923
|
|
|
29920
29924
|
function useBoardCollapse(storageKey) {
|
|
29921
|
-
const [persisted, setPersisted] =
|
|
29925
|
+
const [persisted, setPersisted] = _chunkFJNGXGJWcjs.useLocalStorage.call(void 0, _nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")), {});
|
|
29922
29926
|
const [memory, setMemory] = _react.useState.call(void 0, {});
|
|
29923
29927
|
const collapsed = storageKey ? persisted : memory;
|
|
29924
29928
|
const setMap = storageKey ? setPersisted : setMemory;
|
|
@@ -29989,7 +29993,7 @@ var DROP_EASING = "cubic-bezier(0.2, 0, 0, 1)";
|
|
|
29989
29993
|
var DRAG_PREVIEW_Z = 1200;
|
|
29990
29994
|
var ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"];
|
|
29991
29995
|
function Board(props) {
|
|
29992
|
-
const dragAndDropEnabled = _chunkTLLJIGTPcjs.useMediaQuery.call(void 0,
|
|
29996
|
+
const dragAndDropEnabled = _chunkTLLJIGTPcjs.useMediaQuery.call(void 0, _chunkFJNGXGJWcjs.DRAG_AND_DROP_MEDIA_QUERY);
|
|
29993
29997
|
if (dragAndDropEnabled === void 0) {
|
|
29994
29998
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex h-full min-h-0 flex-col", props.className) });
|
|
29995
29999
|
}
|
|
@@ -30022,7 +30026,7 @@ function DragBoard({
|
|
|
30022
30026
|
onThumbPointerMove,
|
|
30023
30027
|
onThumbPointerUp,
|
|
30024
30028
|
onThumbPointerCancel
|
|
30025
|
-
} =
|
|
30029
|
+
} = _chunkFJNGXGJWcjs.useHorizontalScrollbar.call(void 0, );
|
|
30026
30030
|
const columnsRef = _react.useRef.call(void 0, columns);
|
|
30027
30031
|
const onChangeRef = _react.useRef.call(void 0, onChange);
|
|
30028
30032
|
const boardRef = _react.useRef.call(void 0, null);
|
|
@@ -30453,7 +30457,7 @@ function useSortableListContext() {
|
|
|
30453
30457
|
}
|
|
30454
30458
|
function SortableList({ onReorder, getItemLabel, disabled = false, className, children }) {
|
|
30455
30459
|
const listRef = _react.useRef.call(void 0, null);
|
|
30456
|
-
const dragAndDropEnabled =
|
|
30460
|
+
const dragAndDropEnabled = _chunkFJNGXGJWcjs.useDragAndDropEnabled.call(void 0, );
|
|
30457
30461
|
const dragType = _react.useId.call(void 0, );
|
|
30458
30462
|
const [announcement, setAnnouncement] = _react.useState.call(void 0, "");
|
|
30459
30463
|
const onReorderRef = _react.useRef.call(void 0, onReorder);
|
|
@@ -31367,4 +31371,4 @@ function SortableRow({
|
|
|
31367
31371
|
|
|
31368
31372
|
|
|
31369
31373
|
exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.TruncateText = TruncateText; exports.Autocomplete = Autocomplete; 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.DatePickerCalendar = DatePickerCalendar; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.InfoHint = InfoHint; exports.Field = Field; exports.HoneypotField = HoneypotField; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.DeletedUserAvatar = DeletedUserAvatar; exports.SearchableSelect = SearchableSelect; exports.AssigneeDropdown = AssigneeDropdown; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoDataMessage = NoDataMessage; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS = HUBSPOT_DO_NOT_COLLECT_FORM_PROPS; exports.AdminFormModal = AdminFormModal; 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.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.FullscreenSwitchController = FullscreenSwitchController; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.SOCIAL_PLATFORM_ALIASES = SOCIAL_PLATFORM_ALIASES; exports.normalizeSocialPlatform = normalizeSocialPlatform; exports.hostMatches = hostMatches; exports.SOCIAL_PLATFORM_ALT_HOSTS = SOCIAL_PLATFORM_ALT_HOSTS; exports.socialPlatformHosts = socialPlatformHosts; exports.classifySocialHost = classifySocialHost; exports.pickSocialLink = pickSocialLink; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.StatusIndicator = StatusIndicator; exports.BackButton = BackButton; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; 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.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; 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.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.ENTITY_QUOTES_TITLE = ENTITY_QUOTES_TITLE; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.normalizeSchedulingSlug = normalizeSchedulingSlug; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.ODS_SPACING_TOKENS = ODS_SPACING_TOKENS; exports.ODS_SPACING_TOKEN_PATTERN = ODS_SPACING_TOKEN_PATTERN; exports.ODS_SPACING_PROPS = ODS_SPACING_PROPS; exports.TAILWIND_STEP_TO_ODS_TOKEN = TAILWIND_STEP_TO_ODS_TOKEN; exports.CSV_CONTENT_TYPE = CSV_CONTENT_TYPE; exports.csvEscape = csvEscape; exports.toCsv = toCsv; exports.BenefitCard = BenefitCard; exports.benefitCardBorderClass = benefitCardBorderClass; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.SourceTooltip = SourceTooltip; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.PersonCell = PersonCell; exports.PeopleCell = PeopleCell; exports.TitleContentBlock = TitleContentBlock; exports.TouchFriendlyTooltip = TouchFriendlyTooltip; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.PasswordInput = PasswordInput; exports.AccountDetailsFields = AccountDetailsFields; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.CompactAuthShell = CompactAuthShell; exports.LabeledDivider = LabeledDivider; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.PolicyLink = PolicyLink; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LegalLinks = LegalLinks; exports.LoginForm = LoginForm; exports.NoAccountNotice = NoAccountNotice; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.SsoJoinForm = SsoJoinForm; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.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.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.SOCIAL_ICON_COMPONENTS = SOCIAL_ICON_COMPONENTS; exports.SocialIconRow = SocialIconRow; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.AppLayoutDrawerContainerContext = AppLayoutDrawerContainerContext; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerCoordinationContext = AppLayoutDrawerCoordinationContext; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.TICKET_APPROVAL_REQUEST_TYPE = TICKET_APPROVAL_REQUEST_TYPE; exports.MINGO_APPROVAL_REQUEST_TYPE = MINGO_APPROVAL_REQUEST_TYPE; exports.isApprovalNotificationType = isApprovalNotificationType; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableList = SortableList; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.DataTableEmpty = DataTableEmpty; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DATA_TABLE_HEADER_LABEL_CLASS = DATA_TABLE_HEADER_LABEL_CLASS; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount; exports.IconTile = IconTile;
|
|
31370
|
-
//# sourceMappingURL=chunk-
|
|
31374
|
+
//# sourceMappingURL=chunk-VZV2Y5ZB.cjs.map
|