@flamingo-stack/openframe-frontend-core 0.0.687 → 0.0.688
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-V5REIMSE.js → chunk-2V4KPBNZ.js} +3 -3
- package/dist/{chunk-S6SGPLA4.js → chunk-3LBEUJUI.js} +3 -3
- package/dist/{chunk-JSXNOXZQ.js → chunk-3SJOXM6Y.js} +4 -4
- package/dist/{chunk-3IANMZFS.js → chunk-45HXQ7RV.js} +5 -5
- package/dist/{chunk-SR2C5SJJ.js → chunk-4BUPMSLY.js} +3 -3
- package/dist/{chunk-DGOUPZJ7.js → chunk-5BZ2FB5K.js} +3 -3
- package/dist/{chunk-YNL2NHXH.cjs → chunk-6TNOVWO3.cjs} +5 -5
- package/dist/{chunk-YNL2NHXH.cjs.map → chunk-6TNOVWO3.cjs.map} +1 -1
- package/dist/{chunk-SQQQVVV2.js → chunk-7XNS6U7B.js} +4 -4
- package/dist/{chunk-XF5TJ4P2.cjs → chunk-BJHM2OEY.cjs} +15 -15
- package/dist/{chunk-XF5TJ4P2.cjs.map → chunk-BJHM2OEY.cjs.map} +1 -1
- package/dist/{chunk-CKQ4ZBDN.cjs → chunk-BN6JXZMA.cjs} +10 -10
- package/dist/{chunk-CKQ4ZBDN.cjs.map → chunk-BN6JXZMA.cjs.map} +1 -1
- package/dist/{chunk-4THS6V3I.cjs → chunk-CGMBVDEV.cjs} +5 -5
- package/dist/{chunk-4THS6V3I.cjs.map → chunk-CGMBVDEV.cjs.map} +1 -1
- package/dist/{chunk-RVO77GSL.cjs → chunk-EAYMYMLX.cjs} +12 -12
- package/dist/{chunk-RVO77GSL.cjs.map → chunk-EAYMYMLX.cjs.map} +1 -1
- package/dist/{chunk-QRZ5LS6A.cjs → chunk-FIZJA2MC.cjs} +22 -22
- package/dist/{chunk-QRZ5LS6A.cjs.map → chunk-FIZJA2MC.cjs.map} +1 -1
- package/dist/{chunk-RHBFZC6F.cjs → chunk-G3MH262S.cjs} +26 -26
- package/dist/{chunk-RHBFZC6F.cjs.map → chunk-G3MH262S.cjs.map} +1 -1
- package/dist/{chunk-3ADAUFKK.cjs → chunk-G7PNBP6I.cjs} +26 -26
- package/dist/{chunk-3ADAUFKK.cjs.map → chunk-G7PNBP6I.cjs.map} +1 -1
- package/dist/{chunk-HHNKNOZU.cjs → chunk-GQTWZL2M.cjs} +5 -5
- package/dist/{chunk-HHNKNOZU.cjs.map → chunk-GQTWZL2M.cjs.map} +1 -1
- package/dist/{chunk-WIUDKYAQ.cjs → chunk-JJLJH4FH.cjs} +80 -80
- package/dist/{chunk-WIUDKYAQ.cjs.map → chunk-JJLJH4FH.cjs.map} +1 -1
- package/dist/{chunk-APLL2BVR.js → chunk-JMD52673.js} +2 -2
- package/dist/{chunk-JNUL3ZWK.js → chunk-JUNOY5HK.js} +6 -6
- package/dist/chunk-JUNOY5HK.js.map +1 -0
- package/dist/{chunk-R4MKXLRJ.js → chunk-MC5JRMRE.js} +8 -8
- package/dist/{chunk-WMOELYDL.cjs → chunk-MCHGTS3E.cjs} +19 -19
- package/dist/{chunk-WMOELYDL.cjs.map → chunk-MCHGTS3E.cjs.map} +1 -1
- package/dist/{chunk-CDCUUEL4.cjs → chunk-MNKP6VGT.cjs} +13 -13
- package/dist/{chunk-CDCUUEL4.cjs.map → chunk-MNKP6VGT.cjs.map} +1 -1
- package/dist/{chunk-4GQ7VWAR.js → chunk-NOA7SLDH.js} +7 -7
- package/dist/{chunk-ENIABTA5.js → chunk-O2XJYMZD.js} +6 -6
- package/dist/{chunk-3RNG4MJN.cjs → chunk-O5AHLF4Z.cjs} +43 -43
- package/dist/{chunk-3RNG4MJN.cjs.map → chunk-O5AHLF4Z.cjs.map} +1 -1
- package/dist/{chunk-LL35WZZS.cjs → chunk-OD2WMUAO.cjs} +225 -225
- package/dist/{chunk-LL35WZZS.cjs.map → chunk-OD2WMUAO.cjs.map} +1 -1
- package/dist/{chunk-BZKDFMZM.cjs → chunk-OZKJZUPF.cjs} +50 -50
- package/dist/{chunk-BZKDFMZM.cjs.map → chunk-OZKJZUPF.cjs.map} +1 -1
- package/dist/{chunk-UZEW5Z7R.js → chunk-PBDSPANS.js} +5 -5
- package/dist/chunk-PBDSPANS.js.map +1 -0
- package/dist/{chunk-IJUQQTMV.cjs → chunk-QRA2JXE4.cjs} +9 -9
- package/dist/chunk-QRA2JXE4.cjs.map +1 -0
- package/dist/{chunk-GXKAWMDT.js → chunk-R4V6AU6R.js} +4 -4
- package/dist/{chunk-IR6PWTCL.js → chunk-R7GU5YSO.js} +7 -7
- package/dist/{chunk-T32BTPL5.cjs → chunk-SWOS3DDM.cjs} +554 -554
- package/dist/{chunk-T32BTPL5.cjs.map → chunk-SWOS3DDM.cjs.map} +1 -1
- package/dist/{chunk-SFY2E5DG.js → chunk-T2MHRQZR.js} +6 -6
- package/dist/{chunk-DYNWIHFU.cjs → chunk-TOJYEOYP.cjs} +50 -50
- package/dist/{chunk-DYNWIHFU.cjs.map → chunk-TOJYEOYP.cjs.map} +1 -1
- package/dist/{chunk-A2ZP6WX4.js → chunk-VB4MZWNO.js} +6 -6
- package/dist/{chunk-W4CHRA6G.js → chunk-X2DAEWTQ.js} +2 -2
- package/dist/{chunk-XEESEFGT.cjs → chunk-XNJRUSBZ.cjs} +3 -3
- package/dist/{chunk-XEESEFGT.cjs.map → chunk-XNJRUSBZ.cjs.map} +1 -1
- package/dist/{chunk-LROQXUFX.js → chunk-ZHTZ4ALC.js} +5 -5
- package/dist/components/case-studies/index.cjs +18 -18
- package/dist/components/case-studies/index.js +6 -6
- package/dist/components/chat/index.cjs +4 -4
- package/dist/components/chat/index.js +3 -3
- package/dist/components/contact/index.cjs +7 -7
- package/dist/components/contact/index.js +6 -6
- package/dist/components/docs/index.cjs +10 -10
- package/dist/components/docs/index.js +9 -9
- package/dist/components/embeds/index.cjs +7 -7
- package/dist/components/embeds/index.js +6 -6
- package/dist/components/faq/index.cjs +7 -7
- package/dist/components/faq/index.js +6 -6
- package/dist/components/features/index.cjs +6 -6
- package/dist/components/features/index.js +5 -5
- package/dist/components/help-center-pages/index.cjs +90 -90
- package/dist/components/help-center-pages/index.js +17 -17
- package/dist/components/icons-v2-generated/brand-logos/google-logo-grey-icon.d.ts +8 -0
- package/dist/components/icons-v2-generated/brand-logos/google-logo-grey-icon.d.ts.map +1 -0
- package/dist/components/icons-v2-generated/brand-logos/index.d.ts +1 -1
- package/dist/components/icons-v2-generated/brand-logos/index.d.ts.map +1 -1
- package/dist/components/icons-v2-generated/index.cjs +2 -2
- package/dist/components/icons-v2-generated/index.cjs.map +1 -1
- package/dist/components/icons-v2-generated/index.js +3 -3
- package/dist/components/index.cjs +47 -47
- package/dist/components/index.js +16 -16
- package/dist/components/meeting-scheduler/index.cjs +33 -33
- package/dist/components/meeting-scheduler/index.js +5 -5
- package/dist/components/navigation/index.cjs +9 -9
- package/dist/components/navigation/index.js +8 -8
- package/dist/components/onboarding-guides/index.cjs +9 -9
- package/dist/components/onboarding-guides/index.js +8 -8
- package/dist/components/tickets/index.cjs +10 -10
- package/dist/components/tickets/index.js +9 -9
- package/dist/components/ui/index.cjs +6 -6
- package/dist/components/ui/index.js +5 -5
- package/dist/hooks/index.cjs +4 -4
- package/dist/hooks/index.js +3 -3
- package/dist/index.cjs +11 -11
- package/dist/index.js +9 -9
- package/package.json +1 -1
- package/src/components/icons-v2-generated/brand-logos/{google-logo-1-icon.tsx → google-logo-grey-icon.tsx} +6 -4
- package/src/components/icons-v2-generated/brand-logos/index.ts +1 -1
- package/src/components/tool-icon.tsx +4 -4
- package/dist/chunk-IJUQQTMV.cjs.map +0 -1
- package/dist/chunk-JNUL3ZWK.js.map +0 -1
- package/dist/chunk-UZEW5Z7R.js.map +0 -1
- package/dist/components/icons-v2-generated/brand-logos/google-logo-1-icon.d.ts +0 -8
- package/dist/components/icons-v2-generated/brand-logos/google-logo-1-icon.d.ts.map +0 -1
- /package/dist/{chunk-V5REIMSE.js.map → chunk-2V4KPBNZ.js.map} +0 -0
- /package/dist/{chunk-S6SGPLA4.js.map → chunk-3LBEUJUI.js.map} +0 -0
- /package/dist/{chunk-JSXNOXZQ.js.map → chunk-3SJOXM6Y.js.map} +0 -0
- /package/dist/{chunk-3IANMZFS.js.map → chunk-45HXQ7RV.js.map} +0 -0
- /package/dist/{chunk-SR2C5SJJ.js.map → chunk-4BUPMSLY.js.map} +0 -0
- /package/dist/{chunk-DGOUPZJ7.js.map → chunk-5BZ2FB5K.js.map} +0 -0
- /package/dist/{chunk-SQQQVVV2.js.map → chunk-7XNS6U7B.js.map} +0 -0
- /package/dist/{chunk-APLL2BVR.js.map → chunk-JMD52673.js.map} +0 -0
- /package/dist/{chunk-R4MKXLRJ.js.map → chunk-MC5JRMRE.js.map} +0 -0
- /package/dist/{chunk-4GQ7VWAR.js.map → chunk-NOA7SLDH.js.map} +0 -0
- /package/dist/{chunk-ENIABTA5.js.map → chunk-O2XJYMZD.js.map} +0 -0
- /package/dist/{chunk-GXKAWMDT.js.map → chunk-R4V6AU6R.js.map} +0 -0
- /package/dist/{chunk-IR6PWTCL.js.map → chunk-R7GU5YSO.js.map} +0 -0
- /package/dist/{chunk-SFY2E5DG.js.map → chunk-T2MHRQZR.js.map} +0 -0
- /package/dist/{chunk-A2ZP6WX4.js.map → chunk-VB4MZWNO.js.map} +0 -0
- /package/dist/{chunk-W4CHRA6G.js.map → chunk-X2DAEWTQ.js.map} +0 -0
- /package/dist/{chunk-LROQXUFX.js.map → chunk-ZHTZ4ALC.js.map} +0 -0
- /package/src/components/icons-v2/brand-logos/{google-logo-1.svg → google-logo-grey.svg} +0 -0
|
@@ -23,7 +23,7 @@ var _chunkTON3YCCWcjs = require('./chunk-TON3YCCW.cjs');
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _chunkBJHM2OEYcjs = require('./chunk-BJHM2OEY.cjs');
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
var _chunkJU6SBF3Ccjs = require('./chunk-JU6SBF3C.cjs');
|
|
@@ -97,7 +97,7 @@ var _chunkPTFE5WKPcjs = require('./chunk-PTFE5WKP.cjs');
|
|
|
97
97
|
|
|
98
98
|
|
|
99
99
|
|
|
100
|
-
var
|
|
100
|
+
var _chunkOD2WMUAOcjs = require('./chunk-OD2WMUAO.cjs');
|
|
101
101
|
|
|
102
102
|
|
|
103
103
|
|
|
@@ -114,7 +114,7 @@ var _chunkLL35WZZScjs = require('./chunk-LL35WZZS.cjs');
|
|
|
114
114
|
|
|
115
115
|
|
|
116
116
|
|
|
117
|
-
var
|
|
117
|
+
var _chunkQRA2JXE4cjs = require('./chunk-QRA2JXE4.cjs');
|
|
118
118
|
|
|
119
119
|
|
|
120
120
|
|
|
@@ -228,7 +228,7 @@ var _chunk5R4QMTMLcjs = require('./chunk-5R4QMTML.cjs');
|
|
|
228
228
|
|
|
229
229
|
|
|
230
230
|
|
|
231
|
-
var
|
|
231
|
+
var _chunk6TNOVWO3cjs = require('./chunk-6TNOVWO3.cjs');
|
|
232
232
|
|
|
233
233
|
|
|
234
234
|
|
|
@@ -364,7 +364,7 @@ function ThemeProvider({ children, ...overrides }) {
|
|
|
364
364
|
var useTheme = _nextthemes.useTheme;
|
|
365
365
|
function useThemeToggle() {
|
|
366
366
|
const { resolvedTheme, theme, setTheme } = useTheme();
|
|
367
|
-
const mounted =
|
|
367
|
+
const mounted = _chunkOD2WMUAOcjs.useIsHydrated.call(void 0, );
|
|
368
368
|
const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
|
|
369
369
|
const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
|
|
370
370
|
const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
|
|
@@ -592,7 +592,7 @@ var HiddenTagsPopup = _react.forwardRef.call(void 0, function HiddenTagsPopupImp
|
|
|
592
592
|
},
|
|
593
593
|
className: "shrink-0 text-ods-text-secondary transition-colors hover:text-ods-text-primary",
|
|
594
594
|
"aria-label": `Remove ${String(item.label)}`,
|
|
595
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
595
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.XmarkCircleIcon, { size: 20 })
|
|
596
596
|
}
|
|
597
597
|
)
|
|
598
598
|
]
|
|
@@ -638,10 +638,10 @@ function TruncateText({
|
|
|
638
638
|
as = "div"
|
|
639
639
|
}) {
|
|
640
640
|
const isMultiLine = lines > 1;
|
|
641
|
-
const { ref, isTruncated } =
|
|
641
|
+
const { ref, isTruncated } = _chunkQRA2JXE4cjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
|
|
642
642
|
const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
|
|
643
643
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
644
|
-
|
|
644
|
+
_chunkOD2WMUAOcjs.FloatingTooltip,
|
|
645
645
|
{
|
|
646
646
|
content: _nullishCoalesce(tooltip, () => ( children)),
|
|
647
647
|
side,
|
|
@@ -726,7 +726,7 @@ function AutocompleteInner(props, ref) {
|
|
|
726
726
|
};
|
|
727
727
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
728
728
|
const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
|
|
729
|
-
const keyboardPadding =
|
|
729
|
+
const keyboardPadding = _chunkBJHM2OEYcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
730
730
|
const containerRef = _react.useRef.call(void 0, null);
|
|
731
731
|
const hiddenTagsPopupRef = _react.useRef.call(void 0, null);
|
|
732
732
|
const isInvalid = invalid || !!error;
|
|
@@ -744,7 +744,7 @@ function AutocompleteInner(props, ref) {
|
|
|
744
744
|
textMeasureRef,
|
|
745
745
|
badgeRef,
|
|
746
746
|
inputRef
|
|
747
|
-
} =
|
|
747
|
+
} = _chunkBJHM2OEYcjs.useAutoLimitTags.call(void 0, {
|
|
748
748
|
count: multiple ? selectedOptions.length : 0,
|
|
749
749
|
limitTags: multiple ? limitTagsProp : 0,
|
|
750
750
|
placeholder: inputPlaceholder
|
|
@@ -948,7 +948,7 @@ function AutocompleteInner(props, ref) {
|
|
|
948
948
|
),
|
|
949
949
|
/* @__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: [
|
|
950
950
|
multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
951
|
-
|
|
951
|
+
_chunkOD2WMUAOcjs.Tag,
|
|
952
952
|
{
|
|
953
953
|
variant: "outline",
|
|
954
954
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -1003,7 +1003,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1003
1003
|
onClick: handleClearAll,
|
|
1004
1004
|
className: "flex items-center justify-center transition-opacity hover:opacity-70",
|
|
1005
1005
|
"aria-label": "Clear all",
|
|
1006
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1006
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.XmarkCircleIcon, { className: "size-4 text-ods-text-secondary md:size-6" })
|
|
1007
1007
|
}
|
|
1008
1008
|
),
|
|
1009
1009
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -1015,7 +1015,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1015
1015
|
)
|
|
1016
1016
|
}
|
|
1017
1017
|
) : showChevron && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1018
|
-
|
|
1018
|
+
_chunk6TNOVWO3cjs.Chevron02DownIcon,
|
|
1019
1019
|
{
|
|
1020
1020
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
1021
1021
|
"size-4 transition-all duration-200 md:size-6",
|
|
@@ -1103,7 +1103,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1103
1103
|
] })
|
|
1104
1104
|
] }),
|
|
1105
1105
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
1106
|
-
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1106
|
+
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.CheckIcon, { className: "text-ods-accent", size: 20 }),
|
|
1107
1107
|
onDeleteOption && !isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1108
1108
|
"button",
|
|
1109
1109
|
{
|
|
@@ -1115,7 +1115,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1115
1115
|
},
|
|
1116
1116
|
disabled: isDeletingOption,
|
|
1117
1117
|
className: "opacity-0 transition-opacity focus-visible:opacity-100 disabled:pointer-events-none disabled:opacity-50 group-hover/item:opacity-100",
|
|
1118
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1118
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.TrashIcon, { className: "size-4 text-ods-error" })
|
|
1119
1119
|
}
|
|
1120
1120
|
)
|
|
1121
1121
|
] })
|
|
@@ -1170,7 +1170,7 @@ function AutocompleteInner(props, ref) {
|
|
|
1170
1170
|
"aria-hidden": "true",
|
|
1171
1171
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
1172
1172
|
children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1173
|
-
|
|
1173
|
+
_chunkOD2WMUAOcjs.Tag,
|
|
1174
1174
|
{
|
|
1175
1175
|
variant: "outline",
|
|
1176
1176
|
labelClassName: "max-w-[90px] truncate",
|
|
@@ -1400,7 +1400,7 @@ var SelectTrigger = _react.forwardRef.call(void 0, (allProps, ref) => {
|
|
|
1400
1400
|
children: [
|
|
1401
1401
|
children,
|
|
1402
1402
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1403
|
-
|
|
1403
|
+
_chunk6TNOVWO3cjs.Chevron02DownIcon,
|
|
1404
1404
|
{
|
|
1405
1405
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
1406
1406
|
"shrink-0 text-ods-text-secondary transition-all duration-200 group-data-[state=open]:rotate-180",
|
|
@@ -1478,7 +1478,7 @@ var SelectItem = _react.forwardRef.call(void 0, ({ className, children, ...props
|
|
|
1478
1478
|
...props,
|
|
1479
1479
|
children: [
|
|
1480
1480
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.ItemText, { children }),
|
|
1481
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1481
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.CheckIcon, { className: "text-ods-accent", size: 20 }) })
|
|
1482
1482
|
]
|
|
1483
1483
|
}
|
|
1484
1484
|
));
|
|
@@ -1524,7 +1524,7 @@ function DatePickerCalendar({
|
|
|
1524
1524
|
onMonthChange
|
|
1525
1525
|
}) {
|
|
1526
1526
|
const today = /* @__PURE__ */ new Date();
|
|
1527
|
-
const isMdUp = _nullishCoalesce(
|
|
1527
|
+
const isMdUp = _nullishCoalesce(_chunkQRA2JXE4cjs.useMdUp.call(void 0, ), () => ( true));
|
|
1528
1528
|
const monthsToShow = isMdUp ? numberOfMonths : 1;
|
|
1529
1529
|
const [draftRange, setDraftRange] = _react.useState.call(void 0,
|
|
1530
1530
|
mode === "range" ? selected : void 0
|
|
@@ -2586,7 +2586,7 @@ function Value2({ value, depth }) {
|
|
|
2586
2586
|
}
|
|
2587
2587
|
if (typeof value === "string") {
|
|
2588
2588
|
if (ISO_DATE.test(value)) {
|
|
2589
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children:
|
|
2589
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: value, className: "text-ods-text-secondary", children: _chunkOD2WMUAOcjs.formatRelativeTime.call(void 0, value) });
|
|
2590
2590
|
}
|
|
2591
2591
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-wrap text-ods-text-primary", children: value });
|
|
2592
2592
|
}
|
|
@@ -2652,7 +2652,7 @@ var ProgressBar = ({
|
|
|
2652
2652
|
mobileHeight = 8,
|
|
2653
2653
|
inverted = false
|
|
2654
2654
|
}) => {
|
|
2655
|
-
const isMdUp = _nullishCoalesce(
|
|
2655
|
+
const isMdUp = _nullishCoalesce(_chunkQRA2JXE4cjs.useMdUp.call(void 0, ), () => ( true));
|
|
2656
2656
|
const effectiveSegmentWidth = isMdUp ? segmentWidth : mobileSegmentWidth;
|
|
2657
2657
|
const effectiveHeight = isMdUp ? height : mobileHeight;
|
|
2658
2658
|
const containerRef = _react.useRef.call(void 0, null);
|
|
@@ -2768,7 +2768,7 @@ function InfoCardFooter({ footer }) {
|
|
|
2768
2768
|
] });
|
|
2769
2769
|
}
|
|
2770
2770
|
function InfoCardValueRow({ label, value, showLabel, copyable, icon, copyAriaLabel }) {
|
|
2771
|
-
const { copy, copied } =
|
|
2771
|
+
const { copy, copied } = _chunkBJHM2OEYcjs.useCopyToClipboard.call(void 0, );
|
|
2772
2772
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-6 w-full items-center gap-[var(--spacing-system-xs)] self-stretch", children: [
|
|
2773
2773
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-primary text-h4", children: showLabel ? label : "" }),
|
|
2774
2774
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-px flex-1 bg-ods-divider" }),
|
|
@@ -2785,7 +2785,7 @@ function InfoCardValueRow({ label, value, showLabel, copyable, icon, copyAriaLab
|
|
|
2785
2785
|
copied ? "text-ods-success" : "text-ods-text-secondary hover:text-ods-text-primary"
|
|
2786
2786
|
),
|
|
2787
2787
|
"aria-label": copyAriaLabel,
|
|
2788
|
-
children: copied ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2788
|
+
children: copied ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.CheckIcon, { size: 16 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Copy01Icon, { size: 16 })
|
|
2789
2789
|
}
|
|
2790
2790
|
)
|
|
2791
2791
|
] })
|
|
@@ -2831,7 +2831,7 @@ function DeletedUserAvatar({ size = "md", className, accessibleLabel }) {
|
|
|
2831
2831
|
SIZE_CLASSES[size],
|
|
2832
2832
|
className
|
|
2833
2833
|
),
|
|
2834
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2834
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.UserXmarkIcon, { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "text-ods-error", ICON_CLASSES[size]) })
|
|
2835
2835
|
}
|
|
2836
2836
|
);
|
|
2837
2837
|
}
|
|
@@ -2858,7 +2858,7 @@ function SearchableSelect({
|
|
|
2858
2858
|
}) {
|
|
2859
2859
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
2860
2860
|
const [search, setSearch] = _react.useState.call(void 0, "");
|
|
2861
|
-
const keyboardPadding =
|
|
2861
|
+
const keyboardPadding = _chunkBJHM2OEYcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
2862
2862
|
if (!isOpen && search !== "") setSearch("");
|
|
2863
2863
|
const filtered = _react.useMemo.call(void 0, () => {
|
|
2864
2864
|
const q = search.trim().toLowerCase();
|
|
@@ -2892,7 +2892,7 @@ function SearchableSelect({
|
|
|
2892
2892
|
children: [
|
|
2893
2893
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-1", children: selectedOption ? selectedOption.label : placeholder }),
|
|
2894
2894
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2895
|
-
|
|
2895
|
+
_chunk6TNOVWO3cjs.Chevron02DownIcon,
|
|
2896
2896
|
{
|
|
2897
2897
|
className: "shrink-0 text-ods-text-secondary transition-all duration-200 group-data-[state=open]:rotate-180 group-data-[state=open]:text-ods-accent",
|
|
2898
2898
|
size: 24
|
|
@@ -2947,7 +2947,7 @@ function SearchableSelect({
|
|
|
2947
2947
|
children: renderOption ? renderOption(opt, isSelected) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
2948
2948
|
opt.icon,
|
|
2949
2949
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex-1 truncate text-ods-text-primary text-h4", title: opt.label, children: opt.label }),
|
|
2950
|
-
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2950
|
+
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.CheckIcon, { className: "size-4 shrink-0 text-ods-accent" })
|
|
2951
2951
|
] })
|
|
2952
2952
|
},
|
|
2953
2953
|
opt.value
|
|
@@ -3038,7 +3038,7 @@ function CompactAssigneeDropdown({
|
|
|
3038
3038
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus",
|
|
3039
3039
|
className
|
|
3040
3040
|
),
|
|
3041
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3041
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.UserPlusIcon, { className: "size-4" })
|
|
3042
3042
|
}
|
|
3043
3043
|
);
|
|
3044
3044
|
if (onTriggerClick) return trigger;
|
|
@@ -3108,7 +3108,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
|
|
|
3108
3108
|
variant: "round",
|
|
3109
3109
|
className: "h-6 w-6"
|
|
3110
3110
|
}
|
|
3111
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3111
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.UserIcon, { className: "size-5 text-ods-text-secondary" }),
|
|
3112
3112
|
renderOption
|
|
3113
3113
|
}
|
|
3114
3114
|
),
|
|
@@ -3142,7 +3142,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
|
|
|
3142
3142
|
onClick: () => setIsEditing(true),
|
|
3143
3143
|
className: "group flex cursor-pointer items-center gap-[var(--spacing-system-xxs)] text-left",
|
|
3144
3144
|
children: [
|
|
3145
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3145
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.PenEditIcon, { className: "size-4 shrink-0 text-ods-text-secondary transition-colors group-hover:text-ods-accent" }),
|
|
3146
3146
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3147
3147
|
"span",
|
|
3148
3148
|
{
|
|
@@ -3169,7 +3169,7 @@ function DefaultAssigneeDropdown({ currentAssignee, options, isLoading, onAssign
|
|
|
3169
3169
|
onClick: () => setIsEditing(true),
|
|
3170
3170
|
className: "flex cursor-pointer items-center gap-[var(--spacing-system-xxs)] truncate text-left text-ods-accent underline transition-opacity text-h4 hover:opacity-80",
|
|
3171
3171
|
children: [
|
|
3172
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3172
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.UserIcon, { className: "size-4 shrink-0" }),
|
|
3173
3173
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Assign User" })
|
|
3174
3174
|
]
|
|
3175
3175
|
}
|
|
@@ -3218,7 +3218,7 @@ function RowValue({ value }) {
|
|
|
3218
3218
|
}
|
|
3219
3219
|
case "status": {
|
|
3220
3220
|
const { type: _type, ...props } = value;
|
|
3221
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3221
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TicketStatusTag, { ...props });
|
|
3222
3222
|
}
|
|
3223
3223
|
case "custom":
|
|
3224
3224
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: value.content });
|
|
@@ -3734,7 +3734,7 @@ function TagSelectDropdown({
|
|
|
3734
3734
|
}) {
|
|
3735
3735
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
3736
3736
|
const [search, setSearch] = _react.useState.call(void 0, "");
|
|
3737
|
-
const keyboardPadding =
|
|
3737
|
+
const keyboardPadding = _chunkBJHM2OEYcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
3738
3738
|
if (!isOpen && search !== "") setSearch("");
|
|
3739
3739
|
const query = search.trim();
|
|
3740
3740
|
const filtered = _react.useMemo.call(void 0, () => {
|
|
@@ -3765,7 +3765,7 @@ function TagSelectDropdown({
|
|
|
3765
3765
|
type: "button",
|
|
3766
3766
|
variant: "outline",
|
|
3767
3767
|
size: "small",
|
|
3768
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3768
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.PlusIcon, {}),
|
|
3769
3769
|
disabled,
|
|
3770
3770
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "w-fit focus-visible:ring-0", className),
|
|
3771
3771
|
children: triggerLabel
|
|
@@ -3834,7 +3834,7 @@ function TagSelectDropdown({
|
|
|
3834
3834
|
children: opt.label
|
|
3835
3835
|
}
|
|
3836
3836
|
),
|
|
3837
|
-
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3837
|
+
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.CheckIcon, { className: "size-4 shrink-0 text-ods-accent" }),
|
|
3838
3838
|
onDelete && !isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3839
3839
|
"button",
|
|
3840
3840
|
{
|
|
@@ -3849,7 +3849,7 @@ function TagSelectDropdown({
|
|
|
3849
3849
|
"shrink-0 opacity-0 transition-opacity focus-visible:opacity-100 group-hover/item:opacity-100",
|
|
3850
3850
|
"disabled:pointer-events-none disabled:opacity-50"
|
|
3851
3851
|
),
|
|
3852
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3852
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.TrashIcon, { className: "size-4 text-ods-error" })
|
|
3853
3853
|
}
|
|
3854
3854
|
)
|
|
3855
3855
|
]
|
|
@@ -3872,7 +3872,7 @@ function TagSelectDropdown({
|
|
|
3872
3872
|
"transition-colors hover:bg-ods-bg-hover disabled:pointer-events-none disabled:opacity-50"
|
|
3873
3873
|
),
|
|
3874
3874
|
children: [
|
|
3875
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3875
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.PlusIcon, { className: "size-4 shrink-0 text-ods-accent" }),
|
|
3876
3876
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex-1 truncate text-ods-accent text-h4", title: `Create "${query}"`, children: [
|
|
3877
3877
|
"Create \u201C",
|
|
3878
3878
|
query,
|
|
@@ -4026,7 +4026,7 @@ function TagsManager({
|
|
|
4026
4026
|
}) {
|
|
4027
4027
|
const [open, setOpen] = _react.useState.call(void 0, false);
|
|
4028
4028
|
const [search, setSearch] = _react.useState.call(void 0, "");
|
|
4029
|
-
const keyboardPadding =
|
|
4029
|
+
const keyboardPadding = _chunkBJHM2OEYcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
4030
4030
|
const [editingId, setEditingId] = _react.useState.call(void 0, null);
|
|
4031
4031
|
const [editingName, setEditingName] = _react.useState.call(void 0, "");
|
|
4032
4032
|
const editInputRef = _react.useRef.call(void 0, null);
|
|
@@ -4129,7 +4129,7 @@ function TagsManager({
|
|
|
4129
4129
|
}
|
|
4130
4130
|
),
|
|
4131
4131
|
selectedTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4132
|
-
|
|
4132
|
+
_chunkOD2WMUAOcjs.Tag,
|
|
4133
4133
|
{
|
|
4134
4134
|
label: tag.name,
|
|
4135
4135
|
variant: "outline",
|
|
@@ -4175,7 +4175,7 @@ function TagsManager({
|
|
|
4175
4175
|
onClick: handleClearAll,
|
|
4176
4176
|
className: "flex flex-shrink-0 items-center justify-center transition-opacity hover:opacity-70 [&_svg]:size-4 md:[&_svg]:size-6",
|
|
4177
4177
|
"aria-label": "Clear all tags",
|
|
4178
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4178
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.XmarkCircleIcon, { className: "text-ods-text-secondary" })
|
|
4179
4179
|
}
|
|
4180
4180
|
)
|
|
4181
4181
|
]
|
|
@@ -4237,10 +4237,10 @@ function TagsManager({
|
|
|
4237
4237
|
size: "icon",
|
|
4238
4238
|
onClick: confirmEdit,
|
|
4239
4239
|
disabled: isUpdating,
|
|
4240
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4240
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.CheckIcon, { size: 14, className: "text-ods-success" })
|
|
4241
4241
|
}
|
|
4242
4242
|
),
|
|
4243
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "transparent", size: "icon", onClick: cancelEdit, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4243
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "transparent", size: "icon", onClick: cancelEdit, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.XmarkIcon, { size: 14, className: "text-ods-text-secondary" }) })
|
|
4244
4244
|
]
|
|
4245
4245
|
},
|
|
4246
4246
|
tag.id
|
|
@@ -4268,7 +4268,7 @@ function TagsManager({
|
|
|
4268
4268
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between", children: [
|
|
4269
4269
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", title: tag.name, children: tag.name }),
|
|
4270
4270
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-1", children: [
|
|
4271
|
-
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4271
|
+
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.CheckIcon, { className: "text-ods-accent", size: 20 }),
|
|
4272
4272
|
(onUpdateTag || onDeleteTag) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-0.5 opacity-0 transition-opacity group-hover/item:opacity-100", children: [
|
|
4273
4273
|
onUpdateTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4274
4274
|
_chunkF6U2H42Lcjs.Button,
|
|
@@ -4280,7 +4280,7 @@ function TagsManager({
|
|
|
4280
4280
|
e.stopPropagation();
|
|
4281
4281
|
startEdit(tag.id, tag.name);
|
|
4282
4282
|
},
|
|
4283
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4283
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.PencilIcon, { size: 14, className: "text-ods-text-secondary" })
|
|
4284
4284
|
}
|
|
4285
4285
|
),
|
|
4286
4286
|
onDeleteTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -4294,7 +4294,7 @@ function TagsManager({
|
|
|
4294
4294
|
void handleDelete(tag.id);
|
|
4295
4295
|
},
|
|
4296
4296
|
disabled: isDeleting,
|
|
4297
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4297
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.TrashIcon, { size: 14, className: "text-ods-error" })
|
|
4298
4298
|
}
|
|
4299
4299
|
)
|
|
4300
4300
|
] })
|
|
@@ -4323,7 +4323,7 @@ function TagsManager({
|
|
|
4323
4323
|
}
|
|
4324
4324
|
},
|
|
4325
4325
|
children: [
|
|
4326
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4326
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.PlusIcon, { size: 16, className: "shrink-0 text-ods-accent" }),
|
|
4327
4327
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-accent", title: `Create "${search.trim()}"`, children: [
|
|
4328
4328
|
"Create \u201C",
|
|
4329
4329
|
search.trim(),
|
|
@@ -4674,10 +4674,10 @@ function useConfirm() {
|
|
|
4674
4674
|
},
|
|
4675
4675
|
[]
|
|
4676
4676
|
);
|
|
4677
|
-
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4678
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4679
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4680
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4677
|
+
const dialog = pending ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOD2WMUAOcjs.Modal, { isOpen: open, onClose: () => decide(false), children: [
|
|
4678
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ModalTitle, { children: pending.title }) }),
|
|
4679
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ModalContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: pending.body }) }),
|
|
4680
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOD2WMUAOcjs.ModalFooter, { children: [
|
|
4681
4681
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "outline", onClick: () => decide(false), children: "Cancel" }),
|
|
4682
4682
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "destructive", onClick: () => decide(true), children: "Confirm" })
|
|
4683
4683
|
] })
|
|
@@ -4740,9 +4740,9 @@ function AdminFormModal({
|
|
|
4740
4740
|
body: "Your edits have not been saved. Close and discard them?"
|
|
4741
4741
|
});
|
|
4742
4742
|
if (!isOpen) return null;
|
|
4743
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4744
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4745
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4743
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOD2WMUAOcjs.Modal, { isOpen: true, onClose: guardedClose, size: effectiveSize, children: [
|
|
4744
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOD2WMUAOcjs.ModalHeader, { children: [
|
|
4745
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ModalTitle, { children: title }),
|
|
4746
4746
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-h6", children: subtitle })
|
|
4747
4747
|
] }),
|
|
4748
4748
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -4767,7 +4767,7 @@ function AdminFormModal({
|
|
|
4767
4767
|
// a shrink-to-fit flex item pinned to the left of a 1400px panel).
|
|
4768
4768
|
// The placeholder owns its own layout and mirrors the column count so
|
|
4769
4769
|
// the modal doesn't visibly re-flow when the entity lands.
|
|
4770
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4770
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ModalContent, { children: loadingContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-busy": "true", children: loadingContent }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4771
4771
|
"div",
|
|
4772
4772
|
{
|
|
4773
4773
|
"aria-busy": "true",
|
|
@@ -4788,12 +4788,12 @@ function AdminFormModal({
|
|
|
4788
4788
|
]
|
|
4789
4789
|
}
|
|
4790
4790
|
) })
|
|
4791
|
-
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4791
|
+
) : twoColumn ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ModalTwoColumn, { left: leftColumn, right: rightColumn }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ModalContent, { className: contentClassName, children }),
|
|
4792
4792
|
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { role: "alert", className: "shrink-0 text-ods-error text-h6", children: error })
|
|
4793
4793
|
]
|
|
4794
4794
|
}
|
|
4795
4795
|
),
|
|
4796
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4796
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ModalFooter, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-[var(--spacing-system-xsf)]", children: [
|
|
4797
4797
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: footerExtras }),
|
|
4798
4798
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
4799
4799
|
footerStatus,
|
|
@@ -5471,7 +5471,7 @@ var TabBar = _react.memo.call(void 0, function TabBarImpl({
|
|
|
5471
5471
|
// as tall as its neighbours at every breakpoint. No hover shade:
|
|
5472
5472
|
// the tab is the target, and the cursor passes through to it.
|
|
5473
5473
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5474
|
-
|
|
5474
|
+
_chunkOD2WMUAOcjs.Tag,
|
|
5475
5475
|
{
|
|
5476
5476
|
as: "span",
|
|
5477
5477
|
"aria-hidden": true,
|
|
@@ -5681,7 +5681,7 @@ function FadePreview({
|
|
|
5681
5681
|
setCollapsedFor(resetKey);
|
|
5682
5682
|
setExpanded(false);
|
|
5683
5683
|
}
|
|
5684
|
-
|
|
5684
|
+
_chunkQRA2JXE4cjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
5685
5685
|
const el = contentRef.current;
|
|
5686
5686
|
if (!el) return;
|
|
5687
5687
|
if (!fixedHeight) {
|
|
@@ -6098,9 +6098,9 @@ var KIND_HEADING = {
|
|
|
6098
6098
|
design: "Claude Design"
|
|
6099
6099
|
};
|
|
6100
6100
|
function ClaudeEmbed({ url, kind = "artifact", title, height, loading = "lazy" }) {
|
|
6101
|
-
const { src: mirrorSrc, status } =
|
|
6101
|
+
const { src: mirrorSrc, status } = _chunkBJHM2OEYcjs.useClaudeMirrorSrc.call(void 0, url);
|
|
6102
6102
|
const isProbing = status === "probing";
|
|
6103
|
-
const embedUrl = isProbing ? null : _nullishCoalesce(mirrorSrc, () => (
|
|
6103
|
+
const embedUrl = isProbing ? null : _nullishCoalesce(mirrorSrc, () => ( _chunkBJHM2OEYcjs.toClaudeEmbedUrl.call(void 0, url)));
|
|
6104
6104
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6105
6105
|
EmbedViewerFrame,
|
|
6106
6106
|
{
|
|
@@ -6175,12 +6175,12 @@ function SlidesViewToggle({ view, onChange }) {
|
|
|
6175
6175
|
}
|
|
6176
6176
|
function FigmaEmbed({ url, title, height, loading = "lazy" }) {
|
|
6177
6177
|
const [view, setView] = _react.useState.call(void 0, "present");
|
|
6178
|
-
const isSlides = url ?
|
|
6179
|
-
const embedSrc = url ?
|
|
6178
|
+
const isSlides = url ? _chunkBJHM2OEYcjs.isFigmaSlidesUrl.call(void 0, url) : false;
|
|
6179
|
+
const embedSrc = url ? _chunkBJHM2OEYcjs.toFigmaEmbedUrl.call(void 0, url, { slidesView: view }) : null;
|
|
6180
6180
|
const originalUrl = (() => {
|
|
6181
6181
|
if (!url) return null;
|
|
6182
6182
|
try {
|
|
6183
|
-
const parsed = new URL(
|
|
6183
|
+
const parsed = new URL(_chunkBJHM2OEYcjs.toFigmaOriginalUrl.call(void 0, url));
|
|
6184
6184
|
const host = parsed.hostname.toLowerCase();
|
|
6185
6185
|
const okHost = host === "figma.com" || host.endsWith(".figma.com");
|
|
6186
6186
|
const okProtocol = parsed.protocol === "https:" || parsed.protocol === "http:";
|
|
@@ -6194,7 +6194,7 @@ function FigmaEmbed({ url, title, height, loading = "lazy" }) {
|
|
|
6194
6194
|
EmbedViewerFrame,
|
|
6195
6195
|
{
|
|
6196
6196
|
className: "my-6 space-y-3",
|
|
6197
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6197
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.FigmaIcon, { className: "h-5 w-5 shrink-0" }),
|
|
6198
6198
|
title: heading,
|
|
6199
6199
|
titleVariant: "h6",
|
|
6200
6200
|
actions: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2 sm:flex-row sm:items-center", children: [
|
|
@@ -6206,7 +6206,7 @@ function FigmaEmbed({ url, title, height, loading = "lazy" }) {
|
|
|
6206
6206
|
size: "small-legacy",
|
|
6207
6207
|
href: originalUrl,
|
|
6208
6208
|
openInNewTab: true,
|
|
6209
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6209
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.FigmaIcon, { className: "h-4 w-4" }),
|
|
6210
6210
|
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-4 w-4" }),
|
|
6211
6211
|
className: "w-full sm:w-auto",
|
|
6212
6212
|
children: "Open in Figma"
|
|
@@ -6218,7 +6218,7 @@ function FigmaEmbed({ url, title, height, loading = "lazy" }) {
|
|
|
6218
6218
|
loading,
|
|
6219
6219
|
height,
|
|
6220
6220
|
allowFullScreen: true,
|
|
6221
|
-
emptyIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6221
|
+
emptyIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.FigmaIcon, { className: "mb-4 h-16 w-16 text-ods-text-secondary" }),
|
|
6222
6222
|
emptyMessage: "Figma URL not configured"
|
|
6223
6223
|
}
|
|
6224
6224
|
);
|
|
@@ -6293,7 +6293,7 @@ function LinkedInEmbedClient({ url, height = 600 }) {
|
|
|
6293
6293
|
if (!embedUrl) {
|
|
6294
6294
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LinkedInContainer, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "p-6", children: [
|
|
6295
6295
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-4 flex items-center space-x-3 text-ods-text-secondary", children: [
|
|
6296
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6296
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.LinkedinIcon, { className: "h-5 w-5 shrink-0" }),
|
|
6297
6297
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "LinkedIn post" })
|
|
6298
6298
|
] }),
|
|
6299
6299
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -6304,7 +6304,7 @@ function LinkedInEmbedClient({ url, height = 600 }) {
|
|
|
6304
6304
|
rel: "noopener noreferrer",
|
|
6305
6305
|
className: "inline-flex items-center space-x-2 rounded-md border border-ods-border bg-ods-card px-4 py-2 text-ods-text-primary transition-colors text-h6 hover:bg-ods-bg-hover",
|
|
6306
6306
|
children: [
|
|
6307
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6307
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.LinkedinIcon, { className: "h-4 w-4" }),
|
|
6308
6308
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "View on LinkedIn" })
|
|
6309
6309
|
]
|
|
6310
6310
|
}
|
|
@@ -6954,7 +6954,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
|
|
|
6954
6954
|
};
|
|
6955
6955
|
const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
|
|
6956
6956
|
const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6957
|
-
|
|
6957
|
+
_chunkOD2WMUAOcjs.Video,
|
|
6958
6958
|
{
|
|
6959
6959
|
url: item.src,
|
|
6960
6960
|
poster: item.poster ? displayImageSrc(item.poster) : void 0,
|
|
@@ -6967,7 +6967,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
|
|
|
6967
6967
|
`video-${index}-${item.src}`
|
|
6968
6968
|
);
|
|
6969
6969
|
const renderImageUnavailable = (failedUrl) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "absolute inset-0 flex flex-col items-center justify-center gap-3 bg-ods-card px-6 text-center", children: [
|
|
6970
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6970
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.ImageOffIcon, { className: "size-8 text-ods-text-secondary" }),
|
|
6971
6971
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "max-w-md text-ods-text-secondary text-h6", children: "This image is no longer available at the original URL." }),
|
|
6972
6972
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6973
6973
|
_chunkFCUTPPX5cjs.next_link_default,
|
|
@@ -7678,7 +7678,7 @@ function buildRichEmbedOverrides({
|
|
|
7678
7678
|
ogEndpointPath,
|
|
7679
7679
|
textSizes
|
|
7680
7680
|
}) {
|
|
7681
|
-
const standard =
|
|
7681
|
+
const standard = _chunkOD2WMUAOcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
|
|
7682
7682
|
return {
|
|
7683
7683
|
// Fence-language embeds (```youtube-embed etc.); everything else
|
|
7684
7684
|
// (mermaid, highlighted blocks, inline code) falls through to `standard`.
|
|
@@ -7688,7 +7688,7 @@ function buildRichEmbedOverrides({
|
|
|
7688
7688
|
const language = match ? match[1] : "";
|
|
7689
7689
|
const fenceText = () => String(children).replace(/\n$/, "").trim();
|
|
7690
7690
|
if (language === "youtube-embed") {
|
|
7691
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7691
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.Video, { kind: "youtube", url: fenceText() });
|
|
7692
7692
|
}
|
|
7693
7693
|
if (language === "reddit-embed") {
|
|
7694
7694
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
|
|
@@ -7729,7 +7729,7 @@ function buildRichEmbedOverrides({
|
|
|
7729
7729
|
"data-figma-url": figmaUrl
|
|
7730
7730
|
} = divProps;
|
|
7731
7731
|
if (className === "youtube-embed" && videoId) {
|
|
7732
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7732
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.Video, { kind: "youtube", url: videoId });
|
|
7733
7733
|
}
|
|
7734
7734
|
if (className === "reddit-embed" && postUrl) {
|
|
7735
7735
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
|
|
@@ -7814,14 +7814,14 @@ function buildRichEmbedOverrides({
|
|
|
7814
7814
|
// rich-markdown runtime (Supabase optimization on the hub, identity
|
|
7815
7815
|
// elsewhere). Guard against empty `![]()`.
|
|
7816
7816
|
img: ({ src, alt }) => {
|
|
7817
|
-
if (!
|
|
7817
|
+
if (!_chunkOD2WMUAOcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7818
7818
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
|
|
7819
7819
|
},
|
|
7820
7820
|
// Raw <video> tags in stored content (blog publisher injection) route
|
|
7821
7821
|
// to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
|
|
7822
7822
|
video: ({ src, poster, className }) => {
|
|
7823
|
-
if (!
|
|
7824
|
-
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,
|
|
7823
|
+
if (!_chunkOD2WMUAOcjs.hasRenderableSrc.call(void 0, src)) return null;
|
|
7824
|
+
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, _chunkOD2WMUAOcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
|
|
7825
7825
|
}
|
|
7826
7826
|
};
|
|
7827
7827
|
}
|
|
@@ -8062,13 +8062,13 @@ var RichMarkdownInner = ({
|
|
|
8062
8062
|
},
|
|
8063
8063
|
[resolveLinkEndpointUrl, resolveSource]
|
|
8064
8064
|
);
|
|
8065
|
-
const textSizes = _react.useMemo.call(void 0, () =>
|
|
8065
|
+
const textSizes = _react.useMemo.call(void 0, () => _chunkOD2WMUAOcjs.resolveTextSizeConfig.call(void 0, "article"), []);
|
|
8066
8066
|
const componentOverrides = _react.useMemo.call(void 0,
|
|
8067
8067
|
() => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
|
|
8068
8068
|
[ogApiBaseUrl, ogEndpointPath, textSizes]
|
|
8069
8069
|
);
|
|
8070
8070
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8071
|
-
|
|
8071
|
+
_chunkOD2WMUAOcjs.MarkdownEngine,
|
|
8072
8072
|
{
|
|
8073
8073
|
content,
|
|
8074
8074
|
className,
|
|
@@ -8090,7 +8090,7 @@ var RichMarkdownRendererImpl = ({
|
|
|
8090
8090
|
className = "",
|
|
8091
8091
|
sectionIds,
|
|
8092
8092
|
onInternalLinkClick,
|
|
8093
|
-
brokenLinks =
|
|
8093
|
+
brokenLinks = _chunkOD2WMUAOcjs.NO_BROKEN_LINKS,
|
|
8094
8094
|
currentPath,
|
|
8095
8095
|
resolveSource = "openframe-docs",
|
|
8096
8096
|
resolveLinkEndpointUrl = "/api/docs/resolve-link",
|
|
@@ -8740,7 +8740,7 @@ function BackButton({ label = "Back", className, type = "button", ...props }) {
|
|
|
8740
8740
|
),
|
|
8741
8741
|
...props,
|
|
8742
8742
|
children: [
|
|
8743
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8743
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Chevron02LeftIcon, { className: "size-6 shrink-0" }),
|
|
8744
8744
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4", children: label })
|
|
8745
8745
|
]
|
|
8746
8746
|
}
|
|
@@ -8916,12 +8916,12 @@ function SortColumnItem({ column, currentDirection, onSort, onClear }) {
|
|
|
8916
8916
|
};
|
|
8917
8917
|
const getSortIcon = () => {
|
|
8918
8918
|
if (currentDirection === "asc") {
|
|
8919
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8919
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Arrow01UpIcon, { className: "h-4 w-4 text-ods-accent" });
|
|
8920
8920
|
}
|
|
8921
8921
|
if (currentDirection === "desc") {
|
|
8922
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8922
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Arrow01DownIcon, { className: "h-4 w-4 text-ods-accent" });
|
|
8923
8923
|
}
|
|
8924
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8924
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.SwitchVrIcon, { className: "h-4 w-4 text-ods-text-secondary" });
|
|
8925
8925
|
};
|
|
8926
8926
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8927
8927
|
"div",
|
|
@@ -9055,7 +9055,7 @@ function FilterModal({
|
|
|
9055
9055
|
const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _167 => _167.defaultSort]), () => ( "desc"));
|
|
9056
9056
|
const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _168 => _168.sort]), () => ( dateDefaultSort)));
|
|
9057
9057
|
const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _169 => _169.range]));
|
|
9058
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
9058
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkOD2WMUAOcjs.useScrollFade.call(void 0, );
|
|
9059
9059
|
const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
|
|
9060
9060
|
const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
|
|
9061
9061
|
_react.useEffect.call(void 0, () => {
|
|
@@ -9100,10 +9100,10 @@ function FilterModal({
|
|
|
9100
9100
|
const hasFilterGroups = filterGroups.length > 0;
|
|
9101
9101
|
const hasTagFilter = !!tagFilterKeys && tagFilterKeys.length > 0 && !!onTagsChange;
|
|
9102
9102
|
const isEmpty = !isLoading && !hasSort && !hasFilterGroups && !hasTagFilter && !dateFilter;
|
|
9103
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9104
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9103
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOD2WMUAOcjs.Modal, { isOpen, onClose, className: _chunkX7CEWD6Vcjs.cn.call(void 0, "max-h-[90vh] max-w-none", className), children: [
|
|
9104
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ModalTitle, { children: title }) }),
|
|
9105
9105
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9106
|
-
|
|
9106
|
+
_chunkOD2WMUAOcjs.ModalContent,
|
|
9107
9107
|
{
|
|
9108
9108
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
9109
9109
|
"flex min-h-0 flex-1 flex-col",
|
|
@@ -9131,7 +9131,7 @@ function FilterModal({
|
|
|
9131
9131
|
row
|
|
9132
9132
|
)) })
|
|
9133
9133
|
] }, group)) }) : isEmpty ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-[240px] flex-col items-center justify-center gap-6 p-6", children: [
|
|
9134
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9134
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Filter02Icon, { className: "text-ods-text-secondary", size: 24 }),
|
|
9135
9135
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center text-center text-ods-text-secondary", children: [
|
|
9136
9136
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4", children: emptyStateTitle }),
|
|
9137
9137
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6", children: emptyStateDescription })
|
|
@@ -9195,12 +9195,12 @@ function FilterModal({
|
|
|
9195
9195
|
] })
|
|
9196
9196
|
}
|
|
9197
9197
|
),
|
|
9198
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9199
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9198
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
|
|
9199
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
|
|
9200
9200
|
] })
|
|
9201
9201
|
}
|
|
9202
9202
|
),
|
|
9203
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9203
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOD2WMUAOcjs.ModalFooter, { children: [
|
|
9204
9204
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "outline", className: "h-11 flex-1", onClick: handleReset, children: resetButtonText }),
|
|
9205
9205
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "accent", className: "h-11 flex-1", onClick: handleApply, children: applyButtonText })
|
|
9206
9206
|
] })
|
|
@@ -9244,9 +9244,9 @@ function actionToMenuItems(action, idx) {
|
|
|
9244
9244
|
function renderActionButton(action, opts = {}) {
|
|
9245
9245
|
const button = renderRawActionButton(action, opts);
|
|
9246
9246
|
if (!action.tooltip) return button;
|
|
9247
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9248
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9249
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9247
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOD2WMUAOcjs.Tooltip, { children: [
|
|
9248
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TooltipTrigger, { asChild: true, children: button }),
|
|
9249
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TooltipContent, { children: action.tooltip })
|
|
9250
9250
|
] }) });
|
|
9251
9251
|
}
|
|
9252
9252
|
function renderRawActionButton(action, opts = {}) {
|
|
@@ -9270,7 +9270,7 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
9270
9270
|
}
|
|
9271
9271
|
if (action.submenu && action.submenu.length > 0) {
|
|
9272
9272
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9273
|
-
|
|
9273
|
+
_chunkOD2WMUAOcjs.ActionsMenuDropdown,
|
|
9274
9274
|
{
|
|
9275
9275
|
groups: [{ items: action.submenu }],
|
|
9276
9276
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -9280,7 +9280,7 @@ function renderRawActionButton(action, opts = {}) {
|
|
|
9280
9280
|
disabled: action.disabled,
|
|
9281
9281
|
loading: action.loading,
|
|
9282
9282
|
leftIcon: action.icon,
|
|
9283
|
-
splitIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9283
|
+
splitIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Chevron02DownIcon, { className: "h-4 w-4" }),
|
|
9284
9284
|
className: opts.fullWidth ? "flex-1" : void 0,
|
|
9285
9285
|
children: action.label
|
|
9286
9286
|
}
|
|
@@ -9405,10 +9405,10 @@ function IconButtonsVariant({
|
|
|
9405
9405
|
selector,
|
|
9406
9406
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
9407
9407
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
|
|
9408
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9408
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ActionsMenuDropdown, { groups: menuActions })
|
|
9409
9409
|
] })
|
|
9410
9410
|
] }),
|
|
9411
|
-
/* @__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,
|
|
9411
|
+
/* @__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, _chunkOD2WMUAOcjs.ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
|
|
9412
9412
|
] });
|
|
9413
9413
|
}
|
|
9414
9414
|
function PrimaryButtonsVariant({
|
|
@@ -9446,7 +9446,7 @@ function MenuPrimaryVariant({
|
|
|
9446
9446
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "hidden items-center md:flex", ACTIONS_GAP, className), children: [
|
|
9447
9447
|
selector,
|
|
9448
9448
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
9449
|
-
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9449
|
+
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ActionsMenuDropdown, { groups: menuActions }),
|
|
9450
9450
|
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
|
|
9451
9451
|
] })
|
|
9452
9452
|
] }),
|
|
@@ -9454,7 +9454,7 @@ function MenuPrimaryVariant({
|
|
|
9454
9454
|
// The selector rides into the menu as its header row: on mobile the
|
|
9455
9455
|
// title row has no room for it, and hiding it entirely (what
|
|
9456
9456
|
// `icon-buttons` does) would leave no way to switch views at all.
|
|
9457
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9457
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector })
|
|
9458
9458
|
) : null })
|
|
9459
9459
|
] });
|
|
9460
9460
|
}
|
|
@@ -9662,7 +9662,7 @@ function ListPageLayout({
|
|
|
9662
9662
|
}) {
|
|
9663
9663
|
const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
|
|
9664
9664
|
const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
|
|
9665
|
-
const debouncedSearchValue =
|
|
9665
|
+
const debouncedSearchValue = _chunkQRA2JXE4cjs.useDebounce.call(void 0, localSearchValue, 500);
|
|
9666
9666
|
const [syncedSearchValue, setSyncedSearchValue] = _react.useState.call(void 0, searchValue);
|
|
9667
9667
|
if (syncedSearchValue !== searchValue) {
|
|
9668
9668
|
setSyncedSearchValue(searchValue);
|
|
@@ -9714,7 +9714,7 @@ function ListPageLayout({
|
|
|
9714
9714
|
className: "md:hidden",
|
|
9715
9715
|
onClick: () => setMobileFilterOpen(true),
|
|
9716
9716
|
"aria-label": "Open filters",
|
|
9717
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9717
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Filter02Icon, {})
|
|
9718
9718
|
}
|
|
9719
9719
|
)
|
|
9720
9720
|
]
|
|
@@ -9822,8 +9822,8 @@ function TitleBlock({
|
|
|
9822
9822
|
const titleClass = titleSize === "h1" ? "text-h1" : "text-h2";
|
|
9823
9823
|
const titleOverflowClass = titleWrap ? "break-words" : "truncate";
|
|
9824
9824
|
const skeletonSize = TITLE_SKELETON_SIZE[titleSize];
|
|
9825
|
-
const { ref: titleRef, isTruncated: titleTruncated } =
|
|
9826
|
-
const { ref: subtitleRef, isTruncated: subtitleTruncated } =
|
|
9825
|
+
const { ref: titleRef, isTruncated: titleTruncated } = _chunkQRA2JXE4cjs.useIsTruncated.call(void 0, loading ? null : title);
|
|
9826
|
+
const { ref: subtitleRef, isTruncated: subtitleTruncated } = _chunkQRA2JXE4cjs.useIsTruncated.call(void 0,
|
|
9827
9827
|
loading ? null : subtitle
|
|
9828
9828
|
);
|
|
9829
9829
|
const titleNode = loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TitleTextSkeleton, { widthClass: skeletonSize.width, heightClass: skeletonSize.height }) : title;
|
|
@@ -9860,7 +9860,7 @@ function TitleBlock({
|
|
|
9860
9860
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
9861
9861
|
(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: [
|
|
9862
9862
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9863
|
-
|
|
9863
|
+
_chunkOD2WMUAOcjs.FloatingTooltip,
|
|
9864
9864
|
{
|
|
9865
9865
|
content: title,
|
|
9866
9866
|
side: "bottom",
|
|
@@ -9877,12 +9877,12 @@ function TitleBlock({
|
|
|
9877
9877
|
}
|
|
9878
9878
|
),
|
|
9879
9879
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9880
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9880
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.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 }) })),
|
|
9881
9881
|
hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
|
|
9882
9882
|
empty `p` collapses to zero height (its only content would be
|
|
9883
9883
|
collapsible whitespace), which is exactly the shift that mode
|
|
9884
9884
|
exists to prevent. Hidden from AT — it carries no meaning. */
|
|
9885
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9885
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9886
9886
|
"p",
|
|
9887
9887
|
{
|
|
9888
9888
|
ref: subtitleRef,
|
|
@@ -9893,7 +9893,7 @@ function TitleBlock({
|
|
|
9893
9893
|
) })
|
|
9894
9894
|
] })
|
|
9895
9895
|
] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
|
|
9896
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9896
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.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 }) }),
|
|
9897
9897
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
|
|
9898
9898
|
] }) : (
|
|
9899
9899
|
/* This branch never had the single-line clamp, so text already
|
|
@@ -10353,7 +10353,7 @@ function toToolLabel(input) {
|
|
|
10353
10353
|
if (!input) return "";
|
|
10354
10354
|
const toolType = normalizeToolType(input);
|
|
10355
10355
|
if (toolType) {
|
|
10356
|
-
return
|
|
10356
|
+
return _chunkQRA2JXE4cjs.toolLabels[toolType];
|
|
10357
10357
|
}
|
|
10358
10358
|
return input;
|
|
10359
10359
|
}
|
|
@@ -10364,7 +10364,7 @@ function getToolTypeAliases(toolType) {
|
|
|
10364
10364
|
return Object.entries(toolAliasMap).filter(([_, value]) => value === toolType).map(([key]) => key);
|
|
10365
10365
|
}
|
|
10366
10366
|
function getToolLabel(toolType) {
|
|
10367
|
-
return
|
|
10367
|
+
return _chunkQRA2JXE4cjs.toolLabels[toolType] || toolType;
|
|
10368
10368
|
}
|
|
10369
10369
|
|
|
10370
10370
|
// src/types/shell.types.ts
|
|
@@ -10378,10 +10378,10 @@ var ShellTypeValues = {
|
|
|
10378
10378
|
SHELL: "SHELL"
|
|
10379
10379
|
};
|
|
10380
10380
|
var SHELL_TYPES = [
|
|
10381
|
-
{ id: ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon:
|
|
10381
|
+
{ id: ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon: _chunk6TNOVWO3cjs.PowershellLogoIcon },
|
|
10382
10382
|
{ id: ShellTypeValues.CMD, label: "Batch", value: "cmd", icon: _chunk5R4QMTMLcjs.CmdIcon },
|
|
10383
10383
|
{ id: ShellTypeValues.BASH, label: "Bash", value: "bash", icon: _chunk5R4QMTMLcjs.BashIcon },
|
|
10384
|
-
{ id: ShellTypeValues.PYTHON, label: "Python", value: "python", icon:
|
|
10384
|
+
{ id: ShellTypeValues.PYTHON, label: "Python", value: "python", icon: _chunk6TNOVWO3cjs.PythonLogoIcon },
|
|
10385
10385
|
{ id: ShellTypeValues.NUSHELL, label: "Nu", value: "nushell", icon: _chunk5R4QMTMLcjs.NushellIcon },
|
|
10386
10386
|
{ id: ShellTypeValues.DENO, label: "Deno", value: "deno", icon: _chunk5R4QMTMLcjs.DenoIcon },
|
|
10387
10387
|
{ id: ShellTypeValues.SHELL, label: "Shell", value: "shell", icon: _chunk5R4QMTMLcjs.ShellIcon }
|
|
@@ -10449,7 +10449,7 @@ var OS_TYPES = [
|
|
|
10449
10449
|
id: OSTypeValues.MACOS,
|
|
10450
10450
|
label: "macOS",
|
|
10451
10451
|
value: OSTypeValues.MACOS,
|
|
10452
|
-
icon:
|
|
10452
|
+
icon: _chunk6TNOVWO3cjs.AppleLogoIcon,
|
|
10453
10453
|
platformId: "darwin",
|
|
10454
10454
|
aliases: ["darwin", "macos", "mac os", "osx", "os x", "mac"]
|
|
10455
10455
|
// Put more specific ones first, 'mac' last to avoid false matches
|
|
@@ -10458,7 +10458,7 @@ var OS_TYPES = [
|
|
|
10458
10458
|
id: OSTypeValues.WINDOWS,
|
|
10459
10459
|
label: "Windows",
|
|
10460
10460
|
value: OSTypeValues.WINDOWS,
|
|
10461
|
-
icon:
|
|
10461
|
+
icon: _chunk6TNOVWO3cjs.WindowsLogoGreyIcon,
|
|
10462
10462
|
platformId: "windows",
|
|
10463
10463
|
aliases: ["windows", "win32", "win64", "win"]
|
|
10464
10464
|
// 'win' last since it's shortest
|
|
@@ -10467,7 +10467,7 @@ var OS_TYPES = [
|
|
|
10467
10467
|
id: OSTypeValues.LINUX,
|
|
10468
10468
|
label: "Linux",
|
|
10469
10469
|
value: OSTypeValues.LINUX,
|
|
10470
|
-
icon:
|
|
10470
|
+
icon: _chunk6TNOVWO3cjs.LinuxLogoIcon,
|
|
10471
10471
|
platformId: "linux",
|
|
10472
10472
|
aliases: ["linux", "ubuntu", "debian", "centos", "redhat", "fedora", "pop", "pop!_os", "arch", "manjaro"]
|
|
10473
10473
|
}
|
|
@@ -11508,8 +11508,8 @@ function makeComposeContentUrl(opts) {
|
|
|
11508
11508
|
}
|
|
11509
11509
|
if (externalUrl) return { href: externalUrl, targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)) };
|
|
11510
11510
|
const claimedOwner = _nullishCoalesce(targetPlatform, () => ( primaryPlatformOf(platforms)));
|
|
11511
|
-
const owner = claimedOwner &&
|
|
11512
|
-
const origin = owner ?
|
|
11511
|
+
const owner = claimedOwner && _chunkOD2WMUAOcjs.byKey.call(void 0, claimedOwner) ? claimedOwner : null;
|
|
11512
|
+
const origin = owner ? _chunkOD2WMUAOcjs.getPlatformProductionUrl.call(void 0, owner) : opts.contentOrigin;
|
|
11513
11513
|
return {
|
|
11514
11514
|
href: `${origin.replace(/\/+$/, "")}/${seg}/${_optionalChain([slugHint, 'optionalAccess', _228 => _228.trim, 'call', _229 => _229()]) || identifier}`,
|
|
11515
11515
|
// Report the owner so `decideNewTab` can compare it against the current
|
|
@@ -11675,8 +11675,8 @@ var DEFAULT_OPTIONS = {
|
|
|
11675
11675
|
function extractSections(markdown, options = {}) {
|
|
11676
11676
|
const opts = { ...DEFAULT_OPTIONS, ...options };
|
|
11677
11677
|
const sections = [];
|
|
11678
|
-
const dedupe =
|
|
11679
|
-
const scanned =
|
|
11678
|
+
const dedupe = _chunkQRA2JXE4cjs.createHeadingIdDeduper.call(void 0, );
|
|
11679
|
+
const scanned = _chunkQRA2JXE4cjs.scanHeadings.call(void 0, markdown, {
|
|
11680
11680
|
skipFrontmatter: opts.skipCodeAndYamlBlocks,
|
|
11681
11681
|
skipFences: opts.skipCodeAndYamlBlocks
|
|
11682
11682
|
});
|
|
@@ -11684,9 +11684,9 @@ function extractSections(markdown, options = {}) {
|
|
|
11684
11684
|
if (heading.level > opts.maxLevel) continue;
|
|
11685
11685
|
let title = heading.text;
|
|
11686
11686
|
if (opts.stripFormattingMarkers) {
|
|
11687
|
-
title =
|
|
11687
|
+
title = _chunkOD2WMUAOcjs.stripInlineMarkdown.call(void 0, title).trim();
|
|
11688
11688
|
}
|
|
11689
|
-
const baseId =
|
|
11689
|
+
const baseId = _chunkQRA2JXE4cjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkQRA2JXE4cjs.stripHeadingEmojis.call(void 0, title) : title);
|
|
11690
11690
|
const cleanId = baseId || `section-${sections.length + 1}`;
|
|
11691
11691
|
sections.push({
|
|
11692
11692
|
id: opts.handleDuplicateIds ? dedupe(cleanId) : cleanId,
|
|
@@ -12264,7 +12264,7 @@ function DashboardInfoCard({
|
|
|
12264
12264
|
const asTag = percentageDisplay === "tag" || percentageDisplay === "auto" && (progressVariant === "warning" || progressVariant === "error");
|
|
12265
12265
|
if (asTag) {
|
|
12266
12266
|
const tagVariant = progressVariant === "warning" || progressVariant === "error" ? progressVariant : progressVariant === "success" ? "success" : "grey";
|
|
12267
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12267
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.Tag, { variant: tagVariant, label: `${percentage}%` });
|
|
12268
12268
|
}
|
|
12269
12269
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: [
|
|
12270
12270
|
"(",
|
|
@@ -12318,7 +12318,7 @@ function DashboardInfoCard({
|
|
|
12318
12318
|
/* @__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 }),
|
|
12319
12319
|
subValue && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: subValue }),
|
|
12320
12320
|
renderPercentage(),
|
|
12321
|
-
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12321
|
+
tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.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, _chunk6TNOVWO3cjs.QuestionCircleIcon, { size: 20 }) }) })
|
|
12322
12322
|
] })
|
|
12323
12323
|
] }),
|
|
12324
12324
|
renderProgress()
|
|
@@ -12474,7 +12474,7 @@ function DeviceCard({
|
|
|
12474
12474
|
e.stopPropagation();
|
|
12475
12475
|
_optionalChain([actions, 'access', _235 => _235.moreButton, 'optionalAccess', _236 => _236.onClick, 'optionalCall', _237 => _237()]);
|
|
12476
12476
|
},
|
|
12477
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12477
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
|
|
12478
12478
|
}
|
|
12479
12479
|
),
|
|
12480
12480
|
_optionalChain([actions, 'access', _238 => _238.detailsButton, 'optionalAccess', _239 => _239.visible]) !== false && _optionalChain([actions, 'access', _240 => _240.detailsButton, 'optionalAccess', _241 => _241.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
|
|
@@ -12495,7 +12495,7 @@ function DeviceCard({
|
|
|
12495
12495
|
] }),
|
|
12496
12496
|
(statusTag || device.lastSeen) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-2", children: [
|
|
12497
12497
|
statusTag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12498
|
-
|
|
12498
|
+
_chunkOD2WMUAOcjs.Tag,
|
|
12499
12499
|
{
|
|
12500
12500
|
variant: statusTag.variant,
|
|
12501
12501
|
icon: statusTag.icon,
|
|
@@ -12509,7 +12509,7 @@ function DeviceCard({
|
|
|
12509
12509
|
formatLastSeen(device.lastSeen)
|
|
12510
12510
|
] })
|
|
12511
12511
|
] }),
|
|
12512
|
-
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,
|
|
12512
|
+
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, _chunkOD2WMUAOcjs.Tag, { variant: "outline", label: tag }, index)) })
|
|
12513
12513
|
]
|
|
12514
12514
|
}
|
|
12515
12515
|
);
|
|
@@ -12551,13 +12551,13 @@ function DataAttribution({ icon, source, lastUpdated }) {
|
|
|
12551
12551
|
// src/components/ui/compliance-badge.tsx
|
|
12552
12552
|
|
|
12553
12553
|
var COMPLIANCE_LOGOS = {
|
|
12554
|
-
"aicpa-soc2":
|
|
12555
|
-
iso:
|
|
12556
|
-
"iso-iec":
|
|
12557
|
-
nist:
|
|
12558
|
-
cmmc:
|
|
12559
|
-
eu:
|
|
12560
|
-
hhs:
|
|
12554
|
+
"aicpa-soc2": _chunk6TNOVWO3cjs.AicpaSoc2LogoIcon,
|
|
12555
|
+
iso: _chunk6TNOVWO3cjs.IsoLogoIcon,
|
|
12556
|
+
"iso-iec": _chunk6TNOVWO3cjs.IsoIecLogoIcon,
|
|
12557
|
+
nist: _chunk6TNOVWO3cjs.NistLogoIcon,
|
|
12558
|
+
cmmc: _chunk6TNOVWO3cjs.CmmcLogoIcon,
|
|
12559
|
+
eu: _chunk6TNOVWO3cjs.EuLogoIcon,
|
|
12560
|
+
hhs: _chunk6TNOVWO3cjs.HhsLogoIcon
|
|
12561
12561
|
};
|
|
12562
12562
|
function markFontSize(mark) {
|
|
12563
12563
|
if (mark.length <= 4) return 10;
|
|
@@ -12750,7 +12750,7 @@ function FeatureList({ items, className = "", iconBoxSize = 72 }) {
|
|
|
12750
12750
|
|
|
12751
12751
|
function SourceTooltip({ intro, sources, note, iconClassName, triggerAnchorProps }) {
|
|
12752
12752
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12753
|
-
|
|
12753
|
+
_chunkOD2WMUAOcjs.FloatingTooltip,
|
|
12754
12754
|
{
|
|
12755
12755
|
as: "span",
|
|
12756
12756
|
side: "top",
|
|
@@ -12910,7 +12910,7 @@ function DropdownButton({
|
|
|
12910
12910
|
fullWidth,
|
|
12911
12911
|
"aria-label": resolvedAriaLabel,
|
|
12912
12912
|
leftIcon: icon,
|
|
12913
|
-
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12913
|
+
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Chevron02DownIcon, { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "h-4 w-4 transition-transform duration-fast", open && "rotate-180") }),
|
|
12914
12914
|
className,
|
|
12915
12915
|
children: label
|
|
12916
12916
|
}
|
|
@@ -12928,14 +12928,14 @@ function DropdownButton({
|
|
|
12928
12928
|
fullWidth,
|
|
12929
12929
|
"aria-label": resolvedAriaLabel,
|
|
12930
12930
|
leftIcon: icon,
|
|
12931
|
-
splitIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12931
|
+
splitIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Chevron02DownIcon, { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "transition-transform duration-fast", open && "rotate-180") }),
|
|
12932
12932
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, open && "bg-ods-bg-hover", className),
|
|
12933
12933
|
children: label
|
|
12934
12934
|
}
|
|
12935
12935
|
)
|
|
12936
12936
|
);
|
|
12937
12937
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12938
|
-
|
|
12938
|
+
_chunkOD2WMUAOcjs.ActionsMenuDropdown,
|
|
12939
12939
|
{
|
|
12940
12940
|
groups: _nullishCoalesce(groups, () => ( [{ items: _nullishCoalesce(items, () => ( [])) }])),
|
|
12941
12941
|
open,
|
|
@@ -12972,7 +12972,7 @@ function MoreActionsMenu({
|
|
|
12972
12972
|
size: "icon",
|
|
12973
12973
|
className: className || "flex items-center justify-center border-ods-border bg-ods-card hover:bg-ods-bg-hover",
|
|
12974
12974
|
"aria-label": ariaLabel,
|
|
12975
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12975
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Ellipsis01Icon, { size: 24, className: "text-ods-text-primary" })
|
|
12976
12976
|
}
|
|
12977
12977
|
) }),
|
|
12978
12978
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -13150,8 +13150,8 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
|
|
|
13150
13150
|
}
|
|
13151
13151
|
function ServiceCardRowItem({ row }) {
|
|
13152
13152
|
const [revealed, setRevealed] = _react.useState.call(void 0, false);
|
|
13153
|
-
const { copy, copied } =
|
|
13154
|
-
const { ref: valueRef, isTruncated: valueTruncated } =
|
|
13153
|
+
const { copy, copied } = _chunkBJHM2OEYcjs.useCopyToClipboard.call(void 0, );
|
|
13154
|
+
const { ref: valueRef, isTruncated: valueTruncated } = _chunkQRA2JXE4cjs.useIsTruncated.call(void 0, row.value);
|
|
13155
13155
|
const actions = _react.useMemo.call(void 0,
|
|
13156
13156
|
() => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }),
|
|
13157
13157
|
[row]
|
|
@@ -13173,7 +13173,7 @@ function ServiceCardRowItem({ row }) {
|
|
|
13173
13173
|
),
|
|
13174
13174
|
children: [
|
|
13175
13175
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13176
|
-
|
|
13176
|
+
_chunkOD2WMUAOcjs.FloatingTooltip,
|
|
13177
13177
|
{
|
|
13178
13178
|
content: row.value,
|
|
13179
13179
|
side: "top",
|
|
@@ -13202,7 +13202,7 @@ function ServiceCardRowItem({ row }) {
|
|
|
13202
13202
|
copied ? "text-ods-success" : "text-ods-text-secondary"
|
|
13203
13203
|
),
|
|
13204
13204
|
"aria-label": `Copy ${_nullishCoalesce(row.label, () => ( "value"))}`,
|
|
13205
|
-
children: copied ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13205
|
+
children: copied ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.CheckIcon, { size: 20 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Copy01Icon, { size: 20 })
|
|
13206
13206
|
}
|
|
13207
13207
|
),
|
|
13208
13208
|
actions.open && row.href && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -13311,7 +13311,7 @@ function PeopleCell({ people, fallbackName = "Unassigned" }) {
|
|
|
13311
13311
|
);
|
|
13312
13312
|
}
|
|
13313
13313
|
const fullNames = people.map((p) => p.name || "Unknown").join(", ");
|
|
13314
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13314
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.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: [
|
|
13315
13315
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13316
13316
|
_chunkQNWQQ4RTcjs.AvatarStack,
|
|
13317
13317
|
{
|
|
@@ -13373,9 +13373,9 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
13373
13373
|
return next;
|
|
13374
13374
|
});
|
|
13375
13375
|
};
|
|
13376
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13376
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOD2WMUAOcjs.Tooltip, { open, onOpenChange: setOpen, children: [
|
|
13377
13377
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13378
|
-
|
|
13378
|
+
_chunkOD2WMUAOcjs.TooltipTrigger,
|
|
13379
13379
|
{
|
|
13380
13380
|
asChild: true,
|
|
13381
13381
|
onPointerDown: (e) => {
|
|
@@ -13393,7 +13393,7 @@ function TouchFriendlyTooltip({ content, side = "left", children }) {
|
|
|
13393
13393
|
children
|
|
13394
13394
|
}
|
|
13395
13395
|
),
|
|
13396
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13396
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TooltipContent, { side, className: "max-w-xs", children: content })
|
|
13397
13397
|
] }) });
|
|
13398
13398
|
}
|
|
13399
13399
|
|
|
@@ -13907,7 +13907,7 @@ function TableColumnFilterDropdown({
|
|
|
13907
13907
|
children: [
|
|
13908
13908
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "select-none text-ods-text-secondary text-h5", children: columnLabel }),
|
|
13909
13909
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13910
|
-
|
|
13910
|
+
_chunk6TNOVWO3cjs.Filter02Icon,
|
|
13911
13911
|
{
|
|
13912
13912
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "h-4 w-4 transition-colors", activeCount > 0 ? "text-ods-accent" : "text-ods-text-secondary")
|
|
13913
13913
|
}
|
|
@@ -14005,11 +14005,11 @@ function TableHeader({
|
|
|
14005
14005
|
const columnKey = column.sortKey || column.key;
|
|
14006
14006
|
const isActive = sortBy === columnKey;
|
|
14007
14007
|
if (!isActive) {
|
|
14008
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14008
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.SwitchVrIcon, { className: "h-4 w-4 text-ods-text-secondary" });
|
|
14009
14009
|
}
|
|
14010
|
-
return sortDirection === "asc" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14010
|
+
return sortDirection === "asc" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Arrow01UpIcon, { className: "h-4 w-4 text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Arrow01DownIcon, { className: "h-4 w-4 text-ods-accent" });
|
|
14011
14011
|
};
|
|
14012
|
-
const isLgUp = _nullishCoalesce(
|
|
14012
|
+
const isLgUp = _nullishCoalesce(_chunkQRA2JXE4cjs.useLgUp.call(void 0, ), () => ( false));
|
|
14013
14013
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
14014
14014
|
"div",
|
|
14015
14015
|
{
|
|
@@ -14066,7 +14066,7 @@ function TableHeader({
|
|
|
14066
14066
|
onFilterChange
|
|
14067
14067
|
}
|
|
14068
14068
|
),
|
|
14069
|
-
column.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14069
|
+
column.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InfoHint, { label: column.label, children: column.hint }) : null
|
|
14070
14070
|
] })
|
|
14071
14071
|
) : (
|
|
14072
14072
|
/* Non-filterable column — regular label with optional sort */
|
|
@@ -14092,7 +14092,7 @@ function TableHeader({
|
|
|
14092
14092
|
hint exists, so a hint-less header keeps its DOM. */
|
|
14093
14093
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
14094
14094
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TABLE_HEADER_LABEL_CLASS, children: column.label }),
|
|
14095
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14095
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InfoHint, { label: column.label, children: column.hint })
|
|
14096
14096
|
] })
|
|
14097
14097
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TABLE_HEADER_LABEL_CLASS, children: column.label }),
|
|
14098
14098
|
getSortIcon(column)
|
|
@@ -14369,7 +14369,7 @@ function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref,
|
|
|
14369
14369
|
prefetch: false,
|
|
14370
14370
|
variant: "outline",
|
|
14371
14371
|
size: "icon",
|
|
14372
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14372
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Chevron02RightIcon, { className: "h-6 w-6" }),
|
|
14373
14373
|
"aria-label": "View details"
|
|
14374
14374
|
}
|
|
14375
14375
|
) });
|
|
@@ -14704,9 +14704,9 @@ function TruncatedHeaderCell({ value, width }) {
|
|
|
14704
14704
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
14705
14705
|
}
|
|
14706
14706
|
}, []);
|
|
14707
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14708
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14709
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14707
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOD2WMUAOcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
14708
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.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 }) }) }),
|
|
14709
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TooltipContent, { side: "bottom", className: "max-w-xs break-words", children: value })
|
|
14710
14710
|
] }) });
|
|
14711
14711
|
}
|
|
14712
14712
|
|
|
@@ -14759,9 +14759,9 @@ function TruncatedCell({ value, className }) {
|
|
|
14759
14759
|
setIsTruncated(el.scrollWidth > el.clientWidth);
|
|
14760
14760
|
}
|
|
14761
14761
|
}, []);
|
|
14762
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14763
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14764
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14762
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOD2WMUAOcjs.Tooltip, { open: isTruncated ? void 0 : false, children: [
|
|
14763
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.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 }) }),
|
|
14764
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
|
|
14765
14765
|
] }) });
|
|
14766
14766
|
}
|
|
14767
14767
|
|
|
@@ -14877,7 +14877,7 @@ function QueryReportTable({
|
|
|
14877
14877
|
onThumbPointerMove,
|
|
14878
14878
|
onThumbPointerUp,
|
|
14879
14879
|
onThumbPointerCancel
|
|
14880
|
-
} =
|
|
14880
|
+
} = _chunkBJHM2OEYcjs.useHorizontalScrollbar.call(void 0, );
|
|
14881
14881
|
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: [
|
|
14882
14882
|
!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: [
|
|
14883
14883
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: title }),
|
|
@@ -14888,7 +14888,7 @@ function QueryReportTable({
|
|
|
14888
14888
|
{
|
|
14889
14889
|
className: "bg-ods-card max-md:hidden",
|
|
14890
14890
|
variant: "outline",
|
|
14891
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14891
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Download02Icon, { size: 18, className: "text-ods-text-secondary" }),
|
|
14892
14892
|
onClick: handleExport,
|
|
14893
14893
|
children: "Export CSV"
|
|
14894
14894
|
}
|
|
@@ -15118,7 +15118,7 @@ function DataTableBody({
|
|
|
15118
15118
|
const hasRows = rows.length > 0;
|
|
15119
15119
|
const loadMore = useDataTableLoadMoreStore();
|
|
15120
15120
|
const loadMoreRows = _react.useSyncExternalStore.call(void 0, loadMore.subscribe, loadMore.getSkeletonRows, getNoRows);
|
|
15121
|
-
|
|
15121
|
+
_chunkQRA2JXE4cjs.useIsomorphicLayoutEffect.call(void 0, () => hasRows ? loadMore.registerRowsBody() : void 0, [loadMore, hasRows]);
|
|
15122
15122
|
const skeletonRowClassName = typeof rowClassName === "string" ? rowClassName : void 0;
|
|
15123
15123
|
if (loading && !hasRows) {
|
|
15124
15124
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, ROW_STACK_CLASSES, className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -15264,7 +15264,7 @@ function DataTableColumnFilter({
|
|
|
15264
15264
|
}
|
|
15265
15265
|
),
|
|
15266
15266
|
(!isEmpty || pending) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15267
|
-
|
|
15267
|
+
_chunk6TNOVWO3cjs.Filter02Icon,
|
|
15268
15268
|
{
|
|
15269
15269
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
15270
15270
|
"h-4 w-4 transition-colors",
|
|
@@ -15433,7 +15433,7 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
15433
15433
|
// child of the cell.
|
|
15434
15434
|
_optionalChain([meta, 'optionalAccess', _306 => _306.hint]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
15435
15435
|
filterTrigger,
|
|
15436
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15436
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
|
|
15437
15437
|
] }) : filterTrigger
|
|
15438
15438
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
15439
15439
|
"div",
|
|
@@ -15458,7 +15458,7 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
15458
15458
|
// centred on the row.
|
|
15459
15459
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
|
|
15460
15460
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
15461
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15461
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
|
|
15462
15462
|
] })
|
|
15463
15463
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
15464
15464
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -15478,9 +15478,9 @@ function HeaderLabel({ header }) {
|
|
|
15478
15478
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _reacttable.flexRender.call(void 0, headerDef, header.getContext()) });
|
|
15479
15479
|
}
|
|
15480
15480
|
function SortIcon({ sorted }) {
|
|
15481
|
-
if (sorted === "asc") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15482
|
-
if (sorted === "desc") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15483
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15481
|
+
if (sorted === "asc") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Arrow01UpIcon, { className: "h-4 w-4 text-ods-accent" });
|
|
15482
|
+
if (sorted === "desc") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Arrow01DownIcon, { className: "h-4 w-4 text-ods-accent" });
|
|
15483
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.SwitchVrIcon, { className: "h-4 w-4 text-ods-text-secondary transition-colors duration-200 group-hover:text-ods-text-primary" });
|
|
15484
15484
|
}
|
|
15485
15485
|
function resolveHeaderLabel(header) {
|
|
15486
15486
|
const h = header.column.columnDef.header;
|
|
@@ -15516,7 +15516,7 @@ function DataTableInfiniteFooter({
|
|
|
15516
15516
|
const loadMore = useDataTableLoadMoreStore();
|
|
15517
15517
|
const bodyDrawsRows = _react.useSyncExternalStore.call(void 0, loadMore.subscribe, loadMore.getHasRowsBody, getNoBody);
|
|
15518
15518
|
const requestedRows = isFetchingNextPage ? skeletonRows : 0;
|
|
15519
|
-
|
|
15519
|
+
_chunkQRA2JXE4cjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
15520
15520
|
loadMore.setSkeletonRows(requestedRows);
|
|
15521
15521
|
return () => loadMore.setSkeletonRows(0);
|
|
15522
15522
|
}, [loadMore, requestedRows]);
|
|
@@ -15638,7 +15638,7 @@ var DataTable = Object.assign(DataTableRoot, {
|
|
|
15638
15638
|
|
|
15639
15639
|
var PasswordInput = _react.forwardRef.call(void 0, ({ disabled, className, ...props }, ref) => {
|
|
15640
15640
|
const [visible, setVisible] = _react.useState.call(void 0, false);
|
|
15641
|
-
const Icon2 = visible ?
|
|
15641
|
+
const Icon2 = visible ? _chunk6TNOVWO3cjs.EyeOffIcon : _chunk6TNOVWO3cjs.EyeIcon;
|
|
15642
15642
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15643
15643
|
_chunkKWX65373cjs.Input,
|
|
15644
15644
|
{
|
|
@@ -15837,10 +15837,10 @@ function SearchInput({
|
|
|
15837
15837
|
}) {
|
|
15838
15838
|
const [internalValue, setInternalValue] = _react.useState.call(void 0, defaultValue);
|
|
15839
15839
|
const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
|
|
15840
|
-
const debouncedValue =
|
|
15840
|
+
const debouncedValue = _chunkQRA2JXE4cjs.useDebounce.call(void 0, currentValue, debounceMs);
|
|
15841
15841
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
15842
15842
|
const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
|
|
15843
|
-
const keyboardPadding =
|
|
15843
|
+
const keyboardPadding = _chunkBJHM2OEYcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
15844
15844
|
const containerRef = _react.useRef.call(void 0, null);
|
|
15845
15845
|
const currentPlaceholder = filterChips.length > 0 ? "Add filter..." : placeholder;
|
|
15846
15846
|
const {
|
|
@@ -15850,7 +15850,7 @@ function SearchInput({
|
|
|
15850
15850
|
textMeasureRef,
|
|
15851
15851
|
badgeRef,
|
|
15852
15852
|
inputRef
|
|
15853
|
-
} =
|
|
15853
|
+
} = _chunkBJHM2OEYcjs.useAutoLimitTags.call(void 0, {
|
|
15854
15854
|
count: filterChips.length,
|
|
15855
15855
|
limitTags,
|
|
15856
15856
|
// When chips exist, pass empty placeholder so the hook only reserves input minWidth,
|
|
@@ -15872,7 +15872,7 @@ function SearchInput({
|
|
|
15872
15872
|
document.addEventListener("mousedown", handleClick);
|
|
15873
15873
|
return () => document.removeEventListener("mousedown", handleClick);
|
|
15874
15874
|
}, [showHiddenTags]);
|
|
15875
|
-
|
|
15875
|
+
_chunkQRA2JXE4cjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
15876
15876
|
const popup = hiddenTagsPopupRef.current;
|
|
15877
15877
|
const badge = badgeRef.current;
|
|
15878
15878
|
if (!popup || !badge) return;
|
|
@@ -16045,7 +16045,7 @@ function SearchInput({
|
|
|
16045
16045
|
/* @__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, {}) }),
|
|
16046
16046
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
|
|
16047
16047
|
visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16048
|
-
|
|
16048
|
+
_chunkOD2WMUAOcjs.Tag,
|
|
16049
16049
|
{
|
|
16050
16050
|
variant: chipVariantToTagVariant(chip.variant),
|
|
16051
16051
|
label: chip.label,
|
|
@@ -16100,7 +16100,7 @@ function SearchInput({
|
|
|
16100
16100
|
onClick: handleClear,
|
|
16101
16101
|
className: "flex items-center justify-center transition-opacity hover:opacity-70",
|
|
16102
16102
|
"aria-label": "Clear search",
|
|
16103
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16103
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.XmarkCircleIcon, { className: "text-ods-text-secondary", size: 24 })
|
|
16104
16104
|
}
|
|
16105
16105
|
),
|
|
16106
16106
|
endAdornment
|
|
@@ -16161,7 +16161,7 @@ function SearchInput({
|
|
|
16161
16161
|
}
|
|
16162
16162
|
),
|
|
16163
16163
|
/* @__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,
|
|
16164
|
-
|
|
16164
|
+
_chunkOD2WMUAOcjs.Tag,
|
|
16165
16165
|
{
|
|
16166
16166
|
variant: chipVariantToTagVariant(chip.variant),
|
|
16167
16167
|
label: chip.label,
|
|
@@ -16303,7 +16303,7 @@ function TagSearchInput({
|
|
|
16303
16303
|
limitTags = "auto"
|
|
16304
16304
|
}) {
|
|
16305
16305
|
const currentPlaceholder = tags.length === 0 ? placeholder : addMorePlaceholder;
|
|
16306
|
-
const { visibleCount, middleRef, measureRef, textMeasureRef, badgeRef, inputRef } =
|
|
16306
|
+
const { visibleCount, middleRef, measureRef, textMeasureRef, badgeRef, inputRef } = _chunkBJHM2OEYcjs.useAutoLimitTags.call(void 0, {
|
|
16307
16307
|
count: tags.length,
|
|
16308
16308
|
limitTags,
|
|
16309
16309
|
placeholder: currentPlaceholder
|
|
@@ -16323,7 +16323,7 @@ function TagSearchInput({
|
|
|
16323
16323
|
document.addEventListener("mousedown", handleClick);
|
|
16324
16324
|
return () => document.removeEventListener("mousedown", handleClick);
|
|
16325
16325
|
}, [showHiddenTags]);
|
|
16326
|
-
|
|
16326
|
+
_chunkQRA2JXE4cjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
16327
16327
|
const popup = hiddenTagsPopupRef.current;
|
|
16328
16328
|
const badge = badgeRef.current;
|
|
16329
16329
|
if (!popup || !badge) return;
|
|
@@ -16374,7 +16374,7 @@ function TagSearchInput({
|
|
|
16374
16374
|
/* @__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" }) }),
|
|
16375
16375
|
/* @__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: [
|
|
16376
16376
|
visibleTags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16377
|
-
|
|
16377
|
+
_chunkOD2WMUAOcjs.Tag,
|
|
16378
16378
|
{
|
|
16379
16379
|
variant: "outline",
|
|
16380
16380
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -16428,7 +16428,7 @@ function TagSearchInput({
|
|
|
16428
16428
|
onClick: handleClearAll,
|
|
16429
16429
|
className: "flex shrink-0 cursor-pointer items-center justify-center pr-3 transition-opacity hover:opacity-70",
|
|
16430
16430
|
"aria-label": "Clear all",
|
|
16431
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16431
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.XmarkCircleIcon, { className: "size-4 text-ods-text-secondary md:size-6" })
|
|
16432
16432
|
}
|
|
16433
16433
|
)
|
|
16434
16434
|
]
|
|
@@ -16462,7 +16462,7 @@ function TagSearchInput({
|
|
|
16462
16462
|
"aria-hidden": "true",
|
|
16463
16463
|
className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
|
|
16464
16464
|
children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16465
|
-
|
|
16465
|
+
_chunkOD2WMUAOcjs.Tag,
|
|
16466
16466
|
{
|
|
16467
16467
|
variant: "outline",
|
|
16468
16468
|
label: renderTag ? renderTag(tag) : tag.label,
|
|
@@ -17037,7 +17037,7 @@ function FileUpload({
|
|
|
17037
17037
|
entry.status === "error" && "bg-ods-error/5"
|
|
17038
17038
|
),
|
|
17039
17039
|
children: [
|
|
17040
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-10 shrink-0 items-center justify-center rounded-[6px] border border-ods-border bg-ods-card", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17040
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-10 shrink-0 items-center justify-center rounded-[6px] border border-ods-border bg-ods-card", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.FileIcon, { className: "size-6 text-ods-text-secondary" }) }),
|
|
17041
17041
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
17042
17042
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-primary text-h4", title: entry.fileName, children: entry.fileName }),
|
|
17043
17043
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
@@ -17056,7 +17056,7 @@ function FileUpload({
|
|
|
17056
17056
|
onClick: () => onDownloadManagedFile(entry.id),
|
|
17057
17057
|
className: "shrink-0 text-ods-text-secondary transition-colors hover:text-ods-text-primary",
|
|
17058
17058
|
"aria-label": `Download ${entry.fileName}`,
|
|
17059
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17059
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Download02Icon, { className: "size-6" })
|
|
17060
17060
|
}
|
|
17061
17061
|
),
|
|
17062
17062
|
!disabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17066,7 +17066,7 @@ function FileUpload({
|
|
|
17066
17066
|
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _394 => _394(entry.id)]),
|
|
17067
17067
|
className: "shrink-0 text-ods-error transition-opacity hover:opacity-80",
|
|
17068
17068
|
"aria-label": `Remove ${entry.fileName}`,
|
|
17069
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17069
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.TrashIcon, { className: "size-6" })
|
|
17070
17070
|
}
|
|
17071
17071
|
)
|
|
17072
17072
|
]
|
|
@@ -17077,7 +17077,7 @@ function FileUpload({
|
|
|
17077
17077
|
{
|
|
17078
17078
|
className: "flex items-center gap-[var(--spacing-system-mf)] border-b border-ods-border px-[var(--spacing-system-mf)] py-[var(--spacing-system-sf)] last:border-b-0",
|
|
17079
17079
|
children: [
|
|
17080
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-10 shrink-0 items-center justify-center rounded-[6px] border border-ods-border bg-ods-card", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17080
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-10 shrink-0 items-center justify-center rounded-[6px] border border-ods-border bg-ods-card", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.FileIcon, { className: "size-6 text-ods-text-secondary" }) }),
|
|
17081
17081
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
17082
17082
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-primary text-h4", title: file.name, children: file.name }),
|
|
17083
17083
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: formatFileSize2(file.size) })
|
|
@@ -17089,7 +17089,7 @@ function FileUpload({
|
|
|
17089
17089
|
onClick: () => handleRemoveFile(index),
|
|
17090
17090
|
className: "shrink-0 text-ods-error transition-opacity hover:opacity-80",
|
|
17091
17091
|
"aria-label": `Remove ${file.name}`,
|
|
17092
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17092
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.TrashIcon, { className: "size-6" })
|
|
17093
17093
|
}
|
|
17094
17094
|
)
|
|
17095
17095
|
]
|
|
@@ -17117,7 +17117,7 @@ function FileUpload({
|
|
|
17117
17117
|
disabled && "cursor-not-allowed opacity-50 hover:border-ods-border"
|
|
17118
17118
|
),
|
|
17119
17119
|
children: [
|
|
17120
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center rounded-full border border-ods-border bg-ods-card p-[var(--spacing-system-sf)]", children: icon || /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17120
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center rounded-full border border-ods-border bg-ods-card p-[var(--spacing-system-sf)]", children: icon || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.ImagePlusIcon, { className: "size-6 text-ods-text-primary" }) }),
|
|
17121
17121
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
17122
17122
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: label }),
|
|
17123
17123
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: description })
|
|
@@ -17281,12 +17281,12 @@ function ImageUploader({
|
|
|
17281
17281
|
}
|
|
17282
17282
|
) }),
|
|
17283
17283
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "absolute left-1/2 top-1/2 flex -translate-x-1/2 -translate-y-1/2 items-center gap-4", children: [
|
|
17284
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionIconButton, { onClick: openDialog, disabled: !interactive, ariaLabel: "Replace image", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17285
|
-
onRemove && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionIconButton, { onClick: onRemove, disabled: !interactive, ariaLabel: "Remove image", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17284
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionIconButton, { onClick: openDialog, disabled: !interactive, ariaLabel: "Replace image", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Refresh02VrIcon, { className: "size-6" }) }),
|
|
17285
|
+
onRemove && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionIconButton, { onClick: onRemove, disabled: !interactive, ariaLabel: "Remove image", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.TrashIcon, { className: "size-6" }) })
|
|
17286
17286
|
] }),
|
|
17287
17287
|
loading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 flex items-center justify-center rounded-md bg-ods-overlay", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "size-8 animate-spin text-ods-text-on-dark" }) })
|
|
17288
17288
|
] }) : loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "size-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
17289
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center justify-center rounded-full border border-ods-border bg-ods-card p-[var(--spacing-system-s)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17289
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center justify-center rounded-full border border-ods-border bg-ods-card p-[var(--spacing-system-s)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.ImagePlusIcon, { className: "size-6 text-ods-text-primary" }) }),
|
|
17290
17290
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col items-center text-center", children: [
|
|
17291
17291
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: label }),
|
|
17292
17292
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: description }),
|
|
@@ -17336,7 +17336,7 @@ var _reactcolorful = require('react-colorful');
|
|
|
17336
17336
|
var Popover2 = PopoverPrimitive6.Root;
|
|
17337
17337
|
var PopoverTrigger = PopoverPrimitive6.Trigger;
|
|
17338
17338
|
var PopoverContent = _react.forwardRef.call(void 0, ({ className, align = "center", sideOffset = 4, collisionPadding, ...props }, ref) => {
|
|
17339
|
-
const keyboardPadding =
|
|
17339
|
+
const keyboardPadding = _chunkBJHM2OEYcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
17340
17340
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive6.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17341
17341
|
PopoverPrimitive6.Content,
|
|
17342
17342
|
{
|
|
@@ -17373,7 +17373,7 @@ var TICKET_STATUS_COLOR_PRESETS = [
|
|
|
17373
17373
|
var CUSTOM_PRESET_KEY = "custom";
|
|
17374
17374
|
var DEFAULT_CUSTOM_STATUS_COLOR = "#888888";
|
|
17375
17375
|
function TriggerChevron() {
|
|
17376
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17376
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Chevron02DownIcon, { size: 24, className: "transition-transform duration-200 group-data-[state=open]:rotate-180" });
|
|
17377
17377
|
}
|
|
17378
17378
|
function ColorPresetSelect({
|
|
17379
17379
|
value,
|
|
@@ -17393,20 +17393,20 @@ function ColorPresetSelect({
|
|
|
17393
17393
|
...presets.map((p) => ({
|
|
17394
17394
|
id: p.key,
|
|
17395
17395
|
label: p.label,
|
|
17396
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17396
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ColorSwatch, { color: p.color }),
|
|
17397
17397
|
onClick: () => onChange({ color: p.color, preset: p.key })
|
|
17398
17398
|
})),
|
|
17399
17399
|
{
|
|
17400
17400
|
id: CUSTOM_PRESET_KEY,
|
|
17401
17401
|
label: "Custom",
|
|
17402
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17402
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ColorSwatch, { color: isCustom ? value : DEFAULT_CUSTOM_STATUS_COLOR }),
|
|
17403
17403
|
onClick: () => onChange({ color: value, preset: void 0 })
|
|
17404
17404
|
}
|
|
17405
17405
|
]
|
|
17406
17406
|
}
|
|
17407
17407
|
];
|
|
17408
17408
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17409
|
-
|
|
17409
|
+
_chunkOD2WMUAOcjs.ActionsMenuDropdown,
|
|
17410
17410
|
{
|
|
17411
17411
|
groups,
|
|
17412
17412
|
align: "start",
|
|
@@ -17416,7 +17416,7 @@ function ColorPresetSelect({
|
|
|
17416
17416
|
{
|
|
17417
17417
|
disabled,
|
|
17418
17418
|
"aria-label": `Color: ${displayLabel}`,
|
|
17419
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17419
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ColorSwatch, { color: displayColor }),
|
|
17420
17420
|
selectedLabel: displayLabel,
|
|
17421
17421
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
17422
17422
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "group", className)
|
|
@@ -17437,7 +17437,7 @@ function HexInputs({ value, onChange }) {
|
|
|
17437
17437
|
}
|
|
17438
17438
|
const commit = () => {
|
|
17439
17439
|
const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
|
|
17440
|
-
if (
|
|
17440
|
+
if (_chunkOD2WMUAOcjs.HEX_PATTERN.test(candidate)) onChange(candidate);
|
|
17441
17441
|
else setDraft(value);
|
|
17442
17442
|
};
|
|
17443
17443
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17501,12 +17501,12 @@ function ChannelInput({
|
|
|
17501
17501
|
);
|
|
17502
17502
|
}
|
|
17503
17503
|
function RgbInputs({ value, onChange }) {
|
|
17504
|
-
const rgb = _nullishCoalesce(
|
|
17504
|
+
const rgb = _nullishCoalesce(_chunkOD2WMUAOcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
17505
17505
|
const update = (next) => {
|
|
17506
17506
|
const r = _nullishCoalesce(next.r, () => ( rgb.r));
|
|
17507
17507
|
const g = _nullishCoalesce(next.g, () => ( rgb.g));
|
|
17508
17508
|
const b = _nullishCoalesce(next.b, () => ( rgb.b));
|
|
17509
|
-
onChange(
|
|
17509
|
+
onChange(_chunkOD2WMUAOcjs.rgbToHex.call(void 0, r, g, b));
|
|
17510
17510
|
};
|
|
17511
17511
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
17512
17512
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
|
|
@@ -17515,14 +17515,14 @@ function RgbInputs({ value, onChange }) {
|
|
|
17515
17515
|
] });
|
|
17516
17516
|
}
|
|
17517
17517
|
function HslInputs({ value, onChange }) {
|
|
17518
|
-
const rgb = _nullishCoalesce(
|
|
17519
|
-
const hsl =
|
|
17518
|
+
const rgb = _nullishCoalesce(_chunkOD2WMUAOcjs.hexToRgb.call(void 0, value), () => ( { r: 0, g: 0, b: 0 }));
|
|
17519
|
+
const hsl = _chunkOD2WMUAOcjs.rgbToHsl.call(void 0, rgb.r, rgb.g, rgb.b);
|
|
17520
17520
|
const update = (next) => {
|
|
17521
17521
|
const h = _nullishCoalesce(next.h, () => ( hsl.h));
|
|
17522
17522
|
const s = _nullishCoalesce(next.s, () => ( hsl.s));
|
|
17523
17523
|
const l = _nullishCoalesce(next.l, () => ( hsl.l));
|
|
17524
|
-
const out =
|
|
17525
|
-
onChange(
|
|
17524
|
+
const out = _chunkOD2WMUAOcjs.hslToRgb.call(void 0, h, s, l);
|
|
17525
|
+
onChange(_chunkOD2WMUAOcjs.rgbToHex.call(void 0, out.r, out.g, out.b));
|
|
17526
17526
|
};
|
|
17527
17527
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
17528
17528
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
|
|
@@ -17548,7 +17548,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
17548
17548
|
{
|
|
17549
17549
|
disabled,
|
|
17550
17550
|
"aria-label": "Pick custom color",
|
|
17551
|
-
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17551
|
+
startIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ColorSwatch, { color: value }),
|
|
17552
17552
|
selectedLabel: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase", children: value }),
|
|
17553
17553
|
endIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TriggerChevron, {}),
|
|
17554
17554
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "group", className)
|
|
@@ -17564,7 +17564,7 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
17564
17564
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactcolorful.HexColorPicker, { color: value, onChange }),
|
|
17565
17565
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
17566
17566
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17567
|
-
|
|
17567
|
+
_chunkOD2WMUAOcjs.ActionsMenuDropdown,
|
|
17568
17568
|
{
|
|
17569
17569
|
groups: formatGroups,
|
|
17570
17570
|
align: "start",
|
|
@@ -17612,7 +17612,7 @@ function TicketStatusConfigRow({
|
|
|
17612
17612
|
isDragging,
|
|
17613
17613
|
moveButtons
|
|
17614
17614
|
}) {
|
|
17615
|
-
const dragAndDropEnabled =
|
|
17615
|
+
const dragAndDropEnabled = _chunkBJHM2OEYcjs.useDragAndDropEnabled.call(void 0, );
|
|
17616
17616
|
const nameInputId = _react.useId.call(void 0, );
|
|
17617
17617
|
const isSystem = variant === "system";
|
|
17618
17618
|
const isCustomColor = !isSystem && presetKey === void 0;
|
|
@@ -17621,7 +17621,7 @@ function TicketStatusConfigRow({
|
|
|
17621
17621
|
const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
|
|
17622
17622
|
const fieldRowOffset = "mt-[calc(var(--font-line-space-h4-body)+0.25rem)]";
|
|
17623
17623
|
const chip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17624
|
-
|
|
17624
|
+
_chunkOD2WMUAOcjs.TicketStatusTag,
|
|
17625
17625
|
{
|
|
17626
17626
|
status: statusKey,
|
|
17627
17627
|
label: name || " ",
|
|
@@ -17649,14 +17649,14 @@ function TicketStatusConfigRow({
|
|
|
17649
17649
|
"flex h-11 w-8 shrink-0 items-center justify-center text-ods-text-secondary md:h-12",
|
|
17650
17650
|
fieldRowOffset
|
|
17651
17651
|
),
|
|
17652
|
-
children: isSystem ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17652
|
+
children: isSystem ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.DraggerIcon, { size: 24, "aria-hidden": true, className: "opacity-40" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17653
17653
|
"button",
|
|
17654
17654
|
{
|
|
17655
17655
|
type: "button",
|
|
17656
17656
|
"aria-label": "Drag to reorder",
|
|
17657
17657
|
className: "flex size-6 cursor-grab items-center justify-center rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-ods-focus active:cursor-grabbing",
|
|
17658
17658
|
...dragHandleProps,
|
|
17659
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17659
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.DraggerIcon, { size: 24 })
|
|
17660
17660
|
}
|
|
17661
17661
|
)
|
|
17662
17662
|
}
|
|
@@ -17734,7 +17734,7 @@ function TicketStatusConfigRow({
|
|
|
17734
17734
|
type: "button",
|
|
17735
17735
|
"aria-label": _nullishCoalesce(systemTooltip, () => ( "System status")),
|
|
17736
17736
|
className: "flex size-6 items-center justify-center text-ods-text-secondary outline-none focus-visible:ring-2 focus-visible:ring-ods-focus",
|
|
17737
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17737
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.InfoCircleIcon, { size: 24 })
|
|
17738
17738
|
}
|
|
17739
17739
|
) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TouchFriendlyTooltip, { content: deleteDisabled ? deleteDisabledReason : void 0, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17740
17740
|
_chunkF6U2H42Lcjs.Button,
|
|
@@ -17746,7 +17746,7 @@ function TicketStatusConfigRow({
|
|
|
17746
17746
|
disabled: deleteDisabled,
|
|
17747
17747
|
onClick: deleteDisabled ? void 0 : onDelete,
|
|
17748
17748
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "size-11 md:size-12", deleteDisabled && "pointer-events-none"),
|
|
17749
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17749
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.TrashIcon, { className: "text-ods-error" })
|
|
17750
17750
|
}
|
|
17751
17751
|
) }) })
|
|
17752
17752
|
]
|
|
@@ -17773,7 +17773,7 @@ function formatTestRunDuration(ms) {
|
|
|
17773
17773
|
var RESULT_COLUMN_MIN_WIDTH = 176;
|
|
17774
17774
|
var SKELETON_COLUMNS = 6;
|
|
17775
17775
|
function TestResultsSkeleton() {
|
|
17776
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17776
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
|
|
17777
17777
|
/* @__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}`)) }),
|
|
17778
17778
|
/* @__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}`)) }) })
|
|
17779
17779
|
] }) });
|
|
@@ -17808,13 +17808,13 @@ function TestResultsTable({ rows, loading }) {
|
|
|
17808
17808
|
if (loading) {
|
|
17809
17809
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
|
|
17810
17810
|
}
|
|
17811
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17811
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.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: [
|
|
17812
17812
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
|
|
17813
17813
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
|
|
17814
17814
|
] }) }) });
|
|
17815
17815
|
}
|
|
17816
17816
|
function TestRunErrorBanner({ error, className }) {
|
|
17817
|
-
const { copy } =
|
|
17817
|
+
const { copy } = _chunkBJHM2OEYcjs.useCopyToClipboard.call(void 0, { successDescription: "Error message copied to clipboard" });
|
|
17818
17818
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
17819
17819
|
"div",
|
|
17820
17820
|
{
|
|
@@ -17834,7 +17834,7 @@ function TestRunErrorBanner({ error, className }) {
|
|
|
17834
17834
|
"aria-label": "Copy error message",
|
|
17835
17835
|
onClick: () => copy(error),
|
|
17836
17836
|
className: "shrink-0 rounded-sm text-ods-error transition-opacity hover:opacity-80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus",
|
|
17837
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17837
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Copy02Icon, { className: "size-5" })
|
|
17838
17838
|
}
|
|
17839
17839
|
)
|
|
17840
17840
|
]
|
|
@@ -17870,7 +17870,7 @@ var TEST_RUN_STATUS_TAGS = {
|
|
|
17870
17870
|
function TestRunStatusStat({ status, className }) {
|
|
17871
17871
|
const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
|
|
17872
17872
|
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: [
|
|
17873
|
-
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17873
|
+
tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.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: "-" }),
|
|
17874
17874
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: "Status" })
|
|
17875
17875
|
] });
|
|
17876
17876
|
}
|
|
@@ -17914,7 +17914,7 @@ function useTestRunState(campaign) {
|
|
|
17914
17914
|
const stopReason = _nullishCoalesce(campaign.stopReason, () => ( "completed"));
|
|
17915
17915
|
const status = isActive ? "running" : hasRun && isFinished ? stopReason === "completed" ? firstError ? "error" : "success" : stopReason : "idle";
|
|
17916
17916
|
const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
|
|
17917
|
-
const startedLabel = showTiming && campaign.startedAt ?
|
|
17917
|
+
const startedLabel = showTiming && campaign.startedAt ? _chunkOD2WMUAOcjs.formatTime.call(void 0, campaign.startedAt) : "00:00 PM";
|
|
17918
17918
|
const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
|
|
17919
17919
|
const displayRows = _react.useMemo.call(void 0,
|
|
17920
17920
|
() => campaign.results.map(
|
|
@@ -17967,7 +17967,7 @@ function TicketAttachmentsList({ attachments, className, size = "default" }) {
|
|
|
17967
17967
|
"flex shrink-0 items-center justify-center rounded-[6px] border border-ods-border bg-ods-card",
|
|
17968
17968
|
compact ? "size-8" : "size-10"
|
|
17969
17969
|
),
|
|
17970
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17970
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.FileIcon, { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "text-ods-text-secondary", compact ? "size-4" : "size-6") })
|
|
17971
17971
|
}
|
|
17972
17972
|
),
|
|
17973
17973
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1 overflow-hidden", children: [
|
|
@@ -17988,7 +17988,7 @@ function TicketAttachmentsList({ attachments, className, size = "default" }) {
|
|
|
17988
17988
|
onClick: attachment.onDelete,
|
|
17989
17989
|
className: "shrink-0 text-ods-text-secondary transition-colors hover:text-ods-error",
|
|
17990
17990
|
"aria-label": `Delete ${attachment.fileName}`,
|
|
17991
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17991
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.TrashIcon, { className: compact ? "size-4" : "size-5" })
|
|
17992
17992
|
}
|
|
17993
17993
|
),
|
|
17994
17994
|
attachment.onDownload && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -17998,7 +17998,7 @@ function TicketAttachmentsList({ attachments, className, size = "default" }) {
|
|
|
17998
17998
|
onClick: attachment.onDownload,
|
|
17999
17999
|
className: "shrink-0 text-ods-text-secondary transition-colors hover:text-ods-text-primary",
|
|
18000
18000
|
"aria-label": `Download ${attachment.fileName}`,
|
|
18001
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18001
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Download02Icon, { className: compact ? "size-4" : "size-6" })
|
|
18002
18002
|
}
|
|
18003
18003
|
)
|
|
18004
18004
|
]
|
|
@@ -18066,7 +18066,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
|
|
|
18066
18066
|
disabled: !editText.trim(),
|
|
18067
18067
|
className: "shrink-0 text-ods-success transition-colors hover:text-ods-success/80 disabled:opacity-50",
|
|
18068
18068
|
"aria-label": "Save note",
|
|
18069
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18069
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.CheckIcon, { className: "size-5" })
|
|
18070
18070
|
}
|
|
18071
18071
|
),
|
|
18072
18072
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18076,7 +18076,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
|
|
|
18076
18076
|
onClick: handleCancel,
|
|
18077
18077
|
className: "shrink-0 text-ods-text-secondary transition-colors hover:text-ods-text-primary",
|
|
18078
18078
|
"aria-label": "Cancel editing",
|
|
18079
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18079
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.XmarkIcon, { className: "size-5" })
|
|
18080
18080
|
}
|
|
18081
18081
|
)
|
|
18082
18082
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -18095,7 +18095,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
|
|
|
18095
18095
|
onClick: () => onDelete(note.id),
|
|
18096
18096
|
className: "text-ods-text-secondary transition-colors hover:text-ods-error",
|
|
18097
18097
|
"aria-label": "Delete note",
|
|
18098
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18098
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.TrashIcon, { className: "size-6" })
|
|
18099
18099
|
}
|
|
18100
18100
|
),
|
|
18101
18101
|
onEdit && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18105,7 +18105,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
|
|
|
18105
18105
|
onClick: () => setIsEditing(true),
|
|
18106
18106
|
className: "text-ods-text-secondary transition-colors hover:text-ods-text-primary",
|
|
18107
18107
|
"aria-label": "Edit note",
|
|
18108
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18108
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.PenEditIcon, { className: "size-6" })
|
|
18109
18109
|
}
|
|
18110
18110
|
)
|
|
18111
18111
|
] })
|
|
@@ -18161,7 +18161,7 @@ function TicketNotesSection({
|
|
|
18161
18161
|
"disabled:cursor-not-allowed disabled:opacity-50"
|
|
18162
18162
|
),
|
|
18163
18163
|
"aria-label": "Send note",
|
|
18164
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18164
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Send03Icon, { className: "size-6 text-ods-text-secondary" })
|
|
18165
18165
|
}
|
|
18166
18166
|
)
|
|
18167
18167
|
] })
|
|
@@ -18244,7 +18244,7 @@ function TicketInfoSection({
|
|
|
18244
18244
|
}
|
|
18245
18245
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0", children: [
|
|
18246
18246
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1 text-ods-text-secondary text-h4", children: [
|
|
18247
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18247
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.UserIcon, { className: "size-4 shrink-0" }),
|
|
18248
18248
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: "Unassigned" })
|
|
18249
18249
|
] }),
|
|
18250
18250
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "block truncate text-ods-text-secondary text-h6", children: "Assigned" })
|
|
@@ -18252,7 +18252,7 @@ function TicketInfoSection({
|
|
|
18252
18252
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: _optionalChain([device, 'optionalAccess', _411 => _411.name]) || "Unassigned", label: "Device", icon: _optionalChain([device, 'optionalAccess', _412 => _412.icon]), onClick: _optionalChain([device, 'optionalAccess', _413 => _413.onClick]) }),
|
|
18253
18253
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-4", children: [
|
|
18254
18254
|
(status || statusLabel) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18255
|
-
|
|
18255
|
+
_chunkOD2WMUAOcjs.TicketStatusTag,
|
|
18256
18256
|
{
|
|
18257
18257
|
status: _nullishCoalesce(status, () => ( "")),
|
|
18258
18258
|
label: statusLabel,
|
|
@@ -18276,7 +18276,7 @@ function TicketInfoSection({
|
|
|
18276
18276
|
),
|
|
18277
18277
|
"aria-label": expanded ? "Collapse" : "Expand",
|
|
18278
18278
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18279
|
-
|
|
18279
|
+
_chunk6TNOVWO3cjs.Chevron02DownIcon,
|
|
18280
18280
|
{
|
|
18281
18281
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
18282
18282
|
"size-6 text-ods-text-primary transition-transform duration-200",
|
|
@@ -18291,9 +18291,9 @@ function TicketInfoSection({
|
|
|
18291
18291
|
expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
18292
18292
|
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" }) }),
|
|
18293
18293
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
|
|
18294
|
-
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18294
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.SimpleMarkdownRenderer, { content: description }),
|
|
18295
18295
|
attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
|
|
18296
|
-
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,
|
|
18296
|
+
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, _chunkOD2WMUAOcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
|
|
18297
18297
|
(notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18298
18298
|
TicketNotesSection,
|
|
18299
18299
|
{
|
|
@@ -18316,10 +18316,10 @@ function renderTicketStatusOption(option, isSelected) {
|
|
|
18316
18316
|
const { label, color } = option;
|
|
18317
18317
|
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: [
|
|
18318
18318
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
|
|
18319
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18319
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ColorSwatch, { color }),
|
|
18320
18320
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
|
|
18321
18321
|
] }),
|
|
18322
|
-
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18322
|
+
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
18323
18323
|
] });
|
|
18324
18324
|
}
|
|
18325
18325
|
function renderTicketAssigneeOption(option, isSelected) {
|
|
@@ -18329,7 +18329,7 @@ function renderTicketAssigneeOption(option, isSelected) {
|
|
|
18329
18329
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQNWQQ4RTcjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "round" }),
|
|
18330
18330
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TruncateText, { className: "text-inherit", children: label }) })
|
|
18331
18331
|
] }),
|
|
18332
|
-
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18332
|
+
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
18333
18333
|
] });
|
|
18334
18334
|
}
|
|
18335
18335
|
function TakeOverTicketModal({
|
|
@@ -18361,9 +18361,9 @@ function TakeOverTicketModal({
|
|
|
18361
18361
|
if (!selectedStatusId || !assigneeId || isPending) return;
|
|
18362
18362
|
onConfirm({ statusId: selectedStatusId, assigneeId });
|
|
18363
18363
|
};
|
|
18364
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18364
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOD2WMUAOcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
18365
18365
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
18366
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18366
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ModalTitle, { children: "Take Over Ticket" }) }),
|
|
18367
18367
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
18368
18368
|
"The ticket ",
|
|
18369
18369
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -18378,7 +18378,7 @@ function TakeOverTicketModal({
|
|
|
18378
18378
|
value: selectedStatusId,
|
|
18379
18379
|
onChange: setStatusId,
|
|
18380
18380
|
placeholder: "Select Status",
|
|
18381
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18381
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
18382
18382
|
renderOption: renderTicketStatusOption
|
|
18383
18383
|
}
|
|
18384
18384
|
) }),
|
|
@@ -18405,7 +18405,7 @@ function TakeOverTicketModal({
|
|
|
18405
18405
|
}
|
|
18406
18406
|
) })
|
|
18407
18407
|
] }),
|
|
18408
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18408
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOD2WMUAOcjs.ModalFooter, { children: [
|
|
18409
18409
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
18410
18410
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
18411
18411
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18464,9 +18464,9 @@ function ReopenTicketModal({
|
|
|
18464
18464
|
reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH) : null
|
|
18465
18465
|
});
|
|
18466
18466
|
};
|
|
18467
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18467
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOD2WMUAOcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
18468
18468
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
18469
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18469
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
18470
18470
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
18471
18471
|
"The ticket ",
|
|
18472
18472
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: ticketRef }),
|
|
@@ -18481,7 +18481,7 @@ function ReopenTicketModal({
|
|
|
18481
18481
|
value: selectedStatusId,
|
|
18482
18482
|
onChange: setStatusId,
|
|
18483
18483
|
placeholder: "Select Status",
|
|
18484
|
-
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18484
|
+
startAdornment: selectedStatus ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ColorSwatch, { color: selectedStatus.color }) : void 0,
|
|
18485
18485
|
renderOption: renderTicketStatusOption
|
|
18486
18486
|
}
|
|
18487
18487
|
) }),
|
|
@@ -18519,7 +18519,7 @@ function ReopenTicketModal({
|
|
|
18519
18519
|
disabled: isPending
|
|
18520
18520
|
}
|
|
18521
18521
|
) }),
|
|
18522
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18522
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOD2WMUAOcjs.ModalFooter, { children: [
|
|
18523
18523
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
|
|
18524
18524
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
|
|
18525
18525
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18568,9 +18568,9 @@ function ReopenTicketRequestModal({
|
|
|
18568
18568
|
...showHandoffOption ? { handoffToTechnician: handoff } : {}
|
|
18569
18569
|
});
|
|
18570
18570
|
};
|
|
18571
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18571
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOD2WMUAOcjs.Modal, { isOpen, onClose: isPending ? () => {
|
|
18572
18572
|
} : onClose, className: "text-left md:max-w-[600px]", children: [
|
|
18573
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18573
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ModalTitle, { children: "Reopen Ticket" }) }),
|
|
18574
18574
|
/* @__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." }),
|
|
18575
18575
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18576
18576
|
Textarea,
|
|
@@ -18594,7 +18594,7 @@ function ReopenTicketRequestModal({
|
|
|
18594
18594
|
disabled: isPending
|
|
18595
18595
|
}
|
|
18596
18596
|
),
|
|
18597
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18597
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOD2WMUAOcjs.ModalFooter, { children: [
|
|
18598
18598
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
|
|
18599
18599
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
|
|
18600
18600
|
] })
|
|
@@ -18640,9 +18640,9 @@ function LazyMount({
|
|
|
18640
18640
|
placeholder = null,
|
|
18641
18641
|
className,
|
|
18642
18642
|
style,
|
|
18643
|
-
rootMargin =
|
|
18643
|
+
rootMargin = _chunkQRA2JXE4cjs.NEAR_VIEWPORT_ROOT_MARGIN
|
|
18644
18644
|
}) {
|
|
18645
|
-
const { ref, isNear } =
|
|
18645
|
+
const { ref, isNear } = _chunkQRA2JXE4cjs.useNearViewport.call(void 0, rootMargin);
|
|
18646
18646
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className, style, children: isNear ? children : placeholder });
|
|
18647
18647
|
}
|
|
18648
18648
|
|
|
@@ -18855,10 +18855,10 @@ function AccountDetailsFields({
|
|
|
18855
18855
|
onKeyDown,
|
|
18856
18856
|
layout = "stacked"
|
|
18857
18857
|
}) {
|
|
18858
|
-
const firstNameErr =
|
|
18859
|
-
const lastNameErr =
|
|
18860
|
-
const passwordErr =
|
|
18861
|
-
const confirmErr =
|
|
18858
|
+
const firstNameErr = _chunkBJHM2OEYcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _418 => _418.firstName]), firstName);
|
|
18859
|
+
const lastNameErr = _chunkBJHM2OEYcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _419 => _419.lastName]), lastName);
|
|
18860
|
+
const passwordErr = _chunkBJHM2OEYcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _420 => _420.password]), password);
|
|
18861
|
+
const confirmErr = _chunkBJHM2OEYcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _421 => _421.confirmPassword]), confirmPassword);
|
|
18862
18862
|
const names = [
|
|
18863
18863
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18864
18864
|
_chunkKWX65373cjs.Input,
|
|
@@ -18936,10 +18936,10 @@ function AccountDetailsFields({
|
|
|
18936
18936
|
var DEFAULT_TITLE = "The All-in-One Open Platform for MSPs";
|
|
18937
18937
|
var DEFAULT_DESCRIPTION = "All your core ops in one place - built for MSPs who are done duct-taping tools together. Unified stack, AI-ready, no vendor tax. Just solid software that lets you run lean and fast.";
|
|
18938
18938
|
var DEFAULT_BENEFITS = [
|
|
18939
|
-
{ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18940
|
-
{ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18941
|
-
{ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18942
|
-
{ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18939
|
+
{ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.CreditCardXmarkIcon, {}), label: "No card required" },
|
|
18940
|
+
{ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.XmarkAltIcon, {}), label: "Cancel Anytime" },
|
|
18941
|
+
{ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.FlaskVialIcon, {}), label: "14 day free trial" },
|
|
18942
|
+
{ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.FileOffIcon, {}), label: "No Contract" }
|
|
18943
18943
|
];
|
|
18944
18944
|
function AuthBenefitsPanel({
|
|
18945
18945
|
title = DEFAULT_TITLE,
|
|
@@ -19004,7 +19004,7 @@ function OpenFrameWordmark() {
|
|
|
19004
19004
|
function PoweredByFlamingo({ compact = false }) {
|
|
19005
19005
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)] text-ods-text-secondary", children: [
|
|
19006
19006
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6", children: "Powered by" }),
|
|
19007
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19007
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.FlamingoLogoIcon, { className: compact ? "h-4 w-14" : "h-4 w-14 md:h-6 md:w-[83px]" })
|
|
19008
19008
|
] });
|
|
19009
19009
|
}
|
|
19010
19010
|
|
|
@@ -19093,9 +19093,9 @@ var PROVIDER_META = {
|
|
|
19093
19093
|
}
|
|
19094
19094
|
)
|
|
19095
19095
|
},
|
|
19096
|
-
google: { name: "Google", Icon:
|
|
19097
|
-
microsoft: { name: "Microsoft", Icon:
|
|
19098
|
-
apple: { name: "Apple", Icon:
|
|
19096
|
+
google: { name: "Google", Icon: _chunk6TNOVWO3cjs.GoogleLogoIcon },
|
|
19097
|
+
microsoft: { name: "Microsoft", Icon: _chunk6TNOVWO3cjs.MicrosoftLogoIcon },
|
|
19098
|
+
apple: { name: "Apple", Icon: _chunk6TNOVWO3cjs.AppleLogoIcon }
|
|
19099
19099
|
};
|
|
19100
19100
|
function SsoProviderButtons({
|
|
19101
19101
|
providers,
|
|
@@ -19298,9 +19298,9 @@ function CreateOrganizationForm({
|
|
|
19298
19298
|
}) {
|
|
19299
19299
|
const hasSso = !!ssoProviders && ssoProviders.length > 0;
|
|
19300
19300
|
const fieldsDisabled = disabled || loading;
|
|
19301
|
-
const emailErr =
|
|
19302
|
-
const orgNameErr =
|
|
19303
|
-
const domainErr =
|
|
19301
|
+
const emailErr = _chunkBJHM2OEYcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _423 => _423.email]), _nullishCoalesce(email, () => ( "")));
|
|
19302
|
+
const orgNameErr = _chunkBJHM2OEYcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _424 => _424.organizationName]), organizationName);
|
|
19303
|
+
const domainErr = _chunkBJHM2OEYcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _425 => _425.domain]), domain);
|
|
19304
19304
|
const handleKeyDown = (event) => {
|
|
19305
19305
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19306
19306
|
onSubmit();
|
|
@@ -19464,7 +19464,7 @@ function InviteLinkInvalidModal({
|
|
|
19464
19464
|
"aria-label": "Close",
|
|
19465
19465
|
onClick: _nullishCoalesce(onClose, () => ( onBackToLogin)),
|
|
19466
19466
|
className: "hidden shrink-0 text-ods-text-primary md:block",
|
|
19467
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19467
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.XmarkIcon, { className: "h-6 w-6" })
|
|
19468
19468
|
}
|
|
19469
19469
|
)
|
|
19470
19470
|
] }),
|
|
@@ -19516,7 +19516,7 @@ function LoginForm({
|
|
|
19516
19516
|
className
|
|
19517
19517
|
}) {
|
|
19518
19518
|
const fieldDisabled = disabled || loading;
|
|
19519
|
-
const emailErr =
|
|
19519
|
+
const emailErr = _chunkBJHM2OEYcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _432 => _432.email]), email);
|
|
19520
19520
|
const handleKeyDown = (event) => {
|
|
19521
19521
|
if (event.key !== "Enter" || fieldDisabled || submitDisabled) return;
|
|
19522
19522
|
_optionalChain([onSubmitClick, 'optionalCall', _433 => _433()]);
|
|
@@ -19577,7 +19577,7 @@ function LoginForm({
|
|
|
19577
19577
|
role: "status",
|
|
19578
19578
|
className: "flex min-h-11 w-full items-center gap-[var(--spacing-system-m)] rounded-md bg-ods-bg-surface px-[var(--spacing-system-s)] py-[var(--spacing-system-s)] text-ods-text-secondary text-h3 md:min-h-12",
|
|
19579
19579
|
children: [
|
|
19580
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19580
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.AlertTriangleIcon, { className: "h-6 w-6 shrink-0" }),
|
|
19581
19581
|
noCustomSsoLabel
|
|
19582
19582
|
]
|
|
19583
19583
|
}
|
|
@@ -19658,8 +19658,8 @@ function OpenFrameSsoLoginForm({
|
|
|
19658
19658
|
className
|
|
19659
19659
|
}) {
|
|
19660
19660
|
const fieldsDisabled = disabled || loading;
|
|
19661
|
-
const emailErr =
|
|
19662
|
-
const passwordErr =
|
|
19661
|
+
const emailErr = _chunkBJHM2OEYcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _436 => _436.email]), email);
|
|
19662
|
+
const passwordErr = _chunkBJHM2OEYcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _437 => _437.password]), password);
|
|
19663
19663
|
const handleKeyDown = (event) => {
|
|
19664
19664
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19665
19665
|
onSubmit();
|
|
@@ -19764,7 +19764,7 @@ function OpenFrameSsoSignUpForm({
|
|
|
19764
19764
|
className
|
|
19765
19765
|
}) {
|
|
19766
19766
|
const fieldsDisabled = disabled || loading;
|
|
19767
|
-
const emailErr =
|
|
19767
|
+
const emailErr = _chunkBJHM2OEYcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _438 => _438.email]), email);
|
|
19768
19768
|
const handleKeyDown = (event) => {
|
|
19769
19769
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19770
19770
|
onSubmit();
|
|
@@ -19869,8 +19869,8 @@ function PasswordResetForm({
|
|
|
19869
19869
|
className
|
|
19870
19870
|
}) {
|
|
19871
19871
|
const fieldsDisabled = disabled || loading;
|
|
19872
|
-
const passwordErr =
|
|
19873
|
-
const confirmErr =
|
|
19872
|
+
const passwordErr = _chunkBJHM2OEYcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _439 => _439.password]), password);
|
|
19873
|
+
const confirmErr = _chunkBJHM2OEYcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _440 => _440.confirmPassword]), confirmPassword);
|
|
19874
19874
|
const handleKeyDown = (event) => {
|
|
19875
19875
|
if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
|
|
19876
19876
|
onSubmit();
|
|
@@ -20021,7 +20021,7 @@ function SsoJoinForm({
|
|
|
20021
20021
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", children: displayName }),
|
|
20022
20022
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: organizationName })
|
|
20023
20023
|
] }),
|
|
20024
|
-
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,
|
|
20024
|
+
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, _chunkOD2WMUAOcjs.Tag, { variant: "grey", label: role }, role)) })
|
|
20025
20025
|
] }),
|
|
20026
20026
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20027
20027
|
CheckboxBlock,
|
|
@@ -20477,7 +20477,7 @@ function CommandBox({
|
|
|
20477
20477
|
onClick: onCopy,
|
|
20478
20478
|
"aria-label": copyAriaLabel,
|
|
20479
20479
|
className: "shrink-0 rounded-md text-ods-text-secondary transition-colors hover:text-ods-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus",
|
|
20480
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20480
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Copy02Icon, { className: "h-5 w-5" })
|
|
20481
20481
|
}
|
|
20482
20482
|
)
|
|
20483
20483
|
] }) : commandText,
|
|
@@ -20958,7 +20958,7 @@ function UnifiedUI({ state, handlers, config, iframeRef }) {
|
|
|
20958
20958
|
sandbox: "allow-scripts allow-same-origin allow-popups allow-presentation",
|
|
20959
20959
|
title: config.title,
|
|
20960
20960
|
loading: "eager",
|
|
20961
|
-
...
|
|
20961
|
+
..._chunkOD2WMUAOcjs.fetchPriorityProp.call(void 0, "high")
|
|
20962
20962
|
},
|
|
20963
20963
|
iframeKey
|
|
20964
20964
|
),
|
|
@@ -21384,7 +21384,7 @@ var FiltersDropdown = ({
|
|
|
21384
21384
|
window.addEventListener("resize", calculateOptimalPlacement);
|
|
21385
21385
|
return () => window.removeEventListener("resize", calculateOptimalPlacement);
|
|
21386
21386
|
}, [isOpen, isMobile, placement]);
|
|
21387
|
-
|
|
21387
|
+
_chunkQRA2JXE4cjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
21388
21388
|
const dropdown = dropdownRef.current;
|
|
21389
21389
|
if (!dropdown) return;
|
|
21390
21390
|
if (!isMobile) {
|
|
@@ -21810,7 +21810,7 @@ function MediaGalleryManager({
|
|
|
21810
21810
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: _chunkQNWQQ4RTcjs.isVideoMedia.call(void 0, mediaItem) || mediaItem.media_type === "demo" ? (
|
|
21811
21811
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
21812
21812
|
// fit="cover" crops to the aspect-video cell.
|
|
21813
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21813
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.Video, { kind: "file", url: mediaItem.media_url, fit: "cover", className: "h-full w-full" })
|
|
21814
21814
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21815
21815
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
21816
21816
|
{
|
|
@@ -22197,7 +22197,7 @@ function PathsDisplay({
|
|
|
22197
22197
|
onClick: () => onCopyPath(path),
|
|
22198
22198
|
"aria-label": `Copy ${path}`,
|
|
22199
22199
|
className: "shrink-0 rounded-md text-ods-text-secondary transition-colors hover:text-ods-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus",
|
|
22200
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22200
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Copy02Icon, { className: copyIconSize })
|
|
22201
22201
|
}
|
|
22202
22202
|
)
|
|
22203
22203
|
] }, path)) })
|
|
@@ -22259,7 +22259,7 @@ function PlatformFilterComponent({
|
|
|
22259
22259
|
variant: selectedPlatform === platform.value ? "accent" : "outline",
|
|
22260
22260
|
size,
|
|
22261
22261
|
onClick: () => onPlatformChange(platform.value),
|
|
22262
|
-
leftIcon: showIcons ?
|
|
22262
|
+
leftIcon: showIcons ? _chunkBJHM2OEYcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
|
|
22263
22263
|
className: "text-h3",
|
|
22264
22264
|
children: platform.label
|
|
22265
22265
|
},
|
|
@@ -22309,60 +22309,60 @@ function CardSkeleton({
|
|
|
22309
22309
|
function VendorCardContent({ showMetadata }) {
|
|
22310
22310
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-3 p-4", children: [
|
|
22311
22311
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start gap-3", children: [
|
|
22312
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[60px] w-[60px] flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22312
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[60px] w-[60px] flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Avatar, { size: "sm", className: "h-11 w-11" }) }),
|
|
22313
22313
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center space-y-1 py-2", children: [
|
|
22314
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22315
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22314
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
22315
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-1/2" })
|
|
22316
22316
|
] })
|
|
22317
22317
|
] }),
|
|
22318
22318
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-full items-center overflow-hidden", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
|
|
22319
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22320
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22319
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
22320
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
22321
22321
|
] }) }),
|
|
22322
22322
|
showMetadata && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-2", children: [
|
|
22323
22323
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-shrink items-center gap-3 md:gap-4", children: [
|
|
22324
22324
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
22325
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22326
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22325
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
22326
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-8" })
|
|
22327
22327
|
] }),
|
|
22328
22328
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
22329
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22330
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22329
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
22330
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-10" })
|
|
22331
22331
|
] })
|
|
22332
22332
|
] }),
|
|
22333
22333
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5 rounded border border-ods-border bg-ods-bg px-2.5 py-1.5", children: [
|
|
22334
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22335
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22334
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Icon, { size: "sm", className: "h-2.5 w-2.5" }) }),
|
|
22335
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-16" })
|
|
22336
22336
|
] }) })
|
|
22337
22337
|
] })
|
|
22338
22338
|
] });
|
|
22339
22339
|
}
|
|
22340
22340
|
function BlogCardContent({ showActions, showMetadata }) {
|
|
22341
22341
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
22342
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "blog-card-image-container relative aspect-[1200/630] w-full overflow-hidden bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22342
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "blog-card-image-container relative aspect-[1200/630] w-full overflow-hidden bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.CardImage, {}) }),
|
|
22343
22343
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-grow flex-col p-4", children: [
|
|
22344
22344
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 flex min-h-[50.4px] items-center md:min-h-[56px] lg:min-h-[61.6px]", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
|
|
22345
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22346
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22345
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Subheading, { className: "w-full" }),
|
|
22346
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Subheading, { className: "w-3/4" })
|
|
22347
22347
|
] }) }),
|
|
22348
22348
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-3 flex h-[28px] items-center gap-2", children: [
|
|
22349
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22350
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22349
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Chip, { className: "w-16" }),
|
|
22350
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Chip, { className: "w-12" })
|
|
22351
22351
|
] }),
|
|
22352
22352
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-3 flex min-h-[42px] items-center md:min-h-[45px] lg:min-h-[48px]", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
|
|
22353
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22354
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22353
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
22354
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-1/2" })
|
|
22355
22355
|
] }) }),
|
|
22356
|
-
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22356
|
+
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Button, { className: "h-8 w-24" }) }),
|
|
22357
22357
|
showMetadata && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-auto", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-4 border-t border-ods-border pt-4", children: [
|
|
22358
22358
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
|
|
22359
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22360
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22359
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Avatar, { size: "sm" }),
|
|
22360
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-16" })
|
|
22361
22361
|
] }),
|
|
22362
22362
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-3 text-ods-text-muted", children: [
|
|
22363
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22363
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-12" }),
|
|
22364
22364
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-1 w-1 rounded-full bg-ods-skeleton" }),
|
|
22365
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22365
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-16" })
|
|
22366
22366
|
] })
|
|
22367
22367
|
] }) })
|
|
22368
22368
|
] })
|
|
@@ -22370,35 +22370,35 @@ function BlogCardContent({ showActions, showMetadata }) {
|
|
|
22370
22370
|
}
|
|
22371
22371
|
function CategoryCardContent() {
|
|
22372
22372
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4 p-4 md:p-6", children: [
|
|
22373
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-2 md:gap-3", children: Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22373
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-2 md:gap-3", children: Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Icon, { size: "lg", className: "flex-shrink-0" }, index)) }),
|
|
22374
22374
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
22375
22375
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
22376
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22377
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22376
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
22377
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-1/2" })
|
|
22378
22378
|
] }),
|
|
22379
22379
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between gap-4 md:items-end md:gap-6", children: [
|
|
22380
22380
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
22381
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22382
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22381
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
22382
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
22383
22383
|
] }),
|
|
22384
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22384
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Button, { className: "h-10 w-10 flex-shrink-0 md:h-12 md:w-12" })
|
|
22385
22385
|
] })
|
|
22386
22386
|
] })
|
|
22387
22387
|
] });
|
|
22388
22388
|
}
|
|
22389
22389
|
function AlternativeCardContent({ showActions }) {
|
|
22390
22390
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-4 p-4", children: [
|
|
22391
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22391
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Avatar, { size: "md", className: "flex-shrink-0" }),
|
|
22392
22392
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
22393
22393
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between", children: [
|
|
22394
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22395
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22394
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Subheading, { className: "w-1/3" }),
|
|
22395
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-16" })
|
|
22396
22396
|
] }),
|
|
22397
22397
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
22398
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22399
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22398
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
22399
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-5/6" })
|
|
22400
22400
|
] }),
|
|
22401
|
-
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22401
|
+
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Button, { className: "h-8 w-20" }) })
|
|
22402
22402
|
] })
|
|
22403
22403
|
] });
|
|
22404
22404
|
}
|
|
@@ -22449,12 +22449,12 @@ function HeroSkeleton() {
|
|
|
22449
22449
|
background: "radial-gradient(circle at 50% 0%, #242323 0%, #1A1A1A 100%)"
|
|
22450
22450
|
},
|
|
22451
22451
|
children: [
|
|
22452
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22452
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Heading, { className: "mb-4 h-12 w-full max-w-4xl md:mb-6 md:h-20 lg:h-24" }),
|
|
22453
22453
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-8 w-full max-w-4xl space-y-3 px-2 md:mb-10", children: [
|
|
22454
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22455
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22454
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "h-5 md:h-7" }),
|
|
22455
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "mx-auto h-5 w-3/4 md:h-7" })
|
|
22456
22456
|
] }),
|
|
22457
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22457
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Button, { className: "h-12 w-full md:w-64" })
|
|
22458
22458
|
]
|
|
22459
22459
|
}
|
|
22460
22460
|
);
|
|
@@ -22465,14 +22465,14 @@ function SearchContainerSkeleton({
|
|
|
22465
22465
|
}) {
|
|
22466
22466
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-4", className || ""), children: [
|
|
22467
22467
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2 md:gap-4", children: [
|
|
22468
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22469
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22468
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Input, { className: "flex-1" }),
|
|
22469
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Button, { className: "w-32 md:w-40" })
|
|
22470
22470
|
] }),
|
|
22471
22471
|
showFilters && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap gap-2", children: [
|
|
22472
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22473
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22474
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22475
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22472
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Chip, {}),
|
|
22473
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Chip, { className: "w-24" }),
|
|
22474
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Chip, { className: "w-16" }),
|
|
22475
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Chip, { className: "w-20" })
|
|
22476
22476
|
] })
|
|
22477
22477
|
] });
|
|
22478
22478
|
}
|
|
@@ -22491,7 +22491,7 @@ function CategorySidebarSkeleton({ className }) {
|
|
|
22491
22491
|
{ type: "file", width: "w-36" }
|
|
22492
22492
|
];
|
|
22493
22493
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "w-full lg:w-[320px]", className), children: [
|
|
22494
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22494
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { className: "mb-4 h-[14px] w-24 rounded" }),
|
|
22495
22495
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-1.5", children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22496
22496
|
"div",
|
|
22497
22497
|
{
|
|
@@ -22501,12 +22501,12 @@ function CategorySidebarSkeleton({ className }) {
|
|
|
22501
22501
|
),
|
|
22502
22502
|
children: [
|
|
22503
22503
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2.5", children: [
|
|
22504
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22505
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22504
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { className: "h-4 w-4 shrink-0 rounded" }),
|
|
22505
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { className: `h-[14px] ${item.width} rounded` })
|
|
22506
22506
|
] }),
|
|
22507
22507
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-[18px] items-center gap-2", children: [
|
|
22508
|
-
item.hasBadge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22509
|
-
item.type === "folder" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22508
|
+
item.hasBadge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { className: "h-[18px] w-14 rounded" }),
|
|
22509
|
+
item.type === "folder" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { className: "h-4 w-4 rounded" })
|
|
22510
22510
|
] })
|
|
22511
22511
|
]
|
|
22512
22512
|
},
|
|
@@ -22516,17 +22516,17 @@ function CategorySidebarSkeleton({ className }) {
|
|
|
22516
22516
|
}
|
|
22517
22517
|
function BreadcrumbSkeleton({ className }) {
|
|
22518
22518
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "mb-6 flex items-center space-x-1", className), children: [
|
|
22519
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22520
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22521
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22522
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22523
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22524
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22525
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22519
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-16" }),
|
|
22520
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
|
|
22521
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-24" }),
|
|
22522
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
|
|
22523
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-32" }),
|
|
22524
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4 rounded-full" }),
|
|
22525
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-24" })
|
|
22526
22526
|
] });
|
|
22527
22527
|
}
|
|
22528
22528
|
function ResultsHeaderSkeleton({ className }) {
|
|
22529
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "mb-6 flex flex-col items-start justify-between gap-4 md:flex-row md:items-center", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22529
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "mb-6 flex flex-col items-start justify-between gap-4 md:flex-row md:items-center", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-48" }) }) });
|
|
22530
22530
|
}
|
|
22531
22531
|
function TwoColumnLayoutSkeleton({
|
|
22532
22532
|
className,
|
|
@@ -22558,35 +22558,35 @@ function ArticleLayoutSkeleton({ className }) {
|
|
|
22558
22558
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "article", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "mx-auto max-w-4xl", className), children: [
|
|
22559
22559
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "header", { className: "mb-8 space-y-4 md:mb-12 md:space-y-6", children: [
|
|
22560
22560
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2", children: [
|
|
22561
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22562
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22561
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Chip, {}),
|
|
22562
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Chip, { className: "w-16" })
|
|
22563
22563
|
] }),
|
|
22564
22564
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
|
|
22565
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22566
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22565
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Heading, { className: "w-full" }),
|
|
22566
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Heading, { className: "w-3/4" })
|
|
22567
22567
|
] }),
|
|
22568
22568
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 border-t border-ods-divider pt-4", children: [
|
|
22569
22569
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
22570
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22571
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22570
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Avatar, { size: "sm" }),
|
|
22571
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-24" })
|
|
22572
22572
|
] }),
|
|
22573
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22574
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22573
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-20" }),
|
|
22574
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-16" })
|
|
22575
22575
|
] })
|
|
22576
22576
|
] }),
|
|
22577
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 md:mb-12", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22577
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 md:mb-12", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.CardImage, { className: "h-64 w-full md:h-96" }) }),
|
|
22578
22578
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "prose prose-invert max-w-none space-y-6", children: [
|
|
22579
22579
|
Array.from({ length: 12 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
22580
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22581
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22582
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22583
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22580
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
22581
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
22582
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-5/6" }),
|
|
22583
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
22584
22584
|
] }, index)),
|
|
22585
22585
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "py-4", children: [
|
|
22586
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22586
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Subheading, { className: "mb-4 w-2/3" }),
|
|
22587
22587
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
22588
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22589
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22588
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
22589
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-4/5" })
|
|
22590
22590
|
] })
|
|
22591
22591
|
] })
|
|
22592
22592
|
] })
|
|
@@ -22812,11 +22812,11 @@ function StatsSectionSkeleton({ className, columns = 3 }) {
|
|
|
22812
22812
|
className
|
|
22813
22813
|
),
|
|
22814
22814
|
children: Array.from({ length: columns }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-ods-border bg-ods-card p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
22815
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22816
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22815
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Icon, { size: "lg" }),
|
|
22816
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
22817
22817
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
22818
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22819
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22818
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
22819
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
22820
22820
|
] })
|
|
22821
22821
|
] }) }, i))
|
|
22822
22822
|
}
|
|
@@ -22957,7 +22957,7 @@ function useContentLoading(isLoading) {
|
|
|
22957
22957
|
|
|
22958
22958
|
function ParagraphSkeleton({ className, lines = 4 }) {
|
|
22959
22959
|
const lineWidths = ["w-full", "w-full", "w-5/6", "w-3/4", "w-4/5", "w-2/3"];
|
|
22960
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-2", className), children: Array.from({ length: lines }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22960
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-2", className), children: Array.from({ length: lines }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: lineWidths[index % lineWidths.length] }, index)) });
|
|
22961
22961
|
}
|
|
22962
22962
|
function ListSkeleton({
|
|
22963
22963
|
className,
|
|
@@ -22967,12 +22967,12 @@ function ListSkeleton({
|
|
|
22967
22967
|
}) {
|
|
22968
22968
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-3", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between", children: [
|
|
22969
22969
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
22970
|
-
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22971
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22970
|
+
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
22971
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-32 md:w-48" })
|
|
22972
22972
|
] }),
|
|
22973
22973
|
showActions && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
22974
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22975
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22974
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-8" }),
|
|
22975
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { variant: "default", className: "h-4 w-4" })
|
|
22976
22976
|
] })
|
|
22977
22977
|
] }, index)) });
|
|
22978
22978
|
}
|
|
@@ -22982,13 +22982,13 @@ function TableSkeleton({
|
|
|
22982
22982
|
columns = 4
|
|
22983
22983
|
}) {
|
|
22984
22984
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-4", className), children: [
|
|
22985
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid gap-4", style: { gridTemplateColumns: `repeat(${columns}, 1fr)` }, children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22985
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid gap-4", style: { gridTemplateColumns: `repeat(${columns}, 1fr)` }, children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Subheading, { className: "w-3/4" }, index)) }),
|
|
22986
22986
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3", children: Array.from({ length: rows }).map((_, rowIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22987
22987
|
"div",
|
|
22988
22988
|
{
|
|
22989
22989
|
className: "grid gap-4 border-b border-ods-divider py-2",
|
|
22990
22990
|
style: { gridTemplateColumns: `repeat(${columns}, 1fr)` },
|
|
22991
|
-
children: Array.from({ length: columns }).map((_cell, colIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22991
|
+
children: Array.from({ length: columns }).map((_cell, colIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-2/3" }, colIndex))
|
|
22992
22992
|
},
|
|
22993
22993
|
rowIndex
|
|
22994
22994
|
)) })
|
|
@@ -22997,13 +22997,13 @@ function TableSkeleton({
|
|
|
22997
22997
|
function FormSkeleton({ className, fields = 4 }) {
|
|
22998
22998
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-6", className), children: [
|
|
22999
22999
|
Array.from({ length: fields }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23000
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23001
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23002
|
-
index % 3 === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23000
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-24" }),
|
|
23001
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Input, {}),
|
|
23002
|
+
index % 3 === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-48" })
|
|
23003
23003
|
] }, index)),
|
|
23004
23004
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-4 pt-4", children: [
|
|
23005
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23006
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23005
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Button, {}),
|
|
23006
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Button, { className: "bg-ods-border" })
|
|
23007
23007
|
] })
|
|
23008
23008
|
] });
|
|
23009
23009
|
}
|
|
@@ -23018,7 +23018,7 @@ function NavigationSkeleton({
|
|
|
23018
23018
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex gap-4 md:gap-6", !horizontal && "flex-col", className),
|
|
23019
23019
|
role: "status",
|
|
23020
23020
|
"aria-label": "Loading navigation",
|
|
23021
|
-
children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23021
|
+
children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-16 md:w-20" }, index))
|
|
23022
23022
|
}
|
|
23023
23023
|
);
|
|
23024
23024
|
}
|
|
@@ -23029,30 +23029,30 @@ function ProfileSkeleton({
|
|
|
23029
23029
|
}) {
|
|
23030
23030
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-4", className), children: [
|
|
23031
23031
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-4", children: [
|
|
23032
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23032
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Avatar, { size: "lg" }),
|
|
23033
23033
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
23034
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23035
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23036
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23034
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Subheading, { className: "w-1/2" }),
|
|
23035
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-1/3" }),
|
|
23036
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
23037
23037
|
] })
|
|
23038
23038
|
] }),
|
|
23039
23039
|
showBio && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23040
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23041
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23042
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23040
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
23041
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-4/5" }),
|
|
23042
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
23043
23043
|
] }),
|
|
23044
23044
|
showStats && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-6", children: [
|
|
23045
23045
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
|
|
23046
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23047
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23046
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Subheading, { className: "mx-auto w-8" }),
|
|
23047
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "mx-auto w-12" })
|
|
23048
23048
|
] }),
|
|
23049
23049
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
|
|
23050
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23051
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23050
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Subheading, { className: "mx-auto w-8" }),
|
|
23051
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "mx-auto w-16" })
|
|
23052
23052
|
] }),
|
|
23053
23053
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
|
|
23054
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23055
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23054
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Subheading, { className: "mx-auto w-8" }),
|
|
23055
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "mx-auto w-14" })
|
|
23056
23056
|
] })
|
|
23057
23057
|
] })
|
|
23058
23058
|
] });
|
|
@@ -23064,32 +23064,32 @@ function CommentSkeleton({
|
|
|
23064
23064
|
}) {
|
|
23065
23065
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-3", className), children: [
|
|
23066
23066
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
23067
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23067
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Avatar, { size: "sm" }),
|
|
23068
23068
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 items-center gap-4", children: [
|
|
23069
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23070
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23071
|
-
showRating && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-1", children: Array.from({ length: 5 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23069
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-24" }),
|
|
23070
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-16" }),
|
|
23071
|
+
showRating && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-1", children: Array.from({ length: 5 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Icon, { size: "sm" }, i)) })
|
|
23072
23072
|
] })
|
|
23073
23073
|
] }),
|
|
23074
23074
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ml-11 space-y-2", children: [
|
|
23075
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23076
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23077
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23075
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
23076
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-3/4" }),
|
|
23077
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-1/2" })
|
|
23078
23078
|
] }),
|
|
23079
23079
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ml-11 flex gap-4", children: [
|
|
23080
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23081
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23082
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23080
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-12" }),
|
|
23081
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-16" }),
|
|
23082
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-8" })
|
|
23083
23083
|
] }),
|
|
23084
23084
|
showReplies && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "ml-11 space-y-4 border-l border-ods-divider pl-4", children: Array.from({ length: 2 }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23085
23085
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
23086
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23087
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23088
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23086
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Avatar, { size: "sm" }),
|
|
23087
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-20" }),
|
|
23088
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-12" })
|
|
23089
23089
|
] }),
|
|
23090
23090
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ml-11", children: [
|
|
23091
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23092
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23091
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
23092
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
23093
23093
|
] })
|
|
23094
23094
|
] }, index)) })
|
|
23095
23095
|
] });
|
|
@@ -23102,31 +23102,31 @@ function FeatureListSkeleton({
|
|
|
23102
23102
|
}) {
|
|
23103
23103
|
if (grouped) {
|
|
23104
23104
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-6", className), children: Array.from({ length: 3 }).map((_, groupIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
|
|
23105
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23105
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Subheading, { className: "w-1/3" }),
|
|
23106
23106
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-2", children: Array.from({ length: features / 3 }).map((_feature, featureIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
23107
|
-
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23108
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23107
|
+
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
23108
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
23109
23109
|
] }, featureIndex)) })
|
|
23110
23110
|
] }, groupIndex)) });
|
|
23111
23111
|
}
|
|
23112
23112
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-3", className), children: Array.from({ length: features }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
23113
|
-
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23114
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23113
|
+
showIcons && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
23114
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
23115
23115
|
] }, index)) });
|
|
23116
23116
|
}
|
|
23117
23117
|
function TimelineSkeleton({ className, items = 5 }) {
|
|
23118
23118
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-6", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-4", children: [
|
|
23119
23119
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center", children: [
|
|
23120
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23120
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
23121
23121
|
index < items - 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2 h-12 w-px bg-ods-border" })
|
|
23122
23122
|
] }),
|
|
23123
23123
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 space-y-2", children: [
|
|
23124
23124
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
23125
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23126
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23125
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-1/3" }),
|
|
23126
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-16" })
|
|
23127
23127
|
] }),
|
|
23128
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23129
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23128
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
23129
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
23130
23130
|
] })
|
|
23131
23131
|
] }, index)) });
|
|
23132
23132
|
}
|
|
@@ -23142,16 +23142,16 @@ function PricingSkeleton({ className, plans = 3 }) {
|
|
|
23142
23142
|
className
|
|
23143
23143
|
),
|
|
23144
23144
|
children: Array.from({ length: plans }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-ods-border bg-ods-card p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
23145
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23145
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Subheading, { className: "w-1/2" }),
|
|
23146
23146
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1", children: [
|
|
23147
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23148
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23147
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Heading, { className: "w-1/3" }),
|
|
23148
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-1/4" })
|
|
23149
23149
|
] }),
|
|
23150
23150
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3 py-4", children: Array.from({ length: 5 }).map((_feature, featureIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
23151
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23152
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23151
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Icon, { size: "sm" }),
|
|
23152
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
23153
23153
|
] }, featureIndex)) }),
|
|
23154
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23154
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Button, { className: "w-full" })
|
|
23155
23155
|
] }) }, index))
|
|
23156
23156
|
}
|
|
23157
23157
|
);
|
|
@@ -23187,12 +23187,12 @@ function MspProfileFormSkeleton({ className, fields = 4 }) {
|
|
|
23187
23187
|
"aria-label": "Loading MSP profile form",
|
|
23188
23188
|
children: [
|
|
23189
23189
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col space-y-2", children: [
|
|
23190
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23191
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[180px] flex-1 md:min-h-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23190
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-28" }),
|
|
23191
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[180px] flex-1 md:min-h-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { className: "h-full w-full rounded-lg", "aria-label": "Loading company logo" }) })
|
|
23192
23192
|
] }),
|
|
23193
23193
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: Array.from({ length: fields }).map((_, idx) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col space-y-2", children: [
|
|
23194
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23195
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23194
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-40" }),
|
|
23195
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.InteractiveSkeleton.Input, {})
|
|
23196
23196
|
] }, idx)) })
|
|
23197
23197
|
]
|
|
23198
23198
|
}
|
|
@@ -23212,13 +23212,13 @@ function CategoryCardSkeleton({ className }) {
|
|
|
23212
23212
|
role: "status",
|
|
23213
23213
|
"aria-label": "Loading category card",
|
|
23214
23214
|
children: [
|
|
23215
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 flex items-center justify-center gap-6", children: Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23215
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-8 flex items-center justify-center gap-6", children: Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { variant: "circular", className: "h-10 w-10 flex-shrink-0", "aria-label": "Loading icon" }, i)) }),
|
|
23216
23216
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col space-y-3", children: [
|
|
23217
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23218
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23219
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23217
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Heading, { className: "w-3/4" }),
|
|
23218
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-1/2" }),
|
|
23219
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-full" })
|
|
23220
23220
|
] }),
|
|
23221
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23221
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { className: "h-12 w-12 rounded-[6px]", "aria-label": "Loading button" }) })
|
|
23222
23222
|
]
|
|
23223
23223
|
}
|
|
23224
23224
|
);
|
|
@@ -23235,12 +23235,12 @@ function CategoryVendorSelectorSkeleton({ subcategories = 3, className }) {
|
|
|
23235
23235
|
"aria-label": "Loading category section",
|
|
23236
23236
|
children: [
|
|
23237
23237
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-6 max-w-xl space-y-2", children: [
|
|
23238
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23239
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23238
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Heading, { className: "w-1/2" }),
|
|
23239
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-3/4" })
|
|
23240
23240
|
] }),
|
|
23241
23241
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-6", children: Array.from({ length: subcategories }).map((_, idx) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
23242
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23243
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-2 gap-4 md:grid-cols-3", children: Array.from({ length: 2 }).map((__, j) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23242
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Subheading, { className: "w-1/3" }),
|
|
23243
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-2 gap-4 md:grid-cols-3", children: Array.from({ length: 2 }).map((__, j) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { className: "h-20 rounded-lg" }, j)) })
|
|
23244
23244
|
] }, idx)) })
|
|
23245
23245
|
]
|
|
23246
23246
|
}
|
|
@@ -23251,14 +23251,14 @@ function CategoryVendorSelectorSkeleton({ subcategories = 3, className }) {
|
|
|
23251
23251
|
|
|
23252
23252
|
function WizardLayoutSkeleton({ steps = 6, className }) {
|
|
23253
23253
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "space-y-6", className), role: "status", "aria-label": "Loading wizard layout", children: [
|
|
23254
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: Array.from({ length: steps }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23254
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: Array.from({ length: steps }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { className: "h-6 w-24 rounded" }, i)) }),
|
|
23255
23255
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "max-w-2xl space-y-2", children: [
|
|
23256
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23257
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23256
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Heading, { className: "w-2/3" }),
|
|
23257
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-1/2" })
|
|
23258
23258
|
] }),
|
|
23259
23259
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mt-10 flex justify-between", children: [
|
|
23260
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23261
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23260
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { className: "h-10 w-24 rounded" }),
|
|
23261
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { className: "h-10 w-32 rounded" })
|
|
23262
23262
|
] })
|
|
23263
23263
|
] });
|
|
23264
23264
|
}
|
|
@@ -23650,28 +23650,28 @@ function OrganizationCardSkeleton({
|
|
|
23650
23650
|
}
|
|
23651
23651
|
),
|
|
23652
23652
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center space-y-1 py-2", children: [
|
|
23653
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23654
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23653
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
23654
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-1/2" })
|
|
23655
23655
|
] })
|
|
23656
23656
|
] }),
|
|
23657
23657
|
showDescription && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-full items-center overflow-hidden", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
|
|
23658
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23659
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23658
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-full" }),
|
|
23659
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Body, { className: "w-2/3" })
|
|
23660
23660
|
] }) }),
|
|
23661
23661
|
showFooter && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-2", children: [
|
|
23662
23662
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-shrink items-center gap-3 md:gap-4", children: [
|
|
23663
23663
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
23664
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23665
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23664
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
23665
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-8" })
|
|
23666
23666
|
] }),
|
|
23667
23667
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-shrink-0 items-center gap-1", children: [
|
|
23668
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23669
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23668
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Icon, { size: "sm", className: "h-5 w-5" }),
|
|
23669
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-10" })
|
|
23670
23670
|
] })
|
|
23671
23671
|
] }),
|
|
23672
23672
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5 rounded border border-ods-border bg-ods-bg px-2.5 py-1.5", children: [
|
|
23673
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23674
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23673
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.MediaSkeleton.Icon, { size: "sm", className: "h-2.5 w-2.5" }) }),
|
|
23674
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TextSkeleton.Caption, { className: "w-16" })
|
|
23675
23675
|
] }) })
|
|
23676
23676
|
] })
|
|
23677
23677
|
] })
|
|
@@ -23748,16 +23748,16 @@ function DeviceCardSkeletonGrid({ count = 12, className }) {
|
|
|
23748
23748
|
|
|
23749
23749
|
function PushButtonSelectorSkeleton({ count = 3, hasTitle }) {
|
|
23750
23750
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", role: "status", "aria-label": "Loading options", children: [
|
|
23751
|
-
hasTitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23751
|
+
hasTitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { className: "h-5 w-20", "aria-label": "Loading title" }),
|
|
23752
23752
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-3", children: Array.from({ length: count }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-ods-border bg-ods-bg p-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-4", children: [
|
|
23753
23753
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
23754
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23754
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { className: "h-8 w-8", "aria-label": "Loading icon" }),
|
|
23755
23755
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
|
|
23756
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23757
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23756
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { variant: "text", className: "mb-2 h-4 w-24", "aria-label": "Loading name" }),
|
|
23757
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { variant: "text", className: "h-4 w-36", "aria-label": "Loading description" })
|
|
23758
23758
|
] })
|
|
23759
23759
|
] }),
|
|
23760
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23760
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.UnifiedSkeleton, { className: "h-6 w-6", "aria-label": "Loading selection state" })
|
|
23761
23761
|
] }) }, i)) })
|
|
23762
23762
|
] });
|
|
23763
23763
|
}
|
|
@@ -23879,9 +23879,9 @@ function PushButtonSelector({
|
|
|
23879
23879
|
option.id
|
|
23880
23880
|
);
|
|
23881
23881
|
if (option.disabled && option.disabledReason) {
|
|
23882
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23883
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23884
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23882
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOD2WMUAOcjs.Tooltip, { children: [
|
|
23883
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TooltipTrigger, { asChild: true, children: optionEl }),
|
|
23884
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TooltipContent, { className: "max-w-xs", children: option.disabledReason })
|
|
23885
23885
|
] }, option.id);
|
|
23886
23886
|
}
|
|
23887
23887
|
return optionEl;
|
|
@@ -23926,7 +23926,7 @@ function PushButtonSelector({
|
|
|
23926
23926
|
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
|
|
23927
23927
|
] }) : null
|
|
23928
23928
|
] });
|
|
23929
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23929
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 ${className}`, children: [
|
|
23930
23930
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h5", children: title }),
|
|
23931
23931
|
searchInput,
|
|
23932
23932
|
lazyLoad ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -24099,7 +24099,7 @@ function ReleaseMediaManager({ media, onChange, onUpload, className = "" }) {
|
|
|
24099
24099
|
item.media_url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video bg-ods-bg", children: _chunkQNWQQ4RTcjs.isVideoMedia.call(void 0, item) || item.media_type === "demo" ? (
|
|
24100
24100
|
// <Video> SSOT (MuxPlayer) — plays Mux HLS + MP4 alike;
|
|
24101
24101
|
// fit="cover" crops to the aspect-video cell.
|
|
24102
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24102
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
|
|
24103
24103
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24104
24104
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
24105
24105
|
{
|
|
@@ -24232,8 +24232,8 @@ var SelectButton = _react2.default.forwardRef(
|
|
|
24232
24232
|
}
|
|
24233
24233
|
)
|
|
24234
24234
|
] }),
|
|
24235
|
-
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24236
|
-
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24235
|
+
tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.Tag, { variant: tagVariant, className: "shrink-0", label: tag }),
|
|
24236
|
+
selected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.CheckCircleIcon, { className: "size-4 shrink-0 text-ods-accent md:size-6" })
|
|
24237
24237
|
]
|
|
24238
24238
|
}
|
|
24239
24239
|
);
|
|
@@ -24344,7 +24344,7 @@ function SEOEditorPreview({
|
|
|
24344
24344
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 lg:grid-cols-2", children: [
|
|
24345
24345
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
24346
24346
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24347
|
-
|
|
24347
|
+
_chunkOD2WMUAOcjs.Field,
|
|
24348
24348
|
{
|
|
24349
24349
|
label: "SEO Title",
|
|
24350
24350
|
error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${SEO_TITLE_MAX_LENGTH})` : null,
|
|
@@ -24384,7 +24384,7 @@ function SEOEditorPreview({
|
|
|
24384
24384
|
!seoTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-accent text-h6", children: "Auto-populated from title" })
|
|
24385
24385
|
] }),
|
|
24386
24386
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24387
|
-
|
|
24387
|
+
_chunkOD2WMUAOcjs.Field,
|
|
24388
24388
|
{
|
|
24389
24389
|
label: "SEO Keywords",
|
|
24390
24390
|
labelExtras: aiConfidenceSeoKeywords !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -24416,7 +24416,7 @@ function SEOEditorPreview({
|
|
|
24416
24416
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 lg:grid-cols-2", children: [
|
|
24417
24417
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
|
|
24418
24418
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24419
|
-
|
|
24419
|
+
_chunkOD2WMUAOcjs.Field,
|
|
24420
24420
|
{
|
|
24421
24421
|
label: "SEO Description",
|
|
24422
24422
|
error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${SEO_DESCRIPTION_MAX_LENGTH})` : null,
|
|
@@ -25094,7 +25094,7 @@ function VideoBitesDisplay({
|
|
|
25094
25094
|
filterPublished = true,
|
|
25095
25095
|
showTitle = true
|
|
25096
25096
|
}) {
|
|
25097
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25097
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
|
|
25098
25098
|
}
|
|
25099
25099
|
|
|
25100
25100
|
// src/components/features/walkthrough-video.tsx
|
|
@@ -25164,7 +25164,7 @@ function WalkthroughVideo({
|
|
|
25164
25164
|
if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
|
|
25165
25165
|
};
|
|
25166
25166
|
}, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId]);
|
|
25167
|
-
const hydrated =
|
|
25167
|
+
const hydrated = _chunkOD2WMUAOcjs.useIsHydrated.call(void 0, );
|
|
25168
25168
|
const previewSuppressed = _react.useMemo.call(void 0, () => {
|
|
25169
25169
|
if (!hydrated) return false;
|
|
25170
25170
|
try {
|
|
@@ -25563,7 +25563,7 @@ function WalkthroughVideo({
|
|
|
25563
25563
|
},
|
|
25564
25564
|
children: [
|
|
25565
25565
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25566
|
-
|
|
25566
|
+
_chunkOD2WMUAOcjs.VideoHoverPreviewSurface,
|
|
25567
25567
|
{
|
|
25568
25568
|
url: video.mainVideoUrl || "",
|
|
25569
25569
|
posterUrl: video.posterUrl,
|
|
@@ -25586,7 +25586,7 @@ function WalkthroughVideo({
|
|
|
25586
25586
|
`card-${embedUrlKey}`
|
|
25587
25587
|
) }),
|
|
25588
25588
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25589
|
-
|
|
25589
|
+
_chunkOD2WMUAOcjs.CardHitLayer,
|
|
25590
25590
|
{
|
|
25591
25591
|
label: video.title ? `${label}: ${video.title}` : label,
|
|
25592
25592
|
onPointerDown: pausePreviewNow,
|
|
@@ -25595,7 +25595,7 @@ function WalkthroughVideo({
|
|
|
25595
25595
|
}
|
|
25596
25596
|
),
|
|
25597
25597
|
/* @__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: [
|
|
25598
|
-
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQNWQQ4RTcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25598
|
+
presenterAvatarSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQNWQQ4RTcjs.SquareAvatar, { src: presenterAvatarSrc, alt: "", sizePx: 20, variant: "round", className: "shrink-0 border-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.VideoPlayBadge, { size: "sm", className: "h-5 w-5 shrink-0" }),
|
|
25599
25599
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: summaryTitle || label })
|
|
25600
25600
|
] }),
|
|
25601
25601
|
showBigUnmute && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -25608,7 +25608,7 @@ function WalkthroughVideo({
|
|
|
25608
25608
|
onPointerDown: (e) => e.stopPropagation(),
|
|
25609
25609
|
onClick: onUnmuteOrPlay,
|
|
25610
25610
|
className: "absolute inset-0 z-30 m-auto hidden sm:inline-flex",
|
|
25611
|
-
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25611
|
+
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.VideoPlayBadge, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.VideoUnmuteGlyph, {})
|
|
25612
25612
|
}
|
|
25613
25613
|
),
|
|
25614
25614
|
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: [
|
|
@@ -25622,7 +25622,7 @@ function WalkthroughVideo({
|
|
|
25622
25622
|
onPointerDown: (e) => e.stopPropagation(),
|
|
25623
25623
|
onClick: onToggleMute,
|
|
25624
25624
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, showBigUnmute && !controlIsPlay && "sm:hidden"),
|
|
25625
|
-
children: cardMuted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25625
|
+
children: cardMuted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.VolumeXmarkIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.VolumeUpIcon, {})
|
|
25626
25626
|
}
|
|
25627
25627
|
),
|
|
25628
25628
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -25634,7 +25634,7 @@ function WalkthroughVideo({
|
|
|
25634
25634
|
title: controlIsPlay ? "Play" : "Pause",
|
|
25635
25635
|
onPointerDown: (e) => e.stopPropagation(),
|
|
25636
25636
|
onClick: onTogglePlay,
|
|
25637
|
-
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25637
|
+
children: controlIsPlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.PlayIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.PauseIcon, {})
|
|
25638
25638
|
}
|
|
25639
25639
|
)
|
|
25640
25640
|
] }),
|
|
@@ -25647,7 +25647,7 @@ function WalkthroughVideo({
|
|
|
25647
25647
|
onPointerDown: pausePreviewNow,
|
|
25648
25648
|
onClick: dismiss,
|
|
25649
25649
|
className: "absolute right-[var(--spacing-system-xsf)] top-[var(--spacing-system-xsf)] z-40",
|
|
25650
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25650
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.XmarkIcon, {})
|
|
25651
25651
|
}
|
|
25652
25652
|
)
|
|
25653
25653
|
]
|
|
@@ -25701,7 +25701,7 @@ function WalkthroughVideo({
|
|
|
25701
25701
|
children: [
|
|
25702
25702
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
|
|
25703
25703
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25704
|
-
|
|
25704
|
+
_chunkOD2WMUAOcjs.Video,
|
|
25705
25705
|
{
|
|
25706
25706
|
kind: video.youtubeUrl ? "youtube" : "file",
|
|
25707
25707
|
url: video.youtubeUrl || video.mainVideoUrl,
|
|
@@ -25732,7 +25732,7 @@ function WalkthroughVideo({
|
|
|
25732
25732
|
size: "icon-sm",
|
|
25733
25733
|
"aria-label": "Close",
|
|
25734
25734
|
className: "absolute right-[var(--spacing-system-sf)] top-[var(--spacing-system-sf)] z-10",
|
|
25735
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25735
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.XmarkIcon, {})
|
|
25736
25736
|
}
|
|
25737
25737
|
) })
|
|
25738
25738
|
]
|
|
@@ -25752,7 +25752,7 @@ function InlineWalkthroughVideo(props) {
|
|
|
25752
25752
|
var _reactquery = require('@tanstack/react-query');
|
|
25753
25753
|
function useWalkthroughVideo(opts) {
|
|
25754
25754
|
const { endpoint, initialData, enabled = true, transformCaptionsUrl } = opts;
|
|
25755
|
-
const captions =
|
|
25755
|
+
const captions = _chunkOD2WMUAOcjs.useCaptions.call(void 0, );
|
|
25756
25756
|
const query = _reactquery.useQuery.call(void 0, {
|
|
25757
25757
|
queryKey: ["walkthrough-video", endpoint],
|
|
25758
25758
|
enabled,
|
|
@@ -25950,7 +25950,7 @@ function VideoSourceSelector({
|
|
|
25950
25950
|
}
|
|
25951
25951
|
function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
|
|
25952
25952
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
|
|
25953
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25953
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.Video, { kind: "file", url: videoUrl }) }),
|
|
25954
25954
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25955
25955
|
"button",
|
|
25956
25956
|
{
|
|
@@ -25985,7 +25985,7 @@ function SubtitlesEditor({
|
|
|
25985
25985
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
25986
25986
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKWX65373cjs.Label, { htmlFor: id, children: label }),
|
|
25987
25987
|
isAIGenerated && subtitles && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
|
|
25988
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25988
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.StandardCcIcon, { size: 12 }),
|
|
25989
25989
|
"AI Generated"
|
|
25990
25990
|
] })
|
|
25991
25991
|
] }),
|
|
@@ -26474,7 +26474,7 @@ function HighlightVideoSection({
|
|
|
26474
26474
|
// Default simple preview — the <Video> SSOT (MuxPlayer) plays
|
|
26475
26475
|
// MP4 and Mux HLS alike; aspect-video box reserves the height.
|
|
26476
26476
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
|
|
26477
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26477
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
|
|
26478
26478
|
onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26479
26479
|
"button",
|
|
26480
26480
|
{
|
|
@@ -26501,7 +26501,7 @@ function HighlightConfigSection({
|
|
|
26501
26501
|
disabled = false,
|
|
26502
26502
|
className = ""
|
|
26503
26503
|
}) {
|
|
26504
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `space-y-3 rounded-lg border border-ods-border bg-ods-card p-4 ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26504
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `space-y-3 rounded-lg border border-ods-border bg-ods-card p-4 ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.Field, { label: "Target Duration", children: (f) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26505
26505
|
Select,
|
|
26506
26506
|
{
|
|
26507
26507
|
value: targetDurationSeconds.toString(),
|
|
@@ -27188,7 +27188,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
|
27188
27188
|
if (level) onPermissionChange(categoryId, policy.id, level);
|
|
27189
27189
|
};
|
|
27190
27190
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start 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 md:items-center", children: [
|
|
27191
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-md border border-ods-border bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27191
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-md border border-ods-border bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRA2JXE4cjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
|
|
27192
27192
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
27193
27193
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-primary text-h4", title: policy.name, children: policy.name }),
|
|
27194
27194
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "break-all text-ods-text-secondary text-h6", children: policy.commandPattern }),
|
|
@@ -27214,7 +27214,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
|
27214
27214
|
] });
|
|
27215
27215
|
};
|
|
27216
27216
|
var CategorySection = ({ category, editMode, isExpanded, bulkLevel, onToggle, onBulkLevelChange, onPolicyPermissionChange }) => {
|
|
27217
|
-
const { innerRef, containerStyle } =
|
|
27217
|
+
const { innerRef, containerStyle } = _chunkOD2WMUAOcjs.useCollapsible.call(void 0, { expanded: isExpanded, durationMs: 300 });
|
|
27218
27218
|
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
27219
27219
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
27220
27220
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -27380,13 +27380,13 @@ function WaitlistForm({
|
|
|
27380
27380
|
const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
|
|
27381
27381
|
const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
|
|
27382
27382
|
const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
|
|
27383
|
-
const { toast } =
|
|
27384
|
-
const { honeypotInputProps, getSignals, resetSignals } =
|
|
27383
|
+
const { toast } = _chunkBJHM2OEYcjs.useToast.call(void 0, );
|
|
27384
|
+
const { honeypotInputProps, getSignals, resetSignals } = _chunkBJHM2OEYcjs.useHumanitySignals.call(void 0, );
|
|
27385
27385
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
27386
|
-
const isClient =
|
|
27386
|
+
const isClient = _chunkOD2WMUAOcjs.useIsHydrated.call(void 0, );
|
|
27387
27387
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
27388
27388
|
const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
|
|
27389
|
-
const rescue =
|
|
27389
|
+
const rescue = _chunkBJHM2OEYcjs.useFormRescue.call(void 0, {
|
|
27390
27390
|
form: rescueForm,
|
|
27391
27391
|
// The phone is reported as filled only; its value never leaves the form early.
|
|
27392
27392
|
fieldNames: ["email", "phone"],
|
|
@@ -27944,7 +27944,7 @@ function useContainedResizableSize({
|
|
|
27944
27944
|
const clampToContainer = _react.useCallback.call(void 0,
|
|
27945
27945
|
(value) => {
|
|
27946
27946
|
const effectiveMax = available > 0 ? Math.min(maxSize, available - 40) : maxSize;
|
|
27947
|
-
return
|
|
27947
|
+
return _chunkQRA2JXE4cjs.clamp.call(void 0, value, minSize, Math.max(minSize, effectiveMax));
|
|
27948
27948
|
},
|
|
27949
27949
|
[available, minSize, maxSize]
|
|
27950
27950
|
);
|
|
@@ -28176,7 +28176,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
28176
28176
|
"data-state": open ? "open" : "closed",
|
|
28177
28177
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
28178
28178
|
"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",
|
|
28179
|
-
|
|
28179
|
+
_chunkOD2WMUAOcjs.OVERLAY_BACKDROP_CLASS,
|
|
28180
28180
|
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
28181
28181
|
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
28182
28182
|
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
@@ -28252,11 +28252,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
|
|
|
28252
28252
|
}
|
|
28253
28253
|
);
|
|
28254
28254
|
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
28255
|
-
var AppLayoutDrawerHeader =
|
|
28256
|
-
var AppLayoutDrawerTitle =
|
|
28257
|
-
var AppLayoutDrawerDescription =
|
|
28258
|
-
var AppLayoutDrawerBody =
|
|
28259
|
-
var AppLayoutDrawerFooter =
|
|
28255
|
+
var AppLayoutDrawerHeader = _chunkOD2WMUAOcjs.DrawerHeader;
|
|
28256
|
+
var AppLayoutDrawerTitle = _chunkOD2WMUAOcjs.DrawerTitle;
|
|
28257
|
+
var AppLayoutDrawerDescription = _chunkOD2WMUAOcjs.DrawerDescription;
|
|
28258
|
+
var AppLayoutDrawerBody = _chunkOD2WMUAOcjs.DrawerBody;
|
|
28259
|
+
var AppLayoutDrawerFooter = _chunkOD2WMUAOcjs.DrawerFooter;
|
|
28260
28260
|
|
|
28261
28261
|
// src/components/features/notifications/notification-tile.tsx
|
|
28262
28262
|
|
|
@@ -28343,20 +28343,20 @@ function NotificationTile({
|
|
|
28343
28343
|
height: 16,
|
|
28344
28344
|
unoptimized: true
|
|
28345
28345
|
}
|
|
28346
|
-
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "size-1.5 rounded-full",
|
|
28346
|
+
) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkBJHM2OEYcjs.dotColorByVariant[accentVariant]) }))) }),
|
|
28347
28347
|
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" }),
|
|
28348
|
-
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children:
|
|
28348
|
+
!isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "time", { dateTime: createdAtIso, className: "shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkOD2WMUAOcjs.formatTicketRelativeTime.call(void 0, createdAtIso) }) : null,
|
|
28349
28349
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
|
|
28350
28350
|
{
|
|
28351
28351
|
active: isLive,
|
|
28352
28352
|
label: "Dismiss notification",
|
|
28353
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28353
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.XmarkIcon, { size: 16 }),
|
|
28354
28354
|
onClick: () => _optionalChain([onSettle, 'optionalCall', _600 => _600(id)])
|
|
28355
28355
|
},
|
|
28356
28356
|
{
|
|
28357
28357
|
active: !isLive,
|
|
28358
28358
|
label: "Mark notification complete",
|
|
28359
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28359
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.CheckCircleIcon, { size: 16 }),
|
|
28360
28360
|
onClick: () => onComplete(id)
|
|
28361
28361
|
}
|
|
28362
28362
|
].map(({ active, label, icon: actionIcon, onClick }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -28400,7 +28400,7 @@ function NotificationTile({
|
|
|
28400
28400
|
"div",
|
|
28401
28401
|
{
|
|
28402
28402
|
"aria-hidden": true,
|
|
28403
|
-
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "absolute inset-x-0 -bottom-px h-1 origin-left",
|
|
28403
|
+
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "absolute inset-x-0 -bottom-px h-1 origin-left", _chunkBJHM2OEYcjs.progressColorByVariant[accentVariant]),
|
|
28404
28404
|
style: {
|
|
28405
28405
|
animation: `toast-progress ${liveDurationMs}ms linear forwards`,
|
|
28406
28406
|
animationDelay: `-${initialElapsed}ms`
|
|
@@ -28452,7 +28452,7 @@ function NotificationDrawer({
|
|
|
28452
28452
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
28453
28453
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
28454
28454
|
/* @__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,
|
|
28455
|
-
|
|
28455
|
+
_chunkOD2WMUAOcjs.DrawerTitle,
|
|
28456
28456
|
{
|
|
28457
28457
|
hideClose: true,
|
|
28458
28458
|
className: "truncate",
|
|
@@ -28511,8 +28511,8 @@ function NotificationDrawer({
|
|
|
28511
28511
|
}
|
|
28512
28512
|
) });
|
|
28513
28513
|
}
|
|
28514
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28515
|
-
|
|
28514
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28515
|
+
_chunkOD2WMUAOcjs.DrawerContent,
|
|
28516
28516
|
{
|
|
28517
28517
|
side: "right",
|
|
28518
28518
|
"aria-describedby": void 0,
|
|
@@ -28603,7 +28603,7 @@ function DrawerLoadingTiles() {
|
|
|
28603
28603
|
}
|
|
28604
28604
|
function EmptyState() {
|
|
28605
28605
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col items-center justify-center gap-[var(--spacing-system-xs)] py-[var(--spacing-system-l)]", children: [
|
|
28606
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28606
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.BellOffIcon, { size: 24, className: "text-ods-text-secondary" }),
|
|
28607
28607
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: "No new notifications" })
|
|
28608
28608
|
] });
|
|
28609
28609
|
}
|
|
@@ -28617,7 +28617,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
|
|
|
28617
28617
|
] });
|
|
28618
28618
|
}
|
|
28619
28619
|
function DesktopNotificationsToggleRow({ checked, onChange }) {
|
|
28620
|
-
const { supported, permission, request } =
|
|
28620
|
+
const { supported, permission, request } = _chunkBJHM2OEYcjs.useNotificationPermission.call(void 0, );
|
|
28621
28621
|
if (!supported) return null;
|
|
28622
28622
|
const blocked = permission === "denied";
|
|
28623
28623
|
const handleChange = async (value) => {
|
|
@@ -28651,10 +28651,10 @@ function NotificationsHistoryButton({ onClick, historyHref }) {
|
|
|
28651
28651
|
fullWidth: true,
|
|
28652
28652
|
onClick,
|
|
28653
28653
|
mainDisabled: !onClick,
|
|
28654
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28654
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.ClockHistoryIcon, { className: "text-ods-text-secondary" }),
|
|
28655
28655
|
groupAriaLabel: "Notifications history",
|
|
28656
28656
|
iconAction: {
|
|
28657
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28657
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.ArrowRightUpIcon, { className: "text-ods-text-secondary" }),
|
|
28658
28658
|
"aria-label": "Open notifications history in a new tab",
|
|
28659
28659
|
href: historyHref,
|
|
28660
28660
|
openInNewTab: true,
|
|
@@ -28795,13 +28795,13 @@ function getApprovalMeta(notification) {
|
|
|
28795
28795
|
function resolutionToStatus(resolution) {
|
|
28796
28796
|
switch (typeof resolution === "string" ? resolution.toUpperCase() : void 0) {
|
|
28797
28797
|
case "APPROVED":
|
|
28798
|
-
return
|
|
28798
|
+
return _chunkOD2WMUAOcjs.APPROVAL_STATUS.APPROVED;
|
|
28799
28799
|
case "REJECTED":
|
|
28800
|
-
return
|
|
28800
|
+
return _chunkOD2WMUAOcjs.APPROVAL_STATUS.REJECTED;
|
|
28801
28801
|
case "CANCELLED":
|
|
28802
|
-
return
|
|
28802
|
+
return _chunkOD2WMUAOcjs.APPROVAL_STATUS.CANCELLED;
|
|
28803
28803
|
default:
|
|
28804
|
-
return
|
|
28804
|
+
return _chunkOD2WMUAOcjs.APPROVAL_STATUS.PENDING;
|
|
28805
28805
|
}
|
|
28806
28806
|
}
|
|
28807
28807
|
function approvalMetaToBatchData(approval) {
|
|
@@ -28842,7 +28842,7 @@ function ApprovalRequestNotificationTile({
|
|
|
28842
28842
|
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _619 => _619.resolution]));
|
|
28843
28843
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
28844
28844
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
28845
|
-
const { innerRef, containerStyle } =
|
|
28845
|
+
const { innerRef, containerStyle } = _chunkOD2WMUAOcjs.useCollapsible.call(void 0, { expanded });
|
|
28846
28846
|
if (!approval || !batchData) return null;
|
|
28847
28847
|
const tileNotification = {
|
|
28848
28848
|
...notification,
|
|
@@ -28896,7 +28896,7 @@ function ApprovalRequestNotificationTile({
|
|
|
28896
28896
|
}
|
|
28897
28897
|
)
|
|
28898
28898
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
28899
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28899
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ApprovalStatusTag, { status }),
|
|
28900
28900
|
approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: [
|
|
28901
28901
|
"by ",
|
|
28902
28902
|
approval.resolvedByName
|
|
@@ -28914,12 +28914,12 @@ function ApprovalRequestNotificationTile({
|
|
|
28914
28914
|
"aria-expanded": expanded,
|
|
28915
28915
|
"aria-label": toggleLabel,
|
|
28916
28916
|
className: "ml-auto w-6 shrink-0 px-0 md:w-8",
|
|
28917
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28917
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.ExpandChevron, { expanded })
|
|
28918
28918
|
}
|
|
28919
28919
|
)
|
|
28920
28920
|
] }),
|
|
28921
28921
|
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,
|
|
28922
|
-
|
|
28922
|
+
_chunkOD2WMUAOcjs.ApprovalBatchMessage,
|
|
28923
28923
|
{
|
|
28924
28924
|
data: batchData,
|
|
28925
28925
|
showExecutionStatus: false,
|
|
@@ -28995,7 +28995,7 @@ function renderCustomerOption(option, isSelected) {
|
|
|
28995
28995
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQNWQQ4RTcjs.SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "square" }),
|
|
28996
28996
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", title: label, children: label })
|
|
28997
28997
|
] }),
|
|
28998
|
-
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28998
|
+
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.CheckIcon, { className: "text-ods-accent", size: 20 })
|
|
28999
28999
|
] });
|
|
29000
29000
|
}
|
|
29001
29001
|
function TimeTrackerPanel({
|
|
@@ -29102,7 +29102,7 @@ function TimeTrackerPanel({
|
|
|
29102
29102
|
onClick: onClose,
|
|
29103
29103
|
"aria-label": "Close time tracker",
|
|
29104
29104
|
className: "absolute right-[var(--spacing-system-sf)] top-[var(--spacing-system-sf)] hidden text-ods-text-secondary hover:text-ods-text-primary md:inline-flex [&_svg]:!size-6",
|
|
29105
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29105
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.XmarkIcon, {})
|
|
29106
29106
|
}
|
|
29107
29107
|
),
|
|
29108
29108
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-m)]", children: [
|
|
@@ -29138,7 +29138,7 @@ function TimeTrackerPanel({
|
|
|
29138
29138
|
disabled: isStarting,
|
|
29139
29139
|
"aria-label": isRunning ? "Pause tracking" : isActive ? "Resume tracking" : "Start tracking",
|
|
29140
29140
|
className: "h-auto w-auto rounded-none transition-none [&_svg]:!size-6",
|
|
29141
|
-
children: isRunning ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29141
|
+
children: isRunning ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.PauseIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.PlayIcon, {})
|
|
29142
29142
|
}
|
|
29143
29143
|
),
|
|
29144
29144
|
isActive && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -29150,7 +29150,7 @@ function TimeTrackerPanel({
|
|
|
29150
29150
|
disabled: isSubmitting,
|
|
29151
29151
|
"aria-label": "Finish and save tracking",
|
|
29152
29152
|
className: "h-auto w-auto rounded-none border-l border-ods-border [&_svg]:!size-6",
|
|
29153
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29153
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.CheckCircleIcon, {})
|
|
29154
29154
|
}
|
|
29155
29155
|
)
|
|
29156
29156
|
] }),
|
|
@@ -29203,7 +29203,7 @@ function TimeTrackerPanel({
|
|
|
29203
29203
|
),
|
|
29204
29204
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-m)]", children: [
|
|
29205
29205
|
visibleEntries.length === 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-h-[268px] flex-col items-center justify-center gap-[var(--spacing-system-l)] p-[var(--spacing-system-l)] text-center text-ods-text-secondary", children: [
|
|
29206
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29206
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.ClockHistoryIcon, { className: "size-6" }),
|
|
29207
29207
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
29208
29208
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-medium text-h4", children: "No time logged" }),
|
|
29209
29209
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6", children: "Last entries will appear here" })
|
|
@@ -29220,7 +29220,7 @@ function TimeTrackerPanel({
|
|
|
29220
29220
|
className: "min-w-0",
|
|
29221
29221
|
onClick: handleManualEntry,
|
|
29222
29222
|
disabled: !onManualEntry,
|
|
29223
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29223
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.PlusCircleIcon, { className: "text-ods-text-secondary" }),
|
|
29224
29224
|
children: "Manual Entry"
|
|
29225
29225
|
}
|
|
29226
29226
|
),
|
|
@@ -29235,7 +29235,7 @@ function TimeTrackerPanel({
|
|
|
29235
29235
|
mainDisabled: !onOpenMyTime,
|
|
29236
29236
|
groupAriaLabel: "Open my time",
|
|
29237
29237
|
iconAction: {
|
|
29238
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29238
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.ArrowRightUpIcon, { size: 24 }),
|
|
29239
29239
|
"aria-label": "Open my time in a new view",
|
|
29240
29240
|
onClick: onOpenMyTimeMenu,
|
|
29241
29241
|
disabled: !onOpenMyTimeMenu,
|
|
@@ -29255,19 +29255,19 @@ var STATUS_TAG_SKIN = "gap-[var(--spacing-system-xs)] font-mono font-medium uppe
|
|
|
29255
29255
|
function StatusTag({ status }) {
|
|
29256
29256
|
if (status === "tracking") {
|
|
29257
29257
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29258
|
-
|
|
29258
|
+
_chunkOD2WMUAOcjs.Tag,
|
|
29259
29259
|
{
|
|
29260
29260
|
variant: "success",
|
|
29261
29261
|
className: STATUS_TAG_SKIN,
|
|
29262
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29262
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.DotsLoaderIcon, { className: "h-4 w-4" }),
|
|
29263
29263
|
label: "Tracking"
|
|
29264
29264
|
}
|
|
29265
29265
|
);
|
|
29266
29266
|
}
|
|
29267
29267
|
if (status === "paused") {
|
|
29268
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29268
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.Tag, { variant: "warning", className: STATUS_TAG_SKIN, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.PauseIcon, { className: "h-4 w-4" }), label: "Paused" });
|
|
29269
29269
|
}
|
|
29270
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29270
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.Tag, { variant: "grey", className: STATUS_TAG_SKIN, label: "Ready to Track" });
|
|
29271
29271
|
}
|
|
29272
29272
|
function LastEntryRow({ entry, onClick }) {
|
|
29273
29273
|
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: [
|
|
@@ -29288,7 +29288,7 @@ function LastEntryRow({ entry, onClick }) {
|
|
|
29288
29288
|
disabled: !onClick,
|
|
29289
29289
|
"aria-label": `Open entry: ${entry.title}`,
|
|
29290
29290
|
className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
|
|
29291
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29291
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Chevron02RightIcon, {})
|
|
29292
29292
|
}
|
|
29293
29293
|
)
|
|
29294
29294
|
] });
|
|
@@ -29411,7 +29411,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
29411
29411
|
),
|
|
29412
29412
|
icon: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
29413
29413
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29414
|
-
|
|
29414
|
+
_chunk6TNOVWO3cjs.ClockHistoryIcon,
|
|
29415
29415
|
{
|
|
29416
29416
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "h-6 w-6", isPaused ? "text-ods-text-secondary" : isActive && "text-ods-accent")
|
|
29417
29417
|
}
|
|
@@ -29436,7 +29436,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
29436
29436
|
"data-state": isOpen ? "open" : "closed",
|
|
29437
29437
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0,
|
|
29438
29438
|
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
29439
|
-
|
|
29439
|
+
_chunkOD2WMUAOcjs.OVERLAY_BACKDROP_CLASS,
|
|
29440
29440
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
29441
29441
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
29442
29442
|
)
|
|
@@ -29590,7 +29590,7 @@ function BoardColumnHeader({
|
|
|
29590
29590
|
}) {
|
|
29591
29591
|
const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
|
|
29592
29592
|
const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
|
|
29593
|
-
const useStatusVariant =
|
|
29593
|
+
const useStatusVariant = _chunkOD2WMUAOcjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
|
|
29594
29594
|
const actionClass = "h-8 w-8 p-0 md:h-8 md:w-8";
|
|
29595
29595
|
if (collapsed) {
|
|
29596
29596
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
@@ -29602,11 +29602,11 @@ function BoardColumnHeader({
|
|
|
29602
29602
|
className: actionClass,
|
|
29603
29603
|
onClick: onToggleCollapse,
|
|
29604
29604
|
"aria-label": "Expand column",
|
|
29605
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29605
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Arrow02RightIcon, { className: "h-6 w-6 text-ods-text-secondary" })
|
|
29606
29606
|
}
|
|
29607
29607
|
),
|
|
29608
29608
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29609
|
-
|
|
29609
|
+
_chunkOD2WMUAOcjs.TicketStatusTag,
|
|
29610
29610
|
{
|
|
29611
29611
|
status: tagStatus,
|
|
29612
29612
|
label: column.label,
|
|
@@ -29619,11 +29619,11 @@ function BoardColumnHeader({
|
|
|
29619
29619
|
}
|
|
29620
29620
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
29621
29621
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
29622
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29622
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
|
|
29623
29623
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
|
|
29624
29624
|
] }),
|
|
29625
29625
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
29626
|
-
column.tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TouchFriendlyTooltip, { content: column.tooltip, side: "bottom", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "transparent", size: "icon", className: actionClass, "aria-label": column.tooltip, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29626
|
+
column.tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TouchFriendlyTooltip, { content: column.tooltip, side: "bottom", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF6U2H42Lcjs.Button, { variant: "transparent", size: "icon", className: actionClass, "aria-label": column.tooltip, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.InfoCircleIcon, { className: "h-6 w-6 text-ods-text-secondary" }) }) }),
|
|
29627
29627
|
onToggleCollapse && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29628
29628
|
_chunkF6U2H42Lcjs.Button,
|
|
29629
29629
|
{
|
|
@@ -29632,7 +29632,7 @@ function BoardColumnHeader({
|
|
|
29632
29632
|
className: actionClass,
|
|
29633
29633
|
onClick: onToggleCollapse,
|
|
29634
29634
|
"aria-label": "Collapse column",
|
|
29635
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29635
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Arrow02LeftIcon, { className: "h-6 w-6 text-ods-text-secondary" })
|
|
29636
29636
|
}
|
|
29637
29637
|
),
|
|
29638
29638
|
onArchive && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -29643,7 +29643,7 @@ function BoardColumnHeader({
|
|
|
29643
29643
|
className: actionClass,
|
|
29644
29644
|
onClick: onArchive,
|
|
29645
29645
|
"aria-label": "Archive resolved tickets",
|
|
29646
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29646
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.BoxArchiveIcon, { className: "h-6 w-6 text-ods-text-secondary" })
|
|
29647
29647
|
}
|
|
29648
29648
|
),
|
|
29649
29649
|
onAddTicket && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -29654,7 +29654,7 @@ function BoardColumnHeader({
|
|
|
29654
29654
|
className: actionClass,
|
|
29655
29655
|
onClick: onAddTicket,
|
|
29656
29656
|
"aria-label": "Add ticket",
|
|
29657
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29657
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.PlusIcon, { className: "h-6 w-6 text-ods-text-secondary" })
|
|
29658
29658
|
}
|
|
29659
29659
|
)
|
|
29660
29660
|
] })
|
|
@@ -29699,7 +29699,7 @@ function cardPositions(root) {
|
|
|
29699
29699
|
}
|
|
29700
29700
|
function useLaneScrollAnchor(scrollRef, tickets) {
|
|
29701
29701
|
const positionsRef = _react.useRef.call(void 0, []);
|
|
29702
|
-
|
|
29702
|
+
_chunkQRA2JXE4cjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
29703
29703
|
const root = scrollRef.current;
|
|
29704
29704
|
if (!root) return;
|
|
29705
29705
|
const previous = positionsRef.current;
|
|
@@ -29771,7 +29771,7 @@ function holdMoveDragEffect(element) {
|
|
|
29771
29771
|
|
|
29772
29772
|
function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
29773
29773
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
29774
|
-
const { innerRef, containerStyle } =
|
|
29774
|
+
const { innerRef, containerStyle } = _chunkOD2WMUAOcjs.useCollapsible.call(void 0, { expanded });
|
|
29775
29775
|
const isAdmin = pendingApproval.approvalType === "ADMIN";
|
|
29776
29776
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
|
|
29777
29777
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -29790,17 +29790,17 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
|
29790
29790
|
isAdmin ? "text-ods-open-yellow" : "text-ods-text-secondary"
|
|
29791
29791
|
),
|
|
29792
29792
|
children: [
|
|
29793
|
-
isAdmin ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29793
|
+
isAdmin ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.ShieldCheckIcon, { className: "size-4 shrink-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.DotsLoaderIcon, { size: 16, className: "shrink-0" }),
|
|
29794
29794
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex-1 truncate text-left", children: isAdmin ? "Technician approval required" : "Pending client approval" })
|
|
29795
29795
|
]
|
|
29796
29796
|
}
|
|
29797
29797
|
),
|
|
29798
|
-
expanded ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29798
|
+
expanded ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Chevron02UpIcon, { className: "size-4 shrink-0 text-ods-text-secondary" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Chevron02DownIcon, { className: "size-4 shrink-0 text-ods-text-secondary" })
|
|
29799
29799
|
]
|
|
29800
29800
|
}
|
|
29801
29801
|
),
|
|
29802
29802
|
/* @__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,
|
|
29803
|
-
|
|
29803
|
+
_chunkOD2WMUAOcjs.ApprovalBatchMessage,
|
|
29804
29804
|
{
|
|
29805
29805
|
className: "mb-0",
|
|
29806
29806
|
data: {
|
|
@@ -29880,13 +29880,13 @@ function TicketCardBody({
|
|
|
29880
29880
|
onLinkClick
|
|
29881
29881
|
}) {
|
|
29882
29882
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
29883
|
-
const newMessageTextColor = columnColor ?
|
|
29883
|
+
const newMessageTextColor = columnColor ? _chunkOD2WMUAOcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
|
|
29884
29884
|
const showDeviceRow = !!(_optionalChain([ticket, 'access', _655 => _655.deviceHostnames, 'optionalAccess', _656 => _656.length]) || ticket.organizationName);
|
|
29885
29885
|
const deviceText = [_optionalChain([ticket, 'access', _657 => _657.deviceHostnames, 'optionalAccess', _658 => _658.join, 'call', _659 => _659(", ")]), ticket.organizationName].filter(Boolean).join(", ");
|
|
29886
29886
|
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _660 => _660.assignees, 'optionalAccess', _661 => _661.length]) || renderAssignSlot);
|
|
29887
29887
|
const rightSection = hasRightSection ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
29888
29888
|
ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29889
|
-
|
|
29889
|
+
_chunk6TNOVWO3cjs.Flag02Icon,
|
|
29890
29890
|
{
|
|
29891
29891
|
className: _chunkX7CEWD6Vcjs.cn.call(void 0, "size-4", PRIORITY_COLOR_CLASS[ticket.priority]),
|
|
29892
29892
|
"aria-label": `Priority: ${ticket.priority}`
|
|
@@ -29919,8 +29919,8 @@ function TicketCardBody({
|
|
|
29919
29919
|
] })
|
|
29920
29920
|
] }) : null
|
|
29921
29921
|
] }) : null;
|
|
29922
|
-
const timestampLabel = ticket.createdAt ?
|
|
29923
|
-
const tooltipLabel = ticket.createdAt ?
|
|
29922
|
+
const timestampLabel = ticket.createdAt ? _chunkOD2WMUAOcjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
|
|
29923
|
+
const tooltipLabel = ticket.createdAt ? _chunkOD2WMUAOcjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
|
|
29924
29924
|
const metaLabel = [ticket.ticketNumber || null, timestampLabel].filter(Boolean).join(" \u2022 ");
|
|
29925
29925
|
const metaClass = "truncate text-ods-text-secondary text-h6";
|
|
29926
29926
|
const meta = href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -29947,12 +29947,12 @@ function TicketCardBody({
|
|
|
29947
29947
|
rightSection
|
|
29948
29948
|
] }),
|
|
29949
29949
|
_optionalChain([ticket, 'access', _664 => _664.tags, 'optionalAccess', _665 => _665.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
29950
|
-
metaLabel && (tooltipLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29951
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29952
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29950
|
+
metaLabel && (tooltipLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkOD2WMUAOcjs.Tooltip, { children: [
|
|
29951
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TooltipTrigger, { asChild: true, children: meta }),
|
|
29952
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.TooltipContent, { children: tooltipLabel })
|
|
29953
29953
|
] }) }) : meta),
|
|
29954
29954
|
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: [
|
|
29955
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29955
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.UserCheckIcon, { className: "size-4 shrink-0" }),
|
|
29956
29956
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: "Escalated by User" })
|
|
29957
29957
|
] }),
|
|
29958
29958
|
ticket.activity && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -29963,16 +29963,16 @@ function TicketCardBody({
|
|
|
29963
29963
|
ticket.activity.kind === "stale" ? "text-ods-open-yellow" : "text-ods-text-secondary"
|
|
29964
29964
|
),
|
|
29965
29965
|
children: [
|
|
29966
|
-
ticket.activity.kind === "stale" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29966
|
+
ticket.activity.kind === "stale" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.ClockIcon, { className: "size-4 shrink-0" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.DotsLoaderIcon, { className: "size-4 shrink-0" }),
|
|
29967
29967
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: _nullishCoalesce(ticket.activity.label, () => ( ACTIVITY_DEFAULT_LABEL[ticket.activity.kind])) })
|
|
29968
29968
|
]
|
|
29969
29969
|
}
|
|
29970
29970
|
),
|
|
29971
29971
|
showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29972
|
-
|
|
29972
|
+
_chunkOD2WMUAOcjs.Tag,
|
|
29973
29973
|
{
|
|
29974
29974
|
label: "New Message",
|
|
29975
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29975
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
|
|
29976
29976
|
className: "w-fit shrink-0",
|
|
29977
29977
|
style: { backgroundColor: columnColor, color: newMessageTextColor }
|
|
29978
29978
|
}
|
|
@@ -30189,8 +30189,8 @@ function TicketTagRow({ tags }) {
|
|
|
30189
30189
|
const visible = tags.slice(0, MAX_VISIBLE_TAGS);
|
|
30190
30190
|
const hidden = tags.length - visible.length;
|
|
30191
30191
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
|
|
30192
|
-
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30193
|
-
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30192
|
+
visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.Tag, { variant: "outline", label: tag }, tag)),
|
|
30193
|
+
hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOD2WMUAOcjs.Tag, { variant: "outline", label: `+${hidden}` })
|
|
30194
30194
|
] });
|
|
30195
30195
|
}
|
|
30196
30196
|
|
|
@@ -30413,7 +30413,7 @@ function EmptyState2({ columnId, touchMode }) {
|
|
|
30413
30413
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, ...{ [DROP_LINE_ATTRIBUTE]: "" }, className: "h-0.5 shrink-0 rounded-full bg-ods-accent" });
|
|
30414
30414
|
}
|
|
30415
30415
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col items-center justify-center gap-[var(--spacing-system-lf)] p-[var(--spacing-system-lf)] text-center text-ods-text-secondary", children: [
|
|
30416
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30416
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.TagIcon, { className: "h-6 w-6 shrink-0" }),
|
|
30417
30417
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
|
|
30418
30418
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4", children: "No tickets here" }),
|
|
30419
30419
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6", children: touchMode ? "Change a ticket's status to move it to this column" : "Drag a ticket here or change its status to move it to this column" })
|
|
@@ -30432,7 +30432,7 @@ function resolveBoardDrop(columns, { source, target }) {
|
|
|
30432
30432
|
// src/components/features/board/use-board-collapse.ts
|
|
30433
30433
|
|
|
30434
30434
|
function useBoardCollapse(storageKey) {
|
|
30435
|
-
const [persisted, setPersisted] =
|
|
30435
|
+
const [persisted, setPersisted] = _chunkBJHM2OEYcjs.useLocalStorage.call(void 0, _nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")), {});
|
|
30436
30436
|
const [memory, setMemory] = _react.useState.call(void 0, {});
|
|
30437
30437
|
const collapsed = storageKey ? persisted : memory;
|
|
30438
30438
|
const setMap = storageKey ? setPersisted : setMemory;
|
|
@@ -30503,7 +30503,7 @@ var DROP_EASING = "cubic-bezier(0.2, 0, 0, 1)";
|
|
|
30503
30503
|
var DRAG_PREVIEW_Z = 1200;
|
|
30504
30504
|
var ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"];
|
|
30505
30505
|
function Board(props) {
|
|
30506
|
-
const dragAndDropEnabled =
|
|
30506
|
+
const dragAndDropEnabled = _chunkQRA2JXE4cjs.useMediaQuery.call(void 0, _chunkBJHM2OEYcjs.DRAG_AND_DROP_MEDIA_QUERY);
|
|
30507
30507
|
if (dragAndDropEnabled === void 0) {
|
|
30508
30508
|
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) });
|
|
30509
30509
|
}
|
|
@@ -30536,7 +30536,7 @@ function DragBoard({
|
|
|
30536
30536
|
onThumbPointerMove,
|
|
30537
30537
|
onThumbPointerUp,
|
|
30538
30538
|
onThumbPointerCancel
|
|
30539
|
-
} =
|
|
30539
|
+
} = _chunkBJHM2OEYcjs.useHorizontalScrollbar.call(void 0, );
|
|
30540
30540
|
const columnsRef = _react.useRef.call(void 0, columns);
|
|
30541
30541
|
const onChangeRef = _react.useRef.call(void 0, onChange);
|
|
30542
30542
|
const boardRef = _react.useRef.call(void 0, null);
|
|
@@ -30725,7 +30725,7 @@ function DragBoard({
|
|
|
30725
30725
|
})
|
|
30726
30726
|
);
|
|
30727
30727
|
}, []);
|
|
30728
|
-
|
|
30728
|
+
_chunkQRA2JXE4cjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
30729
30729
|
if (!landing) return void 0;
|
|
30730
30730
|
const finish = () => {
|
|
30731
30731
|
landingTimer.current = null;
|
|
@@ -30967,7 +30967,7 @@ function useSortableListContext() {
|
|
|
30967
30967
|
}
|
|
30968
30968
|
function SortableList({ onReorder, getItemLabel, disabled = false, className, children }) {
|
|
30969
30969
|
const listRef = _react.useRef.call(void 0, null);
|
|
30970
|
-
const dragAndDropEnabled =
|
|
30970
|
+
const dragAndDropEnabled = _chunkBJHM2OEYcjs.useDragAndDropEnabled.call(void 0, );
|
|
30971
30971
|
const dragType = _react.useId.call(void 0, );
|
|
30972
30972
|
const [announcement, setAnnouncement] = _react.useState.call(void 0, "");
|
|
30973
30973
|
const onReorderRef = _react.useRef.call(void 0, onReorder);
|
|
@@ -31059,7 +31059,7 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
|
|
|
31059
31059
|
})
|
|
31060
31060
|
);
|
|
31061
31061
|
}, [dragType, disabled, dragAndDropEnabled, readItems, reorder]);
|
|
31062
|
-
|
|
31062
|
+
_chunkQRA2JXE4cjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
31063
31063
|
const from = flipFrom.current;
|
|
31064
31064
|
flipFrom.current = null;
|
|
31065
31065
|
if (!from) return;
|
|
@@ -31128,7 +31128,7 @@ function SortableMoveButtons({ index, count, label, className }) {
|
|
|
31128
31128
|
disabled: disabled || index <= 0,
|
|
31129
31129
|
onClick: () => move(-1),
|
|
31130
31130
|
className: "rounded-r-none border-r-0",
|
|
31131
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31131
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Arrow01UpIcon, {})
|
|
31132
31132
|
}
|
|
31133
31133
|
),
|
|
31134
31134
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -31142,7 +31142,7 @@ function SortableMoveButtons({ index, count, label, className }) {
|
|
|
31142
31142
|
disabled: disabled || index >= count - 1,
|
|
31143
31143
|
onClick: () => move(1),
|
|
31144
31144
|
className: "rounded-l-none",
|
|
31145
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31145
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6TNOVWO3cjs.Arrow01DownIcon, {})
|
|
31146
31146
|
}
|
|
31147
31147
|
)
|
|
31148
31148
|
] });
|
|
@@ -31886,4 +31886,4 @@ function SortableRow({
|
|
|
31886
31886
|
|
|
31887
31887
|
|
|
31888
31888
|
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.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.AppStoreBadge = AppStoreBadge; exports.GooglePlayBadge = GooglePlayBadge; exports.StoreBadgeLinks = StoreBadgeLinks; 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.getCountryByName = getCountryByName; exports.getFlagFromCountryName = getFlagFromCountryName; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.COMPLIANCE_STANDARDS = COMPLIANCE_STANDARDS; exports.complianceStandardForName = complianceStandardForName; 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.copyrightLine = copyrightLine; exports.BenefitCard = BenefitCard; exports.benefitCardBorderClass = benefitCardBorderClass; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.DataAttribution = DataAttribution; exports.ComplianceBadge = ComplianceBadge; exports.ComplianceLogo = ComplianceLogo; 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.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;
|
|
31889
|
-
//# sourceMappingURL=chunk-
|
|
31889
|
+
//# sourceMappingURL=chunk-SWOS3DDM.cjs.map
|